From 11547ecaa33e005db0e8270dcd21507fc0fd4de3 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 18:29:31 +0300 Subject: [PATCH 001/505] chore(views/board): create empty board --- .../client/src/services/note_list_renderer.ts | 8 ++- .../widgets/view_widgets/board_view/index.ts | 51 +++++++++++++++++++ 2 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 apps/client/src/widgets/view_widgets/board_view/index.ts diff --git a/apps/client/src/services/note_list_renderer.ts b/apps/client/src/services/note_list_renderer.ts index 08af048f0..50556715a 100644 --- a/apps/client/src/services/note_list_renderer.ts +++ b/apps/client/src/services/note_list_renderer.ts @@ -1,4 +1,5 @@ import type FNote from "../entities/fnote.js"; +import BoardView from "../widgets/view_widgets/board_view/index.js"; import CalendarView from "../widgets/view_widgets/calendar_view.js"; import GeoView from "../widgets/view_widgets/geo_view/index.js"; import ListOrGridView from "../widgets/view_widgets/list_or_grid_view.js"; @@ -6,8 +7,9 @@ import TableView from "../widgets/view_widgets/table_view/index.js"; import type { ViewModeArgs } from "../widgets/view_widgets/view_mode.js"; import type ViewMode from "../widgets/view_widgets/view_mode.js"; +const allViewTypes = ["list", "grid", "calendar", "table", "geoMap", "board"] as const; export type ArgsWithoutNoteId = Omit; -export type ViewTypeOptions = "list" | "grid" | "calendar" | "table" | "geoMap"; +export type ViewTypeOptions = typeof allViewTypes[number]; export default class NoteListRenderer { @@ -23,7 +25,7 @@ export default class NoteListRenderer { #getViewType(parentNote: FNote): ViewTypeOptions { const viewType = parentNote.getLabelValue("viewType"); - if (!["list", "grid", "calendar", "table", "geoMap"].includes(viewType || "")) { + if (!(allViewTypes as readonly string[]).includes(viewType || "")) { // when not explicitly set, decide based on the note type return parentNote.type === "search" ? "list" : "grid"; } else { @@ -57,6 +59,8 @@ export default class NoteListRenderer { return new TableView(args); case "geoMap": return new GeoView(args); + case "board": + return new BoardView(args); case "list": case "grid": default: diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts new file mode 100644 index 000000000..0e5c6e241 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -0,0 +1,51 @@ +import ViewMode, { ViewModeArgs } from "../view_mode"; + +const TPL = /*html*/` +
+ + +
+ Board view goes here. +
+
+`; + +export interface StateInfo { + +}; + +export default class BoardView extends ViewMode { + + private $root: JQuery; + private $container: JQuery; + + constructor(args: ViewModeArgs) { + super(args, "board"); + + this.$root = $(TPL); + this.$container = this.$root.find(".board-view-container"); + args.$parent.append(this.$root); + } + + async renderList(): Promise | undefined> { + // this.$container.empty(); + this.renderBoard(this.$container[0]); + return this.$root; + } + + private async renderBoard(el: HTMLElement) { + + } + +} From 951b5384a3376d82e5b0b87f0a09c4bd6b781911 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 18:34:59 +0300 Subject: [PATCH 002/505] chore(views/board): prepare to group by attribute --- .../widgets/view_widgets/board_view/data.ts | 23 +++++++++++++++++++ .../widgets/view_widgets/board_view/index.ts | 4 +++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 apps/client/src/widgets/view_widgets/board_view/data.ts diff --git a/apps/client/src/widgets/view_widgets/board_view/data.ts b/apps/client/src/widgets/view_widgets/board_view/data.ts new file mode 100644 index 000000000..8b3407270 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/board_view/data.ts @@ -0,0 +1,23 @@ +import FNote from "../../../entities/fnote"; +import froca from "../../../services/froca"; + +export async function getBoardData(noteIds: string[], groupByColumn: string) { + const notes = await froca.getNotes(noteIds); + const byColumn: Map = new Map(); + + for (const note of notes) { + const group = note.getLabelValue(groupByColumn); + if (!group) { + continue; + } + + if (!byColumn.has(group)) { + byColumn.set(group, []); + } + byColumn.get(group)!.push(note); + } + + return { + byColumn + }; +} diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 0e5c6e241..0589845d2 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -1,4 +1,5 @@ import ViewMode, { ViewModeArgs } from "../view_mode"; +import { getBoardData } from "./data"; const TPL = /*html*/`
@@ -45,7 +46,8 @@ export default class BoardView extends ViewMode { } private async renderBoard(el: HTMLElement) { - + const data = await getBoardData(this.noteIds, "status"); + console.log("Board data:", data); } } From 0d18b944b63212f1420212130ab992377a7a16f8 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 18:44:50 +0300 Subject: [PATCH 003/505] feat(views/board): display columns --- .../widgets/view_widgets/board_view/index.ts | 37 ++++++++++++++++--- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 0589845d2..45be8a654 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -8,17 +8,26 @@ const TPL = /*html*/` overflow: hidden; position: relative; height: 100%; + padding: 1em; user-select: none; } .board-view-container { height: 100%; + display: flex; + gap: 1em; + } + + .board-view-container .board-column { + min-width: 200px; + } + + .board-view-container .board-column h3 { + font-size: 1.2em; } -
- Board view goes here. -
+
`; @@ -40,14 +49,32 @@ export default class BoardView extends ViewMode { } async renderList(): Promise | undefined> { - // this.$container.empty(); + this.$container.empty(); this.renderBoard(this.$container[0]); + return this.$root; } private async renderBoard(el: HTMLElement) { const data = await getBoardData(this.noteIds, "status"); - console.log("Board data:", data); + + for (const column of data.byColumn.keys()) { + const columnNotes = data.byColumn.get(column); + if (!columnNotes) { + continue; + } + + const $columnEl = $("
") + .addClass("board-column") + .append($("

").text(column)); + + for (const note of columnNotes) { + const $noteEl = $("
").addClass("board-note").text(note.title); // Assuming FNote has a title property + $columnEl.append($noteEl); + } + + $(el).append($columnEl); + } } } From 47daebc65a5ab7cef858ddc3f8914e88ae5872af Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 19:02:45 +0300 Subject: [PATCH 004/505] feat(views/board): improve display of the notes --- apps/client/src/widgets/view_widgets/board_view/index.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 45be8a654..552a5c3e2 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -23,7 +23,14 @@ const TPL = /*html*/` } .board-view-container .board-column h3 { - font-size: 1.2em; + font-size: 1em; + } + + .board-view-container .board-note { + box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.25); + margin: 0.65em 0; + padding: 0.5em; + border-radius: 5px; } From 7664839135d7f9f7d1acd2a42f08a0e0d9cb78e1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 19:16:39 +0300 Subject: [PATCH 005/505] feat(views/board): display note icon --- .../src/widgets/view_widgets/board_view/index.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 552a5c3e2..d90379795 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -32,6 +32,10 @@ const TPL = /*html*/` padding: 0.5em; border-radius: 5px; } + + .board-view-container .board-note .icon { + margin-right: 0.25em; + }
@@ -76,7 +80,14 @@ export default class BoardView extends ViewMode { .append($("

").text(column)); for (const note of columnNotes) { - const $noteEl = $("
").addClass("board-note").text(note.title); // Assuming FNote has a title property + const $iconEl = $("") + .addClass("icon") + .addClass(note.getIcon()); + + const $noteEl = $("
") + .addClass("board-note") + .text(note.title); // Assuming FNote has a title property + $noteEl.prepend($iconEl); $columnEl.append($noteEl); } From 2a25cd8686922e4184dc892307102e49ef30b7a7 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 19:20:32 +0300 Subject: [PATCH 006/505] feat(views/board): fixed column size --- apps/client/src/widgets/view_widgets/board_view/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index d90379795..4bfec9721 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -15,11 +15,11 @@ const TPL = /*html*/` .board-view-container { height: 100%; display: flex; - gap: 1em; + gap: 1.5em; } .board-view-container .board-column { - min-width: 200px; + width: 250px; } .board-view-container .board-column h3 { From 3e7dc719959b21f64b24b8ecacee79eb0c9843a7 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 19:23:42 +0300 Subject: [PATCH 007/505] feat(views/board): make scrollable --- apps/client/src/widgets/view_widgets/board_view/index.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 4bfec9721..d4038df4d 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -5,10 +5,9 @@ const TPL = /*html*/`
@@ -52,6 +97,8 @@ export default class BoardView extends ViewMode { private $root: JQuery; private $container: JQuery; + private draggedNote: any = null; + private draggedNoteElement: JQuery | null = null; constructor(args: ViewModeArgs) { super(args, "board"); @@ -65,7 +112,7 @@ export default class BoardView extends ViewMode { async renderList(): Promise | undefined> { this.$container.empty(); - this.renderBoard(this.$container[0]); + await this.renderBoard(this.$container[0]); return this.$root; } @@ -81,8 +128,12 @@ export default class BoardView extends ViewMode { const $columnEl = $("
") .addClass("board-column") + .attr("data-column", column) .append($("

").text(column)); + // Setup drop zone for the column + this.setupColumnDropZone($columnEl, column); + for (const note of columnNotes) { const $iconEl = $("") .addClass("icon") @@ -90,8 +141,15 @@ export default class BoardView extends ViewMode { const $noteEl = $("
") .addClass("board-note") - .text(note.title); // Assuming FNote has a title property + .attr("data-note-id", note.noteId) + .attr("data-current-column", column) + .text(note.title); + $noteEl.prepend($iconEl); + + // Setup drag functionality for the note + this.setupNoteDrag($noteEl, note); + $columnEl.append($noteEl); } @@ -99,4 +157,132 @@ export default class BoardView extends ViewMode { } } + private setupNoteDrag($noteEl: JQuery, note: any) { + $noteEl.attr("draggable", "true"); + + $noteEl.on("dragstart", (e) => { + this.draggedNote = note; + this.draggedNoteElement = $noteEl; + $noteEl.addClass("dragging"); + + // Set drag data + const originalEvent = e.originalEvent as DragEvent; + if (originalEvent.dataTransfer) { + originalEvent.dataTransfer.effectAllowed = "move"; + originalEvent.dataTransfer.setData("text/plain", note.noteId); + } + }); + + $noteEl.on("dragend", () => { + $noteEl.removeClass("dragging"); + this.draggedNote = null; + this.draggedNoteElement = null; + + // Remove all drop indicators + this.$container.find(".board-drop-indicator").removeClass("show"); + }); + } + + private setupColumnDropZone($columnEl: JQuery, column: string) { + $columnEl.on("dragover", (e) => { + e.preventDefault(); + const originalEvent = e.originalEvent as DragEvent; + if (originalEvent.dataTransfer) { + originalEvent.dataTransfer.dropEffect = "move"; + } + + if (this.draggedNote) { + $columnEl.addClass("drag-over"); + this.showDropIndicator($columnEl, e); + } + }); + + $columnEl.on("dragleave", (e) => { + // Only remove drag-over if we're leaving the column entirely + const rect = $columnEl[0].getBoundingClientRect(); + const originalEvent = e.originalEvent as DragEvent; + const x = originalEvent.clientX; + const y = originalEvent.clientY; + + if (x < rect.left || x > rect.right || y < rect.top || y > rect.bottom) { + $columnEl.removeClass("drag-over"); + $columnEl.find(".board-drop-indicator").removeClass("show"); + } + }); + + $columnEl.on("drop", async (e) => { + e.preventDefault(); + $columnEl.removeClass("drag-over"); + $columnEl.find(".board-drop-indicator").removeClass("show"); + + if (this.draggedNote && this.draggedNoteElement) { + const currentColumn = this.draggedNoteElement.attr("data-current-column"); + + if (currentColumn !== column) { + try { + // Update the note's status label + await attributeService.setLabel(this.draggedNote.noteId, "status", column); + + // Move the note element to the new column + const dropIndicator = $columnEl.find(".board-drop-indicator.show"); + if (dropIndicator.length > 0) { + dropIndicator.after(this.draggedNoteElement); + } else { + $columnEl.append(this.draggedNoteElement); + } + + // Update the data attribute + this.draggedNoteElement.attr("data-current-column", column); + + // Show success feedback (optional) + console.log(`Moved note "${this.draggedNote.title}" from "${currentColumn}" to "${column}"`); + } catch (error) { + console.error("Failed to update note status:", error); + // Optionally show user-facing error message + } + } + } + }); + } + + private showDropIndicator($columnEl: JQuery, e: JQuery.DragOverEvent) { + const originalEvent = e.originalEvent as DragEvent; + const mouseY = originalEvent.clientY; + const columnRect = $columnEl[0].getBoundingClientRect(); + const relativeY = mouseY - columnRect.top; + + // Find existing drop indicator or create one + let $dropIndicator = $columnEl.find(".board-drop-indicator"); + if ($dropIndicator.length === 0) { + $dropIndicator = $("
").addClass("board-drop-indicator"); + $columnEl.append($dropIndicator); + } + + // Find the best position to insert the note + const $notes = this.draggedNoteElement ? + $columnEl.find(".board-note").not(this.draggedNoteElement) : + $columnEl.find(".board-note"); + let insertAfterElement: HTMLElement | null = null; + + $notes.each((_, noteEl) => { + const noteRect = noteEl.getBoundingClientRect(); + const noteMiddle = noteRect.top + noteRect.height / 2 - columnRect.top; + + if (relativeY > noteMiddle) { + insertAfterElement = noteEl; + } + }); + + // Position the drop indicator + if (insertAfterElement) { + $(insertAfterElement).after($dropIndicator); + } else { + // Insert at the beginning (after the header) + const $header = $columnEl.find("h3"); + $header.after($dropIndicator); + } + + $dropIndicator.addClass("show"); + } + } From 765691751a2bcc51b25ccb761caa42bb199b39af Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 19:53:48 +0300 Subject: [PATCH 010/505] feat(views/board): bypass horizontal scroll if column needs scrolling --- .../src/widgets/view_widgets/board_view/index.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 8bbe443a2..33f61a632 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -29,6 +29,7 @@ const TPL = /*html*/` padding: 0.5em; background-color: var(--accented-background-color); transition: border-color 0.2s ease; + overflow-y: auto; } .board-view-container .board-column.drag-over { @@ -131,6 +132,15 @@ export default class BoardView extends ViewMode { .attr("data-column", column) .append($("

").text(column)); + // Allow vertical scrolling in the column, bypassing the horizontal scroll of the container. + $columnEl.on("wheel", (event) => { + const el = $columnEl[0]; + const needsScroll = el.scrollHeight > el.clientHeight; + if (needsScroll) { + event.stopPropagation(); + } + }); + // Setup drop zone for the column this.setupColumnDropZone($columnEl, column); From c5ffc2882b3d5210c2c3da11584cef244f9793c5 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 19:57:02 +0300 Subject: [PATCH 011/505] feat(views/board): react to changes --- apps/client/src/widgets/view_widgets/board_view/index.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 33f61a632..e6d2ba1f5 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -2,6 +2,7 @@ import { setupHorizontalScrollViaWheel } from "../../widget_utils"; import ViewMode, { ViewModeArgs } from "../view_mode"; import { getBoardData } from "./data"; import attributeService from "../../../services/attributes"; +import { EventData } from "../../../components/app_context"; const TPL = /*html*/`
@@ -295,4 +296,12 @@ export default class BoardView extends ViewMode { $dropIndicator.addClass("show"); } + async onEntitiesReloaded({ loadResults }: EventData<"entitiesReloaded">) { + if (loadResults.getAttributeRows().some(attr => attr.name === "status" && this.noteIds.includes(attr.noteId!))) { + return true; + } + + return false; + } + } From f69878b082884663706d69518b5257820be622b1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 20:30:05 +0300 Subject: [PATCH 012/505] refactor(views/board): use branches instead of notes --- .../widgets/view_widgets/board_view/data.ts | 28 ++++++++++++------- .../widgets/view_widgets/board_view/index.ts | 13 ++++++--- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/data.ts b/apps/client/src/widgets/view_widgets/board_view/data.ts index 8b3407270..9f5d06929 100644 --- a/apps/client/src/widgets/view_widgets/board_view/data.ts +++ b/apps/client/src/widgets/view_widgets/board_view/data.ts @@ -1,11 +1,23 @@ +import FBranch from "../../../entities/fbranch"; import FNote from "../../../entities/fnote"; -import froca from "../../../services/froca"; -export async function getBoardData(noteIds: string[], groupByColumn: string) { - const notes = await froca.getNotes(noteIds); - const byColumn: Map = new Map(); +export async function getBoardData(parentNote: FNote, groupByColumn: string) { + const byColumn: Map = new Map(); + + await recursiveGroupBy(parentNote.getChildBranches(), byColumn, groupByColumn); + + return { + byColumn + }; +} + +async function recursiveGroupBy(branches: FBranch[], byColumn: Map, groupByColumn: string) { + for (const branch of branches) { + const note = await branch.getNote(); + if (!note) { + continue; + } - for (const note of notes) { const group = note.getLabelValue(groupByColumn); if (!group) { continue; @@ -14,10 +26,6 @@ export async function getBoardData(noteIds: string[], groupByColumn: string) { if (!byColumn.has(group)) { byColumn.set(group, []); } - byColumn.get(group)!.push(note); + byColumn.get(group)!.push(branch); } - - return { - byColumn - }; } diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index e6d2ba1f5..be5a27432 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -120,11 +120,11 @@ export default class BoardView extends ViewMode { } private async renderBoard(el: HTMLElement) { - const data = await getBoardData(this.noteIds, "status"); + const data = await getBoardData(this.parentNote, "status"); for (const column of data.byColumn.keys()) { - const columnNotes = data.byColumn.get(column); - if (!columnNotes) { + const columnBranches = data.byColumn.get(column); + if (!columnBranches) { continue; } @@ -145,7 +145,12 @@ export default class BoardView extends ViewMode { // Setup drop zone for the column this.setupColumnDropZone($columnEl, column); - for (const note of columnNotes) { + for (const branch of columnBranches) { + const note = await branch.getNote(); + if (!note) { + continue; + } + const $iconEl = $("") .addClass("icon") .addClass(note.getIcon()); From a428ea7beb12619b3263babe71458c1bead7d6df Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 20:34:54 +0300 Subject: [PATCH 013/505] refactor(views/board): store both branch and note --- .../src/widgets/view_widgets/board_view/data.ts | 14 +++++++++++--- .../src/widgets/view_widgets/board_view/index.ts | 8 ++++---- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/data.ts b/apps/client/src/widgets/view_widgets/board_view/data.ts index 9f5d06929..bd624e1f7 100644 --- a/apps/client/src/widgets/view_widgets/board_view/data.ts +++ b/apps/client/src/widgets/view_widgets/board_view/data.ts @@ -1,8 +1,13 @@ import FBranch from "../../../entities/fbranch"; import FNote from "../../../entities/fnote"; +type ColumnMap = Map; + export async function getBoardData(parentNote: FNote, groupByColumn: string) { - const byColumn: Map = new Map(); + const byColumn: ColumnMap = new Map(); await recursiveGroupBy(parentNote.getChildBranches(), byColumn, groupByColumn); @@ -11,7 +16,7 @@ export async function getBoardData(parentNote: FNote, groupByColumn: string) { }; } -async function recursiveGroupBy(branches: FBranch[], byColumn: Map, groupByColumn: string) { +async function recursiveGroupBy(branches: FBranch[], byColumn: ColumnMap, groupByColumn: string) { for (const branch of branches) { const note = await branch.getNote(); if (!note) { @@ -26,6 +31,9 @@ async function recursiveGroupBy(branches: FBranch[], byColumn: Map { const data = await getBoardData(this.parentNote, "status"); for (const column of data.byColumn.keys()) { - const columnBranches = data.byColumn.get(column); - if (!columnBranches) { + const columnItems = data.byColumn.get(column); + if (!columnItems) { continue; } @@ -145,8 +145,8 @@ export default class BoardView extends ViewMode { // Setup drop zone for the column this.setupColumnDropZone($columnEl, column); - for (const branch of columnBranches) { - const note = await branch.getNote(); + for (const item of columnItems) { + const note = item.note; if (!note) { continue; } From 08d60c554c3f78759f95ca252e64072e5b48d930 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 20:44:54 +0300 Subject: [PATCH 014/505] feat(views/board): set up reordering for same column --- .../widgets/view_widgets/board_view/index.ts | 89 ++++++++++++++----- 1 file changed, 66 insertions(+), 23 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index ef3643df6..3c89c5309 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -2,6 +2,7 @@ import { setupHorizontalScrollViaWheel } from "../../widget_utils"; import ViewMode, { ViewModeArgs } from "../view_mode"; import { getBoardData } from "./data"; import attributeService from "../../../services/attributes"; +import branchService from "../../../services/branches"; import { EventData } from "../../../components/app_context"; const TPL = /*html*/` @@ -100,6 +101,7 @@ export default class BoardView extends ViewMode { private $root: JQuery; private $container: JQuery; private draggedNote: any = null; + private draggedBranch: any = null; private draggedNoteElement: JQuery | null = null; constructor(args: ViewModeArgs) { @@ -147,6 +149,7 @@ export default class BoardView extends ViewMode { for (const item of columnItems) { const note = item.note; + const branch = item.branch; if (!note) { continue; } @@ -158,13 +161,14 @@ export default class BoardView extends ViewMode { const $noteEl = $("
") .addClass("board-note") .attr("data-note-id", note.noteId) + .attr("data-branch-id", branch.branchId) .attr("data-current-column", column) .text(note.title); $noteEl.prepend($iconEl); // Setup drag functionality for the note - this.setupNoteDrag($noteEl, note); + this.setupNoteDrag($noteEl, note, branch); $columnEl.append($noteEl); } @@ -173,11 +177,12 @@ export default class BoardView extends ViewMode { } } - private setupNoteDrag($noteEl: JQuery, note: any) { + private setupNoteDrag($noteEl: JQuery, note: any, branch: any) { $noteEl.attr("draggable", "true"); $noteEl.on("dragstart", (e) => { this.draggedNote = note; + this.draggedBranch = branch; this.draggedNoteElement = $noteEl; $noteEl.addClass("dragging"); @@ -192,6 +197,7 @@ export default class BoardView extends ViewMode { $noteEl.on("dragend", () => { $noteEl.removeClass("dragging"); this.draggedNote = null; + this.draggedBranch = null; this.draggedNoteElement = null; // Remove all drop indicators @@ -229,34 +235,65 @@ export default class BoardView extends ViewMode { $columnEl.on("drop", async (e) => { e.preventDefault(); $columnEl.removeClass("drag-over"); - $columnEl.find(".board-drop-indicator").removeClass("show"); - if (this.draggedNote && this.draggedNoteElement) { + if (this.draggedNote && this.draggedNoteElement && this.draggedBranch) { const currentColumn = this.draggedNoteElement.attr("data-current-column"); - if (currentColumn !== column) { - try { - // Update the note's status label - await attributeService.setLabel(this.draggedNote.noteId, "status", column); + // Capture drop indicator position BEFORE removing it + const dropIndicator = $columnEl.find(".board-drop-indicator.show"); + let targetBranchId: string | null = null; + let moveType: "before" | "after" | null = null; - // Move the note element to the new column - const dropIndicator = $columnEl.find(".board-drop-indicator.show"); - if (dropIndicator.length > 0) { - dropIndicator.after(this.draggedNoteElement); - } else { - $columnEl.append(this.draggedNoteElement); - } + if (dropIndicator.length > 0) { + // Find the note element that the drop indicator is positioned relative to + const nextNote = dropIndicator.next(".board-note"); + const prevNote = dropIndicator.prev(".board-note"); - // Update the data attribute - this.draggedNoteElement.attr("data-current-column", column); - - // Show success feedback (optional) - console.log(`Moved note "${this.draggedNote.title}" from "${currentColumn}" to "${column}"`); - } catch (error) { - console.error("Failed to update note status:", error); - // Optionally show user-facing error message + if (nextNote.length > 0) { + targetBranchId = nextNote.attr("data-branch-id") || null; + moveType = "before"; + } else if (prevNote.length > 0) { + targetBranchId = prevNote.attr("data-branch-id") || null; + moveType = "after"; } } + + // Now remove the drop indicator + $columnEl.find(".board-drop-indicator").removeClass("show"); + + try { + // Handle column change + if (currentColumn !== column) { + await attributeService.setLabel(this.draggedNote.noteId, "status", column); + } + + // Handle position change (works for both same column and different column moves) + if (targetBranchId && moveType) { + if (moveType === "before") { + console.log("Move before branch:", this.draggedBranch.branchId, "to", targetBranchId); + await branchService.moveBeforeBranch([this.draggedBranch.branchId], targetBranchId); + } else if (moveType === "after") { + console.log("Move after branch:", this.draggedBranch.branchId, "to", targetBranchId); + await branchService.moveAfterBranch([this.draggedBranch.branchId], targetBranchId); + } + } + + // Update the UI + if (dropIndicator.length > 0) { + dropIndicator.after(this.draggedNoteElement); + } else { + $columnEl.append(this.draggedNoteElement); + } + + // Update the data attributes + this.draggedNoteElement.attr("data-current-column", column); + + // Show success feedback + console.log(`Moved note "${this.draggedNote.title}" from "${currentColumn}" to "${column}"`); + } catch (error) { + console.error("Failed to update note position:", error); + // Optionally show user-facing error message + } } }); } @@ -302,10 +339,16 @@ export default class BoardView extends ViewMode { } async onEntitiesReloaded({ loadResults }: EventData<"entitiesReloaded">) { + // React to changes in "status" attribute for notes in this board if (loadResults.getAttributeRows().some(attr => attr.name === "status" && this.noteIds.includes(attr.noteId!))) { return true; } + // React to changes in branches for subchildren (e.g., moved, added, or removed notes) + if (loadResults.getBranchRows().some(branch => this.noteIds.includes(branch.noteId!))) { + return true; + } + return false; } From efd409da1721f9b794976e14eff0ea897d71f2bf Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 21:07:29 +0300 Subject: [PATCH 015/505] fix(views/board): some runtime errors --- .../widgets/view_widgets/board_view/index.ts | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 3c89c5309..998e1ad7a 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -236,8 +236,11 @@ export default class BoardView extends ViewMode { e.preventDefault(); $columnEl.removeClass("drag-over"); - if (this.draggedNote && this.draggedNoteElement && this.draggedBranch) { - const currentColumn = this.draggedNoteElement.attr("data-current-column"); + const draggedNoteElement = this.draggedNoteElement; + const draggedNote = this.draggedNote; + const draggedBranch = this.draggedBranch; + if (draggedNote && draggedNoteElement && draggedBranch) { + const currentColumn = draggedNoteElement.attr("data-current-column"); // Capture drop indicator position BEFORE removing it const dropIndicator = $columnEl.find(".board-drop-indicator.show"); @@ -264,32 +267,32 @@ export default class BoardView extends ViewMode { try { // Handle column change if (currentColumn !== column) { - await attributeService.setLabel(this.draggedNote.noteId, "status", column); + await attributeService.setLabel(draggedNote.noteId, "status", column); } // Handle position change (works for both same column and different column moves) if (targetBranchId && moveType) { if (moveType === "before") { - console.log("Move before branch:", this.draggedBranch.branchId, "to", targetBranchId); - await branchService.moveBeforeBranch([this.draggedBranch.branchId], targetBranchId); + console.log("Move before branch:", draggedBranch.branchId, "to", targetBranchId); + await branchService.moveBeforeBranch([draggedBranch.branchId], targetBranchId); } else if (moveType === "after") { - console.log("Move after branch:", this.draggedBranch.branchId, "to", targetBranchId); - await branchService.moveAfterBranch([this.draggedBranch.branchId], targetBranchId); + console.log("Move after branch:", draggedBranch.branchId, "to", targetBranchId); + await branchService.moveAfterBranch([draggedBranch.branchId], targetBranchId); } } // Update the UI if (dropIndicator.length > 0) { - dropIndicator.after(this.draggedNoteElement); + dropIndicator.after(draggedNoteElement); } else { - $columnEl.append(this.draggedNoteElement); + $columnEl.append(draggedNoteElement); } // Update the data attributes - this.draggedNoteElement.attr("data-current-column", column); + draggedNoteElement.attr("data-current-column", column); // Show success feedback - console.log(`Moved note "${this.draggedNote.title}" from "${currentColumn}" to "${column}"`); + console.log(`Moved note "${draggedNote.title}" from "${currentColumn}" to "${column}"`); } catch (error) { console.error("Failed to update note position:", error); // Optionally show user-facing error message From 944f0b694b5048c509f5ddb3f2fcbc08ff339379 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 21:09:55 +0300 Subject: [PATCH 016/505] feat(views/board): open in popup --- apps/client/src/widgets/view_widgets/board_view/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 998e1ad7a..3e385548f 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -3,7 +3,7 @@ import ViewMode, { ViewModeArgs } from "../view_mode"; import { getBoardData } from "./data"; import attributeService from "../../../services/attributes"; import branchService from "../../../services/branches"; -import { EventData } from "../../../components/app_context"; +import appContext, { EventData } from "../../../components/app_context"; const TPL = /*html*/`
@@ -166,6 +166,7 @@ export default class BoardView extends ViewMode { .text(note.title); $noteEl.prepend($iconEl); + $noteEl.on("click", () => appContext.triggerCommand("openInPopup", { noteIdOrPath: note.noteId })); // Setup drag functionality for the note this.setupNoteDrag($noteEl, note, branch); From 657df7a7287ee6b1c940defeb02772648b8ec0f1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 21:45:48 +0300 Subject: [PATCH 017/505] feat(views/board): add new item --- .../widgets/view_widgets/board_view/index.ts | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 3e385548f..9c2119f3f 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -3,6 +3,7 @@ import ViewMode, { ViewModeArgs } from "../view_mode"; import { getBoardData } from "./data"; import attributeService from "../../../services/attributes"; import branchService from "../../../services/branches"; +import noteCreateService from "../../../services/note_create"; import appContext, { EventData } from "../../../components/app_context"; const TPL = /*html*/` @@ -86,6 +87,28 @@ const TPL = /*html*/` .board-drop-indicator.show { opacity: 1; } + + .board-new-item { + margin-top: 0.5em; + padding: 0.5em; + border: 2px dashed var(--main-border-color); + border-radius: 5px; + text-align: center; + color: var(--muted-text-color); + cursor: pointer; + transition: all 0.2s ease; + background-color: transparent; + } + + .board-new-item:hover { + border-color: var(--main-text-color); + color: var(--main-text-color); + background-color: var(--hover-item-background-color); + } + + .board-new-item .icon { + margin-right: 0.25em; + }
@@ -174,6 +197,18 @@ export default class BoardView extends ViewMode { $columnEl.append($noteEl); } + // Add "New item" link at the bottom of the column + const $newItemEl = $("
") + .addClass("board-new-item") + .attr("data-column", column) + .html('New item'); + + $newItemEl.on("click", () => { + this.createNewItem(column); + }); + + $columnEl.append($newItemEl); + $(el).append($columnEl); } } @@ -342,6 +377,31 @@ export default class BoardView extends ViewMode { $dropIndicator.addClass("show"); } + private async createNewItem(column: string) { + try { + // Get the parent note path + const parentNotePath = this.parentNote.noteId; + + // Create a new note as a child of the parent note + const { note: newNote } = await noteCreateService.createNote(parentNotePath, { + activate: false + }); + + if (newNote) { + // Set the status label to place it in the correct column + await attributeService.setLabel(newNote.noteId, "status", column); + + // Refresh the board to show the new item + await this.renderList(); + + // Optionally, open the new note for editing + appContext.triggerCommand("openInPopup", { noteIdOrPath: newNote.noteId }); + } + } catch (error) { + console.error("Failed to create new item:", error); + } + } + async onEntitiesReloaded({ loadResults }: EventData<"entitiesReloaded">) { // React to changes in "status" attribute for notes in this board if (loadResults.getAttributeRows().some(attr => attr.name === "status" && this.noteIds.includes(attr.noteId!))) { From 9e3372df72ae161e83d10f726946bdbdd0ee8790 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 21:50:57 +0300 Subject: [PATCH 018/505] feat(views/board): react to changes in note title --- apps/client/src/widgets/view_widgets/board_view/index.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 9c2119f3f..c5ae51c46 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -408,6 +408,11 @@ export default class BoardView extends ViewMode { return true; } + // React to changes in note title. + if (loadResults.getNoteIds().some(noteId => this.noteIds.includes(noteId))) { + return true; + } + // React to changes in branches for subchildren (e.g., moved, added, or removed notes) if (loadResults.getBranchRows().some(branch => this.noteIds.includes(branch.noteId!))) { return true; From b1b756b179b0c71b4f7bf361361d1dd21baa1151 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 22:21:24 +0300 Subject: [PATCH 019/505] feat(views/board): store new columns into config --- .../widgets/view_widgets/board_view/config.ts | 7 +++++ .../widgets/view_widgets/board_view/data.ts | 28 +++++++++++++++++-- .../widgets/view_widgets/board_view/index.ts | 25 +++++++++++++---- 3 files changed, 52 insertions(+), 8 deletions(-) create mode 100644 apps/client/src/widgets/view_widgets/board_view/config.ts diff --git a/apps/client/src/widgets/view_widgets/board_view/config.ts b/apps/client/src/widgets/view_widgets/board_view/config.ts new file mode 100644 index 000000000..def136da7 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/board_view/config.ts @@ -0,0 +1,7 @@ +interface BoardColumnData { + value: string; +} + +export interface BoardData { + columns?: BoardColumnData[]; +} diff --git a/apps/client/src/widgets/view_widgets/board_view/data.ts b/apps/client/src/widgets/view_widgets/board_view/data.ts index bd624e1f7..7ace172d1 100644 --- a/apps/client/src/widgets/view_widgets/board_view/data.ts +++ b/apps/client/src/widgets/view_widgets/board_view/data.ts @@ -1,18 +1,42 @@ import FBranch from "../../../entities/fbranch"; import FNote from "../../../entities/fnote"; +import { BoardData } from "./config"; type ColumnMap = Map; -export async function getBoardData(parentNote: FNote, groupByColumn: string) { +export async function getBoardData(parentNote: FNote, groupByColumn: string, persistedData: BoardData) { const byColumn: ColumnMap = new Map(); await recursiveGroupBy(parentNote.getChildBranches(), byColumn, groupByColumn); + let newPersistedData: BoardData | undefined; + if (persistedData) { + // Check if we have new columns. + const existingColumns = persistedData.columns?.map(c => c.value) || []; + for (const column of existingColumns) { + if (!byColumn.has(column)) { + byColumn.set(column, []); + } + } + + const newColumns = [...byColumn.keys()] + .filter(column => !existingColumns.includes(column)) + .map(column => ({ value: column })); + + if (newColumns.length > 0) { + newPersistedData = { + ...persistedData, + columns: [...(persistedData.columns || []), ...newColumns] + }; + } + } + return { - byColumn + byColumn, + newPersistedData }; } diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index c5ae51c46..b85368c0b 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -5,6 +5,8 @@ import attributeService from "../../../services/attributes"; import branchService from "../../../services/branches"; import noteCreateService from "../../../services/note_create"; import appContext, { EventData } from "../../../components/app_context"; +import { BoardData } from "./config"; +import SpacedUpdate from "../../../services/spaced_update"; const TPL = /*html*/`
@@ -115,17 +117,15 @@ const TPL = /*html*/`
`; -export interface StateInfo { - -}; - -export default class BoardView extends ViewMode { +export default class BoardView extends ViewMode { private $root: JQuery; private $container: JQuery; + private spacedUpdate: SpacedUpdate; private draggedNote: any = null; private draggedBranch: any = null; private draggedNoteElement: JQuery | null = null; + private persistentData: BoardData; constructor(args: ViewModeArgs) { super(args, "board"); @@ -133,6 +133,10 @@ export default class BoardView extends ViewMode { this.$root = $(TPL); setupHorizontalScrollViaWheel(this.$root); this.$container = this.$root.find(".board-view-container"); + this.spacedUpdate = new SpacedUpdate(() => this.onSave(), 5_000); + this.persistentData = { + columns: [] + }; args.$parent.append(this.$root); } @@ -145,7 +149,12 @@ export default class BoardView extends ViewMode { } private async renderBoard(el: HTMLElement) { - const data = await getBoardData(this.parentNote, "status"); + const data = await getBoardData(this.parentNote, "status", this.persistentData); + + if (data.newPersistedData) { + this.persistentData = data.newPersistedData; + this.viewStorage.store(this.persistentData); + } for (const column of data.byColumn.keys()) { const columnItems = data.byColumn.get(column); @@ -421,4 +430,8 @@ export default class BoardView extends ViewMode { return false; } + private onSave() { + this.viewStorage.store(this.persistentData); + } + } From af797489e83aa15541689c6c2a3589a9b9220bf6 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 10:30:48 +0300 Subject: [PATCH 020/505] feat(views/board): set up template --- .../src/assets/translations/en/server.json | 4 ++- .../src/services/hidden_subtree_templates.ts | 29 ++++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/apps/server/src/assets/translations/en/server.json b/apps/server/src/assets/translations/en/server.json index 97920deca..7a097b92c 100644 --- a/apps/server/src/assets/translations/en/server.json +++ b/apps/server/src/assets/translations/en/server.json @@ -317,6 +317,8 @@ "start-time": "Start Time", "end-time": "End Time", "geolocation": "Geolocation", - "built-in-templates": "Built-in templates" + "built-in-templates": "Built-in templates", + "board": "Board", + "status": "Status" } } diff --git a/apps/server/src/services/hidden_subtree_templates.ts b/apps/server/src/services/hidden_subtree_templates.ts index 6cc35fff9..06c7dd612 100644 --- a/apps/server/src/services/hidden_subtree_templates.ts +++ b/apps/server/src/services/hidden_subtree_templates.ts @@ -170,7 +170,34 @@ export default function buildHiddenSubtreeTemplates() { isInheritable: true } ] - } + }, + { + id: "_template_board", + type: "book", + title: t("hidden_subtree_templates.board"), + icon: "bx bx-columns", + attributes: [ + { + name: "template", + type: "label" + }, + { + name: "collection", + type: "label" + }, + { + name: "viewType", + type: "label", + value: "board" + }, + { + name: "label:status", + type: "label", + value: `promoted,alias=${t("hidden_subtree_templates.status")},single,text`, + isInheritable: true + } + ] + }, ] }; From b7b0b39afc07686ff8bbe5676df271a09ba7c82f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 10:36:36 +0300 Subject: [PATCH 021/505] feat(views/board): add preset notes --- .../src/assets/translations/en/server.json | 8 ++++- .../src/services/hidden_subtree_templates.ts | 32 +++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/apps/server/src/assets/translations/en/server.json b/apps/server/src/assets/translations/en/server.json index 7a097b92c..3f1553d6b 100644 --- a/apps/server/src/assets/translations/en/server.json +++ b/apps/server/src/assets/translations/en/server.json @@ -319,6 +319,12 @@ "geolocation": "Geolocation", "built-in-templates": "Built-in templates", "board": "Board", - "status": "Status" + "status": "Status", + "board_note_first": "First note", + "board_note_second": "Second note", + "board_note_third": "Third note", + "board_status_todo": "To Do", + "board_status_progress": "In Progress", + "board_status_done": "Done" } } diff --git a/apps/server/src/services/hidden_subtree_templates.ts b/apps/server/src/services/hidden_subtree_templates.ts index 06c7dd612..105ddeb5f 100644 --- a/apps/server/src/services/hidden_subtree_templates.ts +++ b/apps/server/src/services/hidden_subtree_templates.ts @@ -196,6 +196,38 @@ export default function buildHiddenSubtreeTemplates() { value: `promoted,alias=${t("hidden_subtree_templates.status")},single,text`, isInheritable: true } + ], + children: [ + { + id: "_template_board_first", + title: t("hidden_subtree_templates.board_note_first"), + attributes: [{ + name: "status", + value: t("hidden_subtree_templates.board_status_todo"), + type: "label" + }], + type: "text" + }, + { + id: "_template_board_second", + title: t("hidden_subtree_templates.board_note_second"), + attributes: [{ + name: "status", + value: t("hidden_subtree_templates.board_status_progress"), + type: "label" + }], + type: "text" + }, + { + id: "_template_board_third", + title: t("hidden_subtree_templates.board_note_third"), + attributes: [{ + name: "status", + value: t("hidden_subtree_templates.board_status_done"), + type: "label" + }], + type: "text" + } ] }, ] From e1a8f4f5db6c101ffeae32cf66b6ca8ced162c6c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 10:50:13 +0300 Subject: [PATCH 022/505] chore(views/board): hide promoted attributes of collection --- apps/server/src/services/hidden_subtree_templates.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/server/src/services/hidden_subtree_templates.ts b/apps/server/src/services/hidden_subtree_templates.ts index 105ddeb5f..11ed6c66b 100644 --- a/apps/server/src/services/hidden_subtree_templates.ts +++ b/apps/server/src/services/hidden_subtree_templates.ts @@ -190,6 +190,10 @@ export default function buildHiddenSubtreeTemplates() { type: "label", value: "board" }, + { + name: "hidePromotedAttributes", + type: "label" + }, { name: "label:status", type: "label", From 37c9260dcab7d3adc598c6d1cee9c114da8a3841 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 10:50:26 +0300 Subject: [PATCH 023/505] feat(views/board): keep empty columns --- .../widgets/view_widgets/board_view/data.ts | 35 ++++++++++--------- .../widgets/view_widgets/board_view/index.ts | 5 ++- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/data.ts b/apps/client/src/widgets/view_widgets/board_view/data.ts index 7ace172d1..bb3095e89 100644 --- a/apps/client/src/widgets/view_widgets/board_view/data.ts +++ b/apps/client/src/widgets/view_widgets/board_view/data.ts @@ -10,28 +10,31 @@ type ColumnMap = Map c.value) || []; - for (const column of existingColumns) { - if (!byColumn.has(column)) { - byColumn.set(column, []); - } + // Check if we have new columns. + const existingColumns = persistedData.columns?.map(c => c.value) || []; + for (const column of existingColumns) { + if (!byColumn.has(column)) { + byColumn.set(column, []); } + } - const newColumns = [...byColumn.keys()] - .filter(column => !existingColumns.includes(column)) - .map(column => ({ value: column })); + const newColumns = [...byColumn.keys()] + .filter(column => !existingColumns.includes(column)) + .map(column => ({ value: column })); - if (newColumns.length > 0) { - newPersistedData = { - ...persistedData, - columns: [...(persistedData.columns || []), ...newColumns] - }; - } + if (newColumns.length > 0) { + newPersistedData = { + ...persistedData, + columns: [...(persistedData.columns || []), ...newColumns] + }; } return { diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index b85368c0b..21f2c2105 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -149,7 +149,10 @@ export default class BoardView extends ViewMode { } private async renderBoard(el: HTMLElement) { - const data = await getBoardData(this.parentNote, "status", this.persistentData); + const persistedData = await this.viewStorage.restore() ?? this.persistentData; + this.persistentData = persistedData; + + const data = await getBoardData(this.parentNote, "status", persistedData); if (data.newPersistedData) { this.persistentData = data.newPersistedData; From e51ea1a619b3a51f112a16dbc5e61331ce1bd530 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 12:40:30 +0300 Subject: [PATCH 024/505] feat(views/board): add context menu with delete --- .../src/translations/en/translation.json | 3 ++ .../view_widgets/board_view/context_menu.ts | 28 +++++++++++++++++++ .../widgets/view_widgets/board_view/index.ts | 2 ++ 3 files changed, 33 insertions(+) create mode 100644 apps/client/src/widgets/view_widgets/board_view/context_menu.ts diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 35e835e30..f3693e853 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -1968,5 +1968,8 @@ }, "table_context_menu": { "delete_row": "Delete row" + }, + "board_view": { + "delete-note": "Delete Note" } } diff --git a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts new file mode 100644 index 000000000..6ef692f5b --- /dev/null +++ b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts @@ -0,0 +1,28 @@ +import contextMenu from "../../../menus/context_menu.js"; +import branches from "../../../services/branches.js"; +import { t } from "../../../services/i18n.js"; + +export function showNoteContextMenu($container: JQuery) { + $container.on("contextmenu", ".board-note", (event) => { + event.preventDefault(); + event.stopPropagation(); + + const $el = $(event.currentTarget); + const noteId = $el.data("note-id"); + const branchId = $el.data("branch-id"); + if (!noteId) return; + + contextMenu.show({ + x: event.pageX, + y: event.pageY, + items: [ + { + title: t("board_view.delete-note"), + uiIcon: "bx bx-trash", + handler: () => branches.deleteNotes([ branchId ], false, false) + } + ], + selectMenuItemHandler: () => {} + }); + }); +} diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 21f2c2105..f399dca03 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -7,6 +7,7 @@ import noteCreateService from "../../../services/note_create"; import appContext, { EventData } from "../../../components/app_context"; import { BoardData } from "./config"; import SpacedUpdate from "../../../services/spaced_update"; +import { showNoteContextMenu } from "./context_menu"; const TPL = /*html*/`
@@ -133,6 +134,7 @@ export default class BoardView extends ViewMode { this.$root = $(TPL); setupHorizontalScrollViaWheel(this.$root); this.$container = this.$root.find(".board-view-container"); + showNoteContextMenu(this.$container); this.spacedUpdate = new SpacedUpdate(() => this.onSave(), 5_000); this.persistentData = { columns: [] From a594e5147c9ec9e9c67ccb0476f74a6570cf34ad Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 12:42:19 +0300 Subject: [PATCH 025/505] feat(views/board): set up open in context menu --- .../src/widgets/view_widgets/board_view/context_menu.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts index 6ef692f5b..c6bd99ddb 100644 --- a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts +++ b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts @@ -1,4 +1,5 @@ import contextMenu from "../../../menus/context_menu.js"; +import link_context_menu from "../../../menus/link_context_menu.js"; import branches from "../../../services/branches.js"; import { t } from "../../../services/i18n.js"; @@ -16,13 +17,15 @@ export function showNoteContextMenu($container: JQuery) { x: event.pageX, y: event.pageY, items: [ + ...link_context_menu.getItems(), + { title: "----" }, { title: t("board_view.delete-note"), uiIcon: "bx bx-trash", handler: () => branches.deleteNotes([ branchId ], false, false) } ], - selectMenuItemHandler: () => {} + selectMenuItemHandler: ({ command }) => link_context_menu.handleLinkContextMenuItem(command, noteId), }); }); } From 1763d80d5f763a716031a6f68e62869059eb6bfd Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 13:24:22 +0300 Subject: [PATCH 026/505] feat(views/board): add move to in context menu --- .../client/src/translations/en/translation.json | 3 ++- .../src/widgets/view_widgets/board_view/api.ts | 12 ++++++++++++ .../widgets/view_widgets/board_view/config.ts | 2 +- .../view_widgets/board_view/context_menu.ts | 17 ++++++++++++++++- .../widgets/view_widgets/board_view/index.ts | 11 +++++++++-- 5 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 apps/client/src/widgets/view_widgets/board_view/api.ts diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index f3693e853..d436cc078 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -1970,6 +1970,7 @@ "delete_row": "Delete row" }, "board_view": { - "delete-note": "Delete Note" + "delete-note": "Delete Note", + "move-to": "Move to" } } diff --git a/apps/client/src/widgets/view_widgets/board_view/api.ts b/apps/client/src/widgets/view_widgets/board_view/api.ts new file mode 100644 index 000000000..af87668ae --- /dev/null +++ b/apps/client/src/widgets/view_widgets/board_view/api.ts @@ -0,0 +1,12 @@ +import attributes from "../../../services/attributes"; + +export default class BoardApi { + + constructor(public columns: string[]) { + } + + async changeColumn(noteId: string, newColumn: string) { + await attributes.setLabel(noteId, "status", newColumn); + } + +} diff --git a/apps/client/src/widgets/view_widgets/board_view/config.ts b/apps/client/src/widgets/view_widgets/board_view/config.ts index def136da7..92dd99f5f 100644 --- a/apps/client/src/widgets/view_widgets/board_view/config.ts +++ b/apps/client/src/widgets/view_widgets/board_view/config.ts @@ -1,4 +1,4 @@ -interface BoardColumnData { +export interface BoardColumnData { value: string; } diff --git a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts index c6bd99ddb..03d8099dd 100644 --- a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts +++ b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts @@ -2,8 +2,14 @@ import contextMenu from "../../../menus/context_menu.js"; import link_context_menu from "../../../menus/link_context_menu.js"; import branches from "../../../services/branches.js"; import { t } from "../../../services/i18n.js"; +import BoardApi from "./api.js"; -export function showNoteContextMenu($container: JQuery) { +interface ShowNoteContextMenuArgs { + $container: JQuery; + api: BoardApi; +} + +export function showNoteContextMenu({ $container, api }: ShowNoteContextMenuArgs) { $container.on("contextmenu", ".board-note", (event) => { event.preventDefault(); event.stopPropagation(); @@ -19,6 +25,15 @@ export function showNoteContextMenu($container: JQuery) { items: [ ...link_context_menu.getItems(), { title: "----" }, + { + title: t("board_view.move-to"), + uiIcon: "bx bx-transfer", + items: api.columns.map(column => ({ + title: column, + handler: () => api.changeColumn(noteId, column) + })) + }, + { title: "----" }, { title: t("board_view.delete-note"), uiIcon: "bx bx-trash", diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index f399dca03..d1f8a8108 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -8,6 +8,7 @@ import appContext, { EventData } from "../../../components/app_context"; import { BoardData } from "./config"; import SpacedUpdate from "../../../services/spaced_update"; import { showNoteContextMenu } from "./context_menu"; +import BoardApi from "./api"; const TPL = /*html*/`
@@ -127,6 +128,7 @@ export default class BoardView extends ViewMode { private draggedBranch: any = null; private draggedNoteElement: JQuery | null = null; private persistentData: BoardData; + private api?: BoardApi; constructor(args: ViewModeArgs) { super(args, "board"); @@ -134,7 +136,6 @@ export default class BoardView extends ViewMode { this.$root = $(TPL); setupHorizontalScrollViaWheel(this.$root); this.$container = this.$root.find(".board-view-container"); - showNoteContextMenu(this.$container); this.spacedUpdate = new SpacedUpdate(() => this.onSave(), 5_000); this.persistentData = { columns: [] @@ -155,6 +156,12 @@ export default class BoardView extends ViewMode { this.persistentData = persistedData; const data = await getBoardData(this.parentNote, "status", persistedData); + const columns = Array.from(data.byColumn.keys()) || []; + this.api = new BoardApi(columns); + showNoteContextMenu({ + $container: this.$container, + api: this.api + }); if (data.newPersistedData) { this.persistentData = data.newPersistedData; @@ -317,7 +324,7 @@ export default class BoardView extends ViewMode { try { // Handle column change if (currentColumn !== column) { - await attributeService.setLabel(draggedNote.noteId, "status", column); + await this.api?.changeColumn(draggedNote.noteId, column); } // Handle position change (works for both same column and different column moves) From 26ee0ff48fdd08de982b85c555b86cd1edc5cbd4 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 17:35:52 +0300 Subject: [PATCH 027/505] feat(views/board): insert above/below --- .../src/translations/en/translation.json | 4 ++- .../widgets/view_widgets/board_view/api.ts | 35 ++++++++++++++++++- .../view_widgets/board_view/context_menu.ts | 10 ++++++ .../widgets/view_widgets/board_view/index.ts | 5 ++- 4 files changed, 51 insertions(+), 3 deletions(-) diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index d436cc078..6a9f5a413 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -1971,6 +1971,8 @@ }, "board_view": { "delete-note": "Delete Note", - "move-to": "Move to" + "move-to": "Move to", + "insert-above": "Insert above", + "insert-below": "Insert below" } } diff --git a/apps/client/src/widgets/view_widgets/board_view/api.ts b/apps/client/src/widgets/view_widgets/board_view/api.ts index af87668ae..436e88152 100644 --- a/apps/client/src/widgets/view_widgets/board_view/api.ts +++ b/apps/client/src/widgets/view_widgets/board_view/api.ts @@ -1,12 +1,45 @@ +import appContext from "../../../components/app_context"; import attributes from "../../../services/attributes"; +import note_create from "../../../services/note_create"; export default class BoardApi { - constructor(public columns: string[]) { + constructor( + private _columns: string[], + private _parentNoteId: string) {} + + get columns() { + return this._columns; } async changeColumn(noteId: string, newColumn: string) { await attributes.setLabel(noteId, "status", newColumn); } + openNote(noteId: string) { + appContext.triggerCommand("openInPopup", { noteIdOrPath: noteId }); + } + + async insertRowAtPosition( + column: string, + relativeToBranchId: string, + direction: "before" | "after", + open: boolean = true) { + const { note } = await note_create.createNote(this._parentNoteId, { + activate: false, + targetBranchId: relativeToBranchId, + target: direction + }); + + if (!note) { + throw new Error("Failed to create note"); + } + + const { noteId } = note; + await this.changeColumn(noteId, column); + if (open) { + this.openNote(noteId); + } + } + } diff --git a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts index 03d8099dd..fb7291922 100644 --- a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts +++ b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts @@ -17,6 +17,7 @@ export function showNoteContextMenu({ $container, api }: ShowNoteContextMenuArgs const $el = $(event.currentTarget); const noteId = $el.data("note-id"); const branchId = $el.data("branch-id"); + const column = $el.closest(".board-column").data("column"); if (!noteId) return; contextMenu.show({ @@ -34,6 +35,15 @@ export function showNoteContextMenu({ $container, api }: ShowNoteContextMenuArgs })) }, { title: "----" }, + { + title: t("board_view.insert-above"), + handler: () => api.insertRowAtPosition(column, branchId, "before") + }, + { + title: t("board_view.insert-below"), + handler: () => api.insertRowAtPosition(column, branchId, "after") + }, + { title: "----" }, { title: t("board_view.delete-note"), uiIcon: "bx bx-trash", diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index d1f8a8108..7ca6d9738 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -157,7 +157,10 @@ export default class BoardView extends ViewMode { const data = await getBoardData(this.parentNote, "status", persistedData); const columns = Array.from(data.byColumn.keys()) || []; - this.api = new BoardApi(columns); + this.api = new BoardApi( + columns, + this.parentNote.noteId + ); showNoteContextMenu({ $container: this.$container, api: this.api From 4146192b6db7e67936714c34404f9cd99576a815 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 17:53:47 +0300 Subject: [PATCH 028/505] chore(views/board): add icon to menu item --- apps/client/src/widgets/view_widgets/board_view/context_menu.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts index fb7291922..de19d6a42 100644 --- a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts +++ b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts @@ -37,10 +37,12 @@ export function showNoteContextMenu({ $container, api }: ShowNoteContextMenuArgs { title: "----" }, { title: t("board_view.insert-above"), + uiIcon: "bx bx-list-plus", handler: () => api.insertRowAtPosition(column, branchId, "before") }, { title: t("board_view.insert-below"), + uiIcon: "bx bx-empty", handler: () => api.insertRowAtPosition(column, branchId, "after") }, { title: "----" }, From d60b855f745f233a53c16183eb15e223b8f11131 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 17:56:37 +0300 Subject: [PATCH 029/505] chore(views/board): disable move to for the current column --- .../src/widgets/view_widgets/board_view/context_menu.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts index de19d6a42..a6044c8c7 100644 --- a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts +++ b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts @@ -29,9 +29,10 @@ export function showNoteContextMenu({ $container, api }: ShowNoteContextMenuArgs { title: t("board_view.move-to"), uiIcon: "bx bx-transfer", - items: api.columns.map(column => ({ - title: column, - handler: () => api.changeColumn(noteId, column) + items: api.columns.map(columnToMoveTo => ({ + title: columnToMoveTo, + enabled: columnToMoveTo !== column, + handler: () => api.changeColumn(noteId, columnToMoveTo) })) }, { title: "----" }, From 3e5c91415db9de3cdf97b87f254d8b2a79d55941 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 18:17:53 +0300 Subject: [PATCH 030/505] feat(views/board): rename columns --- .../widgets/view_widgets/board_view/api.ts | 7 + .../widgets/view_widgets/board_view/index.ts | 146 +++++++++++++++++- 2 files changed, 151 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/api.ts b/apps/client/src/widgets/view_widgets/board_view/api.ts index 436e88152..bccf0201b 100644 --- a/apps/client/src/widgets/view_widgets/board_view/api.ts +++ b/apps/client/src/widgets/view_widgets/board_view/api.ts @@ -42,4 +42,11 @@ export default class BoardApi { } } + async renameColumn(oldValue: string, newValue: string, noteIds: string[]) { + // Update all notes that have the old status value to the new value + for (const noteId of noteIds) { + await attributes.setLabel(noteId, "status", newValue); + } + } + } diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 7ca6d9738..b772e2082 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -49,6 +49,54 @@ const TPL = /*html*/` margin-bottom: 0.75em; padding-bottom: 0.5em; border-bottom: 1px solid var(--main-border-color); + cursor: pointer; + position: relative; + transition: background-color 0.2s ease; + display: flex; + align-items: center; + justify-content: space-between; + } + + .board-view-container .board-column h3:hover { + background-color: var(--hover-item-background-color); + border-radius: 4px; + padding: 0.25em 0.5em; + margin: -0.25em -0.5em 0.75em -0.5em; + } + + .board-view-container .board-column h3.editing { + background-color: var(--main-background-color); + border: 1px solid var(--main-text-color); + border-radius: 4px; + padding: 0.25em 0.5em; + margin: -0.25em -0.5em 0.75em -0.5em; + } + + .board-view-container .board-column h3 input { + background: transparent; + border: none; + outline: none; + font-size: inherit; + font-weight: inherit; + color: inherit; + width: 100%; + font-family: inherit; + } + + .board-view-container .board-column h3 .edit-icon { + opacity: 0; + font-size: 0.8em; + margin-left: 0.5em; + transition: opacity 0.2s ease; + color: var(--muted-text-color); + } + + .board-view-container .board-column h3:hover .edit-icon { + opacity: 1; + } + + .board-view-container .board-column h3.editing .edit-icon { + display: none; } .board-view-container .board-note { @@ -177,10 +225,23 @@ export default class BoardView extends ViewMode { continue; } + // Find the column data to get custom title + const columnTitle = column; + const $columnEl = $("
") .addClass("board-column") - .attr("data-column", column) - .append($("

").text(column)); + .attr("data-column", column); + + const $titleEl = $("

") + .attr("data-column-value", column); + + const { $titleText, $editIcon } = this.createTitleStructure(columnTitle); + $titleEl.append($titleText, $editIcon); + + // Make column title editable + this.setupColumnTitleEdit($titleEl, column, columnItems); + + $columnEl.append($titleEl); // Allow vertical scrolling in the column, bypassing the horizontal scroll of the container. $columnEl.on("wheel", (event) => { @@ -401,6 +462,87 @@ export default class BoardView extends ViewMode { $dropIndicator.addClass("show"); } + private createTitleStructure(title: string): { $titleText: JQuery; $editIcon: JQuery } { + const $titleText = $("").text(title); + const $editIcon = $("") + .addClass("edit-icon icon bx bx-edit-alt") + .attr("title", "Click to edit column title"); + + return { $titleText, $editIcon }; + } + + private setupColumnTitleEdit($titleEl: JQuery, columnValue: string, columnItems: { branch: any; note: any; }[]) { + $titleEl.on("click", (e) => { + e.stopPropagation(); + this.startEditingColumnTitle($titleEl, columnValue, columnItems); + }); + } + + private startEditingColumnTitle($titleEl: JQuery, columnValue: string, columnItems: { branch: any; note: any; }[]) { + if ($titleEl.hasClass("editing")) { + return; // Already editing + } + + const $titleText = $titleEl.find("span").first(); + const currentTitle = $titleText.text(); + $titleEl.addClass("editing"); + + const $input = $("") + .attr("type", "text") + .val(currentTitle) + .attr("placeholder", "Column title"); + + $titleEl.empty().append($input); + $input.focus().select(); + + const finishEdit = async (save: boolean = true) => { + if (!$titleEl.hasClass("editing")) { + return; // Already finished + } + + $titleEl.removeClass("editing"); + + let finalTitle = currentTitle; + if (save) { + const newTitle = $input.val() as string; + if (newTitle.trim() && newTitle !== currentTitle) { + await this.renameColumn(columnValue, newTitle.trim(), columnItems); + finalTitle = newTitle.trim(); + } + } + + // Recreate the title structure + const { $titleText, $editIcon } = this.createTitleStructure(finalTitle); + $titleEl.empty().append($titleText, $editIcon); + }; + + $input.on("blur", () => finishEdit(true)); + $input.on("keydown", (e) => { + if (e.key === "Enter") { + e.preventDefault(); + finishEdit(true); + } else if (e.key === "Escape") { + e.preventDefault(); + finishEdit(false); + } + }); + } + + private async renameColumn(oldValue: string, newValue: string, columnItems: { branch: any; note: any; }[]) { + try { + // Get all note IDs in this column + const noteIds = columnItems.map(item => item.note.noteId); + + // Use the API to rename the column (update all notes) + await this.api?.renameColumn(oldValue, newValue, noteIds); + + // Refresh the board to reflect the changes + await this.renderList(); + } catch (error) { + console.error("Failed to rename column:", error); + } + } + private async createNewItem(column: string) { try { // Get the parent note path From 977fbf54ee5fe31029abbe8b2fd865f6710b0a71 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 19:06:33 +0300 Subject: [PATCH 031/505] refactor(views/board): delegate storage to API --- .../widgets/view_widgets/board_view/api.ts | 27 +++++++++++++++++-- .../widgets/view_widgets/board_view/data.ts | 2 +- .../widgets/view_widgets/board_view/index.ts | 19 +++---------- 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/api.ts b/apps/client/src/widgets/view_widgets/board_view/api.ts index bccf0201b..b2e2009b3 100644 --- a/apps/client/src/widgets/view_widgets/board_view/api.ts +++ b/apps/client/src/widgets/view_widgets/board_view/api.ts @@ -1,17 +1,27 @@ import appContext from "../../../components/app_context"; +import FNote from "../../../entities/fnote"; import attributes from "../../../services/attributes"; import note_create from "../../../services/note_create"; +import ViewModeStorage from "../view_mode_storage"; +import { BoardData } from "./config"; +import { ColumnMap, getBoardData } from "./data"; export default class BoardApi { - constructor( + private constructor( private _columns: string[], - private _parentNoteId: string) {} + private _parentNoteId: string, + private viewStorage: ViewModeStorage, + private byColumn: ColumnMap) {} get columns() { return this._columns; } + getColumn(column: string) { + return this.byColumn.get(column); + } + async changeColumn(noteId: string, newColumn: string) { await attributes.setLabel(noteId, "status", newColumn); } @@ -49,4 +59,17 @@ export default class BoardApi { } } + static async build(parentNote: FNote, viewStorage: ViewModeStorage) { + let persistedData = await viewStorage.restore() ?? {}; + const { byColumn, newPersistedData } = await getBoardData(parentNote, "status", persistedData); + const columns = Array.from(byColumn.keys()) || []; + + if (newPersistedData) { + persistedData = newPersistedData; + viewStorage.store(persistedData); + } + + return new BoardApi(columns, parentNote.noteId, viewStorage, byColumn); + } + } diff --git a/apps/client/src/widgets/view_widgets/board_view/data.ts b/apps/client/src/widgets/view_widgets/board_view/data.ts index bb3095e89..828181896 100644 --- a/apps/client/src/widgets/view_widgets/board_view/data.ts +++ b/apps/client/src/widgets/view_widgets/board_view/data.ts @@ -2,7 +2,7 @@ import FBranch from "../../../entities/fbranch"; import FNote from "../../../entities/fnote"; import { BoardData } from "./config"; -type ColumnMap = Map; diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index b772e2082..28ef1dc28 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -200,27 +200,14 @@ export default class BoardView extends ViewMode { } private async renderBoard(el: HTMLElement) { - const persistedData = await this.viewStorage.restore() ?? this.persistentData; - this.persistentData = persistedData; - - const data = await getBoardData(this.parentNote, "status", persistedData); - const columns = Array.from(data.byColumn.keys()) || []; - this.api = new BoardApi( - columns, - this.parentNote.noteId - ); + this.api = await BoardApi.build(this.parentNote, this.viewStorage); showNoteContextMenu({ $container: this.$container, api: this.api }); - if (data.newPersistedData) { - this.persistentData = data.newPersistedData; - this.viewStorage.store(this.persistentData); - } - - for (const column of data.byColumn.keys()) { - const columnItems = data.byColumn.get(column); + for (const column of this.api.columns) { + const columnItems = this.api.getColumn(column); if (!columnItems) { continue; } From e8fd2c1b3ce465cb83669ebc9975e3cf5b52bdc1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 19:12:44 +0300 Subject: [PATCH 032/505] fix(views/board): old column not removed when changing it --- .../src/widgets/view_widgets/board_view/api.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/api.ts b/apps/client/src/widgets/view_widgets/board_view/api.ts index b2e2009b3..39c7bf246 100644 --- a/apps/client/src/widgets/view_widgets/board_view/api.ts +++ b/apps/client/src/widgets/view_widgets/board_view/api.ts @@ -12,7 +12,8 @@ export default class BoardApi { private _columns: string[], private _parentNoteId: string, private viewStorage: ViewModeStorage, - private byColumn: ColumnMap) {} + private byColumn: ColumnMap, + private persistedData: BoardData) {} get columns() { return this._columns; @@ -53,6 +54,14 @@ export default class BoardApi { } async renameColumn(oldValue: string, newValue: string, noteIds: string[]) { + // Rename the column in the persisted data. + for (const column of this.persistedData.columns || []) { + if (column.value === oldValue) { + column.value = newValue; + } + } + this.viewStorage.store(this.persistedData); + // Update all notes that have the old status value to the new value for (const noteId of noteIds) { await attributes.setLabel(noteId, "status", newValue); @@ -69,7 +78,7 @@ export default class BoardApi { viewStorage.store(persistedData); } - return new BoardApi(columns, parentNote.noteId, viewStorage, byColumn); + return new BoardApi(columns, parentNote.noteId, viewStorage, byColumn, persistedData); } } From 9e936cb57b600d3cac14d33c74f5e63cc09c672b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 19:33:56 +0300 Subject: [PATCH 033/505] feat(views/board): delete empty columns --- .../src/translations/en/translation.json | 4 +- .../widgets/view_widgets/board_view/api.ts | 5 +++ .../view_widgets/board_view/context_menu.ts | 40 +++++++++++++++++-- .../widgets/view_widgets/board_view/index.ts | 10 +++-- 4 files changed, 51 insertions(+), 8 deletions(-) diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 6a9f5a413..7bb080778 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -1973,6 +1973,8 @@ "delete-note": "Delete Note", "move-to": "Move to", "insert-above": "Insert above", - "insert-below": "Insert below" + "insert-below": "Insert below", + "delete-column": "Delete column", + "delete-column-confirmation": "Are you sure you want to delete this column? All notes in this column will be deleted as well." } } diff --git a/apps/client/src/widgets/view_widgets/board_view/api.ts b/apps/client/src/widgets/view_widgets/board_view/api.ts index 39c7bf246..aa2e50802 100644 --- a/apps/client/src/widgets/view_widgets/board_view/api.ts +++ b/apps/client/src/widgets/view_widgets/board_view/api.ts @@ -68,6 +68,11 @@ export default class BoardApi { } } + async removeColumn(column: string) { + this.persistedData.columns = (this.persistedData.columns ?? []).filter(col => col.value !== column); + this.viewStorage.store(this.persistedData); + } + static async build(parentNote: FNote, viewStorage: ViewModeStorage) { let persistedData = await viewStorage.restore() ?? {}; const { byColumn, newPersistedData } = await getBoardData(parentNote, "status", persistedData); diff --git a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts index a6044c8c7..9ee9909e0 100644 --- a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts +++ b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts @@ -1,6 +1,7 @@ -import contextMenu from "../../../menus/context_menu.js"; +import contextMenu, { ContextMenuEvent } from "../../../menus/context_menu.js"; import link_context_menu from "../../../menus/link_context_menu.js"; import branches from "../../../services/branches.js"; +import dialog from "../../../services/dialog.js"; import { t } from "../../../services/i18n.js"; import BoardApi from "./api.js"; @@ -9,8 +10,39 @@ interface ShowNoteContextMenuArgs { api: BoardApi; } -export function showNoteContextMenu({ $container, api }: ShowNoteContextMenuArgs) { - $container.on("contextmenu", ".board-note", (event) => { +export function setupContextMenu({ $container, api }: ShowNoteContextMenuArgs) { + $container.on("contextmenu", ".board-note", showNoteContextMenu); + $container.on("contextmenu", ".board-column", showColumnContextMenu); + + function showColumnContextMenu(event: ContextMenuEvent) { + event.preventDefault(); + event.stopPropagation(); + + const $el = $(event.currentTarget); + const column = $el.closest(".board-column").data("column"); + + contextMenu.show({ + x: event.pageX, + y: event.pageY, + items: [ + { + title: t("board_view.delete-column"), + uiIcon: "bx bx-trash", + async handler() { + const confirmed = await dialog.confirm(t("board_view.delete-column-confirmation")); + if (!confirmed) { + return; + } + + await api.removeColumn(column); + } + } + ], + selectMenuItemHandler() {} + }); + } + + function showNoteContextMenu(event: ContextMenuEvent) { event.preventDefault(); event.stopPropagation(); @@ -55,5 +87,5 @@ export function showNoteContextMenu({ $container, api }: ShowNoteContextMenuArgs ], selectMenuItemHandler: ({ command }) => link_context_menu.handleLinkContextMenuItem(command, noteId), }); - }); + } } diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 28ef1dc28..6505d11cf 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -1,13 +1,12 @@ import { setupHorizontalScrollViaWheel } from "../../widget_utils"; import ViewMode, { ViewModeArgs } from "../view_mode"; -import { getBoardData } from "./data"; import attributeService from "../../../services/attributes"; import branchService from "../../../services/branches"; import noteCreateService from "../../../services/note_create"; import appContext, { EventData } from "../../../components/app_context"; import { BoardData } from "./config"; import SpacedUpdate from "../../../services/spaced_update"; -import { showNoteContextMenu } from "./context_menu"; +import { setupContextMenu } from "./context_menu"; import BoardApi from "./api"; const TPL = /*html*/` @@ -201,7 +200,7 @@ export default class BoardView extends ViewMode { private async renderBoard(el: HTMLElement) { this.api = await BoardApi.build(this.parentNote, this.viewStorage); - showNoteContextMenu({ + setupContextMenu({ $container: this.$container, api: this.api }); @@ -571,6 +570,11 @@ export default class BoardView extends ViewMode { return true; } + // React to attachment change. + if (loadResults.getAttachmentRows().some(att => att.ownerId === this.parentNote.noteId && att.title === "board.json")) { + return true; + } + return false; } From 2b5029cc38fa1bfddcc032e2dbbf9e4759d2acba Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 19:51:03 +0300 Subject: [PATCH 034/505] chore(views/board): delete values when deleting column --- apps/client/src/services/bulk_action.ts | 6 +++--- apps/client/src/translations/en/translation.json | 2 +- .../src/widgets/view_widgets/board_view/api.ts | 10 ++++++++++ .../view_widgets/table_view/bulk_actions.ts | 16 ++++++++-------- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/apps/client/src/services/bulk_action.ts b/apps/client/src/services/bulk_action.ts index 57b880c36..d894ee17e 100644 --- a/apps/client/src/services/bulk_action.ts +++ b/apps/client/src/services/bulk_action.ts @@ -91,10 +91,10 @@ function parseActions(note: FNote) { .filter((action) => !!action); } -export async function executeBulkActions(parentNoteId: string, actions: BulkAction[]) { +export async function executeBulkActions(targetNoteIds: string[], actions: BulkAction[], includeDescendants = false) { await server.post("bulk-action/execute", { - noteIds: [ parentNoteId ], - includeDescendants: true, + noteIds: targetNoteIds, + includeDescendants, actions }); diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 7bb080778..1ef41d3f0 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -1975,6 +1975,6 @@ "insert-above": "Insert above", "insert-below": "Insert below", "delete-column": "Delete column", - "delete-column-confirmation": "Are you sure you want to delete this column? All notes in this column will be deleted as well." + "delete-column-confirmation": "Are you sure you want to delete this column? The corresponding attribute will be deleted in the notes under this column as well." } } diff --git a/apps/client/src/widgets/view_widgets/board_view/api.ts b/apps/client/src/widgets/view_widgets/board_view/api.ts index aa2e50802..7a706f2e6 100644 --- a/apps/client/src/widgets/view_widgets/board_view/api.ts +++ b/apps/client/src/widgets/view_widgets/board_view/api.ts @@ -1,6 +1,7 @@ import appContext from "../../../components/app_context"; import FNote from "../../../entities/fnote"; import attributes from "../../../services/attributes"; +import bulk_action, { executeBulkActions } from "../../../services/bulk_action"; import note_create from "../../../services/note_create"; import ViewModeStorage from "../view_mode_storage"; import { BoardData } from "./config"; @@ -69,6 +70,15 @@ export default class BoardApi { } async removeColumn(column: string) { + // Remove the value from the notes. + const noteIds = this.byColumn.get(column)?.map(item => item.note.noteId) || []; + await executeBulkActions(noteIds, [ + { + name: "deleteLabel", + labelName: "status" + } + ]); + this.persistedData.columns = (this.persistedData.columns ?? []).filter(col => col.value !== column); this.viewStorage.store(this.persistedData); } diff --git a/apps/client/src/widgets/view_widgets/table_view/bulk_actions.ts b/apps/client/src/widgets/view_widgets/table_view/bulk_actions.ts index b0f590c16..010bd1c48 100644 --- a/apps/client/src/widgets/view_widgets/table_view/bulk_actions.ts +++ b/apps/client/src/widgets/view_widgets/table_view/bulk_actions.ts @@ -2,30 +2,30 @@ import { executeBulkActions } from "../../../services/bulk_action.js"; export async function renameColumn(parentNoteId: string, type: "label" | "relation", originalName: string, newName: string) { if (type === "label") { - return executeBulkActions(parentNoteId, [{ + return executeBulkActions([parentNoteId], [{ name: "renameLabel", oldLabelName: originalName, newLabelName: newName - }]); + }], true); } else { - return executeBulkActions(parentNoteId, [{ + return executeBulkActions([parentNoteId], [{ name: "renameRelation", oldRelationName: originalName, newRelationName: newName - }]); + }], true); } } export async function deleteColumn(parentNoteId: string, type: "label" | "relation", columnName: string) { if (type === "label") { - return executeBulkActions(parentNoteId, [{ + return executeBulkActions([parentNoteId], [{ name: "deleteLabel", labelName: columnName - }]); + }], true); } else { - return executeBulkActions(parentNoteId, [{ + return executeBulkActions([parentNoteId], [{ name: "deleteRelation", relationName: columnName - }]); + }], true); } } From b22e08b1eba6b3e298da18665a0cb19f77f46fa1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 19:59:21 +0300 Subject: [PATCH 035/505] refactor(views/board): use bulk API for renaming columns --- .../src/widgets/view_widgets/board_view/api.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/api.ts b/apps/client/src/widgets/view_widgets/board_view/api.ts index 7a706f2e6..ffec13960 100644 --- a/apps/client/src/widgets/view_widgets/board_view/api.ts +++ b/apps/client/src/widgets/view_widgets/board_view/api.ts @@ -55,18 +55,22 @@ export default class BoardApi { } async renameColumn(oldValue: string, newValue: string, noteIds: string[]) { + // Change the value in the notes. + await executeBulkActions(noteIds, [ + { + name: "updateLabelValue", + labelName: "status", + labelValue: newValue + } + ]); + // Rename the column in the persisted data. for (const column of this.persistedData.columns || []) { if (column.value === oldValue) { column.value = newValue; } } - this.viewStorage.store(this.persistedData); - - // Update all notes that have the old status value to the new value - for (const noteId of noteIds) { - await attributes.setLabel(noteId, "status", newValue); - } + await this.viewStorage.store(this.persistedData); } async removeColumn(column: string) { From 1f792ca41895a1f41279b9d7b3f40a89b838b0d5 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 20:06:54 +0300 Subject: [PATCH 036/505] feat(views/board): add new column --- .../widgets/view_widgets/board_view/api.ts | 15 +++ .../widgets/view_widgets/board_view/index.ts | 118 ++++++++++++++++++ 2 files changed, 133 insertions(+) diff --git a/apps/client/src/widgets/view_widgets/board_view/api.ts b/apps/client/src/widgets/view_widgets/board_view/api.ts index ffec13960..cd94abce9 100644 --- a/apps/client/src/widgets/view_widgets/board_view/api.ts +++ b/apps/client/src/widgets/view_widgets/board_view/api.ts @@ -87,6 +87,21 @@ export default class BoardApi { this.viewStorage.store(this.persistedData); } + async createColumn(columnValue: string) { + // Add the new column to persisted data if it doesn't exist + if (!this.persistedData.columns) { + this.persistedData.columns = []; + } + + const existingColumn = this.persistedData.columns.find(col => col.value === columnValue); + if (!existingColumn) { + this.persistedData.columns.push({ value: columnValue }); + await this.viewStorage.store(this.persistedData); + } + + return columnValue; + } + static async build(parentNote: FNote, viewStorage: ViewModeStorage) { let persistedData = await viewStorage.restore() ?? {}; const { byColumn, newPersistedData } = await getBoardData(parentNote, "status", persistedData); diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 6505d11cf..ad4a46b9f 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -160,6 +160,39 @@ const TPL = /*html*/` .board-new-item .icon { margin-right: 0.25em; } + + .board-add-column { + width: 250px; + flex-shrink: 0; + min-height: 200px; + border: 2px dashed var(--main-border-color); + border-radius: 8px; + padding: 0.5em; + background-color: transparent; + transition: all 0.2s ease; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + color: var(--muted-text-color); + } + + .board-add-column:hover { + border-color: var(--main-text-color); + color: var(--main-text-color); + background-color: var(--hover-item-background-color); + } + + .board-add-column.editing { + border-style: solid; + border-color: var(--main-text-color); + background-color: var(--main-background-color); + } + + .board-add-column .icon { + margin-right: 0.5em; + font-size: 1.2em; + }
@@ -282,6 +315,18 @@ export default class BoardView extends ViewMode { $(el).append($columnEl); } + + // Add "Add Column" button at the end + const $addColumnEl = $("
") + .addClass("board-add-column") + .html('Add Column'); + + $addColumnEl.on("click", (e) => { + e.stopPropagation(); + this.startCreatingNewColumn($addColumnEl); + }); + + $(el).append($addColumnEl); } private setupNoteDrag($noteEl: JQuery, note: any, branch: any) { @@ -554,6 +599,79 @@ export default class BoardView extends ViewMode { } } + private startCreatingNewColumn($addColumnEl: JQuery) { + if ($addColumnEl.hasClass("editing")) { + return; // Already editing + } + + $addColumnEl.addClass("editing"); + + const $input = $("") + .attr("type", "text") + .attr("placeholder", "Enter column name...") + .css({ + background: "var(--main-background-color)", + border: "1px solid var(--main-text-color)", + borderRadius: "4px", + padding: "0.5em", + color: "var(--main-text-color)", + fontFamily: "inherit", + fontSize: "inherit", + width: "100%", + textAlign: "center" + }); + + $addColumnEl.empty().append($input); + $input.focus(); + + const finishEdit = async (save: boolean = true) => { + if (!$addColumnEl.hasClass("editing")) { + return; // Already finished + } + + $addColumnEl.removeClass("editing"); + + if (save) { + const columnName = $input.val() as string; + if (columnName.trim()) { + await this.createNewColumn(columnName.trim()); + } + } + + // Restore the add button + $addColumnEl.html('Add Column'); + }; + + $input.on("blur", () => finishEdit(true)); + $input.on("keydown", (e) => { + if (e.key === "Enter") { + e.preventDefault(); + finishEdit(true); + } else if (e.key === "Escape") { + e.preventDefault(); + finishEdit(false); + } + }); + } + + private async createNewColumn(columnName: string) { + try { + // Check if column already exists + if (this.api?.columns.includes(columnName)) { + console.warn("A column with this name already exists."); + return; + } + + // Create the new column + await this.api?.createColumn(columnName); + + // Refresh the board to show the new column + await this.renderList(); + } catch (error) { + console.error("Failed to create new column:", error); + } + } + async onEntitiesReloaded({ loadResults }: EventData<"entitiesReloaded">) { // React to changes in "status" attribute for notes in this board if (loadResults.getAttributeRows().some(attr => attr.name === "status" && this.noteIds.includes(attr.noteId!))) { From c752b98995849addeda8dc01df38d595469d9322 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 20:22:41 +0300 Subject: [PATCH 037/505] chore(views/board): smaller add new column --- apps/client/src/widgets/view_widgets/board_view/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index ad4a46b9f..6b0f16fd3 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -162,9 +162,9 @@ const TPL = /*html*/` } .board-add-column { - width: 250px; + width: 180px; flex-shrink: 0; - min-height: 200px; + height: 60px; border: 2px dashed var(--main-border-color); border-radius: 8px; padding: 0.5em; @@ -175,6 +175,8 @@ const TPL = /*html*/` justify-content: center; cursor: pointer; color: var(--muted-text-color); + font-size: 0.9em; + align-self: flex-start; } .board-add-column:hover { From 1cde14859b3c978510ba9905744767d52bb047d7 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 20:31:07 +0300 Subject: [PATCH 038/505] feat(views/board): touch support --- .../widgets/view_widgets/board_view/index.ts | 184 +++++++++++++++++- 1 file changed, 176 insertions(+), 8 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 6b0f16fd3..b3b51344a 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -334,6 +334,7 @@ export default class BoardView extends ViewMode { private setupNoteDrag($noteEl: JQuery, note: any, branch: any) { $noteEl.attr("draggable", "true"); + // Mouse drag events $noteEl.on("dragstart", (e) => { this.draggedNote = note; this.draggedBranch = branch; @@ -357,6 +358,82 @@ export default class BoardView extends ViewMode { // Remove all drop indicators this.$container.find(".board-drop-indicator").removeClass("show"); }); + + // Touch drag events + let isDragging = false; + let startY = 0; + let startX = 0; + let dragThreshold = 10; // Minimum distance to start dragging + + $noteEl.on("touchstart", (e) => { + const touch = (e.originalEvent as TouchEvent).touches[0]; + startX = touch.clientX; + startY = touch.clientY; + isDragging = false; + }); + + $noteEl.on("touchmove", (e) => { + e.preventDefault(); // Prevent scrolling + const touch = (e.originalEvent as TouchEvent).touches[0]; + const deltaX = Math.abs(touch.clientX - startX); + const deltaY = Math.abs(touch.clientY - startY); + + // Start dragging if we've moved beyond threshold + if (!isDragging && (deltaX > dragThreshold || deltaY > dragThreshold)) { + isDragging = true; + this.draggedNote = note; + this.draggedBranch = branch; + this.draggedNoteElement = $noteEl; + $noteEl.addClass("dragging"); + } + + if (isDragging) { + // Find element under touch point + const elementBelow = document.elementFromPoint(touch.clientX, touch.clientY); + if (elementBelow) { + const $columnEl = $(elementBelow).closest('.board-column'); + + if ($columnEl.length > 0) { + // Remove drag-over from all columns + this.$container.find('.board-column').removeClass('drag-over'); + $columnEl.addClass('drag-over'); + + // Show drop indicator + this.showDropIndicatorAtPoint($columnEl, touch.clientY); + } else { + // Remove all drag indicators if not over a column + this.$container.find('.board-column').removeClass('drag-over'); + this.$container.find(".board-drop-indicator").removeClass("show"); + } + } + } + }); + + $noteEl.on("touchend", async (e) => { + if (isDragging) { + const touch = (e.originalEvent as TouchEvent).changedTouches[0]; + const elementBelow = document.elementFromPoint(touch.clientX, touch.clientY); + if (elementBelow) { + const $columnEl = $(elementBelow).closest('.board-column'); + + if ($columnEl.length > 0) { + const column = $columnEl.attr('data-column'); + if (column && this.draggedNote && this.draggedNoteElement && this.draggedBranch) { + await this.handleNoteDrop($columnEl, column); + } + } + } + + // Clean up + $noteEl.removeClass("dragging"); + this.draggedNote = null; + this.draggedBranch = null; + this.draggedNoteElement = null; + this.$container.find('.board-column').removeClass('drag-over'); + this.$container.find(".board-drop-indicator").removeClass("show"); + } + isDragging = false; + }); } private setupColumnDropZone($columnEl: JQuery, column: string) { @@ -435,21 +512,16 @@ export default class BoardView extends ViewMode { } } - // Update the UI - if (dropIndicator.length > 0) { - dropIndicator.after(draggedNoteElement); - } else { - $columnEl.append(draggedNoteElement); - } - // Update the data attributes draggedNoteElement.attr("data-current-column", column); // Show success feedback console.log(`Moved note "${draggedNote.title}" from "${currentColumn}" to "${column}"`); + + // Refresh the board to reflect the changes + await this.renderList(); } catch (error) { console.error("Failed to update note position:", error); - // Optionally show user-facing error message } } }); @@ -495,6 +567,102 @@ export default class BoardView extends ViewMode { $dropIndicator.addClass("show"); } + private showDropIndicatorAtPoint($columnEl: JQuery, touchY: number) { + const columnRect = $columnEl[0].getBoundingClientRect(); + const relativeY = touchY - columnRect.top; + + // Find existing drop indicator or create one + let $dropIndicator = $columnEl.find(".board-drop-indicator"); + if ($dropIndicator.length === 0) { + $dropIndicator = $("
").addClass("board-drop-indicator"); + $columnEl.append($dropIndicator); + } + + // Find the best position to insert the note + const $notes = this.draggedNoteElement ? + $columnEl.find(".board-note").not(this.draggedNoteElement) : + $columnEl.find(".board-note"); + let insertAfterElement: HTMLElement | null = null; + + $notes.each((_, noteEl) => { + const noteRect = noteEl.getBoundingClientRect(); + const noteMiddle = noteRect.top + noteRect.height / 2 - columnRect.top; + + if (relativeY > noteMiddle) { + insertAfterElement = noteEl; + } + }); + + // Position the drop indicator + if (insertAfterElement) { + $(insertAfterElement).after($dropIndicator); + } else { + // Insert at the beginning (after the header) + const $header = $columnEl.find("h3"); + $header.after($dropIndicator); + } + + $dropIndicator.addClass("show"); + } + + private async handleNoteDrop($columnEl: JQuery, column: string) { + const draggedNoteElement = this.draggedNoteElement; + const draggedNote = this.draggedNote; + const draggedBranch = this.draggedBranch; + + if (draggedNote && draggedNoteElement && draggedBranch) { + const currentColumn = draggedNoteElement.attr("data-current-column"); + + // Capture drop indicator position BEFORE removing it + const dropIndicator = $columnEl.find(".board-drop-indicator.show"); + let targetBranchId: string | null = null; + let moveType: "before" | "after" | null = null; + + if (dropIndicator.length > 0) { + // Find the note element that the drop indicator is positioned relative to + const nextNote = dropIndicator.next(".board-note"); + const prevNote = dropIndicator.prev(".board-note"); + + if (nextNote.length > 0) { + targetBranchId = nextNote.attr("data-branch-id") || null; + moveType = "before"; + } else if (prevNote.length > 0) { + targetBranchId = prevNote.attr("data-branch-id") || null; + moveType = "after"; + } + } + + try { + // Handle column change + if (currentColumn !== column) { + await this.api?.changeColumn(draggedNote.noteId, column); + } + + // Handle position change (works for both same column and different column moves) + if (targetBranchId && moveType) { + if (moveType === "before") { + console.log("Move before branch:", draggedBranch.branchId, "to", targetBranchId); + await branchService.moveBeforeBranch([draggedBranch.branchId], targetBranchId); + } else if (moveType === "after") { + console.log("Move after branch:", draggedBranch.branchId, "to", targetBranchId); + await branchService.moveAfterBranch([draggedBranch.branchId], targetBranchId); + } + } + + // Update the data attributes + draggedNoteElement.attr("data-current-column", column); + + // Show success feedback + console.log(`Moved note "${draggedNote.title}" from "${currentColumn}" to "${column}"`); + + // Refresh the board to reflect the changes + await this.renderList(); + } catch (error) { + console.error("Failed to update note position:", error); + } + } + } + private createTitleStructure(title: string): { $titleText: JQuery; $editIcon: JQuery } { const $titleText = $("").text(title); const $editIcon = $("") From eb76362de4141be93ca30aa5965999ad9c7432e3 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 20 Jul 2025 20:55:41 +0300 Subject: [PATCH 039/505] chore(views/board): improve header --- .../src/widgets/view_widgets/board_view/index.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index b3b51344a..d5527dc73 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -46,29 +46,27 @@ const TPL = /*html*/` .board-view-container .board-column h3 { font-size: 1em; margin-bottom: 0.75em; - padding-bottom: 0.5em; + padding: 0.5em 0.5em 0.5em 0.5em; border-bottom: 1px solid var(--main-border-color); cursor: pointer; position: relative; - transition: background-color 0.2s ease; + transition: background-color 0.2s ease, border-radius 0.2s ease; display: flex; align-items: center; justify-content: space-between; + box-sizing: border-box; + background-color: transparent; } .board-view-container .board-column h3:hover { background-color: var(--hover-item-background-color); border-radius: 4px; - padding: 0.25em 0.5em; - margin: -0.25em -0.5em 0.75em -0.5em; } .board-view-container .board-column h3.editing { background-color: var(--main-background-color); border: 1px solid var(--main-text-color); border-radius: 4px; - padding: 0.25em 0.5em; - margin: -0.25em -0.5em 0.75em -0.5em; } .board-view-container .board-column h3 input { @@ -84,7 +82,6 @@ const TPL = /*html*/` .board-view-container .board-column h3 .edit-icon { opacity: 0; - font-size: 0.8em; margin-left: 0.5em; transition: opacity 0.2s ease; color: var(--muted-text-color); From e6eda45c044a4ef0eb07b8a54e7c458b12bf39d4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 02:56:06 +0000 Subject: [PATCH 040/505] chore(deps): update dependency cheerio to v1.1.1 --- apps/server/package.json | 2 +- pnpm-lock.yaml | 48 ++++++++++++++-------------------------- 2 files changed, 18 insertions(+), 32 deletions(-) diff --git a/apps/server/package.json b/apps/server/package.json index ffbe1c1e8..485248620 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -49,7 +49,7 @@ "axios": "1.10.0", "bindings": "1.5.0", "chardet": "2.1.0", - "cheerio": "1.1.0", + "cheerio": "1.1.1", "chokidar": "4.0.3", "cls-hooked": "4.2.2", "compression": "1.8.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7fdff6f47..f2b25d882 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -601,8 +601,8 @@ importers: specifier: 2.1.0 version: 2.1.0 cheerio: - specifier: 1.1.0 - version: 1.1.0 + specifier: 1.1.1 + version: 1.1.1 chokidar: specifier: 4.0.3 version: 4.0.3 @@ -6965,9 +6965,9 @@ packages: resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} engines: {node: '>= 6'} - cheerio@1.1.0: - resolution: {integrity: sha512-+0hMx9eYhJvWbgpKV9hN7jg0JcwydpopZE4hgi+KvQtByZXPp04NiCWU0LzcAbP63abZckIHkTQaXVF52mX3xQ==} - engines: {node: '>=18.17'} + cheerio@1.1.1: + resolution: {integrity: sha512-bTXxVZeOfc3I97S4CSYVjcYvaTp92YOlwEUrVRtYrkuVn7S8/QKnnozVlztPcXlU039S2UxtsjAMyFRbX3V9gQ==} + engines: {node: '>=20.18.1'} chevrotain-allstar@0.3.1: resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} @@ -8211,8 +8211,8 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - encoding-sniffer@0.2.0: - resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} + encoding-sniffer@0.2.1: + resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} @@ -14218,8 +14218,8 @@ packages: resolution: {integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==} engines: {node: '>=18.17'} - undici@7.10.0: - resolution: {integrity: sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==} + undici@7.12.0: + resolution: {integrity: sha512-GrKEsc3ughskmGA9jevVlIOPMiiAHJ4OFUtaAH+NhfTUSiZ1wMPIQqQvAJUrJspFXJt3EBWgpAeoHEDVT1IBug==} engines: {node: '>=20.18.1'} unescape@1.0.1: @@ -16379,8 +16379,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16730,8 +16728,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -16741,8 +16737,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -16752,8 +16746,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -16871,8 +16863,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -16936,8 +16926,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -17264,8 +17252,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -17351,8 +17337,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-special-characters@46.0.0': dependencies: @@ -17464,6 +17448,8 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -23041,18 +23027,18 @@ snapshots: parse5-htmlparser2-tree-adapter: 6.0.1 tslib: 2.8.1 - cheerio@1.1.0: + cheerio@1.1.1: dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 domhandler: 5.0.3 domutils: 3.2.2 - encoding-sniffer: 0.2.0 + encoding-sniffer: 0.2.1 htmlparser2: 10.0.0 parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 7.10.0 + undici: 7.12.0 whatwg-mimetype: 4.0.0 chevrotain-allstar@0.3.1(chevrotain@11.0.3): @@ -24567,7 +24553,7 @@ snapshots: encodeurl@2.0.0: {} - encoding-sniffer@0.2.0: + encoding-sniffer@0.2.1: dependencies: iconv-lite: 0.6.3 whatwg-encoding: 3.1.1 @@ -31964,7 +31950,7 @@ snapshots: undici@6.21.3: {} - undici@7.10.0: {} + undici@7.12.0: {} unescape@1.0.1: dependencies: @@ -32588,7 +32574,7 @@ snapshots: '@wdio/utils': 9.18.0 archiver: 7.0.1 aria-query: 5.3.2 - cheerio: 1.1.0 + cheerio: 1.1.1 css-shorthand-properties: 1.1.2 css-value: 0.0.1 grapheme-splitter: 1.0.4 From c4a85db698bc155d6d57c86d72cfa676a059d87f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 02:57:09 +0000 Subject: [PATCH 041/505] chore(deps): update dependency svelte to v5.36.12 --- pnpm-lock.yaml | 126 +++++++++++++++++++++---------------------------- 1 file changed, 55 insertions(+), 71 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7fdff6f47..0725b38d7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -801,13 +801,13 @@ importers: version: 9.31.0 '@sveltejs/adapter-auto': specifier: ^6.0.0 - version: 6.0.1(@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) + version: 6.0.1(@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@sveltejs/vite-plugin-svelte': specifier: ^6.0.0 - version: 6.1.0(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@tailwindcss/typography': specifier: ^0.5.15 version: 0.5.16(tailwindcss@4.1.11) @@ -819,19 +819,19 @@ importers: version: 9.31.0(jiti@2.4.2) eslint-plugin-svelte: specifier: ^3.0.0 - version: 3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.10)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3)) + version: 3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.12)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3)) globals: specifier: ^16.0.0 version: 16.3.0 mdsvex: specifier: ^0.12.3 - version: 0.12.6(svelte@5.36.10) + version: 0.12.6(svelte@5.36.12) svelte: specifier: ^5.0.0 - version: 5.36.10 + version: 5.36.12 svelte-check: specifier: ^4.0.0 - version: 4.3.0(picomatch@4.0.3)(svelte@5.36.10)(typescript@5.8.3) + version: 4.3.0(picomatch@4.0.3)(svelte@5.36.12)(typescript@5.8.3) tailwindcss: specifier: ^4.0.0 version: 4.1.11 @@ -3458,8 +3458,8 @@ packages: resolution: {integrity: sha512-cvz/C1rF5WBxzHbEoiBoI6Sz6q6M+TdxfWkEGBYTD77opY8i8WN01prUWXEM87GPF4SZcyIySez9U0Ccm12oFQ==} engines: {node: '>=18.0.0'} - '@inquirer/confirm@5.1.13': - resolution: {integrity: sha512-EkCtvp67ICIVVzjsquUiVSd+V5HRGOGQfsqA4E4vMWhYnB7InUL0pa0TIWt1i+OfP16Gkds8CdIu6yGZwOM1Yw==} + '@inquirer/confirm@5.1.14': + resolution: {integrity: sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -3467,8 +3467,8 @@ packages: '@types/node': optional: true - '@inquirer/core@10.1.14': - resolution: {integrity: sha512-Ma+ZpOJPewtIYl6HZHZckeX1STvDnHTCB2GVINNUlSEn2Am6LddWwfPkIGY0IUFVjUUrr/93XlBwTK6mfLjf0A==} + '@inquirer/core@10.1.15': + resolution: {integrity: sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -3476,12 +3476,12 @@ packages: '@types/node': optional: true - '@inquirer/figures@1.0.12': - resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==} + '@inquirer/figures@1.0.13': + resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} engines: {node: '>=18'} - '@inquirer/type@3.0.7': - resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==} + '@inquirer/type@3.0.8': + resolution: {integrity: sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -13760,8 +13760,8 @@ packages: svelte: optional: true - svelte@5.36.10: - resolution: {integrity: sha512-hAjYQweQHM8VH5YEEf2+k9hGyMnd+oVHXoSA/eG607vViRk9qQO1g+Dvr29+yMuYQNScpOzHX3qcnC7LrcTGCQ==} + svelte@5.36.12: + resolution: {integrity: sha512-c3mWT+b0yBLl3gPGSHiy4pdSQCsPNTjLC0tVoOhrGJ6PPfCzD/RQpAmAfJtQZ304CAae2ph+L3C4aqds3R3seQ==} engines: {node: '>=18'} svg-pan-zoom@3.6.2: @@ -16379,8 +16379,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16730,8 +16728,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -16741,8 +16737,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -16752,8 +16746,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -16871,8 +16863,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -16936,8 +16926,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -17264,8 +17252,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -17351,8 +17337,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-special-characters@46.0.0': dependencies: @@ -18674,26 +18658,26 @@ snapshots: transitivePeerDependencies: - babel-plugin-macros - '@inquirer/confirm@5.1.13(@types/node@22.16.5)': + '@inquirer/confirm@5.1.14(@types/node@22.16.5)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.16.5) - '@inquirer/type': 3.0.7(@types/node@22.16.5) + '@inquirer/core': 10.1.15(@types/node@22.16.5) + '@inquirer/type': 3.0.8(@types/node@22.16.5) optionalDependencies: '@types/node': 22.16.5 optional: true - '@inquirer/confirm@5.1.13(@types/node@24.0.14)': + '@inquirer/confirm@5.1.14(@types/node@24.0.14)': dependencies: - '@inquirer/core': 10.1.14(@types/node@24.0.14) - '@inquirer/type': 3.0.7(@types/node@24.0.14) + '@inquirer/core': 10.1.15(@types/node@24.0.14) + '@inquirer/type': 3.0.8(@types/node@24.0.14) optionalDependencies: '@types/node': 24.0.14 optional: true - '@inquirer/core@10.1.14(@types/node@22.16.5)': + '@inquirer/core@10.1.15(@types/node@22.16.5)': dependencies: - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@22.16.5) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@22.16.5) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -18704,10 +18688,10 @@ snapshots: '@types/node': 22.16.5 optional: true - '@inquirer/core@10.1.14(@types/node@24.0.14)': + '@inquirer/core@10.1.15(@types/node@24.0.14)': dependencies: - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@24.0.14) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@24.0.14) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -18718,15 +18702,15 @@ snapshots: '@types/node': 24.0.14 optional: true - '@inquirer/figures@1.0.12': + '@inquirer/figures@1.0.13': optional: true - '@inquirer/type@3.0.7(@types/node@22.16.5)': + '@inquirer/type@3.0.8(@types/node@22.16.5)': optionalDependencies: '@types/node': 22.16.5 optional: true - '@inquirer/type@3.0.7(@types/node@24.0.14)': + '@inquirer/type@3.0.8(@types/node@24.0.14)': optionalDependencies: '@types/node': 24.0.14 optional: true @@ -20758,14 +20742,14 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': + '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': dependencies: - '@sveltejs/kit': 2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/kit': 2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@types/cookie': 0.6.0 acorn: 8.15.0 cookie: 0.6.0 @@ -20777,26 +20761,26 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.7.1 sirv: 3.0.1 - svelte: 5.36.10 + svelte: 5.36.12 vite: 7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) - svelte: 5.36.10 + svelte: 5.36.12 vite: 7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.10)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 - svelte: 5.36.10 + svelte: 5.36.12 vite: 7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vitefu: 1.1.1(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) transitivePeerDependencies: @@ -24853,7 +24837,7 @@ snapshots: eslint: 9.31.0(jiti@2.4.2) globals: 13.24.0 - eslint-plugin-svelte@3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.10)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3)): + eslint-plugin-svelte@3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.12)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3)): dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) '@jridgewell/sourcemap-codec': 1.5.4 @@ -24865,9 +24849,9 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3)) postcss-safe-parser: 7.0.1(postcss@8.5.6) semver: 7.7.2 - svelte-eslint-parser: 1.3.0(svelte@5.36.10) + svelte-eslint-parser: 1.3.0(svelte@5.36.12) optionalDependencies: - svelte: 5.36.10 + svelte: 5.36.12 transitivePeerDependencies: - ts-node @@ -27609,13 +27593,13 @@ snapshots: mdn-data@2.12.2: {} - mdsvex@0.12.6(svelte@5.36.10): + mdsvex@0.12.6(svelte@5.36.12): dependencies: '@types/mdast': 4.0.4 '@types/unist': 2.0.11 prism-svelte: 0.4.7 prismjs: 1.30.0 - svelte: 5.36.10 + svelte: 5.36.12 unist-util-visit: 2.0.3 vfile-message: 2.0.4 @@ -28104,7 +28088,7 @@ snapshots: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.13(@types/node@22.16.5) + '@inquirer/confirm': 5.1.14(@types/node@22.16.5) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -28130,7 +28114,7 @@ snapshots: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.13(@types/node@24.0.14) + '@inquirer/confirm': 5.1.14(@types/node@24.0.14) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -31347,19 +31331,19 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.3.0(picomatch@4.0.3)(svelte@5.36.10)(typescript@5.8.3): + svelte-check@4.3.0(picomatch@4.0.3)(svelte@5.36.12)(typescript@5.8.3): dependencies: '@jridgewell/trace-mapping': 0.3.29 chokidar: 4.0.3 fdir: 6.4.6(picomatch@4.0.3) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.36.10 + svelte: 5.36.12 typescript: 5.8.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.3.0(svelte@5.36.10): + svelte-eslint-parser@1.3.0(svelte@5.36.12): dependencies: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -31368,9 +31352,9 @@ snapshots: postcss-scss: 4.0.9(postcss@8.5.6) postcss-selector-parser: 7.1.0 optionalDependencies: - svelte: 5.36.10 + svelte: 5.36.12 - svelte@5.36.10: + svelte@5.36.12: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.4 From 81c1b88376ff01fb3ac39a76c16082241bd38158 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 02:58:10 +0000 Subject: [PATCH 042/505] chore(deps): update nx monorepo to v21.3.1 --- package.json | 22 +-- pnpm-lock.yaml | 474 ++++++++++++++++++++++--------------------------- 2 files changed, 226 insertions(+), 270 deletions(-) diff --git a/package.json b/package.json index 6231009f8..b28cdae8f 100644 --- a/package.json +++ b/package.json @@ -27,16 +27,16 @@ "private": true, "devDependencies": { "@electron/rebuild": "4.0.1", - "@nx/devkit": "21.3.0", - "@nx/esbuild": "21.3.0", - "@nx/eslint": "21.3.0", - "@nx/eslint-plugin": "21.3.0", - "@nx/express": "21.3.0", - "@nx/js": "21.3.0", - "@nx/node": "21.3.0", - "@nx/playwright": "21.3.0", - "@nx/vite": "21.3.0", - "@nx/web": "21.3.0", + "@nx/devkit": "21.3.1", + "@nx/esbuild": "21.3.1", + "@nx/eslint": "21.3.1", + "@nx/eslint-plugin": "21.3.1", + "@nx/express": "21.3.1", + "@nx/js": "21.3.1", + "@nx/node": "21.3.1", + "@nx/playwright": "21.3.1", + "@nx/vite": "21.3.1", + "@nx/web": "21.3.1", "@playwright/test": "^1.36.0", "@triliumnext/server": "workspace:*", "@types/express": "^5.0.0", @@ -54,7 +54,7 @@ "jiti": "2.4.2", "jsdom": "~26.1.0", "jsonc-eslint-parser": "^2.1.0", - "nx": "21.3.0", + "nx": "21.3.1", "react-refresh": "^0.17.0", "rollup-plugin-webpack-stats": "2.1.0", "tslib": "^2.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7fdff6f47..5902df72e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,35 +38,35 @@ importers: specifier: 4.0.1 version: 4.0.1 '@nx/devkit': - specifier: 21.3.0 - version: 21.3.0(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.1 + version: 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/esbuild': - specifier: 21.3.0 - version: 21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.1 + version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint': - specifier: 21.3.0 - version: 21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.1 + version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint-plugin': - specifier: 21.3.0 - version: 21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.3.1 + version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/express': - specifier: 21.3.0 - version: 21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.3.1 + version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) '@nx/js': - specifier: 21.3.0 - version: 21.3.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.1 + version: 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/node': - specifier: 21.3.0 - version: 21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.3.1 + version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) '@nx/playwright': - specifier: 21.3.0 - version: 21.3.0(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.3.1 + version: 21.3.1(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/vite': - specifier: 21.3.0 - version: 21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) + specifier: 21.3.1 + version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) '@nx/web': - specifier: 21.3.0 - version: 21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.1 + version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@playwright/test': specifier: ^1.36.0 version: 1.54.1 @@ -119,8 +119,8 @@ importers: specifier: ^2.1.0 version: 2.4.0 nx: - specifier: 21.3.0 - version: 21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + specifier: 21.3.1 + version: 21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) react-refresh: specifier: ^0.17.0 version: 0.17.0 @@ -1616,10 +1616,6 @@ packages: resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.26.5': - resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} - engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.27.1': resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} engines: {node: '>=6.9.0'} @@ -1761,12 +1757,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.25.9': - resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.27.1': resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} engines: {node: '>=6.9.0'} @@ -1815,12 +1805,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.25.9': - resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.27.1': resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} engines: {node: '>=6.9.0'} @@ -3896,21 +3880,21 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This functionality has been moved to @npmcli/fs - '@nx/devkit@21.3.0': - resolution: {integrity: sha512-nOr/kY298TAXQcoh/OjG418OVJ2ILYDrXqroFrMwV8zH13BBHby8paHNxNVF9Sr7YK6HpqpZKkGimx8wCD2d7Q==} + '@nx/devkit@21.3.1': + resolution: {integrity: sha512-0FA6uVIJ5tOrUz6kJEeyX6KKPmXBs9kWQbf08yXogEzMimz9cVpoDS8MGmK14e13UwnY68vqXgknHAL+ATs3Zg==} peerDependencies: - nx: 21.3.0 + nx: 21.3.1 - '@nx/esbuild@21.3.0': - resolution: {integrity: sha512-M4t8AjLg8ME0kS7O1dFS9FvgcY7Q6g5aBX/GrPCOuXosIg/AjLMOiwcheab9BJxQJDCQQAtF6OJp/q3narx/5Q==} + '@nx/esbuild@21.3.1': + resolution: {integrity: sha512-HDbGLIE+7PBlguenwYs7qJ1aB7xk13lvP2+Po8GNthF84/BwhBfdbqvbuMBAiln/2EN5BdADoPu90Bff1riEoQ==} peerDependencies: esbuild: '>=0.25.0' peerDependenciesMeta: esbuild: optional: true - '@nx/eslint-plugin@21.3.0': - resolution: {integrity: sha512-X51C/FVzaf7XFLQwTXtH6XzQDHShPcNx5myODq9qyRVAci66jTCX2Bv9N8ZZxy4wWAuTCnQykxAMLrCDFqjmZA==} + '@nx/eslint-plugin@21.3.1': + resolution: {integrity: sha512-E+HZD7jWC3lRrQCDpqSomc1KEk4ZuF/7uuTrhQgdfyvCb1tRoOEPYdrokGRFMfQGZZODcF02K/j7FW8yE00Tsg==} peerDependencies: '@typescript-eslint/parser': ^6.13.2 || ^7.0.0 || ^8.0.0 eslint-config-prettier: ^10.0.0 @@ -3918,8 +3902,8 @@ packages: eslint-config-prettier: optional: true - '@nx/eslint@21.3.0': - resolution: {integrity: sha512-Jx7eqNbuBPQpC7xvtuVDY6kfiiOlkAEOd/Se9+HP3JZZFp2YLczbHyj2mpIMzZvKfUAD3wu1TILeY+t5PA9oow==} + '@nx/eslint@21.3.1': + resolution: {integrity: sha512-Vjb0tk6nd0khljt57RZLTZhH7sUGkefZhkVdM5AVTDYVz4S1U2xuowwBnbIf0VbdTZ9xmxYIoWsPewEmSA5kXQ==} peerDependencies: '@zkochan/js-yaml': 0.0.7 eslint: ^8.0.0 || ^9.0.0 @@ -3927,97 +3911,97 @@ packages: '@zkochan/js-yaml': optional: true - '@nx/express@21.3.0': - resolution: {integrity: sha512-l8hZRexTZWBq0DZg5ib/n6BG/+XKkJyRrRFMBQg1nFkIrYqy/LHtRQcLMBt9a/WTUlLjyLm0x4eFeKaXfMj9WA==} + '@nx/express@21.3.1': + resolution: {integrity: sha512-xR5RZ+r1sp+geZuCYlW23PO8VMvC7YBBLP3VWXulx8kmmZsLCAufv6PMQj6H/FoQdovaZVmOfVWwr3crpQAzJg==} peerDependencies: express: ^4.21.2 peerDependenciesMeta: express: optional: true - '@nx/jest@21.3.0': - resolution: {integrity: sha512-Fi3tNBIY3F47Yb8fbpprbhfd6DdOxnepgUCzkZo1rJNhUDO5YhfYEqY9I5tS679VaBllMQqrJH4Jp1g7A7xw3w==} + '@nx/jest@21.3.1': + resolution: {integrity: sha512-Syizva814bHRAJn6vCUYr5YBS8S6Xb4Rs1/VrfqrvvZvnHhy+oaEF4wSZdRGe0Pm9l99HVpABff6POCBP4MUTA==} - '@nx/js@21.3.0': - resolution: {integrity: sha512-NJ+z5JUl2J/3TUkVPSd6+KsqV+0FN0+nyVFEtoULzUFthMsXmgGv0NB01O18dlRsiZiYCZSPATnWC2/4qkp3GQ==} + '@nx/js@21.3.1': + resolution: {integrity: sha512-zc+3t3NOBWdnqPL94gsYspYhkiKYd3fflvDNdiOpf3XKhXZCE89YsbcZGoxDnW0A0bKAk4Z7wwh9txnG4A2jZA==} peerDependencies: verdaccio: ^6.0.5 peerDependenciesMeta: verdaccio: optional: true - '@nx/node@21.3.0': - resolution: {integrity: sha512-iedd1JUpPzYdoWofeEyY6YDpHzKOe77dPYmHVfqedNfNEFMNDsLzqUg+PAI7RrL5E6DcTT9tExHgejVzY2yYaQ==} + '@nx/node@21.3.1': + resolution: {integrity: sha512-5R1CclWqo6rGk6iZV8wvmcVNAupgm9HvhSV1OB3/FuxBLKEvR4wNHKXv6CRqsy7of5uwgBS3Zbb2cW2UbWdspQ==} - '@nx/nx-darwin-arm64@21.3.0': - resolution: {integrity: sha512-S+Ewxly1/vKjqAfW0j6shiJVZou9pYkj0m5vFPHjkNDFAc0b0SDwIjP6HS5pzeWVOA/LAL8L/rWsnt6zl7ENtg==} + '@nx/nx-darwin-arm64@21.3.1': + resolution: {integrity: sha512-DND5/CRN1rP7qMt4xkDjklzf3OoA3JcweN+47xZCfiQlu/VobvnS04OC6tLZc+Nymi73whk4lserpUG9biQjCA==} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@21.3.0': - resolution: {integrity: sha512-GaqHbx4xAw2JFhM21PxFfQuxhveKFVmiMnzMMVXvVh0f8abWOzpldIFXGBK4nTh6A0pNbnBZsw0e4fMGeEhKAQ==} + '@nx/nx-darwin-x64@21.3.1': + resolution: {integrity: sha512-iFR/abYakCwrFFIfb6gRXN6/gytle/8jj2jwEol0EFrkBIrBi/YrSyuRpsbnxuDB7MhuZ9zwvxlkE6mEJt9UoQ==} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@21.3.0': - resolution: {integrity: sha512-S3vBZG8OqLogMO4kg4oC3Crcwum/EdkEblCcDr+ehd9ZMo9xpjElw5UmQn9uslcBvQAmyfXHxhfyU98U6fE//Q==} + '@nx/nx-freebsd-x64@21.3.1': + resolution: {integrity: sha512-e/cx0cR8sLBX3b2JRLqwXj8z4ENhgDwJ5CF7hbcNRkMncKz1J2MZSsqHQHKUfls+HT4Mmmzwyf86laj879cs7Q==} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@21.3.0': - resolution: {integrity: sha512-qxrcJU8qGV3IBAMmup+SaRU8mhZMnaRCc6R634CbFEOfN8a0I0GtwWdbKzL5o8A/+pBHkaKYaBIu0k33Bc770Q==} + '@nx/nx-linux-arm-gnueabihf@21.3.1': + resolution: {integrity: sha512-JvDfLVZhxzKfetcA1r5Ak+re5Qfks6JdgQD165wMysgAyZDdeM1GFn78xo5CqRPShlE8f/nhF4aX405OL6HYPw==} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@21.3.0': - resolution: {integrity: sha512-XOT4XglrlZzJ2rHkhEAA1A2iKch+WKyu0H77WnbYC7bk0+2V88rTU5A/BIaZ0yrw5UY/QsppFstGq0vohV5XqQ==} + '@nx/nx-linux-arm64-gnu@21.3.1': + resolution: {integrity: sha512-J+LkCHzFCgZw4ZMgIuahprjaabWTDmsqJdsYLPFm/pw7TR6AyidXzUEZPfEgBK5WTO1PQr1LJp+Ps8twpf+iBg==} cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@21.3.0': - resolution: {integrity: sha512-NJID/IApsncHOstImib3M9juIQpcTXBXbGSEcQk3Sp9bF0u+q+oQ2Ba6aC+7/orYTzsijoCwXmWnit3nSusHiw==} + '@nx/nx-linux-arm64-musl@21.3.1': + resolution: {integrity: sha512-VCiwPf4pj6WZWmPl30UpcKyp8DWb7Axs0pvU0/dsJz6Ye7bhKnsEZ/Ehp4laVZkck+MVEMFMHavikUdgNzWx3g==} cpu: [arm64] os: [linux] - '@nx/nx-linux-x64-gnu@21.3.0': - resolution: {integrity: sha512-hmAyd3hUlv/pJnJ9y0igQR3A8ga7mZjf62MyI5yuHhQXVXAS4BsEppKUzHRpV4CqM0PFKfCpfjFaf+LoxYklQQ==} + '@nx/nx-linux-x64-gnu@21.3.1': + resolution: {integrity: sha512-Erxxqir8zZDgfrTgOOeaByn22e8vbOTxWNif5i0brH2tQpdr6+2f3v1qNrRlP9CWjqwypPDmkU781U38u+qHHg==} cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@21.3.0': - resolution: {integrity: sha512-5D1/+o3AmZo/By/ZzdzYMDbaqWo4pbl7Tap3CnaUW/t4Ncfh4FNxohkNEmK2zGEMRFgUjkYAcuDxUaMx+CTNnw==} + '@nx/nx-linux-x64-musl@21.3.1': + resolution: {integrity: sha512-dG5djRnC3zzOjEzOAzVX8u1sZSn0TSmvVUKKH+WorxI8QKpxHVHbzpvvyLXpiAbtSk0reIPC1c9iRw+MR0GAvw==} cpu: [x64] os: [linux] - '@nx/nx-win32-arm64-msvc@21.3.0': - resolution: {integrity: sha512-AyMhWfM66E1IBNgps4Q1EU78qWLfQ6dvGrSHYT1+c7p2vPxHO1Q/BtoUEea/lbfi7EuH9DPPAKNYO6EKmb4kNQ==} + '@nx/nx-win32-arm64-msvc@21.3.1': + resolution: {integrity: sha512-mkV6HERTtP2uY6aq0AhxbkL6KSsvomobPOypdEdrnfUsc2Rvd+U/pWl/flZHFkk8V6aXzEG56lWCZqXVyGUD1Q==} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@21.3.0': - resolution: {integrity: sha512-Ae/7HVL0FXp7j22WHrptGQxZt6lwxc+/jSCku8YKvpQBmm0brszfc0H9JiRaApAjzlTIVIvu9S5VEkUZb/fofw==} + '@nx/nx-win32-x64-msvc@21.3.1': + resolution: {integrity: sha512-9cQZDiLT9bD1ixZ+WwNHVPRrxuszGHc30xzLzVgQ2l/IwOHJX6oRxMZa1IfgUYv846K0TSKWis+S41tcxUy80Q==} cpu: [x64] os: [win32] - '@nx/playwright@21.3.0': - resolution: {integrity: sha512-upVsRl3GeFTlmzwOgZqquEOBrZ+s2iRTXqyHuxdGsRZt2/pgghxilIGEvV6egMtwkHPveGk+MEFv03/WnO4MVg==} + '@nx/playwright@21.3.1': + resolution: {integrity: sha512-ofrCuISGarsjAudXIdJrWRT7MXPkM22HcJIbE0kiBdY7Ts0BgUp2u7t06kCj7+5WPyJz+htmFdz3YlI/54bRfw==} peerDependencies: '@playwright/test': ^1.36.0 peerDependenciesMeta: '@playwright/test': optional: true - '@nx/vite@21.3.0': - resolution: {integrity: sha512-Euedt4pqo8Swviv/NPiRw1NvxY+BecUF8mcgR2tp6AETWyPZLVowy1OJiWqj5cSOuVctb9kWEvMiO6XGNd97Lg==} + '@nx/vite@21.3.1': + resolution: {integrity: sha512-Nv2WvKzpp+DnU2yyQVd3FK+rVAewinngRVBAcoOKyERzpGk1xtt36N7e3mqBNArFAVrHwJ/TtMbVenioJU0L2A==} peerDependencies: vite: ^5.0.0 || ^6.0.0 vitest: ^1.3.1 || ^2.0.0 || ^3.0.0 - '@nx/web@21.3.0': - resolution: {integrity: sha512-rVHMN2EkgZDtFFknw3sUdPJ/JP617627tOxrB6SZjdMd7USr9K5GvF8bY1dELCyt8zL4rYn7xsvVPEOmq4oOOQ==} + '@nx/web@21.3.1': + resolution: {integrity: sha512-z1BqpHPHf1PQXy5Npr3vpdJIUZqfq5VXdSIanAXaLJNPgP18AfVap2ozlHcQytLQErNVKHK1JTzUuHJFipSl4A==} - '@nx/workspace@21.3.0': - resolution: {integrity: sha512-vVVGgWWL5ccP57mBSFS0HFuaKy26oR5ckUqXHrZ1a4biHaaoixolUHFTCwWOJKbe4yUNwxK5XLqeU2rIOIkQOg==} + '@nx/workspace@21.3.1': + resolution: {integrity: sha512-MiS0x/Wl4vv+4oFWvsZLFsRR9E3tDh002ZeGjvGJbiZw8eUAMfX1mYhU7URxHSr8yoW1qCAKEvgAjGTLRz9Kkw==} '@open-draft/deferred-promise@2.2.0': resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} @@ -11100,8 +11084,8 @@ packages: nwsapi@2.2.20: resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} - nx@21.3.0: - resolution: {integrity: sha512-dMmnxVb3KJNHr+rs+G/EbduPgguJ7fmDwByKNS9/X4F42jzQ2IUgQpcH5auzaafm5V4M28l7jcFLzD/AP+IwtA==} + nx@21.3.1: + resolution: {integrity: sha512-lOMDktM4CUcVa/yUmiAXGNxbNo6SC0T8/alRml1sgaOG1QHUpH6XyA1/nR4M3DNjlmON4wD06pZQUDKFb8kd8w==} hasBin: true peerDependencies: '@swc-node/register': ^1.8.0 @@ -15585,7 +15569,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 debug: 4.4.1(supports-color@6.0.0) lodash.debounce: 4.0.8 resolve: 1.22.10 @@ -15621,8 +15605,6 @@ snapshots: dependencies: '@babel/types': 7.28.0 - '@babel/helper-plugin-utils@7.26.5': {} - '@babel/helper-plugin-utils@7.27.1': {} '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.28.0)': @@ -15680,7 +15662,7 @@ snapshots: '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.28.0 transitivePeerDependencies: - supports-color @@ -15688,17 +15670,17 @@ snapshots: '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.28.0) transitivePeerDependencies: @@ -15707,7 +15689,7 @@ snapshots: '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.28.0 transitivePeerDependencies: - supports-color @@ -15716,7 +15698,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.28.0) transitivePeerDependencies: - supports-color @@ -15728,52 +15710,47 @@ snapshots: '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.0)': dependencies: @@ -15783,47 +15760,42 @@ snapshots: '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.0)': dependencies: @@ -15834,17 +15806,17 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-async-generator-functions@7.26.8(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.28.0) '@babel/traverse': 7.28.0 transitivePeerDependencies: @@ -15854,7 +15826,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.28.0) transitivePeerDependencies: - supports-color @@ -15862,18 +15834,18 @@ snapshots: '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-block-scoping@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -15881,7 +15853,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -15890,7 +15862,7 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-replace-supers': 7.26.5(@babel/core@7.28.0) '@babel/traverse': 7.28.0 globals: 11.12.0 @@ -15900,50 +15872,50 @@ snapshots: '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/template': 7.27.2 '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-for-of@7.26.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color @@ -15952,7 +15924,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.28.0 transitivePeerDependencies: - supports-color @@ -15960,28 +15932,28 @@ snapshots: '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-literals@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -15989,7 +15961,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -15997,7 +15969,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 '@babel/traverse': 7.28.0 transitivePeerDependencies: @@ -16007,7 +15979,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -16015,34 +15987,34 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.28.0) '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-replace-supers': 7.26.5(@babel/core@7.28.0) transitivePeerDependencies: - supports-color @@ -16050,12 +16022,12 @@ snapshots: '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color @@ -16063,13 +16035,13 @@ snapshots: '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -16078,37 +16050,37 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-regenerator@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 regenerator-transform: 0.15.2 '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-runtime@7.26.10(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 babel-plugin-polyfill-corejs2: 0.4.13(@babel/core@7.28.0) babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.28.0) babel-plugin-polyfill-regenerator: 0.6.4(@babel/core@7.28.0) @@ -16119,12 +16091,12 @@ snapshots: '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-spread@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color @@ -16132,58 +16104,58 @@ snapshots: '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-template-literals@7.26.8(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-typeof-symbol@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-typescript@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.28.0) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) transitivePeerDependencies: - supports-color '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/preset-env@7.26.9(@babel/core@7.28.0)': dependencies: '@babel/compat-data': 7.28.0 '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.28.0) '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.28.0) @@ -16256,16 +16228,16 @@ snapshots: '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/types': 7.28.0 esutils: 2.0.3 '@babel/preset-typescript@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.28.0) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.28.0) '@babel/plugin-transform-typescript': 7.27.0(@babel/core@7.28.0) transitivePeerDependencies: @@ -16379,8 +16351,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16730,8 +16700,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -16741,8 +16709,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -16752,8 +16718,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -16871,8 +16835,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -16936,8 +16898,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -17264,8 +17224,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -17351,8 +17309,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-special-characters@46.0.0': dependencies: @@ -19380,22 +19336,22 @@ snapshots: mkdirp: 1.0.4 rimraf: 3.0.2 - '@nx/devkit@21.3.0(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/devkit@21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 minimatch: 9.0.3 - nx: 21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) semver: 7.7.2 tmp: 0.2.3 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/esbuild@21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/esbuild@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.0(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) picocolors: 1.1.1 tinyglobby: 0.2.14 tsconfig-paths: 4.2.0 @@ -19411,10 +19367,10 @@ snapshots: - supports-color - verdaccio - '@nx/eslint-plugin@21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/eslint-plugin@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.0(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/type-utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) @@ -19438,10 +19394,10 @@ snapshots: - typescript - verdaccio - '@nx/eslint@21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/eslint@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.0(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) eslint: 9.31.0(jiti@2.4.2) semver: 7.7.2 tslib: 2.8.1 @@ -19457,11 +19413,11 @@ snapshots: - supports-color - verdaccio - '@nx/express@21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/express@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.0(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/node': 21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/node': 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) tslib: 2.8.1 optionalDependencies: express: 4.21.2 @@ -19482,12 +19438,12 @@ snapshots: - typescript - verdaccio - '@nx/jest@21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/jest@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@jest/reporters': 30.0.4 '@jest/test-result': 30.0.4 - '@nx/devkit': 21.3.0(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) identity-obj-proxy: 3.0.0 jest-config: 30.0.4(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3)) @@ -19514,7 +19470,7 @@ snapshots: - typescript - verdaccio - '@nx/js@21.3.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/js@21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.28.0) @@ -19523,8 +19479,8 @@ snapshots: '@babel/preset-env': 7.26.9(@babel/core@7.28.0) '@babel/preset-typescript': 7.27.0(@babel/core@7.28.0) '@babel/runtime': 7.27.6 - '@nx/devkit': 21.3.0(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/workspace': 21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/workspace': 21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) '@zkochan/js-yaml': 0.0.7 babel-plugin-const-enum: 1.2.0(@babel/core@7.28.0) babel-plugin-macros: 3.1.0 @@ -19553,12 +19509,12 @@ snapshots: - nx - supports-color - '@nx/node@21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/node@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.0(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/jest': 21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) - '@nx/js': 21.3.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/jest': 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) kill-port: 1.6.1 tcp-port-used: 1.0.2 tslib: 2.8.1 @@ -19579,41 +19535,41 @@ snapshots: - typescript - verdaccio - '@nx/nx-darwin-arm64@21.3.0': + '@nx/nx-darwin-arm64@21.3.1': optional: true - '@nx/nx-darwin-x64@21.3.0': + '@nx/nx-darwin-x64@21.3.1': optional: true - '@nx/nx-freebsd-x64@21.3.0': + '@nx/nx-freebsd-x64@21.3.1': optional: true - '@nx/nx-linux-arm-gnueabihf@21.3.0': + '@nx/nx-linux-arm-gnueabihf@21.3.1': optional: true - '@nx/nx-linux-arm64-gnu@21.3.0': + '@nx/nx-linux-arm64-gnu@21.3.1': optional: true - '@nx/nx-linux-arm64-musl@21.3.0': + '@nx/nx-linux-arm64-musl@21.3.1': optional: true - '@nx/nx-linux-x64-gnu@21.3.0': + '@nx/nx-linux-x64-gnu@21.3.1': optional: true - '@nx/nx-linux-x64-musl@21.3.0': + '@nx/nx-linux-x64-musl@21.3.1': optional: true - '@nx/nx-win32-arm64-msvc@21.3.0': + '@nx/nx-win32-arm64-msvc@21.3.1': optional: true - '@nx/nx-win32-x64-msvc@21.3.0': + '@nx/nx-win32-x64-msvc@21.3.1': optional: true - '@nx/playwright@21.3.0(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/playwright@21.3.1(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.0(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) minimatch: 9.0.3 tslib: 2.8.1 @@ -19631,10 +19587,10 @@ snapshots: - typescript - verdaccio - '@nx/vite@21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': + '@nx/vite@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': dependencies: - '@nx/devkit': 21.3.0(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) '@swc/helpers': 0.5.17 ajv: 8.17.1 @@ -19654,10 +19610,10 @@ snapshots: - typescript - verdaccio - '@nx/web@21.3.0(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/web@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.0(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.0(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) detect-port: 1.6.1 http-server: 14.1.1 picocolors: 1.1.1 @@ -19671,13 +19627,13 @@ snapshots: - supports-color - verdaccio - '@nx/workspace@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': + '@nx/workspace@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': dependencies: - '@nx/devkit': 21.3.0(nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@zkochan/js-yaml': 0.0.7 chalk: 4.1.2 enquirer: 2.3.6 - nx: 21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) picomatch: 4.0.2 tslib: 2.8.1 yargs-parser: 21.1.1 @@ -22554,15 +22510,15 @@ snapshots: babel-plugin-const-enum@1.2.0(@babel/core@7.28.0): dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) '@babel/traverse': 7.28.0 transitivePeerDependencies: - supports-color babel-plugin-istanbul@7.0.0: dependencies: - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 6.0.3 @@ -22609,7 +22565,7 @@ snapshots: babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.28.0)(@babel/traverse@7.28.0): dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 optionalDependencies: '@babel/traverse': 7.28.0 @@ -28353,7 +28309,7 @@ snapshots: nwsapi@2.2.20: {} - nx@21.3.0(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): + nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 @@ -28391,16 +28347,16 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 21.3.0 - '@nx/nx-darwin-x64': 21.3.0 - '@nx/nx-freebsd-x64': 21.3.0 - '@nx/nx-linux-arm-gnueabihf': 21.3.0 - '@nx/nx-linux-arm64-gnu': 21.3.0 - '@nx/nx-linux-arm64-musl': 21.3.0 - '@nx/nx-linux-x64-gnu': 21.3.0 - '@nx/nx-linux-x64-musl': 21.3.0 - '@nx/nx-win32-arm64-msvc': 21.3.0 - '@nx/nx-win32-x64-msvc': 21.3.0 + '@nx/nx-darwin-arm64': 21.3.1 + '@nx/nx-darwin-x64': 21.3.1 + '@nx/nx-freebsd-x64': 21.3.1 + '@nx/nx-linux-arm-gnueabihf': 21.3.1 + '@nx/nx-linux-arm64-gnu': 21.3.1 + '@nx/nx-linux-arm64-musl': 21.3.1 + '@nx/nx-linux-x64-gnu': 21.3.1 + '@nx/nx-linux-x64-musl': 21.3.1 + '@nx/nx-win32-arm64-msvc': 21.3.1 + '@nx/nx-win32-x64-msvc': 21.3.1 '@swc-node/register': 1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3) '@swc/core': 1.11.29(@swc/helpers@0.5.17) transitivePeerDependencies: From 482b592f77396be4a08d211f5803cf25014e1144 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 10:55:01 +0300 Subject: [PATCH 043/505] feat(views/board): add drag preview when using touch --- .../widgets/view_widgets/board_view/index.ts | 53 ++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index d5527dc73..b62f21794 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -192,6 +192,22 @@ const TPL = /*html*/` margin-right: 0.5em; font-size: 1.2em; } + + .board-drag-preview { + position: fixed; + z-index: 10000; + pointer-events: none; + opacity: 0.8; + transform: rotate(5deg); + box-shadow: 4px 8px 16px rgba(0, 0, 0, 0.5); + background-color: var(--main-background-color); + border: 1px solid var(--main-border-color); + border-radius: 5px; + padding: 0.5em; + font-size: 0.9em; + max-width: 200px; + word-wrap: break-word; + }
@@ -361,12 +377,14 @@ export default class BoardView extends ViewMode { let startY = 0; let startX = 0; let dragThreshold = 10; // Minimum distance to start dragging + let $dragPreview: JQuery | null = null; $noteEl.on("touchstart", (e) => { const touch = (e.originalEvent as TouchEvent).touches[0]; startX = touch.clientX; startY = touch.clientY; isDragging = false; + $dragPreview = null; }); $noteEl.on("touchmove", (e) => { @@ -382,9 +400,18 @@ export default class BoardView extends ViewMode { this.draggedBranch = branch; this.draggedNoteElement = $noteEl; $noteEl.addClass("dragging"); + + // Create drag preview + $dragPreview = this.createDragPreview($noteEl, touch.clientX, touch.clientY); } - if (isDragging) { + if (isDragging && $dragPreview) { + // Update drag preview position + $dragPreview.css({ + left: touch.clientX - ($dragPreview.outerWidth() || 0) / 2, + top: touch.clientY - ($dragPreview.outerHeight() || 0) / 2 + }); + // Find element under touch point const elementBelow = document.elementFromPoint(touch.clientX, touch.clientY); if (elementBelow) { @@ -428,6 +455,12 @@ export default class BoardView extends ViewMode { this.draggedNoteElement = null; this.$container.find('.board-column').removeClass('drag-over'); this.$container.find(".board-drop-indicator").removeClass("show"); + + // Remove drag preview + if ($dragPreview) { + $dragPreview.remove(); + $dragPreview = null; + } } isDragging = false; }); @@ -602,6 +635,24 @@ export default class BoardView extends ViewMode { $dropIndicator.addClass("show"); } + private createDragPreview($noteEl: JQuery, x: number, y: number): JQuery { + // Clone the note element for the preview + const $preview = $noteEl.clone(); + + $preview + .addClass('board-drag-preview') + .css({ + position: 'fixed', + left: x - ($noteEl.outerWidth() || 0) / 2, + top: y - ($noteEl.outerHeight() || 0) / 2, + pointerEvents: 'none', + zIndex: 10000 + }) + .appendTo('body'); + + return $preview; + } + private async handleNoteDrop($columnEl: JQuery, column: string) { const draggedNoteElement = this.draggedNoteElement; const draggedNote = this.draggedNote; From 4826898c553eb87e020f341395b25ee537be1fa9 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 11:01:42 +0300 Subject: [PATCH 044/505] refactor(views/board): move drag logic to separate file --- .../view_widgets/board_view/drag_handler.ts | 318 ++++++++++++++ .../widgets/view_widgets/board_view/index.ts | 390 +----------------- 2 files changed, 335 insertions(+), 373 deletions(-) create mode 100644 apps/client/src/widgets/view_widgets/board_view/drag_handler.ts diff --git a/apps/client/src/widgets/view_widgets/board_view/drag_handler.ts b/apps/client/src/widgets/view_widgets/board_view/drag_handler.ts new file mode 100644 index 000000000..a11970491 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/board_view/drag_handler.ts @@ -0,0 +1,318 @@ +import branchService from "../../../services/branches"; +import BoardApi from "./api"; + +export interface DragContext { + draggedNote: any; + draggedBranch: any; + draggedNoteElement: JQuery | null; +} + +export class BoardDragHandler { + private $container: JQuery; + private api: BoardApi; + private context: DragContext; + private onBoardRefresh: () => Promise; + + constructor( + $container: JQuery, + api: BoardApi, + context: DragContext, + onBoardRefresh: () => Promise + ) { + this.$container = $container; + this.api = api; + this.context = context; + this.onBoardRefresh = onBoardRefresh; + } + + setupNoteDrag($noteEl: JQuery, note: any, branch: any) { + $noteEl.attr("draggable", "true"); + + // Mouse drag events + this.setupMouseDrag($noteEl, note, branch); + + // Touch drag events + this.setupTouchDrag($noteEl, note, branch); + } + + private setupMouseDrag($noteEl: JQuery, note: any, branch: any) { + $noteEl.on("dragstart", (e) => { + this.context.draggedNote = note; + this.context.draggedBranch = branch; + this.context.draggedNoteElement = $noteEl; + $noteEl.addClass("dragging"); + + // Set drag data + const originalEvent = e.originalEvent as DragEvent; + if (originalEvent.dataTransfer) { + originalEvent.dataTransfer.effectAllowed = "move"; + originalEvent.dataTransfer.setData("text/plain", note.noteId); + } + }); + + $noteEl.on("dragend", () => { + $noteEl.removeClass("dragging"); + this.context.draggedNote = null; + this.context.draggedBranch = null; + this.context.draggedNoteElement = null; + + // Remove all drop indicators + this.$container.find(".board-drop-indicator").removeClass("show"); + }); + } + + private setupTouchDrag($noteEl: JQuery, note: any, branch: any) { + let isDragging = false; + let startY = 0; + let startX = 0; + let dragThreshold = 10; // Minimum distance to start dragging + let $dragPreview: JQuery | null = null; + + $noteEl.on("touchstart", (e) => { + const touch = (e.originalEvent as TouchEvent).touches[0]; + startX = touch.clientX; + startY = touch.clientY; + isDragging = false; + $dragPreview = null; + }); + + $noteEl.on("touchmove", (e) => { + e.preventDefault(); // Prevent scrolling + const touch = (e.originalEvent as TouchEvent).touches[0]; + const deltaX = Math.abs(touch.clientX - startX); + const deltaY = Math.abs(touch.clientY - startY); + + // Start dragging if we've moved beyond threshold + if (!isDragging && (deltaX > dragThreshold || deltaY > dragThreshold)) { + isDragging = true; + this.context.draggedNote = note; + this.context.draggedBranch = branch; + this.context.draggedNoteElement = $noteEl; + $noteEl.addClass("dragging"); + + // Create drag preview + $dragPreview = this.createDragPreview($noteEl, touch.clientX, touch.clientY); + } + + if (isDragging && $dragPreview) { + // Update drag preview position + $dragPreview.css({ + left: touch.clientX - ($dragPreview.outerWidth() || 0) / 2, + top: touch.clientY - ($dragPreview.outerHeight() || 0) / 2 + }); + + // Find element under touch point + const elementBelow = document.elementFromPoint(touch.clientX, touch.clientY); + if (elementBelow) { + const $columnEl = $(elementBelow).closest('.board-column'); + + if ($columnEl.length > 0) { + // Remove drag-over from all columns + this.$container.find('.board-column').removeClass('drag-over'); + $columnEl.addClass('drag-over'); + + // Show drop indicator + this.showDropIndicatorAtPoint($columnEl, touch.clientY); + } else { + // Remove all drag indicators if not over a column + this.$container.find('.board-column').removeClass('drag-over'); + this.$container.find(".board-drop-indicator").removeClass("show"); + } + } + } + }); + + $noteEl.on("touchend", async (e) => { + if (isDragging) { + const touch = (e.originalEvent as TouchEvent).changedTouches[0]; + const elementBelow = document.elementFromPoint(touch.clientX, touch.clientY); + if (elementBelow) { + const $columnEl = $(elementBelow).closest('.board-column'); + + if ($columnEl.length > 0) { + const column = $columnEl.attr('data-column'); + if (column && this.context.draggedNote && this.context.draggedNoteElement && this.context.draggedBranch) { + await this.handleNoteDrop($columnEl, column); + } + } + } + + // Clean up + $noteEl.removeClass("dragging"); + this.context.draggedNote = null; + this.context.draggedBranch = null; + this.context.draggedNoteElement = null; + this.$container.find('.board-column').removeClass('drag-over'); + this.$container.find(".board-drop-indicator").removeClass("show"); + + // Remove drag preview + if ($dragPreview) { + $dragPreview.remove(); + $dragPreview = null; + } + } + isDragging = false; + }); + } + + setupColumnDropZone($columnEl: JQuery, column: string) { + $columnEl.on("dragover", (e) => { + e.preventDefault(); + const originalEvent = e.originalEvent as DragEvent; + if (originalEvent.dataTransfer) { + originalEvent.dataTransfer.dropEffect = "move"; + } + + if (this.context.draggedNote) { + $columnEl.addClass("drag-over"); + this.showDropIndicator($columnEl, e); + } + }); + + $columnEl.on("dragleave", (e) => { + // Only remove drag-over if we're leaving the column entirely + const rect = $columnEl[0].getBoundingClientRect(); + const originalEvent = e.originalEvent as DragEvent; + const x = originalEvent.clientX; + const y = originalEvent.clientY; + + if (x < rect.left || x > rect.right || y < rect.top || y > rect.bottom) { + $columnEl.removeClass("drag-over"); + $columnEl.find(".board-drop-indicator").removeClass("show"); + } + }); + + $columnEl.on("drop", async (e) => { + e.preventDefault(); + $columnEl.removeClass("drag-over"); + + if (this.context.draggedNote && this.context.draggedNoteElement && this.context.draggedBranch) { + await this.handleNoteDrop($columnEl, column); + } + }); + } + + private createDragPreview($noteEl: JQuery, x: number, y: number): JQuery { + // Clone the note element for the preview + const $preview = $noteEl.clone(); + + $preview + .addClass('board-drag-preview') + .css({ + position: 'fixed', + left: x - ($noteEl.outerWidth() || 0) / 2, + top: y - ($noteEl.outerHeight() || 0) / 2, + pointerEvents: 'none', + zIndex: 10000 + }) + .appendTo('body'); + + return $preview; + } + + private showDropIndicator($columnEl: JQuery, e: JQuery.DragOverEvent) { + const originalEvent = e.originalEvent as DragEvent; + const mouseY = originalEvent.clientY; + this.showDropIndicatorAtY($columnEl, mouseY); + } + + private showDropIndicatorAtPoint($columnEl: JQuery, touchY: number) { + this.showDropIndicatorAtY($columnEl, touchY); + } + + private showDropIndicatorAtY($columnEl: JQuery, y: number) { + const columnRect = $columnEl[0].getBoundingClientRect(); + const relativeY = y - columnRect.top; + + // Find existing drop indicator or create one + let $dropIndicator = $columnEl.find(".board-drop-indicator"); + if ($dropIndicator.length === 0) { + $dropIndicator = $("
").addClass("board-drop-indicator"); + $columnEl.append($dropIndicator); + } + + // Find the best position to insert the note + const $notes = this.context.draggedNoteElement ? + $columnEl.find(".board-note").not(this.context.draggedNoteElement) : + $columnEl.find(".board-note"); + let insertAfterElement: HTMLElement | null = null; + + $notes.each((_, noteEl) => { + const noteRect = noteEl.getBoundingClientRect(); + const noteMiddle = noteRect.top + noteRect.height / 2 - columnRect.top; + + if (relativeY > noteMiddle) { + insertAfterElement = noteEl; + } + }); + + // Position the drop indicator + if (insertAfterElement) { + $(insertAfterElement).after($dropIndicator); + } else { + // Insert at the beginning (after the header) + const $header = $columnEl.find("h3"); + $header.after($dropIndicator); + } + + $dropIndicator.addClass("show"); + } + + private async handleNoteDrop($columnEl: JQuery, column: string) { + const draggedNoteElement = this.context.draggedNoteElement; + const draggedNote = this.context.draggedNote; + const draggedBranch = this.context.draggedBranch; + + if (draggedNote && draggedNoteElement && draggedBranch) { + const currentColumn = draggedNoteElement.attr("data-current-column"); + + // Capture drop indicator position BEFORE removing it + const dropIndicator = $columnEl.find(".board-drop-indicator.show"); + let targetBranchId: string | null = null; + let moveType: "before" | "after" | null = null; + + if (dropIndicator.length > 0) { + // Find the note element that the drop indicator is positioned relative to + const nextNote = dropIndicator.next(".board-note"); + const prevNote = dropIndicator.prev(".board-note"); + + if (nextNote.length > 0) { + targetBranchId = nextNote.attr("data-branch-id") || null; + moveType = "before"; + } else if (prevNote.length > 0) { + targetBranchId = prevNote.attr("data-branch-id") || null; + moveType = "after"; + } + } + + try { + // Handle column change + if (currentColumn !== column) { + await this.api.changeColumn(draggedNote.noteId, column); + } + + // Handle position change (works for both same column and different column moves) + if (targetBranchId && moveType) { + if (moveType === "before") { + console.log("Move before branch:", draggedBranch.branchId, "to", targetBranchId); + await branchService.moveBeforeBranch([draggedBranch.branchId], targetBranchId); + } else if (moveType === "after") { + console.log("Move after branch:", draggedBranch.branchId, "to", targetBranchId); + await branchService.moveAfterBranch([draggedBranch.branchId], targetBranchId); + } + } + + // Update the data attributes + draggedNoteElement.attr("data-current-column", column); + + // Show success feedback + console.log(`Moved note "${draggedNote.title}" from "${currentColumn}" to "${column}"`); + + // Refresh the board to reflect the changes + await this.onBoardRefresh(); + } catch (error) { + console.error("Failed to update note position:", error); + } + } + } +} diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index b62f21794..23af7a8ee 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -1,13 +1,13 @@ import { setupHorizontalScrollViaWheel } from "../../widget_utils"; import ViewMode, { ViewModeArgs } from "../view_mode"; import attributeService from "../../../services/attributes"; -import branchService from "../../../services/branches"; import noteCreateService from "../../../services/note_create"; import appContext, { EventData } from "../../../components/app_context"; import { BoardData } from "./config"; import SpacedUpdate from "../../../services/spaced_update"; import { setupContextMenu } from "./context_menu"; import BoardApi from "./api"; +import { BoardDragHandler, DragContext } from "./drag_handler"; const TPL = /*html*/`
@@ -219,11 +219,10 @@ export default class BoardView extends ViewMode { private $root: JQuery; private $container: JQuery; private spacedUpdate: SpacedUpdate; - private draggedNote: any = null; - private draggedBranch: any = null; - private draggedNoteElement: JQuery | null = null; + private dragContext: DragContext; private persistentData: BoardData; private api?: BoardApi; + private dragHandler?: BoardDragHandler; constructor(args: ViewModeArgs) { super(args, "board"); @@ -235,6 +234,11 @@ export default class BoardView extends ViewMode { this.persistentData = { columns: [] }; + this.dragContext = { + draggedNote: null, + draggedBranch: null, + draggedNoteElement: null + }; args.$parent.append(this.$root); } @@ -248,6 +252,13 @@ export default class BoardView extends ViewMode { private async renderBoard(el: HTMLElement) { this.api = await BoardApi.build(this.parentNote, this.viewStorage); + this.dragHandler = new BoardDragHandler( + this.$container, + this.api, + this.dragContext, + async () => { await this.renderList(); } + ); + setupContextMenu({ $container: this.$container, api: this.api @@ -287,7 +298,7 @@ export default class BoardView extends ViewMode { }); // Setup drop zone for the column - this.setupColumnDropZone($columnEl, column); + this.dragHandler!.setupColumnDropZone($columnEl, column); for (const item of columnItems) { const note = item.note; @@ -311,7 +322,7 @@ export default class BoardView extends ViewMode { $noteEl.on("click", () => appContext.triggerCommand("openInPopup", { noteIdOrPath: note.noteId })); // Setup drag functionality for the note - this.setupNoteDrag($noteEl, note, branch); + this.dragHandler!.setupNoteDrag($noteEl, note, branch); $columnEl.append($noteEl); } @@ -344,373 +355,6 @@ export default class BoardView extends ViewMode { $(el).append($addColumnEl); } - private setupNoteDrag($noteEl: JQuery, note: any, branch: any) { - $noteEl.attr("draggable", "true"); - - // Mouse drag events - $noteEl.on("dragstart", (e) => { - this.draggedNote = note; - this.draggedBranch = branch; - this.draggedNoteElement = $noteEl; - $noteEl.addClass("dragging"); - - // Set drag data - const originalEvent = e.originalEvent as DragEvent; - if (originalEvent.dataTransfer) { - originalEvent.dataTransfer.effectAllowed = "move"; - originalEvent.dataTransfer.setData("text/plain", note.noteId); - } - }); - - $noteEl.on("dragend", () => { - $noteEl.removeClass("dragging"); - this.draggedNote = null; - this.draggedBranch = null; - this.draggedNoteElement = null; - - // Remove all drop indicators - this.$container.find(".board-drop-indicator").removeClass("show"); - }); - - // Touch drag events - let isDragging = false; - let startY = 0; - let startX = 0; - let dragThreshold = 10; // Minimum distance to start dragging - let $dragPreview: JQuery | null = null; - - $noteEl.on("touchstart", (e) => { - const touch = (e.originalEvent as TouchEvent).touches[0]; - startX = touch.clientX; - startY = touch.clientY; - isDragging = false; - $dragPreview = null; - }); - - $noteEl.on("touchmove", (e) => { - e.preventDefault(); // Prevent scrolling - const touch = (e.originalEvent as TouchEvent).touches[0]; - const deltaX = Math.abs(touch.clientX - startX); - const deltaY = Math.abs(touch.clientY - startY); - - // Start dragging if we've moved beyond threshold - if (!isDragging && (deltaX > dragThreshold || deltaY > dragThreshold)) { - isDragging = true; - this.draggedNote = note; - this.draggedBranch = branch; - this.draggedNoteElement = $noteEl; - $noteEl.addClass("dragging"); - - // Create drag preview - $dragPreview = this.createDragPreview($noteEl, touch.clientX, touch.clientY); - } - - if (isDragging && $dragPreview) { - // Update drag preview position - $dragPreview.css({ - left: touch.clientX - ($dragPreview.outerWidth() || 0) / 2, - top: touch.clientY - ($dragPreview.outerHeight() || 0) / 2 - }); - - // Find element under touch point - const elementBelow = document.elementFromPoint(touch.clientX, touch.clientY); - if (elementBelow) { - const $columnEl = $(elementBelow).closest('.board-column'); - - if ($columnEl.length > 0) { - // Remove drag-over from all columns - this.$container.find('.board-column').removeClass('drag-over'); - $columnEl.addClass('drag-over'); - - // Show drop indicator - this.showDropIndicatorAtPoint($columnEl, touch.clientY); - } else { - // Remove all drag indicators if not over a column - this.$container.find('.board-column').removeClass('drag-over'); - this.$container.find(".board-drop-indicator").removeClass("show"); - } - } - } - }); - - $noteEl.on("touchend", async (e) => { - if (isDragging) { - const touch = (e.originalEvent as TouchEvent).changedTouches[0]; - const elementBelow = document.elementFromPoint(touch.clientX, touch.clientY); - if (elementBelow) { - const $columnEl = $(elementBelow).closest('.board-column'); - - if ($columnEl.length > 0) { - const column = $columnEl.attr('data-column'); - if (column && this.draggedNote && this.draggedNoteElement && this.draggedBranch) { - await this.handleNoteDrop($columnEl, column); - } - } - } - - // Clean up - $noteEl.removeClass("dragging"); - this.draggedNote = null; - this.draggedBranch = null; - this.draggedNoteElement = null; - this.$container.find('.board-column').removeClass('drag-over'); - this.$container.find(".board-drop-indicator").removeClass("show"); - - // Remove drag preview - if ($dragPreview) { - $dragPreview.remove(); - $dragPreview = null; - } - } - isDragging = false; - }); - } - - private setupColumnDropZone($columnEl: JQuery, column: string) { - $columnEl.on("dragover", (e) => { - e.preventDefault(); - const originalEvent = e.originalEvent as DragEvent; - if (originalEvent.dataTransfer) { - originalEvent.dataTransfer.dropEffect = "move"; - } - - if (this.draggedNote) { - $columnEl.addClass("drag-over"); - this.showDropIndicator($columnEl, e); - } - }); - - $columnEl.on("dragleave", (e) => { - // Only remove drag-over if we're leaving the column entirely - const rect = $columnEl[0].getBoundingClientRect(); - const originalEvent = e.originalEvent as DragEvent; - const x = originalEvent.clientX; - const y = originalEvent.clientY; - - if (x < rect.left || x > rect.right || y < rect.top || y > rect.bottom) { - $columnEl.removeClass("drag-over"); - $columnEl.find(".board-drop-indicator").removeClass("show"); - } - }); - - $columnEl.on("drop", async (e) => { - e.preventDefault(); - $columnEl.removeClass("drag-over"); - - const draggedNoteElement = this.draggedNoteElement; - const draggedNote = this.draggedNote; - const draggedBranch = this.draggedBranch; - if (draggedNote && draggedNoteElement && draggedBranch) { - const currentColumn = draggedNoteElement.attr("data-current-column"); - - // Capture drop indicator position BEFORE removing it - const dropIndicator = $columnEl.find(".board-drop-indicator.show"); - let targetBranchId: string | null = null; - let moveType: "before" | "after" | null = null; - - if (dropIndicator.length > 0) { - // Find the note element that the drop indicator is positioned relative to - const nextNote = dropIndicator.next(".board-note"); - const prevNote = dropIndicator.prev(".board-note"); - - if (nextNote.length > 0) { - targetBranchId = nextNote.attr("data-branch-id") || null; - moveType = "before"; - } else if (prevNote.length > 0) { - targetBranchId = prevNote.attr("data-branch-id") || null; - moveType = "after"; - } - } - - // Now remove the drop indicator - $columnEl.find(".board-drop-indicator").removeClass("show"); - - try { - // Handle column change - if (currentColumn !== column) { - await this.api?.changeColumn(draggedNote.noteId, column); - } - - // Handle position change (works for both same column and different column moves) - if (targetBranchId && moveType) { - if (moveType === "before") { - console.log("Move before branch:", draggedBranch.branchId, "to", targetBranchId); - await branchService.moveBeforeBranch([draggedBranch.branchId], targetBranchId); - } else if (moveType === "after") { - console.log("Move after branch:", draggedBranch.branchId, "to", targetBranchId); - await branchService.moveAfterBranch([draggedBranch.branchId], targetBranchId); - } - } - - // Update the data attributes - draggedNoteElement.attr("data-current-column", column); - - // Show success feedback - console.log(`Moved note "${draggedNote.title}" from "${currentColumn}" to "${column}"`); - - // Refresh the board to reflect the changes - await this.renderList(); - } catch (error) { - console.error("Failed to update note position:", error); - } - } - }); - } - - private showDropIndicator($columnEl: JQuery, e: JQuery.DragOverEvent) { - const originalEvent = e.originalEvent as DragEvent; - const mouseY = originalEvent.clientY; - const columnRect = $columnEl[0].getBoundingClientRect(); - const relativeY = mouseY - columnRect.top; - - // Find existing drop indicator or create one - let $dropIndicator = $columnEl.find(".board-drop-indicator"); - if ($dropIndicator.length === 0) { - $dropIndicator = $("
").addClass("board-drop-indicator"); - $columnEl.append($dropIndicator); - } - - // Find the best position to insert the note - const $notes = this.draggedNoteElement ? - $columnEl.find(".board-note").not(this.draggedNoteElement) : - $columnEl.find(".board-note"); - let insertAfterElement: HTMLElement | null = null; - - $notes.each((_, noteEl) => { - const noteRect = noteEl.getBoundingClientRect(); - const noteMiddle = noteRect.top + noteRect.height / 2 - columnRect.top; - - if (relativeY > noteMiddle) { - insertAfterElement = noteEl; - } - }); - - // Position the drop indicator - if (insertAfterElement) { - $(insertAfterElement).after($dropIndicator); - } else { - // Insert at the beginning (after the header) - const $header = $columnEl.find("h3"); - $header.after($dropIndicator); - } - - $dropIndicator.addClass("show"); - } - - private showDropIndicatorAtPoint($columnEl: JQuery, touchY: number) { - const columnRect = $columnEl[0].getBoundingClientRect(); - const relativeY = touchY - columnRect.top; - - // Find existing drop indicator or create one - let $dropIndicator = $columnEl.find(".board-drop-indicator"); - if ($dropIndicator.length === 0) { - $dropIndicator = $("
").addClass("board-drop-indicator"); - $columnEl.append($dropIndicator); - } - - // Find the best position to insert the note - const $notes = this.draggedNoteElement ? - $columnEl.find(".board-note").not(this.draggedNoteElement) : - $columnEl.find(".board-note"); - let insertAfterElement: HTMLElement | null = null; - - $notes.each((_, noteEl) => { - const noteRect = noteEl.getBoundingClientRect(); - const noteMiddle = noteRect.top + noteRect.height / 2 - columnRect.top; - - if (relativeY > noteMiddle) { - insertAfterElement = noteEl; - } - }); - - // Position the drop indicator - if (insertAfterElement) { - $(insertAfterElement).after($dropIndicator); - } else { - // Insert at the beginning (after the header) - const $header = $columnEl.find("h3"); - $header.after($dropIndicator); - } - - $dropIndicator.addClass("show"); - } - - private createDragPreview($noteEl: JQuery, x: number, y: number): JQuery { - // Clone the note element for the preview - const $preview = $noteEl.clone(); - - $preview - .addClass('board-drag-preview') - .css({ - position: 'fixed', - left: x - ($noteEl.outerWidth() || 0) / 2, - top: y - ($noteEl.outerHeight() || 0) / 2, - pointerEvents: 'none', - zIndex: 10000 - }) - .appendTo('body'); - - return $preview; - } - - private async handleNoteDrop($columnEl: JQuery, column: string) { - const draggedNoteElement = this.draggedNoteElement; - const draggedNote = this.draggedNote; - const draggedBranch = this.draggedBranch; - - if (draggedNote && draggedNoteElement && draggedBranch) { - const currentColumn = draggedNoteElement.attr("data-current-column"); - - // Capture drop indicator position BEFORE removing it - const dropIndicator = $columnEl.find(".board-drop-indicator.show"); - let targetBranchId: string | null = null; - let moveType: "before" | "after" | null = null; - - if (dropIndicator.length > 0) { - // Find the note element that the drop indicator is positioned relative to - const nextNote = dropIndicator.next(".board-note"); - const prevNote = dropIndicator.prev(".board-note"); - - if (nextNote.length > 0) { - targetBranchId = nextNote.attr("data-branch-id") || null; - moveType = "before"; - } else if (prevNote.length > 0) { - targetBranchId = prevNote.attr("data-branch-id") || null; - moveType = "after"; - } - } - - try { - // Handle column change - if (currentColumn !== column) { - await this.api?.changeColumn(draggedNote.noteId, column); - } - - // Handle position change (works for both same column and different column moves) - if (targetBranchId && moveType) { - if (moveType === "before") { - console.log("Move before branch:", draggedBranch.branchId, "to", targetBranchId); - await branchService.moveBeforeBranch([draggedBranch.branchId], targetBranchId); - } else if (moveType === "after") { - console.log("Move after branch:", draggedBranch.branchId, "to", targetBranchId); - await branchService.moveAfterBranch([draggedBranch.branchId], targetBranchId); - } - } - - // Update the data attributes - draggedNoteElement.attr("data-current-column", column); - - // Show success feedback - console.log(`Moved note "${draggedNote.title}" from "${currentColumn}" to "${column}"`); - - // Refresh the board to reflect the changes - await this.renderList(); - } catch (error) { - console.error("Failed to update note position:", error); - } - } - } - private createTitleStructure(title: string): { $titleText: JQuery; $editIcon: JQuery } { const $titleText = $("").text(title); const $editIcon = $("") From d98be19c9a1a25af23d73e1a192c1eb830c3d83b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 11:13:41 +0300 Subject: [PATCH 045/505] feat(views/board): set up differential renderer --- .../board_view/differential_renderer.ts | 327 ++++++++++++++++++ .../view_widgets/board_view/drag_handler.ts | 4 + .../widgets/view_widgets/board_view/index.ts | 191 ++++------ 3 files changed, 407 insertions(+), 115 deletions(-) create mode 100644 apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts diff --git a/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts b/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts new file mode 100644 index 000000000..66e91d128 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts @@ -0,0 +1,327 @@ +import { BoardDragHandler, DragContext } from "./drag_handler"; +import BoardApi from "./api"; +import appContext from "../../../components/app_context"; +import FNote from "../../../entities/fnote"; +import ViewModeStorage from "../view_mode_storage"; +import { BoardData } from "./config"; + +export interface BoardState { + columns: { [key: string]: { note: any; branch: any }[] }; + columnOrder: string[]; +} + +export class DifferentialBoardRenderer { + private $container: JQuery; + private api: BoardApi; + private dragHandler: BoardDragHandler; + private lastState: BoardState | null = null; + private onCreateNewItem: (column: string) => void; + private updateTimeout: number | null = null; + private pendingUpdate = false; + private parentNote: FNote; + private viewStorage: ViewModeStorage; + + constructor( + $container: JQuery, + api: BoardApi, + dragHandler: BoardDragHandler, + onCreateNewItem: (column: string) => void, + parentNote: FNote, + viewStorage: ViewModeStorage + ) { + this.$container = $container; + this.api = api; + this.dragHandler = dragHandler; + this.onCreateNewItem = onCreateNewItem; + this.parentNote = parentNote; + this.viewStorage = viewStorage; + } + + async renderBoard(refreshApi: boolean = false): Promise { + // Refresh API data if requested + if (refreshApi) { + this.api = await BoardApi.build(this.parentNote, this.viewStorage); + this.dragHandler.updateApi(this.api); + } + + // Debounce rapid updates + if (this.updateTimeout) { + clearTimeout(this.updateTimeout); + } + + this.updateTimeout = window.setTimeout(async () => { + await this.performUpdate(); + this.updateTimeout = null; + }, 16); // ~60fps + } + + private async performUpdate(): Promise { + const currentState = this.getCurrentState(); + + if (!this.lastState) { + // First render - do full render + await this.fullRender(currentState); + } else { + // Differential render - only update what changed + await this.differentialRender(this.lastState, currentState); + } + + this.lastState = currentState; + } + + private getCurrentState(): BoardState { + const columns: { [key: string]: { note: any; branch: any }[] } = {}; + const columnOrder: string[] = []; + + for (const column of this.api.columns) { + columnOrder.push(column); + columns[column] = this.api.getColumn(column) || []; + } + + return { columns, columnOrder }; + } + + private async fullRender(state: BoardState): Promise { + this.$container.empty(); + + for (const column of state.columnOrder) { + const columnItems = state.columns[column]; + const $columnEl = this.createColumn(column, columnItems); + this.$container.append($columnEl); + } + + this.addAddColumnButton(); + } + + private async differentialRender(oldState: BoardState, newState: BoardState): Promise { + // Store scroll positions before making changes + const scrollPositions = this.saveScrollPositions(); + + // Handle column additions/removals + this.updateColumns(oldState, newState); + + // Handle card updates within existing columns + for (const column of newState.columnOrder) { + this.updateColumnCards(column, oldState.columns[column] || [], newState.columns[column]); + } + + // Restore scroll positions + this.restoreScrollPositions(scrollPositions); + } + + private saveScrollPositions(): { [column: string]: number } { + const positions: { [column: string]: number } = {}; + this.$container.find('.board-column').each((_, el) => { + const column = $(el).attr('data-column'); + if (column) { + positions[column] = el.scrollTop; + } + }); + return positions; + } + + private restoreScrollPositions(positions: { [column: string]: number }): void { + this.$container.find('.board-column').each((_, el) => { + const column = $(el).attr('data-column'); + if (column && positions[column] !== undefined) { + el.scrollTop = positions[column]; + } + }); + } + + private updateColumns(oldState: BoardState, newState: BoardState): void { + // Remove columns that no longer exist + for (const oldColumn of oldState.columnOrder) { + if (!newState.columnOrder.includes(oldColumn)) { + this.$container.find(`[data-column="${oldColumn}"]`).remove(); + } + } + + // Add new columns + for (const newColumn of newState.columnOrder) { + if (!oldState.columnOrder.includes(newColumn)) { + const columnItems = newState.columns[newColumn]; + const $columnEl = this.createColumn(newColumn, columnItems); + + // Insert at correct position + const insertIndex = newState.columnOrder.indexOf(newColumn); + const $existingColumns = this.$container.find('.board-column'); + + if (insertIndex === 0) { + this.$container.prepend($columnEl); + } else if (insertIndex >= $existingColumns.length) { + this.$container.find('.board-add-column').before($columnEl); + } else { + $($existingColumns[insertIndex - 1]).after($columnEl); + } + } + } + } + + private updateColumnCards(column: string, oldCards: { note: any; branch: any }[], newCards: { note: any; branch: any }[]): void { + const $column = this.$container.find(`[data-column="${column}"]`); + if (!$column.length) return; + + const $cardContainer = $column; + const oldCardIds = oldCards.map(item => item.note.noteId); + const newCardIds = newCards.map(item => item.note.noteId); + + // Remove cards that no longer exist + $cardContainer.find('.board-note').each((_, el) => { + const noteId = $(el).attr('data-note-id'); + if (noteId && !newCardIds.includes(noteId)) { + $(el).addClass('fade-out'); + setTimeout(() => $(el).remove(), 150); + } + }); + + // Add or update cards + for (let i = 0; i < newCards.length; i++) { + const item = newCards[i]; + const noteId = item.note.noteId; + let $existingCard = $cardContainer.find(`[data-note-id="${noteId}"]`); + + if ($existingCard.length) { + // Update existing card if title changed + const currentTitle = $existingCard.text().trim(); + if (currentTitle !== item.note.title) { + $existingCard.contents().filter(function() { + return this.nodeType === 3; // Text nodes + }).remove(); + $existingCard.append(item.note.title); + } + + // Ensure card is in correct position + this.ensureCardPosition($existingCard, i, $cardContainer); + } else { + // Create new card + const $newCard = this.createCard(item.note, item.branch, column); + $newCard.addClass('fade-in').css('opacity', '0'); + + // Insert at correct position + if (i === 0) { + $cardContainer.find('h3').after($newCard); + } else { + const $prevCard = $cardContainer.find('.board-note').eq(i - 1); + if ($prevCard.length) { + $prevCard.after($newCard); + } else { + $cardContainer.find('.board-new-item').before($newCard); + } + } + + // Trigger fade in animation + setTimeout(() => $newCard.css('opacity', '1'), 10); + } + } + } + + private ensureCardPosition($card: JQuery, targetIndex: number, $container: JQuery): void { + const $allCards = $container.find('.board-note'); + const currentIndex = $allCards.index($card); + + if (currentIndex !== targetIndex) { + if (targetIndex === 0) { + $container.find('h3').after($card); + } else { + const $targetPrev = $allCards.eq(targetIndex - 1); + if ($targetPrev.length) { + $targetPrev.after($card); + } + } + } + } + + private createColumn(column: string, columnItems: { note: any; branch: any }[]): JQuery { + const $columnEl = $("
") + .addClass("board-column") + .attr("data-column", column); + + // Create header + const $titleEl = $("

").attr("data-column-value", column); + const $titleText = $("").text(column); + const $editIcon = $("") + .addClass("edit-icon icon bx bx-edit-alt") + .attr("title", "Click to edit column title"); + $titleEl.append($titleText, $editIcon); + $columnEl.append($titleEl); + + // Handle wheel events for scrolling + $columnEl.on("wheel", (event) => { + const el = $columnEl[0]; + const needsScroll = el.scrollHeight > el.clientHeight; + if (needsScroll) { + event.stopPropagation(); + } + }); + + // Setup drop zone + this.dragHandler.setupColumnDropZone($columnEl, column); + + // Add cards + for (const item of columnItems) { + if (item.note) { + const $noteEl = this.createCard(item.note, item.branch, column); + $columnEl.append($noteEl); + } + } + + // Add "New item" button + const $newItemEl = $("
") + .addClass("board-new-item") + .attr("data-column", column) + .html('New item'); + + $newItemEl.on("click", () => this.onCreateNewItem(column)); + $columnEl.append($newItemEl); + + return $columnEl; + } + + private createCard(note: any, branch: any, column: string): JQuery { + const $iconEl = $("") + .addClass("icon") + .addClass(note.getIcon()); + + const $noteEl = $("
") + .addClass("board-note") + .attr("data-note-id", note.noteId) + .attr("data-branch-id", branch.branchId) + .attr("data-current-column", column) + .text(note.title); + + $noteEl.prepend($iconEl); + $noteEl.on("click", () => appContext.triggerCommand("openInPopup", { noteIdOrPath: note.noteId })); + + // Setup drag functionality + this.dragHandler.setupNoteDrag($noteEl, note, branch); + + return $noteEl; + } + + private addAddColumnButton(): void { + if (this.$container.find('.board-add-column').length === 0) { + const $addColumnEl = $("
") + .addClass("board-add-column") + .html('Add Column'); + + this.$container.append($addColumnEl); + } + } + + forceFullRender(): void { + this.lastState = null; + if (this.updateTimeout) { + clearTimeout(this.updateTimeout); + this.updateTimeout = null; + } + } + + async flushPendingUpdates(): Promise { + if (this.updateTimeout) { + clearTimeout(this.updateTimeout); + this.updateTimeout = null; + await this.performUpdate(); + } + } +} diff --git a/apps/client/src/widgets/view_widgets/board_view/drag_handler.ts b/apps/client/src/widgets/view_widgets/board_view/drag_handler.ts index a11970491..9de3b977f 100644 --- a/apps/client/src/widgets/view_widgets/board_view/drag_handler.ts +++ b/apps/client/src/widgets/view_widgets/board_view/drag_handler.ts @@ -35,6 +35,10 @@ export class BoardDragHandler { this.setupTouchDrag($noteEl, note, branch); } + updateApi(newApi: BoardApi) { + this.api = newApi; + } + private setupMouseDrag($noteEl: JQuery, note: any, branch: any) { $noteEl.on("dragstart", (e) => { this.context.draggedNote = note; diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 23af7a8ee..3a7e5d885 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -8,6 +8,7 @@ import SpacedUpdate from "../../../services/spaced_update"; import { setupContextMenu } from "./context_menu"; import BoardApi from "./api"; import { BoardDragHandler, DragContext } from "./drag_handler"; +import { DifferentialBoardRenderer } from "./differential_renderer"; const TPL = /*html*/`
@@ -104,7 +105,26 @@ const TPL = /*html*/` position: relative; background-color: var(--main-background-color); border: 1px solid var(--main-border-color); - transition: transform 0.2s ease, box-shadow 0.2s ease; + transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.15s ease; + opacity: 1; + } + + .board-view-container .board-note.fade-in { + animation: fadeIn 0.15s ease-in; + } + + .board-view-container .board-note.fade-out { + animation: fadeOut 0.15s ease-out forwards; + } + + @keyframes fadeIn { + from { opacity: 0; transform: translateY(-10px); } + to { opacity: 1; transform: translateY(0); } + } + + @keyframes fadeOut { + from { opacity: 1; transform: translateY(0); } + to { opacity: 0; transform: translateY(-10px); } } .board-view-container .board-note:hover { @@ -223,6 +243,7 @@ export default class BoardView extends ViewMode { private persistentData: BoardData; private api?: BoardApi; private dragHandler?: BoardDragHandler; + private renderer?: DifferentialBoardRenderer; constructor(args: ViewModeArgs) { super(args, "board"); @@ -244,13 +265,17 @@ export default class BoardView extends ViewMode { } async renderList(): Promise | undefined> { - this.$container.empty(); - await this.renderBoard(this.$container[0]); - + if (!this.renderer) { + // First time setup + this.$container.empty(); + await this.initializeRenderer(); + } + + await this.renderer!.renderBoard(); return this.$root; } - private async renderBoard(el: HTMLElement) { + private async initializeRenderer() { this.api = await BoardApi.build(this.parentNote, this.viewStorage); this.dragHandler = new BoardDragHandler( this.$container, @@ -259,100 +284,41 @@ export default class BoardView extends ViewMode { async () => { await this.renderList(); } ); + this.renderer = new DifferentialBoardRenderer( + this.$container, + this.api, + this.dragHandler, + (column: string) => this.createNewItem(column), + this.parentNote, + this.viewStorage + ); + setupContextMenu({ $container: this.$container, api: this.api }); - for (const column of this.api.columns) { - const columnItems = this.api.getColumn(column); - if (!columnItems) { - continue; - } + // Setup column title editing and add column functionality + this.setupBoardInteractions(); + } - // Find the column data to get custom title - const columnTitle = column; - - const $columnEl = $("
") - .addClass("board-column") - .attr("data-column", column); - - const $titleEl = $("

") - .attr("data-column-value", column); - - const { $titleText, $editIcon } = this.createTitleStructure(columnTitle); - $titleEl.append($titleText, $editIcon); - - // Make column title editable - this.setupColumnTitleEdit($titleEl, column, columnItems); - - $columnEl.append($titleEl); - - // Allow vertical scrolling in the column, bypassing the horizontal scroll of the container. - $columnEl.on("wheel", (event) => { - const el = $columnEl[0]; - const needsScroll = el.scrollHeight > el.clientHeight; - if (needsScroll) { - event.stopPropagation(); - } - }); - - // Setup drop zone for the column - this.dragHandler!.setupColumnDropZone($columnEl, column); - - for (const item of columnItems) { - const note = item.note; - const branch = item.branch; - if (!note) { - continue; - } - - const $iconEl = $("") - .addClass("icon") - .addClass(note.getIcon()); - - const $noteEl = $("
") - .addClass("board-note") - .attr("data-note-id", note.noteId) - .attr("data-branch-id", branch.branchId) - .attr("data-current-column", column) - .text(note.title); - - $noteEl.prepend($iconEl); - $noteEl.on("click", () => appContext.triggerCommand("openInPopup", { noteIdOrPath: note.noteId })); - - // Setup drag functionality for the note - this.dragHandler!.setupNoteDrag($noteEl, note, branch); - - $columnEl.append($noteEl); - } - - // Add "New item" link at the bottom of the column - const $newItemEl = $("
") - .addClass("board-new-item") - .attr("data-column", column) - .html('New item'); - - $newItemEl.on("click", () => { - this.createNewItem(column); - }); - - $columnEl.append($newItemEl); - - $(el).append($columnEl); - } - - // Add "Add Column" button at the end - const $addColumnEl = $("
") - .addClass("board-add-column") - .html('Add Column'); - - $addColumnEl.on("click", (e) => { + private setupBoardInteractions() { + // Handle column title editing + this.$container.on('click', 'h3[data-column-value]', (e) => { e.stopPropagation(); - this.startCreatingNewColumn($addColumnEl); + const $titleEl = $(e.currentTarget); + const columnValue = $titleEl.attr('data-column-value'); + if (columnValue) { + const columnItems = this.api?.getColumn(columnValue) || []; + this.startEditingColumnTitle($titleEl, columnValue, columnItems); + } }); - $(el).append($addColumnEl); + // Handle add column button + this.$container.on('click', '.board-add-column', (e) => { + e.stopPropagation(); + this.startCreatingNewColumn($(e.currentTarget)); + }); } private createTitleStructure(title: string): { $titleText: JQuery; $editIcon: JQuery } { @@ -364,13 +330,6 @@ export default class BoardView extends ViewMode { return { $titleText, $editIcon }; } - private setupColumnTitleEdit($titleEl: JQuery, columnValue: string, columnItems: { branch: any; note: any; }[]) { - $titleEl.on("click", (e) => { - e.stopPropagation(); - this.startEditingColumnTitle($titleEl, columnValue, columnItems); - }); - } - private startEditingColumnTitle($titleEl: JQuery, columnValue: string, columnItems: { branch: any; note: any; }[]) { if ($titleEl.hasClass("editing")) { return; // Already editing @@ -461,6 +420,11 @@ export default class BoardView extends ViewMode { } } + forceFullRefresh() { + this.renderer?.forceFullRender(); + return this.renderList(); + } + private startCreatingNewColumn($addColumnEl: JQuery) { if ($addColumnEl.hasClass("editing")) { return; // Already editing @@ -535,26 +499,23 @@ export default class BoardView extends ViewMode { } async onEntitiesReloaded({ loadResults }: EventData<"entitiesReloaded">) { - // React to changes in "status" attribute for notes in this board - if (loadResults.getAttributeRows().some(attr => attr.name === "status" && this.noteIds.includes(attr.noteId!))) { - return true; - } - - // React to changes in note title. - if (loadResults.getNoteIds().some(noteId => this.noteIds.includes(noteId))) { - return true; - } - - // React to changes in branches for subchildren (e.g., moved, added, or removed notes) - if (loadResults.getBranchRows().some(branch => this.noteIds.includes(branch.noteId!))) { - return true; - } - - // React to attachment change. - if (loadResults.getAttachmentRows().some(att => att.ownerId === this.parentNote.noteId && att.title === "board.json")) { - return true; + // Check if any changes affect our board + const hasRelevantChanges = + // React to changes in "status" attribute for notes in this board + loadResults.getAttributeRows().some(attr => attr.name === "status" && this.noteIds.includes(attr.noteId!)) || + // React to changes in note title + loadResults.getNoteIds().some(noteId => this.noteIds.includes(noteId)) || + // React to changes in branches for subchildren (e.g., moved, added, or removed notes) + loadResults.getBranchRows().some(branch => this.noteIds.includes(branch.noteId!)) || + // React to attachment change + loadResults.getAttachmentRows().some(att => att.ownerId === this.parentNote.noteId && att.title === "board.json"); + + if (hasRelevantChanges && this.renderer) { + // Use differential rendering with API refresh + await this.renderer.renderBoard(true); } + // Don't trigger full view refresh - let differential renderer handle it return false; } From 545b19f978dc28a42f40421e6fa4db466326b3eb Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 11:19:14 +0300 Subject: [PATCH 046/505] fix(views/board): drop indicator remaining stuck --- .../board_view/differential_renderer.ts | 3 ++ .../view_widgets/board_view/drag_handler.ts | 40 ++++++++++++++----- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts b/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts index 66e91d128..149574e1f 100644 --- a/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts +++ b/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts @@ -56,6 +56,9 @@ export class DifferentialBoardRenderer { } private async performUpdate(): Promise { + // Clean up any stray drag indicators before updating + this.dragHandler.cleanup(); + const currentState = this.getCurrentState(); if (!this.lastState) { diff --git a/apps/client/src/widgets/view_widgets/board_view/drag_handler.ts b/apps/client/src/widgets/view_widgets/board_view/drag_handler.ts index 9de3b977f..c11a68b8a 100644 --- a/apps/client/src/widgets/view_widgets/board_view/drag_handler.ts +++ b/apps/client/src/widgets/view_widgets/board_view/drag_handler.ts @@ -39,6 +39,22 @@ export class BoardDragHandler { this.api = newApi; } + private cleanupAllDropIndicators() { + // Remove all drop indicators from the DOM to prevent layout issues + this.$container.find(".board-drop-indicator").remove(); + } + + private cleanupColumnDropIndicators($columnEl: JQuery) { + // Remove drop indicators from a specific column + $columnEl.find(".board-drop-indicator").remove(); + } + + // Public method to clean up any stray indicators - can be called externally + cleanup() { + this.cleanupAllDropIndicators(); + this.$container.find('.board-column').removeClass('drag-over'); + } + private setupMouseDrag($noteEl: JQuery, note: any, branch: any) { $noteEl.on("dragstart", (e) => { this.context.draggedNote = note; @@ -60,8 +76,8 @@ export class BoardDragHandler { this.context.draggedBranch = null; this.context.draggedNoteElement = null; - // Remove all drop indicators - this.$container.find(".board-drop-indicator").removeClass("show"); + // Clean up all drop indicators properly + this.cleanupAllDropIndicators(); }); } @@ -120,7 +136,7 @@ export class BoardDragHandler { } else { // Remove all drag indicators if not over a column this.$container.find('.board-column').removeClass('drag-over'); - this.$container.find(".board-drop-indicator").removeClass("show"); + this.cleanupAllDropIndicators(); } } } @@ -147,7 +163,7 @@ export class BoardDragHandler { this.context.draggedBranch = null; this.context.draggedNoteElement = null; this.$container.find('.board-column').removeClass('drag-over'); - this.$container.find(".board-drop-indicator").removeClass("show"); + this.cleanupAllDropIndicators(); // Remove drag preview if ($dragPreview) { @@ -182,7 +198,7 @@ export class BoardDragHandler { if (x < rect.left || x > rect.right || y < rect.top || y > rect.bottom) { $columnEl.removeClass("drag-over"); - $columnEl.find(".board-drop-indicator").removeClass("show"); + this.cleanupColumnDropIndicators($columnEl); } }); @@ -228,12 +244,11 @@ export class BoardDragHandler { const columnRect = $columnEl[0].getBoundingClientRect(); const relativeY = y - columnRect.top; - // Find existing drop indicator or create one - let $dropIndicator = $columnEl.find(".board-drop-indicator"); - if ($dropIndicator.length === 0) { - $dropIndicator = $("
").addClass("board-drop-indicator"); - $columnEl.append($dropIndicator); - } + // Clean up any existing drop indicators in this column first + this.cleanupColumnDropIndicators($columnEl); + + // Create a new drop indicator + const $dropIndicator = $("
").addClass("board-drop-indicator"); // Find the best position to insert the note const $notes = this.context.draggedNoteElement ? @@ -316,6 +331,9 @@ export class BoardDragHandler { await this.onBoardRefresh(); } catch (error) { console.error("Failed to update note position:", error); + } finally { + // Always clean up drop indicators after drop operation + this.cleanupAllDropIndicators(); } } } From 3a569499cbca84869c71717d19b44c8df887f3d6 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 11:26:38 +0300 Subject: [PATCH 047/505] feat(views/board): edit the note title inline on new --- .../board_view/differential_renderer.ts | 113 +++++++++++++++++- .../widgets/view_widgets/board_view/index.ts | 31 ++++- 2 files changed, 134 insertions(+), 10 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts b/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts index 149574e1f..f79e5294b 100644 --- a/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts +++ b/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts @@ -183,6 +183,7 @@ export class DifferentialBoardRenderer { const item = newCards[i]; const noteId = item.note.noteId; let $existingCard = $cardContainer.find(`[data-note-id="${noteId}"]`); + const isNewCard = !oldCardIds.includes(noteId); if ($existingCard.length) { // Update existing card if title changed @@ -197,8 +198,8 @@ export class DifferentialBoardRenderer { // Ensure card is in correct position this.ensureCardPosition($existingCard, i, $cardContainer); } else { - // Create new card - const $newCard = this.createCard(item.note, item.branch, column); + // Create new card (pass isNewCard flag) + const $newCard = this.createCard(item.note, item.branch, column, isNewCard); $newCard.addClass('fade-in').css('opacity', '0'); // Insert at correct position @@ -264,7 +265,7 @@ export class DifferentialBoardRenderer { // Add cards for (const item of columnItems) { if (item.note) { - const $noteEl = this.createCard(item.note, item.branch, column); + const $noteEl = this.createCard(item.note, item.branch, column, false); // false = existing card $columnEl.append($noteEl); } } @@ -281,7 +282,7 @@ export class DifferentialBoardRenderer { return $columnEl; } - private createCard(note: any, branch: any, column: string): JQuery { + private createCard(note: any, branch: any, column: string, isNewCard: boolean = false): JQuery { const $iconEl = $("") .addClass("icon") .addClass(note.getIcon()); @@ -291,10 +292,15 @@ export class DifferentialBoardRenderer { .attr("data-note-id", note.noteId) .attr("data-branch-id", branch.branchId) .attr("data-current-column", column) + .attr("data-icon-class", note.getIcon()) .text(note.title); $noteEl.prepend($iconEl); - $noteEl.on("click", () => appContext.triggerCommand("openInPopup", { noteIdOrPath: note.noteId })); + + // Only add quick edit click handler for existing cards (not new ones) + if (!isNewCard) { + $noteEl.on("click", () => appContext.triggerCommand("openInPopup", { noteIdOrPath: note.noteId })); + } // Setup drag functionality this.dragHandler.setupNoteDrag($noteEl, note, branch); @@ -327,4 +333,101 @@ export class DifferentialBoardRenderer { await this.performUpdate(); } } + + startInlineEditing(noteId: string): void { + // Use setTimeout to ensure the card is rendered before trying to edit it + setTimeout(() => { + const $card = this.$container.find(`[data-note-id="${noteId}"]`); + if ($card.length) { + this.makeCardEditable($card, noteId); + } + }, 100); + } + + private makeCardEditable($card: JQuery, noteId: string): void { + if ($card.hasClass('editing')) { + return; // Already editing + } + + // Get the current title (get text without icon) + const $icon = $card.find('.icon'); + const currentTitle = $card.text().trim(); + + // Add editing class and store original click handler + $card.addClass('editing'); + $card.off('click'); // Remove any existing click handlers temporarily + + // Create input element + const $input = $('') + .attr('type', 'text') + .val(currentTitle) + .css({ + background: 'transparent', + border: 'none', + outline: 'none', + fontFamily: 'inherit', + fontSize: 'inherit', + color: 'inherit', + flex: '1', + minWidth: '0', + padding: '0', + marginLeft: '0.25em' + }); + + // Create a flex container to keep icon and input inline + const $editContainer = $('
') + .css({ + display: 'flex', + alignItems: 'center', + width: '100%' + }); + + // Replace content with icon + input in flex container + $editContainer.append($icon.clone(), $input); + $card.empty().append($editContainer); + $input.focus().select(); + + const finishEdit = async (save: boolean = true) => { + if (!$card.hasClass('editing')) { + return; // Already finished + } + + $card.removeClass('editing'); + + let finalTitle = currentTitle; + if (save) { + const newTitle = $input.val() as string; + if (newTitle.trim() && newTitle !== currentTitle) { + try { + // Update the note title using the board view's server call + import('../../../services/server').then(async ({ default: server }) => { + await server.put(`notes/${noteId}/title`, { title: newTitle.trim() }); + finalTitle = newTitle.trim(); + }); + } catch (error) { + console.error("Failed to update note title:", error); + } + } + } + + // Restore the card content + const iconClass = $card.attr('data-icon-class') || 'bx bx-file'; + const $newIcon = $('').addClass('icon').addClass(iconClass); + $card.empty().append($newIcon, finalTitle); + + // Re-attach click handler for quick edit (for existing cards) + $card.on('click', () => appContext.triggerCommand("openInPopup", { noteIdOrPath: noteId })); + }; + + $input.on('blur', () => finishEdit(true)); + $input.on('keydown', (e) => { + if (e.key === 'Enter') { + e.preventDefault(); + finishEdit(true); + } else if (e.key === 'Escape') { + e.preventDefault(); + finishEdit(false); + } + }); + } } diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 3a7e5d885..60e347320 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -139,6 +139,22 @@ const TPL = /*html*/` box-shadow: 4px 8px 16px rgba(0, 0, 0, 0.5); } + .board-view-container .board-note.editing { + box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.35); + border-color: var(--main-text-color); + } + + .board-view-container .board-note.editing input { + background: transparent; + border: none; + outline: none; + font-family: inherit; + font-size: inherit; + color: inherit; + width: 100%; + padding: 0; + } + .board-view-container .board-note .icon { margin-right: 0.25em; } @@ -270,7 +286,7 @@ export default class BoardView extends ViewMode { this.$container.empty(); await this.initializeRenderer(); } - + await this.renderer!.renderBoard(); return this.$root; } @@ -402,7 +418,8 @@ export default class BoardView extends ViewMode { // Create a new note as a child of the parent note const { note: newNote } = await noteCreateService.createNote(parentNotePath, { - activate: false + activate: false, + title: "New item" }); if (newNote) { @@ -412,14 +429,18 @@ export default class BoardView extends ViewMode { // Refresh the board to show the new item await this.renderList(); - // Optionally, open the new note for editing - appContext.triggerCommand("openInPopup", { noteIdOrPath: newNote.noteId }); + // Start inline editing of the newly created card + this.startInlineEditingCard(newNote.noteId); } } catch (error) { console.error("Failed to create new item:", error); } } + private startInlineEditingCard(noteId: string) { + this.renderer?.startInlineEditing(noteId); + } + forceFullRefresh() { this.renderer?.forceFullRender(); return this.renderList(); @@ -500,7 +521,7 @@ export default class BoardView extends ViewMode { async onEntitiesReloaded({ loadResults }: EventData<"entitiesReloaded">) { // Check if any changes affect our board - const hasRelevantChanges = + const hasRelevantChanges = // React to changes in "status" attribute for notes in this board loadResults.getAttributeRows().some(attr => attr.name === "status" && this.noteIds.includes(attr.noteId!)) || // React to changes in note title From 96ca3d5e38855eeb7c8e0df56e3706c21693483c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 13:14:07 +0300 Subject: [PATCH 048/505] fix(views/board): creating new notes would render as HTML --- .../board_view/differential_renderer.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts b/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts index f79e5294b..797a525b5 100644 --- a/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts +++ b/apps/client/src/widgets/view_widgets/board_view/differential_renderer.ts @@ -58,7 +58,7 @@ export class DifferentialBoardRenderer { private async performUpdate(): Promise { // Clean up any stray drag indicators before updating this.dragHandler.cleanup(); - + const currentState = this.getCurrentState(); if (!this.lastState) { @@ -192,7 +192,7 @@ export class DifferentialBoardRenderer { $existingCard.contents().filter(function() { return this.nodeType === 3; // Text nodes }).remove(); - $existingCard.append(item.note.title); + $existingCard.append(document.createTextNode(item.note.title)); } // Ensure card is in correct position @@ -296,7 +296,7 @@ export class DifferentialBoardRenderer { .text(note.title); $noteEl.prepend($iconEl); - + // Only add quick edit click handler for existing cards (not new ones) if (!isNewCard) { $noteEl.on("click", () => appContext.triggerCommand("openInPopup", { noteIdOrPath: note.noteId })); @@ -352,7 +352,7 @@ export class DifferentialBoardRenderer { // Get the current title (get text without icon) const $icon = $card.find('.icon'); const currentTitle = $card.text().trim(); - + // Add editing class and store original click handler $card.addClass('editing'); $card.off('click'); // Remove any existing click handlers temporarily @@ -413,8 +413,9 @@ export class DifferentialBoardRenderer { // Restore the card content const iconClass = $card.attr('data-icon-class') || 'bx bx-file'; const $newIcon = $('').addClass('icon').addClass(iconClass); - $card.empty().append($newIcon, finalTitle); - + $card.text(finalTitle); + $card.prepend($newIcon); + // Re-attach click handler for quick edit (for existing cards) $card.on('click', () => appContext.triggerCommand("openInPopup", { noteIdOrPath: noteId })); }; From d0ea6d9e8d943d6ab3fb8e7b51504962bb23806b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 14:32:03 +0300 Subject: [PATCH 049/505] feat(views/board): use same note title editing mechanism for insert above/below --- .../widgets/view_widgets/board_view/api.ts | 7 +++++-- .../view_widgets/board_view/context_menu.ts | 8 +++++--- .../widgets/view_widgets/board_view/index.ts | 20 ++++++++++++++++++- 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/api.ts b/apps/client/src/widgets/view_widgets/board_view/api.ts index cd94abce9..2cf6b8cc2 100644 --- a/apps/client/src/widgets/view_widgets/board_view/api.ts +++ b/apps/client/src/widgets/view_widgets/board_view/api.ts @@ -1,7 +1,7 @@ import appContext from "../../../components/app_context"; import FNote from "../../../entities/fnote"; import attributes from "../../../services/attributes"; -import bulk_action, { executeBulkActions } from "../../../services/bulk_action"; +import { executeBulkActions } from "../../../services/bulk_action"; import note_create from "../../../services/note_create"; import ViewModeStorage from "../view_mode_storage"; import { BoardData } from "./config"; @@ -40,7 +40,8 @@ export default class BoardApi { const { note } = await note_create.createNote(this._parentNoteId, { activate: false, targetBranchId: relativeToBranchId, - target: direction + target: direction, + title: "New item" }); if (!note) { @@ -52,6 +53,8 @@ export default class BoardApi { if (open) { this.openNote(noteId); } + + return note; } async renameColumn(oldValue: string, newValue: string, noteIds: string[]) { diff --git a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts index 9ee9909e0..f5e792d53 100644 --- a/apps/client/src/widgets/view_widgets/board_view/context_menu.ts +++ b/apps/client/src/widgets/view_widgets/board_view/context_menu.ts @@ -4,13 +4,15 @@ import branches from "../../../services/branches.js"; import dialog from "../../../services/dialog.js"; import { t } from "../../../services/i18n.js"; import BoardApi from "./api.js"; +import type BoardView from "./index.js"; interface ShowNoteContextMenuArgs { $container: JQuery; api: BoardApi; + boardView: BoardView; } -export function setupContextMenu({ $container, api }: ShowNoteContextMenuArgs) { +export function setupContextMenu({ $container, api, boardView }: ShowNoteContextMenuArgs) { $container.on("contextmenu", ".board-note", showNoteContextMenu); $container.on("contextmenu", ".board-column", showColumnContextMenu); @@ -71,12 +73,12 @@ export function setupContextMenu({ $container, api }: ShowNoteContextMenuArgs) { { title: t("board_view.insert-above"), uiIcon: "bx bx-list-plus", - handler: () => api.insertRowAtPosition(column, branchId, "before") + handler: () => boardView.insertItemAtPosition(column, branchId, "before") }, { title: t("board_view.insert-below"), uiIcon: "bx bx-empty", - handler: () => api.insertRowAtPosition(column, branchId, "after") + handler: () => boardView.insertItemAtPosition(column, branchId, "after") }, { title: "----" }, { diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 60e347320..8d28051dc 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -311,7 +311,8 @@ export default class BoardView extends ViewMode { setupContextMenu({ $container: this.$container, - api: this.api + api: this.api, + boardView: this }); // Setup column title editing and add column functionality @@ -437,6 +438,23 @@ export default class BoardView extends ViewMode { } } + async insertItemAtPosition(column: string, relativeToBranchId: string, direction: "before" | "after"): Promise { + try { + // Create the note without opening it + const newNote = await this.api?.insertRowAtPosition(column, relativeToBranchId, direction, false); + + if (newNote) { + // Refresh the board to show the new item + await this.renderList(); + + // Start inline editing of the newly created card + this.startInlineEditingCard(newNote.noteId); + } + } catch (error) { + console.error("Failed to insert new item:", error); + } + } + private startInlineEditingCard(noteId: string) { this.renderer?.startInlineEditing(noteId); } From ff01656268c7c67ff7fde372e83b6ec0e7a876ad Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 14:32:18 +0300 Subject: [PATCH 050/505] chore(vscode): set up NX LLM integration --- .github/instructions/nx.instructions.md | 40 +++++++++++++++++++++++++ .vscode/mcp.json | 8 +++++ .vscode/settings.json | 3 +- 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 .github/instructions/nx.instructions.md create mode 100644 .vscode/mcp.json diff --git a/.github/instructions/nx.instructions.md b/.github/instructions/nx.instructions.md new file mode 100644 index 000000000..fd81bf2ee --- /dev/null +++ b/.github/instructions/nx.instructions.md @@ -0,0 +1,40 @@ +--- +applyTo: '**' +--- + +// This file is automatically generated by Nx Console + +You are in an nx workspace using Nx 21.2.4 and pnpm as the package manager. + +You have access to the Nx MCP server and the tools it provides. Use them. Follow these guidelines in order to best help the user: + +# General Guidelines +- When answering questions, use the nx_workspace tool first to gain an understanding of the workspace architecture +- For questions around nx configuration, best practices or if you're unsure, use the nx_docs tool to get relevant, up-to-date docs!! Always use this instead of assuming things about nx configuration +- If the user needs help with an Nx configuration or project graph error, use the 'nx_workspace' tool to get any errors +- To help answer questions about the workspace structure or simply help with demonstrating how tasks depend on each other, use the 'nx_visualize_graph' tool + +# Generation Guidelines +If the user wants to generate something, use the following flow: + +- learn about the nx workspace and any specifics the user needs by using the 'nx_workspace' tool and the 'nx_project_details' tool if applicable +- get the available generators using the 'nx_generators' tool +- decide which generator to use. If no generators seem relevant, check the 'nx_available_plugins' tool to see if the user could install a plugin to help them +- get generator details using the 'nx_generator_schema' tool +- you may use the 'nx_docs' tool to learn more about a specific generator or technology if you're unsure +- decide which options to provide in order to best complete the user's request. Don't make any assumptions and keep the options minimalistic +- open the generator UI using the 'nx_open_generate_ui' tool +- wait for the user to finish the generator +- read the generator log file using the 'nx_read_generator_log' tool +- use the information provided in the log file to answer the user's question or continue with what they were doing + +# Running Tasks Guidelines +If the user wants help with tasks or commands (which include keywords like "test", "build", "lint", or other similar actions), use the following flow: +- Use the 'nx_current_running_tasks_details' tool to get the list of tasks (this can include tasks that were completed, stopped or failed). +- If there are any tasks, ask the user if they would like help with a specific task then use the 'nx_current_running_task_output' tool to get the terminal output for that task/command +- Use the terminal output from 'nx_current_running_task_output' to see what's wrong and help the user fix their problem. Use the appropriate tools if necessary +- If the user would like to rerun the task or command, always use `nx run ` to rerun in the terminal. This will ensure that the task will run in the nx context and will be run the same way it originally executed +- If the task was marked as "continuous" do not offer to rerun the task. This task is already running and the user can see the output in the terminal. You can use 'nx_current_running_task_output' to get the output of the task to verify the output. + + + diff --git a/.vscode/mcp.json b/.vscode/mcp.json new file mode 100644 index 000000000..28994bb29 --- /dev/null +++ b/.vscode/mcp.json @@ -0,0 +1,8 @@ +{ + "servers": { + "nx-mcp": { + "type": "http", + "url": "http://localhost:9461/mcp" + } + } +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 9ee96f4c1..4ee21bb3c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -35,5 +35,6 @@ "docs/**/*.png": true, "apps/server/src/assets/doc_notes/**": true, "apps/edit-docs/demo/**": true - } + }, + "nxConsole.generateAiAgentRules": true } \ No newline at end of file From 86911100df03528fa92282ab3ec1016b9d987dce Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 14:40:35 +0300 Subject: [PATCH 051/505] refactor(views/board): use single point for obtaining status attribute --- .../widgets/view_widgets/board_view/api.ts | 19 +++++++++++++------ .../widgets/view_widgets/board_view/index.ts | 8 ++++---- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/api.ts b/apps/client/src/widgets/view_widgets/board_view/api.ts index 2cf6b8cc2..e579af428 100644 --- a/apps/client/src/widgets/view_widgets/board_view/api.ts +++ b/apps/client/src/widgets/view_widgets/board_view/api.ts @@ -14,18 +14,23 @@ export default class BoardApi { private _parentNoteId: string, private viewStorage: ViewModeStorage, private byColumn: ColumnMap, - private persistedData: BoardData) {} + private persistedData: BoardData, + private _statusAttribute: string) {} get columns() { return this._columns; } + get statusAttribute() { + return this._statusAttribute; + } + getColumn(column: string) { return this.byColumn.get(column); } async changeColumn(noteId: string, newColumn: string) { - await attributes.setLabel(noteId, "status", newColumn); + await attributes.setLabel(noteId, this._statusAttribute, newColumn); } openNote(noteId: string) { @@ -62,7 +67,7 @@ export default class BoardApi { await executeBulkActions(noteIds, [ { name: "updateLabelValue", - labelName: "status", + labelName: this._statusAttribute, labelValue: newValue } ]); @@ -82,7 +87,7 @@ export default class BoardApi { await executeBulkActions(noteIds, [ { name: "deleteLabel", - labelName: "status" + labelName: this._statusAttribute } ]); @@ -106,8 +111,10 @@ export default class BoardApi { } static async build(parentNote: FNote, viewStorage: ViewModeStorage) { + const statusAttribute = "status"; // This should match the attribute used for grouping + let persistedData = await viewStorage.restore() ?? {}; - const { byColumn, newPersistedData } = await getBoardData(parentNote, "status", persistedData); + const { byColumn, newPersistedData } = await getBoardData(parentNote, statusAttribute, persistedData); const columns = Array.from(byColumn.keys()) || []; if (newPersistedData) { @@ -115,7 +122,7 @@ export default class BoardApi { viewStorage.store(persistedData); } - return new BoardApi(columns, parentNote.noteId, viewStorage, byColumn, persistedData); + return new BoardApi(columns, parentNote.noteId, viewStorage, byColumn, persistedData, statusAttribute); } } diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 8d28051dc..19f7f9bd9 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -425,7 +425,7 @@ export default class BoardView extends ViewMode { if (newNote) { // Set the status label to place it in the correct column - await attributeService.setLabel(newNote.noteId, "status", column); + await this.api?.changeColumn(newNote.noteId, column); // Refresh the board to show the new item await this.renderList(); @@ -442,7 +442,7 @@ export default class BoardView extends ViewMode { try { // Create the note without opening it const newNote = await this.api?.insertRowAtPosition(column, relativeToBranchId, direction, false); - + if (newNote) { // Refresh the board to show the new item await this.renderList(); @@ -540,8 +540,8 @@ export default class BoardView extends ViewMode { async onEntitiesReloaded({ loadResults }: EventData<"entitiesReloaded">) { // Check if any changes affect our board const hasRelevantChanges = - // React to changes in "status" attribute for notes in this board - loadResults.getAttributeRows().some(attr => attr.name === "status" && this.noteIds.includes(attr.noteId!)) || + // React to changes in status attribute for notes in this board + loadResults.getAttributeRows().some(attr => attr.name === this.api?.statusAttribute && this.noteIds.includes(attr.noteId!)) || // React to changes in note title loadResults.getNoteIds().some(noteId => this.noteIds.includes(noteId)) || // React to changes in branches for subchildren (e.g., moved, added, or removed notes) From 08a93d81d7ae0a6b9b113212ec51f041537d72eb Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 14:43:54 +0300 Subject: [PATCH 052/505] feat(views/board): allow changing group by attribute --- apps/client/src/widgets/view_widgets/board_view/api.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/api.ts b/apps/client/src/widgets/view_widgets/board_view/api.ts index e579af428..66bcc0f10 100644 --- a/apps/client/src/widgets/view_widgets/board_view/api.ts +++ b/apps/client/src/widgets/view_widgets/board_view/api.ts @@ -111,7 +111,7 @@ export default class BoardApi { } static async build(parentNote: FNote, viewStorage: ViewModeStorage) { - const statusAttribute = "status"; // This should match the attribute used for grouping + const statusAttribute = parentNote.getLabelValue("board:groupBy") ?? "status"; let persistedData = await viewStorage.restore() ?? {}; const { byColumn, newPersistedData } = await getBoardData(parentNote, statusAttribute, persistedData); From 2384fdbaada3a54076e499fe2a1bb90c22f51a9f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 14:45:06 +0300 Subject: [PATCH 053/505] chore(views/board): fix type errors --- apps/client/src/widgets/floating_buttons/help_button.ts | 3 ++- .../src/widgets/ribbon_widgets/book_properties_config.ts | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/floating_buttons/help_button.ts b/apps/client/src/widgets/floating_buttons/help_button.ts index 54e4556ff..d5b643116 100644 --- a/apps/client/src/widgets/floating_buttons/help_button.ts +++ b/apps/client/src/widgets/floating_buttons/help_button.ts @@ -35,7 +35,8 @@ export const byBookType: Record = { grid: "8QqnMzx393bx", calendar: "xWbu3jpNWapp", table: "2FvYrpmOXm29", - geoMap: "81SGnPGMk7Xc" + geoMap: "81SGnPGMk7Xc", + board: null }; export default class ContextualHelpButton extends NoteContextAwareWidget { diff --git a/apps/client/src/widgets/ribbon_widgets/book_properties_config.ts b/apps/client/src/widgets/ribbon_widgets/book_properties_config.ts index 6b8beece9..87c2b884d 100644 --- a/apps/client/src/widgets/ribbon_widgets/book_properties_config.ts +++ b/apps/client/src/widgets/ribbon_widgets/book_properties_config.ts @@ -101,5 +101,8 @@ export const bookPropertiesConfig: Record = { width: 65 } ] + }, + board: { + properties: [] } }; From 00cc1ffe746d9a3d41da56f3b81a4c1b7c71361c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 14:49:13 +0300 Subject: [PATCH 054/505] feat(views/board): add into view type switcher --- .../src/translations/en/translation.json | 3 ++- .../widgets/ribbon_widgets/book_properties.ts | 20 +++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 1ef41d3f0..073edc053 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -762,7 +762,8 @@ "invalid_view_type": "Invalid view type '{{type}}'", "calendar": "Calendar", "table": "Table", - "geo-map": "Geo Map" + "geo-map": "Geo Map", + "board": "Board" }, "edited_notes": { "no_edited_notes_found": "No edited notes on this day yet...", diff --git a/apps/client/src/widgets/ribbon_widgets/book_properties.ts b/apps/client/src/widgets/ribbon_widgets/book_properties.ts index 144491442..bcb39e6ca 100644 --- a/apps/client/src/widgets/ribbon_widgets/book_properties.ts +++ b/apps/client/src/widgets/ribbon_widgets/book_properties.ts @@ -5,6 +5,16 @@ import type FNote from "../../entities/fnote.js"; import type { EventData } from "../../components/app_context.js"; import { bookPropertiesConfig, BookProperty } from "./book_properties_config.js"; import attributes from "../../services/attributes.js"; +import type { ViewTypeOptions } from "../../services/note_list_renderer.js"; + +const VIEW_TYPE_MAPPINGS: Record = { + grid: t("book_properties.grid"), + list: t("book_properties.list"), + calendar: t("book_properties.calendar"), + table: t("book_properties.table"), + geoMap: t("book_properties.geo-map"), + board: t("book_properties.board") +}; const TPL = /*html*/`
@@ -41,11 +51,9 @@ const TPL = /*html*/` ${t("book_properties.view_type")}:   
@@ -115,7 +123,7 @@ export default class BookPropertiesWidget extends NoteContextAwareWidget { return; } - if (!["list", "grid", "calendar", "table", "geoMap"].includes(type)) { + if (!VIEW_TYPE_MAPPINGS.hasOwnProperty(type)) { throw new Error(t("book_properties.invalid_view_type", { type })); } From 8b6826ffa46b4bb157f312083e6ea46069c37d50 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 14:52:29 +0300 Subject: [PATCH 055/505] feat(views/board): react to changes in "groupBy" --- apps/client/src/widgets/view_widgets/board_view/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 19f7f9bd9..cb335ac8f 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -547,7 +547,9 @@ export default class BoardView extends ViewMode { // React to changes in branches for subchildren (e.g., moved, added, or removed notes) loadResults.getBranchRows().some(branch => this.noteIds.includes(branch.noteId!)) || // React to attachment change - loadResults.getAttachmentRows().some(att => att.ownerId === this.parentNote.noteId && att.title === "board.json"); + loadResults.getAttachmentRows().some(att => att.ownerId === this.parentNote.noteId && att.title === "board.json") || + // React to changes in "groupBy" + loadResults.getAttributeRows().some(attr => attr.name === "board:groupBy" && attr.noteId === this.parentNote.noteId); if (hasRelevantChanges && this.renderer) { // Use differential rendering with API refresh From ec021be16c646ad8cbc8fe04d7d3bf60f1fea67e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 15:01:55 +0300 Subject: [PATCH 056/505] feat(views/board): display even if no children --- apps/client/src/components/note_context.ts | 5 +++-- apps/client/src/widgets/type_widgets/book.ts | 9 ++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/client/src/components/note_context.ts b/apps/client/src/components/note_context.ts index 75c66b1bc..1bc4e5498 100644 --- a/apps/client/src/components/note_context.ts +++ b/apps/client/src/components/note_context.ts @@ -325,8 +325,9 @@ class NoteContext extends Component implements EventListener<"entitiesReloaded"> return false; } - // Some book types must always display a note list, even if no children. - if (["calendar", "table", "geoMap"].includes(note.getLabelValue("viewType") ?? "")) { + // Collections must always display a note list, even if no children. + const viewType = note.getLabelValue("viewType") ?? "grid"; + if (!["list", "grid"].includes(viewType)) { return true; } diff --git a/apps/client/src/widgets/type_widgets/book.ts b/apps/client/src/widgets/type_widgets/book.ts index cc8323e1f..ba32fd3a6 100644 --- a/apps/client/src/widgets/type_widgets/book.ts +++ b/apps/client/src/widgets/type_widgets/book.ts @@ -45,12 +45,11 @@ export default class BookTypeWidget extends TypeWidget { } switch (this.note?.getAttributeValue("label", "viewType")) { - case "calendar": - case "table": - case "geoMap": - return false; - default: + case "list": + case "grid": return true; + default: + return false; } } From 7de33907c5a30711873a29e505ab599a1100aeb5 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 17:51:13 +0300 Subject: [PATCH 057/505] docs(release): add change log for v0.97.1 --- docs/Developer Guide/!!!meta.json | 2 +- docs/Release Notes/!!!meta.json | 96 +++++++++++++-------- docs/Release Notes/Release Notes/v0.97.1.md | 77 +++++++++++++++++ docs/User Guide/!!!meta.json | 2 +- 4 files changed, 140 insertions(+), 37 deletions(-) create mode 100644 docs/Release Notes/Release Notes/v0.97.1.md diff --git a/docs/Developer Guide/!!!meta.json b/docs/Developer Guide/!!!meta.json index 45135e5ea..26c20d962 100644 --- a/docs/Developer Guide/!!!meta.json +++ b/docs/Developer Guide/!!!meta.json @@ -1,6 +1,6 @@ { "formatVersion": 2, - "appVersion": "0.96.0", + "appVersion": "0.97.0", "files": [ { "isClone": false, diff --git a/docs/Release Notes/!!!meta.json b/docs/Release Notes/!!!meta.json index 4f6ae5b93..5c2bff16f 100644 --- a/docs/Release Notes/!!!meta.json +++ b/docs/Release Notes/!!!meta.json @@ -1,6 +1,6 @@ { "formatVersion": 2, - "appVersion": "0.96.0", + "appVersion": "0.97.0", "files": [ { "isClone": false, @@ -61,6 +61,32 @@ "attachments": [], "dirFileName": "Release Notes", "children": [ + { + "isClone": false, + "noteId": "OtFZ6Nd9vM3n", + "notePath": [ + "hD3V4hiu2VW4", + "OtFZ6Nd9vM3n" + ], + "title": "v0.97.1", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "template", + "value": "wyurrlcDl416", + "isInheritable": false, + "position": 60 + } + ], + "format": "markdown", + "dataFileName": "v0.97.1.md", + "attachments": [] + }, { "isClone": false, "noteId": "SJZ5PwfzHSQ1", @@ -69,7 +95,7 @@ "SJZ5PwfzHSQ1" ], "title": "v0.97.0", - "notePosition": 10, + "notePosition": 20, "prefix": null, "isExpanded": false, "type": "text", @@ -95,7 +121,7 @@ "mYXFde3LuNR7" ], "title": "v0.96.0", - "notePosition": 20, + "notePosition": 30, "prefix": null, "isExpanded": false, "type": "text", @@ -121,7 +147,7 @@ "jthwbL0FdaeU" ], "title": "v0.95.0", - "notePosition": 30, + "notePosition": 40, "prefix": null, "isExpanded": false, "type": "text", @@ -147,7 +173,7 @@ "7HGYsJbLuhnv" ], "title": "v0.94.1", - "notePosition": 40, + "notePosition": 50, "prefix": null, "isExpanded": false, "type": "text", @@ -173,7 +199,7 @@ "Neq53ujRGBqv" ], "title": "v0.94.0", - "notePosition": 50, + "notePosition": 60, "prefix": null, "isExpanded": false, "type": "text", @@ -199,7 +225,7 @@ "VN3xnce1vLkX" ], "title": "v0.93.0", - "notePosition": 60, + "notePosition": 70, "prefix": null, "isExpanded": false, "type": "text", @@ -217,7 +243,7 @@ "WRaBfQqPr6qo" ], "title": "v0.92.7", - "notePosition": 70, + "notePosition": 80, "prefix": null, "isExpanded": false, "type": "text", @@ -243,7 +269,7 @@ "a2rwfKNmUFU1" ], "title": "v0.92.6", - "notePosition": 80, + "notePosition": 90, "prefix": null, "isExpanded": false, "type": "text", @@ -261,7 +287,7 @@ "fEJ8qErr0BKL" ], "title": "v0.92.5-beta", - "notePosition": 90, + "notePosition": 100, "prefix": null, "isExpanded": false, "type": "text", @@ -279,7 +305,7 @@ "kkkZQQGSXjwy" ], "title": "v0.92.4", - "notePosition": 100, + "notePosition": 110, "prefix": null, "isExpanded": false, "type": "text", @@ -297,7 +323,7 @@ "vAroNixiezaH" ], "title": "v0.92.3-beta", - "notePosition": 110, + "notePosition": 120, "prefix": null, "isExpanded": false, "type": "text", @@ -315,7 +341,7 @@ "mHEq1wxAKNZd" ], "title": "v0.92.2-beta", - "notePosition": 120, + "notePosition": 130, "prefix": null, "isExpanded": false, "type": "text", @@ -333,7 +359,7 @@ "IykjoAmBpc61" ], "title": "v0.92.1-beta", - "notePosition": 130, + "notePosition": 140, "prefix": null, "isExpanded": false, "type": "text", @@ -351,7 +377,7 @@ "dq2AJ9vSBX4Y" ], "title": "v0.92.0-beta", - "notePosition": 140, + "notePosition": 150, "prefix": null, "isExpanded": false, "type": "text", @@ -369,7 +395,7 @@ "3a8aMe4jz4yM" ], "title": "v0.91.6", - "notePosition": 150, + "notePosition": 160, "prefix": null, "isExpanded": false, "type": "text", @@ -387,7 +413,7 @@ "8djQjkiDGESe" ], "title": "v0.91.5", - "notePosition": 160, + "notePosition": 170, "prefix": null, "isExpanded": false, "type": "text", @@ -405,7 +431,7 @@ "OylxVoVJqNmr" ], "title": "v0.91.4-beta", - "notePosition": 170, + "notePosition": 180, "prefix": null, "isExpanded": false, "type": "text", @@ -423,7 +449,7 @@ "tANGQDvnyhrj" ], "title": "v0.91.3-beta", - "notePosition": 180, + "notePosition": 190, "prefix": null, "isExpanded": false, "type": "text", @@ -441,7 +467,7 @@ "hMoBfwSoj1SC" ], "title": "v0.91.2-beta", - "notePosition": 190, + "notePosition": 200, "prefix": null, "isExpanded": false, "type": "text", @@ -459,7 +485,7 @@ "a2XMSKROCl9z" ], "title": "v0.91.1-beta", - "notePosition": 200, + "notePosition": 210, "prefix": null, "isExpanded": false, "type": "text", @@ -477,7 +503,7 @@ "yqXFvWbLkuMD" ], "title": "v0.90.12", - "notePosition": 210, + "notePosition": 220, "prefix": null, "isExpanded": false, "type": "text", @@ -495,7 +521,7 @@ "veS7pg311yJP" ], "title": "v0.90.11-beta", - "notePosition": 220, + "notePosition": 230, "prefix": null, "isExpanded": false, "type": "text", @@ -513,7 +539,7 @@ "sq5W9TQxRqMq" ], "title": "v0.90.10-beta", - "notePosition": 230, + "notePosition": 240, "prefix": null, "isExpanded": false, "type": "text", @@ -531,7 +557,7 @@ "yFEGVCUM9tPx" ], "title": "v0.90.9-beta", - "notePosition": 240, + "notePosition": 250, "prefix": null, "isExpanded": false, "type": "text", @@ -549,7 +575,7 @@ "o4wAGqOQuJtV" ], "title": "v0.90.8", - "notePosition": 250, + "notePosition": 260, "prefix": null, "isExpanded": false, "type": "text", @@ -582,7 +608,7 @@ "i4A5g9iOg9I0" ], "title": "v0.90.7-beta", - "notePosition": 260, + "notePosition": 270, "prefix": null, "isExpanded": false, "type": "text", @@ -600,7 +626,7 @@ "ThNf2GaKgXUs" ], "title": "v0.90.6-beta", - "notePosition": 270, + "notePosition": 280, "prefix": null, "isExpanded": false, "type": "text", @@ -618,7 +644,7 @@ "G4PAi554kQUr" ], "title": "v0.90.5-beta", - "notePosition": 280, + "notePosition": 290, "prefix": null, "isExpanded": false, "type": "text", @@ -645,7 +671,7 @@ "zATRobGRCmBn" ], "title": "v0.90.4", - "notePosition": 290, + "notePosition": 300, "prefix": null, "isExpanded": false, "type": "text", @@ -663,7 +689,7 @@ "sCDLf8IKn3Iz" ], "title": "v0.90.3", - "notePosition": 300, + "notePosition": 310, "prefix": null, "isExpanded": false, "type": "text", @@ -681,7 +707,7 @@ "VqqyBu4AuTjC" ], "title": "v0.90.2-beta", - "notePosition": 310, + "notePosition": 320, "prefix": null, "isExpanded": false, "type": "text", @@ -699,7 +725,7 @@ "RX3Nl7wInLsA" ], "title": "v0.90.1-beta", - "notePosition": 320, + "notePosition": 330, "prefix": null, "isExpanded": false, "type": "text", @@ -717,7 +743,7 @@ "GyueACukPWjk" ], "title": "v0.90.0-beta", - "notePosition": 330, + "notePosition": 340, "prefix": null, "isExpanded": false, "type": "text", @@ -735,7 +761,7 @@ "wyurrlcDl416" ], "title": "Release Template", - "notePosition": 340, + "notePosition": 350, "prefix": null, "isExpanded": false, "type": "text", diff --git a/docs/Release Notes/Release Notes/v0.97.1.md b/docs/Release Notes/Release Notes/v0.97.1.md new file mode 100644 index 000000000..8c72a9368 --- /dev/null +++ b/docs/Release Notes/Release Notes/v0.97.1.md @@ -0,0 +1,77 @@ +# v0.97.1 +> [!TIP] +> This release is functionally identical to v0.97.0, but it fixes the version number not being correctly set in the release, causing some issues with the cache. + +> [!CAUTION] +> **Important Security Update** +> +> This release addresses a security vulnerability that could make password-based attacks against your Trilium instance more feasible. We strongly recommend upgrading to this version as soon as possible, especially if your Trilium server is accessible over a network. +> +> For more details about this security fix, please see our published security advisory which will be available 14 days after this release. + +> [!IMPORTANT] +> If you enjoyed this release, consider showing a token of appreciation by: +> +> * Pressing the “Star” button on [GitHub](https://github.com/TriliumNext/Notes) (top-right). +> * Considering a one-time or recurrent donation to the [lead developer](https://github.com/eliandoran) via [GitHub Sponsors](https://github.com/sponsors/eliandoran) or [PayPal](https://paypal.me/eliandoran). + +## Changes from v0.97.0 + +### 💡 Key highlights + +* “Books” have been renamed to Collections to better match their intentions. + * **A new collection was introduced,** _**table.**_ + * See the in-app documentation for more information. + * Custom table theme for Trilium by @adoriandoran + * Geomap: The geomap was converted from a standalone note type to a collection. + * The collections are not displayed directly in “Insert child” in the note tree with predefined configuration such as promoted attributes to make them easier to use (e.g. for calendar, geomap). +* A new editing mechanism was introduced: quick edit. This opens notes for editing in a popup instead of a tab, allowing easy access. This is especially useful for collections, to edit notes without switching context. + +### 🐞 Bugfixes + +* [Missing note meta. Can't export empty note and involved note tree](https://github.com/TriliumNext/Trilium/issues/6146) +* [Mermaid notes sluggish](https://github.com/TriliumNext/Trilium/issues/5805) +* [In-app help confusing due to ligatures](https://github.com/TriliumNext/Trilium/issues/6224) +* Geo map: tooltip not showing. +* [Nix flake support broke with electron 37 upgrade](https://github.com/TriliumNext/Trilium/issues/6217) +* Signing on Windows did not work on the previous release. +* [When editing a note in Linux, middle-clicking a note title in tree pane triggers a paste action](https://github.com/TriliumNext/Trilium/issues/5812) +* Editor not focused after switching tabs. +* PDF file preview: inconvenient 10px scrollable margin at the bottom. +* Calendar view: + * Subtree children not displayed when in calendar root. + * Title changes to events not reflected. +* [Attributes Dialogue Doesn't Display for existing attributes](https://github.com/TriliumNext/Trilium/issues/5718) +* [Issues on Prometeus dashboard due to timestamps](https://github.com/TriliumNext/Trilium/issues/6354) +* [Ckeditor (re)-creation likely causes important lagging when coming from code note](https://github.com/TriliumNext/Trilium/issues/6367) + +### ✨ Improvements + +* Export to ZIP: + * Improve error handling + * Improve handling of notes with empty title. +* Tree context menu: reorder the note types of “Insert (child) note...” by @adoriandoran +* [Note map: add attributes to include or exclude relations](https://github.com/TriliumNext/Trilium/pull/6104) by @kieranknowles1 +* [iframe sandbox allow popups](https://github.com/TriliumNext/Trilium/issues/5698) +* [Badges for the note type context menu](https://github.com/TriliumNext/Trilium/pull/6229) by @adoriandoran +* The “Book/Collection Properties" ribbon tab no longer focuses automatically. +* Geomap improvements: + * Geolocation now displayed in the context menu. + * Context menu for empty spaces on the map, for quickly viewing the location or adding a new marker. + * Adding markers by drag & dropping from note tree. + * Read-only mode to prevent modification such as dragging. + * Calendar View: Added options to hide weekends & display week numbers directly from the “Collection Properties” in the ribbon. +* [Tree Context Menu: relocate the "Duplicate subtree" menu item](https://github.com/TriliumNext/Trilium/pull/6299) by @adoriandoran + +### 📖 Documentation + +* New features, table. +* Updated collections. +* Keyboard shortcuts for the note tree. + +### 🛠️ Technical updates + +* Updated to Electron 37.2.2. +* Mindmap dependency (MindElixir) was updated to the latest major version. +* Mermaid diagrams updated to the latest version (new diagram type tree map supported). +* CKEditor updated to latest major version (46). \ No newline at end of file diff --git a/docs/User Guide/!!!meta.json b/docs/User Guide/!!!meta.json index 2005022cf..00d41cf82 100644 --- a/docs/User Guide/!!!meta.json +++ b/docs/User Guide/!!!meta.json @@ -1,6 +1,6 @@ { "formatVersion": 2, - "appVersion": "0.96.0", + "appVersion": "0.97.0", "files": [ { "isClone": false, From fd25c735c147e4a13daf962f878c9c13e8c708f6 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 17:52:08 +0300 Subject: [PATCH 058/505] chore(release): bump version --- apps/client/package.json | 2 +- apps/desktop/package.json | 2 +- apps/server/package.json | 2 +- package.json | 2 +- packages/commons/package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index 5651f4ea5..d28adf60b 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/client", - "version": "0.97.0", + "version": "0.97.1", "description": "JQuery-based client for TriliumNext, used for both web and desktop (via Electron)", "private": true, "license": "AGPL-3.0-only", diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 78d20bdd7..55080a696 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/desktop", - "version": "0.97.0", + "version": "0.97.1", "description": "Build your personal knowledge base with Trilium Notes", "private": true, "main": "main.cjs", diff --git a/apps/server/package.json b/apps/server/package.json index ffbe1c1e8..051a1f8ba 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/server", - "version": "0.97.0", + "version": "0.97.1", "description": "The server-side component of TriliumNext, which exposes the client via the web, allows for sync and provides a REST API for both internal and external use.", "private": true, "dependencies": { diff --git a/package.json b/package.json index 6231009f8..369127a75 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/source", - "version": "0.97.0", + "version": "0.97.1", "description": "Build your personal knowledge base with Trilium Notes", "directories": { "doc": "docs" diff --git a/packages/commons/package.json b/packages/commons/package.json index 6f490eb90..74656f929 100644 --- a/packages/commons/package.json +++ b/packages/commons/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/commons", - "version": "0.97.0", + "version": "0.97.1", "description": "Shared library between the clients (e.g. browser, Electron) and the server, mostly for type definitions and utility methods.", "private": true, "type": "module", From 23c9c6826ebf0b28cb1725c0abe3a448ad2b4c8a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 19:41:29 +0300 Subject: [PATCH 059/505] chore(env): add some instructions --- .github/instructions/nx.instructions.md | 2 +- CLAUDE.md | 161 ++++++++++++++++++++++++ 2 files changed, 162 insertions(+), 1 deletion(-) create mode 100644 CLAUDE.md diff --git a/.github/instructions/nx.instructions.md b/.github/instructions/nx.instructions.md index fd81bf2ee..6c63651c8 100644 --- a/.github/instructions/nx.instructions.md +++ b/.github/instructions/nx.instructions.md @@ -4,7 +4,7 @@ applyTo: '**' // This file is automatically generated by Nx Console -You are in an nx workspace using Nx 21.2.4 and pnpm as the package manager. +You are in an nx workspace using Nx 21.3.1 and pnpm as the package manager. You have access to the Nx MCP server and the tools it provides. Use them. Follow these guidelines in order to best help the user: diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 000000000..942ad06e3 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,161 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Overview + +Trilium Notes is a hierarchical note-taking application with advanced features like synchronization, scripting, and rich text editing. It's built as a TypeScript monorepo using NX, with multiple applications and shared packages. + +## Development Commands + +### Setup +- `pnpm install` - Install all dependencies +- `corepack enable` - Enable pnpm if not available + +### Running Applications +- `pnpm run server:start` - Start development server (http://localhost:8080) +- `pnpm nx run server:serve` - Alternative server start command +- `pnpm nx run desktop:serve` - Run desktop Electron app +- `pnpm run server:start-prod` - Run server in production mode + +### Building +- `pnpm nx build ` - Build specific project (server, client, desktop, etc.) +- `pnpm run client:build` - Build client application +- `pnpm run server:build` - Build server application +- `pnpm run electron:build` - Build desktop application + +### Testing +- `pnpm test:all` - Run all tests (parallel + sequential) +- `pnpm test:parallel` - Run tests that can run in parallel +- `pnpm test:sequential` - Run tests that must run sequentially (server, ckeditor5-mermaid, ckeditor5-math) +- `pnpm nx test ` - Run tests for specific project +- `pnpm coverage` - Generate coverage reports + +### Linting & Type Checking +- `pnpm nx run :lint` - Lint specific project +- `pnpm nx run :typecheck` - Type check specific project + +## Architecture Overview + +### Monorepo Structure +- **apps/**: Runnable applications + - `client/` - Frontend application (shared by server and desktop) + - `server/` - Node.js server with web interface + - `desktop/` - Electron desktop application + - `web-clipper/` - Browser extension for saving web content + - Additional tools: `db-compare`, `dump-db`, `edit-docs` + +- **packages/**: Shared libraries + - `commons/` - Shared interfaces and utilities + - `ckeditor5/` - Custom rich text editor with Trilium-specific plugins + - `codemirror/` - Code editor customizations + - `highlightjs/` - Syntax highlighting + - Custom CKEditor plugins: `ckeditor5-admonition`, `ckeditor5-footnotes`, `ckeditor5-math`, `ckeditor5-mermaid` + +### Core Architecture Patterns + +#### Three-Layer Cache System +- **Becca** (Backend Cache): Server-side entity cache (`apps/server/src/becca/`) +- **Froca** (Frontend Cache): Client-side mirror of backend data (`apps/client/src/services/froca.ts`) +- **Shaca** (Share Cache): Optimized cache for shared/published notes (`apps/server/src/share/`) + +#### Entity System +Core entities are defined in `apps/server/src/becca/entities/`: +- `BNote` - Notes with content and metadata +- `BBranch` - Hierarchical relationships between notes (allows multiple parents) +- `BAttribute` - Key-value metadata attached to notes +- `BRevision` - Note version history +- `BOption` - Application configuration + +#### Widget-Based UI +Frontend uses a widget system (`apps/client/src/widgets/`): +- `BasicWidget` - Base class for all UI components +- `NoteContextAwareWidget` - Widgets that respond to note changes +- `RightPanelWidget` - Widgets displayed in the right panel +- Type-specific widgets in `type_widgets/` directory + +#### API Architecture +- **Internal API**: REST endpoints in `apps/server/src/routes/api/` +- **ETAPI**: External API for third-party integrations (`apps/server/src/etapi/`) +- **WebSocket**: Real-time synchronization (`apps/server/src/services/ws.ts`) + +### Key Files for Understanding Architecture + +1. **Application Entry Points**: + - `apps/server/src/main.ts` - Server startup + - `apps/client/src/desktop.ts` - Client initialization + +2. **Core Services**: + - `apps/server/src/becca/becca.ts` - Backend data management + - `apps/client/src/services/froca.ts` - Frontend data synchronization + - `apps/server/src/services/backend_script_api.ts` - Scripting API + +3. **Database Schema**: + - `apps/server/src/assets/db/schema.sql` - Core database structure + +4. **Configuration**: + - `nx.json` - NX workspace configuration + - `package.json` - Project dependencies and scripts + +## Note Types and Features + +Trilium supports multiple note types, each with specialized widgets: +- **Text**: Rich text with CKEditor5 (markdown import/export) +- **Code**: Syntax-highlighted code editing with CodeMirror +- **File**: Binary file attachments +- **Image**: Image display with editing capabilities +- **Canvas**: Drawing/diagramming with Excalidraw +- **Mermaid**: Diagram generation +- **Relation Map**: Visual note relationship mapping +- **Web View**: Embedded web pages +- **Doc/Book**: Hierarchical documentation structure + +## Development Guidelines + +### Testing Strategy +- Server tests run sequentially due to shared database +- Client tests can run in parallel +- E2E tests use Playwright for both server and desktop apps +- Build validation tests check artifact integrity + +### Scripting System +Trilium provides powerful user scripting capabilities: +- Frontend scripts run in browser context +- Backend scripts run in Node.js context with full API access +- Script API documentation available in `docs/Script API/` + +### Internationalization +- Translation files in `apps/client/src/translations/` +- Supported languages: English, German, Spanish, French, Romanian, Chinese + +### Security Considerations +- Per-note encryption with granular protected sessions +- CSRF protection for API endpoints +- OpenID and TOTP authentication support +- Sanitization of user-generated content + +## Common Development Tasks + +### Adding New Note Types +1. Create widget in `apps/client/src/widgets/type_widgets/` +2. Register in `apps/client/src/services/note_types.ts` +3. Add backend handling in `apps/server/src/services/notes.ts` + +### Extending Search +- Search expressions handled in `apps/server/src/services/search/` +- Add new search operators in search context files + +### Custom CKEditor Plugins +- Create new package in `packages/` following existing plugin structure +- Register in `packages/ckeditor5/src/plugins.ts` + +### Database Migrations +- Add migration scripts in `apps/server/src/migrations/` +- Update schema in `apps/server/src/assets/db/schema.sql` + +## Build System Notes +- Uses NX for monorepo management with build caching +- Vite for fast development builds +- ESBuild for production optimization +- pnpm workspaces for dependency management +- Docker support with multi-stage builds \ No newline at end of file From 7c6af568d8cf5c42b5fe688c67a4b7d284158efc Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 22 Jul 2025 08:44:45 +0300 Subject: [PATCH 060/505] fix(share): ck text on dark theme not visible (closes #6427) --- packages/share-theme/src/styles/content.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/share-theme/src/styles/content.css b/packages/share-theme/src/styles/content.css index 41a0d3f2f..00d5f2030 100644 --- a/packages/share-theme/src/styles/content.css +++ b/packages/share-theme/src/styles/content.css @@ -1,3 +1,10 @@ +:root { + --ck-content-font-family: inherit; + --ck-content-font-size: inherit; + --ck-content-font-color: inherit; + --ck-content-line-height: inherit; +} + .ck-content code, .ck-content pre { color: var(--text-primary); From 17c6eb16809255e877f0179cae814f9e78458d3c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 22 Jul 2025 09:09:50 +0300 Subject: [PATCH 061/505] fix(export/markdown): simple tables rendered as HTML (closes #6366) --- .../src/services/export/markdown.spec.ts | 38 ++++++++++++++++++- apps/server/src/services/export/markdown.ts | 1 + 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/apps/server/src/services/export/markdown.spec.ts b/apps/server/src/services/export/markdown.spec.ts index 6e5eb2735..ac9d2aa04 100644 --- a/apps/server/src/services/export/markdown.spec.ts +++ b/apps/server/src/services/export/markdown.spec.ts @@ -176,7 +176,10 @@ describe("Markdown export", () => { > [!IMPORTANT] > This is a very important information. >${space} - >
12
34
+ > | | | + > | --- | --- | + > | 1 | 2 | + > | 3 | 4 | > [!CAUTION] > This is a caution. @@ -342,4 +345,37 @@ describe("Markdown export", () => { expect(markdownExportService.toMarkdown(html)).toBe(expected); }); + it("exports unformatted table", () => { + const html = trimIndentation/*html*/`\ +
+ + + + + + + + + + + +
+ Hi + + there +
+ Hi + + there +
+
+ `; + const expected = trimIndentation`\ + | | | + | --- | --- | + | Hi | there | + | Hi | there |`; + expect(markdownExportService.toMarkdown(html)).toBe(expected); + }); + }); diff --git a/apps/server/src/services/export/markdown.ts b/apps/server/src/services/export/markdown.ts index f68a8d87e..6bbaf386d 100644 --- a/apps/server/src/services/export/markdown.ts +++ b/apps/server/src/services/export/markdown.ts @@ -209,6 +209,7 @@ function buildFigureFilter(): Rule { return { filter(node, options) { return node.nodeName === 'FIGURE' + && node.classList.contains("image"); }, replacement(content, node) { return (node as HTMLElement).outerHTML; From 92fa1cf052a3cb05eb8435ed1ca7094334c6d985 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 22 Jul 2025 17:30:03 +0300 Subject: [PATCH 062/505] fix(quick_edit): read-only notes not editable (closes #6425) --- apps/client/src/widgets/dialogs/popup_editor.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/dialogs/popup_editor.ts b/apps/client/src/widgets/dialogs/popup_editor.ts index 8a2427e03..bb0b5ca34 100644 --- a/apps/client/src/widgets/dialogs/popup_editor.ts +++ b/apps/client/src/widgets/dialogs/popup_editor.ts @@ -106,7 +106,11 @@ export default class PopupEditorDialog extends Container { focus: false }); - await this.noteContext.setNote(noteIdOrPath); + await this.noteContext.setNote(noteIdOrPath, { + viewScope: { + readOnlyTemporarilyDisabled: true + } + }); const activeEl = document.activeElement; if (activeEl && "blur" in activeEl) { From 318f2d1f8ca620d6cdbc0f384566788efb56bfb6 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 22 Jul 2025 18:33:46 +0300 Subject: [PATCH 063/505] docs(guide): relocate note list documentation --- .../doc_notes/en/User Guide/!!!meta.json | 2 +- .../Notes/Note List.html | 10 +- .../Collections}/10_Calendar View_image.png | Bin .../Collections}/10_Geo Map View_image.png | Bin .../Collections}/11_Calendar View_image.png | Bin .../Collections}/11_Geo Map View_image.png | Bin .../Collections}/12_Geo Map View_image.png | Bin .../Collections}/13_Geo Map View_image.png | Bin .../Collections}/14_Geo Map View_image.png | Bin .../Collections}/15_Geo Map View_image.png | Bin .../Collections}/16_Geo Map View_image.png | Bin .../Collections}/17_Geo Map View_image.png | Bin .../Collections}/18_Geo Map View_image.png | Bin .../Collections}/1_Calendar View_image.png | Bin .../Collections}/1_Geo Map View_image.png | Bin .../Collections}/2_Calendar View_image.png | Bin .../Collections}/2_Geo Map View_image.png | Bin .../Collections}/3_Calendar View_image.png | Bin .../Collections}/3_Geo Map View_image.png | Bin .../Collections}/4_Calendar View_image.png | Bin .../Collections}/4_Geo Map View_image.png | Bin .../Collections}/5_Calendar View_image.png | Bin .../Collections}/5_Geo Map View_image.png | Bin .../Collections}/6_Calendar View_image.png | Bin .../Collections}/6_Geo Map View_image.png | Bin .../Collections}/7_Calendar View_image.png | Bin .../Collections}/7_Geo Map View_image.png | Bin .../Collections}/8_Calendar View_image.png | Bin .../Collections}/8_Geo Map View_image.png | Bin .../Collections}/9_Calendar View_image.png | Bin .../Collections}/9_Geo Map View_image.png | Bin .../Collections/Calendar View.clone.html | 1 - .../Collections}/Calendar View.html | 0 .../Collections}/Calendar View_image.png | Bin .../Collections/Geo Map View.clone.html | 1 - .../Collections}/Geo Map View.html | 0 .../Collections}/Geo Map View_image.jpg | Bin .../Collections}/Geo Map View_image.png | Bin .../Collections/Grid View.clone.html | 1 - .../Collections}/Grid View.html | 0 .../Collections}/Grid View_image.png | Bin .../Collections/List View.clone.html | 1 - .../Collections}/List View.html | 0 .../Collections}/List View_image.png | Bin .../Collections/Table View.clone.html | 1 - .../Collections}/Table View.html | 0 .../Collections}/Table View_image.png | Bin docs/Developer Guide/!!!meta.json | 2 +- .../Database/attachments.md | 16 +- .../Database/attributes.md | 2 +- .../Database/blobs.md | 2 +- .../Database/branches.md | 12 +- .../Database/entity_changes.md | 13 +- .../Database/etapi_tokens.md | 9 +- .../Database/notes.md | 15 +- .../Database/options.md | 7 +- .../Database/recent_notes.md | 6 +- .../Database/revisions.md | 15 +- .../Development and architecture/Icons.md | 8 +- .../Icons/Icons on Mac/Adaptive icon.md | 13 +- .../Slightly blurry icon on Mac.md | 4 +- .../Icons/Removed icons.md | 19 +- .../Note types.md | 4 +- .../Build deliveries locally.md | 12 +- .../Updating dependencies.md | 2 +- .../Node.js, Electron and `better-.md | 30 +- .../Testing compatibility.md | 15 +- .../CKEditor/Differences from upstream.md | 5 +- .../CKEditor/Versions and external plugins.md | 6 +- .../Old documentation/Testing.md | 2 +- docs/Release Notes/!!!meta.json | 2 +- .../Release Notes/v0.90.1-beta.md | 29 +- docs/User Guide/!!!meta.json | 1118 ++++++++--------- .../Advanced Usage/Attributes/Labels.md | 2 +- .../Advanced Usage/Attributes/Relations.md | 12 +- .../Cross-Origin Resource Sharing .md | 6 +- .../User Guide/Advanced Usage/Hidden Notes.md | 2 +- .../User Guide/Advanced Usage/Note source.md | 2 +- .../User Guide/Advanced Usage/Sharing.md | 4 +- .../Sharing/Serving directly the content o.md | 4 +- .../Technologies used/Leaflet.md | 2 +- .../Navigation/Workspaces.md | 10 +- .../Notes/Note List.md | 4 +- .../Notes/Note List/Calendar View.md | 111 -- .../Notes/Note List/Geo Map View.md | 134 -- .../Notes/Read-Only Notes.md | 2 +- .../Themes/Theme Gallery.md | 21 +- .../UI Elements/Note Tooltip.md | 6 +- .../UI Elements/Quick edit.md | 4 +- .../User Guide/Feature Highlights.md | 6 +- docs/User Guide/User Guide/Note Types.md | 16 +- .../User Guide/Note Types/Collections.md | 10 +- .../Collections}/10_Calendar View_image.png | Bin .../Collections}/10_Geo Map View_image.png | Bin .../Collections}/11_Calendar View_image.png | Bin .../Collections}/11_Geo Map View_image.png | Bin .../Collections}/12_Geo Map View_image.png | Bin .../Collections}/13_Geo Map View_image.png | Bin .../Collections}/14_Geo Map View_image.png | Bin .../Collections}/15_Geo Map View_image.png | Bin .../Collections}/16_Geo Map View_image.png | Bin .../Collections}/17_Geo Map View_image.png | Bin .../Collections}/18_Geo Map View_image.png | Bin .../Collections}/1_Calendar View_image.png | Bin .../Collections}/1_Geo Map View_image.png | Bin .../Collections}/2_Calendar View_image.png | Bin .../Collections}/2_Geo Map View_image.png | Bin .../Collections}/3_Calendar View_image.png | Bin .../Collections}/3_Geo Map View_image.png | Bin .../Collections}/4_Calendar View_image.png | Bin .../Collections}/4_Geo Map View_image.png | Bin .../Collections}/5_Calendar View_image.png | Bin .../Collections}/5_Geo Map View_image.png | Bin .../Collections}/6_Calendar View_image.png | Bin .../Collections}/6_Geo Map View_image.png | Bin .../Collections}/7_Calendar View_image.png | Bin .../Collections}/7_Geo Map View_image.png | Bin .../Collections}/8_Calendar View_image.png | Bin .../Collections}/8_Geo Map View_image.png | Bin .../Collections}/9_Calendar View_image.png | Bin .../Collections}/9_Geo Map View_image.png | Bin .../Collections/Calendar View.clone.md | 2 - .../Note Types/Collections/Calendar View.md | 128 ++ .../Collections}/Calendar View_image.png | Bin .../Collections/Geo Map View.clone.md | 2 - .../Note Types/Collections/Geo Map View.md | 154 +++ .../Collections}/Geo Map View_image.jpg | Bin .../Collections}/Geo Map View_image.png | Bin .../Note Types/Collections/Grid View.clone.md | 2 - .../Collections}/Grid View.md | 8 +- .../Collections}/Grid View_image.png | Bin .../Note Types/Collections/List View.clone.md | 2 - .../Collections}/List View.md | 2 +- .../Collections}/List View_image.png | Bin .../Collections/Table View.clone.md | 2 - .../Collections}/Table View.md | 26 +- .../Collections}/Table View_image.png | Bin docs/User Guide/User Guide/Note Types/Text.md | 2 +- .../User Guide/Note Types/Text/Images.md | 7 +- .../Note Types/Text/Keyboard shortcuts.md | 70 +- .../User Guide/Note Types/Text/Lists.md | 9 +- .../User Guide/User Guide/Scripting/Events.md | 16 +- 142 files changed, 1215 insertions(+), 960 deletions(-) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/10_Calendar View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/10_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/11_Calendar View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/11_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/12_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/13_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/14_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/15_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/16_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/17_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/18_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/1_Calendar View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/1_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/2_Calendar View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/2_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/3_Calendar View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/3_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/4_Calendar View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/4_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/5_Calendar View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/5_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/6_Calendar View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/6_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/7_Calendar View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/7_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/8_Calendar View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/8_Geo Map View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/9_Calendar View_image.png (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/9_Geo Map View_image.png (100%) delete mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Calendar View.clone.html rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Calendar View.html (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Calendar View_image.png (100%) delete mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Geo Map View.clone.html rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Geo Map View.html (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Geo Map View_image.jpg (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Geo Map View_image.png (100%) delete mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Grid View.clone.html rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Grid View.html (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Grid View_image.png (100%) delete mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/List View.clone.html rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/List View.html (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/List View_image.png (100%) delete mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Table View.clone.html rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Table View.html (100%) rename apps/server/src/assets/doc_notes/en/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Table View_image.png (100%) delete mode 100644 docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Calendar View.md delete mode 100644 docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View.md rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/10_Calendar View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/10_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/11_Calendar View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/11_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/12_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/13_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/14_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/15_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/16_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/17_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/18_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/1_Calendar View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/1_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/2_Calendar View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/2_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/3_Calendar View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/3_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/4_Calendar View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/4_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/5_Calendar View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/5_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/6_Calendar View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/6_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/7_Calendar View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/7_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/8_Calendar View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/8_Geo Map View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/9_Calendar View_image.png (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/9_Geo Map View_image.png (100%) delete mode 100644 docs/User Guide/User Guide/Note Types/Collections/Calendar View.clone.md create mode 100644 docs/User Guide/User Guide/Note Types/Collections/Calendar View.md rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Calendar View_image.png (100%) delete mode 100644 docs/User Guide/User Guide/Note Types/Collections/Geo Map View.clone.md create mode 100644 docs/User Guide/User Guide/Note Types/Collections/Geo Map View.md rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Geo Map View_image.jpg (100%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Geo Map View_image.png (100%) delete mode 100644 docs/User Guide/User Guide/Note Types/Collections/Grid View.clone.md rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Grid View.md (55%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Grid View_image.png (100%) delete mode 100644 docs/User Guide/User Guide/Note Types/Collections/List View.clone.md rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/List View.md (79%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/List View_image.png (100%) delete mode 100644 docs/User Guide/User Guide/Note Types/Collections/Table View.clone.md rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Table View.md (77%) rename docs/User Guide/User Guide/{Basic Concepts and Features/Notes/Note List => Note Types/Collections}/Table View_image.png (100%) 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 459ec27ae..484f4833b 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-file","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-file","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","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Apache"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_l2VkvOwUNfZj","title":"TLS Configuration","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/TLS Configuration"},{"name":"iconClass","value":"bx bx-file","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-lock-alt","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_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-file","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-file","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-file","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_ZjLYv08Rp3qC","title":"Quick edit","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Quick edit"},{"name":"iconClass","value":"bx bx-file","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":"Export as PDF","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Export as PDF"},{"name":"iconClass","value":"bx bxs-file-pdf","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"}],"children":[{"id":"_help_xWbu3jpNWapp","title":"Calendar View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Calendar View"},{"name":"iconClass","value":"bx bx-calendar","type":"label"}]},{"id":"_help_2FvYrpmOXm29","title":"Table View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Table View"},{"name":"iconClass","value":"bx bx-table","type":"label"}]},{"id":"_help_81SGnPGMk7Xc","title":"Geo Map View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View"},{"name":"iconClass","value":"bx bx-map-alt","type":"label"}]},{"id":"_help_8QqnMzx393bx","title":"Grid View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note List/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/Basic Concepts and Features/Notes/Note List/List View"},{"name":"iconClass","value":"bx bx-list-ul","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 Note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to Note"},{"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.clone"},{"name":"iconClass","value":"bx bx-file","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":"book","attributes":[{"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-file","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-file","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_GTwFsgaA0lCt","title":"Collections","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Collections"},{"name":"iconClass","value":"bx bx-book","type":"label"}],"children":[{"id":"_help_xWbu3jpNWapp","title":"Calendar View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Collections/Calendar View.clone"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_81SGnPGMk7Xc","title":"Geo Map View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Collections/Geo Map View.clone"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_8QqnMzx393bx","title":"Grid View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Collections/Grid View.clone"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_mULW0Q3VojwY","title":"List View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Collections/List View.clone"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_2FvYrpmOXm29","title":"Table View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Collections/Table View.clone"},{"name":"iconClass","value":"bx bx-file","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_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","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-file","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-file","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-file","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-file","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-file","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 bx-file","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-file","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-file","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 bx-file","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-file","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 bx-file","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-file","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-file","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 bx-file","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-file","type":"label"}],"children":[{"id":"_help_9qPsTWBorUhQ","title":"API Reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"/etapi/docs"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"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-file","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 bx-file","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-file","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-file","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-file","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 bxs-component","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-file","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-file","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-file","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 bx-folder","type":"label"}],"children":[{"id":"_help_z8O2VG4ZZJD7","title":"API Reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"/api/docs"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"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_LMAv4Uy3Wk6J","title":"AI","type":"book","attributes":[{"name":"iconClass","value":"bx bx-bot","type":"label"}],"children":[{"id":"_help_GBBMSlVSOIGP","title":"Introduction","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Introduction"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_WkM7gsEUyCXs","title":"AI Provider Information","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/AI Provider Information"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"children":[{"id":"_help_7EdTxPADv95W","title":"Ollama","type":"book","attributes":[{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_vvUCN7FDkq7G","title":"Installing Ollama","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/AI Provider Information/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/AI Provider Information/OpenAI"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_e0lkirXEiSNc","title":"Anthropic","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/AI Provider Information/Anthropic"},{"name":"iconClass","value":"bx bx-file","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-file","type":"label"}]},{"id":"_help_es8OU2GuguFU","title":"Examples","type":"book","attributes":[{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_TjLYAo3JMO8X","title":"\"New Task\" launcher button","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/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/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/Examples/Using promoted attributes to c"},{"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/Events"},{"name":"iconClass","value":"bx bx-rss","type":"label"}]},{"id":"_help_MgibgPcfeuGz","title":"Custom Widgets","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Custom Widgets"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"children":[{"id":"_help_YNxAqkI5Kg1M","title":"Word count widget","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/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/Custom Widgets/Widget Basics"},{"name":"iconClass","value":"bx bx-file","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-file","type":"label"}],"children":[{"id":"_help_Q2z6av6JZVWm","title":"Frontend API","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://triliumnext.github.io/Notes/Script%20API/interfaces/Frontend_Script_API.Api.html"},{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_habiZ3HU8Kw8","title":"FNote","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://triliumnext.github.io/Notes/Script%20API/classes/Frontend_Script_API.FNote.html"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_MEtfsqa5VwNi","title":"Backend API","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://triliumnext.github.io/Notes/Script%20API/interfaces/Backend_Script_API.Api.html"},{"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-file","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-file","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","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Apache"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_l2VkvOwUNfZj","title":"TLS Configuration","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/TLS Configuration"},{"name":"iconClass","value":"bx bx-file","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-lock-alt","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_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-file","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-file","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-file","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_ZjLYv08Rp3qC","title":"Quick edit","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Quick edit"},{"name":"iconClass","value":"bx bx-file","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":"Export as PDF","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Export as PDF"},{"name":"iconClass","value":"bx bxs-file-pdf","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 Note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to Note"},{"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.clone"},{"name":"iconClass","value":"bx bx-file","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":"book","attributes":[{"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-file","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-file","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_GTwFsgaA0lCt","title":"Collections","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Collections"},{"name":"iconClass","value":"bx bx-book","type":"label"}],"children":[{"id":"_help_xWbu3jpNWapp","title":"Calendar View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Collections/Calendar View"},{"name":"iconClass","value":"bx bx-calendar","type":"label"}]},{"id":"_help_81SGnPGMk7Xc","title":"Geo Map View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Collections/Geo Map View"},{"name":"iconClass","value":"bx bx-map-alt","type":"label"}]},{"id":"_help_8QqnMzx393bx","title":"Grid View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/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/Note Types/Collections/List View"},{"name":"iconClass","value":"bx bx-list-ul","type":"label"}]},{"id":"_help_2FvYrpmOXm29","title":"Table View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Collections/Table View"},{"name":"iconClass","value":"bx bx-table","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_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","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-file","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-file","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-file","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-file","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-file","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 bx-file","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-file","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-file","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 bx-file","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-file","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 bx-file","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-file","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-file","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 bx-file","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-file","type":"label"}],"children":[{"id":"_help_9qPsTWBorUhQ","title":"API Reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"/etapi/docs"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"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-file","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 bx-file","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-file","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-file","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-file","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 bxs-component","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-file","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-file","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-file","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 bx-folder","type":"label"}],"children":[{"id":"_help_z8O2VG4ZZJD7","title":"API Reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"/api/docs"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"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_LMAv4Uy3Wk6J","title":"AI","type":"book","attributes":[{"name":"iconClass","value":"bx bx-bot","type":"label"}],"children":[{"id":"_help_GBBMSlVSOIGP","title":"Introduction","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Introduction"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_WkM7gsEUyCXs","title":"AI Provider Information","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/AI Provider Information"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"children":[{"id":"_help_7EdTxPADv95W","title":"Ollama","type":"book","attributes":[{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_vvUCN7FDkq7G","title":"Installing Ollama","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/AI Provider Information/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/AI Provider Information/OpenAI"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_e0lkirXEiSNc","title":"Anthropic","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/AI Provider Information/Anthropic"},{"name":"iconClass","value":"bx bx-file","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-file","type":"label"}]},{"id":"_help_es8OU2GuguFU","title":"Examples","type":"book","attributes":[{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_TjLYAo3JMO8X","title":"\"New Task\" launcher button","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/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/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/Examples/Using promoted attributes to c"},{"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/Events"},{"name":"iconClass","value":"bx bx-rss","type":"label"}]},{"id":"_help_MgibgPcfeuGz","title":"Custom Widgets","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Custom Widgets"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"children":[{"id":"_help_YNxAqkI5Kg1M","title":"Word count widget","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/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/Custom Widgets/Widget Basics"},{"name":"iconClass","value":"bx bx-file","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-file","type":"label"}],"children":[{"id":"_help_Q2z6av6JZVWm","title":"Frontend API","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://triliumnext.github.io/Notes/Script%20API/interfaces/Frontend_Script_API.Api.html"},{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_habiZ3HU8Kw8","title":"FNote","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://triliumnext.github.io/Notes/Script%20API/classes/Frontend_Script_API.FNote.html"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_MEtfsqa5VwNi","title":"Backend API","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://triliumnext.github.io/Notes/Script%20API/interfaces/Backend_Script_API.Api.html"},{"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/Basic Concepts and Features/Notes/Note List.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List.html index 0ca364679..d2b5e6b60 100644 --- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List.html +++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List.html @@ -6,18 +6,18 @@ of the note for easy navigation.

Configuration

    -
  • To hide the note list for a particular note, simply apply the hideChildrenOverview +
  • To hide the note list for a particular note, simply apply the hideChildrenOverview label.
  • -
  • For some view types, such as Grid view, only a subset of notes will be +
  • For some view types, such as Grid view, only a subset of notes will be displayed and pagination can be used to navigate through all of them for performance reasons. To adjust the number of notes per page, set pageSize to the desired number.

View types

-

The view types dictate how the child notes are represented.

-

By default, the notes will be displayed in a grid, however there are also - some other view types available.

+

The view types dictate how the child notes are represented. By default, + the notes will be displayed in a grid, however there are also some other + view types available.

Generally the view type can only be changed in a Collections note from the  This is a clone of a note. Go to its primary location.

\ No newline at end of file diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Calendar View.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Calendar View.html similarity index 100% rename from apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Calendar View.html rename to apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Calendar View.html diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Calendar View_image.png b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Calendar View_image.png similarity index 100% rename from apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Calendar View_image.png rename to apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Calendar View_image.png diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Geo Map View.clone.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Geo Map View.clone.html deleted file mode 100644 index b4d153e64..000000000 --- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Geo Map View.clone.html +++ /dev/null @@ -1 +0,0 @@ -

This is a clone of a note. Go to its primary location.

\ No newline at end of file diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Geo Map View.html similarity index 100% rename from apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View.html rename to apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Geo Map View.html diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View_image.jpg b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Geo Map View_image.jpg similarity index 100% rename from apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View_image.jpg rename to apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Geo Map View_image.jpg diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View_image.png b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Geo Map View_image.png similarity index 100% rename from apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View_image.png rename to apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Geo Map View_image.png diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Grid View.clone.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Grid View.clone.html deleted file mode 100644 index c00abb546..000000000 --- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Grid View.clone.html +++ /dev/null @@ -1 +0,0 @@ -

This is a clone of a note. Go to its primary location.

\ No newline at end of file diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Grid View.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Grid View.html similarity index 100% rename from apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Grid View.html rename to apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Grid View.html diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Grid View_image.png b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Grid View_image.png similarity index 100% rename from apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Grid View_image.png rename to apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Grid View_image.png diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/List View.clone.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/List View.clone.html deleted file mode 100644 index 21dae316b..000000000 --- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/List View.clone.html +++ /dev/null @@ -1 +0,0 @@ -

This is a clone of a note. Go to its primary location.

\ No newline at end of file diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/List View.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/List View.html similarity index 100% rename from apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/List View.html rename to apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/List View.html diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/List View_image.png b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/List View_image.png similarity index 100% rename from apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/List View_image.png rename to apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/List View_image.png diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Table View.clone.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Table View.clone.html deleted file mode 100644 index 31f21928f..000000000 --- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Table View.clone.html +++ /dev/null @@ -1 +0,0 @@ -

This is a clone of a note. Go to its primary location.

\ No newline at end of file diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Table View.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Table View.html similarity index 100% rename from apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Table View.html rename to apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Table View.html diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Table View_image.png b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Table View_image.png similarity index 100% rename from apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Table View_image.png rename to apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Collections/Table View_image.png diff --git a/docs/Developer Guide/!!!meta.json b/docs/Developer Guide/!!!meta.json index 26c20d962..0b94c1dd6 100644 --- a/docs/Developer Guide/!!!meta.json +++ b/docs/Developer Guide/!!!meta.json @@ -1,6 +1,6 @@ { "formatVersion": 2, - "appVersion": "0.97.0", + "appVersion": "0.97.1", "files": [ { "isClone": false, diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Database/attachments.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/attachments.md index 274233e4f..4312832dd 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Database/attachments.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Database/attachments.md @@ -1,2 +1,16 @@ # attachments -
Column NameData TypeNullityDefault valueDescription
attachmentIdTextNon-null Unique ID (e.g. qhC1vzU4nwSE)
ownerIdTextNon-null The unique ID of a row in notes.
roleTextNon-null The role of the attachment: image for images that are attached to a note, file for uploaded files.
mimeTextNon-null The MIME type of the attachment (e.g. image/png)
titleTextNon-null The title of the attachment.
isProtectedIntegerNon-null01 if the entity is protected, 0 otherwise.
positionIntegerNon-null0Not sure where the position is relevant for attachments (saw it with values of 10 and 0).
blobIdTextNullablenullThe corresponding blobId from the blobs table.
dateModifiedTextNon-null Localized modification date (e.g. 2023-11-08 18:43:44.204+0200)
utcDateModifiedTextNon-null Modification date in UTC format (e.g. 2023-11-08 16:43:44.204Z)
utcDateScheduledForErasureTextNullablenull 
isDeletedIntegerNon-null 1 if the entity is deleted, 0 otherwise.
deleteIdTextNullablenull 
\ No newline at end of file +| Column Name | Data Type | Nullity | Default value | Description | +| --- | --- | --- | --- | --- | +| `attachmentId` | Text | Non-null | | Unique ID (e.g. `qhC1vzU4nwSE`) | +| `ownerId` | Text | Non-null | | The unique ID of a row in notes. | +| `role` | Text | Non-null | | The role of the attachment: `image` for images that are attached to a note, `file` for uploaded files. | +| `mime` | Text | Non-null | | The MIME type of the attachment (e.g. `image/png`) | +| `title` | Text | Non-null | | The title of the attachment. | +| `isProtected` | Integer | Non-null | 0 | `1` if the entity is [protected](../Protected%20entities.md), `0` otherwise. | +| `position` | Integer | Non-null | 0 | Not sure where the position is relevant for attachments (saw it with values of 10 and 0). | +| `blobId` | Text | Nullable | `null` | The corresponding `blobId` from the blobs table. | +| `dateModified` | Text | Non-null | | Localized modification date (e.g. `2023-11-08 18:43:44.204+0200`) | +| `utcDateModified` | Text | Non-null | | Modification date in UTC format (e.g. `2023-11-08 16:43:44.204Z`) | +| `utcDateScheduledForErasure` | Text | Nullable | `null` | | +| `isDeleted` | Integer | Non-null | | `1` if the entity is [deleted](../Deleted%20notes.md), `0` otherwise. | +| `deleteId` | Text | Nullable | `null` | | \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Database/attributes.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/attributes.md index bb031059c..4e7ca6a4c 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Database/attributes.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Database/attributes.md @@ -1,2 +1,2 @@ # attributes -
Column NameData TypeNullityDefault valueDescription
attributeIdTextNon-null Unique Id of the attribute (e.g. qhC1vzU4nwSE), can also have a special unique ID for Special notes (e.g. _lbToday_liconClass).
noteIdTextNon-null The ID of the note this atttribute belongs to
typeTextNon-null The type of attribute (label or relation).
nameTextNon-null The name/key of the attribute.
valueTextNon-null""
  • For label attributes, a free-form value of the attribute.
  • For relation attributes, the ID of the note the relation is pointing to.
positionIntegerNon-null0The position of the attribute compared to the other attributes. Some predefined attributes such as originalFileName have a value of 1000.
utcDateModifiedTextNon-null Modification date in UTC format (e.g. 2023-11-08 16:43:44.204Z)
isDeletedIntegerNon-null 1 if the entity is deleted, 0 otherwise.
deleteIdTextNullablenull 
isInheritableIntegerNullable0 
\ No newline at end of file +
Column NameData TypeNullityDefault valueDescription
attributeIdTextNon-null Unique Id of the attribute (e.g. qhC1vzU4nwSE), can also have a special unique ID for Special notes (e.g. _lbToday_liconClass).
noteIdTextNon-null The ID of the note this atttribute belongs to
typeTextNon-null The type of attribute (label or relation).
nameTextNon-null The name/key of the attribute.
valueTextNon-null""
  • For label attributes, a free-form value of the attribute.
  • For relation attributes, the ID of the note the relation is pointing to.
positionIntegerNon-null0The position of the attribute compared to the other attributes. Some predefined attributes such as originalFileName have a value of 1000.
utcDateModifiedTextNon-null Modification date in UTC format (e.g. 2023-11-08 16:43:44.204Z)
isDeletedIntegerNon-null 1 if the entity is deleted, 0 otherwise.
deleteIdTextNullablenull 
isInheritableIntegerNullable0 
\ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Database/blobs.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/blobs.md index 767e45672..d0efc5434 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Database/blobs.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Database/blobs.md @@ -1,2 +1,2 @@ # blobs -
Column NameData TypeNullityDefault valueDescription
blobIdTextNon-null The unique ID of the blob (e.g. XXbfAJXqWrYnSXcelLFA).

Important: this ID is actually a hash of the content, see AbstractBeccaEntity#saveBlob! It is a logic error to modify an existing blob.

contentTextNullablenull

The content of the blob, can be either:

  • text (for plain text notes or HTML notes).
  • binary (for images and other types of attachments)
dateModifiedTextNon-null Creation date with timezone offset (e.g. 2023-11-08 18:43:44.204+0200)
utcDateModifiedTextNon-null Creation date in UTC format (e.g. 2023-11-08 16:43:44.204Z).

Blobs cannot be modified, so this timestamp specifies when the blob was created.

\ No newline at end of file +
Column NameData TypeNullityDefault valueDescription
blobIdTextNon-null The unique ID of the blob (e.g. XXbfAJXqWrYnSXcelLFA).

Important: this ID is actually a hash of the content, see AbstractBeccaEntity#saveBlob! It is a logic error to modify an existing blob.

contentTextNullablenull

The content of the blob, can be either:

  • text (for plain text notes or HTML notes).
  • binary (for images and other types of attachments)
dateModifiedTextNon-null Creation date with timezone offset (e.g. 2023-11-08 18:43:44.204+0200)
utcDateModifiedTextNon-null Creation date in UTC format (e.g. 2023-11-08 16:43:44.204Z).

Blobs cannot be modified, so this timestamp specifies when the blob was created.

\ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Database/branches.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/branches.md index ca25da917..d9b12dea5 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Database/branches.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Database/branches.md @@ -1,2 +1,12 @@ # branches -
Column NameData TypeNullityDefault valueDescription
branchIdTextNon-null The ID of the branch, in the form of a_b where a is the parentNoteId and b is the noteId.
noteIdTextNon-null The ID of the note.
parentNoteIdTextNon-null The ID of the parent note the note belongs to.
notePositionIntegerNon-null The position of the branch within the same level of hierarchy, the value is usually a multiple of 10.
prefixTextNullable The branch prefix if any, or NULL otherwise.
isExpandedIntegerNon-null0Whether the branch should appear expanded (its children shown) to the user.
isDeletedIntegerNon-null01 if the entity is deleted, 0 otherwise.
deleteIdTextNullablenull 
utcDateModifiedTextNon-null Modification date in UTC format (e.g. 2023-11-08 16:43:44.204Z)
\ No newline at end of file +| Column Name | Data Type | Nullity | Default value | Description | +| --- | --- | --- | --- | --- | +| `branchId` | Text | Non-null | | The ID of the branch, in the form of `a_b` where `a` is the `parentNoteId` and `b` is the `noteId`. | +| `noteId` | Text | Non-null | | The ID of the [note](notes.md). | +| `parentNoteId` | Text | Non-null | | The ID of the parent [note](notes.md) the note belongs to. | +| `notePosition` | Integer | Non-null | | The position of the branch within the same level of hierarchy, the value is usually a multiple of 10. | +| `prefix` | Text | Nullable | | The [branch prefix](../Branch%20prefixes.md) if any, or `NULL` otherwise. | +| `isExpanded` | Integer | Non-null | 0 | Whether the branch should appear expanded (its children shown) to the user. | +| `isDeleted` | Integer | Non-null | 0 | `1` if the entity is [deleted](../Deleted%20notes.md), `0` otherwise. | +| `deleteId` | Text | Nullable | `null` | | +| `utcDateModified` | Text | Non-null | | Modification date in UTC format (e.g. `2023-11-08 16:43:44.204Z`) | \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Database/entity_changes.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/entity_changes.md index 36fc28470..61494f502 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Database/entity_changes.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Database/entity_changes.md @@ -1,4 +1,15 @@ # entity_changes -
Column NameData TypeNullityDefault valueDescription
idIntegerNon-null A sequential numeric index of the entity change.
entityNameTextNon-null The type of entity being changed (attributes, branches, note_reordering, etc.)
entityIdTextNon-null The ID of the entity being changed.
hashTextNullable (*) TODO: Describe how the hash is calculated
isErasedInteger (1 or 0)Nullable (*) TODO: What does this do?
changeIdTextNullable (*) TODO: What does this do?
componentIdTextNullable (*) 

The ID of the UI component that caused this change.

Examples: date-note, F-PoZMI0vc, NA (catch all)

instanceIdTextNullable (*) The ID of the instance that created this change.
isSyncedInteger (1 or 0)Non-null TODO: What does this do?
utcDateChangedTextNon-null Date of the entity change in UTC format (e.g. 2023-11-08 16:43:44.204Z)
+| Column Name | Data Type | Nullity | Default value | Description | +| --- | --- | --- | --- | --- | +| `id` | Integer | Non-null | | A sequential numeric index of the entity change. | +| `entityName` | Text | Non-null | | The type of entity being changed (`attributes`, `branches`, `note_reordering`, etc.) | +| `entityId` | Text | Non-null | | The ID of the entity being changed. | +| `hash` | Text | Nullable (\*) | | TODO: Describe how the hash is calculated | +| `isErased` | Integer (1 or 0) | Nullable (\*) | | TODO: What does this do? | +| `changeId` | Text | Nullable (\*) | | TODO: What does this do? | +| `componentId` | Text | Nullable (\*) | | The ID of the UI component that caused this change.

Examples: `date-note`, `F-PoZMI0vc`, `NA` (catch all) | +| `instanceId` | Text | Nullable (\*) | | The ID of the [instance](#root/pOsGYCXsbNQG/tC7s2alapj8V/Gzjqa934BdH4/c5xB8m4g2IY6) that created this change. | +| `isSynced` | Integer (1 or 0) | Non-null | | TODO: What does this do? | +| `utcDateChanged` | Text | Non-null | | Date of the entity change in UTC format (e.g. `2023-11-08 16:43:44.204Z`) | Nullable (\*) means all new values are non-null, old rows may contain null values. \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Database/etapi_tokens.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/etapi_tokens.md index 99c719f4e..25fe4e5da 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Database/etapi_tokens.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Database/etapi_tokens.md @@ -1,2 +1,9 @@ # etapi_tokens -
Column NameData TypeNullityDefault valueDescription
etapiTokenIdTextNon-null A unique ID of the token (e.g. aHmLr5BywvfJ).
nameTextNon-null The name of the token, as is set by the user.
tokenHashTextNon-null The token itself.
utcDateCreatedTextNon-null Creation date in UTC format (e.g. 2023-11-08 16:43:44.204Z)
utcDateModifiedTextNon-null Modification date in UTC format (e.g. 2023-11-08 16:43:44.204Z)
isDeletedIntegerNon-null01 if the entity is deleted, 0 otherwise.
\ No newline at end of file +| Column Name | Data Type | Nullity | Default value | Description | +| --- | --- | --- | --- | --- | +| `etapiTokenId` | Text | Non-null | | A unique ID of the token (e.g. `aHmLr5BywvfJ`). | +| `name` | Text | Non-null | | The name of the token, as is set by the user. | +| `tokenHash` | Text | Non-null | | The token itself. | +| `utcDateCreated` | Text | Non-null | | Creation date in UTC format (e.g. `2023-11-08 16:43:44.204Z`) | +| `utcDateModified` | Text | Non-null | | Modification date in UTC format (e.g. `2023-11-08 16:43:44.204Z`) | +| `isDeleted` | Integer | Non-null | 0 | `1` if the entity is [deleted](../Deleted%20notes.md), `0` otherwise. | \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Database/notes.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/notes.md index f0b0b4705..572c7f6db 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Database/notes.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Database/notes.md @@ -1,2 +1,15 @@ # notes -
Column NameData TypeNullityDefault valueDescription
noteIdTextNon-null The unique ID of the note (e.g. 2LJrKqIhr0Pe).
titleTextNon-null"note"The title of the note, as defined by the user.
isProtectedIntegerNon-null01 if the entity is protected, 0 otherwise.
typeTextNon-null"text"The type of note (i.e. text, file, code, relationMap, mermaid, canvas).
mimeTextNon-null"text/html"The MIME type of the note (e.g. text/html).. Note that it can be an empty string in some circumstances, but not null.
isDeletedIntegerNullable01 if the entity is deleted, 0 otherwise.
deleteIdTextNon-nullnull 
dateCreatedTextNon-null Localized creation date (e.g. 2023-11-08 18:43:44.204+0200)
dateModifiedTextNon-null Localized modification date (e.g. 2023-11-08 18:43:44.204+0200)
utcDateCreatedTextNon-null Creation date in UTC format (e.g. 2023-11-08 16:43:44.204Z)
utcDateModifiedTextNon-null Modification date in UTC format (e.g. 2023-11-08 16:43:44.204Z)
blobIdTextNullablenullThe corresponding ID from blobs. Although it can theoretically be NULL, haven't found any such note yet.
\ No newline at end of file +| Column Name | Data Type | Nullity | Default value | Description | +| --- | --- | --- | --- | --- | +| `noteId` | Text | Non-null | | The unique ID of the note (e.g. `2LJrKqIhr0Pe`). | +| `title` | Text | Non-null | `"note"` | The title of the note, as defined by the user. | +| `isProtected` | Integer | Non-null | 0 | `1` if the entity is [protected](../Protected%20entities.md), `0` otherwise. | +| `type` | Text | Non-null | `"text"` | The type of note (i.e. `text`, `file`, `code`, `relationMap`, `mermaid`, `canvas`). | +| `mime` | Text | Non-null | `"text/html"` | The MIME type of the note (e.g. `text/html`).. Note that it can be an empty string in some circumstances, but not null. | +| `isDeleted` | Integer | Nullable | 0 | `1` if the entity is [deleted](../Deleted%20notes.md), `0` otherwise. | +| `deleteId` | Text | Non-null | `null` | | +| `dateCreated` | Text | Non-null | | Localized creation date (e.g. `2023-11-08 18:43:44.204+0200`) | +| `dateModified` | Text | Non-null | | Localized modification date (e.g. `2023-11-08 18:43:44.204+0200`) | +| `utcDateCreated` | Text | Non-null | | Creation date in UTC format (e.g. `2023-11-08 16:43:44.204Z`) | +| `utcDateModified` | Text | Non-null | | Modification date in UTC format (e.g. `2023-11-08 16:43:44.204Z`) | +| `blobId` | Text | Nullable | `null` | The corresponding ID from blobs. Although it can theoretically be `NULL`, haven't found any such note yet. | \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Database/options.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/options.md index 3bbc01a86..54c2c63d2 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Database/options.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Database/options.md @@ -1,2 +1,7 @@ # options -
Column NameData TypeNullityDefault valueDescription
nameTextNon-null The name of option (e.g. maxContentWidth)
valueTextNon-null The value of the option.
isSyncedIntegerNon-null00 if the option is not synchronized and thus can differ between clients, 1 if the option is synchronized.
utcDateModifiedTextNon-null Modification date in UTC format (e.g. 2023-11-08 16:43:44.204Z)
\ No newline at end of file +| Column Name | Data Type | Nullity | Default value | Description | +| --- | --- | --- | --- | --- | +| `name` | Text | Non-null | | The name of option (e.g. `maxContentWidth`) | +| `value` | Text | Non-null | | The value of the option. | +| `isSynced` | Integer | Non-null | 0 | `0` if the option is not synchronized and thus can differ between clients, `1` if the option is synchronized. | +| `utcDateModified` | Text | Non-null | | Modification date in UTC format (e.g. `2023-11-08 16:43:44.204Z`) | \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Database/recent_notes.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/recent_notes.md index 479fb985a..8ff34c247 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Database/recent_notes.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Database/recent_notes.md @@ -1,2 +1,6 @@ # recent_notes -
Column NameData TypeNullityDefault valueDescription
noteIdTextNon-null Unique ID of the note (e.g. yRRTLlqTbGoZ).
notePathTextNon-null The path (IDs) to the note from root to the note itself, separated by slashes.
utcDateCreatedTextNon-null Creation date in UTC format (e.g. 2023-11-08 16:43:44.204Z)
\ No newline at end of file +| Column Name | Data Type | Nullity | Default value | Description | +| --- | --- | --- | --- | --- | +| `noteId` | Text | Non-null | | Unique ID of the note (e.g. `yRRTLlqTbGoZ`). | +| `notePath` | Text | Non-null | | The path (IDs) to the [note](notes.md) from root to the note itself, separated by slashes. | +| `utcDateCreated` | Text | Non-null | | Creation date in UTC format (e.g. `2023-11-08 16:43:44.204Z`) | \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Database/revisions.md b/docs/Developer Guide/Developer Guide/Development and architecture/Database/revisions.md index 3afe8e243..210e05356 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Database/revisions.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Database/revisions.md @@ -1,2 +1,15 @@ # revisions -
Column NameData TypeNullityDefault valueDescription
revisionIdTextTextNon-null Unique ID of the revision (e.g. 0GjgUqnEudI8).
noteIdTextNon-null ID of the note this revision belongs to.
typeTextNon-null""The type of note (i.e. text, file, code, relationMap, mermaid, canvas).
mimeTextNon-null""The MIME type of the note (e.g. text/html).
titleTextNon-null The title of the note, as defined by the user.
isProtectedIntegerNon-null01 if the entity is protected, 0 otherwise.
blobIdTextNullablenullThe corresponding ID from blobs. Although it can theoretically be NULL, haven't found any such note yet.
utcDateLastEditedTextNon-null Not sure how it differs from modification date.
utcDateCreatedTextNon-null Creation date in UTC format (e.g. 2023-11-08 16:43:44.204Z)
utcDateModifiedTextNon-null Modification date in UTC format (e.g. 2023-11-08 16:43:44.204Z)
dateLastEditedTextNon-null Not sure how it differs from modification date.
dateCreatedTextNon-null Localized creatino date (e.g. 2023-08-12 15:10:04.045+0300)
\ No newline at end of file +| Column Name | Data Type | Nullity | Default value | Description | +| --- | --- | --- | --- | --- | +| `revisionId` | TextText | Non-null | | Unique ID of the revision (e.g. `0GjgUqnEudI8`). | +| `noteId` | Text | Non-null | | ID of the [note](notes.md) this revision belongs to. | +| `type` | Text | Non-null | `""` | The type of note (i.e. `text`, `file`, `code`, `relationMap`, `mermaid`, `canvas`). | +| `mime` | Text | Non-null | `""` | The MIME type of the note (e.g. `text/html`). | +| `title` | Text | Non-null | | The title of the note, as defined by the user. | +| `isProtected` | Integer | Non-null | 0 | `1` if the entity is [protected](../Protected%20entities.md), `0` otherwise. | +| `blobId` | Text | Nullable | `null` | The corresponding ID from blobs. Although it can theoretically be `NULL`, haven't found any such note yet. | +| `utcDateLastEdited` | Text | Non-null | | **Not sure how it differs from modification date.** | +| `utcDateCreated` | Text | Non-null | | Creation date in UTC format (e.g. `2023-11-08 16:43:44.204Z`) | +| `utcDateModified` | Text | Non-null | | Modification date in UTC format (e.g. `2023-11-08 16:43:44.204Z`) | +| `dateLastEdited` | Text | Non-null | | **Not sure how it differs from modification date.** | +| `dateCreated` | Text | Non-null | | Localized creatino date (e.g. `2023-08-12 15:10:04.045+0300`) | \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Icons.md b/docs/Developer Guide/Developer Guide/Development and architecture/Icons.md index 68d57f474..791e26f6c 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Icons.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Icons.md @@ -13,11 +13,15 @@ All the icons are now built off of the SVGs in the `images` directory using the These are stored in `images`: -
NameResolutionDescription
icon-black.svg53x40Used by the global menu button when not hovered.
icon-color.svg53x40Used by the global menu when hovered.
icon-grey.svg53x40Used by the dark theme, in place of icon-black.svg.
+| Name | Resolution | Description | +| --- | --- | --- | +| `icon-black.svg` | 53x40 | Used by the global menu button when not hovered. | +| `icon-color.svg` | 53x40 | Used by the global menu when hovered. | +| `icon-grey.svg` | 53x40 | Used by the dark theme, in place of `icon-black.svg`. | ## App icons -
NameResolutionDescription
ios/apple-touch-icon.png180x180Used as apple-touch-icon, but only in login.ejs and set_password.ejs for some reason.
mac/icon.icns512x512Provided as --icon to electron-packager for mac-arm64 and mac-x64 builds.
png/128x128.png128x128Used in linux-x64 build, to provide an icon.png.
png/256x256-dev.png256x256Used by the Electron window icon, if in dev mode.
png/256x256.pngUsed by the Electron window icon, if not in dev mode.
win/icon.ico
  • ICO 16x16
  • ICO 32x32
  • ICO 48x48
  • ICO 64x64
  • ICO 128x128
  • PNG 256x256
  • Used by the win-x64 build.
  • Used by Squirrel Windows installer for: setup icon, app icon, control panel icon
  • Used as the favicon.
win/setup-banner.gif640x480Used by the Squirrel Windows installer during the installation process. Has only one frame.
+
NameResolutionDescription
ios/apple-touch-icon.png180x180Used as apple-touch-icon, but only in login.ejs and set_password.ejs for some reason.
mac/icon.icns512x512Provided as --icon to electron-packager for mac-arm64 and mac-x64 builds.
png/128x128.png128x128Used in linux-x64 build, to provide an icon.png.
png/256x256-dev.png256x256Used by the Electron window icon, if in dev mode.
png/256x256.pngUsed by the Electron window icon, if not in dev mode.
win/icon.ico
  • ICO 16x16
  • ICO 32x32
  • ICO 48x48
  • ICO 64x64
  • ICO 128x128
  • PNG 256x256
  • Used by the win-x64 build.
  • Used by Squirrel Windows installer for: setup icon, app icon, control panel icon
  • Used as the favicon.
win/setup-banner.gif640x480Used by the Squirrel Windows installer during the installation process. Has only one frame.
## Additional locations where the branding is used diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Adaptive icon.md b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Adaptive icon.md index c613c0b20..76cd5e428 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Adaptive icon.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Adaptive icon.md @@ -1,6 +1,15 @@ # Adaptive icon -
Before
After
With new scale
+| | | +| --- | --- | +| Before |
| +| After |
| +| With new scale |
| ## Scale -
0.9
0.85
0.8
0.75
\ No newline at end of file +| | | +| --- | --- | +| 0.9 |
| +| 0.85 |
| +| 0.8 |
| +| 0.75 |
| \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Slightly blurry icon on Mac.md b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Slightly blurry icon on Mac.md index 48308c6fd..a59a8abfe 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Slightly blurry icon on Mac.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Icons on Mac/Slightly blurry icon on Mac.md @@ -27,7 +27,7 @@ Even with a 1024x1024 icon, the image is still blurry. Comparing the `.icns` file from the Electron build reveals that the `.icns` file has been tampered with: -
The electron.icns from the resulting buildThe icon source
File: images/app-icons/mac/electron.icns
+
The electron.icns from the resulting buildThe icon source
File: images/app-icons/mac/electron.icns
   icp4: 1140 bytes, png: 16x16
   icp5: 1868 bytes, png: 32x32
   ic07: 9520 bytes, png: 128x128
@@ -37,7 +37,7 @@ Comparing the `.icns` file from the Electron build reveals that the `.icns` file
   icp5: 4364 bytes, png: 32x32
   ic07: 26273 bytes, png: 128x128
   ic09: 206192 bytes, png: 512x512
-  ic10: 716034 bytes, png: 512x512@2x
+ ic10: 716034 bytes, png: 512x512@2x
The bluriness might come from the image itself: [https://stackoverflow.com/questions/54030521/convert-svg-to-png-with-sharp-edges](https://stackoverflow.com/questions/54030521/convert-svg-to-png-with-sharp-edges)  diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Removed icons.md b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Removed icons.md index fd0100223..42df7d2b1 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Removed icons.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Icons/Removed icons.md @@ -5,8 +5,23 @@ The following icons were removed: These are stored in `images`: -
NameResolutionDescription
icon-black.png36x36Does not appear to be used.
icon-color.png36x36Used only by some tests in test-etapi.
icon-grey.png36x36Does not appear to be used.
icon.svg210x297Does not appear to be used.
+| Name | Resolution | Description | +| --- | --- | --- | +| `icon-black.png` | 36x36 | Does not appear to be used. | +| `icon-color.png` | 36x36 | Used only by some tests in `test-etapi`. | +| `icon-grey.png` | 36x36 | Does not appear to be used. | +| `icon.svg` | 210x297 | Does not appear to be used. | ## App icons -
NameResolutionDescription
png/16x16-bw.png16x16Do not appear to be used.
png/16x16.png
png/24x24.png24x24
png/32x32.png32x32
png/48x48.png48x48
png/64x64.png64x64
png/96x96.png96x96
png/512x512.png512x512Does not appear to be used.
win/setup-banner.xcf GIMP source for win/setup-banner.gif. Provided only for future editing.
\ No newline at end of file +| Name | Resolution | Description | +| --- | --- | --- | +| `png/16x16-bw.png` | 16x16 | Do not appear to be used. | +| `png/16x16.png` | +| `png/24x24.png` | 24x24 | +| `png/32x32.png` | 32x32 | +| `png/48x48.png` | 48x48 | +| `png/64x64.png` | 64x64 | +| `png/96x96.png` | 96x96 | +| `png/512x512.png` | 512x512 | Does not appear to be used. | +| `win/setup-banner.xcf` | | GIMP source for `win/setup-banner.gif`. Provided only for future editing. | \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Development and architecture/Note types.md b/docs/Developer Guide/Developer Guide/Development and architecture/Note types.md index c2d56e7aa..e8b9c6a3c 100644 --- a/docs/Developer Guide/Developer Guide/Development and architecture/Note types.md +++ b/docs/Developer Guide/Developer Guide/Development and architecture/Note types.md @@ -3,7 +3,7 @@ The note type is defined by the `type` column in 
Note Typetype valueCorresponding MIME typeContent of the note's blobRelevant attributes
Texttext The HTML of the note. 
Relation Map relationMapapplication/json

A JSON describing the note:

{
+
Note Typetype valueCorresponding MIME typeContent of the note's blobRelevant attributes
Texttext The HTML of the note. 
Relation Map relationMapapplication/json

A JSON describing the note:

{
     "notes": [
         {
             "noteId": "gFQDL11KEm9G",
@@ -27,4 +27,4 @@ Possible types:
 	"files": {},
 	"type": "excalidraw",
 	"version": 2
-}
None
Mermaid Diagrammermaidtext/mermaid or text/plainThe plain text content of the Mermaid diagram.None
Bookbooktext/html or blank.An empty blob.
  • #viewType which can be either grid or list.
  • #expanded

both options are shown to the user via the “Book Properties” ribbon widget.

Web ViewwebViewblankAn empty blob.#webViewSrc pointing to an URL to render.
CodecodeDepends on the language (e.g. text/plain, text/x-markdown, text/x-c++src).The plain text content. 
\ No newline at end of file +}
None
Mermaid Diagrammermaidtext/mermaid or text/plainThe plain text content of the Mermaid diagram.None
Bookbooktext/html or blank.An empty blob.
  • #viewType which can be either grid or list.
  • #expanded

both options are shown to the user via the “Book Properties” ribbon widget.

Web ViewwebViewblankAn empty blob.#webViewSrc pointing to an URL to render.
CodecodeDepends on the language (e.g. text/plain, text/x-markdown, text/x-c++src).The plain text content. 
\ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Build deliveries locally.md b/docs/Developer Guide/Developer Guide/Old documentation/Build deliveries locally.md index 6f21bd626..5d6f37b38 100644 --- a/docs/Developer Guide/Developer Guide/Old documentation/Build deliveries locally.md +++ b/docs/Developer Guide/Developer Guide/Old documentation/Build deliveries locally.md @@ -1,7 +1,13 @@ # Build deliveries locally In the project root: -
PlatformArchitectureApplicationBuild command
macOSx86_64Desktop / Electron app./bin/build-mac-x64.sh
ARM 64Desktop / Electron app./bin/build-mac-arm64.sh
Linuxx86_64Desktop / Electron app./bin/build-linux-x64.sh
Server./bin/build-server.sh
Windowsx86_64Desktop / Electron app./bin/build-win-x64.sh
+| Platform | Architecture | Application | Build command | +| --- | --- | --- | --- | +| macOS | x86\_64 | Desktop / Electron app | `./bin/build-mac-x64.sh` | +| ARM 64 | Desktop / Electron app | `./bin/build-mac-arm64.sh` | +| Linux | x86\_64 | Desktop / Electron app | `./bin/build-linux-x64.sh` | +| Server | `./bin/build-server.sh` | +| Windows | x86\_64 | Desktop / Electron app | `./bin/build-win-x64.sh` | Under NixOS the following `nix-shell` is needed: @@ -19,8 +25,8 @@ The resulting build will be in the `dist` directory under the project root. ### Testing the Linux builds under NixOS -
Desktop clientServer
$ NIXPKGS_ALLOW_UNFREE=1 nix-shell -p steam-run
+
Desktop clientServer
$ NIXPKGS_ALLOW_UNFREE=1 nix-shell -p steam-run
 [nix-shell] cd dist/trilium-linux-x64
 [nix-shell] steam-run ./trilium
$ NIXPKGS_ALLOW_UNFREE=1 nix-shell -p steam-run
 [nix-shell] cd dist/trilium-linux-x64-server
-[nix-shell] steam-run ./trilium.sh
\ No newline at end of file +[nix-shell] steam-run ./trilium.sh
\ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Project maintenance/Updating dependencies.md b/docs/Developer Guide/Developer Guide/Old documentation/Project maintenance/Updating dependencies.md index 0c8f4e7d6..fb27cb6bf 100644 --- a/docs/Developer Guide/Developer Guide/Old documentation/Project maintenance/Updating dependencies.md +++ b/docs/Developer Guide/Developer Guide/Old documentation/Project maintenance/Updating dependencies.md @@ -1,2 +1,2 @@ # Updating dependencies -
DependencyName in library_loaderThings to check for a basic sanity check Protected by unit tests
better-sqlite3 See bettersqlite binaries.  
jsdom 
  • Note map
  • Clipper
  • Note similarity
Protected by typings, should catch any potential changes in API.Yes
async-mutex 
  • Sync
  
axios 
  • Can't be directly tested, as it's exposed only via the backend script API.
  
sax 
  • EverNote imports
  
  • ws
  • debounce
 
  • Check any action is reported from server to client (e.g. delete a note).
  
ejs 
  • Onboarding / first setup
  
dayjs 
  • Day notes
  
semver 
  • Application should start.
  
https-proxy-agent ???  
sax 
  • EverNote import
  
ini 
  • Affects config, generally if the application starts then it should be OK.
  
jsplumbRELATION_MAP
  • Relation map note type
  
jquery.mark.es6MARKJS
  • In search, when highlighting the text that matched.
  • In search in HTML, which might not actually be used since it seems to have been replaced by CKEditor's own find & replace dialog.
  
knockout.js 
  • Used in rendering the login and main layout of the application.
  
normalize.min.css 
  • Used in shared notes.
  
wheel-zoom.min.jsWHEEL_ZOOM
  • When opening a image that is in attachment.
  • When opening a stand-alone image note.
  • When zooming in a mermaid chart.
  
fancytree 
  • The note tree should be fully functional.
  
bootstrap 
  • Check mostly the on-boarding pages, when there is no database.
  
electron-debug 
  • Run electron using npm run start-electron and check that the debug hotkeys are still working (Ctrl+Shift+I on Windows/Linux, Cmd+Alt+I for dev tools, Cmd/Ctrl+R for reload).
  
electron-dl    
eslint    
marked 
  • Importing a markdown note.
 Yes
force-graph 
  • Note map
  
\ No newline at end of file +
DependencyName in library_loaderThings to check for a basic sanity check Protected by unit tests
better-sqlite3 See bettersqlite binaries.  
jsdom 
  • Note map
  • Clipper
  • Note similarity
Protected by typings, should catch any potential changes in API.Yes
async-mutex 
  • Sync
  
axios 
  • Can't be directly tested, as it's exposed only via the backend script API.
  
sax 
  • EverNote imports
  
  • ws
  • debounce
 
  • Check any action is reported from server to client (e.g. delete a note).
  
ejs 
  • Onboarding / first setup
  
dayjs 
  • Day notes
  
semver 
  • Application should start.
  
https-proxy-agent ???  
sax 
  • EverNote import
  
ini 
  • Affects config, generally if the application starts then it should be OK.
  
jsplumbRELATION_MAP
  • Relation map note type
  
jquery.mark.es6MARKJS
  • In search, when highlighting the text that matched.
  • In search in HTML, which might not actually be used since it seems to have been replaced by CKEditor's own find & replace dialog.
  
knockout.js 
  • Used in rendering the login and main layout of the application.
  
normalize.min.css 
  • Used in shared notes.
  
wheel-zoom.min.jsWHEEL_ZOOM
  • When opening a image that is in attachment.
  • When opening a stand-alone image note.
  • When zooming in a mermaid chart.
  
fancytree 
  • The note tree should be fully functional.
  
bootstrap 
  • Check mostly the on-boarding pages, when there is no database.
  
electron-debug 
  • Run electron using npm run start-electron and check that the debug hotkeys are still working (Ctrl+Shift+I on Windows/Linux, Cmd+Alt+I for dev tools, Cmd/Ctrl+R for reload).
  
electron-dl    
eslint    
marked 
  • Importing a markdown note.
 Yes
force-graph 
  • Note map
  
\ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Project maintenance/Updating dependencies/Node.js, Electron and `better-.md b/docs/Developer Guide/Developer Guide/Old documentation/Project maintenance/Updating dependencies/Node.js, Electron and `better-.md index e5f18fba2..1a58275af 100644 --- a/docs/Developer Guide/Developer Guide/Old documentation/Project maintenance/Updating dependencies/Node.js, Electron and `better-.md +++ b/docs/Developer Guide/Developer Guide/Old documentation/Project maintenance/Updating dependencies/Node.js, Electron and `better-.md @@ -5,4 +5,32 @@ Trilium Next started with version [8.4.0](https://github.com/WiseLibs/better-sqlite3/releases/tag/v8.4.0) for `better-sqlite3` -
better-sqlite3 versionSQLite versionNode.js prebuildsElectron.js prebuilds
8.4.0<3.43.0v20???
8.5.0v20v25
8.5.1 v26
8.5.2v20 (macOS + arm64)
8.6.03.43.0 
8.7.03.43.1 
9.0.03.43.2 v27
9.1.03.44.0 
9.1.1macOS + Alpine
9.2.03.44.2 
9.2.1 / 9.2.2 v28
9.3.03.45.0 
9.4.03.45.1 
9.4.1Windows arm, arm64
9.4.2 <v29
9.4.3 <v29
9.4.4 v29
9.4.5Better prebuilds
9.5.03.45.2 
9.6.03.45.3 v30
10.0.0v22
10.1.03.46.0 
11.0.0>21
11.1.0 (prerelease)  v31
11.1.1  
11.1.2  
\ No newline at end of file +| | | | | +| --- | --- | --- | --- | +| `better-sqlite3` version | SQLite version | Node.js prebuilds | Electron.js prebuilds | +| 8.4.0 | <3.43.0 | v20 | ??? | +| 8.5.0 | v20 | v25 | +| 8.5.1 | | v26 | +| 8.5.2 | v20 (macOS + arm64) | +| 8.6.0 | 3.43.0 | | +| 8.7.0 | 3.43.1 | | +| 9.0.0 | 3.43.2 | | v27 | +| 9.1.0 | 3.44.0 | | +| 9.1.1 | macOS + Alpine | +| 9.2.0 | 3.44.2 | | +| 9.2.1 / 9.2.2 | | v28 | +| 9.3.0 | 3.45.0 | | +| 9.4.0 | 3.45.1 | | +| 9.4.1 | Windows arm, arm64 | +| 9.4.2 | | 21 | +| 11.1.0 (prerelease) | | | v31 | +| 11.1.1 | | | +| 11.1.2 | | | \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Project maintenance/Updating dependencies/Testing compatibility.md b/docs/Developer Guide/Developer Guide/Old documentation/Project maintenance/Updating dependencies/Testing compatibility.md index f4a6057f2..381326055 100644 --- a/docs/Developer Guide/Developer Guide/Old documentation/Project maintenance/Updating dependencies/Testing compatibility.md +++ b/docs/Developer Guide/Developer Guide/Old documentation/Project maintenance/Updating dependencies/Testing compatibility.md @@ -1,2 +1,15 @@ # Testing compatibility -
better-sqlite3 version
Change log
SQLite version
Change log
Compatibility with upstream Trilium
8.4.0<3.43.0Compatible, same version.
8.6.03.43.0 
8.7.03.43.1 
9.0.03.43.2 
9.1.0 + 9.1.13.44.0 
9.2.0 + 9.2.1 + 9.2.23.44.2 
9.3.03.45.0 
9.4.0, 9.4.1, 9.4.2, 9.4.3, 9.4.4, 9.4.53.45.1 
9.5.03.45.2 
9.6.0 / 10.0.03.45.3 
10.1.0 / 11.0.0 / 11.1.1 / 11.1.2 / 11.2.0 / 11.2.13.46.0 
11.3.03.46.1 
\ No newline at end of file +| `better-sqlite3` version
[Change log](https://github.com/WiseLibs/better-sqlite3/releases) | SQLite version
[Change log](https://www.sqlite.org/changes.html) | Compatibility with upstream Trilium | +| --- | --- | --- | +| 8.4.0 | <3.43.0 | Compatible, same version. | +| 8.6.0 | 3.43.0 | | +| 8.7.0 | 3.43.1 | | +| 9.0.0 | 3.43.2 | | +| 9.1.0 + 9.1.1 | 3.44.0 | | +| 9.2.0 + 9.2.1 + 9.2.2 | 3.44.2 | | +| 9.3.0 | 3.45.0 | | +| 9.4.0, 9.4.1, 9.4.2, 9.4.3, 9.4.4, 9.4.5 | 3.45.1 | | +| 9.5.0 | 3.45.2 | | +| 9.6.0 / 10.0.0 | 3.45.3 | | +| 10.1.0 / 11.0.0 / 11.1.1 / 11.1.2 / 11.2.0 / 11.2.1 | 3.46.0 | | +| 11.3.0 | 3.46.1 | | \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Sub-projects/CKEditor/Differences from upstream.md b/docs/Developer Guide/Developer Guide/Old documentation/Sub-projects/CKEditor/Differences from upstream.md index 132b9e859..200250b4e 100644 --- a/docs/Developer Guide/Developer Guide/Old documentation/Sub-projects/CKEditor/Differences from upstream.md +++ b/docs/Developer Guide/Developer Guide/Old documentation/Sub-projects/CKEditor/Differences from upstream.md @@ -3,7 +3,10 @@ * Zadam left a TODO in `findandreplaceUI`: `// FIXME: keyboard shortcut doesn't work:` [`https://github.com/ckeditor/ckeditor5/issues/10645`](https://github.com/ckeditor/ckeditor5/issues/10645) * `packages\ckeditor5-build-balloon-block\src\mention_customization.js` introduces note insertion via `@` character. -
Affected fileAffected methodChanged inReason for change
packages/ckeditor5-mention/src/mentionui.tscreateRegExp()6db05043be24bacf9bd51ea46408232b01a1b232 (added back)Allows triggering the autocomplete for labels and attributes in the attribute editor.
init()55a63a1934efb9a520fcc2d69f3ce55ac22aca39Allows dismissing @-mention permanently after pressing ESC, otherwise it would automatically show up as soon as a space was entered.
+| Affected file | Affected method | Changed in | Reason for change | +| --- | --- | --- | --- | +| `packages/ckeditor5-mention/src/mentionui.ts` | `createRegExp()` | `6db05043be24bacf9bd51ea46408232b01a1b232` (added back) | Allows triggering the autocomplete for labels and attributes in the attribute editor. | +| `init()` | `55a63a1934efb9a520fcc2d69f3ce55ac22aca39` | Allows dismissing @-mention permanently after pressing ESC, otherwise it would automatically show up as soon as a space was entered. | ## Checking the old repo diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Sub-projects/CKEditor/Versions and external plugins.md b/docs/Developer Guide/Developer Guide/Old documentation/Sub-projects/CKEditor/Versions and external plugins.md index dae4810a1..6b5834ee4 100644 --- a/docs/Developer Guide/Developer Guide/Old documentation/Sub-projects/CKEditor/Versions and external plugins.md +++ b/docs/Developer Guide/Developer Guide/Old documentation/Sub-projects/CKEditor/Versions and external plugins.md @@ -1,4 +1,8 @@ # Versions and external plugins ## External plugins -
trilium-ckeditor543.2.0 
ckeditor5-math See ckeditor5-math.
   
\ No newline at end of file +| | | | +| --- | --- | --- | +| trilium-ckeditor5 | 43.2.0 | | +| `ckeditor5-math` | | See 
ckeditor5-math. | +| | | | \ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Old documentation/Testing.md b/docs/Developer Guide/Developer Guide/Old documentation/Testing.md index 1f26e37e7..95efd9919 100644 --- a/docs/Developer Guide/Developer Guide/Old documentation/Testing.md +++ b/docs/Developer Guide/Developer Guide/Old documentation/Testing.md @@ -5,7 +5,7 @@ Using `vitest`, there are some unit and integration tests done for both the clie These tests can be found by looking for the corresponding `.spec.ts` in the same directory as the source file. -

To run the server-side tests:

npm run server:test

To view the code coverage for the server:

npm run server:coverage

Afterwards, a friendly HTML report can be found in /coverage/index.html.

To run the client-side tests:

npm run client:test

To view the code coverage for the client:

npm run client:coverage

Afterwards, a friendly HTML report can be found in /src/public/app/coverage/index.html.

+

To run the server-side tests:

npm run server:test

To view the code coverage for the server:

npm run server:coverage

Afterwards, a friendly HTML report can be found in /coverage/index.html.

To run the client-side tests:

npm run client:test

To view the code coverage for the client:

npm run client:coverage

Afterwards, a friendly HTML report can be found in /src/public/app/coverage/index.html.

To run both client and server-side tests: diff --git a/docs/Release Notes/!!!meta.json b/docs/Release Notes/!!!meta.json index 5c2bff16f..d3407925f 100644 --- a/docs/Release Notes/!!!meta.json +++ b/docs/Release Notes/!!!meta.json @@ -1,6 +1,6 @@ { "formatVersion": 2, - "appVersion": "0.97.0", + "appVersion": "0.97.1", "files": [ { "isClone": false, diff --git a/docs/Release Notes/Release Notes/v0.90.1-beta.md b/docs/Release Notes/Release Notes/v0.90.1-beta.md index ac1e70cce..33c7cac6e 100644 --- a/docs/Release Notes/Release Notes/v0.90.1-beta.md +++ b/docs/Release Notes/Release Notes/v0.90.1-beta.md @@ -21,11 +21,36 @@ The following regressions due to the conversion to TypeScript has been solved, c ### Client-side library updates -
LibraryOld versionNew version
axios1.6.71.7.2
excalidraw0.17.30.17.6
katex0.16.90.16.11
mermaid10.9.010.9.1
react, react-dom18.2.018.3.1
+| Library | Old version | New version | +| --- | --- | --- | +| `axios` | 1.6.7 | 1.7.2 | +| `excalidraw` | 0.17.3 | 0.17.6 | +| `katex` | 0.16.9 | 0.16.11 | +| `mermaid` | 10.9.0 | 10.9.1 | +| `react`, `react-dom` | 18.2.0 | 18.3.1 | ### Server-side library updates -
LibraryOld versionNew version
sanitize-url6.0.47.1.0
archiver7.0.07.0.1
marked12.0.013.0.2
sanitize-html1.6.71.7.2
turndown7.1.27.2.0
yauzl3.1.23.1.3
express4.18.34.19.2
express-rate-limit7.2.07.3.1
jsdom24.0.024.1.0
ws8.16.08.18.0
ejs3.1.93.1.10
dayjs1.11.101.11.12
semver7.6.07.6.3
async-mutex0.4.10.5.0
https-proxy-agent7.0.47.0.5
sax1.3.01.4.1
ini3.0.14.1.3
debounce1.2.12.1.0
+| Library | Old version | New version | +| --- | --- | --- | +| `sanitize-url` | 6.0.4 | 7.1.0 | +| `archiver` | 7.0.0 | 7.0.1 | +| `marked` | 12.0.0 | 13.0.2 | +| `sanitize-html` | 1.6.7 | 1.7.2 | +| `turndown` | 7.1.2 | 7.2.0 | +| `yauzl` | 3.1.2 | 3.1.3 | +| `express` | 4.18.3 | 4.19.2 | +| `express-rate-limit` | 7.2.0 | 7.3.1 | +| `jsdom` | 24.0.0 | 24.1.0 | +| `ws` | 8.16.0 | 8.18.0 | +| `ejs` | 3.1.9 | 3.1.10 | +| `dayjs` | 1.11.10 | 1.11.12 | +| `semver` | 7.6.0 | 7.6.3 | +| `async-mutex` | 0.4.1 | 0.5.0 | +| `https-proxy-agent` | 7.0.4 | 7.0.5 | +| `sax` | 1.3.0 | 1.4.1 | +| `ini` | 3.0.1 | 4.1.3 | +| `debounce` | 1.2.1 | 2.1.0 | ## ✨ Technical improvements diff --git a/docs/User Guide/!!!meta.json b/docs/User Guide/!!!meta.json index 00d41cf82..be4f4abe6 100644 --- a/docs/User Guide/!!!meta.json +++ b/docs/User Guide/!!!meta.json @@ -1,6 +1,6 @@ { "formatVersion": 2, - "appVersion": "0.97.0", + "appVersion": "0.97.1", "files": [ { "isClone": false, @@ -3572,593 +3572,6 @@ "position": 10, "dataFileName": "Note List_image.png" } - ], - "dirFileName": "Note List", - "children": [ - { - "isClone": false, - "noteId": "xWbu3jpNWapp", - "notePath": [ - "pOsGYCXsbNQG", - "gh7bpGYxajRS", - "BFs8mudNFgCS", - "0ESUbbAxVnoK", - "xWbu3jpNWapp" - ], - "title": "Calendar View", - "notePosition": 10, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "ZjLYv08Rp3qC", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "BlN9DFI679QC", - "isInheritable": false, - "position": 20 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bx-calendar", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "Calendar View.md", - "attachments": [ - { - "attachmentId": "37CfbqKYcOtd", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "Calendar View_image.png" - }, - { - "attachmentId": "akAHcIEcGnWR", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "1_Calendar View_image.png" - }, - { - "attachmentId": "AU7dnIevWPrz", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "2_Calendar View_image.png" - }, - { - "attachmentId": "COiR1tnE86i1", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "3_Calendar View_image.png" - }, - { - "attachmentId": "fOdCNTs2BuI0", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "4_Calendar View_image.png" - }, - { - "attachmentId": "HfBu0m3WXtn2", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "5_Calendar View_image.png" - }, - { - "attachmentId": "ho00OJTNrxVI", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "6_Calendar View_image.png" - }, - { - "attachmentId": "irfNX8n4159U", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "7_Calendar View_image.png" - }, - { - "attachmentId": "KF56rdNuOwWd", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "8_Calendar View_image.png" - }, - { - "attachmentId": "oBWr5GL6cUAZ", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "9_Calendar View_image.png" - }, - { - "attachmentId": "oS6yUoQtfhpg", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "10_Calendar View_image.png" - }, - { - "attachmentId": "u2c09UpZghff", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "11_Calendar View_image.png" - } - ] - }, - { - "isClone": false, - "noteId": "2FvYrpmOXm29", - "notePath": [ - "pOsGYCXsbNQG", - "gh7bpGYxajRS", - "BFs8mudNFgCS", - "0ESUbbAxVnoK", - "2FvYrpmOXm29" - ], - "title": "Table View", - "notePosition": 20, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "OFXdgB2nNk1F", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "m1lbrzyKDaRB", - "isInheritable": false, - "position": 20 - }, - { - "type": "relation", - "name": "internalLink", - "value": "eIg8jdvaoNNd", - "isInheritable": false, - "position": 30 - }, - { - "type": "relation", - "name": "internalLink", - "value": "oPVyFC7WL2Lp", - "isInheritable": false, - "position": 40 - }, - { - "type": "relation", - "name": "internalLink", - "value": "CdNpE2pqjmI6", - "isInheritable": false, - "position": 50 - }, - { - "type": "relation", - "name": "internalLink", - "value": "BlN9DFI679QC", - "isInheritable": false, - "position": 60 - }, - { - "type": "relation", - "name": "internalLink", - "value": "m523cpzocqaD", - "isInheritable": false, - "position": 70 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bx-table", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "Table View.md", - "attachments": [ - { - "attachmentId": "vJYUG9fLQ2Pd", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "Table View_image.png" - } - ] - }, - { - "isClone": false, - "noteId": "81SGnPGMk7Xc", - "notePath": [ - "pOsGYCXsbNQG", - "gh7bpGYxajRS", - "BFs8mudNFgCS", - "0ESUbbAxVnoK", - "81SGnPGMk7Xc" - ], - "title": "Geo Map View", - "notePosition": 40, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "0ESUbbAxVnoK", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "IakOLONlIfGI", - "isInheritable": false, - "position": 20 - }, - { - "type": "relation", - "name": "internalLink", - "value": "ZjLYv08Rp3qC", - "isInheritable": false, - "position": 30 - }, - { - "type": "relation", - "name": "internalLink", - "value": "KSZ04uQ2D1St", - "isInheritable": false, - "position": 40 - }, - { - "type": "relation", - "name": "internalLink", - "value": "XpOYSgsLkTJy", - "isInheritable": false, - "position": 50 - }, - { - "type": "relation", - "name": "internalLink", - "value": "oPVyFC7WL2Lp", - "isInheritable": false, - "position": 60 - }, - { - "type": "relation", - "name": "internalLink", - "value": "lgKX7r3aL30x", - "isInheritable": false, - "position": 70 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bx-map-alt", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "Geo Map View.md", - "attachments": [ - { - "attachmentId": "1f07O0Z25ZRr", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "Geo Map View_image.png" - }, - { - "attachmentId": "3oh61qhNLu7D", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "1_Geo Map View_image.png" - }, - { - "attachmentId": "aCSNn9QlgHFi", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "2_Geo Map View_image.png" - }, - { - "attachmentId": "aCuXZY7WV4li", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "3_Geo Map View_image.png" - }, - { - "attachmentId": "agH6yREFgsoU", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "4_Geo Map View_image.png" - }, - { - "attachmentId": "AHyDUM6R5HeG", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "5_Geo Map View_image.png" - }, - { - "attachmentId": "CcjWLhE3KKfv", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "6_Geo Map View_image.png" - }, - { - "attachmentId": "fQy8R1vxKhwN", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "7_Geo Map View_image.png" - }, - { - "attachmentId": "gJ4Yz80jxcbn", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "8_Geo Map View_image.png" - }, - { - "attachmentId": "I39BinT2gsN9", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "9_Geo Map View_image.png" - }, - { - "attachmentId": "IeXU8SLZU7Oz", - "title": "image.jpg", - "role": "image", - "mime": "image/jpg", - "position": 10, - "dataFileName": "Geo Map View_image.jpg" - }, - { - "attachmentId": "Mb9kRm63MxjE", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "10_Geo Map View_image.png" - }, - { - "attachmentId": "Mx2xwNIk76ZS", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "11_Geo Map View_image.png" - }, - { - "attachmentId": "oaahbsMRbqd2", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "12_Geo Map View_image.png" - }, - { - "attachmentId": "pGf1p74KKGU4", - "title": "image.png", - "role": "image", - "mime": "image/jpg", - "position": 10, - "dataFileName": "13_Geo Map View_image.png" - }, - { - "attachmentId": "tfa1TRUatWEh", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "14_Geo Map View_image.png" - }, - { - "attachmentId": "tuNZ7Uk9WfX1", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "15_Geo Map View_image.png" - }, - { - "attachmentId": "x6yBLIsY2LSv", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "16_Geo Map View_image.png" - }, - { - "attachmentId": "yJMyBRYA3Kwi", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "17_Geo Map View_image.png" - }, - { - "attachmentId": "ZvTlu9WMd37z", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "18_Geo Map View_image.png" - } - ] - }, - { - "isClone": false, - "noteId": "8QqnMzx393bx", - "notePath": [ - "pOsGYCXsbNQG", - "gh7bpGYxajRS", - "BFs8mudNFgCS", - "0ESUbbAxVnoK", - "8QqnMzx393bx" - ], - "title": "Grid View", - "notePosition": 50, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "0ESUbbAxVnoK", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "iPIMuisry3hd", - "isInheritable": false, - "position": 20 - }, - { - "type": "relation", - "name": "internalLink", - "value": "6f9hih2hXXZk", - "isInheritable": false, - "position": 30 - }, - { - "type": "relation", - "name": "internalLink", - "value": "W8vYD3Q1zjCR", - "isInheritable": false, - "position": 40 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bxs-grid", - "isInheritable": false, - "position": 20 - } - ], - "format": "markdown", - "dataFileName": "Grid View.md", - "attachments": [ - { - "attachmentId": "al3KatZRq5TB", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "Grid View_image.png" - } - ] - }, - { - "isClone": false, - "noteId": "mULW0Q3VojwY", - "notePath": [ - "pOsGYCXsbNQG", - "gh7bpGYxajRS", - "BFs8mudNFgCS", - "0ESUbbAxVnoK", - "mULW0Q3VojwY" - ], - "title": "List View", - "notePosition": 60, - "prefix": null, - "isExpanded": false, - "type": "text", - "mime": "text/html", - "attributes": [ - { - "type": "relation", - "name": "internalLink", - "value": "8QqnMzx393bx", - "isInheritable": false, - "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "BlN9DFI679QC", - "isInheritable": false, - "position": 20 - }, - { - "type": "label", - "name": "iconClass", - "value": "bx bx-list-ul", - "isInheritable": false, - "position": 10 - } - ], - "format": "markdown", - "dataFileName": "List View.md", - "attachments": [ - { - "attachmentId": "igeOEpKp4ygW", - "title": "image.png", - "role": "image", - "mime": "image/png", - "position": 10, - "dataFileName": "List View_image.png" - } - ] - } ] } ] @@ -8502,7 +7915,7 @@ "dirFileName": "Collections", "children": [ { - "isClone": true, + "isClone": false, "noteId": "xWbu3jpNWapp", "notePath": [ "pOsGYCXsbNQG", @@ -8511,14 +7924,137 @@ "xWbu3jpNWapp" ], "title": "Calendar View", + "notePosition": 10, "prefix": null, - "dataFileName": "Calendar View.clone.md", + "isExpanded": false, "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "ZjLYv08Rp3qC", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "BlN9DFI679QC", + "isInheritable": false, + "position": 20 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-calendar", + "isInheritable": false, + "position": 10 + } + ], "format": "markdown", - "isExpanded": false + "dataFileName": "Calendar View.md", + "attachments": [ + { + "attachmentId": "37CfbqKYcOtd", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "Calendar View_image.png" + }, + { + "attachmentId": "akAHcIEcGnWR", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "1_Calendar View_image.png" + }, + { + "attachmentId": "AU7dnIevWPrz", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "2_Calendar View_image.png" + }, + { + "attachmentId": "COiR1tnE86i1", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "3_Calendar View_image.png" + }, + { + "attachmentId": "fOdCNTs2BuI0", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "4_Calendar View_image.png" + }, + { + "attachmentId": "HfBu0m3WXtn2", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "5_Calendar View_image.png" + }, + { + "attachmentId": "ho00OJTNrxVI", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "6_Calendar View_image.png" + }, + { + "attachmentId": "irfNX8n4159U", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "7_Calendar View_image.png" + }, + { + "attachmentId": "KF56rdNuOwWd", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "8_Calendar View_image.png" + }, + { + "attachmentId": "oBWr5GL6cUAZ", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "9_Calendar View_image.png" + }, + { + "attachmentId": "oS6yUoQtfhpg", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "10_Calendar View_image.png" + }, + { + "attachmentId": "u2c09UpZghff", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "11_Calendar View_image.png" + } + ] }, { - "isClone": true, + "isClone": false, "noteId": "81SGnPGMk7Xc", "notePath": [ "pOsGYCXsbNQG", @@ -8527,14 +8063,236 @@ "81SGnPGMk7Xc" ], "title": "Geo Map View", + "notePosition": 20, "prefix": null, - "dataFileName": "Geo Map View.clone.md", + "isExpanded": false, "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "0ESUbbAxVnoK", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "IakOLONlIfGI", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "ZjLYv08Rp3qC", + "isInheritable": false, + "position": 30 + }, + { + "type": "relation", + "name": "internalLink", + "value": "KSZ04uQ2D1St", + "isInheritable": false, + "position": 40 + }, + { + "type": "relation", + "name": "internalLink", + "value": "XpOYSgsLkTJy", + "isInheritable": false, + "position": 50 + }, + { + "type": "relation", + "name": "internalLink", + "value": "oPVyFC7WL2Lp", + "isInheritable": false, + "position": 60 + }, + { + "type": "relation", + "name": "internalLink", + "value": "lgKX7r3aL30x", + "isInheritable": false, + "position": 70 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-map-alt", + "isInheritable": false, + "position": 10 + } + ], "format": "markdown", - "isExpanded": false + "dataFileName": "Geo Map View.md", + "attachments": [ + { + "attachmentId": "1f07O0Z25ZRr", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "Geo Map View_image.png" + }, + { + "attachmentId": "3oh61qhNLu7D", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "1_Geo Map View_image.png" + }, + { + "attachmentId": "aCSNn9QlgHFi", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "2_Geo Map View_image.png" + }, + { + "attachmentId": "aCuXZY7WV4li", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "3_Geo Map View_image.png" + }, + { + "attachmentId": "agH6yREFgsoU", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "4_Geo Map View_image.png" + }, + { + "attachmentId": "AHyDUM6R5HeG", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "5_Geo Map View_image.png" + }, + { + "attachmentId": "CcjWLhE3KKfv", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "6_Geo Map View_image.png" + }, + { + "attachmentId": "fQy8R1vxKhwN", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "7_Geo Map View_image.png" + }, + { + "attachmentId": "gJ4Yz80jxcbn", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "8_Geo Map View_image.png" + }, + { + "attachmentId": "I39BinT2gsN9", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "9_Geo Map View_image.png" + }, + { + "attachmentId": "IeXU8SLZU7Oz", + "title": "image.jpg", + "role": "image", + "mime": "image/jpg", + "position": 10, + "dataFileName": "Geo Map View_image.jpg" + }, + { + "attachmentId": "Mb9kRm63MxjE", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "10_Geo Map View_image.png" + }, + { + "attachmentId": "Mx2xwNIk76ZS", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "11_Geo Map View_image.png" + }, + { + "attachmentId": "oaahbsMRbqd2", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "12_Geo Map View_image.png" + }, + { + "attachmentId": "pGf1p74KKGU4", + "title": "image.png", + "role": "image", + "mime": "image/jpg", + "position": 10, + "dataFileName": "13_Geo Map View_image.png" + }, + { + "attachmentId": "tfa1TRUatWEh", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "14_Geo Map View_image.png" + }, + { + "attachmentId": "tuNZ7Uk9WfX1", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "15_Geo Map View_image.png" + }, + { + "attachmentId": "x6yBLIsY2LSv", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "16_Geo Map View_image.png" + }, + { + "attachmentId": "yJMyBRYA3Kwi", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "17_Geo Map View_image.png" + }, + { + "attachmentId": "ZvTlu9WMd37z", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "18_Geo Map View_image.png" + } + ] }, { - "isClone": true, + "isClone": false, "noteId": "8QqnMzx393bx", "notePath": [ "pOsGYCXsbNQG", @@ -8543,14 +8301,63 @@ "8QqnMzx393bx" ], "title": "Grid View", + "notePosition": 30, "prefix": null, - "dataFileName": "Grid View.clone.md", + "isExpanded": false, "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "0ESUbbAxVnoK", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "iPIMuisry3hd", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "6f9hih2hXXZk", + "isInheritable": false, + "position": 30 + }, + { + "type": "relation", + "name": "internalLink", + "value": "W8vYD3Q1zjCR", + "isInheritable": false, + "position": 40 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bxs-grid", + "isInheritable": false, + "position": 20 + } + ], "format": "markdown", - "isExpanded": false + "dataFileName": "Grid View.md", + "attachments": [ + { + "attachmentId": "al3KatZRq5TB", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "Grid View_image.png" + } + ] }, { - "isClone": true, + "isClone": false, "noteId": "mULW0Q3VojwY", "notePath": [ "pOsGYCXsbNQG", @@ -8559,14 +8366,49 @@ "mULW0Q3VojwY" ], "title": "List View", + "notePosition": 40, "prefix": null, - "dataFileName": "List View.clone.md", + "isExpanded": false, "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "8QqnMzx393bx", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "BlN9DFI679QC", + "isInheritable": false, + "position": 20 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-list-ul", + "isInheritable": false, + "position": 10 + } + ], "format": "markdown", - "isExpanded": false + "dataFileName": "List View.md", + "attachments": [ + { + "attachmentId": "igeOEpKp4ygW", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "List View_image.png" + } + ] }, { - "isClone": true, + "isClone": false, "noteId": "2FvYrpmOXm29", "notePath": [ "pOsGYCXsbNQG", @@ -8575,11 +8417,81 @@ "2FvYrpmOXm29" ], "title": "Table View", + "notePosition": 50, "prefix": null, - "dataFileName": "Table View.clone.md", + "isExpanded": false, "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "OFXdgB2nNk1F", + "isInheritable": false, + "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "m1lbrzyKDaRB", + "isInheritable": false, + "position": 20 + }, + { + "type": "relation", + "name": "internalLink", + "value": "eIg8jdvaoNNd", + "isInheritable": false, + "position": 30 + }, + { + "type": "relation", + "name": "internalLink", + "value": "oPVyFC7WL2Lp", + "isInheritable": false, + "position": 40 + }, + { + "type": "relation", + "name": "internalLink", + "value": "CdNpE2pqjmI6", + "isInheritable": false, + "position": 50 + }, + { + "type": "relation", + "name": "internalLink", + "value": "BlN9DFI679QC", + "isInheritable": false, + "position": 60 + }, + { + "type": "relation", + "name": "internalLink", + "value": "m523cpzocqaD", + "isInheritable": false, + "position": 70 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-table", + "isInheritable": false, + "position": 10 + } + ], "format": "markdown", - "isExpanded": false + "dataFileName": "Table View.md", + "attachments": [ + { + "attachmentId": "vJYUG9fLQ2Pd", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "Table View_image.png" + } + ] } ] }, diff --git a/docs/User Guide/User Guide/Advanced Usage/Attributes/Labels.md b/docs/User Guide/User Guide/Advanced Usage/Attributes/Labels.md index 8182e3876..53307238f 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Attributes/Labels.md +++ b/docs/User Guide/User Guide/Advanced Usage/Attributes/Labels.md @@ -39,4 +39,4 @@ This is a list of labels that Trilium natively supports. > [!TIP] > Some labels presented here end with a `*`. That means that there are multiple labels with the same prefix, consult the specific page linked in the description of that label for more information. -
LabelDescription
disableVersioningDisables automatic creation of Note Revisions for a particular note. Useful for e.g. large, but unimportant notes - e.g. large JS libraries used for scripting.
versioningLimitLimits the maximum number of Note Revisions for a particular note, overriding the global settings.
calendarRootMarks the note which should be used as root for Day Notes. Only one should be marked as such.
archivedHides notes from default search results and dialogs. Archived notes can optionally be hidden in the Note Tree.
excludeFromExportExcludes this note and its children when exporting.
run, runOnInstance, runAtHourSee Events.
disableInclusionScripts with this label won't be included into parent script execution.
sorted

Keeps child notes sorted by title alphabetically.

When given a value, it will sort by the value of another label instead. If one of the child notes doesn't have the specified label, the title will be used for them instead.

sortDirection

If sorted is applied, specifies the direction of the sort:

  • ASC, ascending (default)
  • DESC, descending
sortFoldersFirstIf sorted is applied, folders (notes with children) will be sorted as a group at the top, and the rest will be sorted.
topIf sorted is applied to the parent note, keeps given note on top in its parent.
hidePromotedAttributesHide Promoted Attributes on this note. Generally useful when defining inherited attributes, but the parent note doesn't need them.
readOnlyMarks a note to be always be read-only, if it's a supported note (text, code, mermaid).
autoReadOnlyDisabledDisables automatic read-only mode for the given note.
appCssMarks CSS notes which are loaded into the Trilium application and can thus be used to modify Trilium's looks. See Custom app-wide CSS for more info.
appThemeMarks CSS notes which are full Trilium themes and are thus available in Trilium options. See Theme development for more information.
appThemeBaseSet to next, next-light, or next-dark to use the corresponding TriliumNext theme (auto, light or dark) as the base for a custom theme, instead of the legacy one. See Customize the Next theme for more information.
cssClassValue of this label is then added as CSS class to the node representing given note in the Note Tree. This can be useful for advanced theming. Can be used in template notes.
iconClassvalue of this label is added as a CSS class to the icon on the tree which can help visually distinguish the notes in the tree. Example might be bx bx-home - icons are taken from boxicons. Can be used in template notes.
pageSizeSpecifies the number of items per page in Note List.
customRequestHandlerSee Custom Request Handler.
customResourceProviderSee Custom Resource Providers.
widgetMarks this note as a custom widget which will be added to the Trilium component tree. See Custom Widgets for more information.
searchHomeNew search notes will be created as children of this note (see Saved Search).
workspace and related attributesSee Workspaces.
inboxdefault inbox location for new notes - when you create a note using new note button in the sidebar, notes will be created as child notes in the note marked as with #inbox label.
sqlConsoleHomeDefault location of SQL Console notes
bookmarkedIndicates this note is a bookmark.
bookmarkFolderNote with this label will appear in bookmarks as folder (allowing access to its children). See Bookmarks for more information.
share*See the attribute reference in Sharing.
displayRelations, hideRelationsComma delimited names of relations which should be displayed/hidden in a Relation Map (both the note type and the Note Map (Link map, Tree map) general functionality).
titleTemplate

Default title of notes created as children of this note. This value is evaluated as a JavaScript string and thus can be enriched with dynamic content via the injected now and parentNote variables.

Examples:

  • \({parentNote.getLabel('authorName')}'s literary works
  • Log for \){now.format('YYYY-MM-DD HH:mm:ss')}
  • to mirror the parent's template.

See Default Note Title for more info.

templateThis note will appear in the selection of available template when creating new note. See Templates for more information.
tocControls the display of the Table of contents for a given note. #toc or #toc=show to always display the table of contents, #toc=false to always hide it.
colordefines color of the note in note tree, links etc. Use any valid CSS color value like 'red' or #a13d5f
keyboardShortcutDefines a keyboard shortcut which will immediately jump to this note. Example: 'ctrl+alt+e'. Requires frontend reload for the change to take effect.
keepCurrentHoistingOpening this link won't change hoisting even if the note is not displayable in the current hoisted subtree.
executeButtonTitle of the button which will execute the current code note
executeDescriptionLonger description of the current code note displayed together with the execute button
excludeFromNoteMapNotes with this label will be hidden from the Note Map.
newNotesOnTopNew notes will be created at the top of the parent note, not on the bottom.
hideHighlightWidgetHides the Highlights list widget
hideChildrenOverviewHides the Note List for that particular note.
printLandscapeWhen exporting to PDF, changes the orientation of the page to landscape instead of portrait.
printPageSizeWhen exporting to PDF, changes the size of the page. Supported values: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger.
geolocationIndicates the latitude and longitude of a note, to be displayed in a Geo Map.
calendar:*Defines specific options for the Calendar View.
viewTypeSets the view of child notes (e.g. grid or list). See Note List for more information.
\ No newline at end of file +
LabelDescription
disableVersioningDisables automatic creation of Note Revisions for a particular note. Useful for e.g. large, but unimportant notes - e.g. large JS libraries used for scripting.
versioningLimitLimits the maximum number of Note Revisions for a particular note, overriding the global settings.
calendarRootMarks the note which should be used as root for Day Notes. Only one should be marked as such.
archivedHides notes from default search results and dialogs. Archived notes can optionally be hidden in the Note Tree.
excludeFromExportExcludes this note and its children when exporting.
run, runOnInstance, runAtHourSee Events.
disableInclusionScripts with this label won't be included into parent script execution.
sorted

Keeps child notes sorted by title alphabetically.

When given a value, it will sort by the value of another label instead. If one of the child notes doesn't have the specified label, the title will be used for them instead.

sortDirection

If sorted is applied, specifies the direction of the sort:

  • ASC, ascending (default)
  • DESC, descending
sortFoldersFirstIf sorted is applied, folders (notes with children) will be sorted as a group at the top, and the rest will be sorted.
topIf sorted is applied to the parent note, keeps given note on top in its parent.
hidePromotedAttributesHide Promoted Attributes on this note. Generally useful when defining inherited attributes, but the parent note doesn't need them.
readOnlyMarks a note to be always be read-only, if it's a supported note (text, code, mermaid).
autoReadOnlyDisabledDisables automatic read-only mode for the given note.
appCssMarks CSS notes which are loaded into the Trilium application and can thus be used to modify Trilium's looks. See Custom app-wide CSS for more info.
appThemeMarks CSS notes which are full Trilium themes and are thus available in Trilium options. See Theme development for more information.
appThemeBaseSet to next, next-light, or next-dark to use the corresponding TriliumNext theme (auto, light or dark) as the base for a custom theme, instead of the legacy one. See Customize the Next theme for more information.
cssClassValue of this label is then added as CSS class to the node representing given note in the Note Tree. This can be useful for advanced theming. Can be used in template notes.
iconClassvalue of this label is added as a CSS class to the icon on the tree which can help visually distinguish the notes in the tree. Example might be bx bx-home - icons are taken from boxicons. Can be used in template notes.
pageSizeSpecifies the number of items per page in Note List.
customRequestHandlerSee Custom Request Handler.
customResourceProviderSee Custom Resource Providers.
widgetMarks this note as a custom widget which will be added to the Trilium component tree. See Custom Widgets for more information.
searchHomeNew search notes will be created as children of this note (see Saved Search).
workspace and related attributesSee Workspaces.
inboxdefault inbox location for new notes - when you create a note using new note button in the sidebar, notes will be created as child notes in the note marked as with #inbox label.
sqlConsoleHomeDefault location of SQL Console notes
bookmarkedIndicates this note is a bookmark.
bookmarkFolderNote with this label will appear in bookmarks as folder (allowing access to its children). See Bookmarks for more information.
share*See the attribute reference in Sharing.
displayRelations, hideRelationsComma delimited names of relations which should be displayed/hidden in a Relation Map (both the note type and the Note Map (Link map, Tree map) general functionality).
titleTemplate

Default title of notes created as children of this note. This value is evaluated as a JavaScript string and thus can be enriched with dynamic content via the injected now and parentNote variables.

Examples:

  • \({parentNote.getLabel('authorName')}'s literary works
  • Log for \){now.format('YYYY-MM-DD HH:mm:ss')}
  • to mirror the parent's template.

See Default Note Title for more info.

templateThis note will appear in the selection of available template when creating new note. See Templates for more information.
tocControls the display of the Table of contents for a given note. #toc or #toc=show to always display the table of contents, #toc=false to always hide it.
colordefines color of the note in note tree, links etc. Use any valid CSS color value like 'red' or #a13d5f
keyboardShortcutDefines a keyboard shortcut which will immediately jump to this note. Example: 'ctrl+alt+e'. Requires frontend reload for the change to take effect.
keepCurrentHoistingOpening this link won't change hoisting even if the note is not displayable in the current hoisted subtree.
executeButtonTitle of the button which will execute the current code note
executeDescriptionLonger description of the current code note displayed together with the execute button
excludeFromNoteMapNotes with this label will be hidden from the Note Map.
newNotesOnTopNew notes will be created at the top of the parent note, not on the bottom.
hideHighlightWidgetHides the Highlights list widget
hideChildrenOverviewHides the Note List for that particular note.
printLandscapeWhen exporting to PDF, changes the orientation of the page to landscape instead of portrait.
printPageSizeWhen exporting to PDF, changes the size of the page. Supported values: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger.
geolocationIndicates the latitude and longitude of a note, to be displayed in a Geo Map.
calendar:*Defines specific options for the Calendar View.
viewTypeSets the view of child notes (e.g. grid or list). See Note List for more information.
\ No newline at end of file diff --git a/docs/User Guide/User Guide/Advanced Usage/Attributes/Relations.md b/docs/User Guide/User Guide/Advanced Usage/Attributes/Relations.md index 6a8bdbb4c..2916640ec 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Attributes/Relations.md +++ b/docs/User Guide/User Guide/Advanced Usage/Attributes/Relations.md @@ -41,4 +41,14 @@ These relations are supported and used internally by Trilium. > [!TIP] > Some relations presented here end with a `*`. That means that there are multiple relations with the same prefix, consult the specific page linked in the description of that relation for more information. -
LabelDescription
runOn*See Events
templatenote's attributes will be inherited even without a parent-child relationship, note's content and subtree will be added to instance notes if empty. See documentation for details.
inheritnote's attributes will be inherited even without a parent-child relationship. See Templates for a similar concept. See Attribute Inheritance in the documentation.
renderNotenotes of type Render Note will be rendered using a code note (HTML or script) and it is necessary to point using this relation to which note should be rendered
widget_relationtarget of this relation will be executed and rendered as a widget in the sidebar
shareCssCSS note which will be injected into the share page. CSS note must be in the shared sub-tree as well. Consider using share_hidden_from_tree and share_omit_default_css as well.
shareJsJavaScript note which will be injected into the share page. JS note must be in the shared sub-tree as well. Consider using share_hidden_from_tree.
shareTemplateEmbedded JavaScript note that will be used as the template for displaying the shared note. Falls back to the default template. Consider using share_hidden_from_tree.
shareFaviconFavicon note to be set in the shared page. Typically you want to set it to share root and make it inheritable. Favicon note must be in the shared sub-tree as well. Consider using share_hidden_from_tree.
\ No newline at end of file +| Label | Description | +| --- | --- | +| `runOn*` | See Events | +| `template` | note's attributes will be inherited even without a parent-child relationship, note's content and subtree will be added to instance notes if empty. See documentation for details. | +| `inherit` | note's attributes will be inherited even without a parent-child relationship. See Templates for a similar concept. See Attribute Inheritance in the documentation. | +| `renderNote` | notes of type Render Note will be rendered using a code note (HTML or script) and it is necessary to point using this relation to which note should be rendered | +| `widget_relation` | target of this relation will be executed and rendered as a widget in the sidebar | +| `shareCss` | CSS note which will be injected into the share page. CSS note must be in the shared sub-tree as well. Consider using `share_hidden_from_tree` and `share_omit_default_css` as well. | +| `shareJs` | JavaScript note which will be injected into the share page. JS note must be in the shared sub-tree as well. Consider using `share_hidden_from_tree`. | +| `shareTemplate` | Embedded JavaScript note that will be used as the template for displaying the shared note. Falls back to the default template. Consider using `share_hidden_from_tree`. | +| `shareFavicon` | Favicon note to be set in the shared page. Typically you want to set it to share root and make it inheritable. Favicon note must be in the shared sub-tree as well. Consider using `share_hidden_from_tree`. | \ No newline at end of file diff --git a/docs/User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Cross-Origin Resource Sharing .md b/docs/User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Cross-Origin Resource Sharing .md index 31feaff99..686cb7685 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Cross-Origin Resource Sharing .md +++ b/docs/User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Cross-Origin Resource Sharing .md @@ -3,4 +3,8 @@ By default, Trilium cannot be accessed in web browsers by requests coming from o However, it is possible to manually configure [Cross-Origin Resource Sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS) since Trilium v0.93.0 using environment variables or `config.ini`, as follows: -
CORS HeaderCorresponding option in config.iniCorresponding option in environment variables in the Network section
Access-Control-Allow-OriginTRILIUM_NETWORK_CORS_ALLOW_ORIGINcorsAllowOrigin 
Access-Control-Allow-MethodsTRILIUM_NETWORK_CORS_ALLOW_METHODScorsAllowMethods 
Access-Control-Allow-HeadersTRILIUM_NETWORK_CORS_ALLOW_HEADERScorsAllowHeaders
\ No newline at end of file +| CORS Header | Corresponding option in `config.ini` | Corresponding option in environment variables in the `Network` section | +| --- | --- | --- | +| `Access-Control-Allow-Origin` | `TRILIUM_NETWORK_CORS_ALLOW_ORIGIN` | `corsAllowOrigin` | +| `Access-Control-Allow-Methods` | `TRILIUM_NETWORK_CORS_ALLOW_METHODS` | `corsAllowMethods` | +| `Access-Control-Allow-Headers` | `TRILIUM_NETWORK_CORS_ALLOW_HEADERS` | `corsAllowHeaders` | \ No newline at end of file diff --git a/docs/User Guide/User Guide/Advanced Usage/Hidden Notes.md b/docs/User Guide/User Guide/Advanced Usage/Hidden Notes.md index 94713fdd3..99907bb81 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Hidden Notes.md +++ b/docs/User Guide/User Guide/Advanced Usage/Hidden Notes.md @@ -15,4 +15,4 @@ From the 
NoteDescription
Note Map

This note is actually opened when the Note Map feature that is accessed from the Launch Bar.

It is possible to create any child notes in it without any additional meaning. For example, it can be used to store a list of note maps which can be linked to from other notes or bookmarked.

SQL Console History

When SQL queries or commands are executed in the SQL Console, they are stored here, grouped by month. Only the query is stored and not the results.

This section can be accessed without going to the hidden tree by simply going to the Global menu and selecting Advanced → Open SQL Console History.

Notes can be added as children of this tree, but it's generally not recommended to do so to not interfere with the normal history process.

Search History

Whenever a search is executed from the full Search, the query will be stored here, grouped by month. Only the search parameters are stored and not the results themselves.

This section can be accessed without going to the hidden tree by simply going to the Global menu and selecting Advanced → Open Search History.

Notes can be added as children of this tree, but it's generally not recommended to do so to not interfere with the normal history process.

Bulk Action

This section is used for Bulk Actions. The last configuration for bulk actions will be stored as part of this note, each action in its own action label.

Notes can be added as children of this tree, but there won't be any benefit in doing so.

Backend Log

This note corresponds to the backend log feature (see Error logs).

This item can be accessed without going to the hidden try by going to the Global menu and selecting Advanced → Show backend log.

User HiddenThis section can be used by scripts to create their own notes that should not be directly visible to the user. The note can be identified by scripts by its unique ID: _userHidden
Launch Bar Templates

This section contains the templates for the creation of launchers in the Launch Bar. It is not possible to create child notes here.

Theoretically some of the notes here can be customized, but there's not much benefit to be had in doing so.

Shared Notes

This tree lists all of the notes that are shared publicly. It can be useful to track down which notes are shared regardless of their position in the note tree.

This section can be accessed without going to the hidden tree simply by going to the Global menu and selecting Show Shared Notes Subtree.

Sub-notes cannot be created here.

Launch Bar

The tree contains both available and displayed items of the Launch Bar.

This section can be accessed without going to the hidden tree by:

  • Going to the Global menu and selecting Configure Launchbar.
  • Right-clicking an empty space on the Launch Bar and selecting Configure Launchbar.

Sub-notes cannot be created here.

Options

This section stores the list of Options.

This section can be accessed without going to the hidden tree by:

Mobile Launch Bar

This is very similar to the Launch Bar, but is dedicated for the mobile UI only.

Accessing it outside the Launch Bar is the same as the Launch Bar, but needs to be done so from the mobile interface.

User GuideThis is where the note structure for the User Guide is actually stored. Only the metadata is stored, as the help itself is present as actual files in the application directory.
\ No newline at end of file +
NoteDescription
Note Map

This note is actually opened when the Note Map feature that is accessed from the Launch Bar.

It is possible to create any child notes in it without any additional meaning. For example, it can be used to store a list of note maps which can be linked to from other notes or bookmarked.

SQL Console History

When SQL queries or commands are executed in the SQL Console, they are stored here, grouped by month. Only the query is stored and not the results.

This section can be accessed without going to the hidden tree by simply going to the Global menu and selecting Advanced → Open SQL Console History.

Notes can be added as children of this tree, but it's generally not recommended to do so to not interfere with the normal history process.

Search History

Whenever a search is executed from the full Search, the query will be stored here, grouped by month. Only the search parameters are stored and not the results themselves.

This section can be accessed without going to the hidden tree by simply going to the Global menu and selecting Advanced → Open Search History.

Notes can be added as children of this tree, but it's generally not recommended to do so to not interfere with the normal history process.

Bulk Action

This section is used for Bulk Actions. The last configuration for bulk actions will be stored as part of this note, each action in its own action label.

Notes can be added as children of this tree, but there won't be any benefit in doing so.

Backend Log

This note corresponds to the backend log feature (see Error logs).

This item can be accessed without going to the hidden try by going to the Global menu and selecting Advanced → Show backend log.

User HiddenThis section can be used by scripts to create their own notes that should not be directly visible to the user. The note can be identified by scripts by its unique ID: _userHidden
Launch Bar Templates

This section contains the templates for the creation of launchers in the Launch Bar. It is not possible to create child notes here.

Theoretically some of the notes here can be customized, but there's not much benefit to be had in doing so.

Shared Notes

This tree lists all of the notes that are shared publicly. It can be useful to track down which notes are shared regardless of their position in the note tree.

This section can be accessed without going to the hidden tree simply by going to the Global menu and selecting Show Shared Notes Subtree.

Sub-notes cannot be created here.

Launch Bar

The tree contains both available and displayed items of the Launch Bar.

This section can be accessed without going to the hidden tree by:

  • Going to the Global menu and selecting Configure Launchbar.
  • Right-clicking an empty space on the Launch Bar and selecting Configure Launchbar.

Sub-notes cannot be created here.

Options

This section stores the list of Options.

This section can be accessed without going to the hidden tree by:

Mobile Launch Bar

This is very similar to the Launch Bar, but is dedicated for the mobile UI only.

Accessing it outside the Launch Bar is the same as the Launch Bar, but needs to be done so from the mobile interface.

User GuideThis is where the note structure for the User Guide is actually stored. Only the metadata is stored, as the help itself is present as actual files in the application directory.
\ No newline at end of file diff --git a/docs/User Guide/User Guide/Advanced Usage/Note source.md b/docs/User Guide/User Guide/Advanced Usage/Note source.md index 8338f3477..927f63ce1 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Note source.md +++ b/docs/User Guide/User Guide/Advanced Usage/Note source.md @@ -7,7 +7,7 @@ For example: *
Text notes are represented internally as HTML, using the CKEditor representation. Note that due to the custom plugins, some HTML elements are specific to Trilium only, for example the admonitions. * Code notes are plain text and are represented internally as-is. -* Geo Map notes contain only minimal information (viewport, zoom) as a JSON. +* Geo Map notes contain only minimal information (viewport, zoom) as a JSON. * Canvas notes are represented as JSON, with Trilium's own information alongside with Excalidraw's internal JSON representation format. * Mind Map notes are represented as JSON, with the internal format of MindElixir. diff --git a/docs/User Guide/User Guide/Advanced Usage/Sharing.md b/docs/User Guide/User Guide/Advanced Usage/Sharing.md index a0936169f..64b5767dd 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Sharing.md +++ b/docs/User Guide/User Guide/Advanced Usage/Sharing.md @@ -16,7 +16,7 @@ Trilium allows you to share selected notes as **publicly accessible** read-only ### By note type -
 Supported featuresLimitations
Text
  • Table of contents.
  • Syntax highlight of code blocks, provided a language is selected (does not work if “Auto-detected” is enabled).
  • Rendering for math equations.
  • Including notes is not supported.
  • Inline Mermaid diagrams are not rendered.
Code
  • Basic support (displaying the contents of the note in a monospace font).
  • No syntax highlight.
Saved SearchNot supported. 
Relation MapNot supported. 
Note MapNot supported. 
Render NoteNot supported. 
Collections
  • The child notes are displayed in a fixed format. 
  • More advanced view types such as the calendar view are not supported.
Mermaid Diagrams
  • The diagram is displayed as a vector image.
  • No further interaction supported.
Canvas
  • The diagram is displayed as a vector image.
  • No further interaction supported.
Web ViewNot supported. 
Mind MapThe diagram is displayed as a vector image.
  • No further interaction supported.
Geo Map ViewNot supported. 
FileBasic interaction (downloading the file).
  • No further interaction supported.
+
 Supported featuresLimitations
Text
  • Table of contents.
  • Syntax highlight of code blocks, provided a language is selected (does not work if “Auto-detected” is enabled).
  • Rendering for math equations.
  • Including notes is not supported.
  • Inline Mermaid diagrams are not rendered.
Code
  • Basic support (displaying the contents of the note in a monospace font).
  • No syntax highlight.
Saved SearchNot supported. 
Relation MapNot supported. 
Note MapNot supported. 
Render NoteNot supported. 
Collections
  • The child notes are displayed in a fixed format. 
  • More advanced view types such as the calendar view are not supported.
Mermaid Diagrams
  • The diagram is displayed as a vector image.
  • No further interaction supported.
Canvas
  • The diagram is displayed as a vector image.
  • No further interaction supported.
Web ViewNot supported. 
Mind MapThe diagram is displayed as a vector image.
  • No further interaction supported.
Geo Map ViewNot supported. 
FileBasic interaction (downloading the file).
  • No further interaction supported.
While the sharing feature is powerful, it has some limitations: @@ -103,7 +103,7 @@ You can designate a specific note or folder as the root of your shared content b ## Attribute reference -
AttributeDescription
shareHiddenFromTreethis note is hidden from left navigation tree, but still accessible with its URL
shareExternalLinknote will act as a link to an external website in the share tree
shareAliasdefine an alias using which the note will be available under https://your_trilium_host/share/[your_alias]
shareOmitDefaultCssdefault share page CSS will be omitted. Use when you make extensive styling changes.
shareRootmarks note which is served on /share root.
shareDescriptiondefine text to be added to the HTML meta tag for description
shareRawNote will be served in its raw format, without HTML wrapper. See also Serving directly the content of a note for an alternative method without setting an attribute.
shareDisallowRobotIndexing

Indicates to web crawlers that the page should not be indexed of this note by:

  • Setting the X-Robots-Tag: noindex HTTP header.
  • Setting the noindex, follow meta tag.
shareCredentialsrequire credentials to access this shared note. Value is expected to be in format username:password. Don't forget to make this inheritable to apply to child-notes/images.
shareIndexNote with this label will list all roots of shared notes.
+
AttributeDescription
shareHiddenFromTreethis note is hidden from left navigation tree, but still accessible with its URL
shareExternalLinknote will act as a link to an external website in the share tree
shareAliasdefine an alias using which the note will be available under https://your_trilium_host/share/[your_alias]
shareOmitDefaultCssdefault share page CSS will be omitted. Use when you make extensive styling changes.
shareRootmarks note which is served on /share root.
shareDescriptiondefine text to be added to the HTML meta tag for description
shareRawNote will be served in its raw format, without HTML wrapper. See also Serving directly the content of a note for an alternative method without setting an attribute.
shareDisallowRobotIndexing

Indicates to web crawlers that the page should not be indexed of this note by:

  • Setting the X-Robots-Tag: noindex HTTP header.
  • Setting the noindex, follow meta tag.
shareCredentialsrequire credentials to access this shared note. Value is expected to be in format username:password. Don't forget to make this inheritable to apply to child-notes/images.
shareIndexNote with this label will list all roots of shared notes.
## Credits diff --git a/docs/User Guide/User Guide/Advanced Usage/Sharing/Serving directly the content o.md b/docs/User Guide/User Guide/Advanced Usage/Sharing/Serving directly the content o.md index 54531bf31..bb0402259 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Sharing/Serving directly the content o.md +++ b/docs/User Guide/User Guide/Advanced Usage/Sharing/Serving directly the content o.md @@ -1,7 +1,9 @@ # Serving directly the content of a note When accessing a shared note, Trilium will render it as a web page. Sometimes it's desirable to serve the content directly so that it can be used in a script or downloaded by the user. -
A note displayed as a web page (HTML)A note displayed as a raw format
+| A note displayed as a web page (HTML) | A note displayed as a raw format | +| --- | --- | +|
| ![](Serving%20directly%20the%20conte.png) | ## By adding an attribute to the note diff --git a/docs/User Guide/User Guide/Advanced Usage/Technologies used/Leaflet.md b/docs/User Guide/User Guide/Advanced Usage/Technologies used/Leaflet.md index bcf692d0e..85f4dc9bb 100644 --- a/docs/User Guide/User Guide/Advanced Usage/Technologies used/Leaflet.md +++ b/docs/User Guide/User Guide/Advanced Usage/Technologies used/Leaflet.md @@ -1,5 +1,5 @@ # Leaflet -Leaflet is the library behind [Geo map](../../Basic%20Concepts%20and%20Features/Notes/Note%20List/Geo%20Map%20View.md) notes. +Leaflet is the library behind [Geo map](../../Note%20Types/Collections/Geo%20Map%20View.md) notes. ## Plugins diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Workspaces.md b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Workspaces.md index d4f3f1bed..c01f289b9 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Workspaces.md +++ b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Workspaces.md @@ -12,4 +12,12 @@ So far workspace consists of these features: ### Configuration -
LabelDescription
workspaceMarks this note as a workspace, button to enter the workspace is controlled by this
workspaceIconClassdefines box icon CSS class which will be used in tab when hoisted to this note
workspaceTabBackgroundColorCSS color used in the note tab when hoisted to this note, use any CSS color format, e.g. "lightblue" or "#ddd". See https://www.w3schools.com/cssref/css_colors.asp.
workspaceCalendarRootMarking a note with this label will define a new per-workspace calendar for Day Notes. If there's no such note, the global calendar will be used.
workspaceTemplateThis note will appear in the selection of available template when creating new note, but only when hoisted into a workspace containing this template
workspaceSearchHomenew search notes will be created as children of this note when hoisted to some ancestor of this workspace note
workspaceInboxdefault inbox location for new notes when hoisted to some ancestor of this workspace note
\ No newline at end of file +| Label | Description | +| --- | --- | +| `workspace` | Marks this note as a workspace, button to enter the workspace is controlled by this | +| `workspaceIconClass` | defines box icon CSS class which will be used in tab when hoisted to this note | +| `workspaceTabBackgroundColor` | CSS color used in the note tab when hoisted to this note, use any CSS color format, e.g. "lightblue" or "#ddd". See [https://www.w3schools.com/cssref/css\_colors.asp](https://www.w3schools.com/cssref/css_colors.asp). | +| `workspaceCalendarRoot` | Marking a note with this label will define a new per-workspace calendar for Day Notes. If there's no such note, the global calendar will be used. | +| `workspaceTemplate` | This note will appear in the selection of available template when creating new note, but only when hoisted into a workspace containing this template | +| `workspaceSearchHome` | new search notes will be created as children of this note when hoisted to some ancestor of this workspace note | +| `workspaceInbox` | default inbox location for new notes when hoisted to some ancestor of this workspace note | \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List.md b/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List.md index d06a9e544..1caff1801 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List.md +++ b/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List.md @@ -10,8 +10,6 @@ When a note has one or more child notes, they will be listed at the end of the n ## View types -The view types dictate how the child notes are represented. - -By default, the notes will be displayed in a grid, however there are also some other view types available. +The view types dictate how the child notes are represented. By default, the notes will be displayed in a grid, however there are also some other view types available. Generally the view type can only be changed in a Collections note from the Ribbon, but it can also be changed manually on any type of note using the `#viewType` attribute. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Calendar View.md b/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Calendar View.md deleted file mode 100644 index efd41b300..000000000 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Calendar View.md +++ /dev/null @@ -1,111 +0,0 @@ -# Calendar View -
- -The Calendar view will display each child note in a calendar that has a start date and optionally an end date, as an event. - -The Calendar view has multiple display modes: - -* Week view, where all the 7 days of the week (or 5 if the weekends are hidden) are displayed in columns. This mode allows entering and displaying time-specific events, not just all-day events. -* Month view, where the entire month is displayed and all-day events can be inserted. Both time-specific events and all-day events are listed. -* Year view, which displays the entire year for quick reference. -* List view, which displays all the events of a given month in sequence. - -Unlike other Collection view types, the Calendar view also allows some kind of interaction, such as moving events around as well as creating new ones. - -## Creating a calendar - -
   
1The Calendar View works only for Collection note types. To create a new note, right click on the note tree on the left and select Insert note after, or Insert child note and then select Collection.
2Once created, the “View type” of the Collection needs changed to “Calendar”, by selecting the “Collection Properties” tab in the ribbon.
- -## Creating a new event/note - -* Clicking on a day will create a new child note and assign it to that particular day. - * You will be asked for the name of the new note. If the popup is dismissed by pressing the close button or escape, then the note will not be created. -* It's possible to drag across multiple days to set both the start and end date of a particular note. - ![](Calendar%20View_image.png) -* Creating new notes from the calendar will respect the `~child:template` relation if set on the Collection note. - -## Interacting with events - -* Hovering the mouse over an event will display information about the note. - ![](7_Calendar%20View_image.png) -* Left clicking the event will open a Quick edit to edit the note in a popup while allowing easy return to the calendar by just dismissing the popup. - * Middle clicking will open the note in a new tab. - * Right click will offer more options including opening the note in a new split or window. -* Drag and drop an event on the calendar to move it to another day. -* The length of an event can be changed by placing the mouse to the right edge of the event and dragging the mouse around. - -## Configuring the calendar view - -In the _Collections_ tab in the Ribbon, it's possible to adjust the following: - -* Hide weekends from the week view. -* Display week numbers on the calendar. - -## Configuring the calendar using attributes - -The following attributes can be added to the Collection type: - -
NameDescription
#calendar:hideWeekendsWhen present (regardless of value), it will hide Saturday and Sundays from the calendar.
#calendar:weekNumbersWhen present (regardless of value), it will show the number of the week on the calendar.
#calendar:view

Which view to display in the calendar:

  • timeGridWeek for the week view;
  • dayGridMonth for the month view;
  • multiMonthYear for the year view;
  • listMonth for the list view.

Any other value will be dismissed and the default view (month) will be used instead.

The value of this label is automatically updated when changing the view using the UI buttons.

~child:templateDefines the template for newly created notes in the calendar (via dragging or clicking).
- -In addition, the first day of the week can be either Sunday or Monday and can be adjusted from the application settings. - -## Configuring the calendar events using attributes - -For each note of the calendar, the following attributes can be used: - -
NameDescription
#startDateThe date the event starts, which will display it in the calendar. The format is YYYY-MM-DD (year, month and day separated by a minus sign).
#endDateSimilar to startDate, mentions the end date if the event spans across multiple days. The date is inclusive, so the end day is also considered. The attribute can be missing for single-day events.
#startTimeThe 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).
#endTimeSimilar to startTime, it mentions the time at which the event ends (in relation with endDate if present, or startDate).
#colorDisplays 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:colorSimilar to #color, but applies the color only for the event in the calendar and not for other places such as the note tree.
#iconClassIf present, the icon of the note will be displayed to the left of the event title.
#calendar:titleChanges 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:displayedAttributesAllows 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"
#calendar:startDateAllows using a different label to represent the start date, other than startDate (e.g. expiryDate). The label name must not be prefixed with #. If the label is not defined for a note, the default will be used instead.
#calendar:endDateSimilar to #calendar:startDate, allows changing the attribute which is being used to read the end date.
#calendar:startTimeSimilar to #calendar:startDate, allows changing the attribute which is being used to read the start time.
#calendar:endTimeSimilar to #calendar:startDate, allows changing the attribute which is being used to read the end time.
- -## How the calendar works - -![](11_Calendar%20View_image.png) - -The calendar displays all the child notes of the Collection that have a `#startDate`. An `#endDate` can optionally be added. - -If editing the start date and end date from the note itself is desirable, the following attributes can be added to the Collection note: - -``` -#viewType=calendar #label:startDate(inheritable)="promoted,alias=Start Date,single,date" -#label:endDate(inheritable)="promoted,alias=End Date,single,date" -#hidePromotedAttributes -``` - -This will result in: - -![](10_Calendar%20View_image.png) - -When not used in a Journal, the calendar is recursive. That is, it will look for events not just in its child notes but also in the children of these child notes. - -## Use-cases - -### Using with the Journal / calendar - -It is possible to integrate the calendar view into the Journal with day notes. In order to do so change the note type of the Journal note (calendar root) to Collection and then select the Calendar View. - -Based on the `#calendarRoot` (or `#workspaceCalendarRoot`) attribute, the calendar will know that it's in a calendar and apply the following: - -* The calendar events are now rendered based on their `dateNote` attribute rather than `startDate`. -* Interactive editing such as dragging over an empty era or resizing an event is no longer possible. -* Clicking on the empty space on a date will automatically open that day's note or create it if it does not exist. -* Direct children of a day note will be displayed on the calendar despite not having a `dateNote` attribute. Children of the child notes will not be displayed. - - - -### Using a different attribute as event title - -By default, events are displayed on the calendar by their note title. However, it is possible to configure a different attribute to be displayed instead. - -To do so, assign `#calendar:title` to the child note (not the calendar/Collection note), with the value being `name` where `name` can be any label (make not to add the `#` prefix). The attribute can also come through inheritance such as a template attribute. If the note does not have the requested label, the title of the note will be used instead. - -
  
#startDate=2025-02-11 #endDate=2025-02-13 #name="My vacation" #calendar:title="name"

 

- -### Using a relation attribute as event title - -Similarly to using an attribute, use `#calendar:title` and set it to `name` where `name` is the name of the relation to use. - -Moreover, if there are more relations of the same name, they will be displayed as multiple events coming from the same note. - -
  
#startDate=2025-02-14 #endDate=2025-02-15 ~for=@John Smith ~for=@Jane Doe #calendar:title="for"
- -Note that it's even possible to have a `#calendar:title` on the target note (e.g. “John Smith”) which will try to render an attribute of it. Note that it's not possible to use a relation here as well for safety reasons (an accidental recursion  of attributes could cause the application to loop infinitely). - -
  
#calendar:title="shortName" #shortName="John S."
\ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View.md b/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View.md deleted file mode 100644 index 916038606..000000000 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View.md +++ /dev/null @@ -1,134 +0,0 @@ -# Geo Map View -> [!IMPORTANT] -> Starting with Trilium v0.97.0, the geo map has been converted from a standalone [note type](../../../Note%20Types.md) to a type of view for the Note List.  - -
- -This note type displays the children notes on a geographical map, based on an attribute. It is also possible to add new notes at a specific location using the built-in interface. - -## Creating a new geo map - -
   
1
Right click on any note on the note tree and select Insert child noteGeo Map (beta).
2
By default the map will be empty and will show the entire world.
- -## Repositioning the map - -* Click and drag the map in order to move across the map. -* Use the mouse wheel, two-finger gesture on a touchpad or the +/- buttons on the top-left to adjust the zoom. - -The position on the map and the zoom are saved inside the map note and restored when visiting again the note. - -## Adding a marker using the map - -### Adding a new note using the plus button - -
   
1To create a marker, first navigate to the desired point on the map. Then press the button in the Floating buttons (top-right) area. 

If the button is not visible, make sure the button section is visible by pressing the chevron button () in the top-right of the map.
 
2Once pressed, the map will enter in the insert mode, as illustrated by the notification.    

Simply click the point on the map where to place the marker, or the Escape key to cancel.
3Enter the name of the marker/note to be created.
4Once confirmed, the marker will show up on the map and it will also be displayed as a child note of the map.
- -### Adding a new note using the contextual menu - -1. Right click anywhere on the map, where to place the newly created marker (and corresponding note). -2. Select _Add a marker at this location_. -3. Enter the name of the newly created note. -4. The map should be updated with the new marker. - -### Adding an existing note on note from the note tree - -1. Select the desired note in the Note Tree. -2. Hold the mouse on the note and drag it to the map to the desired location. -3. The map should be updated with the new marker. - -This works for: - -* Notes that are not part of the geo map, case in which a [clone](../Cloning%20Notes.md) will be created. -* Notes that are a child of the geo map but not yet positioned on the map. -* Notes that are a child of the geo map and also positioned, case in which the marker will be relocated to the new position. - -## How the location of the markers is stored - -The location of a marker is stored in the `#geolocation` attribute of the child notes: - - - -This value can be added manually if needed. The value of the attribute is made up of the latitude and longitude separated by a comma. - -## Repositioning markers - -It's possible to reposition existing markers by simply drag and dropping them to the new destination. - -As soon as the mouse is released, the new position is saved. - -If moved by mistake, there is currently no way to undo the change. If the mouse was not yet released, it's possible to force a refresh of the page (Ctrl+R ) to cancel it. - -## Interaction with the markers - -* Hovering over a marker will display a Note Tooltip with the content of the note it belongs to. - * Clicking on the note title in the tooltip will navigate to the note in the current view. -* Middle-clicking the marker will open the note in a new tab. -* Right-clicking the marker will open a contextual menu (as described below). -* If the map is in read-only mode, clicking on a marker will open a Quick edit popup for the corresponding note. - -## Contextual menu - -It's possible to press the right mouse button to display a contextual menu. - -1. If right-clicking an empty section of the map (not on a marker), it allows to: - 1. Displays the latitude and longitude. Clicking this option will copy them to the clipboard. - 2. Open the location using an external application (if the operating system supports it). - 3. Adding a new marker at that location. -2. If right-clicking on a marker, it allows to: - 1. Displays the latitude and longitude. Clicking this option will copy them to the clipboard. - 2. Open the location using an external application (if the operating system supports it). - 3. Open the note in a new tab, split or window. - 4. Remove the marker from the map, which will remove the `#geolocation` attribute of the note. To add it back again, the coordinates have to be manually added back in. - -## Icon and color of the markers - -
image
- -The markers will have the same icon as the note. - -It's possible to add a custom color to a marker by assigning them a `#color` attribute such as `#color=green`. - -## Adding the coordinates manually - -In a nutshell, create a child note and set the `#geolocation` attribute to the coordinates. - -The value of the attribute is made up of the latitude and longitude separated by a comma. - -### Adding from Google Maps - -
   
1
Go to Google Maps on the web and look for a desired location, right click on it and a context menu will show up.    

Simply click on the first item displaying the coordinates and they will be copied to clipboard.    

Then paste the value inside the text box into the #geolocation attribute of a child note of the map (don't forget to surround the value with a " character).
2
In Trilium, create a child note under the map.
3
And then go to Owned Attributes and type #geolocation=", then paste from the clipboard as-is and then add the ending " character. Press Enter to confirm and the map should now be updated to contain the new note.
- -### Adding from OpenStreetMap - -Similarly to the Google Maps approach: - -
   
1Go to any location on openstreetmap.org and right click to bring up the context menu. Select the “Show address” item.
2The address will be visible in the top-left of the screen, in the place of the search bar.    

Select the coordinates and copy them into the clipboard.
3Simply paste the value inside the text box into the #geolocation attribute of a child note of the map and then it should be displayed on the map.
- -## Adding GPS tracks (.gpx) - -Trilium has basic support for displaying GPS tracks on the geo map. - -
   
1
To add a track, simply drag & drop a .gpx file inside the geo map in the note tree.
2
In order for the file to be recognized as a GPS track, it needs to show up as application/gpx+xml in the File type field.
3
When going back to the map, the track should now be visible.    

The start and end points of the track are indicated by the two blue markers.
- -> [!NOTE] -> The starting point of the track will be displayed as a marker, with the name of the note underneath. The start marker will also respect the icon and the `color` of the note. The end marker is displayed with a distinct icon. -> -> If the GPX contains waypoints, they will also be displayed. If they have a name, it is displayed when hovering over it with the mouse. - -## Read-only mode - -When a map is in read-only all editing features will be disabled such as: - -* The add button in the Floating buttons. -* Dragging markers. -* Editing from the contextual menu (removing locations or adding new items). - -To enable read-only mode simply press the _Lock_ icon from the Floating buttons. To disable it, press the button again. - -## Troubleshooting - -
- -### Grid-like artifacts on the map - -This occurs if the application is not at 100% zoom which causes the pixels of the map to not render correctly due to fractional scaling. The only possible solution is to set the UI zoom at 100% (default keyboard shortcut is Ctrl+0). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Read-Only Notes.md b/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Read-Only Notes.md index 38ab3f584..0163c1b78 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Read-Only Notes.md +++ b/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Read-Only Notes.md @@ -40,4 +40,4 @@ When pressed, the note will become editable but will become read-only again afte Some note types have a special behavior based on whether the read-only mode is enabled: * Mermaid Diagrams will hide the Mermaid source code and display the diagram preview in full-size. In this case, the read-only mode can be easily toggled on or off via a dedicated button in the Floating buttons area. -* Geo Map View will disallow all interaction that would otherwise change the map (dragging notes, adding new items). \ No newline at end of file +* Geo Map View will disallow all interaction that would otherwise change the map (dragging notes, adding new items). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Themes/Theme Gallery.md b/docs/User Guide/User Guide/Basic Concepts and Features/Themes/Theme Gallery.md index 930169936..c78920694 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Themes/Theme Gallery.md +++ b/docs/User Guide/User Guide/Basic Concepts and Features/Themes/Theme Gallery.md @@ -5,7 +5,26 @@ These are user-created themes which were made publicly available: These themes may or may not be compatible with the latest versions of TriliumNext and are based on the original/legacy theme. -
ThemeAuthor
Midnighttobealive
EOTEtobealive
Trilium ThemesAbourass
MaterialDarkZMonk91
lightslategrayjaroet
melon-4raphwriter
Neon_DarkEngr-AllanG
Coder_DarkEngr-AllanG
velvetidelem
Dark PlusSADAVA
SolarizedWKSu
Norden3r0
Bear Note LightAllanZyne
Bear Note DarkAllanZyne
Miku HatsuneSebiann
Midnightcwilliams5
Blue (light)SiriusXT
Blue (dark)SiriusXT
+| Theme | Author | +| --- | --- | +| [Midnight](https://github.com/tobealive/trilium-midnight-theme) | [tobealive](https://github.com/tobealive) | +| [EOTE](https://github.com/tobealive/trilum-eote-theme) | [tobealive](https://github.com/tobealive) | +| [Trilium Themes](https://github.com/Abourass/TriliumThemes) | [Abourass](https://github.com/Abourass) | +| [MaterialDark](https://github.com/ZMonk91/Material-Dark-Trilium) | [ZMonk91](https://github.com/ZMonk91) | +| [lightslategray](https://github.com/jaroet/trilium-theme-lightslategray) | [jaroet](https://github.com/jaroet) | +| [melon-4](https://github.com/raphwriter/trilium-theme-melon) | [raphwriter](https://github.com/raphwriter) | +| [Neon\_Dark](https://github.com/Engr-AllanG/trilium-themes) | [Engr-AllanG](https://github.com/Engr-AllanG) | +| [Coder\_Dark](https://github.com/Engr-AllanG/trilium-themes) | [Engr-AllanG](https://github.com/Engr-AllanG) | +| [velvet](https://github.com/idelem/trilium-theme-velvet) | [idelem](https://github.com/idelem) | +| [Dark Plus](https://github.com/SADAVA/trilium-notes-theme-dark-plus) | [SADAVA](https://github.com/SADAVA) | +| [Solarized](https://github.com/WKSu/trilium-solarized-theme) | [WKSu](https://github.com/WKSu) | +| [Nord](https://github.com/en3r0/Trilium-Nord-Theme) | [en3r0](https://github.com/en3r0) | +| [Bear Note Light](https://github.com/AllanZyne/trilium-bear-theme) | [AllanZyne](https://github.com/AllanZyne) | +| [Bear Note Dark](https://github.com/AllanZyne/trilium-bear-theme) | [AllanZyne](https://github.com/AllanZyne) | +| [Miku Hatsune](https://github.com/Sebiann/miku-hatsune-trilium-theme) | [Sebiann](https://github.com/Sebiann) | +| [Midnight](https://github.com/cwilliams5/Midnight-Trilium-Dark-Mode) | [cwilliams5](https://github.com/cwilliams5) | +| [Blue](https://github.com/SiriusXT/trilium-theme-blue) (light) | [SiriusXT](https://github.com/SiriusXT) | +| [Blue](https://github.com/SiriusXT/trilium-theme-blue) (dark) | [SiriusXT](https://github.com/SiriusXT) | > [!TIP] > If you would like to add your theme to this gallery, write a new post in [👐 Show and tell](https://github.com/TriliumNext/Notes/discussions/categories/show-and-tell). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tooltip.md b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tooltip.md index ee247109d..dbdf139e8 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tooltip.md +++ b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tooltip.md @@ -16,6 +16,6 @@ The tooltip can be found in multiple places, including: * In Text notes, when hovering over Internal (reference) links . * Collections:  - * Geo Map View, when hovering over a marker. - * Calendar View, when hovering over an event. - * Table View, when hovering over a note title, or over a [relation](../../Advanced%20Usage/Attributes/Relations.md). \ No newline at end of file + * Geo Map View, when hovering over a marker. + * Calendar View, when hovering over an event. + * Table View, when hovering over a note title, or over a [relation](../../Advanced%20Usage/Attributes/Relations.md). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/Quick edit.md b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/Quick edit.md index 542513072..d844f74a1 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/Quick edit.md +++ b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/Quick edit.md @@ -26,8 +26,8 @@ This feature is also well integrated with Note Tooltip, press the quick edit icon. * In Collections: - * For Calendar View: + * For Calendar View: * Clicking on an event will open that event for quick editing. * If the calendar is for the Day Notes root, clicking on the day number will open the popup for that day note. - * For Geo Map View: + * For Geo Map View: * Clicking on a marker will open that marker, but only if the map is in read-only mode. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Feature Highlights.md b/docs/User Guide/User Guide/Feature Highlights.md index a9b449db2..7cedd84f1 100644 --- a/docs/User Guide/User Guide/Feature Highlights.md +++ b/docs/User Guide/User Guide/Feature Highlights.md @@ -3,7 +3,7 @@ This section presents the most important changes by version. For a full set of c * v0.97.0: * Books are now Collections. - * Table View is a new collection type displaying notes and attributes in an editable grid. + * Table View is a new collection type displaying notes and attributes in an editable grid. * Quick edit is introduced, adding a new way to edit notes in a popup instead of opening a new tab. It also integrates well with Collections. * v0.96.0: * Text gain premium features thanks to a collaboration with the CKEditor team: @@ -21,12 +21,12 @@ This section presents the most important changes by version. For a full set of c * Text notes can now have adjustable Content language & Right-to-left support. * Export as PDF * Zen mode - * Calendar View, allowing notes to be displayed in a monthly grid based on start and end dates. + * Calendar View, allowing notes to be displayed in a monthly grid based on start and end dates. * v0.91.5: * Significant improvements for mobile. * Footnotes are now supported in Text notes. * Mermaid diagrams can now be inserted inline within Text notes. * The TriliumNext theme is introduced, bringing a more modern design to the application. - * Geo Map View, displaying notes as markers on a geographical map for easy trip planning. + * Geo Map View, displaying notes as markers on a geographical map for easy trip planning. * v0.90.8: * A new note type was introduced: Mind Map \ No newline at end of file diff --git a/docs/User Guide/User Guide/Note Types.md b/docs/User Guide/User Guide/Note Types.md index 5dbe39fb5..f41523917 100644 --- a/docs/User Guide/User Guide/Note Types.md +++ b/docs/User Guide/User Guide/Note Types.md @@ -25,4 +25,18 @@ It is possible to change the type of a note after it has been created via the _B The following note types are supported by Trilium: -
Note TypeDescription
TextThe default note type, which allows for rich text formatting, images, admonitions and right-to-left support.
CodeUses a mono-space font and can be used to store larger chunks of code or plain text than a text note, and has better syntax highlighting.
Saved SearchStores the information about a search (the search text, criteria, etc.) for later use. Can be used for quick filtering of a large amount of notes, for example. The search can easily be triggered.
Relation MapAllows easy creation of notes and relations between them. Can be used for mainly relational data such as a family tree.
Note MapDisplays the relationships between the notes, whether via relations or their hierarchical structure.
Render NoteUsed in Scripting, it displays the HTML content of another note. This allows displaying any kind of content, provided there is a script behind it to generate it.
Collections

Displays the children of the note either as a grid, a list, or for a more specialized case: a calendar.

Generally useful for easy reading of short notes.

Mermaid DiagramsDisplays diagrams such as bar charts, flow charts, state diagrams, etc. Requires a bit of technical knowledge since the diagrams are written in a specialized format.
CanvasAllows easy drawing of sketches, diagrams, handwritten content. Uses the same technology behind excalidraw.com.
Web ViewDisplays the content of an external web page, similar to a browser.
Mind MapEasy for brainstorming ideas, by placing them in a hierarchical layout.
Geo Map ViewDisplays the children of the note as a geographical map, one use-case would be to plan vacations. It even has basic support for tracks. Notes can also be created from it.
FileRepresents an uploaded file such as PDFs, images, video or audio files.
\ No newline at end of file +| Note Type | Description | +| --- | --- | +| Text | The default note type, which allows for rich text formatting, images, admonitions and right-to-left support. | +| Code | Uses a mono-space font and can be used to store larger chunks of code or plain text than a text note, and has better syntax highlighting. | +| Saved Search | Stores the information about a search (the search text, criteria, etc.) for later use. Can be used for quick filtering of a large amount of notes, for example. The search can easily be triggered. | +| Relation Map | Allows easy creation of notes and relations between them. Can be used for mainly relational data such as a family tree. | +| Note Map | Displays the relationships between the notes, whether via relations or their hierarchical structure. | +| Render Note | Used in Scripting, it displays the HTML content of another note. This allows displaying any kind of content, provided there is a script behind it to generate it. | +| Collections | Displays the children of the note either as a grid, a list, or for a more specialized case: a calendar.

Generally useful for easy reading of short notes. | +| Mermaid Diagrams | Displays diagrams such as bar charts, flow charts, state diagrams, etc. Requires a bit of technical knowledge since the diagrams are written in a specialized format. | +| Canvas | Allows easy drawing of sketches, diagrams, handwritten content. Uses the same technology behind [excalidraw.com](https://excalidraw.com). | +| Web View | Displays the content of an external web page, similar to a browser. | +| Mind Map | Easy for brainstorming ideas, by placing them in a hierarchical layout. | +| Geo Map View | Displays the children of the note as a geographical map, one use-case would be to plan vacations. It even has basic support for tracks. Notes can also be created from it. | +| File | Represents an uploaded file such as PDFs, images, video or audio files. | \ No newline at end of file diff --git a/docs/User Guide/User Guide/Note Types/Collections.md b/docs/User Guide/User Guide/Note Types/Collections.md index f3195d578..28023ab56 100644 --- a/docs/User Guide/User Guide/Note Types/Collections.md +++ b/docs/User Guide/User Guide/Note Types/Collections.md @@ -3,14 +3,14 @@ Collections are a unique type of notes that don't have a content, but instead di Classic collections are read-only mode and compiles the contents of all child notes into one continuous view. This makes it ideal for reading extensive information broken into smaller, manageable segments. -* Grid View which is the default presentation method for child notes (see Note List), where the notes are displayed as tiles with their title and content being visible. -* List View is similar to Grid View, but it displays the notes one under the other with the content being expandable/collapsible, but also works recursively. +* Grid View which is the default presentation method for child notes (see Note List), where the notes are displayed as tiles with their title and content being visible. +* List View is similar to Grid View, but it displays the notes one under the other with the content being expandable/collapsible, but also works recursively. More specialized collections were introduced, such as the: -* Calendar View which displays a week, month or year calendar with the notes being shown as events. New events can be added easily by dragging across the calendar. -* Geo Map View which displays a geographical map in which the notes are represented as markers/pins on the map. New events can be easily added by pointing on the map. -* Table View displays each note as a row in a table, with Promoted Attributes being shown as well. This makes it easy to visualize attributes of notes, as well as making them easily editable. +* Calendar View which displays a week, month or year calendar with the notes being shown as events. New events can be added easily by dragging across the calendar. +* Geo Map View which displays a geographical map in which the notes are represented as markers/pins on the map. New events can be easily added by pointing on the map. +* Table View displays each note as a row in a table, with Promoted Attributes being shown as well. This makes it easy to visualize attributes of notes, as well as making them easily editable. For a quick presentation of all the supported view types, see the child notes of this help page, including screenshots. diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/10_Calendar View_image.png b/docs/User Guide/User Guide/Note Types/Collections/10_Calendar View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/10_Calendar View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/10_Calendar View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/10_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/10_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/10_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/10_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/11_Calendar View_image.png b/docs/User Guide/User Guide/Note Types/Collections/11_Calendar View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/11_Calendar View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/11_Calendar View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/11_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/11_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/11_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/11_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/12_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/12_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/12_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/12_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/13_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/13_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/13_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/13_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/14_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/14_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/14_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/14_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/15_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/15_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/15_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/15_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/16_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/16_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/16_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/16_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/17_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/17_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/17_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/17_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/18_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/18_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/18_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/18_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/1_Calendar View_image.png b/docs/User Guide/User Guide/Note Types/Collections/1_Calendar View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/1_Calendar View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/1_Calendar View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/1_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/1_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/1_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/1_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/2_Calendar View_image.png b/docs/User Guide/User Guide/Note Types/Collections/2_Calendar View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/2_Calendar View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/2_Calendar View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/2_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/2_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/2_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/2_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/3_Calendar View_image.png b/docs/User Guide/User Guide/Note Types/Collections/3_Calendar View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/3_Calendar View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/3_Calendar View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/3_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/3_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/3_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/3_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/4_Calendar View_image.png b/docs/User Guide/User Guide/Note Types/Collections/4_Calendar View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/4_Calendar View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/4_Calendar View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/4_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/4_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/4_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/4_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/5_Calendar View_image.png b/docs/User Guide/User Guide/Note Types/Collections/5_Calendar View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/5_Calendar View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/5_Calendar View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/5_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/5_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/5_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/5_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/6_Calendar View_image.png b/docs/User Guide/User Guide/Note Types/Collections/6_Calendar View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/6_Calendar View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/6_Calendar View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/6_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/6_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/6_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/6_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/7_Calendar View_image.png b/docs/User Guide/User Guide/Note Types/Collections/7_Calendar View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/7_Calendar View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/7_Calendar View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/7_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/7_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/7_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/7_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/8_Calendar View_image.png b/docs/User Guide/User Guide/Note Types/Collections/8_Calendar View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/8_Calendar View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/8_Calendar View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/8_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/8_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/8_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/8_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/9_Calendar View_image.png b/docs/User Guide/User Guide/Note Types/Collections/9_Calendar View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/9_Calendar View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/9_Calendar View_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/9_Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/9_Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/9_Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/9_Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Note Types/Collections/Calendar View.clone.md b/docs/User Guide/User Guide/Note Types/Collections/Calendar View.clone.md deleted file mode 100644 index f7d49f641..000000000 --- a/docs/User Guide/User Guide/Note Types/Collections/Calendar View.clone.md +++ /dev/null @@ -1,2 +0,0 @@ -# Calendar View -This is a clone of a note. Go to its [primary location](../../Basic%20Concepts%20and%20Features/Notes/Note%20List/Calendar%20View.md). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Note Types/Collections/Calendar View.md b/docs/User Guide/User Guide/Note Types/Collections/Calendar View.md new file mode 100644 index 000000000..cd0f86010 --- /dev/null +++ b/docs/User Guide/User Guide/Note Types/Collections/Calendar View.md @@ -0,0 +1,128 @@ +# Calendar View +
+ +The Calendar view will display each child note in a calendar that has a start date and optionally an end date, as an event. + +The Calendar view has multiple display modes: + +* Week view, where all the 7 days of the week (or 5 if the weekends are hidden) are displayed in columns. This mode allows entering and displaying time-specific events, not just all-day events. +* Month view, where the entire month is displayed and all-day events can be inserted. Both time-specific events and all-day events are listed. +* Year view, which displays the entire year for quick reference. +* List view, which displays all the events of a given month in sequence. + +Unlike other Collection view types, the Calendar view also allows some kind of interaction, such as moving events around as well as creating new ones. + +## Creating a calendar + +| | | | +| --- | --- | --- | +| 1 | ![](2_Calendar%20View_image.png) | The Calendar View works only for Collection note types. To create a new note, right click on the note tree on the left and select Insert note after, or Insert child note and then select _Collection_. | +| 2 | ![](3_Calendar%20View_image.png) | Once created, the “View type” of the Collection needs changed to “Calendar”, by selecting the “Collection Properties” tab in the ribbon. | + +## Creating a new event/note + +* Clicking on a day will create a new child note and assign it to that particular day. + * You will be asked for the name of the new note. If the popup is dismissed by pressing the close button or escape, then the note will not be created. +* It's possible to drag across multiple days to set both the start and end date of a particular note. + ![](Calendar%20View_image.png) +* Creating new notes from the calendar will respect the `~child:template` relation if set on the Collection note. + +## Interacting with events + +* Hovering the mouse over an event will display information about the note. + ![](7_Calendar%20View_image.png) +* Left clicking the event will open a Quick edit to edit the note in a popup while allowing easy return to the calendar by just dismissing the popup. + * Middle clicking will open the note in a new tab. + * Right click will offer more options including opening the note in a new split or window. +* Drag and drop an event on the calendar to move it to another day. +* The length of an event can be changed by placing the mouse to the right edge of the event and dragging the mouse around. + +## Configuring the calendar view + +In the _Collections_ tab in the Ribbon, it's possible to adjust the following: + +* Hide weekends from the week view. +* Display week numbers on the calendar. + +## Configuring the calendar using attributes + +The following attributes can be added to the Collection type: + +
NameDescription
#calendar:hideWeekendsWhen present (regardless of value), it will hide Saturday and Sundays from the calendar.
#calendar:weekNumbersWhen present (regardless of value), it will show the number of the week on the calendar.
#calendar:view

Which view to display in the calendar:

  • timeGridWeek for the week view;
  • dayGridMonth for the month view;
  • multiMonthYear for the year view;
  • listMonth for the list view.

Any other value will be dismissed and the default view (month) will be used instead.

The value of this label is automatically updated when changing the view using the UI buttons.

~child:templateDefines the template for newly created notes in the calendar (via dragging or clicking).
+ +In addition, the first day of the week can be either Sunday or Monday and can be adjusted from the application settings. + +## Configuring the calendar events using attributes + +For each note of the calendar, the following attributes can be used: + +| Name | Description | +| --- | --- | +| `#startDate` | The date the event starts, which will display it in the calendar. The format is `YYYY-MM-DD` (year, month and day separated by a minus sign). | +| `#endDate` | Similar to `startDate`, mentions the end date if the event spans across multiple days. The date is inclusive, so the end day is also considered. The attribute can be missing for single-day events. | +| `#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. | +| `#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:    

![](9_Calendar%20View_image.png)   

`#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"` | +| `#calendar:startDate` | Allows using a different label to represent the start date, other than `startDate` (e.g. `expiryDate`). The label name **must not be** prefixed with `#`. If the label is not defined for a note, the default will be used instead. | +| `#calendar:endDate` | Similar to `#calendar:startDate`, allows changing the attribute which is being used to read the end date. | +| `#calendar:startTime` | Similar to `#calendar:startDate`, allows changing the attribute which is being used to read the start time. | +| `#calendar:endTime` | Similar to `#calendar:startDate`, allows changing the attribute which is being used to read the end time. | + +## How the calendar works + +![](11_Calendar%20View_image.png) + +The calendar displays all the child notes of the Collection that have a `#startDate`. An `#endDate` can optionally be added. + +If editing the start date and end date from the note itself is desirable, the following attributes can be added to the Collection note: + +``` +#viewType=calendar #label:startDate(inheritable)="promoted,alias=Start Date,single,date" +#label:endDate(inheritable)="promoted,alias=End Date,single,date" +#hidePromotedAttributes +``` + +This will result in: + +![](10_Calendar%20View_image.png) + +When not used in a Journal, the calendar is recursive. That is, it will look for events not just in its child notes but also in the children of these child notes. + +## Use-cases + +### Using with the Journal / calendar + +It is possible to integrate the calendar view into the Journal with day notes. In order to do so change the note type of the Journal note (calendar root) to Collection and then select the Calendar View. + +Based on the `#calendarRoot` (or `#workspaceCalendarRoot`) attribute, the calendar will know that it's in a calendar and apply the following: + +* The calendar events are now rendered based on their `dateNote` attribute rather than `startDate`. +* Interactive editing such as dragging over an empty era or resizing an event is no longer possible. +* Clicking on the empty space on a date will automatically open that day's note or create it if it does not exist. +* Direct children of a day note will be displayed on the calendar despite not having a `dateNote` attribute. Children of the child notes will not be displayed. + + + +### Using a different attribute as event title + +By default, events are displayed on the calendar by their note title. However, it is possible to configure a different attribute to be displayed instead. + +To do so, assign `#calendar:title` to the child note (not the calendar/Collection note), with the value being `name` where `name` can be any label (make not to add the `#` prefix). The attribute can also come through inheritance such as a template attribute. If the note does not have the requested label, the title of the note will be used instead. + +
  
#startDate=2025-02-11 #endDate=2025-02-13 #name="My vacation" #calendar:title="name"

 

+ +### Using a relation attribute as event title + +Similarly to using an attribute, use `#calendar:title` and set it to `name` where `name` is the name of the relation to use. + +Moreover, if there are more relations of the same name, they will be displayed as multiple events coming from the same note. + +
  
#startDate=2025-02-14 #endDate=2025-02-15 ~for=@John Smith ~for=@Jane Doe #calendar:title="for"
+ +Note that it's even possible to have a `#calendar:title` on the target note (e.g. “John Smith”) which will try to render an attribute of it. Note that it's not possible to use a relation here as well for safety reasons (an accidental recursion  of attributes could cause the application to loop infinitely). + +
  
#calendar:title="shortName" #shortName="John S."
\ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Calendar View_image.png b/docs/User Guide/User Guide/Note Types/Collections/Calendar View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Calendar View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/Calendar View_image.png diff --git a/docs/User Guide/User Guide/Note Types/Collections/Geo Map View.clone.md b/docs/User Guide/User Guide/Note Types/Collections/Geo Map View.clone.md deleted file mode 100644 index b68feacd4..000000000 --- a/docs/User Guide/User Guide/Note Types/Collections/Geo Map View.clone.md +++ /dev/null @@ -1,2 +0,0 @@ -# Geo Map View -This is a clone of a note. Go to its [primary location](../../Basic%20Concepts%20and%20Features/Notes/Note%20List/Geo%20Map%20View.md). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Note Types/Collections/Geo Map View.md b/docs/User Guide/User Guide/Note Types/Collections/Geo Map View.md new file mode 100644 index 000000000..02832f044 --- /dev/null +++ b/docs/User Guide/User Guide/Note Types/Collections/Geo Map View.md @@ -0,0 +1,154 @@ +# Geo Map View +> [!IMPORTANT] +> Starting with Trilium v0.97.0, the geo map has been converted from a standalone [note type](../../Note%20Types.md) to a type of view for the Note List.  + +
+ +This note type displays the children notes on a geographical map, based on an attribute. It is also possible to add new notes at a specific location using the built-in interface. + +## Creating a new geo map + +| | | | +| --- | --- | --- | +| 1 |
| Right click on any note on the note tree and select _Insert child note_ → _Geo Map (beta)_. | +| 2 |
| By default the map will be empty and will show the entire world. | + +## Repositioning the map + +* Click and drag the map in order to move across the map. +* Use the mouse wheel, two-finger gesture on a touchpad or the +/- buttons on the top-left to adjust the zoom. + +The position on the map and the zoom are saved inside the map note and restored when visiting again the note. + +## Adding a marker using the map + +### Adding a new note using the plus button + +| | | | +| --- | --- | --- | +| 1 | To create a marker, first navigate to the desired point on the map. Then press the ![](10_Geo%20Map%20View_image.png) button in the [Floating buttons](../../Basic%20Concepts%20and%20Features/UI%20Elements/Floating%20buttons.md) (top-right) area. 

If the button is not visible, make sure the button section is visible by pressing the chevron button (![](17_Geo%20Map%20View_image.png)) in the top-right of the map. | | +| 2 | | Once pressed, the map will enter in the insert mode, as illustrated by the notification.    

Simply click the point on the map where to place the marker, or the Escape key to cancel. | +| 3 | | Enter the name of the marker/note to be created. | +| 4 | | Once confirmed, the marker will show up on the map and it will also be displayed as a child note of the map. | + +### Adding a new note using the contextual menu + +1. Right click anywhere on the map, where to place the newly created marker (and corresponding note). +2. Select _Add a marker at this location_. +3. Enter the name of the newly created note. +4. The map should be updated with the new marker. + +### Adding an existing note on note from the note tree + +1. Select the desired note in the Note Tree. +2. Hold the mouse on the note and drag it to the map to the desired location. +3. The map should be updated with the new marker. + +This works for: + +* Notes that are not part of the geo map, case in which a [clone](../../Basic%20Concepts%20and%20Features/Notes/Cloning%20Notes.md) will be created. +* Notes that are a child of the geo map but not yet positioned on the map. +* Notes that are a child of the geo map and also positioned, case in which the marker will be relocated to the new position. + +## How the location of the markers is stored + +The location of a marker is stored in the `#geolocation` attribute of the child notes: + + + +This value can be added manually if needed. The value of the attribute is made up of the latitude and longitude separated by a comma. + +## Repositioning markers + +It's possible to reposition existing markers by simply drag and dropping them to the new destination. + +As soon as the mouse is released, the new position is saved. + +If moved by mistake, there is currently no way to undo the change. If the mouse was not yet released, it's possible to force a refresh of the page (Ctrl+R ) to cancel it. + +## Interaction with the markers + +* Hovering over a marker will display a Note Tooltip with the content of the note it belongs to. + * Clicking on the note title in the tooltip will navigate to the note in the current view. +* Middle-clicking the marker will open the note in a new tab. +* Right-clicking the marker will open a contextual menu (as described below). +* If the map is in read-only mode, clicking on a marker will open a Quick edit popup for the corresponding note. + +## Contextual menu + +It's possible to press the right mouse button to display a contextual menu. + +1. If right-clicking an empty section of the map (not on a marker), it allows to: + 1. Displays the latitude and longitude. Clicking this option will copy them to the clipboard. + 2. Open the location using an external application (if the operating system supports it). + 3. Adding a new marker at that location. +2. If right-clicking on a marker, it allows to: + 1. Displays the latitude and longitude. Clicking this option will copy them to the clipboard. + 2. Open the location using an external application (if the operating system supports it). + 3. Open the note in a new tab, split or window. + 4. Remove the marker from the map, which will remove the `#geolocation` attribute of the note. To add it back again, the coordinates have to be manually added back in. + +## Icon and color of the markers + +
image
+ +The markers will have the same icon as the note. + +It's possible to add a custom color to a marker by assigning them a `#color` attribute such as `#color=green`. + +## Adding the coordinates manually + +In a nutshell, create a child note and set the `#geolocation` attribute to the coordinates. + +The value of the attribute is made up of the latitude and longitude separated by a comma. + +### Adding from Google Maps + +| | | | +| --- | --- | --- | +| 1 |
| Go to Google Maps on the web and look for a desired location, right click on it and a context menu will show up.    

Simply click on the first item displaying the coordinates and they will be copied to clipboard.    

Then paste the value inside the text box into the `#geolocation` attribute of a child note of the map (don't forget to surround the value with a `"` character). | +| 2 |
| In Trilium, create a child note under the map. | +| 3 |
| And then go to Owned Attributes and type `#geolocation="`, then paste from the clipboard as-is and then add the ending `"` character. Press Enter to confirm and the map should now be updated to contain the new note. | + +### Adding from OpenStreetMap + +Similarly to the Google Maps approach: + +| | | | +| --- | --- | --- | +| 1 | | Go to any location on openstreetmap.org and right click to bring up the context menu. Select the “Show address” item. | +| 2 | | The address will be visible in the top-left of the screen, in the place of the search bar.    

Select the coordinates and copy them into the clipboard. | +| 3 | | Simply paste the value inside the text box into the `#geolocation` attribute of a child note of the map and then it should be displayed on the map. | + +## Adding GPS tracks (.gpx) + +Trilium has basic support for displaying GPS tracks on the geo map. + +| | | | +| --- | --- | --- | +| 1 |
| To add a track, simply drag & drop a .gpx file inside the geo map in the note tree. | +| 2 |
| In order for the file to be recognized as a GPS track, it needs to show up as `application/gpx+xml` in the _File type_ field. | +| 3 |
| When going back to the map, the track should now be visible.    

The start and end points of the track are indicated by the two blue markers. | + +> [!NOTE] +> The starting point of the track will be displayed as a marker, with the name of the note underneath. The start marker will also respect the icon and the `color` of the note. The end marker is displayed with a distinct icon. +> +> If the GPX contains waypoints, they will also be displayed. If they have a name, it is displayed when hovering over it with the mouse. + +## Read-only mode + +When a map is in read-only all editing features will be disabled such as: + +* The add button in the Floating buttons. +* Dragging markers. +* Editing from the contextual menu (removing locations or adding new items). + +To enable read-only mode simply press the _Lock_ icon from the Floating buttons. To disable it, press the button again. + +## Troubleshooting + +
+ +### Grid-like artifacts on the map + +This occurs if the application is not at 100% zoom which causes the pixels of the map to not render correctly due to fractional scaling. The only possible solution is to set the UI zoom at 100% (default keyboard shortcut is Ctrl+0). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View_image.jpg b/docs/User Guide/User Guide/Note Types/Collections/Geo Map View_image.jpg similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View_image.jpg rename to docs/User Guide/User Guide/Note Types/Collections/Geo Map View_image.jpg diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View_image.png b/docs/User Guide/User Guide/Note Types/Collections/Geo Map View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Geo Map View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/Geo Map View_image.png diff --git a/docs/User Guide/User Guide/Note Types/Collections/Grid View.clone.md b/docs/User Guide/User Guide/Note Types/Collections/Grid View.clone.md deleted file mode 100644 index ae9e1853e..000000000 --- a/docs/User Guide/User Guide/Note Types/Collections/Grid View.clone.md +++ /dev/null @@ -1,2 +0,0 @@ -# Grid View -This is a clone of a note. Go to its [primary location](../../Basic%20Concepts%20and%20Features/Notes/Note%20List/Grid%20View.md). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Grid View.md b/docs/User Guide/User Guide/Note Types/Collections/Grid View.md similarity index 55% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Grid View.md rename to docs/User Guide/User Guide/Note Types/Collections/Grid View.md index 913c9a93c..33f887010 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Grid View.md +++ b/docs/User Guide/User Guide/Note Types/Collections/Grid View.md @@ -11,12 +11,12 @@ Each tile contains: Depending on the type of note: -* For Text notes, the text can be slightly scrollable via the mouse wheel to reveal more context. -* For Code notes, syntax highlighting is applied. -* For File notes, a preview is made available for audio, video and PDF notes. +* For Text notes, the text can be slightly scrollable via the mouse wheel to reveal more context. +* For Code notes, syntax highlighting is applied. +* For File notes, a preview is made available for audio, video and PDF notes. * If the note does not have a content, a list of its child notes will be displayed instead. -The grid view is also used by default in the Note List of every note, making it easy to navigate to children notes. +The grid view is also used by default in the Note List of every note, making it easy to navigate to children notes. ## Configuration diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Grid View_image.png b/docs/User Guide/User Guide/Note Types/Collections/Grid View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Grid View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/Grid View_image.png diff --git a/docs/User Guide/User Guide/Note Types/Collections/List View.clone.md b/docs/User Guide/User Guide/Note Types/Collections/List View.clone.md deleted file mode 100644 index 6c441876d..000000000 --- a/docs/User Guide/User Guide/Note Types/Collections/List View.clone.md +++ /dev/null @@ -1,2 +0,0 @@ -# List View -This is a clone of a note. Go to its [primary location](../../Basic%20Concepts%20and%20Features/Notes/Note%20List/List%20View.md). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/List View.md b/docs/User Guide/User Guide/Note Types/Collections/List View.md similarity index 79% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/List View.md rename to docs/User Guide/User Guide/Note Types/Collections/List View.md index 71172046f..e6f07aa89 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/List View.md +++ b/docs/User Guide/User Guide/Note Types/Collections/List View.md @@ -8,4 +8,4 @@ In the example above, the "Node.js" note on the left panel contains several chil ## Interaction * Each note can be expanded or collapsed by clicking on the arrow to the left of the title. -* In the Ribbon, in the _Collection_ tab there are options to expand and to collapse all notes easily. \ No newline at end of file +* In the Ribbon, in the _Collection_ tab there are options to expand and to collapse all notes easily. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/List View_image.png b/docs/User Guide/User Guide/Note Types/Collections/List View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/List View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/List View_image.png diff --git a/docs/User Guide/User Guide/Note Types/Collections/Table View.clone.md b/docs/User Guide/User Guide/Note Types/Collections/Table View.clone.md deleted file mode 100644 index d2ff914a0..000000000 --- a/docs/User Guide/User Guide/Note Types/Collections/Table View.clone.md +++ /dev/null @@ -1,2 +0,0 @@ -# Table View -This is a clone of a note. Go to its [primary location](../../Basic%20Concepts%20and%20Features/Notes/Note%20List/Table%20View.md). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Table View.md b/docs/User Guide/User Guide/Note Types/Collections/Table View.md similarity index 77% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Table View.md rename to docs/User Guide/User Guide/Note Types/Collections/Table View.md index 9e16684b6..2720adcb1 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Table View.md +++ b/docs/User Guide/User Guide/Note Types/Collections/Table View.md @@ -1,7 +1,7 @@ # Table View
-The table view displays information in a grid, where the rows are individual notes and the columns are Promoted Attributes. In addition, values are editable. +The table view displays information in a grid, where the rows are individual notes and the columns are Promoted Attributes. In addition, values are editable. ## How it works @@ -9,7 +9,7 @@ The tabular structure is represented as such: * Each child note is a row in the table. * If child rows also have children, they will be displayed under an expander (nested notes). -* Each column is a [promoted attribute](../../../Advanced%20Usage/Attributes/Promoted%20Attributes.md) that is defined on the Collection note. +* Each column is a [promoted attribute](../../Advanced%20Usage/Attributes/Promoted%20Attributes.md) that is defined on the Collection note. * Actually, both promoted and unpromoted attributes are supported, but it's a requirement to use a label/relation definition. * The promoted attributes are usually defined as inheritable in order to show up in the child notes, but it's not a requirement. * If there are multiple attribute definitions with the same `name`, only one will be displayed. @@ -18,18 +18,18 @@ There are also a few predefined columns: * The current item number, identified by the `#` symbol. * This simply counts the note and is affected by sorting. -* Note ID, representing the unique ID used internally by Trilium +* Note ID, representing the unique ID used internally by Trilium * The title of the note. ## Interaction ### Creating a new table -Right click the Note Tree and select _Insert child note_ and look for the _Table item_. +Right click the Note Tree and select _Insert child note_ and look for the _Table item_. ### Adding columns -Each column is a [promoted or unpromoted attribute](../../../Advanced%20Usage/Attributes/Promoted%20Attributes.md) that is defined on the Collection note. +Each column is a [promoted or unpromoted attribute](../../Advanced%20Usage/Attributes/Promoted%20Attributes.md) that is defined on the Collection note. To create a new column, either: @@ -48,7 +48,7 @@ To create a new note, either: By default it will try to edit the title of the newly created note. -Alternatively, the note can be created from the Note Tree or [scripting](../../../Scripting.md). +Alternatively, the note can be created from the Note Tree or [scripting](../../Scripting.md). ### Context menu @@ -88,7 +88,7 @@ If the _Name_ field of a column is changed, this will trigger a batch operation ### Sorting by column -By default, the order of the notes matches the order in the Note Tree. However, it is possible to sort the data by the values of a column: +By default, the order of the notes matches the order in the Note Tree. However, it is possible to sort the data by the values of a column: * To do so, simply click on a column. * To switch between ascending or descending sort, simply click again on the same column. The arrow next to the column will indicate the direction of the sort. @@ -103,7 +103,7 @@ By default, the order of the notes matches the order in the Note Tree. +This will also change the order of the note in the Note Tree. Reordering does have some limitations: @@ -119,7 +119,7 @@ Next to the title of each element there will be a button to expand or collapse. Since nesting is not always desirable, it is possible to limit the nesting to a certain number of levels or even disable it completely. To do so, either: -* Go to _Collection Properties_ in the Ribbon and look for the _Max nesting depth_ section. +* Go to _Collection Properties_ in the Ribbon and look for the _Max nesting depth_ section. * To disable nesting, type 0 and press Enter. * To limit to a certain depth, type in the desired number (e.g. 2 to only display children and sub-children). * To re-enable unlimited nesting, remove the number and press Enter. @@ -131,19 +131,19 @@ Limitations: ## Limitations -Multi-value labels and relations are not supported. If a Promoted Attributes is defined with a _Multi value_ specificity, they will be ignored. +Multi-value labels and relations are not supported. If a Promoted Attributes is defined with a _Multi value_ specificity, they will be ignored. ## Use in search -The table view can be used in a Saved Search by adding the `#viewType=table` attribute. +The table view can be used in a Saved Search by adding the `#viewType=table` attribute. -Unlike when used in a Collection, saved searches are not limited to the sub-hierarchy of a note and allows for advanced queries thanks to the power of the Search. +Unlike when used in a Collection, saved searches are not limited to the sub-hierarchy of a note and allows for advanced queries thanks to the power of the Search. However, there are also some limitations: * It's not possible to reorder notes. * It's not possible to add a new row. -Columns are supported, by being defined as Promoted Attributes to the Saved Search note. +Columns are supported, by being defined as Promoted Attributes to the Saved Search note. Editing is also supported. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Table View_image.png b/docs/User Guide/User Guide/Note Types/Collections/Table View_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Notes/Note List/Table View_image.png rename to docs/User Guide/User Guide/Note Types/Collections/Table View_image.png diff --git a/docs/User Guide/User Guide/Note Types/Text.md b/docs/User Guide/User Guide/Note Types/Text.md index 1b6486efb..eb0cb76b1 100644 --- a/docs/User Guide/User Guide/Note Types/Text.md +++ b/docs/User Guide/User Guide/Note Types/Text.md @@ -16,7 +16,7 @@ Fore more information see 
Dedicated articleFeature
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
  • Footnotes
Images
  • Images
Links
  • External links
  • Internal Trilium links
Include Note
  • Include note
Insert buttons
Other features
Premium features
+
Dedicated articleFeature
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
  • Footnotes
Images
  • Images
Links
  • External links
  • Internal Trilium links
Include Note
  • Include note
Insert buttons
Other features
Premium features
## Read-Only vs. Editing Mode diff --git a/docs/User Guide/User Guide/Note Types/Text/Images.md b/docs/User Guide/User Guide/Note Types/Text/Images.md index e2b1e05b5..835988c63 100644 --- a/docs/User Guide/User Guide/Note Types/Text/Images.md +++ b/docs/User Guide/User Guide/Note Types/Text/Images.md @@ -24,7 +24,12 @@ Clicking on an image will reveal a popup with multiple options: The first set of options configure the alignment are, in order: -
IconOptionPreviewDescription
InlineAs the name suggests, the name can be put inside a paragraph and moved around similarly as if it was a block of text. Use drag & drop or cut-paste to move it around.
Centered imageThe image will be displayed as a block and centered, not allowing text in either the left or right of it.
Wrap textThe image will be displayed to the left or the right of the text.
Block alignSimilarly to Centered image, the image will be displayed as a block and aligned either to the left or to the right, but not allowing text to flow on either of its sides.
+| Icon | Option | Preview | Description | +| --- | --- | --- | --- | +| ![](5_Images_image.png) | Inline | ![](1_Images_image.png) | As the name suggests, the name can be put inside a paragraph and moved around similarly as if it was a block of text. Use drag & drop or cut-paste to move it around. | +| ![](10_Images_image.png) | Centered image | ![](2_Images_image.png) | The image will be displayed as a block and centered, not allowing text in either the left or right of it. | +| ![](4_Images_image.png) | Wrap text | ![](7_Images_image.png) | The image will be displayed to the left or the right of the text. | +| ![](Images_image.png) | Block align | ![](3_Images_image.png) | Similarly to _Centered image_, the image will be displayed as a block and aligned either to the left or to the right, but not allowing text to flow on either of its sides. | ## Compression diff --git a/docs/User Guide/User Guide/Note Types/Text/Keyboard shortcuts.md b/docs/User Guide/User Guide/Note Types/Text/Keyboard shortcuts.md index 49ce6e228..b701bef4f 100644 --- a/docs/User Guide/User Guide/Note Types/Text/Keyboard shortcuts.md +++ b/docs/User Guide/User Guide/Note Types/Text/Keyboard shortcuts.md @@ -1,7 +1,21 @@ # Keyboard shortcuts ## Trilium-specific shortcuts -
ActionPCMac
Bring up inline formatting toolbar (arrow keys , to navigate, Enter to apply)Alt+F10+F10
Bring up block formatting toolbarAlt+F10+F10
Create external linkCtrl+K+K
Create internal (note) linkCtrl+L+L
Inserts current date and time at caret positionAlt+T +T 
Increase paragraph indentationTab
Decrease paragraph indentationShift + Tab +
Mark selected text as keyboard shortcutCtrl + Alt + K+ + K
Insert Math EquationsCtrl + M+ M
Move blocks (lists, paragraphs, etc.) upCtrl+ + 
Alt++
Move blocks (lists, paragraphs, etc.) downCtrl++
Alt++
+| Action | PC | Mac | +| --- | --- | --- | +| Bring up inline formatting toolbar (arrow keys , to navigate, Enter to apply) | Alt+F10 | +F10 | +| Bring up block formatting toolbar | Alt+F10 | +F10 | +| Create [external link](Links.md) | Ctrl+K | +K | +| Create [internal (note) link](Links.md) | Ctrl+L | +L | +| Inserts current date and time at caret position | Alt+T | +T | +| Increase paragraph indentation | Tab | | +| Decrease paragraph indentation | Shift + Tab | + | +| Mark selected text as [keyboard shortcut](Developer-specific%20formatting.md) | Ctrl + Alt + K | \+ \+ K | +| Insert 
Math Equations | Ctrl + M | \+ M | +| Move blocks (lists, paragraphs, etc.) up | Ctrl+ | + | +| Alt+ | + | +| Move blocks (lists, paragraphs, etc.) down | Ctrl+ | + | +| Alt+ | + | ## Common shortcuts @@ -10,22 +24,66 @@ ### Content editing -
ActionPCMac
Insert a hard break (a new paragraph)Enter 
Insert a soft break (a <br> element)Shift+Enter⇧Enter
Copy selected contentCtrl+C⌘C
Paste contentCtrl+V⌘V
Paste content as plain textCtrl+Shift+V⌘⇧V
UndoCtrl+Z⌘Z
RedoCtrl+Y, Ctrl+Shift+Z⌘Y, ⌘⇧Z
Bold textCtrl+B⌘B
Change text caseShift+F3⇧F3 (may require Fn)
Create linkCtrl+K⌘K
Move out of a link←←, →→ 
Move out of an inline code style←←, →→ 
Select allCtrl+A⌘A
Find in the documentCtrl+F⌘F
Copy text formattingCtrl+Shift+C⌘⇧C
Paste text formattingCtrl+Shift+V⌘⇧V
Italic textCtrl+I⌘I
Strikethrough textCtrl+Shift+X⌘⇧X
Underline textCtrl+U⌘U
Revert autoformatting actionBackspace 
+| Action | PC | Mac | +| --- | --- | --- | +| Insert a hard break (a new paragraph) | Enter | | +| Insert a soft break (a `
` element) | Shift+Enter | ⇧Enter | +| Copy selected content | Ctrl+C | ⌘C | +| Paste content | Ctrl+V | ⌘V | +| Paste content as plain text | Ctrl+Shift+V | ⌘⇧V | +| Undo | Ctrl+Z | ⌘Z | +| Redo | Ctrl+Y, Ctrl+Shift+Z | ⌘Y, ⌘⇧Z | +| Bold text | Ctrl+B | ⌘B | +| Change text case | Shift+F3 | ⇧F3 (may require Fn) | +| Create link | Ctrl+K | ⌘K | +| Move out of a link | ←←, →→ | | +| Move out of an inline code style | ←←, →→ | | +| Select all | Ctrl+A | ⌘A | +| Find in the document | Ctrl+F | ⌘F | +| Copy text formatting | Ctrl+Shift+C | ⌘⇧C | +| Paste text formatting | Ctrl+Shift+V | ⌘⇧V | +| Italic text | Ctrl+I | ⌘I | +| Strikethrough text | Ctrl+Shift+X | ⌘⇧X | +| Underline text | Ctrl+U | ⌘U | +| Revert autoformatting action | Backspace | | ### Interacting with blocks Blocks are images, tables, blockquotes, annotations. -
ActionPCMac
Insert a new paragraph directly after a widgetEnter 
Insert a new paragraph directly before a widgetShift+Enter⇧Enter
Move the caret to allow typing directly before a widget,  
Move the caret to allow typing directly after a widget,  
After entering a nested editable, move the selection to the closest ancestor widget. For example: move from an image caption to the whole image widget.Tab then Esc 
+| Action | PC | Mac | +| --- | --- | --- | +| Insert a new paragraph directly after a widget | Enter | | +| Insert a new paragraph directly before a widget | Shift+Enter | ⇧Enter | +| Move the caret to allow typing directly before a widget | , | | +| Move the caret to allow typing directly after a widget | , | | +| After entering a nested editable, move the selection to the closest ancestor widget. For example: move from an image caption to the whole image widget. | Tab then Esc | | Specifically for lists: -
ActionPCMac
Increase list item indent 
Decrease list item indentShift+⇧⇥
+| Action | PC | Mac | +| --- | --- | --- | +| Increase list item indent | | | +| Decrease list item indent | Shift+ | ⇧⇥ | In tables: -
ActionPCMac
Move the selection to the next cell 
Move the selection to the previous cellShift+⇧⇥
Insert a new table row (when in the last cell of a table) 
Navigate through the table, , ,  
+| Action | PC | Mac | +| --- | --- | --- | +| Move the selection to the next cell | | | +| Move the selection to the previous cell | Shift+ | ⇧⇥ | +| Insert a new table row (when in the last cell of a table) | | | +| Navigate through the table | , , , | | ### General UI shortcuts -
ActionPCMac
Close contextual balloons, dropdowns, and dialogsEsc 
Open the accessibility help dialogAlt+0⌥0
Move focus between form fields (inputs, buttons, etc.), Shift+, ⇧⇥
Move focus to the toolbar, navigate between toolbarsAlt+F10⌥F10 (may require Fn)
Navigate through the toolbar or menu bar, , ,  
Navigate to the next focusable field or an element outside the editorTab, Shift+Tab 
Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.Enter, Space 
Move focus in and out of an active dialog windowCtrl+F6⌘F6 (may require Fn)
\ No newline at end of file +| Action | PC | Mac | +| --- | --- | --- | +| Close contextual balloons, dropdowns, and dialogs | Esc | | +| Open the accessibility help dialog | Alt+0 | ⌥0 | +| Move focus between form fields (inputs, buttons, etc.) | , Shift+ | , ⇧⇥ | +| Move focus to the toolbar, navigate between toolbars | Alt+F10 | ⌥F10 (may require Fn) | +| Navigate through the toolbar or menu bar | , , , | | +| Navigate to the next focusable field or an element outside the editor | Tab, Shift+Tab | | +| Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content. | Enter, Space | | +| Move focus in and out of an active dialog window | Ctrl+F6 | ⌘F6 (may require Fn) | \ No newline at end of file diff --git a/docs/User Guide/User Guide/Note Types/Text/Lists.md b/docs/User Guide/User Guide/Note Types/Text/Lists.md index 51768fa47..efa0c5a62 100644 --- a/docs/User Guide/User Guide/Note Types/Text/Lists.md +++ b/docs/User Guide/User Guide/Note Types/Text/Lists.md @@ -23,6 +23,13 @@ For bulleted and numbered lists, it's possible to configure an alternative marke It possible to add content-level blocks such as headings, code blocks, tables within lists, as follows: -
1First, create a list.
2Press Enter to create a new list item.
3Press Backspace to get rid of the bullet point. Notice the cursor position.
4At this point, insert any desired block-level item such as a code block.
5To continue with a new bullet point, press Enter until the cursor moves to a new blank position.
6Press Enter once more to create the new bullet.
+| | | | +| --- | --- | --- | +| 1 | ![](6_Lists_image.png) | First, create a list. | +| 2 | ![](4_Lists_image.png) | Press Enter to create a new list item. | +| 3 | ![](5_Lists_image.png) | Press Backspace to get rid of the bullet point. Notice the cursor position. | +| 4 | | At this point, insert any desired block-level item such as a code block. | +| 5 | | To continue with a new bullet point, press Enter until the cursor moves to a new blank position. | +| 6 | | Press Enter once more to create the new bullet. | The same principle applies to all three list types (bullet, numbered and to-do). \ No newline at end of file diff --git a/docs/User Guide/User Guide/Scripting/Events.md b/docs/User Guide/User Guide/Scripting/Events.md index 06638c558..6dbeeeba6 100644 --- a/docs/User Guide/User Guide/Scripting/Events.md +++ b/docs/User Guide/User Guide/Scripting/Events.md @@ -5,10 +5,22 @@ Global events are attached to the script note via label. Simply create e.g. "run" label with some of these values and script note will be executed once the event occurs. -
LabelDescription
run

Defines on which events script should run. Possible values are:

  • frontendStartup - when Trilium frontend starts up (or is refreshed), but not on mobile.
  • mobileStartup - when Trilium frontend starts up (or is refreshed), on mobile.
  • backendStartup - when Trilium backend starts up
  • hourly - run once an hour. You can use additional label runAtHour to specify at which hour, on the back-end.
  • daily - run once a day, on the back-end
runOnInstanceSpecifies that the script should only run on a particular Trilium instance.
runAtHourOn which hour should this run. Should be used together with #run=hourly. Can be defined multiple times for more runs during the day.
+
LabelDescription
run

Defines on which events script should run. Possible values are:

  • frontendStartup - when Trilium frontend starts up (or is refreshed), but not on mobile.
  • mobileStartup - when Trilium frontend starts up (or is refreshed), on mobile.
  • backendStartup - when Trilium backend starts up
  • hourly - run once an hour. You can use additional label runAtHour to specify at which hour, on the back-end.
  • daily - run once a day, on the back-end
runOnInstanceSpecifies that the script should only run on a particular Trilium instance.
runAtHourOn which hour should this run. Should be used together with #run=hourly. Can be defined multiple times for more runs during the day.
## Entity events Other events are bound to some entity, these are defined as [relations](../Advanced%20Usage/Attributes.md) - meaning that script is triggered only if note has this script attached to it through relations (or it can inherit it). -
RelationDescription
runOnNoteCreationexecutes when note is created on backend. Use this relation if you want to run the script for all notes created under a specific subtree. In that case, create it on the subtree root note and make it inheritable. A new note created within the subtree (any depth) will trigger the script.
runOnChildNoteCreationexecutes when new note is created under the note where this relation is defined
runOnNoteTitleChangeexecutes when note title is changed (includes note creation as well)
runOnNoteContentChangeexecutes when note content is changed (includes note creation as well).
runOnNoteChangeexecutes when note is changed (includes note creation as well). Does not include content changes
runOnNoteDeletionexecutes when note is being deleted
runOnBranchCreationexecutes when a branch is created. Branch is a link between parent note and child note and is created e.g. when cloning or moving note.
runOnBranchChangeexecutes when a branch is updated. (since v0.62)
runOnBranchDeletionexecutes when a branch is deleted. Branch is a link between parent note and child note and is deleted e.g. when moving note (old branch/link is deleted).
runOnAttributeCreationexecutes when new attribute is created for the note which defines this relation
runOnAttributeChangeexecutes when the attribute is changed of a note which defines this relation. This is triggered also when the attribute is deleted
\ No newline at end of file +| Relation | Description | +| --- | --- | +| `runOnNoteCreation` | executes when note is created on backend. Use this relation if you want to run the script for all notes created under a specific subtree. In that case, create it on the subtree root note and make it inheritable. A new note created within the subtree (any depth) will trigger the script. | +| `runOnChildNoteCreation` | executes when new note is created under the note where this relation is defined | +| `runOnNoteTitleChange` | executes when note title is changed (includes note creation as well) | +| `runOnNoteContentChange` | executes when note content is changed (includes note creation as well). | +| `runOnNoteChange` | executes when note is changed (includes note creation as well). Does not include content changes | +| `runOnNoteDeletion` | executes when note is being deleted | +| `runOnBranchCreation` | executes when a branch is created. Branch is a link between parent note and child note and is created e.g. when cloning or moving note. | +| `runOnBranchChange` | executes when a branch is updated. (since v0.62) | +| `runOnBranchDeletion` | executes when a branch is deleted. Branch is a link between parent note and child note and is deleted e.g. when moving note (old branch/link is deleted). | +| `runOnAttributeCreation` | executes when new attribute is created for the note which defines this relation | +| `runOnAttributeChange` | executes when the attribute is changed of a note which defines this relation. This is triggered also when the attribute is deleted | \ No newline at end of file From efd9244684377b0d3327940aec55f3fafcd12c18 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 22 Jul 2025 18:52:39 +0300 Subject: [PATCH 064/505] fix(help): missing branches if it was relocated --- apps/server/src/services/hidden_subtree.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apps/server/src/services/hidden_subtree.ts b/apps/server/src/services/hidden_subtree.ts index 8b6c7e9fb..3c6291ded 100644 --- a/apps/server/src/services/hidden_subtree.ts +++ b/apps/server/src/services/hidden_subtree.ts @@ -1,4 +1,5 @@ import BAttribute from "../becca/entities/battribute.js"; +import BBranch from "../becca/entities/bbranch.js"; import type { HiddenSubtreeItem } from "@triliumnext/commons"; import becca from "../becca/becca.js"; @@ -313,6 +314,17 @@ function checkHiddenSubtreeRecursively(parentNoteId: string, item: HiddenSubtree })); } else { branch = note.getParentBranches().find((branch) => branch.parentNoteId === parentNoteId); + + // If the note exists but doesn't have a branch in the expected parent, + // create the missing branch to ensure it's in the correct location + if (!branch) { + branch = new BBranch({ + noteId: item.id, + parentNoteId: parentNoteId, + notePosition: item.notePosition !== undefined ? item.notePosition : undefined, + isExpanded: item.isExpanded !== undefined ? item.isExpanded : false + }).save(); + } } const attrs = [...(item.attributes || [])]; From 49e14ec542296bb12afffa9e723848342122b6b7 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 22 Jul 2025 19:19:46 +0300 Subject: [PATCH 065/505] feat(hidden_subtree): remove unexpected branches --- apps/server/src/services/hidden_subtree.ts | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/apps/server/src/services/hidden_subtree.ts b/apps/server/src/services/hidden_subtree.ts index 3c6291ded..326e72646 100644 --- a/apps/server/src/services/hidden_subtree.ts +++ b/apps/server/src/services/hidden_subtree.ts @@ -291,6 +291,47 @@ function checkHiddenSubtree(force = false, extraOpts: CheckHiddenExtraOpts = {}) } } +/** + * Get all expected parent IDs for a given note ID from the hidden subtree definition + */ +function getExpectedParentIds(noteId: string, subtree: HiddenSubtreeItem): string[] { + const expectedParents: string[] = []; + + function traverse(item: HiddenSubtreeItem, parentId: string) { + if (item.id === noteId) { + expectedParents.push(parentId); + } + + if (item.children) { + for (const child of item.children) { + traverse(child, item.id); + } + } + } + + // Start traversal from root + if (subtree.id === noteId) { + expectedParents.push("root"); + } + + if (subtree.children) { + for (const child of subtree.children) { + traverse(child, subtree.id); + } + } + + return expectedParents; +} + +/** + * Check if a note ID is within the hidden subtree structure + */ +function isWithinHiddenSubtree(noteId: string): boolean { + // Consider a note to be within hidden subtree if it starts with underscore + // This is the convention used for hidden subtree notes + return noteId.startsWith("_") || noteId === "root"; +} + function checkHiddenSubtreeRecursively(parentNoteId: string, item: HiddenSubtreeItem, extraOpts: CheckHiddenExtraOpts = {}) { if (!item.id || !item.type || !item.title) { throw new Error(`Item does not contain mandatory properties: ${JSON.stringify(item)}`); @@ -325,6 +366,21 @@ function checkHiddenSubtreeRecursively(parentNoteId: string, item: HiddenSubtree isExpanded: item.isExpanded !== undefined ? item.isExpanded : false }).save(); } + + // Clean up any branches that shouldn't exist according to the meta definition + // For hidden subtree notes, we want to ensure they only exist in their designated locations + const expectedParents = getExpectedParentIds(item.id, hiddenSubtreeDefinition); + const currentBranches = note.getParentBranches(); + + for (const currentBranch of currentBranches) { + // Only delete branches that are not in the expected locations + // and are within the hidden subtree structure (avoid touching user-created clones) + if (!expectedParents.includes(currentBranch.parentNoteId) && + isWithinHiddenSubtree(currentBranch.parentNoteId)) { + log.info(`Removing unexpected branch for note '${item.id}' from parent '${currentBranch.parentNoteId}'`); + currentBranch.markAsDeleted(); + } + } } const attrs = [...(item.attributes || [])]; From 7fdef3418a3023f8048a1b9fc010e6d621ad8243 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 22 Jul 2025 19:54:01 +0300 Subject: [PATCH 066/505] refactor(share): check note type --- apps/client/src/share.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/apps/client/src/share.ts b/apps/client/src/share.ts index a1e348336..692f9f5dd 100644 --- a/apps/client/src/share.ts +++ b/apps/client/src/share.ts @@ -47,8 +47,12 @@ async function fetchNote(noteId: string | null = null) { document.addEventListener( "DOMContentLoaded", () => { - formatCodeBlocks(); - applyMath(); + const noteType = determineNoteType(); + + if (noteType === "text") { + formatCodeBlocks(); + applyMath(); + } const toggleMenuButton = document.getElementById("toggleMenuButton"); const layout = document.getElementById("layout"); @@ -60,6 +64,12 @@ document.addEventListener( false ); +function determineNoteType() { + const bodyClass = document.body.className; + const match = bodyClass.match(/type-([^\s]+)/); + return match ? match[1] : null; +} + // workaround to prevent webpack from removing "fetchNote" as dead code: // add fetchNote as property to the window object Object.defineProperty(window, "fetchNote", { From b833806ec74db758d52f8a92a1923df1f50ea83f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 22 Jul 2025 20:05:29 +0300 Subject: [PATCH 067/505] feat(share): render inline mermaid (closes #5438) --- apps/client/src/share.ts | 11 +++++++++-- apps/client/src/share/mermaid.ts | 17 +++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 apps/client/src/share/mermaid.ts diff --git a/apps/client/src/share.ts b/apps/client/src/share.ts index 692f9f5dd..c97f18c49 100644 --- a/apps/client/src/share.ts +++ b/apps/client/src/share.ts @@ -29,6 +29,14 @@ async function formatCodeBlocks() { await formatCodeBlocks($("#content")); } +async function setupTextNote() { + formatCodeBlocks(); + applyMath(); + + const setupMermaid = (await import("./share/mermaid.js")).default; + setupMermaid(); +} + /** * Fetch note with given ID from backend * @@ -50,8 +58,7 @@ document.addEventListener( const noteType = determineNoteType(); if (noteType === "text") { - formatCodeBlocks(); - applyMath(); + setupTextNote(); } const toggleMenuButton = document.getElementById("toggleMenuButton"); diff --git a/apps/client/src/share/mermaid.ts b/apps/client/src/share/mermaid.ts new file mode 100644 index 000000000..123f3816c --- /dev/null +++ b/apps/client/src/share/mermaid.ts @@ -0,0 +1,17 @@ +import mermaid from "mermaid"; + +export default function setupMermaid() { + for (const codeBlock of document.querySelectorAll("#content pre code.language-mermaid")) { + const parentPre = codeBlock.parentElement; + if (!parentPre) { + continue; + } + + const mermaidDiv = document.createElement("div"); + mermaidDiv.classList.add("mermaid"); + mermaidDiv.innerHTML = codeBlock.innerHTML; + parentPre.replaceWith(mermaidDiv); + } + + mermaid.init(); +} From 05ed917a565dcef56c0f7abf8a423aa478354fe3 Mon Sep 17 00:00:00 2001 From: Papierkorb2292 <104673791+Papierkorb2292@users.noreply.github.com> Date: Tue, 22 Jul 2025 15:25:57 +0200 Subject: [PATCH 068/505] Removed disabling grid mode in ExcalidrawTypeWidget --- apps/client/src/widgets/type_widgets/canvas.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/client/src/widgets/type_widgets/canvas.ts b/apps/client/src/widgets/type_widgets/canvas.ts index a15715c64..01bccddb3 100644 --- a/apps/client/src/widgets/type_widgets/canvas.ts +++ b/apps/client/src/widgets/type_widgets/canvas.ts @@ -166,7 +166,6 @@ export default class ExcalidrawTypeWidget extends TypeWidget { onChange: () => this.onChangeHandler(), viewModeEnabled: options.is("databaseReadonly"), zenModeEnabled: false, - gridModeEnabled: false, isCollaborating: false, detectScroll: false, handleKeyboardGlobally: false, From 98c76b713d5fbaa5c662b75585a62135c08cc454 Mon Sep 17 00:00:00 2001 From: Papierkorb2292 <104673791+Papierkorb2292@users.noreply.github.com> Date: Tue, 22 Jul 2025 19:03:15 +0200 Subject: [PATCH 069/505] Save gridModeEnabled in CanvasContent --- apps/client/src/widgets/type_widgets/canvas_el.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/type_widgets/canvas_el.ts b/apps/client/src/widgets/type_widgets/canvas_el.ts index 1ba54d2c2..53df6b76a 100644 --- a/apps/client/src/widgets/type_widgets/canvas_el.ts +++ b/apps/client/src/widgets/type_widgets/canvas_el.ts @@ -153,7 +153,8 @@ export default class Canvas { appState: { scrollX: appState.scrollX, scrollY: appState.scrollY, - zoom: appState.zoom + zoom: appState.zoom, + gridModeEnabled: appState.gridModeEnabled } }; From d9a289bf18d45653c750a450d17ba4c5a1d589a9 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 21 Jul 2025 20:20:43 +0300 Subject: [PATCH 070/505] refactor(views/board): unnecessary re-render --- apps/client/src/widgets/view_widgets/board_view/index.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index cb335ac8f..a438d6282 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -403,10 +403,8 @@ export default class BoardView extends ViewMode { const noteIds = columnItems.map(item => item.note.noteId); // Use the API to rename the column (update all notes) + // This will trigger onEntitiesReloaded which will automatically refresh the board await this.api?.renameColumn(oldValue, newValue, noteIds); - - // Refresh the board to reflect the changes - await this.renderList(); } catch (error) { console.error("Failed to rename column:", error); } From 4653941082cb15a2bd70d29e476040b4ecd17368 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 02:27:33 +0000 Subject: [PATCH 071/505] chore(deps): update dependency @stylistic/eslint-plugin to v5.2.2 --- _regroup/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_regroup/package.json b/_regroup/package.json index 1ed28ed65..9da2d9e43 100644 --- a/_regroup/package.json +++ b/_regroup/package.json @@ -36,7 +36,7 @@ }, "devDependencies": { "@playwright/test": "1.54.1", - "@stylistic/eslint-plugin": "5.2.0", + "@stylistic/eslint-plugin": "5.2.2", "@types/express": "5.0.3", "@types/node": "22.16.5", "@types/yargs": "17.0.33", From 9999ff5a89f8b81008cbccfba52132b9be657141 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 02:28:26 +0000 Subject: [PATCH 072/505] chore(deps): update dependency cheerio to v1.1.2 --- apps/server/package.json | 2 +- pnpm-lock.yaml | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/apps/server/package.json b/apps/server/package.json index b3e3baaab..da5df8d9b 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -49,7 +49,7 @@ "axios": "1.10.0", "bindings": "1.5.0", "chardet": "2.1.0", - "cheerio": "1.1.1", + "cheerio": "1.1.2", "chokidar": "4.0.3", "cls-hooked": "4.2.2", "compression": "1.8.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c002c7609..8c0f3f30c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -601,8 +601,8 @@ importers: specifier: 2.1.0 version: 2.1.0 cheerio: - specifier: 1.1.1 - version: 1.1.1 + specifier: 1.1.2 + version: 1.1.2 chokidar: specifier: 4.0.3 version: 4.0.3 @@ -6949,8 +6949,8 @@ packages: resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} engines: {node: '>= 6'} - cheerio@1.1.1: - resolution: {integrity: sha512-bTXxVZeOfc3I97S4CSYVjcYvaTp92YOlwEUrVRtYrkuVn7S8/QKnnozVlztPcXlU039S2UxtsjAMyFRbX3V9gQ==} + cheerio@1.1.2: + resolution: {integrity: sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==} engines: {node: '>=20.18.1'} chevrotain-allstar@0.3.1: @@ -16481,6 +16481,8 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -16700,6 +16702,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -16751,8 +16755,6 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17070,8 +17072,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17224,6 +17224,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -17420,8 +17422,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -22999,7 +22999,7 @@ snapshots: parse5-htmlparser2-tree-adapter: 6.0.1 tslib: 2.8.1 - cheerio@1.1.1: + cheerio@1.1.2: dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 @@ -32546,7 +32546,7 @@ snapshots: '@wdio/utils': 9.18.0 archiver: 7.0.1 aria-query: 5.3.2 - cheerio: 1.1.1 + cheerio: 1.1.2 css-shorthand-properties: 1.1.2 css-value: 0.0.1 grapheme-splitter: 1.0.4 From d15ce575df443855c69729ee0ef819190671660f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 02:29:21 +0000 Subject: [PATCH 073/505] chore(deps): update dependency openai to v5.10.2 --- apps/server/package.json | 2 +- pnpm-lock.yaml | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/apps/server/package.json b/apps/server/package.json index b3e3baaab..199fa249a 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -88,7 +88,7 @@ "multer": "2.0.2", "normalize-strings": "1.1.1", "ollama": "0.5.16", - "openai": "5.10.1", + "openai": "5.10.2", "rand-token": "1.0.1", "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c002c7609..3d10cafef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -721,8 +721,8 @@ importers: specifier: 0.5.16 version: 0.5.16 openai: - specifier: 5.10.1 - version: 5.10.1(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4) + specifier: 5.10.2 + version: 5.10.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4) rand-token: specifier: 1.0.1 version: 1.0.1 @@ -11178,8 +11178,8 @@ packages: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} - openai@5.10.1: - resolution: {integrity: sha512-fq6xVfv1/gpLbsj8fArEt3b6B9jBxdhAK+VJ+bDvbUvNd+KTLlA3bnDeYZaBsGH9LUhJ1M1yXfp9sEyBLMx6eA==} + openai@5.10.2: + resolution: {integrity: sha512-n+vi74LzHtvlKcDPn9aApgELGiu5CwhaLG40zxLTlFQdoSJCLACORIPC2uVQ3JEYAbqapM+XyRKFy2Thej7bIw==} hasBin: true peerDependencies: ws: ^8.18.0 @@ -17420,8 +17420,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -28450,7 +28448,7 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - openai@5.10.1(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4): + openai@5.10.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4): optionalDependencies: ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) zod: 3.24.4 From 1fd163f0bb0b87d41f016be164fe2f02b6ebafd2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 02:30:18 +0000 Subject: [PATCH 074/505] chore(deps): update dependency supertest to v7.1.4 --- apps/server/package.json | 2 +- pnpm-lock.yaml | 36 ++++++++++++++++++++++-------------- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/apps/server/package.json b/apps/server/package.json index b3e3baaab..b9fe133f1 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -98,7 +98,7 @@ "stream-throttle": "0.1.3", "strip-bom": "5.0.0", "striptags": "3.2.0", - "supertest": "7.1.3", + "supertest": "7.1.4", "swagger-jsdoc": "6.2.8", "swagger-ui-express": "5.0.1", "time2fa": "^1.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c002c7609..b96933268 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -751,8 +751,8 @@ importers: specifier: 3.2.0 version: 3.2.0 supertest: - specifier: 7.1.3 - version: 7.1.3 + specifier: 7.1.4 + version: 7.1.4 swagger-jsdoc: specifier: 6.2.8 version: 6.2.8(openapi-types@12.1.3) @@ -8757,6 +8757,10 @@ packages: resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} engines: {node: '>= 6'} + form-data@4.0.4: + resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} + engines: {node: '>= 6'} + format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} @@ -13693,15 +13697,13 @@ packages: resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} engines: {node: '>= 8.0'} - superagent@10.2.2: - resolution: {integrity: sha512-vWMq11OwWCC84pQaFPzF/VO3BrjkCeewuvJgt1jfV0499Z1QSAWN4EqfMM5WlFDDX9/oP8JjlDKpblrmEoyu4Q==} + superagent@10.2.3: + resolution: {integrity: sha512-y/hkYGeXAj7wUMjxRbB21g/l6aAEituGXM9Rwl4o20+SX3e8YOSV6BxFXl+dL3Uk0mjSL3kCbNkwURm8/gEDig==} engines: {node: '>=14.18.0'} - deprecated: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net - supertest@7.1.3: - resolution: {integrity: sha512-ORY0gPa6ojmg/C74P/bDoS21WL6FMXq5I8mawkEz30/zkwdu0gOeqstFy316vHG6OKxqQ+IbGneRemHI8WraEw==} + supertest@7.1.4: + resolution: {integrity: sha512-tjLPs7dVyqgItVFirHYqe2T+MfWc2VOBQ8QFKKbWTA3PU7liZR8zoSpAi/C1k1ilm9RsXIKYf197oap9wXGVYg==} engines: {node: '>=14.18.0'} - deprecated: Please upgrade to supertest v7.1.3+, see release notes at https://github.com/forwardemail/supertest/releases/tag/v7.1.3 - maintenance is supported by Forward Email @ https://forwardemail.net supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} @@ -17420,8 +17422,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -25349,6 +25349,14 @@ snapshots: es-set-tostringtag: 2.1.0 mime-types: 2.1.35 + form-data@4.0.4: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + format@0.2.2: {} formdata-polyfill@4.0.10: @@ -31261,13 +31269,13 @@ snapshots: transitivePeerDependencies: - supports-color - superagent@10.2.2: + superagent@10.2.3: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 debug: 4.4.1(supports-color@6.0.0) fast-safe-stringify: 2.1.1 - form-data: 4.0.2 + form-data: 4.0.4 formidable: 3.5.4 methods: 1.1.2 mime: 2.6.0 @@ -31275,10 +31283,10 @@ snapshots: transitivePeerDependencies: - supports-color - supertest@7.1.3: + supertest@7.1.4: dependencies: methods: 1.1.2 - superagent: 10.2.2 + superagent: 10.2.3 transitivePeerDependencies: - supports-color From bfd97da626719a9c37c2565b872b988469b57962 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 02:32:01 +0000 Subject: [PATCH 075/505] chore(deps): update dependency webdriverio to v9.18.3 --- pnpm-lock.yaml | 306 ++++++++++++++++++++++++++----------------------- 1 file changed, 161 insertions(+), 145 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c002c7609..a4355ba63 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -325,7 +325,7 @@ importers: version: 0.7.2 vite-plugin-static-copy: specifier: 3.1.1 - version: 3.1.1(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 3.1.1(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) apps/db-compare: dependencies: @@ -801,25 +801,25 @@ importers: version: 9.31.0 '@sveltejs/adapter-auto': specifier: ^6.0.0 - version: 6.0.1(@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) + version: 6.0.1(@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@sveltejs/vite-plugin-svelte': specifier: ^6.0.0 - version: 6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@tailwindcss/typography': specifier: ^0.5.15 version: 0.5.16(tailwindcss@4.1.11) '@tailwindcss/vite': specifier: ^4.0.0 - version: 4.1.11(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 4.1.11(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) eslint: specifier: ^9.18.0 version: 9.31.0(jiti@2.4.2) eslint-plugin-svelte: specifier: ^3.0.0 - version: 3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.12)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3)) + version: 3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.12)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)) globals: specifier: ^16.0.0 version: 16.3.0 @@ -843,7 +843,7 @@ importers: version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) vite: specifier: ^7.0.0 - version: 7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) packages/ckeditor5: dependencies: @@ -883,7 +883,7 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.37.0 version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) @@ -892,7 +892,7 @@ importers: version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -919,19 +919,19 @@ importers: version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.14)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.14)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-footnotes: devDependencies: @@ -943,7 +943,7 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.37.0 version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) @@ -952,7 +952,7 @@ importers: version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -979,19 +979,19 @@ importers: version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.14)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.14)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-keyboard-marker: devDependencies: @@ -1003,7 +1003,7 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.37.0 version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) @@ -1012,7 +1012,7 @@ importers: version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1039,19 +1039,19 @@ importers: version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.14)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.14)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-math: dependencies: @@ -1070,7 +1070,7 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.37.0 version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) @@ -1079,7 +1079,7 @@ importers: version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1106,19 +1106,19 @@ importers: version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.14)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.14)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-mermaid: dependencies: @@ -1137,7 +1137,7 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.37.0 version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) @@ -1146,7 +1146,7 @@ importers: version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1173,19 +1173,19 @@ importers: version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.14)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.14)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/codemirror: dependencies: @@ -5674,8 +5674,8 @@ packages: '@types/node@20.17.32': resolution: {integrity: sha512-zeMXFn8zQ+UkjK4ws0RiOC9EWByyW1CcVmLe+2rQocXRsGEDxUCwPEIVgpsGcLHS/P8JkT0oa3839BRABS0oPw==} - '@types/node@20.19.8': - resolution: {integrity: sha512-HzbgCY53T6bfu4tT7Aq3TvViJyHjLjPNaAS3HOuMc9pw97KHsUtXNX4L+wu59g1WnjsZSko35MbEqnO58rihhw==} + '@types/node@20.19.9': + resolution: {integrity: sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==} '@types/node@22.15.21': resolution: {integrity: sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==} @@ -5689,8 +5689,8 @@ packages: '@types/node@22.16.5': resolution: {integrity: sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==} - '@types/node@24.0.14': - resolution: {integrity: sha512-4zXMWD91vBLGRtHK3YbIoFMia+1nqEz72coM42C5ETjnNCa/heoj7NT1G67iAfOqMmcfhuCZ4uNpyz8EjlAejw==} + '@types/node@24.1.0': + resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -6229,8 +6229,8 @@ packages: resolution: {integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==} engines: {node: '>=18.12.0'} - '@zip.js/zip.js@2.7.64': - resolution: {integrity: sha512-x6BDiDTKeZWbeHgHlVzV1sqReGuz4b1R4cVStUDua8OSq4bRreZeiJKPFFlvJs67FvCnetq33aYb/XH73EQhdA==} + '@zip.js/zip.js@2.7.67': + resolution: {integrity: sha512-oD79XcCf24GzNmxmoJ/A/LrUodU1QDVpJ3WuJ17uf0kMks+LrmdxDtg9MSPSR3nrYxkF3A5B9+dbc3CnefVI3Q==} engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} '@zkochan/js-yaml@0.0.7': @@ -6953,6 +6953,10 @@ packages: resolution: {integrity: sha512-bTXxVZeOfc3I97S4CSYVjcYvaTp92YOlwEUrVRtYrkuVn7S8/QKnnozVlztPcXlU039S2UxtsjAMyFRbX3V9gQ==} engines: {node: '>=20.18.1'} + cheerio@1.1.2: + resolution: {integrity: sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==} + engines: {node: '>=20.18.1'} + chevrotain-allstar@0.3.1: resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} peerDependencies: @@ -14666,8 +14670,8 @@ packages: resolution: {integrity: sha512-07lC4FLj45lHJo0FvLjUp5qkjzEGWJWKGsxLoe9rQ2Fg88iYsqgr9JfSj8qxHpazBaBd+77+ZtpmMZ2X2D1Zuw==} engines: {node: '>=18.20.0'} - webdriverio@9.18.1: - resolution: {integrity: sha512-b9aVtmi5+BUkae+SfJlajjKcVWqhMP+HdxpW2B3MlAtvYG2MRpwXkR34yvRIh5IYVMnR5tyUi5knDlJUGOPHPQ==} + webdriverio@9.18.3: + resolution: {integrity: sha512-UNSC7nyAZN8I7z4IjevpZ+xYWtrMGr9k+Kg3ht8OdR05LYrrXUqfHcJmtSCkwv0EkdjPhS3O2pqSSJ6O3ioLQA==} engines: {node: '>=18.20.0'} peerDependencies: puppeteer-core: '>=22.x || <=24.x' @@ -17115,7 +17119,7 @@ snapshots: es-toolkit: 1.39.5 protobufjs: 7.5.0 - '@ckeditor/ckeditor5-package-tools@4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-package-tools@4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) @@ -17134,7 +17138,7 @@ snapshots: stylelint-config-ckeditor5: 2.0.1(stylelint@16.22.0(typescript@5.8.3)) terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.0.4) + ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.0.4) typescript: 5.0.4 webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) webpack-dev-server: 5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) @@ -17420,8 +17424,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -18640,12 +18642,12 @@ snapshots: '@types/node': 22.16.5 optional: true - '@inquirer/confirm@5.1.14(@types/node@24.0.14)': + '@inquirer/confirm@5.1.14(@types/node@24.1.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.0.14) - '@inquirer/type': 3.0.8(@types/node@24.0.14) + '@inquirer/core': 10.1.15(@types/node@24.1.0) + '@inquirer/type': 3.0.8(@types/node@24.1.0) optionalDependencies: - '@types/node': 24.0.14 + '@types/node': 24.1.0 optional: true '@inquirer/core@10.1.15(@types/node@22.16.5)': @@ -18662,10 +18664,10 @@ snapshots: '@types/node': 22.16.5 optional: true - '@inquirer/core@10.1.15(@types/node@24.0.14)': + '@inquirer/core@10.1.15(@types/node@24.1.0)': dependencies: '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.0.14) + '@inquirer/type': 3.0.8(@types/node@24.1.0) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -18673,7 +18675,7 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.0.14 + '@types/node': 24.1.0 optional: true '@inquirer/figures@1.0.13': @@ -18684,9 +18686,9 @@ snapshots: '@types/node': 22.16.5 optional: true - '@inquirer/type@3.0.8(@types/node@24.0.14)': + '@inquirer/type@3.0.8(@types/node@24.1.0)': optionalDependencies: - '@types/node': 24.0.14 + '@types/node': 24.1.0 optional: true '@isaacs/cliui@8.0.2': @@ -20716,14 +20718,14 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': + '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': dependencies: - '@sveltejs/kit': 2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/kit': 2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@types/cookie': 0.6.0 acorn: 8.15.0 cookie: 0.6.0 @@ -20736,27 +20738,27 @@ snapshots: set-cookie-parser: 2.7.1 sirv: 3.0.1 svelte: 5.36.12 - vite: 7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) svelte: 5.36.12 - vite: 7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 svelte: 5.36.12 - vite: 7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vitefu: 1.1.1(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitefu: 1.1.1(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) transitivePeerDependencies: - supports-color @@ -20923,12 +20925,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.1.11 - '@tailwindcss/vite@4.1.11(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@tailwindcss/vite@4.1.11(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@tailwindcss/node': 4.1.11 '@tailwindcss/oxide': 4.1.11 tailwindcss: 4.1.11 - vite: 7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@testing-library/dom@10.4.0': dependencies: @@ -20984,7 +20986,7 @@ snapshots: '@types/appdmg@0.5.5': dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 optional: true '@types/archiver@6.0.3': @@ -21027,7 +21029,7 @@ snapshots: '@types/bonjour@3.5.13': dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 '@types/bootstrap@5.2.10': dependencies: @@ -21062,7 +21064,7 @@ snapshots: '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 5.0.7 - '@types/node': 22.16.5 + '@types/node': 24.1.0 '@types/connect@3.4.38': dependencies: @@ -21262,7 +21264,7 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 optional: true '@types/geojson@7946.0.16': {} @@ -21270,7 +21272,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.16.5 + '@types/node': 24.1.0 '@types/hast@3.0.4': dependencies: @@ -21284,7 +21286,7 @@ snapshots: '@types/http-proxy@1.17.16': dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 '@types/ini@4.1.1': {} @@ -21360,7 +21362,7 @@ snapshots: '@types/node-forge@1.3.12': dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 '@types/node@16.9.1': {} @@ -21368,7 +21370,7 @@ snapshots: dependencies: undici-types: 6.19.8 - '@types/node@20.19.8': + '@types/node@20.19.9': dependencies: undici-types: 6.21.0 @@ -21388,7 +21390,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@24.0.14': + '@types/node@24.1.0': dependencies: undici-types: 7.8.0 @@ -21465,7 +21467,7 @@ snapshots: '@types/sockjs@0.3.36': dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 '@types/stack-utils@2.0.3': {} @@ -21532,7 +21534,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.16.5 + '@types/node': 22.16.4 optional: true '@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': @@ -21801,7 +21803,7 @@ snapshots: - bufferutil - utf-8-validate - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) @@ -21814,7 +21816,7 @@ snapshots: ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 - webdriverio: 9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriverio: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - msw @@ -21822,40 +21824,40 @@ snapshots: - vite optional: true - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.14)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.14)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 - webdriverio: 9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriverio: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.14)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.14)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 - webdriverio: 9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriverio: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - msw @@ -21874,7 +21876,7 @@ snapshots: magicast: 0.3.5 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.14)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.14)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -21895,7 +21897,7 @@ snapshots: tinyrainbow: 2.0.0 vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) optionalDependencies: - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) transitivePeerDependencies: - supports-color @@ -21926,23 +21928,23 @@ snapshots: vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) optional: true - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.5(@types/node@24.0.14)(typescript@5.8.3) - vite: 7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + msw: 2.7.5(@types/node@24.1.0)(typescript@5.8.3) + vite: 7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.5(@types/node@24.0.14)(typescript@5.8.3) - vite: 7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + msw: 2.7.5(@types/node@24.1.0)(typescript@5.8.3) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -21973,7 +21975,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.14)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.14)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/utils@3.2.4': dependencies: @@ -22050,11 +22052,11 @@ snapshots: '@wdio/repl@9.16.2': dependencies: - '@types/node': 20.19.8 + '@types/node': 20.19.9 '@wdio/types@9.16.2': dependencies: - '@types/node': 20.19.8 + '@types/node': 20.19.9 '@wdio/utils@9.18.0': dependencies: @@ -22167,7 +22169,7 @@ snapshots: js-yaml: 3.14.1 tslib: 2.8.1 - '@zip.js/zip.js@2.7.64': {} + '@zip.js/zip.js@2.7.67': {} '@zkochan/js-yaml@0.0.7': dependencies: @@ -23013,6 +23015,20 @@ snapshots: undici: 7.12.0 whatwg-mimetype: 4.0.0 + cheerio@1.1.2: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.2.2 + encoding-sniffer: 0.2.1 + htmlparser2: 10.0.0 + parse5: 7.3.0 + parse5-htmlparser2-tree-adapter: 7.1.0 + parse5-parser-stream: 7.1.2 + undici: 7.12.0 + whatwg-mimetype: 4.0.0 + chevrotain-allstar@0.3.1(chevrotain@11.0.3): dependencies: chevrotain: 11.0.3 @@ -24368,7 +24384,7 @@ snapshots: edgedriver@6.1.2: dependencies: '@wdio/logger': 9.18.0 - '@zip.js/zip.js': 2.7.64 + '@zip.js/zip.js': 2.7.67 decamelize: 6.0.0 edge-paths: 3.0.5 fast-xml-parser: 5.2.5 @@ -24811,7 +24827,7 @@ snapshots: eslint: 9.31.0(jiti@2.4.2) globals: 13.24.0 - eslint-plugin-svelte@3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.12)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3)): + eslint-plugin-svelte@3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.12)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)): dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) '@jridgewell/sourcemap-codec': 1.5.4 @@ -24820,7 +24836,7 @@ snapshots: globals: 16.3.0 known-css-properties: 0.37.0 postcss: 8.5.6 - postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3)) + postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)) postcss-safe-parser: 7.0.1(postcss@8.5.6) semver: 7.7.2 svelte-eslint-parser: 1.3.0(svelte@5.36.12) @@ -25479,7 +25495,7 @@ snapshots: geckodriver@5.0.0: dependencies: '@wdio/logger': 9.18.0 - '@zip.js/zip.js': 2.7.64 + '@zip.js/zip.js': 2.7.67 decamelize: 6.0.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -26770,13 +26786,13 @@ snapshots: jest-worker@26.6.2: dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 merge-stream: 2.0.0 supports-color: 7.2.0 jest-worker@27.5.1: dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -28083,12 +28099,12 @@ snapshots: - '@types/node' optional: true - msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3): + msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.14(@types/node@24.0.14) + '@inquirer/confirm': 5.1.14(@types/node@24.1.0) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -29007,13 +29023,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.6 - postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3)): + postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.5.6 - ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3) + ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: @@ -29690,7 +29706,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 22.16.5 + '@types/node': 24.1.0 long: 5.3.2 proxy-addr@2.0.7: @@ -31726,14 +31742,14 @@ snapshots: '@swc/core': 1.11.29(@swc/helpers@0.5.17) optional: true - ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.0.4): + ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.0.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 24.0.14 + '@types/node': 24.1.0 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -31746,14 +31762,14 @@ snapshots: optionalDependencies: '@swc/core': 1.11.29(@swc/helpers@0.5.17) - ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(typescript@5.8.3): + ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 24.0.14 + '@types/node': 24.1.0 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -32208,13 +32224,13 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite-node@3.2.4(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@6.0.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -32248,26 +32264,26 @@ snapshots: - rollup - supports-color - vite-plugin-static-copy@3.1.1(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-static-copy@3.1.1(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: chokidar: 3.6.0 fs-extra: 11.3.0 p-map: 7.0.3 picocolors: 1.1.1 tinyglobby: 0.2.14 - vite: 7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: svgo: 3.3.2 typescript: 5.8.3 - vite: 7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: svgo: 3.3.2 typescript: 5.8.3 - vite: 7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vite@7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: @@ -32290,7 +32306,7 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vite@7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.2) @@ -32299,7 +32315,7 @@ snapshots: rollup: 4.40.0 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.0.14 + '@types/node': 24.1.0 fsevents: 2.3.3 jiti: 2.4.2 less: 4.1.3 @@ -32332,7 +32348,7 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) @@ -32341,7 +32357,7 @@ snapshots: rollup: 4.45.1 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.0.14 + '@types/node': 24.1.0 fsevents: 2.3.3 jiti: 2.4.2 less: 4.1.3 @@ -32353,9 +32369,9 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vitefu@1.1.1(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vitefu@1.1.1(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): optionalDependencies: - vite: 7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: @@ -32385,7 +32401,7 @@ snapshots: optionalDependencies: '@types/debug': 4.1.12 '@types/node': 22.16.5 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -32403,11 +32419,11 @@ snapshots: - tsx - yaml - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.14)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.14)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -32425,13 +32441,13 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 24.0.14 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@types/node': 24.1.0 + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -32517,7 +32533,7 @@ snapshots: webdriver@9.18.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: - '@types/node': 20.19.8 + '@types/node': 20.19.9 '@types/ws': 8.18.1 '@wdio/config': 9.18.0 '@wdio/logger': 9.18.0 @@ -32534,9 +32550,9 @@ snapshots: - supports-color - utf-8-validate - webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5): + webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: - '@types/node': 20.19.8 + '@types/node': 20.19.9 '@types/sinonjs__fake-timers': 8.1.5 '@wdio/config': 9.18.0 '@wdio/logger': 9.18.0 @@ -32546,7 +32562,7 @@ snapshots: '@wdio/utils': 9.18.0 archiver: 7.0.1 aria-query: 5.3.2 - cheerio: 1.1.1 + cheerio: 1.1.2 css-shorthand-properties: 1.1.2 css-value: 0.0.1 grapheme-splitter: 1.0.4 From d2f0422ecc82ff4e5a546532d4cc2b6766c464c8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 02:33:49 +0000 Subject: [PATCH 076/505] fix(deps): update dependency mind-elixir to v5.0.3 --- apps/client/package.json | 2 +- pnpm-lock.yaml | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index d28adf60b..26536f888 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -48,7 +48,7 @@ "mark.js": "8.11.1", "marked": "16.1.1", "mermaid": "11.9.0", - "mind-elixir": "5.0.2", + "mind-elixir": "5.0.3", "normalize.css": "8.0.1", "panzoom": "9.4.3", "preact": "10.26.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c002c7609..d4405bda1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -183,7 +183,7 @@ importers: version: 0.1.8(mermaid@11.9.0) '@mind-elixir/node-menu': specifier: 5.0.0 - version: 5.0.0(mind-elixir@5.0.2) + version: 5.0.0(mind-elixir@5.0.3) '@popperjs/core': specifier: 2.11.8 version: 2.11.8 @@ -269,8 +269,8 @@ importers: specifier: 11.9.0 version: 11.9.0 mind-elixir: - specifier: 5.0.2 - version: 5.0.2 + specifier: 5.0.3 + version: 5.0.3 normalize.css: specifier: 8.0.1 version: 8.0.1 @@ -10718,8 +10718,8 @@ packages: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} - mind-elixir@5.0.2: - resolution: {integrity: sha512-ucSTSAT5y5bqDjf1dhlPCpPNQ1WBaaN2edvp2mFTmQgSWdusoRJIvZrnqNcoYAV3MZ6o/WtCfbG3hCbH6DrOgA==} + mind-elixir@5.0.3: + resolution: {integrity: sha512-+UWk1nDpJVz6m4UPtwaq3/YyuSsZHrVq+WJpioONVTVds7PCkkUnmYgZlop5YgOW5nDHFlA+C6Dk2fR13AU0dg==} mini-css-extract-plugin@2.4.7: resolution: {integrity: sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg==} @@ -17420,8 +17420,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -19261,9 +19259,9 @@ snapshots: '@microsoft/tsdoc@0.15.1': {} - '@mind-elixir/node-menu@5.0.0(mind-elixir@5.0.2)': + '@mind-elixir/node-menu@5.0.0(mind-elixir@5.0.3)': dependencies: - mind-elixir: 5.0.2 + mind-elixir: 5.0.3 '@mixmark-io/domino@2.2.0': {} @@ -27860,7 +27858,7 @@ snapshots: mimic-response@3.1.0: {} - mind-elixir@5.0.2: {} + mind-elixir@5.0.3: {} mini-css-extract-plugin@2.4.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: From e2ee9053a0da9651c504837141313def751cb2e1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 02:34:45 +0000 Subject: [PATCH 077/505] chore(deps): update dependency @anthropic-ai/sdk to v0.57.0 --- apps/server/package.json | 2 +- pnpm-lock.yaml | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/apps/server/package.json b/apps/server/package.json index b3e3baaab..7bf7aae55 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -39,7 +39,7 @@ "@types/ws": "8.18.1", "@types/xml2js": "0.4.14", "express-http-proxy": "2.1.1", - "@anthropic-ai/sdk": "0.56.0", + "@anthropic-ai/sdk": "0.57.0", "@braintree/sanitize-url": "7.1.1", "@triliumnext/commons": "workspace:*", "@triliumnext/express-partial-content": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c002c7609..833703266 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -478,8 +478,8 @@ importers: version: 12.2.0 devDependencies: '@anthropic-ai/sdk': - specifier: 0.56.0 - version: 0.56.0 + specifier: 0.57.0 + version: 0.57.0 '@braintree/sanitize-url': specifier: 7.1.1 version: 7.1.1 @@ -1402,8 +1402,8 @@ packages: '@antfu/utils@8.1.1': resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} - '@anthropic-ai/sdk@0.56.0': - resolution: {integrity: sha512-SLCB8M8+VMg1cpCucnA1XWHGWqVSZtIWzmOdDOEu3eTFZMB+A0sGZ1ESO5MHDnqrNTXz3safMrWx9x4rMZSOqA==} + '@anthropic-ai/sdk@0.57.0': + resolution: {integrity: sha512-z5LMy0MWu0+w2hflUgj4RlJr1R+0BxKXL7ldXTO8FasU8fu599STghO+QKwId2dAD0d464aHtU+ChWuRHw4FNw==} hasBin: true '@apidevtools/json-schema-ref-parser@9.1.2': @@ -15074,7 +15074,7 @@ snapshots: '@antfu/utils@8.1.1': {} - '@anthropic-ai/sdk@0.56.0': {} + '@anthropic-ai/sdk@0.57.0': {} '@apidevtools/json-schema-ref-parser@9.1.2': dependencies: @@ -17420,8 +17420,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: From 60b32d5b05460fc1df1e6f51d2110483100a52ee Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 02:35:35 +0000 Subject: [PATCH 078/505] chore(deps): update dependency express-openid-connect to v2.19.2 --- pnpm-lock.yaml | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c002c7609..fd3deb74b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -650,7 +650,7 @@ importers: version: 2.1.1 express-openid-connect: specifier: ^2.17.1 - version: 2.18.1(express@5.1.0) + version: 2.19.2(express@5.1.0) express-rate-limit: specifier: 8.0.1 version: 8.0.1(express@5.1.0) @@ -8507,8 +8507,8 @@ packages: resolution: {integrity: sha512-4aRQRqDQU7qNPV5av0/hLcyc0guB9UP71nCYrQEYml7YphTo8tmWf3nDZWdTJMMjFikyz9xKXaURor7Chygdwg==} engines: {node: '>=6.0.0'} - express-openid-connect@2.18.1: - resolution: {integrity: sha512-trHqgwXxWF0n/XrDsRzsvQtnBNbU03iCNXbKR/sHwBqXlvCgup341bW7B8t6nr3L/CMoDpK+9gsTnx3qLCqdjQ==} + express-openid-connect@2.19.2: + resolution: {integrity: sha512-hRRRBS+mH9hrhVcbg7+APe+dIsYB4BDLILv7QfTmM1jSDyaU9NYpTxqWourAnlud/E4Gf4Q0qCVmSJguh4BTaA==} engines: {node: ^10.19.0 || >=12.0.0 < 13 || >=13.7.0 < 14 || >= 14.2.0} peerDependencies: express: '>= 4.17.0' @@ -11148,10 +11148,6 @@ packages: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} - on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} - on-headers@1.1.0: resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} engines: {node: '>= 0.8'} @@ -17420,8 +17416,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -24974,7 +24968,7 @@ snapshots: transitivePeerDependencies: - supports-color - express-openid-connect@2.18.1(express@5.1.0): + express-openid-connect@2.19.2(express@5.1.0): dependencies: base64url: 3.0.1 clone: 2.1.2 @@ -24985,7 +24979,7 @@ snapshots: http-errors: 1.8.1 joi: 17.13.3 jose: 2.0.7 - on-headers: 1.0.2 + on-headers: 1.1.0 openid-client: 4.9.1 url-join: 4.0.1 transitivePeerDependencies: @@ -28419,8 +28413,6 @@ snapshots: dependencies: ee-first: 1.1.1 - on-headers@1.0.2: {} - on-headers@1.1.0: {} once@1.4.0: From 1e6659aff97d8d4b1e7b4fde844072bd06118715 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 02:37:13 +0000 Subject: [PATCH 079/505] chore(deps): update typescript-eslint monorepo to v8.38.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 | 206 +++++++++++++----- 6 files changed, 161 insertions(+), 55 deletions(-) diff --git a/packages/ckeditor5-admonition/package.json b/packages/ckeditor5-admonition/package.json index 27f12eb63..126d384ae 100644 --- a/packages/ckeditor5-admonition/package.json +++ b/packages/ckeditor5-admonition/package.json @@ -35,7 +35,7 @@ "@ckeditor/ckeditor5-dev-build-tools": "43.1.0", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "^4.0.0", - "@typescript-eslint/eslint-plugin": "~8.37.0", + "@typescript-eslint/eslint-plugin": "~8.38.0", "@typescript-eslint/parser": "^8.0.0", "@vitest/browser": "^3.0.5", "@vitest/coverage-istanbul": "^3.0.5", diff --git a/packages/ckeditor5-footnotes/package.json b/packages/ckeditor5-footnotes/package.json index 04bb0ce0b..521640b19 100644 --- a/packages/ckeditor5-footnotes/package.json +++ b/packages/ckeditor5-footnotes/package.json @@ -36,7 +36,7 @@ "@ckeditor/ckeditor5-dev-build-tools": "43.1.0", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "^4.0.0", - "@typescript-eslint/eslint-plugin": "~8.37.0", + "@typescript-eslint/eslint-plugin": "~8.38.0", "@typescript-eslint/parser": "^8.0.0", "@vitest/browser": "^3.0.5", "@vitest/coverage-istanbul": "^3.0.5", diff --git a/packages/ckeditor5-keyboard-marker/package.json b/packages/ckeditor5-keyboard-marker/package.json index f536b2af8..893cc2518 100644 --- a/packages/ckeditor5-keyboard-marker/package.json +++ b/packages/ckeditor5-keyboard-marker/package.json @@ -38,7 +38,7 @@ "@ckeditor/ckeditor5-dev-build-tools": "43.1.0", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "^4.0.0", - "@typescript-eslint/eslint-plugin": "~8.37.0", + "@typescript-eslint/eslint-plugin": "~8.38.0", "@typescript-eslint/parser": "^8.0.0", "@vitest/browser": "^3.0.5", "@vitest/coverage-istanbul": "^3.0.5", diff --git a/packages/ckeditor5-math/package.json b/packages/ckeditor5-math/package.json index 95e5dea78..bd5a03690 100644 --- a/packages/ckeditor5-math/package.json +++ b/packages/ckeditor5-math/package.json @@ -39,7 +39,7 @@ "@ckeditor/ckeditor5-dev-utils": "43.1.0", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "^4.0.0", - "@typescript-eslint/eslint-plugin": "~8.37.0", + "@typescript-eslint/eslint-plugin": "~8.38.0", "@typescript-eslint/parser": "^8.0.0", "@vitest/browser": "^3.0.5", "@vitest/coverage-istanbul": "^3.0.5", diff --git a/packages/ckeditor5-mermaid/package.json b/packages/ckeditor5-mermaid/package.json index 2af97dc3f..2014c3766 100644 --- a/packages/ckeditor5-mermaid/package.json +++ b/packages/ckeditor5-mermaid/package.json @@ -38,7 +38,7 @@ "@ckeditor/ckeditor5-dev-build-tools": "43.1.0", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "^4.0.0", - "@typescript-eslint/eslint-plugin": "~8.37.0", + "@typescript-eslint/eslint-plugin": "~8.38.0", "@typescript-eslint/parser": "^8.0.0", "@vitest/browser": "^3.0.5", "@vitest/coverage-istanbul": "^3.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c002c7609..b158fb23d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,7 +48,7 @@ importers: version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint-plugin': specifier: 21.3.1 - version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/express': specifier: 21.3.1 version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) @@ -138,7 +138,7 @@ importers: version: 5.8.3 typescript-eslint: specifier: ^8.19.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) upath: specifier: 2.0.1 version: 2.0.1 @@ -840,7 +840,7 @@ importers: version: 5.8.3 typescript-eslint: specifier: ^8.20.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) vite: specifier: ^7.0.0 version: 7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -885,11 +885,11 @@ importers: specifier: ^4.0.0 version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.37.0 - version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + specifier: ~8.38.0 + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -945,11 +945,11 @@ importers: specifier: ^4.0.0 version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.37.0 - version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + specifier: ~8.38.0 + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -1005,11 +1005,11 @@ importers: specifier: ^4.0.0 version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.37.0 - version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + specifier: ~8.38.0 + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -1072,11 +1072,11 @@ importers: specifier: ^4.0.0 version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.37.0 - version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + specifier: ~8.38.0 + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -1139,11 +1139,11 @@ importers: specifier: ^4.0.0 version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.14)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.37.0 - version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + specifier: ~8.38.0 + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.14)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.14)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -1358,10 +1358,10 @@ importers: version: 5.21.1 '@typescript-eslint/eslint-plugin': specifier: ^8.0.0 - version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) dotenv: specifier: ^17.0.0 version: 17.2.0 @@ -5831,11 +5831,11 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/eslint-plugin@8.37.0': - resolution: {integrity: sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA==} + '@typescript-eslint/eslint-plugin@8.38.0': + resolution: {integrity: sha512-CPoznzpuAnIOl4nhj4tRr4gIPj5AfKgkiJmGQDaq+fQnRJTYlcBjbX3wbciGmpoPf8DREufuPRe1tNMZnGdanA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.37.0 + '@typescript-eslint/parser': ^8.38.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' @@ -5846,8 +5846,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.37.0': - resolution: {integrity: sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==} + '@typescript-eslint/parser@8.38.0': + resolution: {integrity: sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -5865,6 +5865,12 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/project-service@8.38.0': + resolution: {integrity: sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/scope-manager@8.36.0': resolution: {integrity: sha512-wCnapIKnDkN62fYtTGv2+RY8FlnBYA3tNm0fm91kc2BjPhV2vIjwwozJ7LToaLAyb1ca8BxrS7vT+Pvvf7RvqA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5873,6 +5879,10 @@ packages: resolution: {integrity: sha512-0vGq0yiU1gbjKob2q691ybTg9JX6ShiVXAAfm2jGf3q0hdP6/BruaFjL/ManAR/lj05AvYCH+5bbVo0VtzmjOA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.38.0': + resolution: {integrity: sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.36.0': resolution: {integrity: sha512-Nhh3TIEgN18mNbdXpd5Q8mSCBnrZQeY9V7Ca3dqYvNDStNIGRmJA6dmrIPMJ0kow3C7gcQbpsG2rPzy1Ks/AnA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5885,6 +5895,12 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/tsconfig-utils@8.38.0': + resolution: {integrity: sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/type-utils@8.36.0': resolution: {integrity: sha512-5aaGYG8cVDd6cxfk/ynpYzxBRZJk7w/ymto6uiyUFtdCozQIsQWh7M28/6r57Fwkbweng8qAzoMCPwSJfWlmsg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5899,6 +5915,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/type-utils@8.38.0': + resolution: {integrity: sha512-c7jAvGEZVf0ao2z+nnz8BUaHZD09Agbh+DY7qvBQqLiz8uJzRgVPj5YvOh8I8uEiH8oIUGIfHzMwUcGVco/SJg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/types@8.36.0': resolution: {integrity: sha512-xGms6l5cTJKQPZOKM75Dl9yBfNdGeLRsIyufewnxT4vZTrjC0ImQT4fj8QmtJK84F58uSh5HVBSANwcfiXxABQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5907,6 +5930,10 @@ packages: resolution: {integrity: sha512-ax0nv7PUF9NOVPs+lmQ7yIE7IQmAf8LGcXbMvHX5Gm+YJUYNAl340XkGnrimxZ0elXyoQJuN5sbg6C4evKA4SQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.38.0': + resolution: {integrity: sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.36.0': resolution: {integrity: sha512-JaS8bDVrfVJX4av0jLpe4ye0BpAaUW7+tnS4Y4ETa3q7NoZgzYbN9zDQTJ8kPb5fQ4n0hliAt9tA4Pfs2zA2Hg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5919,6 +5946,12 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/typescript-estree@8.38.0': + resolution: {integrity: sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@8.36.0': resolution: {integrity: sha512-VOqmHu42aEMT+P2qYjylw6zP/3E/HvptRwdn/PZxyV27KhZg2IOszXod4NcXisWzPAGSS4trE/g4moNj6XmH2g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5933,6 +5966,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@8.38.0': + resolution: {integrity: sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/visitor-keys@8.36.0': resolution: {integrity: sha512-vZrhV2lRPWDuGoxcmrzRZyxAggPL+qp3WzUrlZD+slFueDiYHxeBa34dUXPuC0RmGKzl4lS5kFJYvKCq9cnNDA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5941,6 +5981,10 @@ packages: resolution: {integrity: sha512-YzfhzcTnZVPiLfP/oeKtDp2evwvHLMe0LOy7oe+hb9KKIumLNohYS9Hgp1ifwpu42YWxhZE8yieggz6JpqO/1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.38.0': + resolution: {integrity: sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} @@ -14152,8 +14196,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - typescript-eslint@8.37.0: - resolution: {integrity: sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA==} + typescript-eslint@8.38.0: + resolution: {integrity: sha512-FsZlrYK6bPDGoLeZRuvx2v6qrM03I0U0SnfCLPs/XCCPCFD80xU9Pg09H/K+XFa68uJuZo7l/Xhs+eDRg2l3hg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -17420,8 +17464,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -18081,7 +18123,7 @@ snapshots: '@es-joy/jsdoccomment@0.50.2': dependencies: '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/types': 8.38.0 comment-parser: 1.4.1 esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 @@ -19369,12 +19411,12 @@ snapshots: - supports-color - verdaccio - '@nx/eslint-plugin@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/eslint-plugin@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) - '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/type-utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) chalk: 4.1.2 @@ -20690,7 +20732,7 @@ snapshots: '@stylistic/eslint-plugin@4.4.1(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.31.0(jiti@2.4.2) eslint-visitor-keys: 4.2.1 espree: 10.4.0 @@ -21552,14 +21594,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.37.0 - '@typescript-eslint/type-utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.37.0 + '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.38.0 + '@typescript-eslint/type-utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.38.0 eslint: 9.31.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 7.0.5 @@ -21581,12 +21623,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.37.0 - '@typescript-eslint/types': 8.37.0 - '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.37.0 + '@typescript-eslint/scope-manager': 8.38.0 + '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.38.0 debug: 4.4.1(supports-color@6.0.0) eslint: 9.31.0(jiti@2.4.2) typescript: 5.8.3 @@ -21611,6 +21653,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/project-service@8.38.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3) + '@typescript-eslint/types': 8.38.0 + debug: 4.4.1(supports-color@6.0.0) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@8.36.0': dependencies: '@typescript-eslint/types': 8.36.0 @@ -21621,6 +21672,11 @@ snapshots: '@typescript-eslint/types': 8.37.0 '@typescript-eslint/visitor-keys': 8.37.0 + '@typescript-eslint/scope-manager@8.38.0': + dependencies: + '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/visitor-keys': 8.38.0 + '@typescript-eslint/tsconfig-utils@8.36.0(typescript@5.8.3)': dependencies: typescript: 5.8.3 @@ -21629,6 +21685,10 @@ snapshots: dependencies: typescript: 5.8.3 + '@typescript-eslint/tsconfig-utils@8.38.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + '@typescript-eslint/type-utils@8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3) @@ -21652,10 +21712,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + debug: 4.4.1(supports-color@6.0.0) + eslint: 9.31.0(jiti@2.4.2) + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@8.36.0': {} '@typescript-eslint/types@8.37.0': {} + '@typescript-eslint/types@8.38.0': {} + '@typescript-eslint/typescript-estree@8.36.0(typescript@5.8.3)': dependencies: '@typescript-eslint/project-service': 8.36.0(typescript@5.8.3) @@ -21688,6 +21762,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.38.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/project-service': 8.38.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3) + '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/visitor-keys': 8.38.0 + debug: 4.4.1(supports-color@6.0.0) + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) @@ -21710,6 +21800,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.38.0 + '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) + eslint: 9.31.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@8.36.0': dependencies: '@typescript-eslint/types': 8.36.0 @@ -21720,6 +21821,11 @@ snapshots: '@typescript-eslint/types': 8.37.0 eslint-visitor-keys: 4.2.1 + '@typescript-eslint/visitor-keys@8.38.0': + dependencies: + '@typescript-eslint/types': 8.38.0 + eslint-visitor-keys: 4.2.1 + '@ungap/structured-clone@1.3.0': {} '@unrs/resolver-binding-android-arm-eabi@1.11.1': @@ -25608,7 +25714,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.0.4 once: 1.4.0 path-is-absolute: 1.0.1 @@ -31882,12 +31988,12 @@ snapshots: transitivePeerDependencies: - supports-color - typescript-eslint@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3): + typescript-eslint@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.31.0(jiti@2.4.2) typescript: 5.8.3 transitivePeerDependencies: From 4003946e68f76d7d6d38329f8b1a8f92f99f5205 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 23 Jul 2025 08:40:44 +0300 Subject: [PATCH 080/505] chore(deps): fix pnpm-lock --- pnpm-lock.yaml | 2138 ++++++++++++++++++++++++------------------------ 1 file changed, 1053 insertions(+), 1085 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f903df10f..d39da70d5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,13 +42,13 @@ importers: version: 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/esbuild': specifier: 21.3.1 - version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint': specifier: 21.3.1 version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint-plugin': specifier: 21.3.1 - version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/express': specifier: 21.3.1 version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) @@ -63,7 +63,7 @@ importers: version: 21.3.1(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/vite': specifier: 21.3.1 - version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) + version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) '@nx/web': specifier: 21.3.1 version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) @@ -96,13 +96,13 @@ importers: version: 3.14.0 esbuild: specifier: ^0.25.0 - version: 0.25.8 + version: 0.25.6 eslint: specifier: ^9.8.0 version: 9.31.0(jiti@2.4.2) eslint-config-prettier: specifier: ^10.0.0 - version: 10.1.8(eslint@9.31.0(jiti@2.4.2)) + version: 10.1.5(eslint@9.31.0(jiti@2.4.2)) eslint-plugin-playwright: specifier: ^2.0.0 version: 2.2.0(eslint@9.31.0(jiti@2.4.2)) @@ -126,7 +126,7 @@ importers: version: 0.17.0 rollup-plugin-webpack-stats: specifier: 2.1.0 - version: 2.1.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.1.0(rollup@4.44.2)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) tslib: specifier: ^2.3.0 version: 2.8.1 @@ -138,19 +138,19 @@ importers: version: 5.8.3 typescript-eslint: specifier: ^8.19.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) upath: specifier: 2.0.1 version: 2.0.1 vite: specifier: ^7.0.0 - version: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vite-plugin-dts: specifier: ~4.5.0 - version: 4.5.4(@types/node@22.16.5)(rollup@4.45.1)(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 4.5.4(@types/node@22.16.5)(rollup@4.44.2)(typescript@5.8.3)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.0 - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) apps/client: dependencies: @@ -316,7 +316,7 @@ importers: version: 6.2.7 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) happy-dom: specifier: 18.0.1 version: 18.0.1 @@ -325,7 +325,7 @@ importers: version: 0.7.2 vite-plugin-static-copy: specifier: 3.1.1 - version: 3.1.1(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 3.1.1(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) apps/db-compare: dependencies: @@ -398,7 +398,7 @@ importers: version: 1.0.2 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) electron: specifier: 37.2.3 version: 37.2.3 @@ -463,7 +463,7 @@ importers: version: 11.0.4 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) electron: specifier: 37.2.3 version: 37.2.3 @@ -650,7 +650,7 @@ importers: version: 2.1.1 express-openid-connect: specifier: ^2.17.1 - version: 2.19.2(express@5.1.0) + version: 2.18.1(express@5.1.0) express-rate-limit: specifier: 8.0.1 version: 8.0.1(express@5.1.0) @@ -801,37 +801,37 @@ importers: version: 9.31.0 '@sveltejs/adapter-auto': specifier: ^6.0.0 - version: 6.0.1(@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) + version: 6.0.1(@sveltejs/kit@2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@sveltejs/vite-plugin-svelte': specifier: ^6.0.0 - version: 6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@tailwindcss/typography': specifier: ^0.5.15 version: 0.5.16(tailwindcss@4.1.11) '@tailwindcss/vite': specifier: ^4.0.0 - version: 4.1.11(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 4.1.11(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) eslint: specifier: ^9.18.0 version: 9.31.0(jiti@2.4.2) eslint-plugin-svelte: specifier: ^3.0.0 - version: 3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.12)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)) + version: 3.10.1(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.2)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)) globals: specifier: ^16.0.0 version: 16.3.0 mdsvex: specifier: ^0.12.3 - version: 0.12.6(svelte@5.36.12) + version: 0.12.6(svelte@5.36.2) svelte: specifier: ^5.0.0 - version: 5.36.12 + version: 5.36.2 svelte-check: specifier: ^4.0.0 - version: 4.3.0(picomatch@4.0.3)(svelte@5.36.12)(typescript@5.8.3) + version: 4.2.2(picomatch@4.0.2)(svelte@5.36.2)(typescript@5.8.3) tailwindcss: specifier: ^4.0.0 version: 4.1.11 @@ -840,10 +840,10 @@ importers: version: 5.8.3 typescript-eslint: specifier: ^8.20.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) vite: specifier: ^7.0.0 - version: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) packages/ckeditor5: dependencies: @@ -883,16 +883,16 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -913,25 +913,25 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.22.0(typescript@5.8.3) + version: 16.21.1(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) + version: 12.0.0(stylelint@16.21.1(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-footnotes: devDependencies: @@ -943,16 +943,16 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -973,25 +973,25 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.22.0(typescript@5.8.3) + version: 16.21.1(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) + version: 12.0.0(stylelint@16.21.1(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-keyboard-marker: devDependencies: @@ -1003,16 +1003,16 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1033,25 +1033,25 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.22.0(typescript@5.8.3) + version: 16.21.1(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) + version: 12.0.0(stylelint@16.21.1(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-math: dependencies: @@ -1064,22 +1064,22 @@ importers: version: 43.1.0(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.8.3) '@ckeditor/ckeditor5-dev-utils': specifier: 43.1.0 - version: 43.1.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + version: 43.1.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) '@ckeditor/ckeditor5-inspector': specifier: '>=4.1.0' version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1100,25 +1100,25 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.22.0(typescript@5.8.3) + version: 16.21.1(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) + version: 12.0.0(stylelint@16.21.1(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-mermaid: dependencies: @@ -1137,16 +1137,16 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1167,25 +1167,25 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.22.0(typescript@5.8.3) + version: 16.21.1(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) + version: 12.0.0(stylelint@16.21.1(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/codemirror: dependencies: @@ -1358,16 +1358,16 @@ importers: version: 5.21.1 '@typescript-eslint/eslint-plugin': specifier: ^8.0.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) dotenv: specifier: ^17.0.0 version: 17.2.0 esbuild: specifier: ^0.25.0 - version: 0.25.8 + version: 0.25.6 eslint: specifier: ^9.0.0 version: 9.31.0(jiti@2.4.2) @@ -1389,9 +1389,6 @@ importers: packages: - '@adobe/css-tools@4.3.3': - resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==} - '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -1616,6 +1613,10 @@ packages: resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.26.5': + resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} + engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.27.1': resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} engines: {node: '>=6.9.0'} @@ -1757,6 +1758,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-jsx@7.25.9': + resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-jsx@7.27.1': resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} engines: {node: '>=6.9.0'} @@ -1805,6 +1812,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-typescript@7.25.9': + resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-typescript@7.27.1': resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} engines: {node: '>=6.9.0'} @@ -2187,8 +2200,8 @@ packages: '@braintree/sanitize-url@7.1.1': resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} - '@bufbuild/protobuf@2.6.1': - resolution: {integrity: sha512-DaG6XlyKpz08bmHY5SGX2gfIllaqtDJ/KwVoxsmP22COOLYwDBe7yD3DZGwXem/Xq7QOc9cuR7R3MpAv5CFfDw==} + '@bufbuild/protobuf@2.6.0': + resolution: {integrity: sha512-6cuonJVNOIL7lTj5zgo/Rc2bKAo4/GvN+rKCrUj7GdEHRzCk8zKOfFwUsL9nAVk5rSIsRmlgcpLzTRysopEeeg==} '@bundled-es-modules/cookie@2.0.1': resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} @@ -2770,14 +2783,14 @@ packages: engines: {node: '>=14.14'} hasBin: true - '@emnapi/core@1.4.5': - resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} + '@emnapi/core@1.4.4': + resolution: {integrity: sha512-A9CnAbC6ARNMKcIcrQwq6HeHCjpcBZ5wSx4U01WXCqEKlrzB9F9315WDNHkrs2xbx7YjjSxbUYxuN6EQzpcY2g==} - '@emnapi/runtime@1.4.5': - resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} + '@emnapi/runtime@1.4.4': + resolution: {integrity: sha512-hHyapA4A3gPaDCNfiqyZUStTMqIkKRshqPIuDOXv1hcBnD4U3l8cP0T1HMCfGRxQ6V64TGCcoswChANyOAwbQg==} - '@emnapi/wasi-threads@1.0.4': - resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} + '@emnapi/wasi-threads@1.0.3': + resolution: {integrity: sha512-8K5IFFsQqF9wQNJptGbS6FNKgUTsSRYnTqNCG1vPP8jFdjSv18n2mQfJpkt2Oibo9iBEzcDnDxNwKTzC7svlJw==} '@es-joy/jsdoccomment@0.50.2': resolution: {integrity: sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==} @@ -2789,8 +2802,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.25.8': - resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} + '@esbuild/aix-ppc64@0.25.6': + resolution: {integrity: sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -2801,8 +2814,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.25.8': - resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==} + '@esbuild/android-arm64@0.25.6': + resolution: {integrity: sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -2813,8 +2826,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.25.8': - resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==} + '@esbuild/android-arm@0.25.6': + resolution: {integrity: sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -2825,8 +2838,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.25.8': - resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==} + '@esbuild/android-x64@0.25.6': + resolution: {integrity: sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -2837,8 +2850,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.25.8': - resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==} + '@esbuild/darwin-arm64@0.25.6': + resolution: {integrity: sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -2849,8 +2862,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.25.8': - resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==} + '@esbuild/darwin-x64@0.25.6': + resolution: {integrity: sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -2861,8 +2874,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.25.8': - resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==} + '@esbuild/freebsd-arm64@0.25.6': + resolution: {integrity: sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -2873,8 +2886,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.8': - resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==} + '@esbuild/freebsd-x64@0.25.6': + resolution: {integrity: sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -2885,8 +2898,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.25.8': - resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==} + '@esbuild/linux-arm64@0.25.6': + resolution: {integrity: sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -2897,8 +2910,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.25.8': - resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==} + '@esbuild/linux-arm@0.25.6': + resolution: {integrity: sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -2909,8 +2922,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.25.8': - resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==} + '@esbuild/linux-ia32@0.25.6': + resolution: {integrity: sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -2921,8 +2934,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.25.8': - resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==} + '@esbuild/linux-loong64@0.25.6': + resolution: {integrity: sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -2933,8 +2946,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.25.8': - resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==} + '@esbuild/linux-mips64el@0.25.6': + resolution: {integrity: sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -2945,8 +2958,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.25.8': - resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==} + '@esbuild/linux-ppc64@0.25.6': + resolution: {integrity: sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -2957,8 +2970,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.25.8': - resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==} + '@esbuild/linux-riscv64@0.25.6': + resolution: {integrity: sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -2969,8 +2982,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.25.8': - resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==} + '@esbuild/linux-s390x@0.25.6': + resolution: {integrity: sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -2981,8 +2994,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.25.8': - resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==} + '@esbuild/linux-x64@0.25.6': + resolution: {integrity: sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -2993,8 +3006,8 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.25.8': - resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==} + '@esbuild/netbsd-arm64@0.25.6': + resolution: {integrity: sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -3005,8 +3018,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.8': - resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==} + '@esbuild/netbsd-x64@0.25.6': + resolution: {integrity: sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -3017,8 +3030,8 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.25.8': - resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==} + '@esbuild/openbsd-arm64@0.25.6': + resolution: {integrity: sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -3029,14 +3042,14 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.8': - resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==} + '@esbuild/openbsd-x64@0.25.6': + resolution: {integrity: sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.8': - resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==} + '@esbuild/openharmony-arm64@0.25.6': + resolution: {integrity: sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] @@ -3047,8 +3060,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.25.8': - resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==} + '@esbuild/sunos-x64@0.25.6': + resolution: {integrity: sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -3059,8 +3072,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.25.8': - resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==} + '@esbuild/win32-arm64@0.25.6': + resolution: {integrity: sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -3071,8 +3084,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.25.8': - resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==} + '@esbuild/win32-ia32@0.25.6': + resolution: {integrity: sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -3083,8 +3096,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.25.8': - resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==} + '@esbuild/win32-x64@0.25.6': + resolution: {integrity: sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -3442,8 +3455,8 @@ packages: resolution: {integrity: sha512-cvz/C1rF5WBxzHbEoiBoI6Sz6q6M+TdxfWkEGBYTD77opY8i8WN01prUWXEM87GPF4SZcyIySez9U0Ccm12oFQ==} engines: {node: '>=18.0.0'} - '@inquirer/confirm@5.1.14': - resolution: {integrity: sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==} + '@inquirer/confirm@5.1.13': + resolution: {integrity: sha512-EkCtvp67ICIVVzjsquUiVSd+V5HRGOGQfsqA4E4vMWhYnB7InUL0pa0TIWt1i+OfP16Gkds8CdIu6yGZwOM1Yw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -3451,8 +3464,8 @@ packages: '@types/node': optional: true - '@inquirer/core@10.1.15': - resolution: {integrity: sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==} + '@inquirer/core@10.1.14': + resolution: {integrity: sha512-Ma+ZpOJPewtIYl6HZHZckeX1STvDnHTCB2GVINNUlSEn2Am6LddWwfPkIGY0IUFVjUUrr/93XlBwTK6mfLjf0A==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -3460,12 +3473,12 @@ packages: '@types/node': optional: true - '@inquirer/figures@1.0.13': - resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} + '@inquirer/figures@1.0.12': + resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==} engines: {node: '>=18'} - '@inquirer/type@3.0.8': - resolution: {integrity: sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==} + '@inquirer/type@3.0.7': + resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -3489,44 +3502,44 @@ packages: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - '@jest/console@30.0.4': - resolution: {integrity: sha512-tMLCDvBJBwPqMm4OAiuKm2uF5y5Qe26KgcMn+nrDSWpEW+eeFmqA0iO4zJfL16GP7gE3bUUQ3hIuUJ22AqVRnw==} + '@jest/console@30.0.5': + resolution: {integrity: sha512-xY6b0XiL0Nav3ReresUarwl2oIz1gTnxGbGpho9/rbUWsLH0f1OD/VT84xs8c7VmH7MChnLb0pag6PhZhAdDiA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} '@jest/diff-sequences@30.0.1': resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/environment@30.0.4': - resolution: {integrity: sha512-5NT+sr7ZOb8wW7C4r7wOKnRQ8zmRWQT2gW4j73IXAKp5/PX1Z8MCStBLQDYfIG3n1Sw0NRfYGdp0iIPVooBAFQ==} + '@jest/environment@30.0.5': + resolution: {integrity: sha512-aRX7WoaWx1oaOkDQvCWImVQ8XNtdv5sEWgk4gxR6NXb7WBUnL5sRak4WRzIQRZ1VTWPvV4VI4mgGjNL9TeKMYA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/expect-utils@30.0.4': - resolution: {integrity: sha512-EgXecHDNfANeqOkcak0DxsoVI4qkDUsR7n/Lr2vtmTBjwLPBnnPOF71S11Q8IObWzxm2QgQoY6f9hzrRD3gHRA==} + '@jest/expect-utils@30.0.5': + resolution: {integrity: sha512-F3lmTT7CXWYywoVUGTCmom0vXq3HTTkaZyTAzIy+bXSBizB7o5qzlC9VCtq0arOa8GqmNsbg/cE9C6HLn7Szew==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/expect@30.0.4': - resolution: {integrity: sha512-Z/DL7t67LBHSX4UzDyeYKqOxE/n7lbrrgEwWM3dGiH5Dgn35nk+YtgzKudmfIrBI8DRRrKYY5BCo3317HZV1Fw==} + '@jest/expect@30.0.5': + resolution: {integrity: sha512-6udac8KKrtTtC+AXZ2iUN/R7dp7Ydry+Fo6FPFnDG54wjVMnb6vW/XNlf7Xj8UDjAE3aAVAsR4KFyKk3TCXmTA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/fake-timers@30.0.4': - resolution: {integrity: sha512-qZ7nxOcL5+gwBO6LErvwVy5k06VsX/deqo2XnVUSTV0TNC9lrg8FC3dARbi+5lmrr5VyX5drragK+xLcOjvjYw==} + '@jest/fake-timers@30.0.5': + resolution: {integrity: sha512-ZO5DHfNV+kgEAeP3gK3XlpJLL4U3Sz6ebl/n68Uwt64qFFs5bv4bfEEjyRGK5uM0C90ewooNgFuKMdkbEoMEXw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} '@jest/get-type@30.0.1': resolution: {integrity: sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/globals@30.0.4': - resolution: {integrity: sha512-avyZuxEHF2EUhFF6NEWVdxkRRV6iXXcIES66DLhuLlU7lXhtFG/ySq/a8SRZmEJSsLkNAFX6z6mm8KWyXe9OEA==} + '@jest/globals@30.0.5': + resolution: {integrity: sha512-7oEJT19WW4oe6HR7oLRvHxwlJk2gev0U9px3ufs8sX9PoD1Eza68KF0/tlN7X0dq/WVsBScXQGgCldA1V9Y/jA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} '@jest/pattern@30.0.1': resolution: {integrity: sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/reporters@30.0.4': - resolution: {integrity: sha512-6ycNmP0JSJEEys1FbIzHtjl9BP0tOZ/KN6iMeAKrdvGmUsa1qfRdlQRUDKJ4P84hJ3xHw1yTqJt4fvPNHhyE+g==} + '@jest/reporters@30.0.5': + resolution: {integrity: sha512-mafft7VBX4jzED1FwGC1o/9QUM2xebzavImZMeqnsklgcyxBto8mV4HzNSzUrryJ+8R9MFOM3HgYuDradWR+4g==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -3534,32 +3547,32 @@ packages: node-notifier: optional: true - '@jest/schemas@30.0.1': - resolution: {integrity: sha512-+g/1TKjFuGrf1Hh0QPCv0gISwBxJ+MQSNXmG9zjHy7BmFhtoJ9fdNhWJp3qUKRi93AOZHXtdxZgJ1vAtz6z65w==} + '@jest/schemas@30.0.5': + resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/snapshot-utils@30.0.4': - resolution: {integrity: sha512-BEpX8M/Y5lG7MI3fmiO+xCnacOrVsnbqVrcDZIT8aSGkKV1w2WwvRQxSWw5SIS8ozg7+h8tSj5EO1Riqqxcdag==} + '@jest/snapshot-utils@30.0.5': + resolution: {integrity: sha512-XcCQ5qWHLvi29UUrowgDFvV4t7ETxX91CbDczMnoqXPOIcZOxyNdSjm6kV5XMc8+HkxfRegU/MUmnTbJRzGrUQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} '@jest/source-map@30.0.1': resolution: {integrity: sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/test-result@30.0.4': - resolution: {integrity: sha512-Mfpv8kjyKTHqsuu9YugB6z1gcdB3TSSOaKlehtVaiNlClMkEHY+5ZqCY2CrEE3ntpBMlstX/ShDAf84HKWsyIw==} + '@jest/test-result@30.0.5': + resolution: {integrity: sha512-wPyztnK0gbDMQAJZ43tdMro+qblDHH1Ru/ylzUo21TBKqt88ZqnKKK2m30LKmLLoKtR2lxdpCC/P3g1vfKcawQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/test-sequencer@30.0.4': - resolution: {integrity: sha512-bj6ePmqi4uxAE8EHE0Slmk5uBYd9Vd/PcVt06CsBxzH4bbA8nGsI1YbXl/NH+eii4XRtyrRx+Cikub0x8H4vDg==} + '@jest/test-sequencer@30.0.5': + resolution: {integrity: sha512-Aea/G1egWoIIozmDD7PBXUOxkekXl7ueGzrsGGi1SbeKgQqCYCIf+wfbflEbf2LiPxL8j2JZGLyrzZagjvW4YQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/transform@30.0.4': - resolution: {integrity: sha512-atvy4hRph/UxdCIBp+UB2jhEA/jJiUeGZ7QPgBi9jUUKNgi3WEoMXGNG7zbbELG2+88PMabUNCDchmqgJy3ELg==} + '@jest/transform@30.0.5': + resolution: {integrity: sha512-Vk8amLQCmuZyy6GbBht1Jfo9RSdBtg7Lks+B0PecnjI8J+PCLQPGh7uI8Q/2wwpW2gLdiAfiHNsmekKlywULqg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/types@30.0.1': - resolution: {integrity: sha512-HGwoYRVF0QSKJu1ZQX0o5ZrUrrhj0aOOFA8hXrumD7SIzjouevhawbTjmXdwOmURdGluU9DM/XvGm3NyFoiQjw==} + '@jest/types@30.0.5': + resolution: {integrity: sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} '@jimp/core@1.6.0': @@ -4223,8 +4236,8 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - '@puppeteer/browsers@2.10.6': - resolution: {integrity: sha512-pHUn6ZRt39bP3698HFQlu2ZHCkS/lPcpv7fVQcGBSzNNygw171UXAKrCUhy+TEMw4lEttOKDgNpb04hwUAJeiQ==} + '@puppeteer/browsers@2.10.5': + resolution: {integrity: sha512-eifa0o+i8dERnngJwKrfp3dEq7ia5XFyoqB17S4gK8GhsQE4/P8nxOfQSE0zQHxzzLo/cmF+7+ywEQ7wK7Fb+w==} engines: {node: '>=18'} hasBin: true @@ -4614,8 +4627,8 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.45.1': - resolution: {integrity: sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==} + '@rollup/rollup-android-arm-eabi@4.44.2': + resolution: {integrity: sha512-g0dF8P1e2QYPOj1gu7s/3LVP6kze9A7m6x0BZ9iTdXK8N5c2V7cpBKHV3/9A4Zd8xxavdhK0t4PnqjkqVmUc9Q==} cpu: [arm] os: [android] @@ -4624,8 +4637,8 @@ packages: cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.45.1': - resolution: {integrity: sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==} + '@rollup/rollup-android-arm64@4.44.2': + resolution: {integrity: sha512-Yt5MKrOosSbSaAK5Y4J+vSiID57sOvpBNBR6K7xAaQvk3MkcNVV0f9fE20T+41WYN8hDn6SGFlFrKudtx4EoxA==} cpu: [arm64] os: [android] @@ -4634,8 +4647,8 @@ packages: cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.45.1': - resolution: {integrity: sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==} + '@rollup/rollup-darwin-arm64@4.44.2': + resolution: {integrity: sha512-EsnFot9ZieM35YNA26nhbLTJBHD0jTwWpPwmRVDzjylQT6gkar+zenfb8mHxWpRrbn+WytRRjE0WKsfaxBkVUA==} cpu: [arm64] os: [darwin] @@ -4644,8 +4657,8 @@ packages: cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.45.1': - resolution: {integrity: sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==} + '@rollup/rollup-darwin-x64@4.44.2': + resolution: {integrity: sha512-dv/t1t1RkCvJdWWxQ2lWOO+b7cMsVw5YFaS04oHpZRWehI1h0fV1gF4wgGCTyQHHjJDfbNpwOi6PXEafRBBezw==} cpu: [x64] os: [darwin] @@ -4654,8 +4667,8 @@ packages: cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.45.1': - resolution: {integrity: sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==} + '@rollup/rollup-freebsd-arm64@4.44.2': + resolution: {integrity: sha512-W4tt4BLorKND4qeHElxDoim0+BsprFTwb+vriVQnFFtT/P6v/xO5I99xvYnVzKWrK6j7Hb0yp3x7V5LUbaeOMg==} cpu: [arm64] os: [freebsd] @@ -4664,8 +4677,8 @@ packages: cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.45.1': - resolution: {integrity: sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==} + '@rollup/rollup-freebsd-x64@4.44.2': + resolution: {integrity: sha512-tdT1PHopokkuBVyHjvYehnIe20fxibxFCEhQP/96MDSOcyjM/shlTkZZLOufV3qO6/FQOSiJTBebhVc12JyPTA==} cpu: [x64] os: [freebsd] @@ -4674,8 +4687,8 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.45.1': - resolution: {integrity: sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==} + '@rollup/rollup-linux-arm-gnueabihf@4.44.2': + resolution: {integrity: sha512-+xmiDGGaSfIIOXMzkhJ++Oa0Gwvl9oXUeIiwarsdRXSe27HUIvjbSIpPxvnNsRebsNdUo7uAiQVgBD1hVriwSQ==} cpu: [arm] os: [linux] @@ -4684,8 +4697,8 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.45.1': - resolution: {integrity: sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==} + '@rollup/rollup-linux-arm-musleabihf@4.44.2': + resolution: {integrity: sha512-bDHvhzOfORk3wt8yxIra8N4k/N0MnKInCW5OGZaeDYa/hMrdPaJzo7CSkjKZqX4JFUWjUGm88lI6QJLCM7lDrA==} cpu: [arm] os: [linux] @@ -4694,8 +4707,8 @@ packages: cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.45.1': - resolution: {integrity: sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==} + '@rollup/rollup-linux-arm64-gnu@4.44.2': + resolution: {integrity: sha512-NMsDEsDiYghTbeZWEGnNi4F0hSbGnsuOG+VnNvxkKg0IGDvFh7UVpM/14mnMwxRxUf9AdAVJgHPvKXf6FpMB7A==} cpu: [arm64] os: [linux] @@ -4704,8 +4717,8 @@ packages: cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.45.1': - resolution: {integrity: sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==} + '@rollup/rollup-linux-arm64-musl@4.44.2': + resolution: {integrity: sha512-lb5bxXnxXglVq+7imxykIp5xMq+idehfl+wOgiiix0191av84OqbjUED+PRC5OA8eFJYj5xAGcpAZ0pF2MnW+A==} cpu: [arm64] os: [linux] @@ -4714,8 +4727,8 @@ packages: cpu: [loong64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.45.1': - resolution: {integrity: sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==} + '@rollup/rollup-linux-loongarch64-gnu@4.44.2': + resolution: {integrity: sha512-Yl5Rdpf9pIc4GW1PmkUGHdMtbx0fBLE1//SxDmuf3X0dUC57+zMepow2LK0V21661cjXdTn8hO2tXDdAWAqE5g==} cpu: [loong64] os: [linux] @@ -4724,8 +4737,8 @@ packages: cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': - resolution: {integrity: sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==} + '@rollup/rollup-linux-powerpc64le-gnu@4.44.2': + resolution: {integrity: sha512-03vUDH+w55s680YYryyr78jsO1RWU9ocRMaeV2vMniJJW/6HhoTBwyyiiTPVHNWLnhsnwcQ0oH3S9JSBEKuyqw==} cpu: [ppc64] os: [linux] @@ -4734,8 +4747,8 @@ packages: cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.45.1': - resolution: {integrity: sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==} + '@rollup/rollup-linux-riscv64-gnu@4.44.2': + resolution: {integrity: sha512-iYtAqBg5eEMG4dEfVlkqo05xMOk6y/JXIToRca2bAWuqjrJYJlx/I7+Z+4hSrsWU8GdJDFPL4ktV3dy4yBSrzg==} cpu: [riscv64] os: [linux] @@ -4744,8 +4757,8 @@ packages: cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.45.1': - resolution: {integrity: sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==} + '@rollup/rollup-linux-riscv64-musl@4.44.2': + resolution: {integrity: sha512-e6vEbgaaqz2yEHqtkPXa28fFuBGmUJ0N2dOJK8YUfijejInt9gfCSA7YDdJ4nYlv67JfP3+PSWFX4IVw/xRIPg==} cpu: [riscv64] os: [linux] @@ -4754,8 +4767,8 @@ packages: cpu: [s390x] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.45.1': - resolution: {integrity: sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==} + '@rollup/rollup-linux-s390x-gnu@4.44.2': + resolution: {integrity: sha512-evFOtkmVdY3udE+0QKrV5wBx7bKI0iHz5yEVx5WqDJkxp9YQefy4Mpx3RajIVcM6o7jxTvVd/qpC1IXUhGc1Mw==} cpu: [s390x] os: [linux] @@ -4764,8 +4777,8 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.45.1': - resolution: {integrity: sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==} + '@rollup/rollup-linux-x64-gnu@4.44.2': + resolution: {integrity: sha512-/bXb0bEsWMyEkIsUL2Yt5nFB5naLAwyOWMEviQfQY1x3l5WsLKgvZf66TM7UTfED6erckUVUJQ/jJ1FSpm3pRQ==} cpu: [x64] os: [linux] @@ -4774,8 +4787,8 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.45.1': - resolution: {integrity: sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==} + '@rollup/rollup-linux-x64-musl@4.44.2': + resolution: {integrity: sha512-3D3OB1vSSBXmkGEZR27uiMRNiwN08/RVAcBKwhUYPaiZ8bcvdeEwWPvbnXvvXHY+A/7xluzcN+kaiOFNiOZwWg==} cpu: [x64] os: [linux] @@ -4784,8 +4797,8 @@ packages: cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.45.1': - resolution: {integrity: sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==} + '@rollup/rollup-win32-arm64-msvc@4.44.2': + resolution: {integrity: sha512-VfU0fsMK+rwdK8mwODqYeM2hDrF2WiHaSmCBrS7gColkQft95/8tphyzv2EupVxn3iE0FI78wzffoULH1G+dkw==} cpu: [arm64] os: [win32] @@ -4794,8 +4807,8 @@ packages: cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.45.1': - resolution: {integrity: sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==} + '@rollup/rollup-win32-ia32-msvc@4.44.2': + resolution: {integrity: sha512-+qMUrkbUurpE6DVRjiJCNGZBGo9xM4Y0FXU5cjgudWqIBWbcLkjE3XprJUsOFgC6xjBClwVa9k6O3A7K3vxb5Q==} cpu: [ia32] os: [win32] @@ -4804,8 +4817,8 @@ packages: cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.45.1': - resolution: {integrity: sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==} + '@rollup/rollup-win32-x64-msvc@4.44.2': + resolution: {integrity: sha512-3+QZROYfJ25PDcxFF66UEk8jGWigHJeecZILvkPkyQN7oc5BvFo4YEXFkOs154j3FTMp9mn9Ky8RCOwastduEA==} cpu: [x64] os: [win32] @@ -5083,8 +5096,8 @@ packages: peerDependencies: '@sveltejs/kit': ^2.0.0 - '@sveltejs/kit@2.25.1': - resolution: {integrity: sha512-8H+fxDEp7Xq6tLFdrGdS5fLu6ONDQQ9DgyjboXpChubuFdfH9QoFX09ypssBpyNkJNZFt9eW3yLmXIc9CesPCA==} + '@sveltejs/kit@2.24.0': + resolution: {integrity: sha512-6aCsU6PwxB4CQBJEvLnOoSv8hoviZWDVTKDTzQoERG6vpIHeXJufVWQlyaOXrdSlqBiwknHm0nQT/S/Nn3518A==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -5674,8 +5687,8 @@ packages: '@types/node@20.17.32': resolution: {integrity: sha512-zeMXFn8zQ+UkjK4ws0RiOC9EWByyW1CcVmLe+2rQocXRsGEDxUCwPEIVgpsGcLHS/P8JkT0oa3839BRABS0oPw==} - '@types/node@20.19.9': - resolution: {integrity: sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==} + '@types/node@20.19.6': + resolution: {integrity: sha512-uYssdp9z5zH5GQ0L4zEJ2ZuavYsJwkozjiUzCRfGtaaQcyjAMJ34aP8idv61QlqTozu6kudyr6JMq9Chf09dfA==} '@types/node@22.15.21': resolution: {integrity: sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==} @@ -5683,14 +5696,11 @@ packages: '@types/node@22.15.30': resolution: {integrity: sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==} - '@types/node@22.16.4': - resolution: {integrity: sha512-PYRhNtZdm2wH/NT2k/oAJ6/f2VD2N2Dag0lGlx2vWgMSJXGNmlce5MiTQzoWAiIJtso30mjnfQCOKVH+kAQC/g==} - '@types/node@22.16.5': resolution: {integrity: sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==} - '@types/node@24.1.0': - resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} + '@types/node@24.0.12': + resolution: {integrity: sha512-LtOrbvDf5ndC9Xi+4QZjVL0woFymF/xSTKZKPgrrl7H7XoeDvnD+E2IclKVDyaK9UM756W/3BXqSU+JEHopA9g==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -5831,6 +5841,14 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/eslint-plugin@8.37.0': + resolution: {integrity: sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.37.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/eslint-plugin@8.38.0': resolution: {integrity: sha512-CPoznzpuAnIOl4nhj4tRr4gIPj5AfKgkiJmGQDaq+fQnRJTYlcBjbX3wbciGmpoPf8DREufuPRe1tNMZnGdanA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5846,8 +5864,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.38.0': - resolution: {integrity: sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ==} + '@typescript-eslint/parser@8.37.0': + resolution: {integrity: sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -6185,12 +6203,12 @@ packages: '@vue/shared@3.5.14': resolution: {integrity: sha512-oXTwNxVfc9EtP1zzXAlSlgARLXNC84frFYkS0HHz0h3E4WZSP9sywqjqzGCP9Y34M8ipNmd380pVgmMuwELDyQ==} - '@wdio/config@9.18.0': - resolution: {integrity: sha512-fN+Z7SkKjb0u3UUMSxMN4d+CCZQKZhm/tx3eX7Rv+3T78LtpOjlesBYQ7Ax3tQ3tp8hgEo+CoOXU0jHEYubFrg==} + '@wdio/config@9.17.0': + resolution: {integrity: sha512-AmP9J1GiCUj8g9aNeCuJRKAo+dET8rukVzrGQVq8jdqkj4PLjLA2hbfcQ8zQi/xwVUebnuIUT5weaomgKyb7Ng==} engines: {node: '>=18.20.0'} - '@wdio/logger@9.18.0': - resolution: {integrity: sha512-HdzDrRs+ywAqbXGKqe1i/bLtCv47plz4TvsHFH3j729OooT5VH38ctFn5aLXgECmiAKDkmH/A6kOq2Zh5DIxww==} + '@wdio/logger@9.16.2': + resolution: {integrity: sha512-6A1eVpNPToWupLIo8CXStth4HJGTfxKsAiKtwE0xQFKyDM8uPTm3YO3Nf15vCSHbmsncbYVEo7QrUwRUEB4YUg==} engines: {node: '>=18.20.0'} '@wdio/protocols@9.16.2': @@ -6204,8 +6222,8 @@ packages: resolution: {integrity: sha512-P86FvM/4XQGpJKwlC2RKF3I21TglPvPOozJGG9HoL0Jmt6jRF20ggO/nRTxU0XiWkRdqESUTmfA87bdCO4GRkQ==} engines: {node: '>=18.20.0'} - '@wdio/utils@9.18.0': - resolution: {integrity: sha512-M+QH05FUw25aFXZfjb+V16ydKoURgV61zeZrMjQdW2aAiks3F5iiI9pgqYT5kr1kHZcMy8gawGqQQ+RVfKYscQ==} + '@wdio/utils@9.17.0': + resolution: {integrity: sha512-z9k8+DbhyJPLs88w/SLcUuXMdoPq2r/lE2qQ79pqWAG0jmm7kJqkBvZyndaTrSrGbh+NgjTEgh1epD1PHYtnwg==} engines: {node: '>=18.20.0'} '@webassemblyjs/ast@1.14.1': @@ -6273,8 +6291,8 @@ packages: resolution: {integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==} engines: {node: '>=18.12.0'} - '@zip.js/zip.js@2.7.67': - resolution: {integrity: sha512-oD79XcCf24GzNmxmoJ/A/LrUodU1QDVpJ3WuJ17uf0kMks+LrmdxDtg9MSPSR3nrYxkF3A5B9+dbc3CnefVI3Q==} + '@zip.js/zip.js@2.7.63': + resolution: {integrity: sha512-B02i6QDMUQ4c+5F9LmliBGA+jFsiEHIlF0eLQ6rWLaQOD3YwI6vyWwGkVCNJnVVguE2xYyr9fAwSD/3valm1/Q==} engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} '@zkochan/js-yaml@0.0.7': @@ -6613,8 +6631,8 @@ packages: b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} - babel-jest@30.0.4: - resolution: {integrity: sha512-UjG2j7sAOqsp2Xua1mS/e+ekddkSu3wpf4nZUSvXNHuVWdaOUXQ77+uyjJLDE9i0atm5x4kds8K9yb5lRsRtcA==} + babel-jest@30.0.5: + resolution: {integrity: sha512-mRijnKimhGDMsizTvBTWotwNpzrkHr+VvZUQBof2AufXKB8NXrL1W69TG20EvOz7aevx6FTJIaBuBkYxS8zolg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: '@babel/core': ^7.11.0 @@ -6893,8 +6911,8 @@ packages: resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} engines: {node: '>=8'} - cacheable@1.10.2: - resolution: {integrity: sha512-hMkETCRV4hwBAvjQY1/xGw15tlPj+7cM4d5HOlYJJFftLQVRCboVX+mT6AJ6eL0fsqUhSUwDiF+pgfTR2r2Hxg==} + cacheable@1.10.1: + resolution: {integrity: sha512-Fa2BZY0CS9F0PFc/6aVA6tgpOdw+hmv9dkZOlHXII5v5Hw+meJBIWDcPrG9q/dXxGcNbym5t77fzmawrBQfTmQ==} call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} @@ -6997,10 +7015,6 @@ packages: resolution: {integrity: sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==} engines: {node: '>=20.18.1'} - cheerio@1.1.2: - resolution: {integrity: sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==} - engines: {node: '>=20.18.1'} - chevrotain-allstar@0.3.1: resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} peerDependencies: @@ -8135,8 +8149,8 @@ packages: resolution: {integrity: sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==} engines: {node: '>=14.0.0'} - edgedriver@6.1.2: - resolution: {integrity: sha512-UvFqd/IR81iPyWMcxXbUNi+xKWR7JjfoHjfuwjqsj9UHQKn80RpQmS0jf+U25IPi+gKVPcpOSKm0XkqgGMq4zQ==} + edgedriver@6.1.1: + resolution: {integrity: sha512-/dM/PoBf22Xg3yypMWkmRQrBKEnSyNaZ7wHGCT9+qqT14izwtFT+QvdR89rjNkMfXwW+bSFoqOfbcvM+2Cyc7w==} engines: {node: '>=18.0.0'} hasBin: true @@ -8357,8 +8371,8 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.25.8: - resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} + esbuild@0.25.6: + resolution: {integrity: sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==} engines: {node: '>=18'} hasBin: true @@ -8400,8 +8414,8 @@ packages: eslint: ^9.0.0 typescript: ^5.0.0 - eslint-config-prettier@10.1.8: - resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} + eslint-config-prettier@10.1.5: + resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==} hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -8423,8 +8437,8 @@ packages: peerDependencies: eslint: '>=8.40.0' - eslint-plugin-svelte@3.11.0: - resolution: {integrity: sha512-KliWlkieHyEa65aQIkRwUFfHzT5Cn4u3BQQsu3KlkJOs7c1u7ryn84EWaOjEzilbKgttT4OfBURA8Uc4JBSQIw==} + eslint-plugin-svelte@3.10.1: + resolution: {integrity: sha512-csCh2x0ge/DugXC7dCANh46Igi7bjMZEy6rHZCdS13AoGVJSu7a90Kru3I8oMYLGEemPRE1hQXadxvRPVMAAXQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.1 || ^9.0.0 @@ -8544,8 +8558,8 @@ packages: resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} engines: {node: '>=12.0.0'} - expect@30.0.4: - resolution: {integrity: sha512-dDLGjnP2cKbEppxVICxI/Uf4YemmGMPNy0QytCbfafbpYk9AFQsxb8Uyrxii0RPK7FWgLGlSem+07WirwS3cFQ==} + expect@30.0.5: + resolution: {integrity: sha512-P0te2pt+hHI5qLJkIR+iMvS+lYUZml8rKKsohVHAGY+uClp9XVbdyYNJOIjSRpHVp8s8YqxJCiHUkSYZGr8rtQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} exponential-backoff@3.1.2: @@ -8555,8 +8569,8 @@ packages: resolution: {integrity: sha512-4aRQRqDQU7qNPV5av0/hLcyc0guB9UP71nCYrQEYml7YphTo8tmWf3nDZWdTJMMjFikyz9xKXaURor7Chygdwg==} engines: {node: '>=6.0.0'} - express-openid-connect@2.19.2: - resolution: {integrity: sha512-hRRRBS+mH9hrhVcbg7+APe+dIsYB4BDLILv7QfTmM1jSDyaU9NYpTxqWourAnlud/E4Gf4Q0qCVmSJguh4BTaA==} + express-openid-connect@2.18.1: + resolution: {integrity: sha512-trHqgwXxWF0n/XrDsRzsvQtnBNbU03iCNXbKR/sHwBqXlvCgup341bW7B8t6nr3L/CMoDpK+9gsTnx3qLCqdjQ==} engines: {node: ^10.19.0 || >=12.0.0 < 13 || >=13.7.0 < 14 || >= 14.2.0} peerDependencies: express: '>= 4.17.0' @@ -8631,8 +8645,8 @@ packages: resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} hasBin: true - fast-xml-parser@5.2.5: - resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==} + fast-xml-parser@4.5.3: + resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==} hasBin: true fastest-levenshtein@1.0.16: @@ -9858,12 +9872,12 @@ packages: javascript-stringify@1.6.0: resolution: {integrity: sha512-fnjC0up+0SjEJtgmmG+teeel68kutkvzfctO/KxE3qJlbunkJYAshgH3boU++gSBHP8z5/r0ts0qRIrHf0RTQQ==} - jest-circus@30.0.4: - resolution: {integrity: sha512-o6UNVfbXbmzjYgmVPtSQrr5xFZCtkDZGdTlptYvGFSN80RuOOlTe73djvMrs+QAuSERZWcHBNIOMH+OEqvjWuw==} + jest-circus@30.0.5: + resolution: {integrity: sha512-h/sjXEs4GS+NFFfqBDYT7y5Msfxh04EwWLhQi0F8kuWpe+J/7tICSlswU8qvBqumR3kFgHbfu7vU6qruWWBPug==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-config@30.0.4: - resolution: {integrity: sha512-3dzbO6sh34thAGEjJIW0fgT0GA0EVlkski6ZzMcbW6dzhenylXAE/Mj2MI4HonroWbkKc6wU6bLVQ8dvBSZ9lA==} + jest-config@30.0.5: + resolution: {integrity: sha512-aIVh+JNOOpzUgzUnPn5FLtyVnqc3TQHVMupYtyeURSb//iLColiMIR8TxCIDKyx9ZgjKnXGucuW68hCxgbrwmA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: '@types/node': '*' @@ -9877,40 +9891,40 @@ packages: ts-node: optional: true - jest-diff@30.0.4: - resolution: {integrity: sha512-TSjceIf6797jyd+R64NXqicttROD+Qf98fex7CowmlSn7f8+En0da1Dglwr1AXxDtVizoxXYZBlUQwNhoOXkNw==} + jest-diff@30.0.5: + resolution: {integrity: sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest-docblock@30.0.1: resolution: {integrity: sha512-/vF78qn3DYphAaIc3jy4gA7XSAz167n9Bm/wn/1XhTLW7tTBIzXtCJpb/vcmc73NIIeeohCbdL94JasyXUZsGA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-each@30.0.2: - resolution: {integrity: sha512-ZFRsTpe5FUWFQ9cWTMguCaiA6kkW5whccPy9JjD1ezxh+mJeqmz8naL8Fl/oSbNJv3rgB0x87WBIkA5CObIUZQ==} + jest-each@30.0.5: + resolution: {integrity: sha512-dKjRsx1uZ96TVyejD3/aAWcNKy6ajMaN531CwWIsrazIqIoXI9TnnpPlkrEYku/8rkS3dh2rbH+kMOyiEIv0xQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-environment-node@30.0.4: - resolution: {integrity: sha512-p+rLEzC2eThXqiNh9GHHTC0OW5Ca4ZfcURp7scPjYBcmgpR9HG6750716GuUipYf2AcThU3k20B31USuiaaIEg==} + jest-environment-node@30.0.5: + resolution: {integrity: sha512-ppYizXdLMSvciGsRsMEnv/5EFpvOdXBaXRBzFUDPWrsfmog4kYrOGWXarLllz6AXan6ZAA/kYokgDWuos1IKDA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-haste-map@30.0.2: - resolution: {integrity: sha512-telJBKpNLeCb4MaX+I5k496556Y2FiKR/QLZc0+MGBYl4k3OO0472drlV2LUe7c1Glng5HuAu+5GLYp//GpdOQ==} + jest-haste-map@30.0.5: + resolution: {integrity: sha512-dkmlWNlsTSR0nH3nRfW5BKbqHefLZv0/6LCccG0xFCTWcJu8TuEwG+5Cm75iBfjVoockmO6J35o5gxtFSn5xeg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-leak-detector@30.0.2: - resolution: {integrity: sha512-U66sRrAYdALq+2qtKffBLDWsQ/XoNNs2Lcr83sc9lvE/hEpNafJlq2lXCPUBMNqamMECNxSIekLfe69qg4KMIQ==} + jest-leak-detector@30.0.5: + resolution: {integrity: sha512-3Uxr5uP8jmHMcsOtYMRB/zf1gXN3yUIc+iPorhNETG54gErFIiUhLvyY/OggYpSMOEYqsmRxmuU4ZOoX5jpRFg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-matcher-utils@30.0.4: - resolution: {integrity: sha512-ubCewJ54YzeAZ2JeHHGVoU+eDIpQFsfPQs0xURPWoNiO42LGJ+QGgfSf+hFIRplkZDkhH5MOvuxHKXRTUU3dUQ==} + jest-matcher-utils@30.0.5: + resolution: {integrity: sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-message-util@30.0.2: - resolution: {integrity: sha512-vXywcxmr0SsKXF/bAD7t7nMamRvPuJkras00gqYeB1V0WllxZrbZ0paRr3XqpFU2sYYjD0qAaG2fRyn/CGZ0aw==} + jest-message-util@30.0.5: + resolution: {integrity: sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-mock@30.0.2: - resolution: {integrity: sha512-PnZOHmqup/9cT/y+pXIVbbi8ID6U1XHRmbvR7MvUy4SLqhCbwpkmXhLbsWbGewHrV5x/1bF7YDjs+x24/QSvFA==} + jest-mock@30.0.5: + resolution: {integrity: sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest-pnp-resolver@1.2.3: @@ -9926,32 +9940,32 @@ packages: resolution: {integrity: sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-resolve@30.0.2: - resolution: {integrity: sha512-q/XT0XQvRemykZsvRopbG6FQUT6/ra+XV6rPijyjT6D0msOyCvR2A5PlWZLd+fH0U8XWKZfDiAgrUNDNX2BkCw==} + jest-resolve@30.0.5: + resolution: {integrity: sha512-d+DjBQ1tIhdz91B79mywH5yYu76bZuE96sSbxj8MkjWVx5WNdt1deEFRONVL4UkKLSrAbMkdhb24XN691yDRHg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-runner@30.0.4: - resolution: {integrity: sha512-mxY0vTAEsowJwvFJo5pVivbCpuu6dgdXRmt3v3MXjBxFly7/lTk3Td0PaMyGOeNQUFmSuGEsGYqhbn7PA9OekQ==} + jest-runner@30.0.5: + resolution: {integrity: sha512-JcCOucZmgp+YuGgLAXHNy7ualBx4wYSgJVWrYMRBnb79j9PD0Jxh0EHvR5Cx/r0Ce+ZBC4hCdz2AzFFLl9hCiw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-runtime@30.0.4: - resolution: {integrity: sha512-tUQrZ8+IzoZYIHoPDQEB4jZoPyzBjLjq7sk0KVyd5UPRjRDOsN7o6UlvaGF8ddpGsjznl9PW+KRgWqCNO+Hn7w==} + jest-runtime@30.0.5: + resolution: {integrity: sha512-7oySNDkqpe4xpX5PPiJTe5vEa+Ak/NnNz2bGYZrA1ftG3RL3EFlHaUkA1Cjx+R8IhK0Vg43RML5mJedGTPNz3A==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-snapshot@30.0.4: - resolution: {integrity: sha512-S/8hmSkeUib8WRUq9pWEb5zMfsOjiYWDWzFzKnjX7eDyKKgimsu9hcmsUEg8a7dPAw8s/FacxsXquq71pDgPjQ==} + jest-snapshot@30.0.5: + resolution: {integrity: sha512-T00dWU/Ek3LqTp4+DcW6PraVxjk28WY5Ua/s+3zUKSERZSNyxTqhDXCWKG5p2HAJ+crVQ3WJ2P9YVHpj1tkW+g==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-util@30.0.2: - resolution: {integrity: sha512-8IyqfKS4MqprBuUpZNlFB5l+WFehc8bfCe1HSZFHzft2mOuND8Cvi9r1musli+u6F3TqanCZ/Ik4H4pXUolZIg==} + jest-util@30.0.5: + resolution: {integrity: sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-validate@30.0.2: - resolution: {integrity: sha512-noOvul+SFER4RIvNAwGn6nmV2fXqBq67j+hKGHKGFCmK4ks/Iy1FSrqQNBLGKlu4ZZIRL6Kg1U72N1nxuRCrGQ==} + jest-validate@30.0.5: + resolution: {integrity: sha512-ouTm6VFHaS2boyl+k4u+Qip4TSH7Uld5tyD8psQ8abGgt2uYYB8VwVfAHWHjHc0NWmGGbwO5h0sCPOGHHevefw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-watcher@30.0.4: - resolution: {integrity: sha512-YESbdHDs7aQOCSSKffG8jXqOKFqw4q4YqR+wHYpR5GWEQioGvL0BfbcjvKIvPEM0XGfsfJrka7jJz3Cc3gI4VQ==} + jest-watcher@30.0.5: + resolution: {integrity: sha512-z9slj/0vOwBDBjN3L4z4ZYaA+pG56d6p3kTUhFRYGvXbXMWhXmb/FIxREZCD06DYUwDKKnj2T80+Pb71CQ0KEg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest-worker@26.6.2: @@ -9962,8 +9976,8 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} - jest-worker@30.0.2: - resolution: {integrity: sha512-RN1eQmx7qSLFA+o9pfJKlqViwL5wt+OL3Vff/A+/cPsmuw7NPwfgl33AP+/agRmHzPOFgXviRycR9kYwlcRQXg==} + jest-worker@30.0.5: + resolution: {integrity: sha512-ojRXsWzEP16NdUuBw/4H/zkZdHOa7MMYCk4E430l+8fELeLg/mqmMlRhjL7UNZvQrDmnovWZV4DxX03fZF48fQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jimp@1.6.0: @@ -11200,6 +11214,10 @@ packages: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} + on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + on-headers@1.1.0: resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} engines: {node: '>= 0.8'} @@ -11521,10 +11539,6 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} - picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} - engines: {node: '>=12'} - pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} @@ -12417,8 +12431,8 @@ packages: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - pretty-format@30.0.2: - resolution: {integrity: sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==} + pretty-format@30.0.5: + resolution: {integrity: sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} prism-svelte@0.4.7: @@ -12828,10 +12842,6 @@ packages: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} - ret@0.5.0: - resolution: {integrity: sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==} - engines: {node: '>=10'} - retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} @@ -12912,8 +12922,8 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.45.1: - resolution: {integrity: sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==} + rollup@4.44.2: + resolution: {integrity: sha512-PVoapzTwSEcelaWGth3uR66u7ZRo6qhPHc0f2uRO9fX6XDVNrIiGYS0Pj9+R8yIIYSD/mCx2b16Ws9itljKSPg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -12969,9 +12979,6 @@ packages: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} - safe-regex2@5.0.0: - resolution: {integrity: sha512-YwJwe5a51WlK7KbOJREPdjNrpViQBI3p4T50lfwPuDhZnE3XGVTlGvi+aolc5+RvxDD6bnUmjVsU9n1eboLUYw==} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -13188,9 +13195,9 @@ packages: resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} engines: {node: '>= 18'} - serialize-error@12.0.0: - resolution: {integrity: sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw==} - engines: {node: '>=18'} + serialize-error@11.0.3: + resolution: {integrity: sha512-2G2y++21dhj2R7iHAdd0FIzjGwuKZld+7Pl/bTU6YIkrC2ZMbVUjm+luj6A6V34Rv9XfKJDKpTWu9W4Gse1D9g==} + engines: {node: '>=14.16'} serialize-error@7.0.1: resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} @@ -13635,9 +13642,6 @@ packages: strnum@1.1.2: resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} - strnum@2.1.1: - resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==} - strtok3@10.2.2: resolution: {integrity: sha512-Xt18+h4s7Z8xyZ0tmBoRmzxcop97R4BAh+dXouUDCYn+Em+1P3qpkUfI5ueWLT8ynC5hZ+q4iPEmGG1urvQGBg==} engines: {node: '>=18'} @@ -13714,19 +13718,14 @@ packages: peerDependencies: stylelint: '>=16.0.0' - stylelint@16.22.0: - resolution: {integrity: sha512-SVEMTdjKNV4ollUrIY9ordZ36zHv2/PHzPjfPMau370MlL2VYXeLgSNMMiEbLGRO8RmD2R8/BVUeF2DfnfkC0w==} + stylelint@16.21.1: + resolution: {integrity: sha512-WCXdXnYK2tpCbebgMF0Bme3YZH/Rh/UXerj75twYo4uLULlcrLwFVdZTvTEF8idFnAcW21YUDJFyKOfaf6xJRw==} engines: {node: '>=18.12.0'} hasBin: true stylis@4.3.6: resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} - stylus@0.64.0: - resolution: {integrity: sha512-ZIdT8eUv8tegmqy1tTIdJv9We2DumkNZFdCF5mz/Kpq3OcTaxSuCAYZge6HKK2CmNC02G1eJig2RV7XTw5hQrA==} - engines: {node: '>=16'} - hasBin: true - sudo-prompt@9.2.1: resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. @@ -13773,16 +13772,16 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svelte-check@4.3.0: - resolution: {integrity: sha512-Iz8dFXzBNAM7XlEIsUjUGQhbEE+Pvv9odb9+0+ITTgFWZBGeJRRYqHUUglwe2EkLD5LIsQaAc4IUJyvtKuOO5w==} + svelte-check@4.2.2: + resolution: {integrity: sha512-1+31EOYZ7NKN0YDMKusav2hhEoA51GD9Ws6o//0SphMT0ve9mBTsTUEX7OmDMadUP3KjNHsSKtJrqdSaD8CrGQ==} engines: {node: '>= 18.0.0'} hasBin: true peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 typescript: '>=5.0.0' - svelte-eslint-parser@1.3.0: - resolution: {integrity: sha512-VCgMHKV7UtOGcGLGNFSbmdm6kEKjtzo5nnpGU/mnx4OsFY6bZ7QwRF5DUx+Hokw5Lvdyo8dpk8B1m8mliomrNg==} + svelte-eslint-parser@1.2.0: + resolution: {integrity: sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 @@ -13790,8 +13789,8 @@ packages: svelte: optional: true - svelte@5.36.12: - resolution: {integrity: sha512-c3mWT+b0yBLl3gPGSHiy4pdSQCsPNTjLC0tVoOhrGJ6PPfCzD/RQpAmAfJtQZ304CAae2ph+L3C4aqds3R3seQ==} + svelte@5.36.2: + resolution: {integrity: sha512-yHthOlJZkB4zRS41JgUSdqpytw88UVr/txXcQKLy0QKwG0HVYP6VDgOEDUWlfTOlA5oYgAcjmk4TtjDuzoQliQ==} engines: {node: '>=18'} svg-pan-zoom@3.6.2: @@ -14156,6 +14155,10 @@ packages: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + type-fest@4.26.0: resolution: {integrity: sha512-OduNjVJsFbifKb57UqZ2EMP1i4u64Xwow3NYXUtBbD4vIwJdQd4+xl8YDou1dlm4DVrtwT/7Ky8z8WyCULVfxw==} engines: {node: '>=16'} @@ -14198,8 +14201,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - typescript-eslint@8.38.0: - resolution: {integrity: sha512-FsZlrYK6bPDGoLeZRuvx2v6qrM03I0U0SnfCLPs/XCCPCFD80xU9Pg09H/K+XFa68uJuZo7l/Xhs+eDRg2l3hg==} + typescript-eslint@8.37.0: + resolution: {integrity: sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -14566,8 +14569,8 @@ packages: yaml: optional: true - vite@7.0.5: - resolution: {integrity: sha512-1mncVwJxy2C9ThLwz0+2GKZyEXuC3MyWtAAlNftlZZXZDP3AJt5FmwcMit/IGGaNZ8ZOB2BNO/HFUB+CpN0NQw==} + vite@7.0.4: + resolution: {integrity: sha512-SkaSguuS7nnmV7mfJ8l81JGBFV7Gvzp8IzgE8A8t23+AxuNX61Q5H1Tpz5efduSN7NHC8nQXD3sKQKZAu5mNEA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -14708,12 +14711,12 @@ packages: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} - webdriver@9.18.0: - resolution: {integrity: sha512-07lC4FLj45lHJo0FvLjUp5qkjzEGWJWKGsxLoe9rQ2Fg88iYsqgr9JfSj8qxHpazBaBd+77+ZtpmMZ2X2D1Zuw==} + webdriver@9.17.0: + resolution: {integrity: sha512-vDdW5SeAe1Fn2N79cdrRIHnbTcXlpIM1f0Ki8AHGsC0DkvYRyshnuI6kgySXN8y4+Thy/xo+vDdr0CLJF2Zqgw==} engines: {node: '>=18.20.0'} - webdriverio@9.18.3: - resolution: {integrity: sha512-UNSC7nyAZN8I7z4IjevpZ+xYWtrMGr9k+Kg3ht8OdR05LYrrXUqfHcJmtSCkwv0EkdjPhS3O2pqSSJ6O3ioLQA==} + webdriverio@9.17.0: + resolution: {integrity: sha512-LXLDhEUQC3AiYAPWZmpkZXBLaLzXlEGQskpG0CLx6S5hXAWNHs5wItgozrH9CfG7N6j26mc2avWN2ruy/vwrWQ==} engines: {node: '>=18.20.0'} peerDependencies: puppeteer-core: '>=22.x || <=24.x' @@ -15105,9 +15108,6 @@ packages: snapshots: - '@adobe/css-tools@4.3.3': - optional: true - '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.8 @@ -15615,7 +15615,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 debug: 4.4.1(supports-color@6.0.0) lodash.debounce: 4.0.8 resolve: 1.22.10 @@ -15651,6 +15651,8 @@ snapshots: dependencies: '@babel/types': 7.28.0 + '@babel/helper-plugin-utils@7.26.5': {} + '@babel/helper-plugin-utils@7.27.1': {} '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.28.0)': @@ -15708,7 +15710,7 @@ snapshots: '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/traverse': 7.28.0 transitivePeerDependencies: - supports-color @@ -15716,17 +15718,17 @@ snapshots: '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.28.0) transitivePeerDependencies: @@ -15735,7 +15737,7 @@ snapshots: '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/traverse': 7.28.0 transitivePeerDependencies: - supports-color @@ -15744,7 +15746,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.28.0) transitivePeerDependencies: - supports-color @@ -15756,47 +15758,52 @@ snapshots: '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.0)': dependencies: @@ -15806,42 +15813,47 @@ snapshots: '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.0)': dependencies: @@ -15852,17 +15864,17 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-async-generator-functions@7.26.8(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.28.0) '@babel/traverse': 7.28.0 transitivePeerDependencies: @@ -15872,7 +15884,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.28.0) transitivePeerDependencies: - supports-color @@ -15880,18 +15892,18 @@ snapshots: '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-block-scoping@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -15899,7 +15911,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -15908,7 +15920,7 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-replace-supers': 7.26.5(@babel/core@7.28.0) '@babel/traverse': 7.28.0 globals: 11.12.0 @@ -15918,50 +15930,50 @@ snapshots: '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/template': 7.27.2 '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-for-of@7.26.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color @@ -15970,7 +15982,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/traverse': 7.28.0 transitivePeerDependencies: - supports-color @@ -15978,28 +15990,28 @@ snapshots: '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-literals@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -16007,7 +16019,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -16015,7 +16027,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-identifier': 7.27.1 '@babel/traverse': 7.28.0 transitivePeerDependencies: @@ -16025,7 +16037,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -16033,34 +16045,34 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.28.0) '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-replace-supers': 7.26.5(@babel/core@7.28.0) transitivePeerDependencies: - supports-color @@ -16068,12 +16080,12 @@ snapshots: '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color @@ -16081,13 +16093,13 @@ snapshots: '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -16096,37 +16108,37 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-regenerator@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 regenerator-transform: 0.15.2 '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-runtime@7.26.10(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 babel-plugin-polyfill-corejs2: 0.4.13(@babel/core@7.28.0) babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.28.0) babel-plugin-polyfill-regenerator: 0.6.4(@babel/core@7.28.0) @@ -16137,12 +16149,12 @@ snapshots: '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-spread@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color @@ -16150,58 +16162,58 @@ snapshots: '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-template-literals@7.26.8(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-typeof-symbol@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-typescript@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.28.0) transitivePeerDependencies: - supports-color '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/preset-env@7.26.9(@babel/core@7.28.0)': dependencies: '@babel/compat-data': 7.28.0 '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-option': 7.27.1 '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.28.0) '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.28.0) @@ -16274,16 +16286,16 @@ snapshots: '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/types': 7.28.0 esutils: 2.0.3 '@babel/preset-typescript@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.28.0) '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.28.0) '@babel/plugin-transform-typescript': 7.27.0(@babel/core@7.28.0) transitivePeerDependencies: @@ -16342,7 +16354,7 @@ snapshots: '@braintree/sanitize-url@7.1.1': {} - '@bufbuild/protobuf@2.6.1': + '@bufbuild/protobuf@2.6.0': optional: true '@bundled-es-modules/cookie@2.0.1': @@ -16397,6 +16409,8 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16521,6 +16535,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-cloud-services@46.0.0': dependencies: @@ -16634,11 +16650,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-dev-translations@45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8))': + '@ckeditor/ckeditor5-dev-translations@45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6))': dependencies: '@babel/parser': 7.28.0 '@babel/traverse': 7.28.0 - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) chalk: 5.4.1 fs-extra: 11.3.0 glob: 10.4.5 @@ -16656,58 +16672,58 @@ snapshots: - uglify-js - webpack - '@ckeditor/ckeditor5-dev-utils@43.1.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8))': + '@ckeditor/ckeditor5-dev-utils@43.1.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6))': 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.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + css-loader: 5.2.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) cssnano: 6.1.2(postcss@8.5.3) del: 5.1.0 - esbuild-loader: 3.0.1(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + esbuild-loader: 3.0.1(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) fs-extra: 11.3.0 is-interactive: 1.0.0 javascript-stringify: 1.6.0 - mini-css-extract-plugin: 2.4.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + mini-css-extract-plugin: 2.4.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) 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.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) 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.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + raw-loader: 4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) shelljs: 0.8.5 - style-loader: 2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - terser-webpack-plugin: 4.2.3(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + style-loader: 2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + terser-webpack-plugin: 4.2.3(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) through2: 3.0.2 transitivePeerDependencies: - bluebird - supports-color - webpack - '@ckeditor/ckeditor5-dev-utils@45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8))': + '@ckeditor/ckeditor5-dev-utils@45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6))': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) chalk: 5.4.1 cli-cursor: 5.0.0 cli-spinners: 3.2.0 - css-loader: 7.1.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + css-loader: 7.1.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) cssnano: 7.0.7(postcss@8.5.6) - esbuild-loader: 4.3.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + esbuild-loader: 4.3.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) fs-extra: 11.3.0 is-interactive: 2.0.0 - mini-css-extract-plugin: 2.9.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + mini-css-extract-plugin: 2.9.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) mocha: 10.8.2 postcss: 8.5.6 postcss-import: 16.1.1(postcss@8.5.6) - postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) postcss-mixins: 11.0.3(postcss@8.5.6) postcss-nesting: 13.0.2(postcss@8.5.6) - raw-loader: 4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + raw-loader: 4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) shelljs: 0.8.5 - style-loader: 4.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + style-loader: 4.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) through2: 4.0.2 transitivePeerDependencies: - '@rspack/core' @@ -16759,6 +16775,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -16768,6 +16786,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -16857,8 +16877,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -16883,6 +16901,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -16946,6 +16966,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -17005,8 +17027,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -17079,8 +17099,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-markdown-gfm@46.0.0': dependencies: @@ -17127,8 +17145,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-merge-fields@46.0.0': dependencies: @@ -17141,8 +17157,6 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17151,8 +17165,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-operations-compressor@46.0.0': dependencies: @@ -17161,29 +17173,29 @@ snapshots: es-toolkit: 1.39.5 protobufjs: 7.5.0 - '@ckeditor/ckeditor5-package-tools@4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-package-tools@4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5)': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) buffer: 6.0.3 chalk: 5.4.1 - css-loader: 5.2.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + css-loader: 5.2.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) fs-extra: 11.3.0 glob: 7.2.3 minimist: 1.2.8 postcss: 8.5.6 - postcss-loader: 4.3.0(postcss@8.5.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + postcss-loader: 4.3.0(postcss@8.5.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) process: 0.11.10 - raw-loader: 4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - style-loader: 2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - stylelint: 16.22.0(typescript@5.0.4) - stylelint-config-ckeditor5: 2.0.1(stylelint@16.22.0(typescript@5.8.3)) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.0.4) + raw-loader: 4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + style-loader: 2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + stylelint: 16.21.1(typescript@5.0.4) + stylelint-config-ckeditor5: 2.0.1(stylelint@16.21.1(typescript@5.8.3)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.0.4) typescript: 5.0.4 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - webpack-dev-server: 5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack-dev-server: 5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -17205,8 +17217,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-pagination@46.0.0': dependencies: @@ -17270,8 +17280,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -17315,8 +17323,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-slash-command@46.0.0': dependencies: @@ -17329,8 +17335,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.0.0': dependencies: @@ -17378,8 +17382,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-table@46.0.0': dependencies: @@ -17392,8 +17394,6 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-template@46.0.0': dependencies: @@ -17504,8 +17504,6 @@ snapshots: '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-widget@46.0.0': dependencies: @@ -17525,8 +17523,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@codemirror/autocomplete@6.18.6': dependencies: @@ -17716,7 +17712,7 @@ snapshots: dependencies: '@digitak/grubber': 3.1.4 chokidar: 3.6.0 - esbuild: 0.25.8 + esbuild: 0.25.6 '@digitak/grubber@3.1.4': {} @@ -18111,23 +18107,23 @@ snapshots: transitivePeerDependencies: - supports-color - '@emnapi/core@1.4.5': + '@emnapi/core@1.4.4': dependencies: - '@emnapi/wasi-threads': 1.0.4 + '@emnapi/wasi-threads': 1.0.3 tslib: 2.8.1 - '@emnapi/runtime@1.4.5': + '@emnapi/runtime@1.4.4': dependencies: tslib: 2.8.1 - '@emnapi/wasi-threads@1.0.4': + '@emnapi/wasi-threads@1.0.3': dependencies: tslib: 2.8.1 '@es-joy/jsdoccomment@0.50.2': dependencies: '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/types': 8.37.0 comment-parser: 1.4.1 esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 @@ -18135,154 +18131,154 @@ snapshots: '@esbuild/aix-ppc64@0.25.5': optional: true - '@esbuild/aix-ppc64@0.25.8': + '@esbuild/aix-ppc64@0.25.6': optional: true '@esbuild/android-arm64@0.25.5': optional: true - '@esbuild/android-arm64@0.25.8': + '@esbuild/android-arm64@0.25.6': optional: true '@esbuild/android-arm@0.25.5': optional: true - '@esbuild/android-arm@0.25.8': + '@esbuild/android-arm@0.25.6': optional: true '@esbuild/android-x64@0.25.5': optional: true - '@esbuild/android-x64@0.25.8': + '@esbuild/android-x64@0.25.6': optional: true '@esbuild/darwin-arm64@0.25.5': optional: true - '@esbuild/darwin-arm64@0.25.8': + '@esbuild/darwin-arm64@0.25.6': optional: true '@esbuild/darwin-x64@0.25.5': optional: true - '@esbuild/darwin-x64@0.25.8': + '@esbuild/darwin-x64@0.25.6': optional: true '@esbuild/freebsd-arm64@0.25.5': optional: true - '@esbuild/freebsd-arm64@0.25.8': + '@esbuild/freebsd-arm64@0.25.6': optional: true '@esbuild/freebsd-x64@0.25.5': optional: true - '@esbuild/freebsd-x64@0.25.8': + '@esbuild/freebsd-x64@0.25.6': optional: true '@esbuild/linux-arm64@0.25.5': optional: true - '@esbuild/linux-arm64@0.25.8': + '@esbuild/linux-arm64@0.25.6': optional: true '@esbuild/linux-arm@0.25.5': optional: true - '@esbuild/linux-arm@0.25.8': + '@esbuild/linux-arm@0.25.6': optional: true '@esbuild/linux-ia32@0.25.5': optional: true - '@esbuild/linux-ia32@0.25.8': + '@esbuild/linux-ia32@0.25.6': optional: true '@esbuild/linux-loong64@0.25.5': optional: true - '@esbuild/linux-loong64@0.25.8': + '@esbuild/linux-loong64@0.25.6': optional: true '@esbuild/linux-mips64el@0.25.5': optional: true - '@esbuild/linux-mips64el@0.25.8': + '@esbuild/linux-mips64el@0.25.6': optional: true '@esbuild/linux-ppc64@0.25.5': optional: true - '@esbuild/linux-ppc64@0.25.8': + '@esbuild/linux-ppc64@0.25.6': optional: true '@esbuild/linux-riscv64@0.25.5': optional: true - '@esbuild/linux-riscv64@0.25.8': + '@esbuild/linux-riscv64@0.25.6': optional: true '@esbuild/linux-s390x@0.25.5': optional: true - '@esbuild/linux-s390x@0.25.8': + '@esbuild/linux-s390x@0.25.6': optional: true '@esbuild/linux-x64@0.25.5': optional: true - '@esbuild/linux-x64@0.25.8': + '@esbuild/linux-x64@0.25.6': optional: true '@esbuild/netbsd-arm64@0.25.5': optional: true - '@esbuild/netbsd-arm64@0.25.8': + '@esbuild/netbsd-arm64@0.25.6': optional: true '@esbuild/netbsd-x64@0.25.5': optional: true - '@esbuild/netbsd-x64@0.25.8': + '@esbuild/netbsd-x64@0.25.6': optional: true '@esbuild/openbsd-arm64@0.25.5': optional: true - '@esbuild/openbsd-arm64@0.25.8': + '@esbuild/openbsd-arm64@0.25.6': optional: true '@esbuild/openbsd-x64@0.25.5': optional: true - '@esbuild/openbsd-x64@0.25.8': + '@esbuild/openbsd-x64@0.25.6': optional: true - '@esbuild/openharmony-arm64@0.25.8': + '@esbuild/openharmony-arm64@0.25.6': optional: true '@esbuild/sunos-x64@0.25.5': optional: true - '@esbuild/sunos-x64@0.25.8': + '@esbuild/sunos-x64@0.25.6': optional: true '@esbuild/win32-arm64@0.25.5': optional: true - '@esbuild/win32-arm64@0.25.8': + '@esbuild/win32-arm64@0.25.6': optional: true '@esbuild/win32-ia32@0.25.5': optional: true - '@esbuild/win32-ia32@0.25.8': + '@esbuild/win32-ia32@0.25.6': optional: true '@esbuild/win32-x64@0.25.5': optional: true - '@esbuild/win32-x64@0.25.8': + '@esbuild/win32-x64@0.25.6': optional: true '@eslint-community/eslint-utils@4.7.0(eslint@9.31.0(jiti@2.4.2))': @@ -18678,26 +18674,26 @@ snapshots: transitivePeerDependencies: - babel-plugin-macros - '@inquirer/confirm@5.1.14(@types/node@22.16.5)': + '@inquirer/confirm@5.1.13(@types/node@22.16.5)': dependencies: - '@inquirer/core': 10.1.15(@types/node@22.16.5) - '@inquirer/type': 3.0.8(@types/node@22.16.5) + '@inquirer/core': 10.1.14(@types/node@22.16.5) + '@inquirer/type': 3.0.7(@types/node@22.16.5) optionalDependencies: '@types/node': 22.16.5 optional: true - '@inquirer/confirm@5.1.14(@types/node@24.1.0)': + '@inquirer/confirm@5.1.13(@types/node@24.0.12)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.1.0) - '@inquirer/type': 3.0.8(@types/node@24.1.0) + '@inquirer/core': 10.1.14(@types/node@24.0.12) + '@inquirer/type': 3.0.7(@types/node@24.0.12) optionalDependencies: - '@types/node': 24.1.0 + '@types/node': 24.0.12 optional: true - '@inquirer/core@10.1.15(@types/node@22.16.5)': + '@inquirer/core@10.1.14(@types/node@22.16.5)': dependencies: - '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@22.16.5) + '@inquirer/figures': 1.0.12 + '@inquirer/type': 3.0.7(@types/node@22.16.5) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -18708,10 +18704,10 @@ snapshots: '@types/node': 22.16.5 optional: true - '@inquirer/core@10.1.15(@types/node@24.1.0)': + '@inquirer/core@10.1.14(@types/node@24.0.12)': dependencies: - '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.1.0) + '@inquirer/figures': 1.0.12 + '@inquirer/type': 3.0.7(@types/node@24.0.12) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -18719,20 +18715,20 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.1.0 + '@types/node': 24.0.12 optional: true - '@inquirer/figures@1.0.13': + '@inquirer/figures@1.0.12': optional: true - '@inquirer/type@3.0.8(@types/node@22.16.5)': + '@inquirer/type@3.0.7(@types/node@22.16.5)': optionalDependencies: '@types/node': 22.16.5 optional: true - '@inquirer/type@3.0.8(@types/node@24.1.0)': + '@inquirer/type@3.0.7(@types/node@24.0.12)': optionalDependencies: - '@types/node': 24.1.0 + '@types/node': 24.0.12 optional: true '@isaacs/cliui@8.0.2': @@ -18758,52 +18754,52 @@ snapshots: '@istanbuljs/schema@0.1.3': {} - '@jest/console@30.0.4': + '@jest/console@30.0.5': dependencies: - '@jest/types': 30.0.1 + '@jest/types': 30.0.5 '@types/node': 22.16.5 chalk: 4.1.2 - jest-message-util: 30.0.2 - jest-util: 30.0.2 + jest-message-util: 30.0.5 + jest-util: 30.0.5 slash: 3.0.0 '@jest/diff-sequences@30.0.1': {} - '@jest/environment@30.0.4': + '@jest/environment@30.0.5': dependencies: - '@jest/fake-timers': 30.0.4 - '@jest/types': 30.0.1 + '@jest/fake-timers': 30.0.5 + '@jest/types': 30.0.5 '@types/node': 22.16.5 - jest-mock: 30.0.2 + jest-mock: 30.0.5 - '@jest/expect-utils@30.0.4': + '@jest/expect-utils@30.0.5': dependencies: '@jest/get-type': 30.0.1 - '@jest/expect@30.0.4': + '@jest/expect@30.0.5': dependencies: - expect: 30.0.4 - jest-snapshot: 30.0.4 + expect: 30.0.5 + jest-snapshot: 30.0.5 transitivePeerDependencies: - supports-color - '@jest/fake-timers@30.0.4': + '@jest/fake-timers@30.0.5': dependencies: - '@jest/types': 30.0.1 + '@jest/types': 30.0.5 '@sinonjs/fake-timers': 13.0.5 '@types/node': 22.16.5 - jest-message-util: 30.0.2 - jest-mock: 30.0.2 - jest-util: 30.0.2 + jest-message-util: 30.0.5 + jest-mock: 30.0.5 + jest-util: 30.0.5 '@jest/get-type@30.0.1': {} - '@jest/globals@30.0.4': + '@jest/globals@30.0.5': dependencies: - '@jest/environment': 30.0.4 - '@jest/expect': 30.0.4 - '@jest/types': 30.0.1 - jest-mock: 30.0.2 + '@jest/environment': 30.0.5 + '@jest/expect': 30.0.5 + '@jest/types': 30.0.5 + jest-mock: 30.0.5 transitivePeerDependencies: - supports-color @@ -18812,13 +18808,13 @@ snapshots: '@types/node': 22.16.5 jest-regex-util: 30.0.1 - '@jest/reporters@30.0.4': + '@jest/reporters@30.0.5': dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 30.0.4 - '@jest/test-result': 30.0.4 - '@jest/transform': 30.0.4 - '@jest/types': 30.0.1 + '@jest/console': 30.0.5 + '@jest/test-result': 30.0.5 + '@jest/transform': 30.0.5 + '@jest/types': 30.0.5 '@jridgewell/trace-mapping': 0.3.29 '@types/node': 22.16.5 chalk: 4.1.2 @@ -18831,22 +18827,22 @@ snapshots: istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.1.7 - jest-message-util: 30.0.2 - jest-util: 30.0.2 - jest-worker: 30.0.2 + jest-message-util: 30.0.5 + jest-util: 30.0.5 + jest-worker: 30.0.5 slash: 3.0.0 string-length: 4.0.2 v8-to-istanbul: 9.3.0 transitivePeerDependencies: - supports-color - '@jest/schemas@30.0.1': + '@jest/schemas@30.0.5': dependencies: '@sinclair/typebox': 0.34.38 - '@jest/snapshot-utils@30.0.4': + '@jest/snapshot-utils@30.0.5': dependencies: - '@jest/types': 30.0.1 + '@jest/types': 30.0.5 chalk: 4.1.2 graceful-fs: 4.2.11 natural-compare: 1.4.0 @@ -18857,33 +18853,33 @@ snapshots: callsites: 3.1.0 graceful-fs: 4.2.11 - '@jest/test-result@30.0.4': + '@jest/test-result@30.0.5': dependencies: - '@jest/console': 30.0.4 - '@jest/types': 30.0.1 + '@jest/console': 30.0.5 + '@jest/types': 30.0.5 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 - '@jest/test-sequencer@30.0.4': + '@jest/test-sequencer@30.0.5': dependencies: - '@jest/test-result': 30.0.4 + '@jest/test-result': 30.0.5 graceful-fs: 4.2.11 - jest-haste-map: 30.0.2 + jest-haste-map: 30.0.5 slash: 3.0.0 - '@jest/transform@30.0.4': + '@jest/transform@30.0.5': dependencies: '@babel/core': 7.28.0 - '@jest/types': 30.0.1 + '@jest/types': 30.0.5 '@jridgewell/trace-mapping': 0.3.29 babel-plugin-istanbul: 7.0.0 chalk: 4.1.2 convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 30.0.2 + jest-haste-map: 30.0.5 jest-regex-util: 30.0.1 - jest-util: 30.0.2 + jest-util: 30.0.5 micromatch: 4.0.8 pirates: 4.0.7 slash: 3.0.0 @@ -18891,10 +18887,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@jest/types@30.0.1': + '@jest/types@30.0.5': dependencies: '@jest/pattern': 30.0.1 - '@jest/schemas': 30.0.1 + '@jest/schemas': 30.0.5 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 '@types/node': 22.16.5 @@ -19325,15 +19321,15 @@ snapshots: '@napi-rs/wasm-runtime@0.2.12': dependencies: - '@emnapi/core': 1.4.5 - '@emnapi/runtime': 1.4.5 + '@emnapi/core': 1.4.4 + '@emnapi/runtime': 1.4.4 '@tybys/wasm-util': 0.10.0 optional: true '@napi-rs/wasm-runtime@0.2.4': dependencies: - '@emnapi/core': 1.4.5 - '@emnapi/runtime': 1.4.5 + '@emnapi/core': 1.4.4 + '@emnapi/runtime': 1.4.4 '@tybys/wasm-util': 0.9.0 '@noble/hashes@1.8.0': {} @@ -19396,7 +19392,7 @@ snapshots: tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/esbuild@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/esbuild@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) @@ -19405,7 +19401,7 @@ snapshots: tsconfig-paths: 4.2.0 tslib: 2.8.1 optionalDependencies: - esbuild: 0.25.8 + esbuild: 0.25.6 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -19415,12 +19411,12 @@ snapshots: - supports-color - verdaccio - '@nx/eslint-plugin@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/eslint-plugin@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) - '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/type-utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) chalk: 4.1.2 @@ -19430,7 +19426,7 @@ snapshots: semver: 7.7.2 tslib: 2.8.1 optionalDependencies: - eslint-config-prettier: 10.1.8(eslint@9.31.0(jiti@2.4.2)) + eslint-config-prettier: 10.1.5(eslint@9.31.0(jiti@2.4.2)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -19488,15 +19484,15 @@ snapshots: '@nx/jest@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@jest/reporters': 30.0.4 - '@jest/test-result': 30.0.4 + '@jest/reporters': 30.0.5 + '@jest/test-result': 30.0.5 '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) identity-obj-proxy: 3.0.0 - jest-config: 30.0.4(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3)) - jest-resolve: 30.0.2 - jest-util: 30.0.2 + jest-config: 30.0.5(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3)) + jest-resolve: 30.0.5 + jest-util: 30.0.5 minimatch: 9.0.3 picocolors: 1.1.1 resolve.exports: 2.0.3 @@ -19635,7 +19631,7 @@ snapshots: - typescript - verdaccio - '@nx/vite@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': + '@nx/vite@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': dependencies: '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) @@ -19646,8 +19642,8 @@ snapshots: picomatch: 4.0.2 semver: 7.7.2 tsconfig-paths: 4.2.0 - vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -19855,7 +19851,7 @@ snapshots: '@protobufjs/utf8@1.1.0': {} - '@puppeteer/browsers@2.10.6': + '@puppeteer/browsers@2.10.5': dependencies: debug: 4.4.1(supports-color@6.0.0) extract-zip: 2.0.1 @@ -20237,132 +20233,132 @@ snapshots: optionalDependencies: rollup: 4.40.0 - '@rollup/pluginutils@5.1.4(rollup@4.45.1)': + '@rollup/pluginutils@5.1.4(rollup@4.44.2)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.45.1 + rollup: 4.44.2 '@rollup/rollup-android-arm-eabi@4.40.0': optional: true - '@rollup/rollup-android-arm-eabi@4.45.1': + '@rollup/rollup-android-arm-eabi@4.44.2': optional: true '@rollup/rollup-android-arm64@4.40.0': optional: true - '@rollup/rollup-android-arm64@4.45.1': + '@rollup/rollup-android-arm64@4.44.2': optional: true '@rollup/rollup-darwin-arm64@4.40.0': optional: true - '@rollup/rollup-darwin-arm64@4.45.1': + '@rollup/rollup-darwin-arm64@4.44.2': optional: true '@rollup/rollup-darwin-x64@4.40.0': optional: true - '@rollup/rollup-darwin-x64@4.45.1': + '@rollup/rollup-darwin-x64@4.44.2': optional: true '@rollup/rollup-freebsd-arm64@4.40.0': optional: true - '@rollup/rollup-freebsd-arm64@4.45.1': + '@rollup/rollup-freebsd-arm64@4.44.2': optional: true '@rollup/rollup-freebsd-x64@4.40.0': optional: true - '@rollup/rollup-freebsd-x64@4.45.1': + '@rollup/rollup-freebsd-x64@4.44.2': optional: true '@rollup/rollup-linux-arm-gnueabihf@4.40.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.45.1': + '@rollup/rollup-linux-arm-gnueabihf@4.44.2': optional: true '@rollup/rollup-linux-arm-musleabihf@4.40.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.45.1': + '@rollup/rollup-linux-arm-musleabihf@4.44.2': optional: true '@rollup/rollup-linux-arm64-gnu@4.40.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.45.1': + '@rollup/rollup-linux-arm64-gnu@4.44.2': optional: true '@rollup/rollup-linux-arm64-musl@4.40.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.45.1': + '@rollup/rollup-linux-arm64-musl@4.44.2': optional: true '@rollup/rollup-linux-loongarch64-gnu@4.40.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.45.1': + '@rollup/rollup-linux-loongarch64-gnu@4.44.2': optional: true '@rollup/rollup-linux-powerpc64le-gnu@4.40.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.44.2': optional: true '@rollup/rollup-linux-riscv64-gnu@4.40.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.45.1': + '@rollup/rollup-linux-riscv64-gnu@4.44.2': optional: true '@rollup/rollup-linux-riscv64-musl@4.40.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.45.1': + '@rollup/rollup-linux-riscv64-musl@4.44.2': optional: true '@rollup/rollup-linux-s390x-gnu@4.40.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.45.1': + '@rollup/rollup-linux-s390x-gnu@4.44.2': optional: true '@rollup/rollup-linux-x64-gnu@4.40.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.45.1': + '@rollup/rollup-linux-x64-gnu@4.44.2': optional: true '@rollup/rollup-linux-x64-musl@4.40.0': optional: true - '@rollup/rollup-linux-x64-musl@4.45.1': + '@rollup/rollup-linux-x64-musl@4.44.2': optional: true '@rollup/rollup-win32-arm64-msvc@4.40.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.45.1': + '@rollup/rollup-win32-arm64-msvc@4.44.2': optional: true '@rollup/rollup-win32-ia32-msvc@4.40.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.45.1': + '@rollup/rollup-win32-ia32-msvc@4.44.2': optional: true '@rollup/rollup-win32-x64-msvc@4.40.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.45.1': + '@rollup/rollup-win32-x64-msvc@4.44.2': optional: true '@rushstack/node-core-library@5.13.1(@types/node@22.16.5)': @@ -20736,7 +20732,7 @@ snapshots: '@stylistic/eslint-plugin@4.4.1(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.31.0(jiti@2.4.2) eslint-visitor-keys: 4.2.1 espree: 10.4.0 @@ -20746,7 +20742,7 @@ snapshots: - supports-color - typescript - '@stylistic/stylelint-plugin@3.1.3(stylelint@16.22.0(typescript@5.8.3))': + '@stylistic/stylelint-plugin@3.1.3(stylelint@16.21.1(typescript@5.8.3))': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 @@ -20756,20 +20752,20 @@ snapshots: postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 style-search: 0.1.0 - stylelint: 16.22.0(typescript@5.8.3) + stylelint: 16.21.1(typescript@5.8.3) '@sveltejs/acorn-typescript@1.0.5(acorn@8.15.0)': dependencies: acorn: 8.15.0 - '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': + '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': dependencies: - '@sveltejs/kit': 2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/kit': 2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/kit@2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@types/cookie': 0.6.0 acorn: 8.15.0 cookie: 0.6.0 @@ -20781,28 +20777,28 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.7.1 sirv: 3.0.1 - svelte: 5.36.12 - vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + svelte: 5.36.2 + vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) - svelte: 5.36.12 - vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + svelte: 5.36.2 + vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.12)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 - svelte: 5.36.12 - vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vitefu: 1.1.1(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + svelte: 5.36.2 + vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitefu: 1.1.1(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) transitivePeerDependencies: - supports-color @@ -20969,12 +20965,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.1.11 - '@tailwindcss/vite@4.1.11(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@tailwindcss/vite@4.1.11(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@tailwindcss/node': 4.1.11 '@tailwindcss/oxide': 4.1.11 tailwindcss: 4.1.11 - vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@testing-library/dom@10.4.0': dependencies: @@ -21030,7 +21026,7 @@ snapshots: '@types/appdmg@0.5.5': dependencies: - '@types/node': 24.1.0 + '@types/node': 22.16.5 optional: true '@types/archiver@6.0.3': @@ -21073,7 +21069,7 @@ snapshots: '@types/bonjour@3.5.13': dependencies: - '@types/node': 24.1.0 + '@types/node': 22.16.5 '@types/bootstrap@5.2.10': dependencies: @@ -21108,7 +21104,7 @@ snapshots: '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 5.0.7 - '@types/node': 24.1.0 + '@types/node': 22.16.5 '@types/connect@3.4.38': dependencies: @@ -21308,7 +21304,7 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: - '@types/node': 24.1.0 + '@types/node': 22.16.5 optional: true '@types/geojson@7946.0.16': {} @@ -21316,7 +21312,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 24.1.0 + '@types/node': 22.16.5 '@types/hast@3.0.4': dependencies: @@ -21330,7 +21326,7 @@ snapshots: '@types/http-proxy@1.17.16': dependencies: - '@types/node': 24.1.0 + '@types/node': 22.16.5 '@types/ini@4.1.1': {} @@ -21406,7 +21402,7 @@ snapshots: '@types/node-forge@1.3.12': dependencies: - '@types/node': 24.1.0 + '@types/node': 22.16.5 '@types/node@16.9.1': {} @@ -21414,7 +21410,7 @@ snapshots: dependencies: undici-types: 6.19.8 - '@types/node@20.19.9': + '@types/node@20.19.6': dependencies: undici-types: 6.21.0 @@ -21426,15 +21422,11 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.16.4': - dependencies: - undici-types: 6.21.0 - '@types/node@22.16.5': dependencies: undici-types: 6.21.0 - '@types/node@24.1.0': + '@types/node@24.0.12': dependencies: undici-types: 7.8.0 @@ -21511,7 +21503,7 @@ snapshots: '@types/sockjs@0.3.36': dependencies: - '@types/node': 24.1.0 + '@types/node': 22.16.5 '@types/stack-utils@2.0.3': {} @@ -21578,7 +21570,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.16.4 + '@types/node': 22.16.5 optional: true '@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': @@ -21598,10 +21590,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.37.0 + '@typescript-eslint/type-utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.37.0 + eslint: 9.31.0(jiti@2.4.2) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.38.0 '@typescript-eslint/type-utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) @@ -21627,12 +21636,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.38.0 - '@typescript-eslint/types': 8.38.0 - '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.38.0 + '@typescript-eslint/scope-manager': 8.37.0 + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.37.0 debug: 4.4.1(supports-color@6.0.0) eslint: 9.31.0(jiti@2.4.2) typescript: 5.8.3 @@ -21641,8 +21650,8 @@ snapshots: '@typescript-eslint/project-service@8.36.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3) - '@typescript-eslint/types': 8.36.0 + '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.8.3) + '@typescript-eslint/types': 8.37.0 debug: 4.4.1(supports-color@6.0.0) typescript: 5.8.3 transitivePeerDependencies: @@ -21911,20 +21920,20 @@ snapshots: - bufferutil - utf-8-validate - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 - webdriverio: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriverio: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - msw @@ -21932,40 +21941,40 @@ snapshots: - vite optional: true - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 - webdriverio: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriverio: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 - webdriverio: 9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriverio: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - msw @@ -21984,7 +21993,7 @@ snapshots: magicast: 0.3.5 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -22003,9 +22012,9 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) optionalDependencies: - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) transitivePeerDependencies: - supports-color @@ -22017,42 +22026,42 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: msw: 2.7.5(@types/node@22.16.5)(typescript@5.8.3) - vite: 7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: msw: 2.7.5(@types/node@22.16.5)(typescript@5.8.3) - vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) optional: true - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.5(@types/node@24.1.0)(typescript@5.8.3) - vite: 7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + msw: 2.7.5(@types/node@24.0.12)(typescript@5.8.3) + vite: 7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.5(@types/node@24.1.0)(typescript@5.8.3) - vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + msw: 2.7.5(@types/node@24.0.12)(typescript@5.8.3) + vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -22083,7 +22092,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/utils@3.2.4': dependencies: @@ -22136,11 +22145,11 @@ snapshots: '@vue/shared@3.5.14': {} - '@wdio/config@9.18.0': + '@wdio/config@9.17.0': dependencies: - '@wdio/logger': 9.18.0 + '@wdio/logger': 9.16.2 '@wdio/types': 9.16.2 - '@wdio/utils': 9.18.0 + '@wdio/utils': 9.17.0 deepmerge-ts: 7.1.5 glob: 10.4.5 import-meta-resolve: 4.1.0 @@ -22148,32 +22157,31 @@ snapshots: - bare-buffer - supports-color - '@wdio/logger@9.18.0': + '@wdio/logger@9.16.2': dependencies: chalk: 5.4.1 loglevel: 1.9.2 loglevel-plugin-prefix: 0.8.4 - safe-regex2: 5.0.0 strip-ansi: 7.1.0 '@wdio/protocols@9.16.2': {} '@wdio/repl@9.16.2': dependencies: - '@types/node': 20.19.9 + '@types/node': 20.19.6 '@wdio/types@9.16.2': dependencies: - '@types/node': 20.19.9 + '@types/node': 20.19.6 - '@wdio/utils@9.18.0': + '@wdio/utils@9.17.0': dependencies: - '@puppeteer/browsers': 2.10.6 - '@wdio/logger': 9.18.0 + '@puppeteer/browsers': 2.10.5 + '@wdio/logger': 9.16.2 '@wdio/types': 9.16.2 decamelize: 6.0.0 deepmerge-ts: 7.1.5 - edgedriver: 6.1.2 + edgedriver: 6.1.1 geckodriver: 5.0.0 get-port: 7.1.0 import-meta-resolve: 4.1.0 @@ -22277,7 +22285,7 @@ snapshots: js-yaml: 3.14.1 tslib: 2.8.1 - '@zip.js/zip.js@2.7.67': {} + '@zip.js/zip.js@2.7.63': {} '@zkochan/js-yaml@0.0.7': dependencies: @@ -22606,10 +22614,10 @@ snapshots: b4a@1.6.7: {} - babel-jest@30.0.4(@babel/core@7.28.0): + babel-jest@30.0.5(@babel/core@7.28.0): dependencies: '@babel/core': 7.28.0 - '@jest/transform': 30.0.4 + '@jest/transform': 30.0.5 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 7.0.0 babel-preset-jest: 30.0.1(@babel/core@7.28.0) @@ -22622,15 +22630,15 @@ snapshots: babel-plugin-const-enum@1.2.0(@babel/core@7.28.0): dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.26.5 + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.28.0) '@babel/traverse': 7.28.0 transitivePeerDependencies: - supports-color babel-plugin-istanbul@7.0.0: dependencies: - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 6.0.3 @@ -22677,7 +22685,7 @@ snapshots: babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.28.0)(@babel/traverse@7.28.0): dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.26.5 optionalDependencies: '@babel/traverse': 7.28.0 @@ -22995,7 +23003,7 @@ snapshots: normalize-url: 6.1.0 responselike: 2.0.1 - cacheable@1.10.2: + cacheable@1.10.1: dependencies: hookified: 1.10.0 keyv: 5.3.4 @@ -23123,20 +23131,6 @@ snapshots: undici: 7.12.0 whatwg-mimetype: 4.0.0 - cheerio@1.1.2: - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.2.2 - encoding-sniffer: 0.2.1 - htmlparser2: 10.0.0 - parse5: 7.3.0 - parse5-htmlparser2-tree-adapter: 7.1.0 - parse5-parser-stream: 7.1.2 - undici: 7.12.0 - whatwg-mimetype: 4.0.0 - chevrotain-allstar@0.3.1(chevrotain@11.0.3): dependencies: chevrotain: 11.0.3 @@ -23194,8 +23188,6 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 - transitivePeerDependencies: - - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -23565,14 +23557,14 @@ snapshots: is-what: 3.14.1 optional: true - copy-webpack-plugin@13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + copy-webpack-plugin@13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 schema-utils: 4.3.2 serialize-javascript: 6.0.2 tinyglobby: 0.2.13 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) core-js-compat@3.41.0: dependencies: @@ -23675,7 +23667,7 @@ snapshots: css-functions-list@3.2.3: {} - css-loader@5.2.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + css-loader@5.2.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: icss-utils: 5.1.0(postcss@8.5.6) loader-utils: 2.0.4 @@ -23687,9 +23679,9 @@ snapshots: postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.7.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) - css-loader@7.1.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + css-loader@7.1.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: icss-utils: 5.1.0(postcss@8.5.6) postcss: 8.5.6 @@ -23700,7 +23692,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.2 optionalDependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) css-select@4.3.0: dependencies: @@ -24489,13 +24481,13 @@ snapshots: '@types/which': 2.0.2 which: 2.0.2 - edgedriver@6.1.2: + edgedriver@6.1.1: dependencies: - '@wdio/logger': 9.18.0 - '@zip.js/zip.js': 2.7.67 + '@wdio/logger': 9.16.2 + '@zip.js/zip.js': 2.7.63 decamelize: 6.0.0 edge-paths: 3.0.5 - fast-xml-parser: 5.2.5 + fast-xml-parser: 4.5.3 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 node-fetch: 3.3.2 @@ -24619,7 +24611,7 @@ snapshots: electron@37.2.3: dependencies: '@electron/get': 2.0.3 - '@types/node': 22.16.4 + '@types/node': 22.16.5 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color @@ -24799,20 +24791,20 @@ snapshots: es6-promise@4.2.8: {} - esbuild-loader@3.0.1(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + esbuild-loader@3.0.1(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: - esbuild: 0.25.8 + esbuild: 0.25.6 get-tsconfig: 4.10.1 loader-utils: 2.0.4 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) webpack-sources: 1.4.3 - esbuild-loader@4.3.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + esbuild-loader@4.3.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: - esbuild: 0.25.8 + esbuild: 0.25.6 get-tsconfig: 4.10.1 loader-utils: 2.0.4 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) webpack-sources: 1.4.3 esbuild@0.25.5: @@ -24843,34 +24835,34 @@ snapshots: '@esbuild/win32-ia32': 0.25.5 '@esbuild/win32-x64': 0.25.5 - esbuild@0.25.8: + esbuild@0.25.6: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.8 - '@esbuild/android-arm': 0.25.8 - '@esbuild/android-arm64': 0.25.8 - '@esbuild/android-x64': 0.25.8 - '@esbuild/darwin-arm64': 0.25.8 - '@esbuild/darwin-x64': 0.25.8 - '@esbuild/freebsd-arm64': 0.25.8 - '@esbuild/freebsd-x64': 0.25.8 - '@esbuild/linux-arm': 0.25.8 - '@esbuild/linux-arm64': 0.25.8 - '@esbuild/linux-ia32': 0.25.8 - '@esbuild/linux-loong64': 0.25.8 - '@esbuild/linux-mips64el': 0.25.8 - '@esbuild/linux-ppc64': 0.25.8 - '@esbuild/linux-riscv64': 0.25.8 - '@esbuild/linux-s390x': 0.25.8 - '@esbuild/linux-x64': 0.25.8 - '@esbuild/netbsd-arm64': 0.25.8 - '@esbuild/netbsd-x64': 0.25.8 - '@esbuild/openbsd-arm64': 0.25.8 - '@esbuild/openbsd-x64': 0.25.8 - '@esbuild/openharmony-arm64': 0.25.8 - '@esbuild/sunos-x64': 0.25.8 - '@esbuild/win32-arm64': 0.25.8 - '@esbuild/win32-ia32': 0.25.8 - '@esbuild/win32-x64': 0.25.8 + '@esbuild/aix-ppc64': 0.25.6 + '@esbuild/android-arm': 0.25.6 + '@esbuild/android-arm64': 0.25.6 + '@esbuild/android-x64': 0.25.6 + '@esbuild/darwin-arm64': 0.25.6 + '@esbuild/darwin-x64': 0.25.6 + '@esbuild/freebsd-arm64': 0.25.6 + '@esbuild/freebsd-x64': 0.25.6 + '@esbuild/linux-arm': 0.25.6 + '@esbuild/linux-arm64': 0.25.6 + '@esbuild/linux-ia32': 0.25.6 + '@esbuild/linux-loong64': 0.25.6 + '@esbuild/linux-mips64el': 0.25.6 + '@esbuild/linux-ppc64': 0.25.6 + '@esbuild/linux-riscv64': 0.25.6 + '@esbuild/linux-s390x': 0.25.6 + '@esbuild/linux-x64': 0.25.6 + '@esbuild/netbsd-arm64': 0.25.6 + '@esbuild/netbsd-x64': 0.25.6 + '@esbuild/openbsd-arm64': 0.25.6 + '@esbuild/openbsd-x64': 0.25.6 + '@esbuild/openharmony-arm64': 0.25.6 + '@esbuild/sunos-x64': 0.25.6 + '@esbuild/win32-arm64': 0.25.6 + '@esbuild/win32-ia32': 0.25.6 + '@esbuild/win32-x64': 0.25.6 escalade@3.2.0: {} @@ -24908,7 +24900,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)): + eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)): dependencies: eslint: 9.31.0(jiti@2.4.2) @@ -24935,7 +24927,7 @@ snapshots: eslint: 9.31.0(jiti@2.4.2) globals: 13.24.0 - eslint-plugin-svelte@3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.12)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)): + eslint-plugin-svelte@3.10.1(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.2)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)): dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) '@jridgewell/sourcemap-codec': 1.5.4 @@ -24944,12 +24936,12 @@ snapshots: globals: 16.3.0 known-css-properties: 0.37.0 postcss: 8.5.6 - postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)) + postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)) postcss-safe-parser: 7.0.1(postcss@8.5.6) semver: 7.7.2 - svelte-eslint-parser: 1.3.0(svelte@5.36.12) + svelte-eslint-parser: 1.2.0(svelte@5.36.2) optionalDependencies: - svelte: 5.36.12 + svelte: 5.36.2 transitivePeerDependencies: - ts-node @@ -25079,14 +25071,14 @@ snapshots: expect-type@1.2.1: {} - expect@30.0.4: + expect@30.0.5: dependencies: - '@jest/expect-utils': 30.0.4 + '@jest/expect-utils': 30.0.5 '@jest/get-type': 30.0.1 - jest-matcher-utils: 30.0.4 - jest-message-util: 30.0.2 - jest-mock: 30.0.2 - jest-util: 30.0.2 + jest-matcher-utils: 30.0.5 + jest-message-util: 30.0.5 + jest-mock: 30.0.5 + jest-util: 30.0.5 exponential-backoff@3.1.2: {} @@ -25098,7 +25090,7 @@ snapshots: transitivePeerDependencies: - supports-color - express-openid-connect@2.19.2(express@5.1.0): + express-openid-connect@2.18.1(express@5.1.0): dependencies: base64url: 3.0.1 clone: 2.1.2 @@ -25109,7 +25101,7 @@ snapshots: http-errors: 1.8.1 joi: 17.13.3 jose: 2.0.7 - on-headers: 1.1.0 + on-headers: 1.0.2 openid-client: 4.9.1 url-join: 4.0.1 transitivePeerDependencies: @@ -25254,9 +25246,9 @@ snapshots: dependencies: strnum: 1.1.2 - fast-xml-parser@5.2.5: + fast-xml-parser@4.5.3: dependencies: - strnum: 2.1.1 + strnum: 1.1.2 fastest-levenshtein@1.0.16: {} @@ -25288,10 +25280,6 @@ snapshots: optionalDependencies: picomatch: 4.0.2 - fdir@6.4.6(picomatch@4.0.3): - optionalDependencies: - picomatch: 4.0.3 - fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 @@ -25402,7 +25390,7 @@ snapshots: flat-cache@6.1.11: dependencies: - cacheable: 1.10.2 + cacheable: 1.10.1 flatted: 3.3.3 hookified: 1.10.0 @@ -25610,8 +25598,8 @@ snapshots: geckodriver@5.0.0: dependencies: - '@wdio/logger': 9.18.0 - '@zip.js/zip.js': 2.7.67 + '@wdio/logger': 9.16.2 + '@zip.js/zip.js': 2.7.63 decamelize: 6.0.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -26641,25 +26629,25 @@ snapshots: javascript-stringify@1.6.0: {} - jest-circus@30.0.4(babel-plugin-macros@3.1.0): + jest-circus@30.0.5(babel-plugin-macros@3.1.0): dependencies: - '@jest/environment': 30.0.4 - '@jest/expect': 30.0.4 - '@jest/test-result': 30.0.4 - '@jest/types': 30.0.1 + '@jest/environment': 30.0.5 + '@jest/expect': 30.0.5 + '@jest/test-result': 30.0.5 + '@jest/types': 30.0.5 '@types/node': 22.16.5 chalk: 4.1.2 co: 4.6.0 dedent: 1.6.0(babel-plugin-macros@3.1.0) is-generator-fn: 2.1.0 - jest-each: 30.0.2 - jest-matcher-utils: 30.0.4 - jest-message-util: 30.0.2 - jest-runtime: 30.0.4 - jest-snapshot: 30.0.4 - jest-util: 30.0.2 + jest-each: 30.0.5 + jest-matcher-utils: 30.0.5 + jest-message-util: 30.0.5 + jest-runtime: 30.0.5 + jest-snapshot: 30.0.5 + jest-util: 30.0.5 p-limit: 3.1.0 - pretty-format: 30.0.2 + pretty-format: 30.0.5 pure-rand: 7.0.1 slash: 3.0.0 stack-utils: 2.0.6 @@ -26667,30 +26655,30 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@30.0.4(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3)): + jest-config@30.0.5(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3)): dependencies: '@babel/core': 7.28.0 '@jest/get-type': 30.0.1 '@jest/pattern': 30.0.1 - '@jest/test-sequencer': 30.0.4 - '@jest/types': 30.0.1 - babel-jest: 30.0.4(@babel/core@7.28.0) + '@jest/test-sequencer': 30.0.5 + '@jest/types': 30.0.5 + babel-jest: 30.0.5(@babel/core@7.28.0) chalk: 4.1.2 ci-info: 4.3.0 deepmerge: 4.3.1 glob: 10.4.5 graceful-fs: 4.2.11 - jest-circus: 30.0.4(babel-plugin-macros@3.1.0) + jest-circus: 30.0.5(babel-plugin-macros@3.1.0) jest-docblock: 30.0.1 - jest-environment-node: 30.0.4 + jest-environment-node: 30.0.5 jest-regex-util: 30.0.1 - jest-resolve: 30.0.2 - jest-runner: 30.0.4 - jest-util: 30.0.2 - jest-validate: 30.0.2 + jest-resolve: 30.0.5 + jest-runner: 30.0.5 + jest-util: 30.0.5 + jest-validate: 30.0.5 micromatch: 4.0.8 parse-json: 5.2.0 - pretty-format: 30.0.2 + pretty-format: 30.0.5 slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: @@ -26700,223 +26688,223 @@ snapshots: - babel-plugin-macros - supports-color - jest-diff@30.0.4: + jest-diff@30.0.5: dependencies: '@jest/diff-sequences': 30.0.1 '@jest/get-type': 30.0.1 chalk: 4.1.2 - pretty-format: 30.0.2 + pretty-format: 30.0.5 jest-docblock@30.0.1: dependencies: detect-newline: 3.1.0 - jest-each@30.0.2: + jest-each@30.0.5: dependencies: '@jest/get-type': 30.0.1 - '@jest/types': 30.0.1 + '@jest/types': 30.0.5 chalk: 4.1.2 - jest-util: 30.0.2 - pretty-format: 30.0.2 + jest-util: 30.0.5 + pretty-format: 30.0.5 - jest-environment-node@30.0.4: + jest-environment-node@30.0.5: dependencies: - '@jest/environment': 30.0.4 - '@jest/fake-timers': 30.0.4 - '@jest/types': 30.0.1 + '@jest/environment': 30.0.5 + '@jest/fake-timers': 30.0.5 + '@jest/types': 30.0.5 '@types/node': 22.16.5 - jest-mock: 30.0.2 - jest-util: 30.0.2 - jest-validate: 30.0.2 + jest-mock: 30.0.5 + jest-util: 30.0.5 + jest-validate: 30.0.5 - jest-haste-map@30.0.2: + jest-haste-map@30.0.5: dependencies: - '@jest/types': 30.0.1 + '@jest/types': 30.0.5 '@types/node': 22.16.5 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 jest-regex-util: 30.0.1 - jest-util: 30.0.2 - jest-worker: 30.0.2 + jest-util: 30.0.5 + jest-worker: 30.0.5 micromatch: 4.0.8 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 - jest-leak-detector@30.0.2: + jest-leak-detector@30.0.5: dependencies: '@jest/get-type': 30.0.1 - pretty-format: 30.0.2 + pretty-format: 30.0.5 - jest-matcher-utils@30.0.4: + jest-matcher-utils@30.0.5: dependencies: '@jest/get-type': 30.0.1 chalk: 4.1.2 - jest-diff: 30.0.4 - pretty-format: 30.0.2 + jest-diff: 30.0.5 + pretty-format: 30.0.5 - jest-message-util@30.0.2: + jest-message-util@30.0.5: dependencies: '@babel/code-frame': 7.27.1 - '@jest/types': 30.0.1 + '@jest/types': 30.0.5 '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.8 - pretty-format: 30.0.2 + pretty-format: 30.0.5 slash: 3.0.0 stack-utils: 2.0.6 - jest-mock@30.0.2: + jest-mock@30.0.5: dependencies: - '@jest/types': 30.0.1 + '@jest/types': 30.0.5 '@types/node': 22.16.5 - jest-util: 30.0.2 + jest-util: 30.0.5 - jest-pnp-resolver@1.2.3(jest-resolve@30.0.2): + jest-pnp-resolver@1.2.3(jest-resolve@30.0.5): optionalDependencies: - jest-resolve: 30.0.2 + jest-resolve: 30.0.5 jest-regex-util@30.0.1: {} - jest-resolve@30.0.2: + jest-resolve@30.0.5: dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 - jest-haste-map: 30.0.2 - jest-pnp-resolver: 1.2.3(jest-resolve@30.0.2) - jest-util: 30.0.2 - jest-validate: 30.0.2 + jest-haste-map: 30.0.5 + jest-pnp-resolver: 1.2.3(jest-resolve@30.0.5) + jest-util: 30.0.5 + jest-validate: 30.0.5 slash: 3.0.0 unrs-resolver: 1.11.1 - jest-runner@30.0.4: + jest-runner@30.0.5: dependencies: - '@jest/console': 30.0.4 - '@jest/environment': 30.0.4 - '@jest/test-result': 30.0.4 - '@jest/transform': 30.0.4 - '@jest/types': 30.0.1 + '@jest/console': 30.0.5 + '@jest/environment': 30.0.5 + '@jest/test-result': 30.0.5 + '@jest/transform': 30.0.5 + '@jest/types': 30.0.5 '@types/node': 22.16.5 chalk: 4.1.2 emittery: 0.13.1 exit-x: 0.2.2 graceful-fs: 4.2.11 jest-docblock: 30.0.1 - jest-environment-node: 30.0.4 - jest-haste-map: 30.0.2 - jest-leak-detector: 30.0.2 - jest-message-util: 30.0.2 - jest-resolve: 30.0.2 - jest-runtime: 30.0.4 - jest-util: 30.0.2 - jest-watcher: 30.0.4 - jest-worker: 30.0.2 + jest-environment-node: 30.0.5 + jest-haste-map: 30.0.5 + jest-leak-detector: 30.0.5 + jest-message-util: 30.0.5 + jest-resolve: 30.0.5 + jest-runtime: 30.0.5 + jest-util: 30.0.5 + jest-watcher: 30.0.5 + jest-worker: 30.0.5 p-limit: 3.1.0 source-map-support: 0.5.13 transitivePeerDependencies: - supports-color - jest-runtime@30.0.4: + jest-runtime@30.0.5: dependencies: - '@jest/environment': 30.0.4 - '@jest/fake-timers': 30.0.4 - '@jest/globals': 30.0.4 + '@jest/environment': 30.0.5 + '@jest/fake-timers': 30.0.5 + '@jest/globals': 30.0.5 '@jest/source-map': 30.0.1 - '@jest/test-result': 30.0.4 - '@jest/transform': 30.0.4 - '@jest/types': 30.0.1 + '@jest/test-result': 30.0.5 + '@jest/transform': 30.0.5 + '@jest/types': 30.0.5 '@types/node': 22.16.5 chalk: 4.1.2 cjs-module-lexer: 2.1.0 collect-v8-coverage: 1.0.2 glob: 10.4.5 graceful-fs: 4.2.11 - jest-haste-map: 30.0.2 - jest-message-util: 30.0.2 - jest-mock: 30.0.2 + jest-haste-map: 30.0.5 + jest-message-util: 30.0.5 + jest-mock: 30.0.5 jest-regex-util: 30.0.1 - jest-resolve: 30.0.2 - jest-snapshot: 30.0.4 - jest-util: 30.0.2 + jest-resolve: 30.0.5 + jest-snapshot: 30.0.5 + jest-util: 30.0.5 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: - supports-color - jest-snapshot@30.0.4: + jest-snapshot@30.0.5: dependencies: '@babel/core': 7.28.0 '@babel/generator': 7.28.0 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) '@babel/types': 7.28.0 - '@jest/expect-utils': 30.0.4 + '@jest/expect-utils': 30.0.5 '@jest/get-type': 30.0.1 - '@jest/snapshot-utils': 30.0.4 - '@jest/transform': 30.0.4 - '@jest/types': 30.0.1 + '@jest/snapshot-utils': 30.0.5 + '@jest/transform': 30.0.5 + '@jest/types': 30.0.5 babel-preset-current-node-syntax: 1.1.0(@babel/core@7.28.0) chalk: 4.1.2 - expect: 30.0.4 + expect: 30.0.5 graceful-fs: 4.2.11 - jest-diff: 30.0.4 - jest-matcher-utils: 30.0.4 - jest-message-util: 30.0.2 - jest-util: 30.0.2 - pretty-format: 30.0.2 + jest-diff: 30.0.5 + jest-matcher-utils: 30.0.5 + jest-message-util: 30.0.5 + jest-util: 30.0.5 + pretty-format: 30.0.5 semver: 7.7.2 synckit: 0.11.11 transitivePeerDependencies: - supports-color - jest-util@30.0.2: + jest-util@30.0.5: dependencies: - '@jest/types': 30.0.1 + '@jest/types': 30.0.5 '@types/node': 22.16.5 chalk: 4.1.2 ci-info: 4.3.0 graceful-fs: 4.2.11 - picomatch: 4.0.3 + picomatch: 4.0.2 - jest-validate@30.0.2: + jest-validate@30.0.5: dependencies: '@jest/get-type': 30.0.1 - '@jest/types': 30.0.1 + '@jest/types': 30.0.5 camelcase: 6.3.0 chalk: 4.1.2 leven: 3.1.0 - pretty-format: 30.0.2 + pretty-format: 30.0.5 - jest-watcher@30.0.4: + jest-watcher@30.0.5: dependencies: - '@jest/test-result': 30.0.4 - '@jest/types': 30.0.1 + '@jest/test-result': 30.0.5 + '@jest/types': 30.0.5 '@types/node': 22.16.5 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 - jest-util: 30.0.2 + jest-util: 30.0.5 string-length: 4.0.2 jest-worker@26.6.2: dependencies: - '@types/node': 24.1.0 + '@types/node': 22.16.5 merge-stream: 2.0.0 supports-color: 7.2.0 jest-worker@27.5.1: dependencies: - '@types/node': 24.1.0 + '@types/node': 22.16.5 merge-stream: 2.0.0 supports-color: 8.1.1 - jest-worker@30.0.2: + jest-worker@30.0.5: dependencies: '@types/node': 22.16.5 '@ungap/structured-clone': 1.3.0 - jest-util: 30.0.2 + jest-util: 30.0.5 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -27699,13 +27687,13 @@ snapshots: mdn-data@2.12.2: {} - mdsvex@0.12.6(svelte@5.36.12): + mdsvex@0.12.6(svelte@5.36.2): dependencies: '@types/mdast': 4.0.4 '@types/unist': 2.0.11 prism-svelte: 0.4.7 prismjs: 1.30.0 - svelte: 5.36.12 + svelte: 5.36.2 unist-util-visit: 2.0.3 vfile-message: 2.0.4 @@ -27994,16 +27982,16 @@ snapshots: mind-elixir@5.0.3: {} - mini-css-extract-plugin@2.4.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + mini-css-extract-plugin@2.4.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: schema-utils: 4.3.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) - mini-css-extract-plugin@2.9.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + mini-css-extract-plugin@2.9.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: schema-utils: 4.3.2 tapable: 2.2.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) minimalistic-assert@1.0.1: {} @@ -28194,7 +28182,7 @@ snapshots: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.14(@types/node@22.16.5) + '@inquirer/confirm': 5.1.13(@types/node@22.16.5) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -28215,12 +28203,12 @@ snapshots: - '@types/node' optional: true - msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3): + msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.14(@types/node@24.1.0) + '@inquirer/confirm': 5.1.13(@types/node@24.0.12) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -28461,7 +28449,7 @@ snapshots: flat: 5.0.2 front-matter: 4.0.2 ignore: 5.3.2 - jest-diff: 30.0.4 + jest-diff: 30.0.5 jsonc-parser: 3.2.0 lines-and-columns: 2.0.3 minimatch: 9.0.3 @@ -28551,6 +28539,8 @@ snapshots: dependencies: ee-first: 1.1.1 + on-headers@1.0.2: {} + on-headers@1.1.0: {} once@1.4.0: @@ -28883,8 +28873,6 @@ snapshots: picomatch@4.0.2: {} - picomatch@4.0.3: {} - pidtree@0.6.0: {} pify@2.3.0: {} @@ -29137,15 +29125,15 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.6 - postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)): + postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.5.6 - ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) + ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) - postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -29153,9 +29141,9 @@ snapshots: postcss: 8.5.3 schema-utils: 3.3.0 semver: 7.7.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) - postcss-loader@4.3.0(postcss@8.5.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + postcss-loader@4.3.0(postcss@8.5.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -29163,16 +29151,16 @@ snapshots: postcss: 8.5.6 schema-utils: 3.3.0 semver: 7.7.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) - postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: cosmiconfig: 9.0.0(typescript@5.0.4) jiti: 1.21.7 postcss: 8.5.6 semver: 7.7.2 optionalDependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) transitivePeerDependencies: - typescript @@ -29771,9 +29759,9 @@ snapshots: ansi-styles: 5.2.0 react-is: 17.0.2 - pretty-format@30.0.2: + pretty-format@30.0.5: dependencies: - '@jest/schemas': 30.0.1 + '@jest/schemas': 30.0.5 ansi-styles: 5.2.0 react-is: 18.3.1 @@ -29820,7 +29808,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 24.1.0 + '@types/node': 22.16.5 long: 5.3.2 proxy-addr@2.0.7: @@ -29934,11 +29922,11 @@ snapshots: raw-loader@0.5.1: {} - raw-loader@4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + raw-loader@4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) rc@1.2.8: dependencies: @@ -30265,8 +30253,6 @@ snapshots: onetime: 7.0.0 signal-exit: 4.1.0 - ret@0.5.0: {} - retry@0.12.0: {} retry@0.13.1: {} @@ -30302,10 +30288,10 @@ snapshots: robust-predicates@3.0.2: {} - rollup-plugin-stats@1.4.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + rollup-plugin-stats@1.4.0(rollup@4.44.2)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): optionalDependencies: - rollup: 4.45.1 - vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + rollup: 4.44.2 + vite: 7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) rollup-plugin-styles@4.0.0(rollup@4.40.0): dependencies: @@ -30334,12 +30320,12 @@ snapshots: '@rollup/pluginutils': 5.1.4(rollup@4.40.0) rollup: 4.40.0 - rollup-plugin-webpack-stats@2.1.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + rollup-plugin-webpack-stats@2.1.0(rollup@4.44.2)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: - rollup-plugin-stats: 1.4.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + rollup-plugin-stats: 1.4.0(rollup@4.44.2)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) optionalDependencies: - rollup: 4.45.1 - vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + rollup: 4.44.2 + vite: 7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) rollup@4.40.0: dependencies: @@ -30367,30 +30353,30 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.40.0 fsevents: 2.3.3 - rollup@4.45.1: + rollup@4.44.2: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.45.1 - '@rollup/rollup-android-arm64': 4.45.1 - '@rollup/rollup-darwin-arm64': 4.45.1 - '@rollup/rollup-darwin-x64': 4.45.1 - '@rollup/rollup-freebsd-arm64': 4.45.1 - '@rollup/rollup-freebsd-x64': 4.45.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.45.1 - '@rollup/rollup-linux-arm-musleabihf': 4.45.1 - '@rollup/rollup-linux-arm64-gnu': 4.45.1 - '@rollup/rollup-linux-arm64-musl': 4.45.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.45.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.45.1 - '@rollup/rollup-linux-riscv64-gnu': 4.45.1 - '@rollup/rollup-linux-riscv64-musl': 4.45.1 - '@rollup/rollup-linux-s390x-gnu': 4.45.1 - '@rollup/rollup-linux-x64-gnu': 4.45.1 - '@rollup/rollup-linux-x64-musl': 4.45.1 - '@rollup/rollup-win32-arm64-msvc': 4.45.1 - '@rollup/rollup-win32-ia32-msvc': 4.45.1 - '@rollup/rollup-win32-x64-msvc': 4.45.1 + '@rollup/rollup-android-arm-eabi': 4.44.2 + '@rollup/rollup-android-arm64': 4.44.2 + '@rollup/rollup-darwin-arm64': 4.44.2 + '@rollup/rollup-darwin-x64': 4.44.2 + '@rollup/rollup-freebsd-arm64': 4.44.2 + '@rollup/rollup-freebsd-x64': 4.44.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.44.2 + '@rollup/rollup-linux-arm-musleabihf': 4.44.2 + '@rollup/rollup-linux-arm64-gnu': 4.44.2 + '@rollup/rollup-linux-arm64-musl': 4.44.2 + '@rollup/rollup-linux-loongarch64-gnu': 4.44.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.44.2 + '@rollup/rollup-linux-riscv64-gnu': 4.44.2 + '@rollup/rollup-linux-riscv64-musl': 4.44.2 + '@rollup/rollup-linux-s390x-gnu': 4.44.2 + '@rollup/rollup-linux-x64-gnu': 4.44.2 + '@rollup/rollup-linux-x64-musl': 4.44.2 + '@rollup/rollup-win32-arm64-msvc': 4.44.2 + '@rollup/rollup-win32-ia32-msvc': 4.44.2 + '@rollup/rollup-win32-x64-msvc': 4.44.2 fsevents: 2.3.3 roughjs@4.6.6: @@ -30458,10 +30444,6 @@ snapshots: es-errors: 1.3.0 is-regex: 1.2.1 - safe-regex2@5.0.0: - dependencies: - ret: 0.5.0 - safer-buffer@2.1.2: {} sanitize-filename@1.6.3: @@ -30539,7 +30521,7 @@ snapshots: sass-embedded@1.87.0: dependencies: - '@bufbuild/protobuf': 2.6.1 + '@bufbuild/protobuf': 2.6.0 buffer-builder: 0.2.0 colorjs.io: 0.5.2 immutable: 5.1.3 @@ -30677,9 +30659,9 @@ snapshots: transitivePeerDependencies: - supports-color - serialize-error@12.0.0: + serialize-error@11.0.3: dependencies: - type-fest: 4.41.0 + type-fest: 2.19.0 serialize-error@7.0.1: dependencies: @@ -31200,8 +31182,6 @@ snapshots: strnum@1.1.2: {} - strnum@2.1.1: {} - strtok3@10.2.2: dependencies: '@tokenizer/token': 0.3.0 @@ -31212,15 +31192,15 @@ snapshots: '@tokenizer/token': 0.3.0 peek-readable: 4.1.0 - style-loader@2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + style-loader@2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) - style-loader@4.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + style-loader@4.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) style-mod@4.1.2: {} @@ -31250,31 +31230,31 @@ snapshots: postcss: 8.5.6 postcss-selector-parser: 7.1.0 - stylelint-config-ckeditor5@12.0.0(stylelint@16.22.0(typescript@5.8.3)): + stylelint-config-ckeditor5@12.0.0(stylelint@16.21.1(typescript@5.8.3)): dependencies: - '@stylistic/stylelint-plugin': 3.1.3(stylelint@16.22.0(typescript@5.8.3)) - stylelint: 16.22.0(typescript@5.8.3) - stylelint-config-recommended: 16.0.0(stylelint@16.22.0(typescript@5.8.3)) - stylelint-plugin-ckeditor5-rules: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) + '@stylistic/stylelint-plugin': 3.1.3(stylelint@16.21.1(typescript@5.8.3)) + stylelint: 16.21.1(typescript@5.8.3) + stylelint-config-recommended: 16.0.0(stylelint@16.21.1(typescript@5.8.3)) + stylelint-plugin-ckeditor5-rules: 12.0.0(stylelint@16.21.1(typescript@5.8.3)) - stylelint-config-ckeditor5@2.0.1(stylelint@16.22.0(typescript@5.8.3)): + stylelint-config-ckeditor5@2.0.1(stylelint@16.21.1(typescript@5.8.3)): dependencies: - stylelint: 16.22.0(typescript@5.8.3) - stylelint-config-recommended: 3.0.0(stylelint@16.22.0(typescript@5.8.3)) + stylelint: 16.21.1(typescript@5.8.3) + stylelint-config-recommended: 3.0.0(stylelint@16.21.1(typescript@5.8.3)) - stylelint-config-recommended@16.0.0(stylelint@16.22.0(typescript@5.8.3)): + stylelint-config-recommended@16.0.0(stylelint@16.21.1(typescript@5.8.3)): dependencies: - stylelint: 16.22.0(typescript@5.8.3) + stylelint: 16.21.1(typescript@5.8.3) - stylelint-config-recommended@3.0.0(stylelint@16.22.0(typescript@5.8.3)): + stylelint-config-recommended@3.0.0(stylelint@16.21.1(typescript@5.8.3)): dependencies: - stylelint: 16.22.0(typescript@5.8.3) + stylelint: 16.21.1(typescript@5.8.3) - stylelint-plugin-ckeditor5-rules@12.0.0(stylelint@16.22.0(typescript@5.8.3)): + stylelint-plugin-ckeditor5-rules@12.0.0(stylelint@16.21.1(typescript@5.8.3)): dependencies: - stylelint: 16.22.0(typescript@5.8.3) + stylelint: 16.21.1(typescript@5.8.3) - stylelint@16.22.0(typescript@5.0.4): + stylelint@16.21.1(typescript@5.0.4): dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 @@ -31318,7 +31298,7 @@ snapshots: - supports-color - typescript - stylelint@16.22.0(typescript@5.8.3): + stylelint@16.21.1(typescript@5.8.3): dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 @@ -31364,17 +31344,6 @@ snapshots: stylis@4.3.6: {} - stylus@0.64.0: - dependencies: - '@adobe/css-tools': 4.3.3 - debug: 4.4.1(supports-color@6.0.0) - glob: 10.4.5 - sax: 1.4.1 - source-map: 0.7.4 - transitivePeerDependencies: - - supports-color - optional: true - sudo-prompt@9.2.1: {} sugarss@4.0.1(postcss@8.5.3): @@ -31435,19 +31404,19 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.3.0(picomatch@4.0.3)(svelte@5.36.12)(typescript@5.8.3): + svelte-check@4.2.2(picomatch@4.0.2)(svelte@5.36.2)(typescript@5.8.3): dependencies: '@jridgewell/trace-mapping': 0.3.29 chokidar: 4.0.3 - fdir: 6.4.6(picomatch@4.0.3) + fdir: 6.4.6(picomatch@4.0.2) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.36.12 + svelte: 5.36.2 typescript: 5.8.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.3.0(svelte@5.36.12): + svelte-eslint-parser@1.2.0(svelte@5.36.2): dependencies: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -31456,9 +31425,9 @@ snapshots: postcss-scss: 4.0.9(postcss@8.5.6) postcss-selector-parser: 7.1.0 optionalDependencies: - svelte: 5.36.12 + svelte: 5.36.2 - svelte@5.36.12: + svelte@5.36.2: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.4 @@ -31634,7 +31603,7 @@ snapshots: rimraf: 2.6.3 optional: true - terser-webpack-plugin@4.2.3(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + terser-webpack-plugin@4.2.3(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: cacache: 15.3.0 find-cache-dir: 3.3.2 @@ -31644,22 +31613,22 @@ snapshots: serialize-javascript: 5.0.1 source-map: 0.6.1 terser: 5.39.0 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) 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.25.8)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + terser-webpack-plugin@5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: '@jridgewell/trace-mapping': 0.3.29 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.43.1 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) optionalDependencies: '@swc/core': 1.11.29(@swc/helpers@0.5.17) - esbuild: 0.25.8 + esbuild: 0.25.6 terser@5.39.0: dependencies: @@ -31825,7 +31794,7 @@ snapshots: ts-dedent@2.2.0: {} - ts-loader@9.5.2(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + ts-loader@9.5.2(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: chalk: 4.1.2 enhanced-resolve: 5.18.2 @@ -31833,7 +31802,7 @@ snapshots: semver: 7.7.2 source-map: 0.7.4 typescript: 5.0.4 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3): dependencies: @@ -31856,14 +31825,14 @@ snapshots: '@swc/core': 1.11.29(@swc/helpers@0.5.17) optional: true - ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.0.4): + ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.0.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 24.1.0 + '@types/node': 24.0.12 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -31876,14 +31845,14 @@ snapshots: optionalDependencies: '@swc/core': 1.11.29(@swc/helpers@0.5.17) - ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3): + ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 24.1.0 + '@types/node': 24.0.12 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -31952,9 +31921,12 @@ snapshots: type-fest@1.4.0: {} + type-fest@2.19.0: {} + type-fest@4.26.0: {} - type-fest@4.41.0: {} + type-fest@4.41.0: + optional: true type-is@1.6.18: dependencies: @@ -32012,12 +31984,12 @@ snapshots: transitivePeerDependencies: - supports-color - typescript-eslint@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3): + typescript-eslint@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.31.0(jiti@2.4.2) typescript: 5.8.3 transitivePeerDependencies: @@ -32170,7 +32142,7 @@ snapshots: unplugin@2.3.5: dependencies: acorn: 8.15.0 - picomatch: 4.0.3 + picomatch: 4.0.2 webpack-virtual-modules: 0.6.2 unrs-resolver@1.11.1: @@ -32317,13 +32289,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@3.2.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite-node@3.2.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@6.0.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -32338,13 +32310,13 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite-node@3.2.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@6.0.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -32359,10 +32331,10 @@ snapshots: - tsx - yaml - vite-plugin-dts@4.5.4(@types/node@22.16.5)(rollup@4.45.1)(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-dts@4.5.4(@types/node@22.16.5)(rollup@4.44.2)(typescript@5.8.3)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: '@microsoft/api-extractor': 7.52.8(@types/node@22.16.5) - '@rollup/pluginutils': 5.1.4(rollup@4.45.1) + '@rollup/pluginutils': 5.1.4(rollup@4.44.2) '@volar/typescript': 2.4.13 '@vue/language-core': 2.2.0(typescript@5.8.3) compare-versions: 6.1.1 @@ -32372,36 +32344,36 @@ snapshots: magic-string: 0.30.17 typescript: 5.8.3 optionalDependencies: - vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-static-copy@3.1.1(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-static-copy@3.1.1(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: chokidar: 3.6.0 fs-extra: 11.3.0 p-map: 7.0.3 picocolors: 1.1.1 tinyglobby: 0.2.14 - vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: svgo: 3.3.2 typescript: 5.8.3 - vite: 7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: svgo: 3.3.2 typescript: 5.8.3 - vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite@7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: - esbuild: 0.25.8 + esbuild: 0.25.6 fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 postcss: 8.5.6 @@ -32415,39 +32387,37 @@ snapshots: lightningcss: 1.30.1 sass: 1.87.0 sass-embedded: 1.87.0 - stylus: 0.64.0 terser: 5.43.1 tsx: 4.20.3 yaml: 2.8.0 - vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: - esbuild: 0.25.8 + esbuild: 0.25.6 fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 postcss: 8.5.6 rollup: 4.40.0 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.1.0 + '@types/node': 24.0.12 fsevents: 2.3.3 jiti: 2.4.2 less: 4.1.3 lightningcss: 1.30.1 sass: 1.87.0 sass-embedded: 1.87.0 - stylus: 0.64.0 terser: 5.43.1 tsx: 4.20.3 yaml: 2.8.0 - vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: - esbuild: 0.25.8 - fdir: 6.4.6(picomatch@4.0.3) - picomatch: 4.0.3 + esbuild: 0.25.6 + fdir: 6.4.6(picomatch@4.0.2) + picomatch: 4.0.2 postcss: 8.5.6 - rollup: 4.45.1 + rollup: 4.44.2 tinyglobby: 0.2.14 optionalDependencies: '@types/node': 22.16.5 @@ -32457,41 +32427,39 @@ snapshots: lightningcss: 1.30.1 sass: 1.87.0 sass-embedded: 1.87.0 - stylus: 0.64.0 terser: 5.43.1 tsx: 4.20.3 yaml: 2.8.0 - vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: - esbuild: 0.25.8 - fdir: 6.4.6(picomatch@4.0.3) - picomatch: 4.0.3 + esbuild: 0.25.6 + fdir: 6.4.6(picomatch@4.0.2) + picomatch: 4.0.2 postcss: 8.5.6 - rollup: 4.45.1 + rollup: 4.44.2 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.1.0 + '@types/node': 24.0.12 fsevents: 2.3.3 jiti: 2.4.2 less: 4.1.3 lightningcss: 1.30.1 sass: 1.87.0 sass-embedded: 1.87.0 - stylus: 0.64.0 terser: 5.43.1 tsx: 4.20.3 yaml: 2.8.0 - vitefu@1.1.1(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vitefu@1.1.1(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): optionalDependencies: - vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -32509,13 +32477,13 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 '@types/node': 22.16.5 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -32533,11 +32501,11 @@ snapshots: - tsx - yaml - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -32555,13 +32523,13 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 24.1.0 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@types/node': 24.0.12 + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -32645,15 +32613,15 @@ snapshots: web-streams-polyfill@3.3.3: {} - webdriver@9.18.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): + webdriver@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: - '@types/node': 20.19.9 + '@types/node': 20.19.6 '@types/ws': 8.18.1 - '@wdio/config': 9.18.0 - '@wdio/logger': 9.18.0 + '@wdio/config': 9.17.0 + '@wdio/logger': 9.16.2 '@wdio/protocols': 9.16.2 '@wdio/types': 9.16.2 - '@wdio/utils': 9.18.0 + '@wdio/utils': 9.17.0 deepmerge-ts: 7.1.5 https-proxy-agent: 7.0.6 undici: 6.21.3 @@ -32664,16 +32632,16 @@ snapshots: - supports-color - utf-8-validate - webdriverio@9.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5): + webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: - '@types/node': 20.19.9 + '@types/node': 20.19.6 '@types/sinonjs__fake-timers': 8.1.5 - '@wdio/config': 9.18.0 - '@wdio/logger': 9.18.0 + '@wdio/config': 9.17.0 + '@wdio/logger': 9.16.2 '@wdio/protocols': 9.16.2 '@wdio/repl': 9.16.2 '@wdio/types': 9.16.2 - '@wdio/utils': 9.18.0 + '@wdio/utils': 9.17.0 archiver: 7.0.1 aria-query: 5.3.2 cheerio: 1.1.2 @@ -32688,9 +32656,9 @@ snapshots: query-selector-shadow-dom: 1.0.1 resq: 1.11.0 rgb2hex: 0.2.5 - serialize-error: 12.0.0 + serialize-error: 11.0.3 urlpattern-polyfill: 10.1.0 - webdriver: 9.18.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriver: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bare-buffer - bufferutil @@ -32705,7 +32673,7 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@7.4.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + webpack-dev-middleware@7.4.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: colorette: 2.0.20 memfs: 4.17.2 @@ -32714,9 +32682,9 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.2 optionalDependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) - webpack-dev-server@5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + webpack-dev-server@5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -32744,10 +32712,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + webpack-dev-middleware: 7.4.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) transitivePeerDependencies: - bufferutil - debug @@ -32768,7 +32736,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8): + webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -32791,7 +32759,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) watchpack: 2.4.4 webpack-sources: 3.3.3 transitivePeerDependencies: From 33da990ae76ee07b2c323c3873d9a138842772fa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 05:43:38 +0000 Subject: [PATCH 081/505] chore(deps): update nx monorepo to v21.3.2 --- package.json | 22 +-- pnpm-lock.yaml | 516 ++++++++++++++++++++++++------------------------- 2 files changed, 263 insertions(+), 275 deletions(-) diff --git a/package.json b/package.json index 45a1d404e..f465a8ea5 100644 --- a/package.json +++ b/package.json @@ -27,16 +27,16 @@ "private": true, "devDependencies": { "@electron/rebuild": "4.0.1", - "@nx/devkit": "21.3.1", - "@nx/esbuild": "21.3.1", - "@nx/eslint": "21.3.1", - "@nx/eslint-plugin": "21.3.1", - "@nx/express": "21.3.1", - "@nx/js": "21.3.1", - "@nx/node": "21.3.1", - "@nx/playwright": "21.3.1", - "@nx/vite": "21.3.1", - "@nx/web": "21.3.1", + "@nx/devkit": "21.3.2", + "@nx/esbuild": "21.3.2", + "@nx/eslint": "21.3.2", + "@nx/eslint-plugin": "21.3.2", + "@nx/express": "21.3.2", + "@nx/js": "21.3.2", + "@nx/node": "21.3.2", + "@nx/playwright": "21.3.2", + "@nx/vite": "21.3.2", + "@nx/web": "21.3.2", "@playwright/test": "^1.36.0", "@triliumnext/server": "workspace:*", "@types/express": "^5.0.0", @@ -54,7 +54,7 @@ "jiti": "2.4.2", "jsdom": "~26.1.0", "jsonc-eslint-parser": "^2.1.0", - "nx": "21.3.1", + "nx": "21.3.2", "react-refresh": "^0.17.0", "rollup-plugin-webpack-stats": "2.1.0", "tslib": "^2.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d39da70d5..af58eb1f4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,35 +38,35 @@ importers: specifier: 4.0.1 version: 4.0.1 '@nx/devkit': - specifier: 21.3.1 - version: 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.2 + version: 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/esbuild': - specifier: 21.3.1 - version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.2 + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint': - specifier: 21.3.1 - version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.2 + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint-plugin': - specifier: 21.3.1 - version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.3.2 + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/express': - specifier: 21.3.1 - version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.3.2 + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) '@nx/js': - specifier: 21.3.1 - version: 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.2 + version: 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/node': - specifier: 21.3.1 - version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.3.2 + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) '@nx/playwright': - specifier: 21.3.1 - version: 21.3.1(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.3.2 + version: 21.3.2(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/vite': - specifier: 21.3.1 - version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) + specifier: 21.3.2 + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) '@nx/web': - specifier: 21.3.1 - version: 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.2 + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@playwright/test': specifier: ^1.36.0 version: 1.54.1 @@ -119,8 +119,8 @@ importers: specifier: ^2.1.0 version: 2.4.0 nx: - specifier: 21.3.1 - version: 21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + specifier: 21.3.2 + version: 21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) react-refresh: specifier: ^0.17.0 version: 0.17.0 @@ -1613,10 +1613,6 @@ packages: resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.26.5': - resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} - engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.27.1': resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} engines: {node: '>=6.9.0'} @@ -1758,12 +1754,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.25.9': - resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.27.1': resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} engines: {node: '>=6.9.0'} @@ -1812,12 +1802,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.25.9': - resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.27.1': resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} engines: {node: '>=6.9.0'} @@ -3893,21 +3877,21 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This functionality has been moved to @npmcli/fs - '@nx/devkit@21.3.1': - resolution: {integrity: sha512-0FA6uVIJ5tOrUz6kJEeyX6KKPmXBs9kWQbf08yXogEzMimz9cVpoDS8MGmK14e13UwnY68vqXgknHAL+ATs3Zg==} + '@nx/devkit@21.3.2': + resolution: {integrity: sha512-9OgECr93fcFVl5zwZMliCqLxVYhioY+fgBedup3xtedwNi9MEGvhx7NwchipI/FRrVG5av6T2jrry4ydhZMtPg==} peerDependencies: - nx: 21.3.1 + nx: 21.3.2 - '@nx/esbuild@21.3.1': - resolution: {integrity: sha512-HDbGLIE+7PBlguenwYs7qJ1aB7xk13lvP2+Po8GNthF84/BwhBfdbqvbuMBAiln/2EN5BdADoPu90Bff1riEoQ==} + '@nx/esbuild@21.3.2': + resolution: {integrity: sha512-CQTZLfBOwsqXs+Tpljl654/HeVUe+z4r6RmoCUa4TuKQuM8wJ48TcGFBE46BWStxjQgFDbhsakJe4NWzNRxKSw==} peerDependencies: esbuild: '>=0.25.0' peerDependenciesMeta: esbuild: optional: true - '@nx/eslint-plugin@21.3.1': - resolution: {integrity: sha512-E+HZD7jWC3lRrQCDpqSomc1KEk4ZuF/7uuTrhQgdfyvCb1tRoOEPYdrokGRFMfQGZZODcF02K/j7FW8yE00Tsg==} + '@nx/eslint-plugin@21.3.2': + resolution: {integrity: sha512-BPnT0d1eLdIptYGobmJm9z165KlY03ATnNdUCe+yoQ7pCZLiGwLWmylX65keNmTK9PYDDkTafkpWiCvEv2K6fQ==} peerDependencies: '@typescript-eslint/parser': ^6.13.2 || ^7.0.0 || ^8.0.0 eslint-config-prettier: ^10.0.0 @@ -3915,8 +3899,8 @@ packages: eslint-config-prettier: optional: true - '@nx/eslint@21.3.1': - resolution: {integrity: sha512-Vjb0tk6nd0khljt57RZLTZhH7sUGkefZhkVdM5AVTDYVz4S1U2xuowwBnbIf0VbdTZ9xmxYIoWsPewEmSA5kXQ==} + '@nx/eslint@21.3.2': + resolution: {integrity: sha512-pMCxdNVbQydqmXYQqc3E7xGFHYFGeCaUoID8elAjfD+d38u1Xp2tb81bPVoLhd5MivNzRwdovT7ynsafEhIcLw==} peerDependencies: '@zkochan/js-yaml': 0.0.7 eslint: ^8.0.0 || ^9.0.0 @@ -3924,97 +3908,97 @@ packages: '@zkochan/js-yaml': optional: true - '@nx/express@21.3.1': - resolution: {integrity: sha512-xR5RZ+r1sp+geZuCYlW23PO8VMvC7YBBLP3VWXulx8kmmZsLCAufv6PMQj6H/FoQdovaZVmOfVWwr3crpQAzJg==} + '@nx/express@21.3.2': + resolution: {integrity: sha512-CK1d2wQaU3OncE4TQRZRdiD6G10gfFymIcFAUm8LCVwwmRCbqCb0uBlVcEwZauMR8rpgYk0J1DHoY/UIZ2VSyg==} peerDependencies: express: ^4.21.2 peerDependenciesMeta: express: optional: true - '@nx/jest@21.3.1': - resolution: {integrity: sha512-Syizva814bHRAJn6vCUYr5YBS8S6Xb4Rs1/VrfqrvvZvnHhy+oaEF4wSZdRGe0Pm9l99HVpABff6POCBP4MUTA==} + '@nx/jest@21.3.2': + resolution: {integrity: sha512-38G/JSJWPSqHeUavOZFyes1noyc7UK0Y9yzbFOi46W6OCby+vzCAvIx8L7I2fuE22ar4+Yj5VgXQXWUwxP5rXA==} - '@nx/js@21.3.1': - resolution: {integrity: sha512-zc+3t3NOBWdnqPL94gsYspYhkiKYd3fflvDNdiOpf3XKhXZCE89YsbcZGoxDnW0A0bKAk4Z7wwh9txnG4A2jZA==} + '@nx/js@21.3.2': + resolution: {integrity: sha512-W2xB0F75ujJLlTu//FMAXNpWwiDYJmaP+WCXdW7rnCq9xatE0gtF/UhGp4xObD+aOc9xBsQOi0IeilA4SvmAjg==} peerDependencies: verdaccio: ^6.0.5 peerDependenciesMeta: verdaccio: optional: true - '@nx/node@21.3.1': - resolution: {integrity: sha512-5R1CclWqo6rGk6iZV8wvmcVNAupgm9HvhSV1OB3/FuxBLKEvR4wNHKXv6CRqsy7of5uwgBS3Zbb2cW2UbWdspQ==} + '@nx/node@21.3.2': + resolution: {integrity: sha512-YqasXzNwxISEyVSfDiGemU8kgFAFGL09eB6Px/eNDqgoMhH+Ln+r1EfFNatDaR6I5bmYgWp9kTIp3sRo8LR11A==} - '@nx/nx-darwin-arm64@21.3.1': - resolution: {integrity: sha512-DND5/CRN1rP7qMt4xkDjklzf3OoA3JcweN+47xZCfiQlu/VobvnS04OC6tLZc+Nymi73whk4lserpUG9biQjCA==} + '@nx/nx-darwin-arm64@21.3.2': + resolution: {integrity: sha512-HMW4iDmTJNN4vJaql77IeQ91DSbZ1qMB5+8GDNCwHibcgEhTE9u82ErfLlpfq0lvg8EommGOcUM3seEdMTEOUQ==} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@21.3.1': - resolution: {integrity: sha512-iFR/abYakCwrFFIfb6gRXN6/gytle/8jj2jwEol0EFrkBIrBi/YrSyuRpsbnxuDB7MhuZ9zwvxlkE6mEJt9UoQ==} + '@nx/nx-darwin-x64@21.3.2': + resolution: {integrity: sha512-PyNcTT1Yaeq6xjLzxE1EVCAxcBacps7AZKBT4GGUB+NKLlA8oxTBzqUmQlg61rxWmiJ7ELYY6SzHX+7YH0kGwA==} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@21.3.1': - resolution: {integrity: sha512-e/cx0cR8sLBX3b2JRLqwXj8z4ENhgDwJ5CF7hbcNRkMncKz1J2MZSsqHQHKUfls+HT4Mmmzwyf86laj879cs7Q==} + '@nx/nx-freebsd-x64@21.3.2': + resolution: {integrity: sha512-BYkccbz5/PUu7BaB7TcXeSiLe1HzTZCT5q5kkLp0Z3OUJFG1YrSR+a+ktP29H9pzdYvjCqIeTvRw0Y5epdtfmg==} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@21.3.1': - resolution: {integrity: sha512-JvDfLVZhxzKfetcA1r5Ak+re5Qfks6JdgQD165wMysgAyZDdeM1GFn78xo5CqRPShlE8f/nhF4aX405OL6HYPw==} + '@nx/nx-linux-arm-gnueabihf@21.3.2': + resolution: {integrity: sha512-mdHXshxXegYbpmN6w+hkEXu2ieXaN2qmNygF8nF/hgJ2Q4JiS+DJ2G6QEajxrpA/cmMC6VoDnnux+fYb6PipZQ==} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@21.3.1': - resolution: {integrity: sha512-J+LkCHzFCgZw4ZMgIuahprjaabWTDmsqJdsYLPFm/pw7TR6AyidXzUEZPfEgBK5WTO1PQr1LJp+Ps8twpf+iBg==} + '@nx/nx-linux-arm64-gnu@21.3.2': + resolution: {integrity: sha512-PsCZC3emzGKMM+7n8Qsp7RsP6v3qwAwmBZncgBUNq1QMg9VrFrsKfMcZtJdwkdMzK3jQwHn20nSM8TMO5/aLsQ==} cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@21.3.1': - resolution: {integrity: sha512-VCiwPf4pj6WZWmPl30UpcKyp8DWb7Axs0pvU0/dsJz6Ye7bhKnsEZ/Ehp4laVZkck+MVEMFMHavikUdgNzWx3g==} + '@nx/nx-linux-arm64-musl@21.3.2': + resolution: {integrity: sha512-lA/fNora74mBFSQp6HG4FfOkoUBnAfraF7Cc9TR4Z50lZDgXFMPf0Gn4Qdvpphl3ydmsU8bXmzu/ckHWJwuELA==} cpu: [arm64] os: [linux] - '@nx/nx-linux-x64-gnu@21.3.1': - resolution: {integrity: sha512-Erxxqir8zZDgfrTgOOeaByn22e8vbOTxWNif5i0brH2tQpdr6+2f3v1qNrRlP9CWjqwypPDmkU781U38u+qHHg==} + '@nx/nx-linux-x64-gnu@21.3.2': + resolution: {integrity: sha512-gpBmox+M9vmUDJppp8nY73RgpHU9QJE201Ey+YBbgEn+TSaFwkxdwqmsJGnysqNpUU9I6VWEd3bFcEZNczTHWA==} cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@21.3.1': - resolution: {integrity: sha512-dG5djRnC3zzOjEzOAzVX8u1sZSn0TSmvVUKKH+WorxI8QKpxHVHbzpvvyLXpiAbtSk0reIPC1c9iRw+MR0GAvw==} + '@nx/nx-linux-x64-musl@21.3.2': + resolution: {integrity: sha512-QOQiEKotsIb6u3J4KQlfqfQFy6PXfJe56sCeoQAYuRUMXCiuTPr+Z2V43v1UcAZOu4beDEcP+saRN7EucsWeHA==} cpu: [x64] os: [linux] - '@nx/nx-win32-arm64-msvc@21.3.1': - resolution: {integrity: sha512-mkV6HERTtP2uY6aq0AhxbkL6KSsvomobPOypdEdrnfUsc2Rvd+U/pWl/flZHFkk8V6aXzEG56lWCZqXVyGUD1Q==} + '@nx/nx-win32-arm64-msvc@21.3.2': + resolution: {integrity: sha512-LaZhp+LmO0nd2BLV40BlFkKBQWPUwcNje98B7v1/mvHhE1M6r8pMSgRuHGJXcolaWAoOiJJXhGor84zn5UiYRw==} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@21.3.1': - resolution: {integrity: sha512-9cQZDiLT9bD1ixZ+WwNHVPRrxuszGHc30xzLzVgQ2l/IwOHJX6oRxMZa1IfgUYv846K0TSKWis+S41tcxUy80Q==} + '@nx/nx-win32-x64-msvc@21.3.2': + resolution: {integrity: sha512-efIYgmjiNbthAbsXv5cG6C4kUOlvNIbCtHQo5GkVRcoeoGrLYbE8tJobeP+hEujBseK628rG8yI7Q9calT803g==} cpu: [x64] os: [win32] - '@nx/playwright@21.3.1': - resolution: {integrity: sha512-ofrCuISGarsjAudXIdJrWRT7MXPkM22HcJIbE0kiBdY7Ts0BgUp2u7t06kCj7+5WPyJz+htmFdz3YlI/54bRfw==} + '@nx/playwright@21.3.2': + resolution: {integrity: sha512-XDYKLs3XitTNjDRmt6Y83bx3/tFNJUQ2nCvEUME2PFUUycB9Uga/KurT7gte7MviHuMR80lpwl8AnA09eRmu2A==} peerDependencies: '@playwright/test': ^1.36.0 peerDependenciesMeta: '@playwright/test': optional: true - '@nx/vite@21.3.1': - resolution: {integrity: sha512-Nv2WvKzpp+DnU2yyQVd3FK+rVAewinngRVBAcoOKyERzpGk1xtt36N7e3mqBNArFAVrHwJ/TtMbVenioJU0L2A==} + '@nx/vite@21.3.2': + resolution: {integrity: sha512-h9CdI6veDidbaQ0WpJ0N1YJZMq2ondaqgEhaHLL0Tiv+qJ1fmQ7EaT54neCsrXaw+D/vFUmo0JaCy0ArEWUpGQ==} peerDependencies: vite: ^5.0.0 || ^6.0.0 vitest: ^1.3.1 || ^2.0.0 || ^3.0.0 - '@nx/web@21.3.1': - resolution: {integrity: sha512-z1BqpHPHf1PQXy5Npr3vpdJIUZqfq5VXdSIanAXaLJNPgP18AfVap2ozlHcQytLQErNVKHK1JTzUuHJFipSl4A==} + '@nx/web@21.3.2': + resolution: {integrity: sha512-r3DHEE17SqifqfIetTvYkfbMe8lPpa06gJN8SR7ESsmcX7vOKJHkkh9GkKonvvhDXKTjq1ub3l2Vo4be6yGb3A==} - '@nx/workspace@21.3.1': - resolution: {integrity: sha512-MiS0x/Wl4vv+4oFWvsZLFsRR9E3tDh002ZeGjvGJbiZw8eUAMfX1mYhU7URxHSr8yoW1qCAKEvgAjGTLRz9Kkw==} + '@nx/workspace@21.3.2': + resolution: {integrity: sha512-qz9oZcxEs9rTttdyyq4haF8dilz1oZLshqBRDmwQItCCRnTIaAl09T7Z5F2ZD68DP4ZmFvyzJleRZTEXvj12uA==} '@open-draft/deferred-promise@2.2.0': resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} @@ -11150,8 +11134,8 @@ packages: nwsapi@2.2.20: resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} - nx@21.3.1: - resolution: {integrity: sha512-lOMDktM4CUcVa/yUmiAXGNxbNo6SC0T8/alRml1sgaOG1QHUpH6XyA1/nR4M3DNjlmON4wD06pZQUDKFb8kd8w==} + nx@21.3.2: + resolution: {integrity: sha512-GK/AH0xqlCd+hHVQiNjrfP26fiR5UmfL/L/1IEjL8uqPcYsyBkWMiyuGWY4pZYBJmJXp1lbPYVE6ZQ1qAWhC8w==} hasBin: true peerDependencies: '@swc-node/register': ^1.8.0 @@ -15615,7 +15599,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 debug: 4.4.1(supports-color@6.0.0) lodash.debounce: 4.0.8 resolve: 1.22.10 @@ -15651,8 +15635,6 @@ snapshots: dependencies: '@babel/types': 7.28.0 - '@babel/helper-plugin-utils@7.26.5': {} - '@babel/helper-plugin-utils@7.27.1': {} '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.28.0)': @@ -15710,7 +15692,7 @@ snapshots: '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.28.0 transitivePeerDependencies: - supports-color @@ -15718,17 +15700,17 @@ snapshots: '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.28.0) transitivePeerDependencies: @@ -15737,7 +15719,7 @@ snapshots: '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.28.0 transitivePeerDependencies: - supports-color @@ -15746,7 +15728,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.28.0) transitivePeerDependencies: - supports-color @@ -15758,52 +15740,47 @@ snapshots: '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.0)': dependencies: @@ -15813,47 +15790,42 @@ snapshots: '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.0)': dependencies: @@ -15864,17 +15836,17 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-async-generator-functions@7.26.8(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.28.0) '@babel/traverse': 7.28.0 transitivePeerDependencies: @@ -15884,7 +15856,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.28.0) transitivePeerDependencies: - supports-color @@ -15892,18 +15864,18 @@ snapshots: '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-block-scoping@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -15911,7 +15883,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -15920,7 +15892,7 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-replace-supers': 7.26.5(@babel/core@7.28.0) '@babel/traverse': 7.28.0 globals: 11.12.0 @@ -15930,50 +15902,50 @@ snapshots: '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/template': 7.27.2 '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-for-of@7.26.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color @@ -15982,7 +15954,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.28.0 transitivePeerDependencies: - supports-color @@ -15990,28 +15962,28 @@ snapshots: '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-literals@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -16019,7 +15991,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -16027,7 +15999,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 '@babel/traverse': 7.28.0 transitivePeerDependencies: @@ -16037,7 +16009,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -16045,34 +16017,34 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.28.0) '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-replace-supers': 7.26.5(@babel/core@7.28.0) transitivePeerDependencies: - supports-color @@ -16080,12 +16052,12 @@ snapshots: '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color @@ -16093,13 +16065,13 @@ snapshots: '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -16108,37 +16080,37 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-regenerator@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 regenerator-transform: 0.15.2 '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-runtime@7.26.10(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 babel-plugin-polyfill-corejs2: 0.4.13(@babel/core@7.28.0) babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.28.0) babel-plugin-polyfill-regenerator: 0.6.4(@babel/core@7.28.0) @@ -16149,12 +16121,12 @@ snapshots: '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-spread@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color @@ -16162,58 +16134,58 @@ snapshots: '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-template-literals@7.26.8(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-typeof-symbol@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-typescript@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.28.0) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) transitivePeerDependencies: - supports-color '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.0(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/preset-env@7.26.9(@babel/core@7.28.0)': dependencies: '@babel/compat-data': 7.28.0 '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.28.0) '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.28.0) @@ -16286,16 +16258,16 @@ snapshots: '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/types': 7.28.0 esutils: 2.0.3 '@babel/preset-typescript@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.28.0) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.28.0) '@babel/plugin-transform-typescript': 7.27.0(@babel/core@7.28.0) transitivePeerDependencies: @@ -16409,8 +16381,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16465,8 +16435,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-block-quote@46.0.0': dependencies: @@ -16535,16 +16503,12 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-cloud-services@46.0.0': dependencies: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -16764,8 +16728,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -16775,8 +16737,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -16786,8 +16746,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -16821,6 +16779,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -16877,6 +16837,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -16901,8 +16863,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -16966,8 +16926,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -17027,6 +16985,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -17099,6 +17059,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-markdown-gfm@46.0.0': dependencies: @@ -17136,6 +17098,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17145,6 +17109,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-merge-fields@46.0.0': dependencies: @@ -17157,6 +17123,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17165,6 +17133,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-operations-compressor@46.0.0': dependencies: @@ -17217,6 +17187,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-pagination@46.0.0': dependencies: @@ -17280,6 +17252,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -17323,6 +17297,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@46.0.0': dependencies: @@ -17335,6 +17311,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.0.0': dependencies: @@ -17382,6 +17360,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-table@46.0.0': dependencies: @@ -17394,6 +17374,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-template@46.0.0': dependencies: @@ -17504,6 +17486,8 @@ snapshots: '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-widget@46.0.0': dependencies: @@ -17523,6 +17507,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@codemirror/autocomplete@6.18.6': dependencies: @@ -19380,22 +19366,22 @@ snapshots: mkdirp: 1.0.4 rimraf: 3.0.2 - '@nx/devkit@21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/devkit@21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 minimatch: 9.0.3 - nx: 21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) semver: 7.7.2 tmp: 0.2.3 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/esbuild@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/esbuild@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) picocolors: 1.1.1 tinyglobby: 0.2.14 tsconfig-paths: 4.2.0 @@ -19411,14 +19397,14 @@ snapshots: - supports-color - verdaccio - '@nx/eslint-plugin@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/eslint-plugin@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/type-utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) chalk: 4.1.2 confusing-browser-globals: 1.0.11 globals: 15.15.0 @@ -19438,10 +19424,10 @@ snapshots: - typescript - verdaccio - '@nx/eslint@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/eslint@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) eslint: 9.31.0(jiti@2.4.2) semver: 7.7.2 tslib: 2.8.1 @@ -19457,11 +19443,11 @@ snapshots: - supports-color - verdaccio - '@nx/express@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/express@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/node': 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/node': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) tslib: 2.8.1 optionalDependencies: express: 4.21.2 @@ -19482,12 +19468,12 @@ snapshots: - typescript - verdaccio - '@nx/jest@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/jest@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@jest/reporters': 30.0.5 '@jest/test-result': 30.0.5 - '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) identity-obj-proxy: 3.0.0 jest-config: 30.0.5(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3)) @@ -19514,7 +19500,7 @@ snapshots: - typescript - verdaccio - '@nx/js@21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/js@21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.28.0) @@ -19523,8 +19509,8 @@ snapshots: '@babel/preset-env': 7.26.9(@babel/core@7.28.0) '@babel/preset-typescript': 7.27.0(@babel/core@7.28.0) '@babel/runtime': 7.27.6 - '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/workspace': 21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/workspace': 21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) '@zkochan/js-yaml': 0.0.7 babel-plugin-const-enum: 1.2.0(@babel/core@7.28.0) babel-plugin-macros: 3.1.0 @@ -19553,12 +19539,12 @@ snapshots: - nx - supports-color - '@nx/node@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/node@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/jest': 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) - '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/jest': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) kill-port: 1.6.1 tcp-port-used: 1.0.2 tslib: 2.8.1 @@ -19579,41 +19565,41 @@ snapshots: - typescript - verdaccio - '@nx/nx-darwin-arm64@21.3.1': + '@nx/nx-darwin-arm64@21.3.2': optional: true - '@nx/nx-darwin-x64@21.3.1': + '@nx/nx-darwin-x64@21.3.2': optional: true - '@nx/nx-freebsd-x64@21.3.1': + '@nx/nx-freebsd-x64@21.3.2': optional: true - '@nx/nx-linux-arm-gnueabihf@21.3.1': + '@nx/nx-linux-arm-gnueabihf@21.3.2': optional: true - '@nx/nx-linux-arm64-gnu@21.3.1': + '@nx/nx-linux-arm64-gnu@21.3.2': optional: true - '@nx/nx-linux-arm64-musl@21.3.1': + '@nx/nx-linux-arm64-musl@21.3.2': optional: true - '@nx/nx-linux-x64-gnu@21.3.1': + '@nx/nx-linux-x64-gnu@21.3.2': optional: true - '@nx/nx-linux-x64-musl@21.3.1': + '@nx/nx-linux-x64-musl@21.3.2': optional: true - '@nx/nx-win32-arm64-msvc@21.3.1': + '@nx/nx-win32-arm64-msvc@21.3.2': optional: true - '@nx/nx-win32-x64-msvc@21.3.1': + '@nx/nx-win32-x64-msvc@21.3.2': optional: true - '@nx/playwright@21.3.1(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/playwright@21.3.2(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) minimatch: 9.0.3 tslib: 2.8.1 @@ -19631,10 +19617,10 @@ snapshots: - typescript - verdaccio - '@nx/vite@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': + '@nx/vite@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': dependencies: - '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) '@swc/helpers': 0.5.17 ajv: 8.17.1 @@ -19654,10 +19640,10 @@ snapshots: - typescript - verdaccio - '@nx/web@21.3.1(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/web@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.1(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) detect-port: 1.6.1 http-server: 14.1.1 picocolors: 1.1.1 @@ -19671,13 +19657,13 @@ snapshots: - supports-color - verdaccio - '@nx/workspace@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': + '@nx/workspace@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': dependencies: - '@nx/devkit': 21.3.1(nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@zkochan/js-yaml': 0.0.7 chalk: 4.1.2 enquirer: 2.3.6 - nx: 21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) picomatch: 4.0.2 tslib: 2.8.1 yargs-parser: 21.1.1 @@ -22630,15 +22616,15 @@ snapshots: babel-plugin-const-enum@1.2.0(@babel/core@7.28.0): dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) '@babel/traverse': 7.28.0 transitivePeerDependencies: - supports-color babel-plugin-istanbul@7.0.0: dependencies: - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 6.0.3 @@ -22685,7 +22671,7 @@ snapshots: babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.28.0)(@babel/traverse@7.28.0): dependencies: '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 optionalDependencies: '@babel/traverse': 7.28.0 @@ -23188,6 +23174,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -25728,7 +25716,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.4 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 @@ -28431,7 +28419,7 @@ snapshots: nwsapi@2.2.20: {} - nx@21.3.1(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): + nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 @@ -28469,16 +28457,16 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 21.3.1 - '@nx/nx-darwin-x64': 21.3.1 - '@nx/nx-freebsd-x64': 21.3.1 - '@nx/nx-linux-arm-gnueabihf': 21.3.1 - '@nx/nx-linux-arm64-gnu': 21.3.1 - '@nx/nx-linux-arm64-musl': 21.3.1 - '@nx/nx-linux-x64-gnu': 21.3.1 - '@nx/nx-linux-x64-musl': 21.3.1 - '@nx/nx-win32-arm64-msvc': 21.3.1 - '@nx/nx-win32-x64-msvc': 21.3.1 + '@nx/nx-darwin-arm64': 21.3.2 + '@nx/nx-darwin-x64': 21.3.2 + '@nx/nx-freebsd-x64': 21.3.2 + '@nx/nx-linux-arm-gnueabihf': 21.3.2 + '@nx/nx-linux-arm64-gnu': 21.3.2 + '@nx/nx-linux-arm64-musl': 21.3.2 + '@nx/nx-linux-x64-gnu': 21.3.2 + '@nx/nx-linux-x64-musl': 21.3.2 + '@nx/nx-win32-arm64-msvc': 21.3.2 + '@nx/nx-win32-x64-msvc': 21.3.2 '@swc-node/register': 1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3) '@swc/core': 1.11.29(@swc/helpers@0.5.17) transitivePeerDependencies: From bf2b45dd4afbbfdc379c5b92a6fa9c6d0151d7bb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 16:53:39 +0000 Subject: [PATCH 082/505] chore(deps): update dependency axios to v1.11.0 [security] --- apps/server/package.json | 2 +- pnpm-lock.yaml | 28 ++++++++++++---------------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/apps/server/package.json b/apps/server/package.json index 44e950384..0e753ed1a 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -46,7 +46,7 @@ "@triliumnext/turndown-plugin-gfm": "workspace:*", "archiver": "7.0.1", "async-mutex": "0.5.0", - "axios": "1.10.0", + "axios": "1.11.0", "bindings": "1.5.0", "chardet": "2.1.0", "cheerio": "1.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index af58eb1f4..5a136219b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -592,8 +592,8 @@ importers: specifier: 0.5.0 version: 0.5.0 axios: - specifier: 1.10.0 - version: 1.10.0(debug@4.4.1) + specifier: 1.11.0 + version: 1.11.0(debug@4.4.1) bindings: specifier: 1.5.0 version: 1.5.0 @@ -6605,8 +6605,8 @@ packages: resolution: {integrity: sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g==} engines: {node: '>=6.0.0'} - axios@1.10.0: - resolution: {integrity: sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==} + axios@1.11.0: + resolution: {integrity: sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -16435,6 +16435,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-block-quote@46.0.0': dependencies: @@ -16509,6 +16511,8 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -16520,8 +16524,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-collaboration-core@46.0.0': dependencies: @@ -16779,8 +16781,6 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -16952,8 +16952,6 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-icons@46.0.0': {} @@ -17252,8 +17250,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -21900,7 +21896,7 @@ snapshots: '@uploadcare/upload-client@6.14.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: - form-data: 4.0.2 + form-data: 4.0.4 ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil @@ -22588,10 +22584,10 @@ snapshots: await-to-js@3.0.0: {} - axios@1.10.0(debug@4.4.1): + axios@1.11.0(debug@4.4.1): dependencies: follow-redirects: 1.15.9(debug@4.4.1) - form-data: 4.0.2 + form-data: 4.0.4 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -28425,7 +28421,7 @@ snapshots: '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.2 '@zkochan/js-yaml': 0.0.7 - axios: 1.10.0(debug@4.4.1) + axios: 1.11.0(debug@4.4.1) chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 From 6021178b7dd3f3f0244afbbd15467076c6423bcc Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 23 Jul 2025 21:22:58 +0300 Subject: [PATCH 083/505] feat(hidden_subtree): enforce original title in help --- apps/server/src/services/hidden_subtree.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/server/src/services/hidden_subtree.ts b/apps/server/src/services/hidden_subtree.ts index 326e72646..92e6897dc 100644 --- a/apps/server/src/services/hidden_subtree.ts +++ b/apps/server/src/services/hidden_subtree.ts @@ -411,7 +411,7 @@ function checkHiddenSubtreeRecursively(parentNoteId: string, item: HiddenSubtree } } - if (extraOpts.restoreNames && note.title !== item.title) { + if ((extraOpts.restoreNames || note.noteId.startsWith("_help")) && note.title !== item.title) { note.title = item.title; note.save(); } From 2072bd61d13519c2ea7775ebb3c3c2aaf4cd2f1c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 23 Jul 2025 22:28:15 +0300 Subject: [PATCH 084/505] fix(mermaid): lag during editing (closes #6443) --- apps/client/src/services/spaced_update.ts | 8 ++++++++ .../type_widgets/abstract_split_type_widget.ts | 5 ++++- .../src/widgets/type_widgets/editable_code.ts | 18 +++++++++++++++++- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/apps/client/src/services/spaced_update.ts b/apps/client/src/services/spaced_update.ts index 9b09a2fd3..938fceb00 100644 --- a/apps/client/src/services/spaced_update.ts +++ b/apps/client/src/services/spaced_update.ts @@ -51,6 +51,14 @@ export default class SpacedUpdate { this.lastUpdated = Date.now(); } + /** + * Sets the update interval for the spaced update. + * @param interval The update interval in milliseconds. + */ + setUpdateInterval(interval: number) { + this.updateInterval = interval; + } + triggerUpdate() { if (!this.changed) { return; diff --git a/apps/client/src/widgets/type_widgets/abstract_split_type_widget.ts b/apps/client/src/widgets/type_widgets/abstract_split_type_widget.ts index 23a4da942..343ed57ac 100644 --- a/apps/client/src/widgets/type_widgets/abstract_split_type_widget.ts +++ b/apps/client/src/widgets/type_widgets/abstract_split_type_widget.ts @@ -130,7 +130,8 @@ export default abstract class AbstractSplitTypeWidget extends TypeWidget { constructor() { super(); - this.editorTypeWidget = new EditableCodeTypeWidget(); + + this.editorTypeWidget = new EditableCodeTypeWidget(true); this.editorTypeWidget.updateBackgroundColor = () => {}; this.editorTypeWidget.isEnabled = () => true; @@ -146,6 +147,8 @@ export default abstract class AbstractSplitTypeWidget extends TypeWidget { doRender(): void { this.$widget = $(TPL); + this.spacedUpdate.setUpdateInterval(750); + // Preview pane this.$previewCol = this.$widget.find(".note-detail-split-preview-col"); this.$preview = this.$widget.find(".note-detail-split-preview"); diff --git a/apps/client/src/widgets/type_widgets/editable_code.ts b/apps/client/src/widgets/type_widgets/editable_code.ts index 9f4ff53cb..cdf4b912e 100644 --- a/apps/client/src/widgets/type_widgets/editable_code.ts +++ b/apps/client/src/widgets/type_widgets/editable_code.ts @@ -28,6 +28,16 @@ const TPL = /*html*/` export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { + private debounceUpdate: boolean; + + /** + * @param debounceUpdate if true, the update will be debounced to prevent excessive updates. Especially useful if the editor is linked to a live preview. + */ + constructor(debounceUpdate: boolean = false) { + super(); + this.debounceUpdate = debounceUpdate; + } + static getType() { return "editableCode"; } @@ -46,7 +56,13 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { return { placeholder: t("editable_code.placeholder"), vimKeybindings: options.is("vimKeymapEnabled"), - onContentChanged: () => this.spacedUpdate.scheduleUpdate(), + onContentChanged: () => { + if (this.debounceUpdate) { + this.spacedUpdate.resetUpdateTimer(); + } + + this.spacedUpdate.scheduleUpdate(); + }, tabIndex: 300 } } From 4f71d508cbf5d3c9ef211e36a33effff744331d5 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 23 Jul 2025 22:32:49 +0300 Subject: [PATCH 085/505] chore(deps): audit --- package.json | 8 ++- pnpm-lock.yaml | 139 ++++++++++++++----------------------------------- 2 files changed, 45 insertions(+), 102 deletions(-) diff --git a/package.json b/package.json index f465a8ea5..cd4bc2306 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,13 @@ "nanoid@<3.3.8": ">=3.3.8", "nanoid@>=4.0.0 <5.0.9": ">=5.0.9", "dompurify@<3.2.4": ">=3.2.4", - "esbuild@<=0.24.2": ">=0.25.0" + "esbuild@<=0.24.2": ">=0.25.0", + "minimatch@<3.0.5": ">=3.0.5", + "cookie@<0.7.0": ">=0.7.0", + "tar-fs@>=2.0.0 <2.1.3": ">=2.1.3", + "on-headers@<1.1.0": ">=1.1.0", + "form-data@>=4.0.0 <4.0.4": ">=4.0.4", + "form-data@>=3.0.0 <3.0.4": ">=3.0.4" }, "ignoredBuiltDependencies": [ "sqlite3" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5a136219b..da6c634c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,6 +15,12 @@ overrides: nanoid@>=4.0.0 <5.0.9: '>=5.0.9' dompurify@<3.2.4: '>=3.2.4' esbuild@<=0.24.2: '>=0.25.0' + minimatch@<3.0.5: '>=3.0.5' + cookie@<0.7.0: '>=0.7.0' + tar-fs@>=2.0.0 <2.1.3: '>=2.1.3' + on-headers@<1.1.0: '>=1.1.0' + form-data@>=4.0.0 <4.0.4: '>=4.0.4' + form-data@>=3.0.0 <3.0.4: '>=3.0.4' patchedDependencies: '@ckeditor/ckeditor5-code-block': @@ -7019,9 +7025,6 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} - chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -7328,10 +7331,6 @@ packages: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} engines: {node: '>=6.6.0'} - cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - cookie@0.7.1: resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} engines: {node: '>= 0.6'} @@ -8795,14 +8794,6 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@3.0.3: - resolution: {integrity: sha512-q5YBMeWy6E2Un0nMGWMgI65MAKtaylxfNJGJxpGh45YDciZB4epbWpaAfImil6CPAPTYB4sh0URQNDRIZG5F2w==} - engines: {node: '>= 6'} - - form-data@4.0.2: - resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} - engines: {node: '>= 6'} - form-data@4.0.4: resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} engines: {node: '>= 6'} @@ -10786,9 +10777,6 @@ packages: minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - minimatch@3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} - minimatch@3.0.8: resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} @@ -11198,10 +11186,6 @@ packages: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} - on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} - on-headers@1.1.0: resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} engines: {node: '>= 0.8'} @@ -13844,9 +13828,6 @@ packages: resolution: {integrity: sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw==} hasBin: true - tar-fs@2.1.2: - resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==} - tar-fs@3.1.0: resolution: {integrity: sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==} @@ -16381,6 +16362,8 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16505,6 +16488,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-cloud-services@46.0.0': dependencies: @@ -16524,6 +16509,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-collaboration-core@46.0.0': dependencies: @@ -16730,6 +16717,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -16739,6 +16728,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -16748,6 +16739,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -16837,8 +16830,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -16863,6 +16854,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -16926,6 +16919,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -16952,6 +16947,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-icons@46.0.0': {} @@ -16983,8 +16980,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -16996,8 +16991,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-inspector@5.0.0': {} @@ -17007,8 +17000,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-line-height@46.0.0': dependencies: @@ -17032,8 +17023,6 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-list-multi-level@46.0.0': dependencies: @@ -17057,8 +17046,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-markdown-gfm@46.0.0': dependencies: @@ -17096,8 +17083,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17107,8 +17092,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-merge-fields@46.0.0': dependencies: @@ -17121,8 +17104,6 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17131,8 +17112,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-operations-compressor@46.0.0': dependencies: @@ -17185,8 +17164,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-pagination@46.0.0': dependencies: @@ -17293,8 +17270,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-slash-command@46.0.0': dependencies: @@ -17307,8 +17282,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.0.0': dependencies: @@ -17356,8 +17329,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-table@46.0.0': dependencies: @@ -17370,8 +17341,6 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-template@46.0.0': dependencies: @@ -17482,8 +17451,6 @@ snapshots: '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-widget@46.0.0': dependencies: @@ -17503,8 +17470,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@codemirror/autocomplete@6.18.6': dependencies: @@ -20750,7 +20715,7 @@ snapshots: '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@types/cookie': 0.6.0 acorn: 8.15.0 - cookie: 0.6.0 + cookie: 0.7.2 devalue: 5.1.1 esm-env: 1.2.2 kleur: 4.1.5 @@ -21501,7 +21466,7 @@ snapshots: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 '@types/node': 22.16.5 - form-data: 4.0.2 + form-data: 4.0.4 '@types/supertest@6.0.3': dependencies: @@ -22751,6 +22716,8 @@ snapshots: dependencies: bindings: 1.5.0 prebuild-install: 7.1.3 + transitivePeerDependencies: + - bare-buffer bezier-easing@2.1.0: {} @@ -23155,8 +23122,6 @@ snapshots: dependencies: readdirp: 4.1.2 - chownr@1.1.4: {} - chownr@2.0.0: {} chownr@3.0.0: {} @@ -23170,8 +23135,6 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 - transitivePeerDependencies: - - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -23528,8 +23491,6 @@ snapshots: cookie-signature@1.2.2: {} - cookie@0.6.0: {} - cookie@0.7.1: {} cookie@0.7.2: {} @@ -24428,7 +24389,7 @@ snapshots: dotignore@0.1.2: dependencies: - minimatch: 3.1.2 + minimatch: 9.0.5 dpdm@3.14.0: dependencies: @@ -25085,7 +25046,7 @@ snapshots: http-errors: 1.8.1 joi: 17.13.3 jose: 2.0.7 - on-headers: 1.0.2 + on-headers: 1.1.0 openid-client: 4.9.1 url-join: 4.0.1 transitivePeerDependencies: @@ -25431,20 +25392,6 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@3.0.3: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - mime-types: 2.1.35 - - form-data@4.0.2: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - mime-types: 2.1.35 - form-data@4.0.4: dependencies: asynckit: 0.4.0 @@ -25712,7 +25659,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 9.0.5 once: 1.4.0 path-is-absolute: 1.0.1 @@ -26995,7 +26942,7 @@ snapshots: decimal.js: 10.5.0 domexception: 2.0.1 escodegen: 2.1.0 - form-data: 3.0.3 + form-data: 4.0.4 html-encoding-sniffer: 2.0.1 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.1 @@ -27979,10 +27926,6 @@ snapshots: minimalistic-assert@1.0.1: {} - minimatch@3.0.4: - dependencies: - brace-expansion: 1.1.12 - minimatch@3.0.8: dependencies: brace-expansion: 1.1.12 @@ -28127,7 +28070,7 @@ snapshots: he: 1.2.0 js-yaml: 3.13.1 log-symbols: 3.0.0 - minimatch: 3.0.4 + minimatch: 9.0.5 mkdirp: 0.5.5 ms: 2.1.1 node-environment-flags: 1.0.6 @@ -28523,8 +28466,6 @@ snapshots: dependencies: ee-first: 1.1.1 - on-headers@1.0.2: {} - on-headers@1.1.0: {} once@1.4.0: @@ -29732,8 +29673,10 @@ snapshots: pump: 3.0.2 rc: 1.2.8 simple-get: 4.0.1 - tar-fs: 2.1.2 + tar-fs: 3.1.0 tunnel-agent: 0.6.0 + transitivePeerDependencies: + - bare-buffer prelude-ls@1.2.1: {} @@ -30989,6 +30932,7 @@ snapshots: optionalDependencies: node-gyp: 8.4.1 transitivePeerDependencies: + - bare-buffer - bluebird - supports-color @@ -31525,13 +31469,6 @@ snapshots: resolve: 1.22.10 string.prototype.trim: 1.2.10 - tar-fs@2.1.2: - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.2 - tar-stream: 2.2.0 - tar-fs@3.1.0: dependencies: pump: 3.0.3 @@ -31632,7 +31569,7 @@ snapshots: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 - minimatch: 3.1.2 + minimatch: 9.0.5 test-exclude@7.0.1: dependencies: From fb1a7239ce7a26044c3d85539bb2a73fe870dc61 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 02:07:19 +0000 Subject: [PATCH 086/505] chore(deps): update dependency @types/tabulator-tables to v6.2.8 --- apps/client/package.json | 2 +- pnpm-lock.yaml | 64 +++++++++++++++++++++++++++------------- 2 files changed, 44 insertions(+), 22 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index 26536f888..c2404fd32 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -64,7 +64,7 @@ "@types/leaflet": "1.9.20", "@types/leaflet-gpx": "1.3.7", "@types/mark.js": "8.11.12", - "@types/tabulator-tables": "6.2.7", + "@types/tabulator-tables": "6.2.8", "copy-webpack-plugin": "13.0.0", "happy-dom": "18.0.1", "script-loader": "0.7.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index da6c634c1..24a01cdf1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -318,8 +318,8 @@ importers: specifier: 8.11.12 version: 8.11.12 '@types/tabulator-tables': - specifier: 6.2.7 - version: 6.2.7 + specifier: 6.2.8 + version: 6.2.8 copy-webpack-plugin: specifier: 13.0.0 version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) @@ -5778,8 +5778,8 @@ packages: '@types/swagger-ui@5.21.1': resolution: {integrity: sha512-DUmUH59eeOtvAqcWwBduH2ws0cc5i95KHsXCS4FsOfbUq/clW8TN+HqRBj7q5p9MSsSNK43RziIGItNbrAGLxg==} - '@types/tabulator-tables@6.2.7': - resolution: {integrity: sha512-c4itwLSnOwb+hj3mZl3QZSVrAHZb2XL9hUj2UsP5vkqPzZpKM1Iiak4GGVfv1cXHwqmj1igEEdG59V69KsKyGw==} + '@types/tabulator-tables@6.2.8': + resolution: {integrity: sha512-AhyqabOXLW3k8685sOWtNAY6hrUZqabysGvEsdIuIXpFViSK/cFziiafztsP/Tveh03qqIKsXu60Mw145o9g4w==} '@types/tmp@0.2.6': resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==} @@ -16362,8 +16362,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16488,16 +16486,12 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-cloud-services@46.0.0': dependencies: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -16717,8 +16711,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -16728,8 +16720,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -16739,8 +16729,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -16774,6 +16762,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -16830,6 +16820,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -16854,8 +16846,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -16919,8 +16909,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -16980,6 +16968,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -16991,6 +16981,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-inspector@5.0.0': {} @@ -17000,6 +16992,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-line-height@46.0.0': dependencies: @@ -17023,6 +17017,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-list-multi-level@46.0.0': dependencies: @@ -17046,6 +17042,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-markdown-gfm@46.0.0': dependencies: @@ -17083,6 +17081,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17092,6 +17092,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-merge-fields@46.0.0': dependencies: @@ -17104,6 +17106,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17112,6 +17116,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-operations-compressor@46.0.0': dependencies: @@ -17164,6 +17170,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-pagination@46.0.0': dependencies: @@ -17270,6 +17278,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@46.0.0': dependencies: @@ -17282,6 +17292,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.0.0': dependencies: @@ -17329,6 +17341,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-table@46.0.0': dependencies: @@ -17341,6 +17355,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-template@46.0.0': dependencies: @@ -17451,6 +17467,8 @@ snapshots: '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-widget@46.0.0': dependencies: @@ -17470,6 +17488,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@codemirror/autocomplete@6.18.6': dependencies: @@ -21480,7 +21500,7 @@ snapshots: '@types/swagger-ui@5.21.1': {} - '@types/tabulator-tables@6.2.7': {} + '@types/tabulator-tables@6.2.8': {} '@types/tmp@0.2.6': {} @@ -23135,6 +23155,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: From a6d024123e9c5569a712d03bce0f2fff23aba31b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 02:08:10 +0000 Subject: [PATCH 087/505] chore(deps): update dependency electron to v37.2.4 --- apps/desktop-e2e/package.json | 2 +- apps/desktop/package.json | 2 +- apps/edit-docs/package.json | 2 +- apps/server/package.json | 2 +- pnpm-lock.yaml | 86 +++++++++++++++++++++-------------- 5 files changed, 57 insertions(+), 37 deletions(-) diff --git a/apps/desktop-e2e/package.json b/apps/desktop-e2e/package.json index 7e00f54aa..a059e8f9d 100644 --- a/apps/desktop-e2e/package.json +++ b/apps/desktop-e2e/package.json @@ -19,6 +19,6 @@ }, "devDependencies": { "dotenv": "17.2.0", - "electron": "37.2.3" + "electron": "37.2.4" } } diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 55080a696..af17db6c8 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -17,7 +17,7 @@ "@types/electron-squirrel-startup": "1.0.2", "@triliumnext/server": "workspace:*", "copy-webpack-plugin": "13.0.0", - "electron": "37.2.3", + "electron": "37.2.4", "@electron-forge/cli": "7.8.1", "@electron-forge/maker-deb": "7.8.1", "@electron-forge/maker-dmg": "7.8.1", diff --git a/apps/edit-docs/package.json b/apps/edit-docs/package.json index 4da93e750..ef5613033 100644 --- a/apps/edit-docs/package.json +++ b/apps/edit-docs/package.json @@ -12,7 +12,7 @@ "@triliumnext/desktop": "workspace:*", "@types/fs-extra": "11.0.4", "copy-webpack-plugin": "13.0.0", - "electron": "37.2.3", + "electron": "37.2.4", "fs-extra": "11.3.0" }, "nx": { diff --git a/apps/server/package.json b/apps/server/package.json index 0e753ed1a..c00114e0e 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -59,7 +59,7 @@ "debounce": "2.2.0", "debug": "4.4.1", "ejs": "3.1.10", - "electron": "37.2.3", + "electron": "37.2.4", "electron-debug": "4.1.0", "electron-window-state": "5.0.3", "escape-html": "1.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index da6c634c1..d1fc228e5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -352,7 +352,7 @@ importers: dependencies: '@electron/remote': specifier: 2.1.3 - version: 2.1.3(electron@37.2.3) + version: 2.1.3(electron@37.2.4) better-sqlite3: specifier: ^12.0.0 version: 12.2.0 @@ -406,8 +406,8 @@ importers: specifier: 13.0.0 version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) electron: - specifier: 37.2.3 - version: 37.2.3 + specifier: 37.2.4 + version: 37.2.4 prebuild-install: specifier: ^7.1.1 version: 7.1.3 @@ -418,8 +418,8 @@ importers: specifier: 17.2.0 version: 17.2.0 electron: - specifier: 37.2.3 - version: 37.2.3 + specifier: 37.2.4 + version: 37.2.4 apps/dump-db: dependencies: @@ -471,8 +471,8 @@ importers: specifier: 13.0.0 version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) electron: - specifier: 37.2.3 - version: 37.2.3 + specifier: 37.2.4 + version: 37.2.4 fs-extra: specifier: 11.3.0 version: 11.3.0 @@ -491,7 +491,7 @@ importers: version: 7.1.1 '@electron/remote': specifier: 2.1.3 - version: 2.1.3(electron@37.2.3) + version: 2.1.3(electron@37.2.4) '@triliumnext/commons': specifier: workspace:* version: link:../../packages/commons @@ -637,8 +637,8 @@ importers: specifier: 3.1.10 version: 3.1.10 electron: - specifier: 37.2.3 - version: 37.2.3 + specifier: 37.2.4 + version: 37.2.4 electron-debug: specifier: 4.1.0 version: 4.1.0 @@ -8198,8 +8198,8 @@ packages: resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} engines: {node: '>=8.0.0'} - electron@37.2.3: - resolution: {integrity: sha512-JRKKn8cRDXDfkC+oWISbYs+c+L6RA776JM0NiB9bn2yV8H/LnBUlVPzKKfsXgrUIokN4YcbCw694vfAdEJwtGw==} + electron@37.2.4: + resolution: {integrity: sha512-F1WDDvY60TpFwGyW+evNB5q0Em8PamcDTVIKB2NaiaKEbNC2Fabn8Wyxy5g+Anirr1K40eKGjfSJhWEUbI1TOw==} engines: {node: '>= 12.20.55'} hasBin: true @@ -16362,8 +16362,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16488,16 +16486,12 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-cloud-services@46.0.0': dependencies: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -16557,8 +16551,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-watchdog': 46.0.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.8.3)': dependencies: @@ -16717,8 +16709,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -16728,8 +16718,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -16739,8 +16727,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -16774,6 +16760,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -16830,6 +16818,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -16854,8 +16844,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -16919,8 +16907,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -16980,6 +16966,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -16991,6 +16979,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-inspector@5.0.0': {} @@ -17000,6 +16990,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-line-height@46.0.0': dependencies: @@ -17023,6 +17015,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-list-multi-level@46.0.0': dependencies: @@ -17046,6 +17040,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-markdown-gfm@46.0.0': dependencies: @@ -17083,6 +17079,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17092,6 +17090,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-merge-fields@46.0.0': dependencies: @@ -17104,6 +17104,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17112,6 +17114,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-operations-compressor@46.0.0': dependencies: @@ -17164,6 +17168,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-pagination@46.0.0': dependencies: @@ -17270,6 +17276,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@46.0.0': dependencies: @@ -17282,6 +17290,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.0.0': dependencies: @@ -17329,6 +17339,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-table@46.0.0': dependencies: @@ -17341,6 +17353,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-template@46.0.0': dependencies: @@ -17451,6 +17465,8 @@ snapshots: '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-widget@46.0.0': dependencies: @@ -17470,6 +17486,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@codemirror/autocomplete@6.18.6': dependencies: @@ -18028,9 +18046,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@electron/remote@2.1.3(electron@37.2.3)': + '@electron/remote@2.1.3(electron@37.2.4)': dependencies: - electron: 37.2.3 + electron: 37.2.4 '@electron/universal@2.0.2': dependencies: @@ -23135,6 +23153,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -24553,7 +24573,7 @@ snapshots: - supports-color optional: true - electron@37.2.3: + electron@37.2.4: dependencies: '@electron/get': 2.0.3 '@types/node': 22.16.5 From 1f29b000a958113bd36e434af7406a3b87a9d253 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 02:10:42 +0000 Subject: [PATCH 088/505] chore(deps): update dependency vite to v7.0.5 --- pnpm-lock.yaml | 710 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 505 insertions(+), 205 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index da6c634c1..3ac23abe1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -69,7 +69,7 @@ importers: version: 21.3.2(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/vite': specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) '@nx/web': specifier: 21.3.2 version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) @@ -132,7 +132,7 @@ importers: version: 0.17.0 rollup-plugin-webpack-stats: specifier: 2.1.0 - version: 2.1.0(rollup@4.44.2)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.1.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) tslib: specifier: ^2.3.0 version: 2.8.1 @@ -150,10 +150,10 @@ importers: version: 2.0.1 vite: specifier: ^7.0.0 - version: 7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vite-plugin-dts: specifier: ~4.5.0 - version: 4.5.4(@types/node@22.16.5)(rollup@4.44.2)(typescript@5.8.3)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 4.5.4(@types/node@22.16.5)(rollup@4.45.1)(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.0 version: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -331,7 +331,7 @@ importers: version: 0.7.2 vite-plugin-static-copy: specifier: 3.1.1 - version: 3.1.1(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 3.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) apps/db-compare: dependencies: @@ -807,19 +807,19 @@ importers: version: 9.31.0 '@sveltejs/adapter-auto': specifier: ^6.0.0 - version: 6.0.1(@sveltejs/kit@2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) + version: 6.0.1(@sveltejs/kit@2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@sveltejs/vite-plugin-svelte': specifier: ^6.0.0 - version: 6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@tailwindcss/typography': specifier: ^0.5.15 version: 0.5.16(tailwindcss@4.1.11) '@tailwindcss/vite': specifier: ^4.0.0 - version: 4.1.11(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 4.1.11(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) eslint: specifier: ^9.18.0 version: 9.31.0(jiti@2.4.2) @@ -837,7 +837,7 @@ importers: version: 5.36.2 svelte-check: specifier: ^4.0.0 - version: 4.2.2(picomatch@4.0.2)(svelte@5.36.2)(typescript@5.8.3) + version: 4.2.2(picomatch@4.0.3)(svelte@5.36.2)(typescript@5.8.3) tailwindcss: specifier: ^4.0.0 version: 4.1.11 @@ -849,7 +849,7 @@ importers: version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) vite: specifier: ^7.0.0 - version: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) packages/ckeditor5: dependencies: @@ -958,7 +958,7 @@ importers: version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -991,7 +991,7 @@ importers: version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -1018,7 +1018,7 @@ importers: version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1051,7 +1051,7 @@ importers: version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -1085,7 +1085,7 @@ importers: version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1118,7 +1118,7 @@ importers: version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -1152,7 +1152,7 @@ importers: version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1185,7 +1185,7 @@ importers: version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -2190,8 +2190,8 @@ packages: '@braintree/sanitize-url@7.1.1': resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} - '@bufbuild/protobuf@2.6.0': - resolution: {integrity: sha512-6cuonJVNOIL7lTj5zgo/Rc2bKAo4/GvN+rKCrUj7GdEHRzCk8zKOfFwUsL9nAVk5rSIsRmlgcpLzTRysopEeeg==} + '@bufbuild/protobuf@2.6.2': + resolution: {integrity: sha512-vLu7SRY84CV/Dd+NUdgtidn2hS5hSMUC1vDBY0VcviTdgRYkU43vIz3vIFbmx14cX1r+mM7WjzE5Fl1fGEM0RQ==} '@bundled-es-modules/cookie@2.0.1': resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} @@ -2798,6 +2798,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.8': + resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.25.5': resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==} engines: {node: '>=18'} @@ -2810,6 +2816,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.8': + resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.25.5': resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==} engines: {node: '>=18'} @@ -2822,6 +2834,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.8': + resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.25.5': resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==} engines: {node: '>=18'} @@ -2834,6 +2852,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.8': + resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.25.5': resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==} engines: {node: '>=18'} @@ -2846,6 +2870,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.8': + resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.25.5': resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==} engines: {node: '>=18'} @@ -2858,6 +2888,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.8': + resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.25.5': resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==} engines: {node: '>=18'} @@ -2870,6 +2906,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.8': + resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.25.5': resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==} engines: {node: '>=18'} @@ -2882,6 +2924,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.8': + resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.25.5': resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==} engines: {node: '>=18'} @@ -2894,6 +2942,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.8': + resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.25.5': resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==} engines: {node: '>=18'} @@ -2906,6 +2960,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.8': + resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.25.5': resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==} engines: {node: '>=18'} @@ -2918,6 +2978,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.8': + resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.25.5': resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==} engines: {node: '>=18'} @@ -2930,6 +2996,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.8': + resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.25.5': resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==} engines: {node: '>=18'} @@ -2942,6 +3014,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.8': + resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.25.5': resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==} engines: {node: '>=18'} @@ -2954,6 +3032,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.8': + resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.25.5': resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==} engines: {node: '>=18'} @@ -2966,6 +3050,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.8': + resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.25.5': resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==} engines: {node: '>=18'} @@ -2978,6 +3068,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.8': + resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.25.5': resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==} engines: {node: '>=18'} @@ -2990,6 +3086,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.8': + resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.25.5': resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==} engines: {node: '>=18'} @@ -3002,6 +3104,12 @@ packages: cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.25.8': + resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.25.5': resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==} engines: {node: '>=18'} @@ -3014,6 +3122,12 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.8': + resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.25.5': resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==} engines: {node: '>=18'} @@ -3026,6 +3140,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.25.8': + resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.25.5': resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==} engines: {node: '>=18'} @@ -3038,12 +3158,24 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.8': + resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/openharmony-arm64@0.25.6': resolution: {integrity: sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] + '@esbuild/openharmony-arm64@0.25.8': + resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/sunos-x64@0.25.5': resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==} engines: {node: '>=18'} @@ -3056,6 +3188,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.8': + resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.25.5': resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==} engines: {node: '>=18'} @@ -3068,6 +3206,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.8': + resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.25.5': resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==} engines: {node: '>=18'} @@ -3080,6 +3224,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.8': + resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.25.5': resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==} engines: {node: '>=18'} @@ -3092,6 +3242,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.25.8': + resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.7.0': resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3445,8 +3601,8 @@ packages: resolution: {integrity: sha512-cvz/C1rF5WBxzHbEoiBoI6Sz6q6M+TdxfWkEGBYTD77opY8i8WN01prUWXEM87GPF4SZcyIySez9U0Ccm12oFQ==} engines: {node: '>=18.0.0'} - '@inquirer/confirm@5.1.13': - resolution: {integrity: sha512-EkCtvp67ICIVVzjsquUiVSd+V5HRGOGQfsqA4E4vMWhYnB7InUL0pa0TIWt1i+OfP16Gkds8CdIu6yGZwOM1Yw==} + '@inquirer/confirm@5.1.14': + resolution: {integrity: sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -3454,8 +3610,8 @@ packages: '@types/node': optional: true - '@inquirer/core@10.1.14': - resolution: {integrity: sha512-Ma+ZpOJPewtIYl6HZHZckeX1STvDnHTCB2GVINNUlSEn2Am6LddWwfPkIGY0IUFVjUUrr/93XlBwTK6mfLjf0A==} + '@inquirer/core@10.1.15': + resolution: {integrity: sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -3463,12 +3619,12 @@ packages: '@types/node': optional: true - '@inquirer/figures@1.0.12': - resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==} + '@inquirer/figures@1.0.13': + resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} engines: {node: '>=18'} - '@inquirer/type@3.0.7': - resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==} + '@inquirer/type@3.0.8': + resolution: {integrity: sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -4617,8 +4773,8 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.44.2': - resolution: {integrity: sha512-g0dF8P1e2QYPOj1gu7s/3LVP6kze9A7m6x0BZ9iTdXK8N5c2V7cpBKHV3/9A4Zd8xxavdhK0t4PnqjkqVmUc9Q==} + '@rollup/rollup-android-arm-eabi@4.45.1': + resolution: {integrity: sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==} cpu: [arm] os: [android] @@ -4627,8 +4783,8 @@ packages: cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.44.2': - resolution: {integrity: sha512-Yt5MKrOosSbSaAK5Y4J+vSiID57sOvpBNBR6K7xAaQvk3MkcNVV0f9fE20T+41WYN8hDn6SGFlFrKudtx4EoxA==} + '@rollup/rollup-android-arm64@4.45.1': + resolution: {integrity: sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==} cpu: [arm64] os: [android] @@ -4637,8 +4793,8 @@ packages: cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.44.2': - resolution: {integrity: sha512-EsnFot9ZieM35YNA26nhbLTJBHD0jTwWpPwmRVDzjylQT6gkar+zenfb8mHxWpRrbn+WytRRjE0WKsfaxBkVUA==} + '@rollup/rollup-darwin-arm64@4.45.1': + resolution: {integrity: sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==} cpu: [arm64] os: [darwin] @@ -4647,8 +4803,8 @@ packages: cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.44.2': - resolution: {integrity: sha512-dv/t1t1RkCvJdWWxQ2lWOO+b7cMsVw5YFaS04oHpZRWehI1h0fV1gF4wgGCTyQHHjJDfbNpwOi6PXEafRBBezw==} + '@rollup/rollup-darwin-x64@4.45.1': + resolution: {integrity: sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==} cpu: [x64] os: [darwin] @@ -4657,8 +4813,8 @@ packages: cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.44.2': - resolution: {integrity: sha512-W4tt4BLorKND4qeHElxDoim0+BsprFTwb+vriVQnFFtT/P6v/xO5I99xvYnVzKWrK6j7Hb0yp3x7V5LUbaeOMg==} + '@rollup/rollup-freebsd-arm64@4.45.1': + resolution: {integrity: sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==} cpu: [arm64] os: [freebsd] @@ -4667,8 +4823,8 @@ packages: cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.44.2': - resolution: {integrity: sha512-tdT1PHopokkuBVyHjvYehnIe20fxibxFCEhQP/96MDSOcyjM/shlTkZZLOufV3qO6/FQOSiJTBebhVc12JyPTA==} + '@rollup/rollup-freebsd-x64@4.45.1': + resolution: {integrity: sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==} cpu: [x64] os: [freebsd] @@ -4677,8 +4833,8 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.44.2': - resolution: {integrity: sha512-+xmiDGGaSfIIOXMzkhJ++Oa0Gwvl9oXUeIiwarsdRXSe27HUIvjbSIpPxvnNsRebsNdUo7uAiQVgBD1hVriwSQ==} + '@rollup/rollup-linux-arm-gnueabihf@4.45.1': + resolution: {integrity: sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==} cpu: [arm] os: [linux] @@ -4687,8 +4843,8 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.44.2': - resolution: {integrity: sha512-bDHvhzOfORk3wt8yxIra8N4k/N0MnKInCW5OGZaeDYa/hMrdPaJzo7CSkjKZqX4JFUWjUGm88lI6QJLCM7lDrA==} + '@rollup/rollup-linux-arm-musleabihf@4.45.1': + resolution: {integrity: sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==} cpu: [arm] os: [linux] @@ -4697,8 +4853,8 @@ packages: cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.44.2': - resolution: {integrity: sha512-NMsDEsDiYghTbeZWEGnNi4F0hSbGnsuOG+VnNvxkKg0IGDvFh7UVpM/14mnMwxRxUf9AdAVJgHPvKXf6FpMB7A==} + '@rollup/rollup-linux-arm64-gnu@4.45.1': + resolution: {integrity: sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==} cpu: [arm64] os: [linux] @@ -4707,8 +4863,8 @@ packages: cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.44.2': - resolution: {integrity: sha512-lb5bxXnxXglVq+7imxykIp5xMq+idehfl+wOgiiix0191av84OqbjUED+PRC5OA8eFJYj5xAGcpAZ0pF2MnW+A==} + '@rollup/rollup-linux-arm64-musl@4.45.1': + resolution: {integrity: sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==} cpu: [arm64] os: [linux] @@ -4717,8 +4873,8 @@ packages: cpu: [loong64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.44.2': - resolution: {integrity: sha512-Yl5Rdpf9pIc4GW1PmkUGHdMtbx0fBLE1//SxDmuf3X0dUC57+zMepow2LK0V21661cjXdTn8hO2tXDdAWAqE5g==} + '@rollup/rollup-linux-loongarch64-gnu@4.45.1': + resolution: {integrity: sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==} cpu: [loong64] os: [linux] @@ -4727,8 +4883,8 @@ packages: cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.44.2': - resolution: {integrity: sha512-03vUDH+w55s680YYryyr78jsO1RWU9ocRMaeV2vMniJJW/6HhoTBwyyiiTPVHNWLnhsnwcQ0oH3S9JSBEKuyqw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': + resolution: {integrity: sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==} cpu: [ppc64] os: [linux] @@ -4737,8 +4893,8 @@ packages: cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.44.2': - resolution: {integrity: sha512-iYtAqBg5eEMG4dEfVlkqo05xMOk6y/JXIToRca2bAWuqjrJYJlx/I7+Z+4hSrsWU8GdJDFPL4ktV3dy4yBSrzg==} + '@rollup/rollup-linux-riscv64-gnu@4.45.1': + resolution: {integrity: sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==} cpu: [riscv64] os: [linux] @@ -4747,8 +4903,8 @@ packages: cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.44.2': - resolution: {integrity: sha512-e6vEbgaaqz2yEHqtkPXa28fFuBGmUJ0N2dOJK8YUfijejInt9gfCSA7YDdJ4nYlv67JfP3+PSWFX4IVw/xRIPg==} + '@rollup/rollup-linux-riscv64-musl@4.45.1': + resolution: {integrity: sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==} cpu: [riscv64] os: [linux] @@ -4757,8 +4913,8 @@ packages: cpu: [s390x] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.44.2': - resolution: {integrity: sha512-evFOtkmVdY3udE+0QKrV5wBx7bKI0iHz5yEVx5WqDJkxp9YQefy4Mpx3RajIVcM6o7jxTvVd/qpC1IXUhGc1Mw==} + '@rollup/rollup-linux-s390x-gnu@4.45.1': + resolution: {integrity: sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==} cpu: [s390x] os: [linux] @@ -4767,8 +4923,8 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.44.2': - resolution: {integrity: sha512-/bXb0bEsWMyEkIsUL2Yt5nFB5naLAwyOWMEviQfQY1x3l5WsLKgvZf66TM7UTfED6erckUVUJQ/jJ1FSpm3pRQ==} + '@rollup/rollup-linux-x64-gnu@4.45.1': + resolution: {integrity: sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==} cpu: [x64] os: [linux] @@ -4777,8 +4933,8 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.44.2': - resolution: {integrity: sha512-3D3OB1vSSBXmkGEZR27uiMRNiwN08/RVAcBKwhUYPaiZ8bcvdeEwWPvbnXvvXHY+A/7xluzcN+kaiOFNiOZwWg==} + '@rollup/rollup-linux-x64-musl@4.45.1': + resolution: {integrity: sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==} cpu: [x64] os: [linux] @@ -4787,8 +4943,8 @@ packages: cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.44.2': - resolution: {integrity: sha512-VfU0fsMK+rwdK8mwODqYeM2hDrF2WiHaSmCBrS7gColkQft95/8tphyzv2EupVxn3iE0FI78wzffoULH1G+dkw==} + '@rollup/rollup-win32-arm64-msvc@4.45.1': + resolution: {integrity: sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==} cpu: [arm64] os: [win32] @@ -4797,8 +4953,8 @@ packages: cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.44.2': - resolution: {integrity: sha512-+qMUrkbUurpE6DVRjiJCNGZBGo9xM4Y0FXU5cjgudWqIBWbcLkjE3XprJUsOFgC6xjBClwVa9k6O3A7K3vxb5Q==} + '@rollup/rollup-win32-ia32-msvc@4.45.1': + resolution: {integrity: sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==} cpu: [ia32] os: [win32] @@ -4807,8 +4963,8 @@ packages: cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.44.2': - resolution: {integrity: sha512-3+QZROYfJ25PDcxFF66UEk8jGWigHJeecZILvkPkyQN7oc5BvFo4YEXFkOs154j3FTMp9mn9Ky8RCOwastduEA==} + '@rollup/rollup-win32-x64-msvc@4.45.1': + resolution: {integrity: sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==} cpu: [x64] os: [win32] @@ -8359,6 +8515,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.25.8: + resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -11507,6 +11668,10 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} @@ -12890,8 +13055,8 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.44.2: - resolution: {integrity: sha512-PVoapzTwSEcelaWGth3uR66u7ZRo6qhPHc0f2uRO9fX6XDVNrIiGYS0Pj9+R8yIIYSD/mCx2b16Ws9itljKSPg==} + rollup@4.45.1: + resolution: {integrity: sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -14534,8 +14699,8 @@ packages: yaml: optional: true - vite@7.0.4: - resolution: {integrity: sha512-SkaSguuS7nnmV7mfJ8l81JGBFV7Gvzp8IzgE8A8t23+AxuNX61Q5H1Tpz5efduSN7NHC8nQXD3sKQKZAu5mNEA==} + vite@7.0.5: + resolution: {integrity: sha512-1mncVwJxy2C9ThLwz0+2GKZyEXuC3MyWtAAlNftlZZXZDP3AJt5FmwcMit/IGGaNZ8ZOB2BNO/HFUB+CpN0NQw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -16307,7 +16472,7 @@ snapshots: '@braintree/sanitize-url@7.1.1': {} - '@bufbuild/protobuf@2.6.0': + '@bufbuild/protobuf@2.6.2': optional: true '@bundled-es-modules/cookie@2.0.1': @@ -16362,8 +16527,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16488,16 +16651,12 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-cloud-services@46.0.0': dependencies: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -16717,8 +16876,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -16728,8 +16885,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -16739,8 +16894,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -16774,6 +16927,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -16830,6 +16985,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -16854,8 +17011,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -16919,8 +17074,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -16980,6 +17133,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -16991,6 +17146,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-inspector@5.0.0': {} @@ -17000,6 +17157,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-line-height@46.0.0': dependencies: @@ -17023,6 +17182,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-list-multi-level@46.0.0': dependencies: @@ -17046,6 +17207,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-markdown-gfm@46.0.0': dependencies: @@ -17083,6 +17246,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17092,6 +17257,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-merge-fields@46.0.0': dependencies: @@ -17104,6 +17271,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17112,6 +17281,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-operations-compressor@46.0.0': dependencies: @@ -17164,6 +17335,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-pagination@46.0.0': dependencies: @@ -17270,6 +17443,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@46.0.0': dependencies: @@ -17282,6 +17457,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.0.0': dependencies: @@ -17329,6 +17506,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-table@46.0.0': dependencies: @@ -17341,6 +17520,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-template@46.0.0': dependencies: @@ -17451,6 +17632,8 @@ snapshots: '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-widget@46.0.0': dependencies: @@ -17470,6 +17653,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@codemirror/autocomplete@6.18.6': dependencies: @@ -18081,153 +18266,231 @@ snapshots: '@esbuild/aix-ppc64@0.25.6': optional: true + '@esbuild/aix-ppc64@0.25.8': + optional: true + '@esbuild/android-arm64@0.25.5': optional: true '@esbuild/android-arm64@0.25.6': optional: true + '@esbuild/android-arm64@0.25.8': + optional: true + '@esbuild/android-arm@0.25.5': optional: true '@esbuild/android-arm@0.25.6': optional: true + '@esbuild/android-arm@0.25.8': + optional: true + '@esbuild/android-x64@0.25.5': optional: true '@esbuild/android-x64@0.25.6': optional: true + '@esbuild/android-x64@0.25.8': + optional: true + '@esbuild/darwin-arm64@0.25.5': optional: true '@esbuild/darwin-arm64@0.25.6': optional: true + '@esbuild/darwin-arm64@0.25.8': + optional: true + '@esbuild/darwin-x64@0.25.5': optional: true '@esbuild/darwin-x64@0.25.6': optional: true + '@esbuild/darwin-x64@0.25.8': + optional: true + '@esbuild/freebsd-arm64@0.25.5': optional: true '@esbuild/freebsd-arm64@0.25.6': optional: true + '@esbuild/freebsd-arm64@0.25.8': + optional: true + '@esbuild/freebsd-x64@0.25.5': optional: true '@esbuild/freebsd-x64@0.25.6': optional: true + '@esbuild/freebsd-x64@0.25.8': + optional: true + '@esbuild/linux-arm64@0.25.5': optional: true '@esbuild/linux-arm64@0.25.6': optional: true + '@esbuild/linux-arm64@0.25.8': + optional: true + '@esbuild/linux-arm@0.25.5': optional: true '@esbuild/linux-arm@0.25.6': optional: true + '@esbuild/linux-arm@0.25.8': + optional: true + '@esbuild/linux-ia32@0.25.5': optional: true '@esbuild/linux-ia32@0.25.6': optional: true + '@esbuild/linux-ia32@0.25.8': + optional: true + '@esbuild/linux-loong64@0.25.5': optional: true '@esbuild/linux-loong64@0.25.6': optional: true + '@esbuild/linux-loong64@0.25.8': + optional: true + '@esbuild/linux-mips64el@0.25.5': optional: true '@esbuild/linux-mips64el@0.25.6': optional: true + '@esbuild/linux-mips64el@0.25.8': + optional: true + '@esbuild/linux-ppc64@0.25.5': optional: true '@esbuild/linux-ppc64@0.25.6': optional: true + '@esbuild/linux-ppc64@0.25.8': + optional: true + '@esbuild/linux-riscv64@0.25.5': optional: true '@esbuild/linux-riscv64@0.25.6': optional: true + '@esbuild/linux-riscv64@0.25.8': + optional: true + '@esbuild/linux-s390x@0.25.5': optional: true '@esbuild/linux-s390x@0.25.6': optional: true + '@esbuild/linux-s390x@0.25.8': + optional: true + '@esbuild/linux-x64@0.25.5': optional: true '@esbuild/linux-x64@0.25.6': optional: true + '@esbuild/linux-x64@0.25.8': + optional: true + '@esbuild/netbsd-arm64@0.25.5': optional: true '@esbuild/netbsd-arm64@0.25.6': optional: true + '@esbuild/netbsd-arm64@0.25.8': + optional: true + '@esbuild/netbsd-x64@0.25.5': optional: true '@esbuild/netbsd-x64@0.25.6': optional: true + '@esbuild/netbsd-x64@0.25.8': + optional: true + '@esbuild/openbsd-arm64@0.25.5': optional: true '@esbuild/openbsd-arm64@0.25.6': optional: true + '@esbuild/openbsd-arm64@0.25.8': + optional: true + '@esbuild/openbsd-x64@0.25.5': optional: true '@esbuild/openbsd-x64@0.25.6': optional: true + '@esbuild/openbsd-x64@0.25.8': + optional: true + '@esbuild/openharmony-arm64@0.25.6': optional: true + '@esbuild/openharmony-arm64@0.25.8': + optional: true + '@esbuild/sunos-x64@0.25.5': optional: true '@esbuild/sunos-x64@0.25.6': optional: true + '@esbuild/sunos-x64@0.25.8': + optional: true + '@esbuild/win32-arm64@0.25.5': optional: true '@esbuild/win32-arm64@0.25.6': optional: true + '@esbuild/win32-arm64@0.25.8': + optional: true + '@esbuild/win32-ia32@0.25.5': optional: true '@esbuild/win32-ia32@0.25.6': optional: true + '@esbuild/win32-ia32@0.25.8': + optional: true + '@esbuild/win32-x64@0.25.5': optional: true '@esbuild/win32-x64@0.25.6': optional: true + '@esbuild/win32-x64@0.25.8': + optional: true + '@eslint-community/eslint-utils@4.7.0(eslint@9.31.0(jiti@2.4.2))': dependencies: eslint: 9.31.0(jiti@2.4.2) @@ -18621,26 +18884,26 @@ snapshots: transitivePeerDependencies: - babel-plugin-macros - '@inquirer/confirm@5.1.13(@types/node@22.16.5)': + '@inquirer/confirm@5.1.14(@types/node@22.16.5)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.16.5) - '@inquirer/type': 3.0.7(@types/node@22.16.5) + '@inquirer/core': 10.1.15(@types/node@22.16.5) + '@inquirer/type': 3.0.8(@types/node@22.16.5) optionalDependencies: '@types/node': 22.16.5 optional: true - '@inquirer/confirm@5.1.13(@types/node@24.0.12)': + '@inquirer/confirm@5.1.14(@types/node@24.0.12)': dependencies: - '@inquirer/core': 10.1.14(@types/node@24.0.12) - '@inquirer/type': 3.0.7(@types/node@24.0.12) + '@inquirer/core': 10.1.15(@types/node@24.0.12) + '@inquirer/type': 3.0.8(@types/node@24.0.12) optionalDependencies: '@types/node': 24.0.12 optional: true - '@inquirer/core@10.1.14(@types/node@22.16.5)': + '@inquirer/core@10.1.15(@types/node@22.16.5)': dependencies: - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@22.16.5) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@22.16.5) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -18651,10 +18914,10 @@ snapshots: '@types/node': 22.16.5 optional: true - '@inquirer/core@10.1.14(@types/node@24.0.12)': + '@inquirer/core@10.1.15(@types/node@24.0.12)': dependencies: - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@24.0.12) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@24.0.12) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -18665,15 +18928,15 @@ snapshots: '@types/node': 24.0.12 optional: true - '@inquirer/figures@1.0.12': + '@inquirer/figures@1.0.13': optional: true - '@inquirer/type@3.0.7(@types/node@22.16.5)': + '@inquirer/type@3.0.8(@types/node@22.16.5)': optionalDependencies: '@types/node': 22.16.5 optional: true - '@inquirer/type@3.0.7(@types/node@24.0.12)': + '@inquirer/type@3.0.8(@types/node@24.0.12)': optionalDependencies: '@types/node': 24.0.12 optional: true @@ -19578,7 +19841,7 @@ snapshots: - typescript - verdaccio - '@nx/vite@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': + '@nx/vite@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': dependencies: '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) @@ -19589,7 +19852,7 @@ snapshots: picomatch: 4.0.2 semver: 7.7.2 tsconfig-paths: 4.2.0 - vite: 7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@babel/traverse' @@ -20180,132 +20443,132 @@ snapshots: optionalDependencies: rollup: 4.40.0 - '@rollup/pluginutils@5.1.4(rollup@4.44.2)': + '@rollup/pluginutils@5.1.4(rollup@4.45.1)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.44.2 + rollup: 4.45.1 '@rollup/rollup-android-arm-eabi@4.40.0': optional: true - '@rollup/rollup-android-arm-eabi@4.44.2': + '@rollup/rollup-android-arm-eabi@4.45.1': optional: true '@rollup/rollup-android-arm64@4.40.0': optional: true - '@rollup/rollup-android-arm64@4.44.2': + '@rollup/rollup-android-arm64@4.45.1': optional: true '@rollup/rollup-darwin-arm64@4.40.0': optional: true - '@rollup/rollup-darwin-arm64@4.44.2': + '@rollup/rollup-darwin-arm64@4.45.1': optional: true '@rollup/rollup-darwin-x64@4.40.0': optional: true - '@rollup/rollup-darwin-x64@4.44.2': + '@rollup/rollup-darwin-x64@4.45.1': optional: true '@rollup/rollup-freebsd-arm64@4.40.0': optional: true - '@rollup/rollup-freebsd-arm64@4.44.2': + '@rollup/rollup-freebsd-arm64@4.45.1': optional: true '@rollup/rollup-freebsd-x64@4.40.0': optional: true - '@rollup/rollup-freebsd-x64@4.44.2': + '@rollup/rollup-freebsd-x64@4.45.1': optional: true '@rollup/rollup-linux-arm-gnueabihf@4.40.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.44.2': + '@rollup/rollup-linux-arm-gnueabihf@4.45.1': optional: true '@rollup/rollup-linux-arm-musleabihf@4.40.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.44.2': + '@rollup/rollup-linux-arm-musleabihf@4.45.1': optional: true '@rollup/rollup-linux-arm64-gnu@4.40.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.44.2': + '@rollup/rollup-linux-arm64-gnu@4.45.1': optional: true '@rollup/rollup-linux-arm64-musl@4.40.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.44.2': + '@rollup/rollup-linux-arm64-musl@4.45.1': optional: true '@rollup/rollup-linux-loongarch64-gnu@4.40.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.44.2': + '@rollup/rollup-linux-loongarch64-gnu@4.45.1': optional: true '@rollup/rollup-linux-powerpc64le-gnu@4.40.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.44.2': + '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': optional: true '@rollup/rollup-linux-riscv64-gnu@4.40.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.44.2': + '@rollup/rollup-linux-riscv64-gnu@4.45.1': optional: true '@rollup/rollup-linux-riscv64-musl@4.40.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.44.2': + '@rollup/rollup-linux-riscv64-musl@4.45.1': optional: true '@rollup/rollup-linux-s390x-gnu@4.40.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.44.2': + '@rollup/rollup-linux-s390x-gnu@4.45.1': optional: true '@rollup/rollup-linux-x64-gnu@4.40.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.44.2': + '@rollup/rollup-linux-x64-gnu@4.45.1': optional: true '@rollup/rollup-linux-x64-musl@4.40.0': optional: true - '@rollup/rollup-linux-x64-musl@4.44.2': + '@rollup/rollup-linux-x64-musl@4.45.1': optional: true '@rollup/rollup-win32-arm64-msvc@4.40.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.44.2': + '@rollup/rollup-win32-arm64-msvc@4.45.1': optional: true '@rollup/rollup-win32-ia32-msvc@4.40.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.44.2': + '@rollup/rollup-win32-ia32-msvc@4.45.1': optional: true '@rollup/rollup-win32-x64-msvc@4.40.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.44.2': + '@rollup/rollup-win32-x64-msvc@4.45.1': optional: true '@rushstack/node-core-library@5.13.1(@types/node@22.16.5)': @@ -20705,14 +20968,14 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': + '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': dependencies: - '@sveltejs/kit': 2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/kit': 2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@sveltejs/kit@2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/kit@2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@types/cookie': 0.6.0 acorn: 8.15.0 cookie: 0.7.2 @@ -20725,27 +20988,27 @@ snapshots: set-cookie-parser: 2.7.1 sirv: 3.0.1 svelte: 5.36.2 - vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) svelte: 5.36.2 - vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 svelte: 5.36.2 - vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vitefu: 1.1.1(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitefu: 1.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) transitivePeerDependencies: - supports-color @@ -20912,12 +21175,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.1.11 - '@tailwindcss/vite@4.1.11(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@tailwindcss/vite@4.1.11(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@tailwindcss/node': 4.1.11 '@tailwindcss/oxide': 4.1.11 tailwindcss: 4.1.11 - vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@testing-library/dom@10.4.0': dependencies: @@ -21867,11 +22130,11 @@ snapshots: - bufferutil - utf-8-validate - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 @@ -21908,11 +22171,11 @@ snapshots: - utf-8-validate - vite - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 @@ -21961,7 +22224,7 @@ snapshots: tinyrainbow: 2.0.0 vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) optionalDependencies: - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) transitivePeerDependencies: - supports-color @@ -21982,14 +22245,14 @@ snapshots: msw: 2.7.5(@types/node@22.16.5)(typescript@5.8.3) vite: 7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: msw: 2.7.5(@types/node@22.16.5)(typescript@5.8.3) - vite: 7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) optional: true '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': @@ -22001,14 +22264,14 @@ snapshots: msw: 2.7.5(@types/node@24.0.12)(typescript@5.8.3) vite: 7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: msw: 2.7.5(@types/node@24.0.12)(typescript@5.8.3) - vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -23135,6 +23398,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -24746,7 +25011,7 @@ snapshots: esbuild-loader@4.3.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): dependencies: - esbuild: 0.25.6 + esbuild: 0.25.8 get-tsconfig: 4.10.1 loader-utils: 2.0.4 webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) @@ -24809,6 +25074,35 @@ snapshots: '@esbuild/win32-ia32': 0.25.6 '@esbuild/win32-x64': 0.25.6 + esbuild@0.25.8: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.8 + '@esbuild/android-arm': 0.25.8 + '@esbuild/android-arm64': 0.25.8 + '@esbuild/android-x64': 0.25.8 + '@esbuild/darwin-arm64': 0.25.8 + '@esbuild/darwin-x64': 0.25.8 + '@esbuild/freebsd-arm64': 0.25.8 + '@esbuild/freebsd-x64': 0.25.8 + '@esbuild/linux-arm': 0.25.8 + '@esbuild/linux-arm64': 0.25.8 + '@esbuild/linux-ia32': 0.25.8 + '@esbuild/linux-loong64': 0.25.8 + '@esbuild/linux-mips64el': 0.25.8 + '@esbuild/linux-ppc64': 0.25.8 + '@esbuild/linux-riscv64': 0.25.8 + '@esbuild/linux-s390x': 0.25.8 + '@esbuild/linux-x64': 0.25.8 + '@esbuild/netbsd-arm64': 0.25.8 + '@esbuild/netbsd-x64': 0.25.8 + '@esbuild/openbsd-arm64': 0.25.8 + '@esbuild/openbsd-x64': 0.25.8 + '@esbuild/openharmony-arm64': 0.25.8 + '@esbuild/sunos-x64': 0.25.8 + '@esbuild/win32-arm64': 0.25.8 + '@esbuild/win32-ia32': 0.25.8 + '@esbuild/win32-x64': 0.25.8 + escalade@3.2.0: {} escape-goat@4.0.0: {} @@ -25225,6 +25519,10 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fdir@6.4.6(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 @@ -26797,7 +27095,7 @@ snapshots: chalk: 4.1.2 ci-info: 4.3.0 graceful-fs: 4.2.11 - picomatch: 4.0.2 + picomatch: 4.0.3 jest-validate@30.0.5: dependencies: @@ -28109,7 +28407,7 @@ snapshots: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.13(@types/node@22.16.5) + '@inquirer/confirm': 5.1.14(@types/node@22.16.5) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -28135,7 +28433,7 @@ snapshots: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.13(@types/node@24.0.12) + '@inquirer/confirm': 5.1.14(@types/node@24.0.12) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -28798,6 +29096,8 @@ snapshots: picomatch@4.0.2: {} + picomatch@4.0.3: {} + pidtree@0.6.0: {} pify@2.3.0: {} @@ -30215,10 +30515,10 @@ snapshots: robust-predicates@3.0.2: {} - rollup-plugin-stats@1.4.0(rollup@4.44.2)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + rollup-plugin-stats@1.4.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): optionalDependencies: - rollup: 4.44.2 - vite: 7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + rollup: 4.45.1 + vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) rollup-plugin-styles@4.0.0(rollup@4.40.0): dependencies: @@ -30247,12 +30547,12 @@ snapshots: '@rollup/pluginutils': 5.1.4(rollup@4.40.0) rollup: 4.40.0 - rollup-plugin-webpack-stats@2.1.0(rollup@4.44.2)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + rollup-plugin-webpack-stats@2.1.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: - rollup-plugin-stats: 1.4.0(rollup@4.44.2)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + rollup-plugin-stats: 1.4.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) optionalDependencies: - rollup: 4.44.2 - vite: 7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + rollup: 4.45.1 + vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) rollup@4.40.0: dependencies: @@ -30280,30 +30580,30 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.40.0 fsevents: 2.3.3 - rollup@4.44.2: + rollup@4.45.1: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.44.2 - '@rollup/rollup-android-arm64': 4.44.2 - '@rollup/rollup-darwin-arm64': 4.44.2 - '@rollup/rollup-darwin-x64': 4.44.2 - '@rollup/rollup-freebsd-arm64': 4.44.2 - '@rollup/rollup-freebsd-x64': 4.44.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.44.2 - '@rollup/rollup-linux-arm-musleabihf': 4.44.2 - '@rollup/rollup-linux-arm64-gnu': 4.44.2 - '@rollup/rollup-linux-arm64-musl': 4.44.2 - '@rollup/rollup-linux-loongarch64-gnu': 4.44.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.44.2 - '@rollup/rollup-linux-riscv64-gnu': 4.44.2 - '@rollup/rollup-linux-riscv64-musl': 4.44.2 - '@rollup/rollup-linux-s390x-gnu': 4.44.2 - '@rollup/rollup-linux-x64-gnu': 4.44.2 - '@rollup/rollup-linux-x64-musl': 4.44.2 - '@rollup/rollup-win32-arm64-msvc': 4.44.2 - '@rollup/rollup-win32-ia32-msvc': 4.44.2 - '@rollup/rollup-win32-x64-msvc': 4.44.2 + '@rollup/rollup-android-arm-eabi': 4.45.1 + '@rollup/rollup-android-arm64': 4.45.1 + '@rollup/rollup-darwin-arm64': 4.45.1 + '@rollup/rollup-darwin-x64': 4.45.1 + '@rollup/rollup-freebsd-arm64': 4.45.1 + '@rollup/rollup-freebsd-x64': 4.45.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.45.1 + '@rollup/rollup-linux-arm-musleabihf': 4.45.1 + '@rollup/rollup-linux-arm64-gnu': 4.45.1 + '@rollup/rollup-linux-arm64-musl': 4.45.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.45.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.45.1 + '@rollup/rollup-linux-riscv64-gnu': 4.45.1 + '@rollup/rollup-linux-riscv64-musl': 4.45.1 + '@rollup/rollup-linux-s390x-gnu': 4.45.1 + '@rollup/rollup-linux-x64-gnu': 4.45.1 + '@rollup/rollup-linux-x64-musl': 4.45.1 + '@rollup/rollup-win32-arm64-msvc': 4.45.1 + '@rollup/rollup-win32-ia32-msvc': 4.45.1 + '@rollup/rollup-win32-x64-msvc': 4.45.1 fsevents: 2.3.3 roughjs@4.6.6: @@ -30448,7 +30748,7 @@ snapshots: sass-embedded@1.87.0: dependencies: - '@bufbuild/protobuf': 2.6.0 + '@bufbuild/protobuf': 2.6.2 buffer-builder: 0.2.0 colorjs.io: 0.5.2 immutable: 5.1.3 @@ -31332,11 +31632,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.2.2(picomatch@4.0.2)(svelte@5.36.2)(typescript@5.8.3): + svelte-check@4.2.2(picomatch@4.0.3)(svelte@5.36.2)(typescript@5.8.3): dependencies: '@jridgewell/trace-mapping': 0.3.29 chokidar: 4.0.3 - fdir: 6.4.6(picomatch@4.0.2) + fdir: 6.4.6(picomatch@4.0.3) picocolors: 1.1.1 sade: 1.8.1 svelte: 5.36.2 @@ -32252,10 +32552,10 @@ snapshots: - tsx - yaml - vite-plugin-dts@4.5.4(@types/node@22.16.5)(rollup@4.44.2)(typescript@5.8.3)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-dts@4.5.4(@types/node@22.16.5)(rollup@4.45.1)(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: '@microsoft/api-extractor': 7.52.8(@types/node@22.16.5) - '@rollup/pluginutils': 5.1.4(rollup@4.44.2) + '@rollup/pluginutils': 5.1.4(rollup@4.45.1) '@volar/typescript': 2.4.13 '@vue/language-core': 2.2.0(typescript@5.8.3) compare-versions: 6.1.1 @@ -32265,20 +32565,20 @@ snapshots: magic-string: 0.30.17 typescript: 5.8.3 optionalDependencies: - vite: 7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-static-copy@3.1.1(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-static-copy@3.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: chokidar: 3.6.0 fs-extra: 11.3.0 p-map: 7.0.3 picocolors: 1.1.1 tinyglobby: 0.2.14 - vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: @@ -32286,11 +32586,11 @@ snapshots: typescript: 5.8.3 vite: 7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: svgo: 3.3.2 typescript: 5.8.3 - vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vite@7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: @@ -32332,13 +32632,13 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.6 - fdir: 6.4.6(picomatch@4.0.2) - picomatch: 4.0.2 + fdir: 6.4.6(picomatch@4.0.3) + picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.44.2 + rollup: 4.45.1 tinyglobby: 0.2.14 optionalDependencies: '@types/node': 22.16.5 @@ -32352,13 +32652,13 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.6 - fdir: 6.4.6(picomatch@4.0.2) - picomatch: 4.0.2 + fdir: 6.4.6(picomatch@4.0.3) + picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.44.2 + rollup: 4.45.1 tinyglobby: 0.2.14 optionalDependencies: '@types/node': 24.0.12 @@ -32372,9 +32672,9 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vitefu@1.1.1(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vitefu@1.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): optionalDependencies: - vite: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: @@ -32404,7 +32704,7 @@ snapshots: optionalDependencies: '@types/debug': 4.1.12 '@types/node': 22.16.5 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) From 1673bf026a589ac3333f91e95018b7b1e4d88429 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 02:14:32 +0000 Subject: [PATCH 089/505] chore(deps): update dependency stylelint to v16.22.0 --- pnpm-lock.yaml | 240 +++++++++++++++++++++++++++---------------------- 1 file changed, 135 insertions(+), 105 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index da6c634c1..ef6087146 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -837,7 +837,7 @@ importers: version: 5.36.2 svelte-check: specifier: ^4.0.0 - version: 4.2.2(picomatch@4.0.2)(svelte@5.36.2)(typescript@5.8.3) + version: 4.2.2(picomatch@4.0.3)(svelte@5.36.2)(typescript@5.8.3) tailwindcss: specifier: ^4.0.0 version: 4.1.11 @@ -919,10 +919,10 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.21.1(typescript@5.8.3) + version: 16.22.0(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(stylelint@16.21.1(typescript@5.8.3)) + version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) @@ -979,10 +979,10 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.21.1(typescript@5.8.3) + version: 16.22.0(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(stylelint@16.21.1(typescript@5.8.3)) + version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) @@ -1039,10 +1039,10 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.21.1(typescript@5.8.3) + version: 16.22.0(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(stylelint@16.21.1(typescript@5.8.3)) + version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) @@ -1106,10 +1106,10 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.21.1(typescript@5.8.3) + version: 16.22.0(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(stylelint@16.21.1(typescript@5.8.3)) + version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) @@ -1173,10 +1173,10 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.21.1(typescript@5.8.3) + version: 16.22.0(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(stylelint@16.21.1(typescript@5.8.3)) + version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) @@ -2190,8 +2190,8 @@ packages: '@braintree/sanitize-url@7.1.1': resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} - '@bufbuild/protobuf@2.6.0': - resolution: {integrity: sha512-6cuonJVNOIL7lTj5zgo/Rc2bKAo4/GvN+rKCrUj7GdEHRzCk8zKOfFwUsL9nAVk5rSIsRmlgcpLzTRysopEeeg==} + '@bufbuild/protobuf@2.6.2': + resolution: {integrity: sha512-vLu7SRY84CV/Dd+NUdgtidn2hS5hSMUC1vDBY0VcviTdgRYkU43vIz3vIFbmx14cX1r+mM7WjzE5Fl1fGEM0RQ==} '@bundled-es-modules/cookie@2.0.1': resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} @@ -3445,8 +3445,8 @@ packages: resolution: {integrity: sha512-cvz/C1rF5WBxzHbEoiBoI6Sz6q6M+TdxfWkEGBYTD77opY8i8WN01prUWXEM87GPF4SZcyIySez9U0Ccm12oFQ==} engines: {node: '>=18.0.0'} - '@inquirer/confirm@5.1.13': - resolution: {integrity: sha512-EkCtvp67ICIVVzjsquUiVSd+V5HRGOGQfsqA4E4vMWhYnB7InUL0pa0TIWt1i+OfP16Gkds8CdIu6yGZwOM1Yw==} + '@inquirer/confirm@5.1.14': + resolution: {integrity: sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -3454,8 +3454,8 @@ packages: '@types/node': optional: true - '@inquirer/core@10.1.14': - resolution: {integrity: sha512-Ma+ZpOJPewtIYl6HZHZckeX1STvDnHTCB2GVINNUlSEn2Am6LddWwfPkIGY0IUFVjUUrr/93XlBwTK6mfLjf0A==} + '@inquirer/core@10.1.15': + resolution: {integrity: sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -3463,12 +3463,12 @@ packages: '@types/node': optional: true - '@inquirer/figures@1.0.12': - resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==} + '@inquirer/figures@1.0.13': + resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} engines: {node: '>=18'} - '@inquirer/type@3.0.7': - resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==} + '@inquirer/type@3.0.8': + resolution: {integrity: sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -3731,8 +3731,8 @@ packages: peerDependencies: tslib: '2' - '@keyv/serialize@1.0.3': - resolution: {integrity: sha512-qnEovoOp5Np2JDGonIDL6Ayihw0RhnRh6vxPuHo4RDn1UOzwEo4AeIfpL6UGIrsceWrCMiVPgwRjbHu4vYFc3g==} + '@keyv/serialize@1.1.0': + resolution: {integrity: sha512-RlDgexML7Z63Q8BSaqhXdCYNBy/JQnqYIwxofUrNLGCblOMHp+xux2Q8nLMLlPpgHQPoU0Do8Z6btCpRBEqZ8g==} '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} @@ -6901,8 +6901,8 @@ packages: resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} engines: {node: '>=8'} - cacheable@1.10.1: - resolution: {integrity: sha512-Fa2BZY0CS9F0PFc/6aVA6tgpOdw+hmv9dkZOlHXII5v5Hw+meJBIWDcPrG9q/dXxGcNbym5t77fzmawrBQfTmQ==} + cacheable@1.10.3: + resolution: {integrity: sha512-M6p10iJ/VT0wT7TLIGUnm958oVrU2cUK8pQAVU21Zu7h8rbk/PeRtRWrvHJBql97Bhzk3g1N6+2VKC+Rjxna9Q==} call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} @@ -8679,8 +8679,8 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} - file-entry-cache@10.1.1: - resolution: {integrity: sha512-zcmsHjg2B2zjuBgjdnB+9q0+cWcgWfykIcsDkWDB4GTPtl1eXUA+gTI6sO0u01AqK3cliHryTU55/b2Ow1hfZg==} + file-entry-cache@10.1.3: + resolution: {integrity: sha512-D+w75Ub8T55yor7fPgN06rkCAUbAYw2vpxJmmjv/GDAcvCnv9g7IvHhIZoxzRZThrXPFI2maeY24pPbtyYU7Lg==} file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} @@ -8752,8 +8752,8 @@ packages: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} - flat-cache@6.1.11: - resolution: {integrity: sha512-zfOAns94mp7bHG/vCn9Ru2eDCmIxVQ5dELUHKjHfDEOJmHNzE+uGa6208kfkgmtym4a0FFjEuFksCXFacbVhSg==} + flat-cache@6.1.12: + resolution: {integrity: sha512-U+HqqpZPPXP5d24bWuRzjGqVqUcw64k4nZAbruniDwdRg0H10tvN7H6ku1tjhA4rg5B9GS3siEvwO2qjJJ6f8Q==} flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} @@ -10136,8 +10136,8 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - keyv@5.3.4: - resolution: {integrity: sha512-ypEvQvInNpUe+u+w8BIcPkQvEqXquyyibWE/1NB5T2BTzIpS5cGEV1LZskDzPSTvNAaT4+5FutvzlvnkxOSKlw==} + keyv@5.4.0: + resolution: {integrity: sha512-TMckyVjEoacG5IteUpUrOBsFORtheqziVyyY2dLUwg1jwTb8u48LX4TgmtogkNl9Y9unaEJ1luj10fGyjMGFOQ==} khroma@2.1.0: resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} @@ -11507,6 +11507,10 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} @@ -13686,8 +13690,8 @@ packages: peerDependencies: stylelint: '>=16.0.0' - stylelint@16.21.1: - resolution: {integrity: sha512-WCXdXnYK2tpCbebgMF0Bme3YZH/Rh/UXerj75twYo4uLULlcrLwFVdZTvTEF8idFnAcW21YUDJFyKOfaf6xJRw==} + stylelint@16.22.0: + resolution: {integrity: sha512-SVEMTdjKNV4ollUrIY9ordZ36zHv2/PHzPjfPMau370MlL2VYXeLgSNMMiEbLGRO8RmD2R8/BVUeF2DfnfkC0w==} engines: {node: '>=18.12.0'} hasBin: true @@ -16260,7 +16264,7 @@ snapshots: '@babel/template@7.27.0': dependencies: - '@babel/code-frame': 7.27.1 + '@babel/code-frame': 7.26.2 '@babel/parser': 7.28.0 '@babel/types': 7.28.0 @@ -16307,7 +16311,7 @@ snapshots: '@braintree/sanitize-url@7.1.1': {} - '@bufbuild/protobuf@2.6.0': + '@bufbuild/protobuf@2.6.2': optional: true '@bundled-es-modules/cookie@2.0.1': @@ -16362,8 +16366,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16488,16 +16490,12 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-cloud-services@46.0.0': dependencies: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -16717,8 +16715,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -16728,8 +16724,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -16739,8 +16733,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -16774,6 +16766,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -16830,6 +16824,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -16854,8 +16850,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -16919,8 +16913,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -16980,6 +16972,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -16991,6 +16985,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-inspector@5.0.0': {} @@ -17000,6 +16996,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-line-height@46.0.0': dependencies: @@ -17023,6 +17021,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-list-multi-level@46.0.0': dependencies: @@ -17046,6 +17046,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-markdown-gfm@46.0.0': dependencies: @@ -17083,6 +17085,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17092,6 +17096,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-merge-fields@46.0.0': dependencies: @@ -17104,6 +17110,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17112,6 +17120,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-operations-compressor@46.0.0': dependencies: @@ -17135,8 +17145,8 @@ snapshots: process: 0.11.10 raw-loader: 4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) style-loader: 2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) - stylelint: 16.21.1(typescript@5.0.4) - stylelint-config-ckeditor5: 2.0.1(stylelint@16.21.1(typescript@5.8.3)) + stylelint: 16.22.0(typescript@5.0.4) + stylelint-config-ckeditor5: 2.0.1(stylelint@16.22.0(typescript@5.8.3)) terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.0.4) @@ -17164,6 +17174,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-pagination@46.0.0': dependencies: @@ -17270,6 +17282,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@46.0.0': dependencies: @@ -17282,6 +17296,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.0.0': dependencies: @@ -17329,6 +17345,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-table@46.0.0': dependencies: @@ -17341,6 +17359,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-template@46.0.0': dependencies: @@ -17451,6 +17471,8 @@ snapshots: '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-widget@46.0.0': dependencies: @@ -17470,6 +17492,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@codemirror/autocomplete@6.18.6': dependencies: @@ -18621,26 +18645,26 @@ snapshots: transitivePeerDependencies: - babel-plugin-macros - '@inquirer/confirm@5.1.13(@types/node@22.16.5)': + '@inquirer/confirm@5.1.14(@types/node@22.16.5)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.16.5) - '@inquirer/type': 3.0.7(@types/node@22.16.5) + '@inquirer/core': 10.1.15(@types/node@22.16.5) + '@inquirer/type': 3.0.8(@types/node@22.16.5) optionalDependencies: '@types/node': 22.16.5 optional: true - '@inquirer/confirm@5.1.13(@types/node@24.0.12)': + '@inquirer/confirm@5.1.14(@types/node@24.0.12)': dependencies: - '@inquirer/core': 10.1.14(@types/node@24.0.12) - '@inquirer/type': 3.0.7(@types/node@24.0.12) + '@inquirer/core': 10.1.15(@types/node@24.0.12) + '@inquirer/type': 3.0.8(@types/node@24.0.12) optionalDependencies: '@types/node': 24.0.12 optional: true - '@inquirer/core@10.1.14(@types/node@22.16.5)': + '@inquirer/core@10.1.15(@types/node@22.16.5)': dependencies: - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@22.16.5) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@22.16.5) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -18651,10 +18675,10 @@ snapshots: '@types/node': 22.16.5 optional: true - '@inquirer/core@10.1.14(@types/node@24.0.12)': + '@inquirer/core@10.1.15(@types/node@24.0.12)': dependencies: - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@24.0.12) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@24.0.12) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -18665,15 +18689,15 @@ snapshots: '@types/node': 24.0.12 optional: true - '@inquirer/figures@1.0.12': + '@inquirer/figures@1.0.13': optional: true - '@inquirer/type@3.0.7(@types/node@22.16.5)': + '@inquirer/type@3.0.8(@types/node@22.16.5)': optionalDependencies: '@types/node': 22.16.5 optional: true - '@inquirer/type@3.0.7(@types/node@24.0.12)': + '@inquirer/type@3.0.8(@types/node@24.0.12)': optionalDependencies: '@types/node': 24.0.12 optional: true @@ -19093,9 +19117,7 @@ snapshots: dependencies: tslib: 2.8.1 - '@keyv/serialize@1.0.3': - dependencies: - buffer: 6.0.3 + '@keyv/serialize@1.1.0': {} '@leichtgewicht/ip-codec@2.0.5': {} @@ -20689,7 +20711,7 @@ snapshots: - supports-color - typescript - '@stylistic/stylelint-plugin@3.1.3(stylelint@16.21.1(typescript@5.8.3))': + '@stylistic/stylelint-plugin@3.1.3(stylelint@16.22.0(typescript@5.8.3))': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 @@ -20699,7 +20721,7 @@ snapshots: postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 style-search: 0.1.0 - stylelint: 16.21.1(typescript@5.8.3) + stylelint: 16.22.0(typescript@5.8.3) '@sveltejs/acorn-typescript@1.0.5(acorn@8.15.0)': dependencies: @@ -22952,10 +22974,10 @@ snapshots: normalize-url: 6.1.0 responselike: 2.0.1 - cacheable@1.10.1: + cacheable@1.10.3: dependencies: hookified: 1.10.0 - keyv: 5.3.4 + keyv: 5.4.0 call-bind-apply-helpers@1.0.2: dependencies: @@ -23135,6 +23157,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -25225,6 +25249,10 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fdir@6.4.6(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 @@ -25236,9 +25264,9 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - file-entry-cache@10.1.1: + file-entry-cache@10.1.3: dependencies: - flat-cache: 6.1.11 + flat-cache: 6.1.12 file-entry-cache@8.0.0: dependencies: @@ -25333,9 +25361,9 @@ snapshots: flatted: 3.3.3 keyv: 4.5.4 - flat-cache@6.1.11: + flat-cache@6.1.12: dependencies: - cacheable: 1.10.1 + cacheable: 1.10.3 flatted: 3.3.3 hookified: 1.10.0 @@ -26797,7 +26825,7 @@ snapshots: chalk: 4.1.2 ci-info: 4.3.0 graceful-fs: 4.2.11 - picomatch: 4.0.2 + picomatch: 4.0.3 jest-validate@30.0.5: dependencies: @@ -27062,9 +27090,9 @@ snapshots: dependencies: json-buffer: 3.0.1 - keyv@5.3.4: + keyv@5.4.0: dependencies: - '@keyv/serialize': 1.0.3 + '@keyv/serialize': 1.1.0 khroma@2.1.0: {} @@ -28109,7 +28137,7 @@ snapshots: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.13(@types/node@22.16.5) + '@inquirer/confirm': 5.1.14(@types/node@22.16.5) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -28135,7 +28163,7 @@ snapshots: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.13(@types/node@24.0.12) + '@inquirer/confirm': 5.1.14(@types/node@24.0.12) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -28798,6 +28826,8 @@ snapshots: picomatch@4.0.2: {} + picomatch@4.0.3: {} + pidtree@0.6.0: {} pify@2.3.0: {} @@ -30448,7 +30478,7 @@ snapshots: sass-embedded@1.87.0: dependencies: - '@bufbuild/protobuf': 2.6.0 + '@bufbuild/protobuf': 2.6.2 buffer-builder: 0.2.0 colorjs.io: 0.5.2 immutable: 5.1.3 @@ -31158,31 +31188,31 @@ snapshots: postcss: 8.5.6 postcss-selector-parser: 7.1.0 - stylelint-config-ckeditor5@12.0.0(stylelint@16.21.1(typescript@5.8.3)): + stylelint-config-ckeditor5@12.0.0(stylelint@16.22.0(typescript@5.8.3)): dependencies: - '@stylistic/stylelint-plugin': 3.1.3(stylelint@16.21.1(typescript@5.8.3)) - stylelint: 16.21.1(typescript@5.8.3) - stylelint-config-recommended: 16.0.0(stylelint@16.21.1(typescript@5.8.3)) - stylelint-plugin-ckeditor5-rules: 12.0.0(stylelint@16.21.1(typescript@5.8.3)) + '@stylistic/stylelint-plugin': 3.1.3(stylelint@16.22.0(typescript@5.8.3)) + stylelint: 16.22.0(typescript@5.8.3) + stylelint-config-recommended: 16.0.0(stylelint@16.22.0(typescript@5.8.3)) + stylelint-plugin-ckeditor5-rules: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) - stylelint-config-ckeditor5@2.0.1(stylelint@16.21.1(typescript@5.8.3)): + stylelint-config-ckeditor5@2.0.1(stylelint@16.22.0(typescript@5.8.3)): dependencies: - stylelint: 16.21.1(typescript@5.8.3) - stylelint-config-recommended: 3.0.0(stylelint@16.21.1(typescript@5.8.3)) + stylelint: 16.22.0(typescript@5.8.3) + stylelint-config-recommended: 3.0.0(stylelint@16.22.0(typescript@5.8.3)) - stylelint-config-recommended@16.0.0(stylelint@16.21.1(typescript@5.8.3)): + stylelint-config-recommended@16.0.0(stylelint@16.22.0(typescript@5.8.3)): dependencies: - stylelint: 16.21.1(typescript@5.8.3) + stylelint: 16.22.0(typescript@5.8.3) - stylelint-config-recommended@3.0.0(stylelint@16.21.1(typescript@5.8.3)): + stylelint-config-recommended@3.0.0(stylelint@16.22.0(typescript@5.8.3)): dependencies: - stylelint: 16.21.1(typescript@5.8.3) + stylelint: 16.22.0(typescript@5.8.3) - stylelint-plugin-ckeditor5-rules@12.0.0(stylelint@16.21.1(typescript@5.8.3)): + stylelint-plugin-ckeditor5-rules@12.0.0(stylelint@16.22.0(typescript@5.8.3)): dependencies: - stylelint: 16.21.1(typescript@5.8.3) + stylelint: 16.22.0(typescript@5.8.3) - stylelint@16.21.1(typescript@5.0.4): + stylelint@16.22.0(typescript@5.0.4): dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 @@ -31197,7 +31227,7 @@ snapshots: debug: 4.4.1(supports-color@6.0.0) fast-glob: 3.3.3 fastest-levenshtein: 1.0.16 - file-entry-cache: 10.1.1 + file-entry-cache: 10.1.3 global-modules: 2.0.0 globby: 11.1.0 globjoin: 0.1.4 @@ -31226,7 +31256,7 @@ snapshots: - supports-color - typescript - stylelint@16.21.1(typescript@5.8.3): + stylelint@16.22.0(typescript@5.8.3): dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 @@ -31241,7 +31271,7 @@ snapshots: debug: 4.4.1(supports-color@6.0.0) fast-glob: 3.3.3 fastest-levenshtein: 1.0.16 - file-entry-cache: 10.1.1 + file-entry-cache: 10.1.3 global-modules: 2.0.0 globby: 11.1.0 globjoin: 0.1.4 @@ -31332,11 +31362,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.2.2(picomatch@4.0.2)(svelte@5.36.2)(typescript@5.8.3): + svelte-check@4.2.2(picomatch@4.0.3)(svelte@5.36.2)(typescript@5.8.3): dependencies: '@jridgewell/trace-mapping': 0.3.29 chokidar: 4.0.3 - fdir: 6.4.6(picomatch@4.0.2) + fdir: 6.4.6(picomatch@4.0.3) picocolors: 1.1.1 sade: 1.8.1 svelte: 5.36.2 From d67734832ec29f5493054fb118c7def44fe99d7c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 02:16:52 +0000 Subject: [PATCH 090/505] chore(deps): update typescript-eslint monorepo to v8.38.0 --- pnpm-lock.yaml | 345 ++++++++++++++++++------------------------------- 1 file changed, 128 insertions(+), 217 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index da6c634c1..b1ba6d58b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -54,7 +54,7 @@ importers: version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint-plugin': specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/express': specifier: 21.3.2 version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) @@ -144,7 +144,7 @@ importers: version: 5.8.3 typescript-eslint: specifier: ^8.19.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) upath: specifier: 2.0.1 version: 2.0.1 @@ -846,7 +846,7 @@ importers: version: 5.8.3 typescript-eslint: specifier: ^8.20.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) vite: specifier: ^7.0.0 version: 7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -892,10 +892,10 @@ importers: version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -952,10 +952,10 @@ importers: version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -1012,10 +1012,10 @@ importers: version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -1079,10 +1079,10 @@ importers: version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -1146,10 +1146,10 @@ importers: version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -1364,10 +1364,10 @@ importers: version: 5.21.1 '@typescript-eslint/eslint-plugin': specifier: ^8.0.0 - version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) dotenv: specifier: ^17.0.0 version: 17.2.0 @@ -2190,8 +2190,8 @@ packages: '@braintree/sanitize-url@7.1.1': resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} - '@bufbuild/protobuf@2.6.0': - resolution: {integrity: sha512-6cuonJVNOIL7lTj5zgo/Rc2bKAo4/GvN+rKCrUj7GdEHRzCk8zKOfFwUsL9nAVk5rSIsRmlgcpLzTRysopEeeg==} + '@bufbuild/protobuf@2.6.2': + resolution: {integrity: sha512-vLu7SRY84CV/Dd+NUdgtidn2hS5hSMUC1vDBY0VcviTdgRYkU43vIz3vIFbmx14cX1r+mM7WjzE5Fl1fGEM0RQ==} '@bundled-es-modules/cookie@2.0.1': resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} @@ -3445,8 +3445,8 @@ packages: resolution: {integrity: sha512-cvz/C1rF5WBxzHbEoiBoI6Sz6q6M+TdxfWkEGBYTD77opY8i8WN01prUWXEM87GPF4SZcyIySez9U0Ccm12oFQ==} engines: {node: '>=18.0.0'} - '@inquirer/confirm@5.1.13': - resolution: {integrity: sha512-EkCtvp67ICIVVzjsquUiVSd+V5HRGOGQfsqA4E4vMWhYnB7InUL0pa0TIWt1i+OfP16Gkds8CdIu6yGZwOM1Yw==} + '@inquirer/confirm@5.1.14': + resolution: {integrity: sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -3454,8 +3454,8 @@ packages: '@types/node': optional: true - '@inquirer/core@10.1.14': - resolution: {integrity: sha512-Ma+ZpOJPewtIYl6HZHZckeX1STvDnHTCB2GVINNUlSEn2Am6LddWwfPkIGY0IUFVjUUrr/93XlBwTK6mfLjf0A==} + '@inquirer/core@10.1.15': + resolution: {integrity: sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -3463,12 +3463,12 @@ packages: '@types/node': optional: true - '@inquirer/figures@1.0.12': - resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==} + '@inquirer/figures@1.0.13': + resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} engines: {node: '>=18'} - '@inquirer/type@3.0.7': - resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==} + '@inquirer/type@3.0.8': + resolution: {integrity: sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -3476,6 +3476,14 @@ packages: '@types/node': optional: true + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -5831,14 +5839,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/eslint-plugin@8.37.0': - resolution: {integrity: sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.37.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/eslint-plugin@8.38.0': resolution: {integrity: sha512-CPoznzpuAnIOl4nhj4tRr4gIPj5AfKgkiJmGQDaq+fQnRJTYlcBjbX3wbciGmpoPf8DREufuPRe1tNMZnGdanA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5854,8 +5854,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.37.0': - resolution: {integrity: sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==} + '@typescript-eslint/parser@8.38.0': + resolution: {integrity: sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -5867,12 +5867,6 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/project-service@8.37.0': - resolution: {integrity: sha512-BIUXYsbkl5A1aJDdYJCBAo8rCEbAvdquQ8AnLb6z5Lp1u3x5PNgSSx9A/zqYc++Xnr/0DVpls8iQ2cJs/izTXA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/project-service@8.38.0': resolution: {integrity: sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5883,10 +5877,6 @@ packages: resolution: {integrity: sha512-wCnapIKnDkN62fYtTGv2+RY8FlnBYA3tNm0fm91kc2BjPhV2vIjwwozJ7LToaLAyb1ca8BxrS7vT+Pvvf7RvqA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.37.0': - resolution: {integrity: sha512-0vGq0yiU1gbjKob2q691ybTg9JX6ShiVXAAfm2jGf3q0hdP6/BruaFjL/ManAR/lj05AvYCH+5bbVo0VtzmjOA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.38.0': resolution: {integrity: sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5897,12 +5887,6 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/tsconfig-utils@8.37.0': - resolution: {integrity: sha512-1/YHvAVTimMM9mmlPvTec9NP4bobA1RkDbMydxG8omqwJJLEW/Iy2C4adsAESIXU3WGLXFHSZUU+C9EoFWl4Zg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/tsconfig-utils@8.38.0': resolution: {integrity: sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5916,13 +5900,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/type-utils@8.37.0': - resolution: {integrity: sha512-SPkXWIkVZxhgwSwVq9rqj/4VFo7MnWwVaRNznfQDc/xPYHjXnPfLWn+4L6FF1cAz6e7dsqBeMawgl7QjUMj4Ow==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/type-utils@8.38.0': resolution: {integrity: sha512-c7jAvGEZVf0ao2z+nnz8BUaHZD09Agbh+DY7qvBQqLiz8uJzRgVPj5YvOh8I8uEiH8oIUGIfHzMwUcGVco/SJg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5934,10 +5911,6 @@ packages: resolution: {integrity: sha512-xGms6l5cTJKQPZOKM75Dl9yBfNdGeLRsIyufewnxT4vZTrjC0ImQT4fj8QmtJK84F58uSh5HVBSANwcfiXxABQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.37.0': - resolution: {integrity: sha512-ax0nv7PUF9NOVPs+lmQ7yIE7IQmAf8LGcXbMvHX5Gm+YJUYNAl340XkGnrimxZ0elXyoQJuN5sbg6C4evKA4SQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.38.0': resolution: {integrity: sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5948,12 +5921,6 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/typescript-estree@8.37.0': - resolution: {integrity: sha512-zuWDMDuzMRbQOM+bHyU4/slw27bAUEcKSKKs3hcv2aNnc/tvE/h7w60dwVw8vnal2Pub6RT1T7BI8tFZ1fE+yg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/typescript-estree@8.38.0': resolution: {integrity: sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5967,13 +5934,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.37.0': - resolution: {integrity: sha512-TSFvkIW6gGjN2p6zbXo20FzCABbyUAuq6tBvNRGsKdsSQ6a7rnV6ADfZ7f4iI3lIiXc4F4WWvtUfDw9CJ9pO5A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.38.0': resolution: {integrity: sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5985,10 +5945,6 @@ packages: resolution: {integrity: sha512-vZrhV2lRPWDuGoxcmrzRZyxAggPL+qp3WzUrlZD+slFueDiYHxeBa34dUXPuC0RmGKzl4lS5kFJYvKCq9cnNDA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.37.0': - resolution: {integrity: sha512-YzfhzcTnZVPiLfP/oeKtDp2evwvHLMe0LOy7oe+hb9KKIumLNohYS9Hgp1ifwpu42YWxhZE8yieggz6JpqO/1w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.38.0': resolution: {integrity: sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -10777,6 +10733,10 @@ packages: minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + minimatch@10.0.3: + resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} + engines: {node: 20 || >=22} + minimatch@3.0.8: resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} @@ -14166,8 +14126,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - typescript-eslint@8.37.0: - resolution: {integrity: sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA==} + typescript-eslint@8.38.0: + resolution: {integrity: sha512-FsZlrYK6bPDGoLeZRuvx2v6qrM03I0U0SnfCLPs/XCCPCFD80xU9Pg09H/K+XFa68uJuZo7l/Xhs+eDRg2l3hg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -16307,7 +16267,7 @@ snapshots: '@braintree/sanitize-url@7.1.1': {} - '@bufbuild/protobuf@2.6.0': + '@bufbuild/protobuf@2.6.2': optional: true '@bundled-es-modules/cookie@2.0.1': @@ -16362,8 +16322,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16488,16 +16446,12 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-cloud-services@46.0.0': dependencies: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -16717,8 +16671,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -16728,8 +16680,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -16739,8 +16689,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -16774,6 +16722,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -16830,6 +16780,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -16854,8 +16806,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -16919,8 +16869,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -16980,6 +16928,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -16991,6 +16941,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-inspector@5.0.0': {} @@ -17000,6 +16952,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-line-height@46.0.0': dependencies: @@ -17023,6 +16977,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-list-multi-level@46.0.0': dependencies: @@ -17046,6 +17002,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-markdown-gfm@46.0.0': dependencies: @@ -17083,6 +17041,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17092,6 +17052,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-merge-fields@46.0.0': dependencies: @@ -17104,6 +17066,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17112,6 +17076,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-operations-compressor@46.0.0': dependencies: @@ -17164,6 +17130,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-pagination@46.0.0': dependencies: @@ -17270,6 +17238,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@46.0.0': dependencies: @@ -17282,6 +17252,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.0.0': dependencies: @@ -17329,6 +17301,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-table@46.0.0': dependencies: @@ -17341,6 +17315,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-template@46.0.0': dependencies: @@ -17451,6 +17427,8 @@ snapshots: '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-widget@46.0.0': dependencies: @@ -17470,6 +17448,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@codemirror/autocomplete@6.18.6': dependencies: @@ -17900,7 +17880,7 @@ snapshots: dependencies: commander: 5.1.0 glob: 7.2.3 - minimatch: 3.1.2 + minimatch: 10.0.3 '@electron/get@2.0.3': dependencies: @@ -18070,7 +18050,7 @@ snapshots: '@es-joy/jsdoccomment@0.50.2': dependencies: '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/types': 8.38.0 comment-parser: 1.4.1 esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 @@ -18621,26 +18601,26 @@ snapshots: transitivePeerDependencies: - babel-plugin-macros - '@inquirer/confirm@5.1.13(@types/node@22.16.5)': + '@inquirer/confirm@5.1.14(@types/node@22.16.5)': dependencies: - '@inquirer/core': 10.1.14(@types/node@22.16.5) - '@inquirer/type': 3.0.7(@types/node@22.16.5) + '@inquirer/core': 10.1.15(@types/node@22.16.5) + '@inquirer/type': 3.0.8(@types/node@22.16.5) optionalDependencies: '@types/node': 22.16.5 optional: true - '@inquirer/confirm@5.1.13(@types/node@24.0.12)': + '@inquirer/confirm@5.1.14(@types/node@24.0.12)': dependencies: - '@inquirer/core': 10.1.14(@types/node@24.0.12) - '@inquirer/type': 3.0.7(@types/node@24.0.12) + '@inquirer/core': 10.1.15(@types/node@24.0.12) + '@inquirer/type': 3.0.8(@types/node@24.0.12) optionalDependencies: '@types/node': 24.0.12 optional: true - '@inquirer/core@10.1.14(@types/node@22.16.5)': + '@inquirer/core@10.1.15(@types/node@22.16.5)': dependencies: - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@22.16.5) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@22.16.5) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -18651,10 +18631,10 @@ snapshots: '@types/node': 22.16.5 optional: true - '@inquirer/core@10.1.14(@types/node@24.0.12)': + '@inquirer/core@10.1.15(@types/node@24.0.12)': dependencies: - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@24.0.12) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@24.0.12) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -18665,19 +18645,25 @@ snapshots: '@types/node': 24.0.12 optional: true - '@inquirer/figures@1.0.12': + '@inquirer/figures@1.0.13': optional: true - '@inquirer/type@3.0.7(@types/node@22.16.5)': + '@inquirer/type@3.0.8(@types/node@22.16.5)': optionalDependencies: '@types/node': 22.16.5 optional: true - '@inquirer/type@3.0.7(@types/node@24.0.12)': + '@inquirer/type@3.0.8(@types/node@24.0.12)': optionalDependencies: '@types/node': 24.0.12 optional: true + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -19358,12 +19344,12 @@ snapshots: - supports-color - verdaccio - '@nx/eslint-plugin@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/eslint-plugin@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) - '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/type-utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) chalk: 4.1.2 @@ -21537,27 +21523,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.37.0 - '@typescript-eslint/type-utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.37.0 - eslint: 9.31.0(jiti@2.4.2) - graphemer: 1.4.0 - ignore: 7.0.5 - natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.38.0 '@typescript-eslint/type-utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) @@ -21583,12 +21552,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.37.0 - '@typescript-eslint/types': 8.37.0 - '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.37.0 + '@typescript-eslint/scope-manager': 8.38.0 + '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.38.0 debug: 4.4.1(supports-color@6.0.0) eslint: 9.31.0(jiti@2.4.2) typescript: 5.8.3 @@ -21597,17 +21566,8 @@ snapshots: '@typescript-eslint/project-service@8.36.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.8.3) - '@typescript-eslint/types': 8.37.0 - debug: 4.4.1(supports-color@6.0.0) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/project-service@8.37.0(typescript@5.8.3)': - dependencies: - '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.8.3) - '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3) + '@typescript-eslint/types': 8.36.0 debug: 4.4.1(supports-color@6.0.0) typescript: 5.8.3 transitivePeerDependencies: @@ -21627,11 +21587,6 @@ snapshots: '@typescript-eslint/types': 8.36.0 '@typescript-eslint/visitor-keys': 8.36.0 - '@typescript-eslint/scope-manager@8.37.0': - dependencies: - '@typescript-eslint/types': 8.37.0 - '@typescript-eslint/visitor-keys': 8.37.0 - '@typescript-eslint/scope-manager@8.38.0': dependencies: '@typescript-eslint/types': 8.38.0 @@ -21641,10 +21596,6 @@ snapshots: dependencies: typescript: 5.8.3 - '@typescript-eslint/tsconfig-utils@8.37.0(typescript@5.8.3)': - dependencies: - typescript: 5.8.3 - '@typescript-eslint/tsconfig-utils@8.38.0(typescript@5.8.3)': dependencies: typescript: 5.8.3 @@ -21660,18 +21611,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': - dependencies: - '@typescript-eslint/types': 8.37.0 - '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - debug: 4.4.1(supports-color@6.0.0) - eslint: 9.31.0(jiti@2.4.2) - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/type-utils@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 8.38.0 @@ -21686,8 +21625,6 @@ snapshots: '@typescript-eslint/types@8.36.0': {} - '@typescript-eslint/types@8.37.0': {} - '@typescript-eslint/types@8.38.0': {} '@typescript-eslint/typescript-estree@8.36.0(typescript@5.8.3)': @@ -21706,22 +21643,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.37.0(typescript@5.8.3)': - dependencies: - '@typescript-eslint/project-service': 8.37.0(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.8.3) - '@typescript-eslint/types': 8.37.0 - '@typescript-eslint/visitor-keys': 8.37.0 - debug: 4.4.1(supports-color@6.0.0) - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/typescript-estree@8.38.0(typescript@5.8.3)': dependencies: '@typescript-eslint/project-service': 8.38.0(typescript@5.8.3) @@ -21749,17 +21670,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': - dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.37.0 - '@typescript-eslint/types': 8.37.0 - '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3) - eslint: 9.31.0(jiti@2.4.2) - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/utils@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) @@ -21776,11 +21686,6 @@ snapshots: '@typescript-eslint/types': 8.36.0 eslint-visitor-keys: 4.2.1 - '@typescript-eslint/visitor-keys@8.37.0': - dependencies: - '@typescript-eslint/types': 8.37.0 - eslint-visitor-keys: 4.2.1 - '@typescript-eslint/visitor-keys@8.38.0': dependencies: '@typescript-eslint/types': 8.38.0 @@ -23135,6 +23040,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -24389,7 +24296,7 @@ snapshots: dotignore@0.1.2: dependencies: - minimatch: 9.0.5 + minimatch: 10.0.3 dpdm@3.14.0: dependencies: @@ -27926,6 +27833,10 @@ snapshots: minimalistic-assert@1.0.1: {} + minimatch@10.0.3: + dependencies: + '@isaacs/brace-expansion': 5.0.0 + minimatch@3.0.8: dependencies: brace-expansion: 1.1.12 @@ -28109,7 +28020,7 @@ snapshots: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.13(@types/node@22.16.5) + '@inquirer/confirm': 5.1.14(@types/node@22.16.5) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -28135,7 +28046,7 @@ snapshots: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.13(@types/node@24.0.12) + '@inquirer/confirm': 5.1.14(@types/node@24.0.12) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -30448,7 +30359,7 @@ snapshots: sass-embedded@1.87.0: dependencies: - '@bufbuild/protobuf': 2.6.0 + '@bufbuild/protobuf': 2.6.2 buffer-builder: 0.2.0 colorjs.io: 0.5.2 immutable: 5.1.3 @@ -31569,7 +31480,7 @@ snapshots: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 - minimatch: 9.0.5 + minimatch: 9.0.3 test-exclude@7.0.1: dependencies: @@ -31905,12 +31816,12 @@ snapshots: transitivePeerDependencies: - supports-color - typescript-eslint@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3): + typescript-eslint@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.31.0(jiti@2.4.2) typescript: 5.8.3 transitivePeerDependencies: From 24e99d9654e3c5bc1a068fccff1a6ff91964257e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 05:39:35 +0000 Subject: [PATCH 091/505] chore(deps): update dependency eslint-config-prettier to v10.1.8 --- pnpm-lock.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b1ba6d58b..7a3c83f82 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -54,7 +54,7 @@ importers: version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint-plugin': specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/express': specifier: 21.3.2 version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) @@ -108,7 +108,7 @@ importers: version: 9.31.0(jiti@2.4.2) eslint-config-prettier: specifier: ^10.0.0 - version: 10.1.5(eslint@9.31.0(jiti@2.4.2)) + version: 10.1.8(eslint@9.31.0(jiti@2.4.2)) eslint-plugin-playwright: specifier: ^2.0.0 version: 2.2.0(eslint@9.31.0(jiti@2.4.2)) @@ -8353,8 +8353,8 @@ packages: eslint: ^9.0.0 typescript: ^5.0.0 - eslint-config-prettier@10.1.5: - resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==} + eslint-config-prettier@10.1.8: + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -19344,7 +19344,7 @@ snapshots: - supports-color - verdaccio - '@nx/eslint-plugin@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/eslint-plugin@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) @@ -19359,7 +19359,7 @@ snapshots: semver: 7.7.2 tslib: 2.8.1 optionalDependencies: - eslint-config-prettier: 10.1.5(eslint@9.31.0(jiti@2.4.2)) + eslint-config-prettier: 10.1.8(eslint@9.31.0(jiti@2.4.2)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -24752,7 +24752,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.4.2)): + eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)): dependencies: eslint: 9.31.0(jiti@2.4.2) From 71e22da98708954b6fbee6c14c2ff535c41d98de Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 05:45:25 +0000 Subject: [PATCH 092/505] chore(deps): update dependency esbuild to v0.25.8 --- pnpm-lock.yaml | 458 ++++++++++--------------------------------------- 1 file changed, 95 insertions(+), 363 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 659c0330f..fb4a3353b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,7 +48,7 @@ importers: version: 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/esbuild': specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint': specifier: 21.3.2 version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) @@ -102,7 +102,7 @@ importers: version: 3.14.0 esbuild: specifier: ^0.25.0 - version: 0.25.6 + version: 0.25.8 eslint: specifier: ^9.8.0 version: 9.31.0(jiti@2.4.2) @@ -322,7 +322,7 @@ importers: version: 6.2.8 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) happy-dom: specifier: 18.0.1 version: 18.0.1 @@ -404,7 +404,7 @@ importers: version: 1.0.2 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) electron: specifier: 37.2.4 version: 37.2.4 @@ -469,7 +469,7 @@ importers: version: 11.0.4 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) electron: specifier: 37.2.4 version: 37.2.4 @@ -889,7 +889,7 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) @@ -949,7 +949,7 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) @@ -1009,7 +1009,7 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) @@ -1070,13 +1070,13 @@ importers: version: 43.1.0(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.8.3) '@ckeditor/ckeditor5-dev-utils': specifier: 43.1.0 - version: 43.1.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + version: 43.1.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) '@ckeditor/ckeditor5-inspector': specifier: '>=4.1.0' version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) @@ -1143,7 +1143,7 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5) + version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) @@ -1373,7 +1373,7 @@ importers: version: 17.2.0 esbuild: specifier: ^0.25.0 - version: 0.25.6 + version: 0.25.8 eslint: specifier: ^9.0.0 version: 9.31.0(jiti@2.4.2) @@ -2792,12 +2792,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.25.6': - resolution: {integrity: sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.25.8': resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} engines: {node: '>=18'} @@ -2810,12 +2804,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.25.6': - resolution: {integrity: sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.25.8': resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==} engines: {node: '>=18'} @@ -2828,12 +2816,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.25.6': - resolution: {integrity: sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.25.8': resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==} engines: {node: '>=18'} @@ -2846,12 +2828,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.25.6': - resolution: {integrity: sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.25.8': resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==} engines: {node: '>=18'} @@ -2864,12 +2840,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.25.6': - resolution: {integrity: sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.25.8': resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==} engines: {node: '>=18'} @@ -2882,12 +2852,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.25.6': - resolution: {integrity: sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.25.8': resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==} engines: {node: '>=18'} @@ -2900,12 +2864,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.25.6': - resolution: {integrity: sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.25.8': resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==} engines: {node: '>=18'} @@ -2918,12 +2876,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.6': - resolution: {integrity: sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.25.8': resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==} engines: {node: '>=18'} @@ -2936,12 +2888,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.25.6': - resolution: {integrity: sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.25.8': resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==} engines: {node: '>=18'} @@ -2954,12 +2900,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.25.6': - resolution: {integrity: sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.25.8': resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==} engines: {node: '>=18'} @@ -2972,12 +2912,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.25.6': - resolution: {integrity: sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.25.8': resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==} engines: {node: '>=18'} @@ -2990,12 +2924,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.25.6': - resolution: {integrity: sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.25.8': resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==} engines: {node: '>=18'} @@ -3008,12 +2936,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.25.6': - resolution: {integrity: sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.25.8': resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==} engines: {node: '>=18'} @@ -3026,12 +2948,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.25.6': - resolution: {integrity: sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.25.8': resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==} engines: {node: '>=18'} @@ -3044,12 +2960,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.25.6': - resolution: {integrity: sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.25.8': resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==} engines: {node: '>=18'} @@ -3062,12 +2972,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.25.6': - resolution: {integrity: sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.25.8': resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==} engines: {node: '>=18'} @@ -3080,12 +2984,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.25.6': - resolution: {integrity: sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.25.8': resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==} engines: {node: '>=18'} @@ -3098,12 +2996,6 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.25.6': - resolution: {integrity: sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - '@esbuild/netbsd-arm64@0.25.8': resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==} engines: {node: '>=18'} @@ -3116,12 +3008,6 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.6': - resolution: {integrity: sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.25.8': resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==} engines: {node: '>=18'} @@ -3134,12 +3020,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.25.6': - resolution: {integrity: sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.25.8': resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==} engines: {node: '>=18'} @@ -3152,24 +3032,12 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.6': - resolution: {integrity: sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.25.8': resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.6': - resolution: {integrity: sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - '@esbuild/openharmony-arm64@0.25.8': resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==} engines: {node: '>=18'} @@ -3182,12 +3050,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.25.6': - resolution: {integrity: sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.25.8': resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==} engines: {node: '>=18'} @@ -3200,12 +3062,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.25.6': - resolution: {integrity: sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.25.8': resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==} engines: {node: '>=18'} @@ -3218,12 +3074,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.25.6': - resolution: {integrity: sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.25.8': resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==} engines: {node: '>=18'} @@ -3236,12 +3086,6 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.25.6': - resolution: {integrity: sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.25.8': resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==} engines: {node: '>=18'} @@ -8466,11 +8310,6 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.25.6: - resolution: {integrity: sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.25.8: resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} engines: {node: '>=18'} @@ -16720,11 +16559,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-dev-translations@45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6))': + '@ckeditor/ckeditor5-dev-translations@45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8))': dependencies: '@babel/parser': 7.28.0 '@babel/traverse': 7.28.0 - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) chalk: 5.4.1 fs-extra: 11.3.0 glob: 10.4.5 @@ -16742,58 +16581,58 @@ snapshots: - uglify-js - webpack - '@ckeditor/ckeditor5-dev-utils@43.1.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6))': + '@ckeditor/ckeditor5-dev-utils@43.1.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8))': 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.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + css-loader: 5.2.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) cssnano: 6.1.2(postcss@8.5.3) del: 5.1.0 - esbuild-loader: 3.0.1(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + esbuild-loader: 3.0.1(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) fs-extra: 11.3.0 is-interactive: 1.0.0 javascript-stringify: 1.6.0 - mini-css-extract-plugin: 2.4.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + mini-css-extract-plugin: 2.4.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) 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.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) 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.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + raw-loader: 4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) shelljs: 0.8.5 - style-loader: 2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) - terser-webpack-plugin: 4.2.3(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + style-loader: 2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + terser-webpack-plugin: 4.2.3(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) through2: 3.0.2 transitivePeerDependencies: - bluebird - supports-color - webpack - '@ckeditor/ckeditor5-dev-utils@45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6))': + '@ckeditor/ckeditor5-dev-utils@45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8))': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) chalk: 5.4.1 cli-cursor: 5.0.0 cli-spinners: 3.2.0 - css-loader: 7.1.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + css-loader: 7.1.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) cssnano: 7.0.7(postcss@8.5.6) - esbuild-loader: 4.3.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + esbuild-loader: 4.3.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) fs-extra: 11.3.0 is-interactive: 2.0.0 - mini-css-extract-plugin: 2.9.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + mini-css-extract-plugin: 2.9.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) mocha: 10.8.2 postcss: 8.5.6 postcss-import: 16.1.1(postcss@8.5.6) - postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) postcss-mixins: 11.0.3(postcss@8.5.6) postcss-nesting: 13.0.2(postcss@8.5.6) - raw-loader: 4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + raw-loader: 4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) shelljs: 0.8.5 - style-loader: 4.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + style-loader: 4.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) through2: 4.0.2 transitivePeerDependencies: - '@rspack/core' @@ -17249,29 +17088,29 @@ snapshots: es-toolkit: 1.39.5 protobufjs: 7.5.0 - '@ckeditor/ckeditor5-package-tools@4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.6)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-package-tools@4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5)': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) buffer: 6.0.3 chalk: 5.4.1 - css-loader: 5.2.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + css-loader: 5.2.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) fs-extra: 11.3.0 glob: 7.2.3 minimist: 1.2.8 postcss: 8.5.6 - postcss-loader: 4.3.0(postcss@8.5.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + postcss-loader: 4.3.0(postcss@8.5.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) process: 0.11.10 - raw-loader: 4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) - style-loader: 2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + raw-loader: 4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + style-loader: 2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) stylelint: 16.22.0(typescript@5.0.4) stylelint-config-ckeditor5: 2.0.1(stylelint@16.22.0(typescript@5.8.3)) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) - ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.0.4) typescript: 5.0.4 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) - webpack-dev-server: 5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack-dev-server: 5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -17802,7 +17641,7 @@ snapshots: dependencies: '@digitak/grubber': 3.1.4 chokidar: 3.6.0 - esbuild: 0.25.6 + esbuild: 0.25.8 '@digitak/grubber@3.1.4': {} @@ -18221,231 +18060,153 @@ snapshots: '@esbuild/aix-ppc64@0.25.5': optional: true - '@esbuild/aix-ppc64@0.25.6': - optional: true - '@esbuild/aix-ppc64@0.25.8': optional: true '@esbuild/android-arm64@0.25.5': optional: true - '@esbuild/android-arm64@0.25.6': - optional: true - '@esbuild/android-arm64@0.25.8': optional: true '@esbuild/android-arm@0.25.5': optional: true - '@esbuild/android-arm@0.25.6': - optional: true - '@esbuild/android-arm@0.25.8': optional: true '@esbuild/android-x64@0.25.5': optional: true - '@esbuild/android-x64@0.25.6': - optional: true - '@esbuild/android-x64@0.25.8': optional: true '@esbuild/darwin-arm64@0.25.5': optional: true - '@esbuild/darwin-arm64@0.25.6': - optional: true - '@esbuild/darwin-arm64@0.25.8': optional: true '@esbuild/darwin-x64@0.25.5': optional: true - '@esbuild/darwin-x64@0.25.6': - optional: true - '@esbuild/darwin-x64@0.25.8': optional: true '@esbuild/freebsd-arm64@0.25.5': optional: true - '@esbuild/freebsd-arm64@0.25.6': - optional: true - '@esbuild/freebsd-arm64@0.25.8': optional: true '@esbuild/freebsd-x64@0.25.5': optional: true - '@esbuild/freebsd-x64@0.25.6': - optional: true - '@esbuild/freebsd-x64@0.25.8': optional: true '@esbuild/linux-arm64@0.25.5': optional: true - '@esbuild/linux-arm64@0.25.6': - optional: true - '@esbuild/linux-arm64@0.25.8': optional: true '@esbuild/linux-arm@0.25.5': optional: true - '@esbuild/linux-arm@0.25.6': - optional: true - '@esbuild/linux-arm@0.25.8': optional: true '@esbuild/linux-ia32@0.25.5': optional: true - '@esbuild/linux-ia32@0.25.6': - optional: true - '@esbuild/linux-ia32@0.25.8': optional: true '@esbuild/linux-loong64@0.25.5': optional: true - '@esbuild/linux-loong64@0.25.6': - optional: true - '@esbuild/linux-loong64@0.25.8': optional: true '@esbuild/linux-mips64el@0.25.5': optional: true - '@esbuild/linux-mips64el@0.25.6': - optional: true - '@esbuild/linux-mips64el@0.25.8': optional: true '@esbuild/linux-ppc64@0.25.5': optional: true - '@esbuild/linux-ppc64@0.25.6': - optional: true - '@esbuild/linux-ppc64@0.25.8': optional: true '@esbuild/linux-riscv64@0.25.5': optional: true - '@esbuild/linux-riscv64@0.25.6': - optional: true - '@esbuild/linux-riscv64@0.25.8': optional: true '@esbuild/linux-s390x@0.25.5': optional: true - '@esbuild/linux-s390x@0.25.6': - optional: true - '@esbuild/linux-s390x@0.25.8': optional: true '@esbuild/linux-x64@0.25.5': optional: true - '@esbuild/linux-x64@0.25.6': - optional: true - '@esbuild/linux-x64@0.25.8': optional: true '@esbuild/netbsd-arm64@0.25.5': optional: true - '@esbuild/netbsd-arm64@0.25.6': - optional: true - '@esbuild/netbsd-arm64@0.25.8': optional: true '@esbuild/netbsd-x64@0.25.5': optional: true - '@esbuild/netbsd-x64@0.25.6': - optional: true - '@esbuild/netbsd-x64@0.25.8': optional: true '@esbuild/openbsd-arm64@0.25.5': optional: true - '@esbuild/openbsd-arm64@0.25.6': - optional: true - '@esbuild/openbsd-arm64@0.25.8': optional: true '@esbuild/openbsd-x64@0.25.5': optional: true - '@esbuild/openbsd-x64@0.25.6': - optional: true - '@esbuild/openbsd-x64@0.25.8': optional: true - '@esbuild/openharmony-arm64@0.25.6': - optional: true - '@esbuild/openharmony-arm64@0.25.8': optional: true '@esbuild/sunos-x64@0.25.5': optional: true - '@esbuild/sunos-x64@0.25.6': - optional: true - '@esbuild/sunos-x64@0.25.8': optional: true '@esbuild/win32-arm64@0.25.5': optional: true - '@esbuild/win32-arm64@0.25.6': - optional: true - '@esbuild/win32-arm64@0.25.8': optional: true '@esbuild/win32-ia32@0.25.5': optional: true - '@esbuild/win32-ia32@0.25.6': - optional: true - '@esbuild/win32-ia32@0.25.8': optional: true '@esbuild/win32-x64@0.25.5': optional: true - '@esbuild/win32-x64@0.25.6': - optional: true - '@esbuild/win32-x64@0.25.8': optional: true @@ -19564,7 +19325,7 @@ snapshots: tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/esbuild@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/esbuild@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) @@ -19573,7 +19334,7 @@ snapshots: tsconfig-paths: 4.2.0 tslib: 2.8.1 optionalDependencies: - esbuild: 0.25.6 + esbuild: 0.25.8 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -23648,14 +23409,14 @@ snapshots: is-what: 3.14.1 optional: true - copy-webpack-plugin@13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + copy-webpack-plugin@13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 schema-utils: 4.3.2 serialize-javascript: 6.0.2 tinyglobby: 0.2.13 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) core-js-compat@3.41.0: dependencies: @@ -23758,7 +23519,7 @@ snapshots: css-functions-list@3.2.3: {} - css-loader@5.2.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + css-loader@5.2.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: icss-utils: 5.1.0(postcss@8.5.6) loader-utils: 2.0.4 @@ -23770,9 +23531,9 @@ snapshots: postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.7.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - css-loader@7.1.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + css-loader@7.1.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: icss-utils: 5.1.0(postcss@8.5.6) postcss: 8.5.6 @@ -23783,7 +23544,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.2 optionalDependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) css-select@4.3.0: dependencies: @@ -24882,20 +24643,20 @@ snapshots: es6-promise@4.2.8: {} - esbuild-loader@3.0.1(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): - dependencies: - esbuild: 0.25.6 - get-tsconfig: 4.10.1 - loader-utils: 2.0.4 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) - webpack-sources: 1.4.3 - - esbuild-loader@4.3.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + esbuild-loader@3.0.1(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: esbuild: 0.25.8 get-tsconfig: 4.10.1 loader-utils: 2.0.4 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack-sources: 1.4.3 + + esbuild-loader@4.3.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + dependencies: + esbuild: 0.25.8 + get-tsconfig: 4.10.1 + loader-utils: 2.0.4 + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) webpack-sources: 1.4.3 esbuild@0.25.5: @@ -24926,35 +24687,6 @@ snapshots: '@esbuild/win32-ia32': 0.25.5 '@esbuild/win32-x64': 0.25.5 - esbuild@0.25.6: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.6 - '@esbuild/android-arm': 0.25.6 - '@esbuild/android-arm64': 0.25.6 - '@esbuild/android-x64': 0.25.6 - '@esbuild/darwin-arm64': 0.25.6 - '@esbuild/darwin-x64': 0.25.6 - '@esbuild/freebsd-arm64': 0.25.6 - '@esbuild/freebsd-x64': 0.25.6 - '@esbuild/linux-arm': 0.25.6 - '@esbuild/linux-arm64': 0.25.6 - '@esbuild/linux-ia32': 0.25.6 - '@esbuild/linux-loong64': 0.25.6 - '@esbuild/linux-mips64el': 0.25.6 - '@esbuild/linux-ppc64': 0.25.6 - '@esbuild/linux-riscv64': 0.25.6 - '@esbuild/linux-s390x': 0.25.6 - '@esbuild/linux-x64': 0.25.6 - '@esbuild/netbsd-arm64': 0.25.6 - '@esbuild/netbsd-x64': 0.25.6 - '@esbuild/openbsd-arm64': 0.25.6 - '@esbuild/openbsd-x64': 0.25.6 - '@esbuild/openharmony-arm64': 0.25.6 - '@esbuild/sunos-x64': 0.25.6 - '@esbuild/win32-arm64': 0.25.6 - '@esbuild/win32-ia32': 0.25.6 - '@esbuild/win32-x64': 0.25.6 - esbuild@0.25.8: optionalDependencies: '@esbuild/aix-ppc64': 0.25.8 @@ -28092,16 +27824,16 @@ snapshots: mind-elixir@5.0.3: {} - mini-css-extract-plugin@2.4.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + mini-css-extract-plugin@2.4.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: schema-utils: 4.3.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - mini-css-extract-plugin@2.9.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + mini-css-extract-plugin@2.9.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: schema-utils: 4.3.2 tapable: 2.2.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) minimalistic-assert@1.0.1: {} @@ -29243,7 +28975,7 @@ snapshots: postcss: 8.5.6 ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) - postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -29251,9 +28983,9 @@ snapshots: postcss: 8.5.3 schema-utils: 3.3.0 semver: 7.7.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - postcss-loader@4.3.0(postcss@8.5.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + postcss-loader@4.3.0(postcss@8.5.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -29261,16 +28993,16 @@ snapshots: postcss: 8.5.6 schema-utils: 3.3.0 semver: 7.7.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: cosmiconfig: 9.0.0(typescript@5.0.4) jiti: 1.21.7 postcss: 8.5.6 semver: 7.7.2 optionalDependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) transitivePeerDependencies: - typescript @@ -30034,11 +29766,11 @@ snapshots: raw-loader@0.5.1: {} - raw-loader@4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + raw-loader@4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) rc@1.2.8: dependencies: @@ -31305,15 +31037,15 @@ snapshots: '@tokenizer/token': 0.3.0 peek-readable: 4.1.0 - style-loader@2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + style-loader@2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - style-loader@4.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + style-loader@4.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) style-mod@4.1.2: {} @@ -31709,7 +31441,7 @@ snapshots: rimraf: 2.6.3 optional: true - terser-webpack-plugin@4.2.3(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + terser-webpack-plugin@4.2.3(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: cacache: 15.3.0 find-cache-dir: 3.3.2 @@ -31719,22 +31451,22 @@ snapshots: serialize-javascript: 5.0.1 source-map: 0.6.1 terser: 5.39.0 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) 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.25.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + terser-webpack-plugin@5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: '@jridgewell/trace-mapping': 0.3.29 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.43.1 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) optionalDependencies: '@swc/core': 1.11.29(@swc/helpers@0.5.17) - esbuild: 0.25.6 + esbuild: 0.25.8 terser@5.39.0: dependencies: @@ -31900,7 +31632,7 @@ snapshots: ts-dedent@2.2.0: {} - ts-loader@9.5.2(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + ts-loader@9.5.2(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: chalk: 4.1.2 enhanced-resolve: 5.18.2 @@ -31908,7 +31640,7 @@ snapshots: semver: 7.7.2 source-map: 0.7.4 typescript: 5.0.4 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3): dependencies: @@ -32479,7 +32211,7 @@ snapshots: vite@7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: - esbuild: 0.25.6 + esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 postcss: 8.5.6 @@ -32499,7 +32231,7 @@ snapshots: vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: - esbuild: 0.25.6 + esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 postcss: 8.5.6 @@ -32519,7 +32251,7 @@ snapshots: vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: - esbuild: 0.25.6 + esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 @@ -32539,7 +32271,7 @@ snapshots: vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: - esbuild: 0.25.6 + esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 @@ -32779,7 +32511,7 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@7.4.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + webpack-dev-middleware@7.4.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: colorette: 2.0.20 memfs: 4.17.2 @@ -32788,9 +32520,9 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.2 optionalDependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - webpack-dev-server@5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)): + webpack-dev-server@5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -32818,10 +32550,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + webpack-dev-middleware: 7.4.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6) + webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) transitivePeerDependencies: - bufferutil - debug @@ -32842,7 +32574,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6): + webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -32865,7 +32597,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.6)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) watchpack: 2.4.4 webpack-sources: 3.3.3 transitivePeerDependencies: From 78929e02930fd79ec2277f44b13d7f403134203b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 05:49:14 +0000 Subject: [PATCH 093/505] chore(deps): update svelte monorepo --- pnpm-lock.yaml | 86 +++++++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 39 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 659c0330f..bccb02826 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -807,13 +807,13 @@ importers: version: 9.31.0 '@sveltejs/adapter-auto': specifier: ^6.0.0 - version: 6.0.1(@sveltejs/kit@2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) + version: 6.0.1(@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@sveltejs/vite-plugin-svelte': specifier: ^6.0.0 - version: 6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@tailwindcss/typography': specifier: ^0.5.15 version: 0.5.16(tailwindcss@4.1.11) @@ -825,19 +825,19 @@ importers: version: 9.31.0(jiti@2.4.2) eslint-plugin-svelte: specifier: ^3.0.0 - version: 3.10.1(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.2)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)) + version: 3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.14)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)) globals: specifier: ^16.0.0 version: 16.3.0 mdsvex: specifier: ^0.12.3 - version: 0.12.6(svelte@5.36.2) + version: 0.12.6(svelte@5.36.14) svelte: specifier: ^5.0.0 - version: 5.36.2 + version: 5.36.14 svelte-check: specifier: ^4.0.0 - version: 4.2.2(picomatch@4.0.3)(svelte@5.36.2)(typescript@5.8.3) + version: 4.3.0(picomatch@4.0.3)(svelte@5.36.14)(typescript@5.8.3) tailwindcss: specifier: ^4.0.0 version: 4.1.11 @@ -5250,8 +5250,8 @@ packages: peerDependencies: '@sveltejs/kit': ^2.0.0 - '@sveltejs/kit@2.24.0': - resolution: {integrity: sha512-6aCsU6PwxB4CQBJEvLnOoSv8hoviZWDVTKDTzQoERG6vpIHeXJufVWQlyaOXrdSlqBiwknHm0nQT/S/Nn3518A==} + '@sveltejs/kit@2.25.2': + resolution: {integrity: sha512-aKfj82vqEINedoH9Pw4Ip16jj3w8soNq9F3nJqc56kxXW74TcEu/gdTAuLUI+gsl8i+KXfetRqg1F+gG/AZRVQ==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -7451,6 +7451,10 @@ packages: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} + cookie@1.0.2: + resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} + engines: {node: '>=18'} + cookiejar@2.1.4: resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} @@ -8537,8 +8541,8 @@ packages: peerDependencies: eslint: '>=8.40.0' - eslint-plugin-svelte@3.10.1: - resolution: {integrity: sha512-csCh2x0ge/DugXC7dCANh46Igi7bjMZEy6rHZCdS13AoGVJSu7a90Kru3I8oMYLGEemPRE1hQXadxvRPVMAAXQ==} + eslint-plugin-svelte@3.11.0: + resolution: {integrity: sha512-KliWlkieHyEa65aQIkRwUFfHzT5Cn4u3BQQsu3KlkJOs7c1u7ryn84EWaOjEzilbKgttT4OfBURA8Uc4JBSQIw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.1 || ^9.0.0 @@ -13865,16 +13869,16 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svelte-check@4.2.2: - resolution: {integrity: sha512-1+31EOYZ7NKN0YDMKusav2hhEoA51GD9Ws6o//0SphMT0ve9mBTsTUEX7OmDMadUP3KjNHsSKtJrqdSaD8CrGQ==} + svelte-check@4.3.0: + resolution: {integrity: sha512-Iz8dFXzBNAM7XlEIsUjUGQhbEE+Pvv9odb9+0+ITTgFWZBGeJRRYqHUUglwe2EkLD5LIsQaAc4IUJyvtKuOO5w==} engines: {node: '>= 18.0.0'} hasBin: true peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 typescript: '>=5.0.0' - svelte-eslint-parser@1.2.0: - resolution: {integrity: sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw==} + svelte-eslint-parser@1.3.0: + resolution: {integrity: sha512-VCgMHKV7UtOGcGLGNFSbmdm6kEKjtzo5nnpGU/mnx4OsFY6bZ7QwRF5DUx+Hokw5Lvdyo8dpk8B1m8mliomrNg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 @@ -13882,8 +13886,8 @@ packages: svelte: optional: true - svelte@5.36.2: - resolution: {integrity: sha512-yHthOlJZkB4zRS41JgUSdqpytw88UVr/txXcQKLy0QKwG0HVYP6VDgOEDUWlfTOlA5oYgAcjmk4TtjDuzoQliQ==} + svelte@5.36.14: + resolution: {integrity: sha512-okgNwfVa4FfDGOgd0ndooKjQz1LknUFDGfEJp6QNjYP6B4hDG0KktOP+Pta3ZtE8s+JELsYP+7nqMrJzQLkf5A==} engines: {node: '>=18'} svg-pan-zoom@3.6.2: @@ -16676,6 +16680,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-watchdog': 46.0.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.8.3)': dependencies: @@ -20930,17 +20936,17 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': + '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': dependencies: - '@sveltejs/kit': 2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/kit': 2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@sveltejs/kit@2.24.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@types/cookie': 0.6.0 acorn: 8.15.0 - cookie: 0.7.2 + cookie: 1.0.2 devalue: 5.1.1 esm-env: 1.2.2 kleur: 4.1.5 @@ -20949,26 +20955,26 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.7.1 sirv: 3.0.1 - svelte: 5.36.2 + svelte: 5.36.14 vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) - svelte: 5.36.2 + svelte: 5.36.14 vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.2)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 - svelte: 5.36.2 + svelte: 5.36.14 vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vitefu: 1.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) transitivePeerDependencies: @@ -23641,6 +23647,8 @@ snapshots: cookie@0.7.2: {} + cookie@1.0.2: {} + cookiejar@2.1.4: {} copy-anything@2.0.6: @@ -25047,7 +25055,7 @@ snapshots: eslint: 9.31.0(jiti@2.4.2) globals: 13.24.0 - eslint-plugin-svelte@3.10.1(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.2)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)): + eslint-plugin-svelte@3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.14)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)): dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) '@jridgewell/sourcemap-codec': 1.5.4 @@ -25059,9 +25067,9 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)) postcss-safe-parser: 7.0.1(postcss@8.5.6) semver: 7.7.2 - svelte-eslint-parser: 1.2.0(svelte@5.36.2) + svelte-eslint-parser: 1.3.0(svelte@5.36.14) optionalDependencies: - svelte: 5.36.2 + svelte: 5.36.14 transitivePeerDependencies: - ts-node @@ -27797,13 +27805,13 @@ snapshots: mdn-data@2.12.2: {} - mdsvex@0.12.6(svelte@5.36.2): + mdsvex@0.12.6(svelte@5.36.14): dependencies: '@types/mdast': 4.0.4 '@types/unist': 2.0.11 prism-svelte: 0.4.7 prismjs: 1.30.0 - svelte: 5.36.2 + svelte: 5.36.14 unist-util-visit: 2.0.3 vfile-message: 2.0.4 @@ -31517,19 +31525,19 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.2.2(picomatch@4.0.3)(svelte@5.36.2)(typescript@5.8.3): + svelte-check@4.3.0(picomatch@4.0.3)(svelte@5.36.14)(typescript@5.8.3): dependencies: '@jridgewell/trace-mapping': 0.3.29 chokidar: 4.0.3 fdir: 6.4.6(picomatch@4.0.3) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.36.2 + svelte: 5.36.14 typescript: 5.8.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.2.0(svelte@5.36.2): + svelte-eslint-parser@1.3.0(svelte@5.36.14): dependencies: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -31538,9 +31546,9 @@ snapshots: postcss-scss: 4.0.9(postcss@8.5.6) postcss-selector-parser: 7.1.0 optionalDependencies: - svelte: 5.36.2 + svelte: 5.36.14 - svelte@5.36.2: + svelte@5.36.14: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.4 From 2228663a7e375dc3585c2befbce5adc3bd2a3850 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 06:10:37 +0000 Subject: [PATCH 094/505] chore(deps): update dependency jiti to v2.5.0 --- package.json | 2 +- pnpm-lock.yaml | 436 ++++++++++++++++++++++++------------------------- 2 files changed, 219 insertions(+), 219 deletions(-) diff --git a/package.json b/package.json index cd4bc2306..676ba124b 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "eslint-config-prettier": "^10.0.0", "eslint-plugin-playwright": "^2.0.0", "happy-dom": "~18.0.0", - "jiti": "2.4.2", + "jiti": "2.5.0", "jsdom": "~26.1.0", "jsonc-eslint-parser": "^2.1.0", "nx": "21.3.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 75775df58..1eba79255 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -51,25 +51,25 @@ importers: version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint': specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint-plugin': specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.5.0)))(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/express': specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(express@4.21.2)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) '@nx/js': specifier: 21.3.2 version: 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/node': specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) '@nx/playwright': specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + version: 21.3.2(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/vite': specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) + version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) '@nx/web': specifier: 21.3.2 version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) @@ -105,19 +105,19 @@ importers: version: 0.25.8 eslint: specifier: ^9.8.0 - version: 9.31.0(jiti@2.4.2) + version: 9.31.0(jiti@2.5.0) eslint-config-prettier: specifier: ^10.0.0 - version: 10.1.8(eslint@9.31.0(jiti@2.4.2)) + version: 10.1.8(eslint@9.31.0(jiti@2.5.0)) eslint-plugin-playwright: specifier: ^2.0.0 - version: 2.2.0(eslint@9.31.0(jiti@2.4.2)) + version: 2.2.0(eslint@9.31.0(jiti@2.5.0)) happy-dom: specifier: ~18.0.0 version: 18.0.1 jiti: - specifier: 2.4.2 - version: 2.4.2 + specifier: 2.5.0 + version: 2.5.0 jsdom: specifier: ~26.1.0 version: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -132,7 +132,7 @@ importers: version: 0.17.0 rollup-plugin-webpack-stats: specifier: 2.1.0 - version: 2.1.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.1.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) tslib: specifier: ^2.3.0 version: 2.8.1 @@ -144,19 +144,19 @@ importers: version: 5.8.3 typescript-eslint: specifier: ^8.19.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) upath: specifier: 2.0.1 version: 2.0.1 vite: specifier: ^7.0.0 - version: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vite-plugin-dts: specifier: ~4.5.0 - version: 4.5.4(@types/node@22.16.5)(rollup@4.45.1)(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 4.5.4(@types/node@22.16.5)(rollup@4.45.1)(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.0 - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) apps/client: dependencies: @@ -331,7 +331,7 @@ importers: version: 0.7.2 vite-plugin-static-copy: specifier: 3.1.1 - version: 3.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 3.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) apps/db-compare: dependencies: @@ -801,31 +801,31 @@ importers: devDependencies: '@eslint/compat': specifier: ^1.2.5 - version: 1.3.1(eslint@9.31.0(jiti@2.4.2)) + version: 1.3.1(eslint@9.31.0(jiti@2.5.0)) '@eslint/js': specifier: ^9.18.0 version: 9.31.0 '@sveltejs/adapter-auto': specifier: ^6.0.0 - version: 6.0.1(@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) + version: 6.0.1(@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@sveltejs/vite-plugin-svelte': specifier: ^6.0.0 - version: 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@tailwindcss/typography': specifier: ^0.5.15 version: 0.5.16(tailwindcss@4.1.11) '@tailwindcss/vite': specifier: ^4.0.0 - version: 4.1.11(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 4.1.11(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) eslint: specifier: ^9.18.0 - version: 9.31.0(jiti@2.4.2) + version: 9.31.0(jiti@2.5.0) eslint-plugin-svelte: specifier: ^3.0.0 - version: 3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.14)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)) + version: 3.11.0(eslint@9.31.0(jiti@2.5.0))(svelte@5.36.14)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)) globals: specifier: ^16.0.0 version: 16.3.0 @@ -846,10 +846,10 @@ importers: version: 5.8.3 typescript-eslint: specifier: ^8.20.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) vite: specifier: ^7.0.0 - version: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) packages/ckeditor5: dependencies: @@ -892,13 +892,13 @@ importers: version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -907,10 +907,10 @@ importers: version: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) eslint: specifier: ^9.0.0 - version: 9.31.0(jiti@2.4.2) + version: 9.31.0(jiti@2.5.0) eslint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 12.0.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) http-server: specifier: ^14.1.0 version: 14.1.1 @@ -931,10 +931,10 @@ importers: version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -952,13 +952,13 @@ importers: version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -967,10 +967,10 @@ importers: version: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) eslint: specifier: ^9.0.0 - version: 9.31.0(jiti@2.4.2) + version: 9.31.0(jiti@2.5.0) eslint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 12.0.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) http-server: specifier: ^14.1.0 version: 14.1.1 @@ -991,10 +991,10 @@ importers: version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1012,13 +1012,13 @@ importers: version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1027,10 +1027,10 @@ importers: version: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) eslint: specifier: ^9.0.0 - version: 9.31.0(jiti@2.4.2) + version: 9.31.0(jiti@2.5.0) eslint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 12.0.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) http-server: specifier: ^14.1.0 version: 14.1.1 @@ -1051,10 +1051,10 @@ importers: version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1079,13 +1079,13 @@ importers: version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1094,10 +1094,10 @@ importers: version: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) eslint: specifier: ^9.0.0 - version: 9.31.0(jiti@2.4.2) + version: 9.31.0(jiti@2.5.0) eslint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 12.0.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) http-server: specifier: ^14.1.0 version: 14.1.1 @@ -1118,10 +1118,10 @@ importers: version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1146,13 +1146,13 @@ importers: version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1161,10 +1161,10 @@ importers: version: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) eslint: specifier: ^9.0.0 - version: 9.31.0(jiti@2.4.2) + version: 9.31.0(jiti@2.5.0) eslint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.0.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 12.0.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) http-server: specifier: ^14.1.0 version: 14.1.1 @@ -1185,10 +1185,10 @@ importers: version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1364,10 +1364,10 @@ importers: version: 5.21.1 '@typescript-eslint/eslint-plugin': specifier: ^8.0.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) dotenv: specifier: ^17.0.0 version: 17.2.0 @@ -1376,7 +1376,7 @@ importers: version: 0.25.8 eslint: specifier: ^9.0.0 - version: 9.31.0(jiti@2.4.2) + version: 9.31.0(jiti@2.5.0) highlight.js: specifier: ^11.8.0 version: 11.11.1 @@ -9923,8 +9923,8 @@ packages: resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true - jiti@2.4.2: - resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + jiti@2.5.0: + resolution: {integrity: sha512-NWDAhdnATItTnRhip9VTd8oXDjVcbhetRN6YzckApnXGxpGUooKMAaf0KVvlZG0+KlJMGkeLElVn4M1ReuxKUQ==} hasBin: true jju@1.4.0: @@ -17712,7 +17712,7 @@ snapshots: global-dirs: 3.0.1 got: 11.8.6 interpret: 3.1.1 - jiti: 2.4.2 + jiti: 2.5.0 listr2: 7.0.2 lodash: 4.17.21 log-symbols: 4.1.0 @@ -18216,16 +18216,16 @@ snapshots: '@esbuild/win32-x64@0.25.8': optional: true - '@eslint-community/eslint-utils@4.7.0(eslint@9.31.0(jiti@2.4.2))': + '@eslint-community/eslint-utils@4.7.0(eslint@9.31.0(jiti@2.5.0))': dependencies: - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.3.1(eslint@9.31.0(jiti@2.4.2))': + '@eslint/compat@1.3.1(eslint@9.31.0(jiti@2.5.0))': optionalDependencies: - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) '@eslint/config-array@0.21.0': dependencies: @@ -19350,14 +19350,14 @@ snapshots: - supports-color - verdaccio - '@nx/eslint-plugin@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/eslint-plugin@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.5.0)))(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) - '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/type-utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) + '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) chalk: 4.1.2 confusing-browser-globals: 1.0.11 globals: 15.15.0 @@ -19365,7 +19365,7 @@ snapshots: semver: 7.7.2 tslib: 2.8.1 optionalDependencies: - eslint-config-prettier: 10.1.8(eslint@9.31.0(jiti@2.4.2)) + eslint-config-prettier: 10.1.8(eslint@9.31.0(jiti@2.5.0)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -19377,11 +19377,11 @@ snapshots: - typescript - verdaccio - '@nx/eslint@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/eslint@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) semver: 7.7.2 tslib: 2.8.1 typescript: 5.8.3 @@ -19396,11 +19396,11 @@ snapshots: - supports-color - verdaccio - '@nx/express@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(express@4.21.2)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/express@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(express@4.21.2)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/node': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + '@nx/node': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) tslib: 2.8.1 optionalDependencies: express: 4.21.2 @@ -19492,10 +19492,10 @@ snapshots: - nx - supports-color - '@nx/node@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/node@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/jest': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) kill-port: 1.6.1 @@ -19548,10 +19548,10 @@ snapshots: '@nx/nx-win32-x64-msvc@21.3.2': optional: true - '@nx/playwright@21.3.2(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/playwright@21.3.2(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.4.2))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) minimatch: 9.0.3 @@ -19570,7 +19570,7 @@ snapshots: - typescript - verdaccio - '@nx/vite@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': + '@nx/vite@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': dependencies: '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) @@ -19581,8 +19581,8 @@ snapshots: picomatch: 4.0.2 semver: 7.7.2 tsconfig-paths: 4.2.0 - vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -20669,10 +20669,10 @@ snapshots: '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 - '@stylistic/eslint-plugin@4.4.1(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@stylistic/eslint-plugin@4.4.1(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3)': dependencies: - '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.31.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) + eslint: 9.31.0(jiti@2.5.0) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -20697,14 +20697,14 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': + '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': dependencies: - '@sveltejs/kit': 2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/kit': 2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@types/cookie': 0.6.0 acorn: 8.15.0 cookie: 1.0.2 @@ -20717,27 +20717,27 @@ snapshots: set-cookie-parser: 2.7.1 sirv: 3.0.1 svelte: 5.36.14 - vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) svelte: 5.36.14 - vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 svelte: 5.36.14 - vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vitefu: 1.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitefu: 1.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) transitivePeerDependencies: - supports-color @@ -20836,7 +20836,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 enhanced-resolve: 5.18.2 - jiti: 2.4.2 + jiti: 2.5.0 lightningcss: 1.30.1 magic-string: 0.30.17 source-map-js: 1.2.1 @@ -20904,12 +20904,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.1.11 - '@tailwindcss/vite@4.1.11(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@tailwindcss/vite@4.1.11(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@tailwindcss/node': 4.1.11 '@tailwindcss/oxide': 4.1.11 tailwindcss: 4.1.11 - vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@testing-library/dom@10.4.0': dependencies: @@ -21512,15 +21512,15 @@ snapshots: '@types/node': 22.16.5 optional: true - '@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.36.0 - '@typescript-eslint/type-utils': 8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) + '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.36.0 - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -21529,15 +21529,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.38.0 - '@typescript-eslint/type-utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) + '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.38.0 - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -21546,26 +21546,26 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.36.0 '@typescript-eslint/types': 8.36.0 '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.36.0 debug: 4.4.1(supports-color@6.0.0) - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.38.0 '@typescript-eslint/types': 8.38.0 '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.38.0 debug: 4.4.1(supports-color@6.0.0) - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -21606,24 +21606,24 @@ snapshots: dependencies: typescript: 5.8.3 - '@typescript-eslint/type-utils@8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) debug: 4.4.1(supports-color@6.0.0) - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 8.38.0 '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) debug: 4.4.1(supports-color@6.0.0) - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: @@ -21665,24 +21665,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/utils@8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.5.0)) '@typescript-eslint/scope-manager': 8.36.0 '@typescript-eslint/types': 8.36.0 '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3) - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/utils@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.5.0)) '@typescript-eslint/scope-manager': 8.38.0 '@typescript-eslint/types': 8.38.0 '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -21778,16 +21778,16 @@ snapshots: - bufferutil - utf-8-validate - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 @@ -21799,16 +21799,16 @@ snapshots: - vite optional: true - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 @@ -21819,16 +21819,16 @@ snapshots: - utf-8-validate - vite - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 @@ -21851,7 +21851,7 @@ snapshots: magicast: 0.3.5 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -21870,9 +21870,9 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) optionalDependencies: - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) transitivePeerDependencies: - supports-color @@ -21884,42 +21884,42 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.0(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: msw: 2.7.5(@types/node@22.16.5)(typescript@5.8.3) - vite: 7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: msw: 2.7.5(@types/node@22.16.5)(typescript@5.8.3) - vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) optional: true - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: msw: 2.7.5(@types/node@24.0.12)(typescript@5.8.3) - vite: 7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: msw: 2.7.5(@types/node@24.0.12)(typescript@5.8.3) - vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -21950,7 +21950,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/utils@3.2.4': dependencies: @@ -24746,23 +24746,23 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-ckeditor5@12.0.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3): + eslint-config-ckeditor5@12.0.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3): dependencies: '@eslint/js': 9.31.0 '@eslint/markdown': 6.6.0 - '@stylistic/eslint-plugin': 4.4.1(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.31.0(jiti@2.4.2) + '@stylistic/eslint-plugin': 4.4.1(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) + eslint: 9.31.0(jiti@2.5.0) eslint-plugin-ckeditor5-rules: 12.0.0 - eslint-plugin-mocha: 11.1.0(eslint@9.31.0(jiti@2.4.2)) + eslint-plugin-mocha: 11.1.0(eslint@9.31.0(jiti@2.5.0)) globals: 16.3.0 typescript: 5.8.3 - typescript-eslint: 8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + typescript-eslint: 8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) transitivePeerDependencies: - supports-color - eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)): + eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.5.0)): dependencies: - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) eslint-linter-browserify@9.31.0: {} @@ -24776,22 +24776,22 @@ snapshots: validate-npm-package-name: 6.0.1 yaml: 2.8.0 - eslint-plugin-mocha@11.1.0(eslint@9.31.0(jiti@2.4.2)): + eslint-plugin-mocha@11.1.0(eslint@9.31.0(jiti@2.5.0)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) - eslint: 9.31.0(jiti@2.4.2) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.5.0)) + eslint: 9.31.0(jiti@2.5.0) globals: 15.15.0 - eslint-plugin-playwright@2.2.0(eslint@9.31.0(jiti@2.4.2)): + eslint-plugin-playwright@2.2.0(eslint@9.31.0(jiti@2.5.0)): dependencies: - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) globals: 13.24.0 - eslint-plugin-svelte@3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.14)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)): + eslint-plugin-svelte@3.11.0(eslint@9.31.0(jiti@2.5.0))(svelte@5.36.14)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.5.0)) '@jridgewell/sourcemap-codec': 1.5.4 - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.31.0(jiti@2.5.0) esutils: 2.0.3 globals: 16.3.0 known-css-properties: 0.37.0 @@ -24819,9 +24819,9 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.31.0(jiti@2.4.2): + eslint@9.31.0(jiti@2.5.0): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.5.0)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.21.0 '@eslint/config-helpers': 0.3.0 @@ -24857,7 +24857,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.4.2 + jiti: 2.5.0 transitivePeerDependencies: - supports-color @@ -26790,7 +26790,7 @@ snapshots: jiti@1.21.7: {} - jiti@2.4.2: {} + jiti@2.5.0: {} jju@1.4.0: {} @@ -30140,10 +30140,10 @@ snapshots: robust-predicates@3.0.2: {} - rollup-plugin-stats@1.4.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + rollup-plugin-stats@1.4.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): optionalDependencies: rollup: 4.45.1 - vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) rollup-plugin-styles@4.0.0(rollup@4.40.0): dependencies: @@ -30172,12 +30172,12 @@ snapshots: '@rollup/pluginutils': 5.1.4(rollup@4.40.0) rollup: 4.40.0 - rollup-plugin-webpack-stats@2.1.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + rollup-plugin-webpack-stats@2.1.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: - rollup-plugin-stats: 1.4.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + rollup-plugin-stats: 1.4.0(rollup@4.45.1)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) optionalDependencies: rollup: 4.45.1 - vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) rollup@4.40.0: dependencies: @@ -31820,23 +31820,23 @@ snapshots: typedarray@0.0.6: {} - typescript-eslint@8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3): + typescript-eslint@8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.31.0(jiti@2.4.2) + '@typescript-eslint/eslint-plugin': 8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) + '@typescript-eslint/parser': 8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) + '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) + eslint: 9.31.0(jiti@2.5.0) typescript: 5.8.3 transitivePeerDependencies: - supports-color - typescript-eslint@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3): + typescript-eslint@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) + '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.31.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) + eslint: 9.31.0(jiti@2.5.0) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -32135,13 +32135,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@3.2.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite-node@3.2.4(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@6.0.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -32156,13 +32156,13 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite-node@3.2.4(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@6.0.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -32177,7 +32177,7 @@ snapshots: - tsx - yaml - vite-plugin-dts@4.5.4(@types/node@22.16.5)(rollup@4.45.1)(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-dts@4.5.4(@types/node@22.16.5)(rollup@4.45.1)(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: '@microsoft/api-extractor': 7.52.8(@types/node@22.16.5) '@rollup/pluginutils': 5.1.4(rollup@4.45.1) @@ -32190,34 +32190,34 @@ snapshots: magic-string: 0.30.17 typescript: 5.8.3 optionalDependencies: - vite: 7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-static-copy@3.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-static-copy@3.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: chokidar: 3.6.0 fs-extra: 11.3.0 p-map: 7.0.3 picocolors: 1.1.1 tinyglobby: 0.2.14 - vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: svgo: 3.3.2 typescript: 5.8.3 - vite: 7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: svgo: 3.3.2 typescript: 5.8.3 - vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite@7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.0(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.2) @@ -32228,7 +32228,7 @@ snapshots: optionalDependencies: '@types/node': 22.16.5 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.5.0 less: 4.1.3 lightningcss: 1.30.1 sass: 1.87.0 @@ -32237,7 +32237,7 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.2) @@ -32248,7 +32248,7 @@ snapshots: optionalDependencies: '@types/node': 24.0.12 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.5.0 less: 4.1.3 lightningcss: 1.30.1 sass: 1.87.0 @@ -32257,7 +32257,7 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) @@ -32268,7 +32268,7 @@ snapshots: optionalDependencies: '@types/node': 22.16.5 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.5.0 less: 4.1.3 lightningcss: 1.30.1 sass: 1.87.0 @@ -32277,7 +32277,7 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) @@ -32288,7 +32288,7 @@ snapshots: optionalDependencies: '@types/node': 24.0.12 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.5.0 less: 4.1.3 lightningcss: 1.30.1 sass: 1.87.0 @@ -32297,15 +32297,15 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vitefu@1.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vitefu@1.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): optionalDependencies: - vite: 7.0.5(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.0(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -32323,13 +32323,13 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.0.0(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 '@types/node': 22.16.5 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -32347,11 +32347,11 @@ snapshots: - tsx - yaml - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -32369,13 +32369,13 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 '@types/node': 24.0.12 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.12)(jiti@2.4.2)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) From 24c22e9bbfb4dbdb8516cf65f78d7ff552445e55 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 06:24:28 +0000 Subject: [PATCH 095/505] chore(deps): update dependency @ckeditor/ckeditor5-package-tools to v4.0.2 --- pnpm-lock.yaml | 1104 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 798 insertions(+), 306 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1eba79255..2c04c02c0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -322,7 +322,7 @@ importers: version: 6.2.8 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + version: 13.0.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) happy-dom: specifier: 18.0.1 version: 18.0.1 @@ -331,7 +331,7 @@ importers: version: 0.7.2 vite-plugin-static-copy: specifier: 3.1.1 - version: 3.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 3.1.1(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) apps/db-compare: dependencies: @@ -404,7 +404,7 @@ importers: version: 1.0.2 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + version: 13.0.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) electron: specifier: 37.2.4 version: 37.2.4 @@ -469,7 +469,7 @@ importers: version: 11.0.4 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + version: 13.0.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) electron: specifier: 37.2.4 version: 37.2.4 @@ -807,25 +807,25 @@ importers: version: 9.31.0 '@sveltejs/adapter-auto': specifier: ^6.0.0 - version: 6.0.1(@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) + version: 6.0.1(@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@sveltejs/vite-plugin-svelte': specifier: ^6.0.0 - version: 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@tailwindcss/typography': specifier: ^0.5.15 version: 0.5.16(tailwindcss@4.1.11) '@tailwindcss/vite': specifier: ^4.0.0 - version: 4.1.11(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 4.1.11(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) eslint: specifier: ^9.18.0 version: 9.31.0(jiti@2.5.0) eslint-plugin-svelte: specifier: ^3.0.0 - version: 3.11.0(eslint@9.31.0(jiti@2.5.0))(svelte@5.36.14)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)) + version: 3.11.0(eslint@9.31.0(jiti@2.5.0))(svelte@5.36.14)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)) globals: specifier: ^16.0.0 version: 16.3.0 @@ -849,7 +849,7 @@ importers: version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) vite: specifier: ^7.0.0 - version: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) packages/ckeditor5: dependencies: @@ -889,7 +889,7 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) @@ -898,7 +898,7 @@ importers: version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -925,16 +925,16 @@ importers: version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -949,7 +949,7 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) @@ -958,7 +958,7 @@ importers: version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -985,16 +985,16 @@ importers: version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1009,7 +1009,7 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) @@ -1018,7 +1018,7 @@ importers: version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1045,16 +1045,16 @@ importers: version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1070,13 +1070,13 @@ importers: version: 43.1.0(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.8.3) '@ckeditor/ckeditor5-dev-utils': specifier: 43.1.0 - version: 43.1.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + version: 43.1.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) '@ckeditor/ckeditor5-inspector': specifier: '>=4.1.0' version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) @@ -1085,7 +1085,7 @@ importers: version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1112,16 +1112,16 @@ importers: version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1143,7 +1143,7 @@ importers: version: 5.0.0 '@ckeditor/ckeditor5-package-tools': specifier: ^4.0.0 - version: 4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) + version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': specifier: ~8.38.0 version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) @@ -1152,7 +1152,7 @@ importers: version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1179,16 +1179,16 @@ importers: version: 12.0.0(stylelint@16.22.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -2177,6 +2177,10 @@ packages: resolution: {integrity: sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg==} engines: {node: '>=6.9.0'} + '@babel/types@7.28.1': + resolution: {integrity: sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==} + engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -2283,17 +2287,17 @@ packages: resolution: {integrity: sha512-dIjau68aLaaQtugLsHaCTuxhRL9t2bFmtTIsoUfMl1uHWpOWMdv2LeGEcDznZp633gZh6SDmrqLq2Bp2iOVBew==} engines: {node: '>=18.0.0', npm: '>=5.7.1'} - '@ckeditor/ckeditor5-dev-translations@45.0.10': - resolution: {integrity: sha512-WplydfwQNMBPr4c/0sxi/gzjO84pKDt+Kjpxvw8IyvEM8Pm6hhtDUq6hxvqHwrP2DaPBSiP8Yu4DmC3co2VIRg==} - engines: {node: '>=18.0.0', npm: '>=5.7.1'} + '@ckeditor/ckeditor5-dev-translations@50.3.1': + resolution: {integrity: sha512-QMAnbZtAaAcukpBoui1jJP3tDRxUqGGT8V87asLPW42u5LggmZ+Vw7ORtVc+2UCB/2M0ZvVYZDASjJ46NCJa9A==} + engines: {node: '>=22.0.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@45.0.10': - resolution: {integrity: sha512-qy+9myEN/c/LSQYbjwXx9P1YEIb3ms1gmTb3LwOzyZFeEZacztC5vKjEopBFQaNBy38edm9F97UXyANiZ+BUiw==} - engines: {node: '>=18.0.0', npm: '>=5.7.1'} + '@ckeditor/ckeditor5-dev-utils@50.3.1': + resolution: {integrity: sha512-Yl0yxDEI9AKKqfVk51hNZKLsYL2s0kFA06kmDkIp+ADg+IkgZRlEIkcEIZht5qSg6N9HFjh0RQQ8O0sLxRiJBA==} + engines: {node: '>=22.0.0', npm: '>=5.7.1'} '@ckeditor/ckeditor5-document-outline@46.0.0': resolution: {integrity: sha512-aLOQuPHXnHKzjQOm2Gg8O0WfzEAUJ0bDuM3nAE7/rqRja2bke2fBqWiy0pGMtVuy+TdYHpn+YGV5o012JNeKtg==} @@ -2415,8 +2419,8 @@ packages: '@ckeditor/ckeditor5-operations-compressor@46.0.0': resolution: {integrity: sha512-z7FYiUIgwm5fWF//nHdZbnuHIChxtU1BuwsPBETG6BM8lhrvExiB35kdu0FFFTpSUcgHXPUOJ0Z4bQIoEhjUMA==} - '@ckeditor/ckeditor5-package-tools@4.0.1': - resolution: {integrity: sha512-DbvmEzzTXhWgcpdbgOPFT+u+U5fCJUDHb5gfQSmIC1VgMVqvEIHMQTMQ29wcmBmGCxD8G8THWSWVcGu81oNs2A==} + '@ckeditor/ckeditor5-package-tools@4.0.2': + resolution: {integrity: sha512-Dznbs0xKNcvONJIb4FnvDC9LyUV20271N8FoSaAlCnZeNdrPoKlVJfcHAwsVPqLhtQ8mxfm6k7WnIC5aC6I9Bw==} hasBin: true '@ckeditor/ckeditor5-page-break@46.0.0': @@ -3742,6 +3746,12 @@ packages: '@keyv/serialize@1.1.0': resolution: {integrity: sha512-RlDgexML7Z63Q8BSaqhXdCYNBy/JQnqYIwxofUrNLGCblOMHp+xux2Q8nLMLlPpgHQPoU0Do8Z6btCpRBEqZ8g==} + '@kwsites/file-exists@1.1.1': + resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} + + '@kwsites/promise-deferred@1.1.1': + resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} + '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} @@ -3881,6 +3891,15 @@ packages: resolution: {integrity: sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==} engines: {node: ^18.17.0 || >=20.5.0} + '@npmcli/git@6.0.3': + resolution: {integrity: sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@npmcli/installed-package-contents@3.0.0': + resolution: {integrity: sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==} + engines: {node: ^18.17.0 || >=20.5.0} + hasBin: true + '@npmcli/move-file@1.1.2': resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} engines: {node: '>=10'} @@ -3891,6 +3910,26 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This functionality has been moved to @npmcli/fs + '@npmcli/node-gyp@4.0.0': + resolution: {integrity: sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@npmcli/package-json@6.2.0': + resolution: {integrity: sha512-rCNLSB/JzNvot0SEyXqWZ7tX2B5dD2a1br2Dp0vSYVo5jh8Z0EZ7lS9TsZ1UtziddB1UfNUaMCc538/HztnJGA==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@npmcli/promise-spawn@8.0.2': + resolution: {integrity: sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@npmcli/redact@3.2.2': + resolution: {integrity: sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@npmcli/run-script@9.1.0': + resolution: {integrity: sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==} + engines: {node: ^18.17.0 || >=20.5.0} + '@nx/devkit@21.3.2': resolution: {integrity: sha512-9OgECr93fcFVl5zwZMliCqLxVYhioY+fgBedup3xtedwNi9MEGvhx7NwchipI/FRrVG5av6T2jrry4ydhZMtPg==} peerDependencies: @@ -4854,6 +4893,30 @@ packages: '@sideway/pinpoint@2.0.0': resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + '@sigstore/bundle@3.1.0': + resolution: {integrity: sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@sigstore/core@2.0.0': + resolution: {integrity: sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@sigstore/protobuf-specs@0.4.3': + resolution: {integrity: sha512-fk2zjD9117RL9BjqEwF7fwv7Q/P9yGsMV4MUJZ/DocaQJ6+3pKr+syBq1owU5Q5qGw5CUbXzm+4yJ2JVRDQeSA==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@sigstore/sign@3.1.0': + resolution: {integrity: sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@sigstore/tuf@3.1.1': + resolution: {integrity: sha512-eFFvlcBIoGwVkkwmTi/vEQFSva3xs5Ot3WmBcjgjVdiaoelBLQaQ/ZBfhlG0MnG0cmTYScPpk7eDdGDWUcFUmg==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@sigstore/verify@2.1.1': + resolution: {integrity: sha512-hVJD77oT67aowHxwT4+M6PGOp+E2LtLdTK3+FC0lBO9T7sYwItDMXZ7Z07IDCvR1M717a4axbIWckrW67KMP/w==} + engines: {node: ^18.17.0 || >=20.5.0} + '@sinclair/typebox@0.31.28': resolution: {integrity: sha512-/s55Jujywdw/Jpan+vsy6JZs1z2ZTGxTmbZTPiuSL2wz9mfzA2gN1zzaqmvfi4pq+uOt7Du85fkiwv5ymW84aQ==} @@ -5358,6 +5421,14 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@tufjs/canonical-json@2.0.0': + resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@tufjs/models@3.0.1': + resolution: {integrity: sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==} + engines: {node: ^18.17.0 || >=20.5.0} + '@tweenjs/tween.js@25.0.0': resolution: {integrity: sha512-XKLA6syeBUaPzx4j3qwMqzzq+V4uo72BnlbOjmuljLrRqdsd3qnzvZZoxvMHZ23ndsRS4aufU6JOZYpCbU6T1A==} @@ -5676,8 +5747,8 @@ packages: '@types/multer@2.0.0': resolution: {integrity: sha512-C3Z9v9Evij2yST3RSBktxP9STm6OdMc5uR1xF1SGr98uv8dUlAL2hqwrZ3GVB3uyMyiegnscEK6PGtYvNrjTjw==} - '@types/node-forge@1.3.12': - resolution: {integrity: sha512-a0ToKlRVnUw3aXKQq2F+krxZKq7B8LEQijzPn5RdFAMatARD2JX9o8FBpMXOOrjob0uc13aN+V/AXniOXW4d9A==} + '@types/node-forge@1.3.13': + resolution: {integrity: sha512-zePQJSW5QkwSHKRApqWCVKeKoSOt4xvEnLENZPjyvm9Ezdf/EyDeJM7jqLzOwjVICQQzvLZ63T55MKdJB5H6ww==} '@types/node@16.9.1': resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==} @@ -5697,12 +5768,15 @@ packages: '@types/node@22.16.5': resolution: {integrity: sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==} - '@types/node@24.0.12': - resolution: {integrity: sha512-LtOrbvDf5ndC9Xi+4QZjVL0woFymF/xSTKZKPgrrl7H7XoeDvnD+E2IclKVDyaK9UM756W/3BXqSU+JEHopA9g==} + '@types/node@24.1.0': + resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + '@types/postcss-import@14.0.3': + resolution: {integrity: sha512-raZhRVTf6Vw5+QbmQ7LOHSDML71A5rj4+EqDzAbrZPfxfoGzFxMHRCq16VlddGIZpHELw0BG4G0YE2ANkdZiIQ==} + '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -5789,6 +5863,9 @@ packages: '@types/tabulator-tables@6.2.8': resolution: {integrity: sha512-AhyqabOXLW3k8685sOWtNAY6hrUZqabysGvEsdIuIXpFViSK/cFziiafztsP/Tveh03qqIKsXu60Mw145o9g4w==} + '@types/through2@2.0.41': + resolution: {integrity: sha512-ryQ0tidWkb1O1JuYvWKyMLYEtOWDqF5mHerJzKz/gQpoAaJq2l/dsMPBF0B5BNVT34rbARYJ5/tsZwLfUi2kwQ==} + '@types/tmp@0.2.6': resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==} @@ -6275,6 +6352,12 @@ packages: acorn-globals@6.0.0: resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + acorn-import-phases@1.0.4: + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -6894,8 +6977,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001726: - resolution: {integrity: sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw==} + caniuse-lite@1.0.30001727: + resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==} canvas-color-tracker@1.3.2: resolution: {integrity: sha512-ryQkDX26yJ3CXzb3hxUVNlg1NKE4REc5crLBq661Nxzr8TNd236SaEf2ffYLXyI5tSABSeguHLqcVq4vf9L3Zg==} @@ -7425,6 +7508,9 @@ packages: css-select@5.1.0: resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + css-select@5.2.2: + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + css-shorthand-properties@1.1.2: resolution: {integrity: sha512-C2AugXIpRGQTxaCW0N7n5jD/p5irUmCrwl03TrnMFBHDbdq44CFWR2zO7rK9xPN4Eo3pUxC4vQzQgbIpzrD1PQ==} @@ -7451,6 +7537,10 @@ packages: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -7474,8 +7564,8 @@ packages: peerDependencies: postcss: ^8.4.31 - cssnano-preset-default@7.0.7: - resolution: {integrity: sha512-jW6CG/7PNB6MufOrlovs1TvBTEVmhY45yz+bd0h6nw3h6d+1e+/TX+0fflZ+LzvZombbT5f+KC063w9VoHeHow==} + cssnano-preset-default@7.0.8: + resolution: {integrity: sha512-d+3R2qwrUV3g4LEMOjnndognKirBZISylDZAF/TPeCWVjEwlXS2e4eN4ICkoobRe7pD3H6lltinKVyS1AJhdjQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -7528,8 +7618,8 @@ packages: peerDependencies: postcss: ^8.4.31 - cssnano@7.0.7: - resolution: {integrity: sha512-evKu7yiDIF7oS+EIpwFlMF730ijRyLFaM2o5cTxRGJR9OKHKkc+qP443ZEVR9kZG0syaAJJCPJyfv5pbrxlSng==} + cssnano@7.1.0: + resolution: {integrity: sha512-Pu3rlKkd0ZtlCUzBrKL1Z4YmhKppjC1H9jo7u1o4qaKqyhvixFgu5qLyNIAOjSTg9DjVPtUqdROq2EfpVMEe+w==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -7998,8 +8088,8 @@ packages: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + diff@7.0.0: + resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} engines: {node: '>=0.3.1'} diff@8.0.2: @@ -8147,8 +8237,8 @@ packages: electron-squirrel-startup@1.0.1: resolution: {integrity: sha512-sTfFIHGku+7PsHLJ7v0dRcZNkALrV+YEozINTW8X1nM//e5O3L+rfYuvSW00lmGHnYmUjARZulD8F2V8ISI9RA==} - electron-to-chromium@1.5.179: - resolution: {integrity: sha512-UWKi/EbBopgfFsc5k61wFpV7WrnnSlSzW/e2XcBmS6qKYTivZlLtoll5/rdqRTxGglGHkmkW0j0pFNJG10EUIQ==} + electron-to-chromium@1.5.190: + resolution: {integrity: sha512-k4McmnB2091YIsdCgkS0fMVMPOJgxl93ltFzaryXqwip1AaxeDqKCGLxkXODDA5Ab/D+tV5EL5+aTx76RvLRxw==} electron-window-state@5.0.3: resolution: {integrity: sha512-1mNTwCfkolXl3kMf50yW3vE2lZj0y92P/HYWFBrb+v2S/pCka5mdwN3cagKm458A7NjndSwijynXgcLWRodsVg==} @@ -8486,6 +8576,10 @@ packages: resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} engines: {node: '>=6'} + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + exif-parser@0.1.12: resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==} @@ -8942,6 +9036,10 @@ packages: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + get-symbol-description@1.1.0: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} @@ -8980,6 +9078,11 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true + glob@11.0.3: + resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} + 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 @@ -9210,6 +9313,10 @@ packages: resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} engines: {node: ^16.14.0 || >=18.0.0} + hosted-git-info@8.1.0: + resolution: {integrity: sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==} + engines: {node: ^18.17.0 || >=20.5.0} + hpack.js@2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} @@ -9324,6 +9431,10 @@ packages: resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} hasBin: true + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} @@ -9366,6 +9477,10 @@ packages: ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + ignore-walk@7.0.0: + resolution: {integrity: sha512-T4gbf83A4NH95zvhVYZc+qWocBBGlpzUXLPGurJggw/WIOwicfXJChLDP/iBZnN5WqROSu5Bm3hhle4z8a8YGQ==} + engines: {node: ^18.17.0 || >=20.5.0} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -9799,6 +9914,10 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jackspeak@4.1.1: + resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} + engines: {node: 20 || >=22} + jake@10.9.2: resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} engines: {node: '>=10'} @@ -10031,6 +10150,10 @@ packages: json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-parse-even-better-errors@4.0.0: + resolution: {integrity: sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==} + engines: {node: ^18.17.0 || >=20.5.0} + json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -10061,6 +10184,10 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + jsonpointer@5.0.1: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} @@ -10396,6 +10523,10 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@11.1.0: + resolution: {integrity: sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==} + engines: {node: 20 || >=22} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -10841,9 +10972,9 @@ packages: mlly@1.7.4: resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} - mocha@10.8.2: - resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==} - engines: {node: '>= 14.0.0'} + mocha@11.7.1: + resolution: {integrity: sha512-5EK+Cty6KheMS/YLPPMJC64g5V61gIR25KsRItHw6x4hEKT6Njp1n9LOlH4gpevuwMVS66SXaBBpg+RWZkza4A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true mocha@7.2.0: @@ -11063,10 +11194,38 @@ packages: normalize.css@8.0.1: resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==} + npm-bundled@4.0.0: + resolution: {integrity: sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==} + engines: {node: ^18.17.0 || >=20.5.0} + + npm-install-checks@7.1.1: + resolution: {integrity: sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg==} + engines: {node: ^18.17.0 || >=20.5.0} + + npm-normalize-package-bin@4.0.0: + resolution: {integrity: sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==} + engines: {node: ^18.17.0 || >=20.5.0} + npm-package-arg@11.0.1: resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} engines: {node: ^16.14.0 || >=18.0.0} + npm-package-arg@12.0.2: + resolution: {integrity: sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==} + engines: {node: ^18.17.0 || >=20.5.0} + + npm-packlist@10.0.0: + resolution: {integrity: sha512-rht9U6nS8WOBDc53eipZNPo5qkAV4X2rhKE2Oj1DYUQ3DieXfj0mKkVmjnf3iuNdtMd8WfLdi2L6ASkD/8a+Kg==} + engines: {node: ^20.17.0 || >=22.9.0} + + npm-pick-manifest@10.0.0: + resolution: {integrity: sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==} + engines: {node: ^18.17.0 || >=20.5.0} + + npm-registry-fetch@18.0.2: + resolution: {integrity: sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==} + engines: {node: ^18.17.0 || >=20.5.0} + npm-run-path@2.0.2: resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} engines: {node: '>=4'} @@ -11168,8 +11327,8 @@ packages: open-color@1.9.1: resolution: {integrity: sha512-vCseG/EQ6/RcvxhUcGJiHViOgrtz4x0XbZepXvKik66TMGkvbmjeJrKFyBEx6daG5rNyyd14zYXhz0hZVwQFOw==} - open@10.1.2: - resolution: {integrity: sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==} + open@10.2.0: + resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} engines: {node: '>=18'} open@8.4.2: @@ -11311,6 +11470,11 @@ packages: package-manager-detector@0.2.11: resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} + pacote@21.0.0: + resolution: {integrity: sha512-lcqexq73AMv6QNLo7SOpz0JJoaGdS3rBFgF122NZVl1bApo2mfu+XzUBU/X/XsiJu+iUmKpekRayqQYAs+PhkA==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} @@ -11411,6 +11575,10 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} + path-scurry@2.0.0: + resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} + engines: {node: 20 || >=22} + path-to-regexp@0.1.12: resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} @@ -11598,8 +11766,8 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-colormin@7.0.3: - resolution: {integrity: sha512-xZxQcSyIVZbSsl1vjoqZAcMYYdnJsIyG8OvqShuuqf12S88qQboxxEy0ohNCOLwVPXTU+hFHvJPACRL2B5ohTA==} + postcss-colormin@7.0.4: + resolution: {integrity: sha512-ziQuVzQZBROpKpfeDwmrG+Vvlr0YWmY/ZAk99XD+mGEBuEojoFekL41NCsdhyNUtZI7DPOoIWIR7vQQK9xwluw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -11622,8 +11790,8 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-convert-values@7.0.5: - resolution: {integrity: sha512-0VFhH8nElpIs3uXKnVtotDJJNX0OGYSZmdt4XfSfvOMrFw1jKfpwpZxfC4iN73CTM/MWakDEmsHQXkISYj4BXw==} + postcss-convert-values@7.0.6: + resolution: {integrity: sha512-MD/eb39Mr60hvgrqpXsgbiqluawYg/8K4nKsqRsuDX9f+xN1j6awZCUv/5tLH8ak3vYp/EMXwdcnXvfZYiejCQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -11816,8 +11984,8 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-merge-rules@7.0.5: - resolution: {integrity: sha512-ZonhuSwEaWA3+xYbOdJoEReKIBs5eDiBVLAGpYZpNFPzXZcEE5VKR7/qBEQvTZpiwjqhhqEQ+ax5O3VShBj9Wg==} + postcss-merge-rules@7.0.6: + resolution: {integrity: sha512-2jIPT4Tzs8K87tvgCpSukRQ2jjd+hH6Bb8rEEOUDmmhOeTcqDg5fEFK8uKIu+Pvc3//sm3Uu6FRqfyv7YF7+BQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -11888,8 +12056,8 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-minify-params@7.0.3: - resolution: {integrity: sha512-vUKV2+f5mtjewYieanLX0xemxIp1t0W0H/D11u+kQV/MWdygOO7xPMkbK+r9P6Lhms8MgzKARF/g5OPXhb8tgg==} + postcss-minify-params@7.0.4: + resolution: {integrity: sha512-3OqqUddfH8c2e7M35W6zIwv7jssM/3miF9cbCSb1iJiWvtguQjlxZGIHK9JRmc8XAKmE2PFGtHSM7g/VcW97sw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -12128,8 +12296,8 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-normalize-unicode@7.0.3: - resolution: {integrity: sha512-EcoA29LvG3F+EpOh03iqu+tJY3uYYKzArqKJHxDhUYLa2u58aqGq16K6/AOsXD9yqLN8O6y9mmePKN5cx6krOw==} + postcss-normalize-unicode@7.0.4: + resolution: {integrity: sha512-LvIURTi1sQoZqj8mEIE8R15yvM+OhbR1avynMtI9bUzj5gGKR/gfZFd8O7VMj0QgJaIFzxDwxGl/ASMYAkqO8g==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -12224,8 +12392,8 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-reduce-initial@7.0.3: - resolution: {integrity: sha512-RFvkZaqiWtGMlVjlUHpaxGqEL27lgt+Q2Ixjf83CRAzqdo+TsDyGPtJUbPx2MuYIJ+sCQc2TrOvRnhcXQfgIVA==} + postcss-reduce-initial@7.0.4: + resolution: {integrity: sha512-rdIC9IlMBn7zJo6puim58Xd++0HdbvHeHaPgXsimMfG1ijC5A9ULvNLSE0rUKVJOvNMcwewW4Ga21ngyJjY/+Q==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -12305,8 +12473,8 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-svgo@7.0.2: - resolution: {integrity: sha512-5Dzy66JlnRM6pkdOTF8+cGsB1fnERTE8Nc+Eed++fOWo1hdsBptCsbG8UuJkgtZt75bRtMJIrPeZmtfANixdFA==} + postcss-svgo@7.1.0: + resolution: {integrity: sha512-KnAlfmhtoLz6IuU3Sij2ycusNs4jPW+QoFE5kuuUOK8awR6tMxZQrs5Ey3BUz7nFCzT3eqyFgqkyrHiaU2xx3w==} engines: {node: ^18.12.0 || ^20.9.0 || >= 18} peerDependencies: postcss: ^8.4.32 @@ -12806,8 +12974,9 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rimraf@5.0.10: - resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + rimraf@6.0.1: + resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} + engines: {node: 20 || >=22} hasBin: true roarr@2.15.4: @@ -13211,6 +13380,10 @@ packages: resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} engines: {node: '>= 0.4'} + shelljs@0.10.0: + resolution: {integrity: sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw==} + engines: {node: '>=18'} + shelljs@0.8.5: resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} engines: {node: '>=4'} @@ -13245,12 +13418,19 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + sigstore@3.1.0: + resolution: {integrity: sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==} + engines: {node: ^18.17.0 || >=20.5.0} + simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} simple-get@4.0.1: resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + simple-git@3.28.0: + resolution: {integrity: sha512-Rs/vQRwsn1ILH1oBUy8NucJlXmnnLeLCfcvbSehkPzbv3wwoFWIdtfd6Ndo6ZPhlPsCZ60CPI4rxurnwAa+a2w==} + simple-xml-to-json@1.2.3: resolution: {integrity: sha512-kWJDCr9EWtZ+/EYYM5MareWj2cRnZGF93YDNpH4jQiHB+hBIZnfPFSQiVMzZOdk+zXWqTZ/9fTeQNu2DqeiudA==} engines: {node: '>=20.12.2'} @@ -13352,6 +13532,10 @@ packages: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -13557,6 +13741,10 @@ packages: resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} engines: {node: '>=0.10.0'} + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} @@ -13622,8 +13810,8 @@ packages: peerDependencies: postcss: ^8.4.31 - stylehacks@7.0.5: - resolution: {integrity: sha512-5kNb7V37BNf0Q3w+1pxfa+oiNPS++/b4Jil9e/kPDgrk1zjEd6uR7SZeJiYaLYH6RRSC1XX2/37OTeU/4FvuIA==} + stylehacks@7.0.6: + resolution: {integrity: sha512-iitguKivmsueOmTO0wmxURXBP8uqOO+zikLGZ7Mm9e/94R4w5T999Js2taS/KBOnQ/wdC3jN3vNSrkGDrlnqQg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -13745,6 +13933,11 @@ packages: engines: {node: '>=14.0.0'} hasBin: true + svgo@4.0.0: + resolution: {integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==} + engines: {node: '>=16'} + hasBin: true + swagger-jsdoc@6.2.8: resolution: {integrity: sha512-VPvil1+JRpmJ55CgAtn8DIcpBs0bL5L3q5bVQvF4tAW/k/9JYSj7dCpaYCAv5rufe0vcCbBRQXGvzpkWjvLklQ==} engines: {node: '>=12.0.0'} @@ -14052,6 +14245,10 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + tuf-js@3.1.0: + resolution: {integrity: sha512-3T3T04WzowbwV2FDiGXBbr81t64g1MUGGJRgT4x5o97N+8ArdhVCAF9IxFrxuSJmM3E5Asn7nKHkao0ibcZXAg==} + engines: {node: ^18.17.0 || >=20.5.0} + tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -14407,6 +14604,10 @@ packages: resolution: {integrity: sha512-OaI//3H0J7ZkR1OqlhGA8cA+Cbk/2xFOQpJOt5+s27/ta9eZwpeervh4Mxh4w0im/kdgktowaqVNR7QOrUd7Yg==} engines: {node: ^18.17.0 || >=20.5.0} + validate-npm-package-name@6.0.2: + resolution: {integrity: sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==} + engines: {node: ^18.17.0 || >=20.5.0} + validator@13.15.0: resolution: {integrity: sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA==} engines: {node: '>= 0.10'} @@ -14708,8 +14909,8 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.99.9: - resolution: {integrity: sha512-brOPwM3JnmOa+7kd3NsmOUOwbDAj8FT9xDsG3IW0MgbN9yZV7Oi/s/+MNQ/EcSMqw7qfoRyXPoeEWT8zLVdVGg==} + webpack@5.100.2: + resolution: {integrity: sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -14816,8 +15017,8 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - workerpool@6.5.1: - resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} + workerpool@9.3.3: + resolution: {integrity: sha512-slxCaKbYjEdFT/o2rH9xS1hf4uRDch1w7Uo+apxhZ+sf/1d9e0ZVkn42kPNGP2dgjIx6YFvSevj0zHvbWe2jdw==} wrap-ansi@5.1.0: resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} @@ -14882,6 +15083,10 @@ packages: utf-8-validate: optional: true + wsl-utils@0.1.0: + resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} + engines: {node: '>=18'} + xml-name-validator@3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} @@ -15498,7 +15703,7 @@ snapshots: '@babel/generator@7.27.0': dependencies: - '@babel/parser': 7.28.0 + '@babel/parser': 7.27.5 '@babel/types': 7.28.0 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.29 @@ -15514,7 +15719,7 @@ snapshots: '@babel/helper-annotate-as-pure@7.25.9': dependencies: - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@babel/helper-compilation-targets@7.27.2': dependencies: @@ -15560,7 +15765,7 @@ snapshots: '@babel/helper-member-expression-to-functions@7.25.9': dependencies: '@babel/traverse': 7.28.0 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 transitivePeerDependencies: - supports-color @@ -15582,7 +15787,7 @@ snapshots: '@babel/helper-optimise-call-expression@7.25.9': dependencies: - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@babel/helper-plugin-utils@7.27.1': {} @@ -15607,7 +15812,7 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.25.9': dependencies: '@babel/traverse': 7.28.0 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 transitivePeerDependencies: - supports-color @@ -15621,7 +15826,7 @@ snapshots: dependencies: '@babel/template': 7.27.2 '@babel/traverse': 7.28.0 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 transitivePeerDependencies: - supports-color @@ -15636,7 +15841,7 @@ snapshots: '@babel/parser@7.28.0': dependencies: - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.28.0)': dependencies: @@ -16229,7 +16434,7 @@ snapshots: '@babel/template@7.27.0': dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.28.0 + '@babel/parser': 7.27.5 '@babel/types': 7.28.0 '@babel/template@7.27.2': @@ -16257,7 +16462,7 @@ snapshots: '@babel/helper-globals': 7.28.0 '@babel/parser': 7.28.0 '@babel/template': 7.27.2 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 debug: 4.4.1(supports-color@6.0.0) transitivePeerDependencies: - supports-color @@ -16267,6 +16472,11 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@babel/types@7.28.1': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@bcoe/v8-coverage@0.2.3': {} '@bcoe/v8-coverage@1.0.2': {} @@ -16565,17 +16775,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-dev-translations@45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8))': + '@ckeditor/ckeditor5-dev-translations@50.3.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8))': dependencies: '@babel/parser': 7.28.0 '@babel/traverse': 7.28.0 - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + '@ckeditor/ckeditor5-dev-utils': 50.3.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) chalk: 5.4.1 fs-extra: 11.3.0 - glob: 10.4.5 + glob: 11.0.3 plural-forms: 0.5.5 pofile: 1.1.4 - rimraf: 5.0.10 + rimraf: 6.0.1 upath: 2.0.1 webpack-sources: 3.3.3 transitivePeerDependencies: @@ -16587,59 +16797,65 @@ snapshots: - uglify-js - webpack - '@ckeditor/ckeditor5-dev-utils@43.1.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8))': + '@ckeditor/ckeditor5-dev-utils@43.1.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8))': 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.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + css-loader: 5.2.7(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) cssnano: 6.1.2(postcss@8.5.3) del: 5.1.0 - esbuild-loader: 3.0.1(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + esbuild-loader: 3.0.1(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) fs-extra: 11.3.0 is-interactive: 1.0.0 javascript-stringify: 1.6.0 - mini-css-extract-plugin: 2.4.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + mini-css-extract-plugin: 2.4.7(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) 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.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) 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.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + raw-loader: 4.0.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) shelljs: 0.8.5 - style-loader: 2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - terser-webpack-plugin: 4.2.3(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + style-loader: 2.0.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + terser-webpack-plugin: 4.2.3(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) through2: 3.0.2 transitivePeerDependencies: - bluebird - supports-color - webpack - '@ckeditor/ckeditor5-dev-utils@45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8))': + '@ckeditor/ckeditor5-dev-utils@50.3.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8))': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + '@ckeditor/ckeditor5-dev-translations': 50.3.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + '@types/postcss-import': 14.0.3 + '@types/through2': 2.0.41 chalk: 5.4.1 cli-cursor: 5.0.0 cli-spinners: 3.2.0 - css-loader: 7.1.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - cssnano: 7.0.7(postcss@8.5.6) - esbuild-loader: 4.3.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + css-loader: 7.1.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + cssnano: 7.1.0(postcss@8.5.6) + esbuild-loader: 4.3.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) fs-extra: 11.3.0 + glob: 11.0.3 is-interactive: 2.0.0 - mini-css-extract-plugin: 2.9.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - mocha: 10.8.2 + mini-css-extract-plugin: 2.9.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + mocha: 11.7.1 + pacote: 21.0.0 postcss: 8.5.6 postcss-import: 16.1.1(postcss@8.5.6) - postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) postcss-mixins: 11.0.3(postcss@8.5.6) postcss-nesting: 13.0.2(postcss@8.5.6) - raw-loader: 4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - shelljs: 0.8.5 - style-loader: 4.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + raw-loader: 4.0.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + shelljs: 0.10.0 + simple-git: 3.28.0 + style-loader: 4.0.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) through2: 4.0.2 + upath: 2.0.1 transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -16706,8 +16922,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -16730,8 +16944,6 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17049,8 +17261,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17094,29 +17304,29 @@ snapshots: es-toolkit: 1.39.5 protobufjs: 7.5.0 - '@ckeditor/ckeditor5-package-tools@4.0.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-package-tools@4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5)': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + '@ckeditor/ckeditor5-dev-translations': 50.3.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + '@ckeditor/ckeditor5-dev-utils': 50.3.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) buffer: 6.0.3 chalk: 5.4.1 - css-loader: 5.2.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + css-loader: 5.2.7(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) fs-extra: 11.3.0 glob: 7.2.3 minimist: 1.2.8 postcss: 8.5.6 - postcss-loader: 4.3.0(postcss@8.5.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + postcss-loader: 4.3.0(postcss@8.5.6)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) process: 0.11.10 - raw-loader: 4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - style-loader: 2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + raw-loader: 4.0.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + style-loader: 2.0.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) stylelint: 16.22.0(typescript@5.0.4) stylelint-config-ckeditor5: 2.0.1(stylelint@16.22.0(typescript@5.8.3)) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.0.4) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.0.4) typescript: 5.0.4 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - webpack-dev-server: 5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack-dev-server: 5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -17399,6 +17609,8 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -17972,7 +18184,7 @@ snapshots: plist: 3.1.0 resedit: 2.0.3 resolve: 1.22.10 - semver: 7.7.2 + semver: 7.7.1 yargs-parser: 21.1.1 transitivePeerDependencies: - supports-color @@ -18617,12 +18829,12 @@ snapshots: '@types/node': 22.16.5 optional: true - '@inquirer/confirm@5.1.14(@types/node@24.0.12)': + '@inquirer/confirm@5.1.14(@types/node@24.1.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.0.12) - '@inquirer/type': 3.0.8(@types/node@24.0.12) + '@inquirer/core': 10.1.15(@types/node@24.1.0) + '@inquirer/type': 3.0.8(@types/node@24.1.0) optionalDependencies: - '@types/node': 24.0.12 + '@types/node': 24.1.0 optional: true '@inquirer/core@10.1.15(@types/node@22.16.5)': @@ -18639,10 +18851,10 @@ snapshots: '@types/node': 22.16.5 optional: true - '@inquirer/core@10.1.15(@types/node@24.0.12)': + '@inquirer/core@10.1.15(@types/node@24.1.0)': dependencies: '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.0.12) + '@inquirer/type': 3.0.8(@types/node@24.1.0) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -18650,7 +18862,7 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.0.12 + '@types/node': 24.1.0 optional: true '@inquirer/figures@1.0.13': @@ -18661,9 +18873,9 @@ snapshots: '@types/node': 22.16.5 optional: true - '@inquirer/type@3.0.8(@types/node@24.0.12)': + '@inquirer/type@3.0.8(@types/node@24.1.0)': optionalDependencies: - '@types/node': 24.0.12 + '@types/node': 24.1.0 optional: true '@isaacs/balanced-match@4.0.1': {} @@ -19089,6 +19301,14 @@ snapshots: '@keyv/serialize@1.1.0': {} + '@kwsites/file-exists@1.1.1': + dependencies: + debug: 4.4.1(supports-color@6.0.0) + transitivePeerDependencies: + - supports-color + + '@kwsites/promise-deferred@1.1.1': {} + '@leichtgewicht/ip-codec@2.0.5': {} '@lezer/common@1.2.3': {} @@ -19309,6 +19529,22 @@ snapshots: dependencies: semver: 7.7.2 + '@npmcli/git@6.0.3': + dependencies: + '@npmcli/promise-spawn': 8.0.2 + ini: 5.0.0 + lru-cache: 10.4.3 + npm-pick-manifest: 10.0.0 + proc-log: 5.0.0 + promise-retry: 2.0.1 + semver: 7.7.2 + which: 5.0.0 + + '@npmcli/installed-package-contents@3.0.0': + dependencies: + npm-bundled: 4.0.0 + npm-normalize-package-bin: 4.0.0 + '@npmcli/move-file@1.1.2': dependencies: mkdirp: 1.0.4 @@ -19319,6 +19555,35 @@ snapshots: mkdirp: 1.0.4 rimraf: 3.0.2 + '@npmcli/node-gyp@4.0.0': {} + + '@npmcli/package-json@6.2.0': + dependencies: + '@npmcli/git': 6.0.3 + glob: 10.4.5 + hosted-git-info: 8.1.0 + json-parse-even-better-errors: 4.0.0 + proc-log: 5.0.0 + semver: 7.7.2 + validate-npm-package-license: 3.0.4 + + '@npmcli/promise-spawn@8.0.2': + dependencies: + which: 5.0.0 + + '@npmcli/redact@3.2.2': {} + + '@npmcli/run-script@9.1.0': + dependencies: + '@npmcli/node-gyp': 4.0.0 + '@npmcli/package-json': 6.2.0 + '@npmcli/promise-spawn': 8.0.2 + node-gyp: 11.2.0 + proc-log: 5.0.0 + which: 5.0.0 + transitivePeerDependencies: + - supports-color + '@nx/devkit@21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: ejs: 3.1.10 @@ -20344,6 +20609,38 @@ snapshots: '@sideway/pinpoint@2.0.0': {} + '@sigstore/bundle@3.1.0': + dependencies: + '@sigstore/protobuf-specs': 0.4.3 + + '@sigstore/core@2.0.0': {} + + '@sigstore/protobuf-specs@0.4.3': {} + + '@sigstore/sign@3.1.0': + dependencies: + '@sigstore/bundle': 3.1.0 + '@sigstore/core': 2.0.0 + '@sigstore/protobuf-specs': 0.4.3 + make-fetch-happen: 14.0.3 + proc-log: 5.0.0 + promise-retry: 2.0.1 + transitivePeerDependencies: + - supports-color + + '@sigstore/tuf@3.1.1': + dependencies: + '@sigstore/protobuf-specs': 0.4.3 + tuf-js: 3.1.0 + transitivePeerDependencies: + - supports-color + + '@sigstore/verify@2.1.1': + dependencies: + '@sigstore/bundle': 3.1.0 + '@sigstore/core': 2.0.0 + '@sigstore/protobuf-specs': 0.4.3 + '@sinclair/typebox@0.31.28': {} '@sinclair/typebox@0.34.38': {} @@ -20697,14 +20994,14 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': + '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': dependencies: - '@sveltejs/kit': 2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/kit': 2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/kit@2.25.2(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@types/cookie': 0.6.0 acorn: 8.15.0 cookie: 1.0.2 @@ -20717,27 +21014,27 @@ snapshots: set-cookie-parser: 2.7.1 sirv: 3.0.1 svelte: 5.36.14 - vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) svelte: 5.36.14 - vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.36.14)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 svelte: 5.36.14 - vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vitefu: 1.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitefu: 1.1.1(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) transitivePeerDependencies: - supports-color @@ -20904,12 +21201,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.1.11 - '@tailwindcss/vite@4.1.11(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@tailwindcss/vite@4.1.11(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@tailwindcss/node': 4.1.11 '@tailwindcss/oxide': 4.1.11 tailwindcss: 4.1.11 - vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@testing-library/dom@10.4.0': dependencies: @@ -20952,6 +21249,13 @@ snapshots: '@tsconfig/node16@1.0.4': {} + '@tufjs/canonical-json@2.0.0': {} + + '@tufjs/models@3.0.1': + dependencies: + '@tufjs/canonical-json': 2.0.0 + minimatch: 9.0.5 + '@tweenjs/tween.js@25.0.0': {} '@tybys/wasm-util@0.10.0': @@ -20979,23 +21283,23 @@ snapshots: '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.28.0 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.7 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@types/babel__template@7.4.4': dependencies: '@babel/parser': 7.28.0 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@types/babel__traverse@7.20.7': dependencies: - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@types/better-sqlite3@7.6.13': dependencies: @@ -21008,7 +21312,7 @@ snapshots: '@types/bonjour@3.5.13': dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 '@types/bootstrap@5.2.10': dependencies: @@ -21043,7 +21347,7 @@ snapshots: '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 5.0.7 - '@types/node': 22.16.5 + '@types/node': 24.1.0 '@types/connect@3.4.38': dependencies: @@ -21243,7 +21547,7 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 optional: true '@types/geojson@7946.0.16': {} @@ -21251,7 +21555,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.16.5 + '@types/node': 24.1.0 '@types/hast@3.0.4': dependencies: @@ -21265,7 +21569,7 @@ snapshots: '@types/http-proxy@1.17.16': dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 '@types/ini@4.1.1': {} @@ -21339,9 +21643,9 @@ snapshots: dependencies: '@types/express': 5.0.3 - '@types/node-forge@1.3.12': + '@types/node-forge@1.3.13': dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 '@types/node@16.9.1': {} @@ -21365,12 +21669,16 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@24.0.12': + '@types/node@24.1.0': dependencies: undici-types: 7.8.0 '@types/parse-json@4.0.2': {} + '@types/postcss-import@14.0.3': + dependencies: + postcss: 8.5.6 + '@types/qs@6.14.0': {} '@types/range-parser@1.2.7': {} @@ -21442,7 +21750,7 @@ snapshots: '@types/sockjs@0.3.36': dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 '@types/stack-utils@2.0.3': {} @@ -21474,6 +21782,10 @@ snapshots: '@types/tabulator-tables@6.2.8': {} + '@types/through2@2.0.41': + dependencies: + '@types/node': 24.1.0 + '@types/tmp@0.2.6': {} '@types/tough-cookie@4.0.5': {} @@ -21799,16 +22111,16 @@ snapshots: - vite optional: true - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 @@ -21819,16 +22131,16 @@ snapshots: - utf-8-validate - vite - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 @@ -21851,7 +22163,7 @@ snapshots: magicast: 0.3.5 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -21903,23 +22215,23 @@ snapshots: vite: 7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) optional: true - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.5(@types/node@24.0.12)(typescript@5.8.3) - vite: 7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + msw: 2.7.5(@types/node@24.1.0)(typescript@5.8.3) + vite: 7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.5(@types/node@24.0.12)(typescript@5.8.3) - vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + msw: 2.7.5(@types/node@24.1.0)(typescript@5.8.3) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -21950,7 +22262,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/utils@3.2.4': dependencies: @@ -22176,6 +22488,10 @@ snapshots: acorn: 7.4.1 acorn-walk: 7.2.0 + acorn-import-phases@1.0.4(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + acorn-jsx@5.3.2(acorn@8.14.1): dependencies: acorn: 8.14.1 @@ -22507,7 +22823,7 @@ snapshots: babel-plugin-jest-hoist@30.0.1: dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@types/babel__core': 7.20.5 babel-plugin-macros@3.1.0: @@ -22736,8 +23052,8 @@ snapshots: browserslist@4.25.1: dependencies: - caniuse-lite: 1.0.30001726 - electron-to-chromium: 1.5.179 + caniuse-lite: 1.0.30001727 + electron-to-chromium: 1.5.190 node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.1) @@ -22898,11 +23214,11 @@ snapshots: caniuse-api@3.0.0: dependencies: browserslist: 4.25.1 - caniuse-lite: 1.0.30001726 + caniuse-lite: 1.0.30001727 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001726: {} + caniuse-lite@1.0.30001727: {} canvas-color-tracker@1.3.2: dependencies: @@ -23046,8 +23362,6 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 - transitivePeerDependencies: - - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -23192,6 +23506,7 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + optional: true cliui@8.0.1: dependencies: @@ -23417,14 +23732,14 @@ snapshots: is-what: 3.14.1 optional: true - copy-webpack-plugin@13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + copy-webpack-plugin@13.0.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 schema-utils: 4.3.2 serialize-javascript: 6.0.2 tinyglobby: 0.2.13 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) core-js-compat@3.41.0: dependencies: @@ -23527,7 +23842,7 @@ snapshots: css-functions-list@3.2.3: {} - css-loader@5.2.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + css-loader@5.2.7(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: icss-utils: 5.1.0(postcss@8.5.6) loader-utils: 2.0.4 @@ -23539,9 +23854,9 @@ snapshots: postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.7.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - css-loader@7.1.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + css-loader@7.1.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: icss-utils: 5.1.0(postcss@8.5.6) postcss: 8.5.6 @@ -23552,7 +23867,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.2 optionalDependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) css-select@4.3.0: dependencies: @@ -23570,6 +23885,14 @@ snapshots: domutils: 3.2.2 nth-check: 2.1.1 + css-select@5.2.2: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + css-shorthand-properties@1.1.2: {} css-tree@1.1.3: @@ -23596,6 +23919,8 @@ snapshots: css-what@6.1.0: {} + css-what@6.2.2: {} + cssesc@3.0.0: {} cssnano-preset-default@5.2.14(postcss@8.5.3): @@ -23699,24 +24024,24 @@ snapshots: postcss-svgo: 7.0.1(postcss@8.5.3) postcss-unique-selectors: 7.0.3(postcss@8.5.3) - cssnano-preset-default@7.0.7(postcss@8.5.6): + cssnano-preset-default@7.0.8(postcss@8.5.6): dependencies: browserslist: 4.25.1 css-declaration-sorter: 7.2.0(postcss@8.5.6) cssnano-utils: 5.0.1(postcss@8.5.6) postcss: 8.5.6 postcss-calc: 10.1.1(postcss@8.5.6) - postcss-colormin: 7.0.3(postcss@8.5.6) - postcss-convert-values: 7.0.5(postcss@8.5.6) + postcss-colormin: 7.0.4(postcss@8.5.6) + postcss-convert-values: 7.0.6(postcss@8.5.6) postcss-discard-comments: 7.0.4(postcss@8.5.6) postcss-discard-duplicates: 7.0.2(postcss@8.5.6) postcss-discard-empty: 7.0.1(postcss@8.5.6) postcss-discard-overridden: 7.0.1(postcss@8.5.6) postcss-merge-longhand: 7.0.5(postcss@8.5.6) - postcss-merge-rules: 7.0.5(postcss@8.5.6) + postcss-merge-rules: 7.0.6(postcss@8.5.6) postcss-minify-font-values: 7.0.1(postcss@8.5.6) postcss-minify-gradients: 7.0.1(postcss@8.5.6) - postcss-minify-params: 7.0.3(postcss@8.5.6) + postcss-minify-params: 7.0.4(postcss@8.5.6) postcss-minify-selectors: 7.0.5(postcss@8.5.6) postcss-normalize-charset: 7.0.1(postcss@8.5.6) postcss-normalize-display-values: 7.0.1(postcss@8.5.6) @@ -23724,13 +24049,13 @@ snapshots: postcss-normalize-repeat-style: 7.0.1(postcss@8.5.6) postcss-normalize-string: 7.0.1(postcss@8.5.6) postcss-normalize-timing-functions: 7.0.1(postcss@8.5.6) - postcss-normalize-unicode: 7.0.3(postcss@8.5.6) + postcss-normalize-unicode: 7.0.4(postcss@8.5.6) postcss-normalize-url: 7.0.1(postcss@8.5.6) postcss-normalize-whitespace: 7.0.1(postcss@8.5.6) postcss-ordered-values: 7.0.2(postcss@8.5.6) - postcss-reduce-initial: 7.0.3(postcss@8.5.6) + postcss-reduce-initial: 7.0.4(postcss@8.5.6) postcss-reduce-transforms: 7.0.1(postcss@8.5.6) - postcss-svgo: 7.0.2(postcss@8.5.6) + postcss-svgo: 7.1.0(postcss@8.5.6) postcss-unique-selectors: 7.0.4(postcss@8.5.6) cssnano-preset-lite@4.0.3(postcss@8.5.3): @@ -23776,9 +24101,9 @@ snapshots: lilconfig: 3.1.3 postcss: 8.5.3 - cssnano@7.0.7(postcss@8.5.6): + cssnano@7.1.0(postcss@8.5.6): dependencies: - cssnano-preset-default: 7.0.7(postcss@8.5.6) + cssnano-preset-default: 7.0.8(postcss@8.5.6) lilconfig: 3.1.3 postcss: 8.5.6 @@ -24229,7 +24554,7 @@ snapshots: diff@4.0.2: {} - diff@5.2.0: {} + diff@7.0.0: {} diff@8.0.2: {} @@ -24448,7 +24773,7 @@ snapshots: transitivePeerDependencies: - supports-color - electron-to-chromium@1.5.179: {} + electron-to-chromium@1.5.190: {} electron-window-state@5.0.3: dependencies: @@ -24651,20 +24976,20 @@ snapshots: es6-promise@4.2.8: {} - esbuild-loader@3.0.1(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + esbuild-loader@3.0.1(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: esbuild: 0.25.8 get-tsconfig: 4.10.1 loader-utils: 2.0.4 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) webpack-sources: 1.4.3 - esbuild-loader@4.3.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + esbuild-loader@4.3.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: esbuild: 0.25.8 get-tsconfig: 4.10.1 loader-utils: 2.0.4 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) webpack-sources: 1.4.3 esbuild@0.25.5: @@ -24787,7 +25112,7 @@ snapshots: eslint: 9.31.0(jiti@2.5.0) globals: 13.24.0 - eslint-plugin-svelte@3.11.0(eslint@9.31.0(jiti@2.5.0))(svelte@5.36.14)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)): + eslint-plugin-svelte@3.11.0(eslint@9.31.0(jiti@2.5.0))(svelte@5.36.14)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)): dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.5.0)) '@jridgewell/sourcemap-codec': 1.5.4 @@ -24796,7 +25121,7 @@ snapshots: globals: 16.3.0 known-css-properties: 0.37.0 postcss: 8.5.6 - postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)) + postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)) postcss-safe-parser: 7.0.1(postcss@8.5.6) semver: 7.7.2 svelte-eslint-parser: 1.3.0(svelte@5.36.14) @@ -24923,6 +25248,18 @@ snapshots: signal-exit: 3.0.7 strip-eof: 1.0.0 + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + exif-parser@0.1.12: {} exit-x@0.2.2: {} @@ -25525,6 +25862,8 @@ snapshots: dependencies: pump: 3.0.3 + get-stream@6.0.1: {} + get-symbol-description@1.1.0: dependencies: call-bound: 1.0.4 @@ -25573,6 +25912,15 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 + glob@11.0.3: + dependencies: + foreground-child: 3.3.1 + jackspeak: 4.1.1 + minimatch: 10.0.3 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 2.0.0 + glob@7.1.3: dependencies: fs.realpath: 1.0.0 @@ -25880,6 +26228,10 @@ snapshots: dependencies: lru-cache: 10.4.3 + hosted-git-info@8.1.0: + dependencies: + lru-cache: 10.4.3 + hpack.js@2.1.6: dependencies: inherits: 2.0.4 @@ -26052,6 +26404,8 @@ snapshots: human-id@4.1.1: {} + human-signals@2.1.0: {} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 @@ -26094,6 +26448,10 @@ snapshots: ieee754@1.2.1: {} + ignore-walk@7.0.0: + dependencies: + minimatch: 9.0.5 + ignore@5.3.2: {} ignore@7.0.5: {} @@ -26470,6 +26828,10 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jackspeak@4.1.1: + dependencies: + '@isaacs/cliui': 8.0.2 + jake@10.9.2: dependencies: async: 3.2.6 @@ -26689,7 +27051,7 @@ snapshots: '@babel/generator': 7.28.0 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@jest/expect-utils': 30.0.5 '@jest/get-type': 30.0.1 '@jest/snapshot-utils': 30.0.5 @@ -26746,7 +27108,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -26919,6 +27281,8 @@ snapshots: json-parse-even-better-errors@2.3.1: {} + json-parse-even-better-errors@4.0.0: {} + json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} @@ -26949,6 +27313,8 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsonparse@1.3.1: {} + jsonpointer@5.0.1: optional: true @@ -27270,6 +27636,8 @@ snapshots: lru-cache@10.4.3: {} + lru-cache@11.1.0: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -27832,16 +28200,16 @@ snapshots: mind-elixir@5.0.3: {} - mini-css-extract-plugin@2.4.7(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + mini-css-extract-plugin@2.4.7(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: schema-utils: 4.3.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - mini-css-extract-plugin@2.9.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + mini-css-extract-plugin@2.9.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: schema-utils: 4.3.2 tapable: 2.2.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) minimalistic-assert@1.0.1: {} @@ -27956,27 +28324,27 @@ snapshots: pkg-types: 1.3.1 ufo: 1.6.1 - mocha@10.8.2: + mocha@11.7.1: dependencies: - ansi-colors: 4.1.3 browser-stdout: 1.3.1 - chokidar: 3.6.0 + chokidar: 4.0.3 debug: 4.4.1(supports-color@8.1.1) - diff: 5.2.0 + diff: 7.0.0 escape-string-regexp: 4.0.0 find-up: 5.0.0 - glob: 8.1.0 + glob: 10.4.5 he: 1.2.0 js-yaml: 4.1.0 log-symbols: 4.1.0 - minimatch: 5.1.6 + minimatch: 9.0.5 ms: 2.1.3 + picocolors: 1.1.1 serialize-javascript: 6.0.2 strip-json-comments: 3.1.1 supports-color: 8.1.1 - workerpool: 6.5.1 - yargs: 16.2.0 - yargs-parser: 20.2.9 + workerpool: 9.3.3 + yargs: 17.7.2 + yargs-parser: 21.1.1 yargs-unparser: 2.0.0 mocha@7.2.0: @@ -28053,12 +28421,12 @@ snapshots: - '@types/node' optional: true - msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3): + msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.14(@types/node@24.0.12) + '@inquirer/confirm': 5.1.14(@types/node@24.1.0) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -28252,6 +28620,16 @@ snapshots: normalize.css@8.0.1: {} + npm-bundled@4.0.0: + dependencies: + npm-normalize-package-bin: 4.0.0 + + npm-install-checks@7.1.1: + dependencies: + semver: 7.7.2 + + npm-normalize-package-bin@4.0.0: {} + npm-package-arg@11.0.1: dependencies: hosted-git-info: 7.0.2 @@ -28259,6 +28637,37 @@ snapshots: semver: 7.7.2 validate-npm-package-name: 5.0.1 + npm-package-arg@12.0.2: + dependencies: + hosted-git-info: 8.1.0 + proc-log: 5.0.0 + semver: 7.7.2 + validate-npm-package-name: 6.0.2 + + npm-packlist@10.0.0: + dependencies: + ignore-walk: 7.0.0 + + npm-pick-manifest@10.0.0: + dependencies: + npm-install-checks: 7.1.1 + npm-normalize-package-bin: 4.0.0 + npm-package-arg: 12.0.2 + semver: 7.7.2 + + npm-registry-fetch@18.0.2: + dependencies: + '@npmcli/redact': 3.2.2 + jsonparse: 1.3.1 + make-fetch-happen: 14.0.3 + minipass: 7.1.2 + minipass-fetch: 4.0.1 + minizlib: 3.0.2 + npm-package-arg: 12.0.2 + proc-log: 5.0.0 + transitivePeerDependencies: + - supports-color + npm-run-path@2.0.2: dependencies: path-key: 2.0.1 @@ -28405,12 +28814,12 @@ snapshots: open-color@1.9.1: {} - open@10.1.2: + open@10.2.0: dependencies: default-browser: 5.2.1 define-lazy-prop: 3.0.0 is-inside-container: 1.0.0 - is-wsl: 3.1.0 + wsl-utils: 0.1.0 open@8.4.2: dependencies: @@ -28584,6 +28993,28 @@ snapshots: dependencies: quansync: 0.2.10 + pacote@21.0.0: + dependencies: + '@npmcli/git': 6.0.3 + '@npmcli/installed-package-contents': 3.0.0 + '@npmcli/package-json': 6.2.0 + '@npmcli/promise-spawn': 8.0.2 + '@npmcli/run-script': 9.1.0 + cacache: 19.0.1 + fs-minipass: 3.0.3 + minipass: 7.1.2 + npm-package-arg: 12.0.2 + npm-packlist: 10.0.0 + npm-pick-manifest: 10.0.0 + npm-registry-fetch: 18.0.2 + proc-log: 5.0.0 + promise-retry: 2.0.1 + sigstore: 3.1.0 + ssri: 12.0.0 + tar: 6.2.1 + transitivePeerDependencies: + - supports-color + pako@1.0.11: {} pako@2.0.3: {} @@ -28676,6 +29107,11 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 + path-scurry@2.0.0: + dependencies: + lru-cache: 11.1.0 + minipass: 7.1.2 + path-to-regexp@0.1.12: {} path-to-regexp@1.9.0: @@ -28853,7 +29289,7 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-colormin@7.0.3(postcss@8.5.6): + postcss-colormin@7.0.4(postcss@8.5.6): dependencies: browserslist: 4.25.1 caniuse-api: 3.0.0 @@ -28879,7 +29315,7 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-convert-values@7.0.5(postcss@8.5.6): + postcss-convert-values@7.0.6(postcss@8.5.6): dependencies: browserslist: 4.25.1 postcss: 8.5.6 @@ -28975,15 +29411,15 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.6 - postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3)): + postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.5.6 - ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3) + ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) - postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -28991,9 +29427,9 @@ snapshots: postcss: 8.5.3 schema-utils: 3.3.0 semver: 7.7.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - postcss-loader@4.3.0(postcss@8.5.6)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + postcss-loader@4.3.0(postcss@8.5.6)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -29001,16 +29437,16 @@ snapshots: postcss: 8.5.6 schema-utils: 3.3.0 semver: 7.7.2 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: cosmiconfig: 9.0.0(typescript@5.0.4) jiti: 1.21.7 postcss: 8.5.6 semver: 7.7.2 optionalDependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) transitivePeerDependencies: - typescript @@ -29036,7 +29472,7 @@ snapshots: dependencies: postcss: 8.5.6 postcss-value-parser: 4.2.0 - stylehacks: 7.0.5(postcss@8.5.6) + stylehacks: 7.0.6(postcss@8.5.6) postcss-merge-rules@5.1.4(postcss@8.5.3): dependencies: @@ -29062,7 +29498,7 @@ snapshots: postcss: 8.5.3 postcss-selector-parser: 6.1.2 - postcss-merge-rules@7.0.5(postcss@8.5.6): + postcss-merge-rules@7.0.6(postcss@8.5.6): dependencies: browserslist: 4.25.1 caniuse-api: 3.0.0 @@ -29139,7 +29575,7 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-minify-params@7.0.3(postcss@8.5.6): + postcss-minify-params@7.0.4(postcss@8.5.6): dependencies: browserslist: 4.25.1 cssnano-utils: 5.0.1(postcss@8.5.6) @@ -29374,7 +29810,7 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@7.0.3(postcss@8.5.6): + postcss-normalize-unicode@7.0.4(postcss@8.5.6): dependencies: browserslist: 4.25.1 postcss: 8.5.6 @@ -29463,7 +29899,7 @@ snapshots: caniuse-api: 3.0.0 postcss: 8.5.3 - postcss-reduce-initial@7.0.3(postcss@8.5.6): + postcss-reduce-initial@7.0.4(postcss@8.5.6): dependencies: browserslist: 4.25.1 caniuse-api: 3.0.0 @@ -29540,11 +29976,11 @@ snapshots: postcss-value-parser: 4.2.0 svgo: 3.3.2 - postcss-svgo@7.0.2(postcss@8.5.6): + postcss-svgo@7.1.0(postcss@8.5.6): dependencies: postcss: 8.5.6 postcss-value-parser: 4.2.0 - svgo: 3.3.2 + svgo: 4.0.0 postcss-unique-selectors@5.1.1(postcss@8.5.3): dependencies: @@ -29660,7 +30096,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 22.16.5 + '@types/node': 24.1.0 long: 5.3.2 proxy-addr@2.0.7: @@ -29774,11 +30210,11 @@ snapshots: raw-loader@0.5.1: {} - raw-loader@4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + raw-loader@4.0.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) rc@1.2.8: dependencies: @@ -30124,9 +30560,10 @@ snapshots: dependencies: glob: 7.2.3 - rimraf@5.0.10: + rimraf@6.0.1: dependencies: - glob: 10.4.5 + glob: 11.0.3 + package-json-from-dist: 1.0.1 roarr@2.15.4: dependencies: @@ -30459,7 +30896,7 @@ snapshots: selfsigned@2.4.1: dependencies: - '@types/node-forge': 1.3.12 + '@types/node-forge': 1.3.13 node-forge: 1.3.1 semver-compare@1.0.0: @@ -30614,6 +31051,11 @@ snapshots: shell-quote@1.8.3: {} + shelljs@0.10.0: + dependencies: + execa: 5.1.1 + fast-glob: 3.3.3 + shelljs@0.8.5: dependencies: glob: 7.2.3 @@ -30656,6 +31098,17 @@ snapshots: signal-exit@4.1.0: {} + sigstore@3.1.0: + dependencies: + '@sigstore/bundle': 3.1.0 + '@sigstore/core': 2.0.0 + '@sigstore/protobuf-specs': 0.4.3 + '@sigstore/sign': 3.1.0 + '@sigstore/tuf': 3.1.1 + '@sigstore/verify': 2.1.1 + transitivePeerDependencies: + - supports-color + simple-concat@1.0.1: {} simple-get@4.0.1: @@ -30664,6 +31117,14 @@ snapshots: once: 1.4.0 simple-concat: 1.0.1 + simple-git@3.28.0: + dependencies: + '@kwsites/file-exists': 1.1.1 + '@kwsites/promise-deferred': 1.1.1 + debug: 4.4.1(supports-color@6.0.0) + transitivePeerDependencies: + - supports-color + simple-xml-to-json@1.2.3: {} sirv@3.0.1: @@ -30792,6 +31253,8 @@ snapshots: source-map@0.7.4: {} + source-map@0.7.6: {} + space-separated-tokens@2.0.2: {} spacetrim@0.11.59: {} @@ -31019,6 +31482,8 @@ snapshots: strip-eof@1.0.0: {} + strip-final-newline@2.0.0: {} + strip-json-comments@2.0.1: {} strip-json-comments@3.1.1: {} @@ -31045,15 +31510,15 @@ snapshots: '@tokenizer/token': 0.3.0 peek-readable: 4.1.0 - style-loader@2.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + style-loader@2.0.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - style-loader@4.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + style-loader@4.0.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) style-mod@4.1.2: {} @@ -31077,7 +31542,7 @@ snapshots: postcss: 8.5.3 postcss-selector-parser: 6.1.2 - stylehacks@7.0.5(postcss@8.5.6): + stylehacks@7.0.6(postcss@8.5.6): dependencies: browserslist: 4.25.1 postcss: 8.5.6 @@ -31321,6 +31786,16 @@ snapshots: csso: 5.0.5 picocolors: 1.1.1 + svgo@4.0.0: + dependencies: + commander: 11.1.0 + css-select: 5.2.2 + css-tree: 3.1.0 + css-what: 6.2.2 + csso: 5.0.5 + picocolors: 1.1.1 + sax: 1.4.1 + swagger-jsdoc@6.2.8(openapi-types@12.1.3): dependencies: commander: 6.2.0 @@ -31449,7 +31924,7 @@ snapshots: rimraf: 2.6.3 optional: true - terser-webpack-plugin@4.2.3(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + terser-webpack-plugin@4.2.3(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: cacache: 15.3.0 find-cache-dir: 3.3.2 @@ -31459,19 +31934,19 @@ snapshots: serialize-javascript: 5.0.1 source-map: 0.6.1 terser: 5.39.0 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) 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.25.8)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + terser-webpack-plugin@5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: '@jridgewell/trace-mapping': 0.3.29 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.43.1 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) optionalDependencies: '@swc/core': 1.11.29(@swc/helpers@0.5.17) esbuild: 0.25.8 @@ -31640,15 +32115,15 @@ snapshots: ts-dedent@2.2.0: {} - ts-loader@9.5.2(typescript@5.0.4)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + ts-loader@9.5.2(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: chalk: 4.1.2 enhanced-resolve: 5.18.2 micromatch: 4.0.8 semver: 7.7.2 - source-map: 0.7.4 + source-map: 0.7.6 typescript: 5.0.4 - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3): dependencies: @@ -31671,14 +32146,14 @@ snapshots: '@swc/core': 1.11.29(@swc/helpers@0.5.17) optional: true - ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.0.4): + ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.0.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 24.0.12 + '@types/node': 24.1.0 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -31691,14 +32166,14 @@ snapshots: optionalDependencies: '@swc/core': 1.11.29(@swc/helpers@0.5.17) - ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.0.12)(typescript@5.8.3): + ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 24.0.12 + '@types/node': 24.1.0 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -31726,6 +32201,14 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + tuf-js@3.1.0: + dependencies: + '@tufjs/models': 3.0.1 + debug: 4.4.1(supports-color@6.0.0) + make-fetch-happen: 14.0.3 + transitivePeerDependencies: + - supports-color + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 @@ -32107,6 +32590,8 @@ snapshots: validate-npm-package-name@6.0.1: {} + validate-npm-package-name@6.0.2: {} + validator@13.15.0: {} value-equal@1.0.1: {} @@ -32156,13 +32641,13 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite-node@3.2.4(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@6.0.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -32196,26 +32681,26 @@ snapshots: - rollup - supports-color - vite-plugin-static-copy@3.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-static-copy@3.1.1(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: chokidar: 3.6.0 fs-extra: 11.3.0 p-map: 7.0.3 picocolors: 1.1.1 tinyglobby: 0.2.14 - vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: svgo: 3.3.2 typescript: 5.8.3 - vite: 7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: svgo: 3.3.2 typescript: 5.8.3 - vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vite@7.0.0(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: @@ -32237,7 +32722,7 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.2) @@ -32246,7 +32731,7 @@ snapshots: rollup: 4.40.0 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.0.12 + '@types/node': 24.1.0 fsevents: 2.3.3 jiti: 2.5.0 less: 4.1.3 @@ -32277,7 +32762,7 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) @@ -32286,7 +32771,7 @@ snapshots: rollup: 4.45.1 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.0.12 + '@types/node': 24.1.0 fsevents: 2.3.3 jiti: 2.5.0 less: 4.1.3 @@ -32297,9 +32782,9 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vitefu@1.1.1(vite@7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vitefu@1.1.1(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): optionalDependencies: - vite: 7.0.5(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: @@ -32347,11 +32832,11 @@ snapshots: - tsx - yaml - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.12)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.0.12)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -32369,13 +32854,13 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 24.0.12 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.0.12)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.0.12)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@types/node': 24.1.0 + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -32519,7 +33004,7 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@7.4.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + webpack-dev-middleware@7.4.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: colorette: 2.0.20 memfs: 4.17.2 @@ -32528,9 +33013,9 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.2 optionalDependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - webpack-dev-server@5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): + webpack-dev-server@5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -32551,17 +33036,17 @@ snapshots: http-proxy-middleware: 2.0.9(@types/express@4.17.23) ipaddr.js: 2.2.0 launch-editor: 2.10.0 - open: 10.1.2 + open: 10.2.0 p-retry: 6.2.1 schema-utils: 4.3.2 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + webpack-dev-middleware: 7.4.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: - webpack: 5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) + webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) transitivePeerDependencies: - bufferutil - debug @@ -32582,7 +33067,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8): + webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -32591,6 +33076,7 @@ snapshots: '@webassemblyjs/wasm-edit': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) browserslist: 4.25.1 chrome-trace-event: 1.0.4 enhanced-resolve: 5.18.2 @@ -32605,7 +33091,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) watchpack: 2.4.4 webpack-sources: 3.3.3 transitivePeerDependencies: @@ -32732,7 +33218,7 @@ snapshots: word-wrap@1.2.5: {} - workerpool@6.5.1: {} + workerpool@9.3.3: {} wrap-ansi@5.1.0: dependencies: @@ -32787,6 +33273,10 @@ snapshots: bufferutil: 4.0.9 utf-8-validate: 6.0.5 + wsl-utils@0.1.0: + dependencies: + is-wsl: 3.1.0 + xml-name-validator@3.0.0: {} xml-name-validator@5.0.0: {} @@ -32834,7 +33324,8 @@ snapshots: camelcase: 5.3.1 decamelize: 1.2.0 - yargs-parser@20.2.9: {} + yargs-parser@20.2.9: + optional: true yargs-parser@21.1.1: {} @@ -32875,6 +33366,7 @@ snapshots: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 20.2.9 + optional: true yargs@17.7.2: dependencies: From caab0f70ff3223c00ed50eaa3af5a4094ff49921 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 06:51:51 +0000 Subject: [PATCH 096/505] chore(deps): update dependency express-openid-connect to v2.19.2 --- pnpm-lock.yaml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2c04c02c0..705a96d70 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -656,7 +656,7 @@ importers: version: 2.1.1 express-openid-connect: specifier: ^2.17.1 - version: 2.18.1(express@5.1.0) + version: 2.19.2(express@5.1.0) express-rate-limit: specifier: 8.0.1 version: 8.0.1(express@5.1.0) @@ -8606,8 +8606,8 @@ packages: resolution: {integrity: sha512-4aRQRqDQU7qNPV5av0/hLcyc0guB9UP71nCYrQEYml7YphTo8tmWf3nDZWdTJMMjFikyz9xKXaURor7Chygdwg==} engines: {node: '>=6.0.0'} - express-openid-connect@2.18.1: - resolution: {integrity: sha512-trHqgwXxWF0n/XrDsRzsvQtnBNbU03iCNXbKR/sHwBqXlvCgup341bW7B8t6nr3L/CMoDpK+9gsTnx3qLCqdjQ==} + express-openid-connect@2.19.2: + resolution: {integrity: sha512-hRRRBS+mH9hrhVcbg7+APe+dIsYB4BDLILv7QfTmM1jSDyaU9NYpTxqWourAnlud/E4Gf4Q0qCVmSJguh4BTaA==} engines: {node: ^10.19.0 || >=12.0.0 < 13 || >=13.7.0 < 14 || >= 14.2.0} peerDependencies: express: '>= 4.17.0' @@ -16729,8 +16729,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-watchdog': 46.0.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.8.3)': dependencies: @@ -16922,6 +16920,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -16944,6 +16944,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17261,6 +17263,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17609,8 +17613,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -23362,6 +23364,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -25287,7 +25291,7 @@ snapshots: transitivePeerDependencies: - supports-color - express-openid-connect@2.18.1(express@5.1.0): + express-openid-connect@2.19.2(express@5.1.0): dependencies: base64url: 3.0.1 clone: 2.1.2 From 583088058242adc6014c8f6b43f6f09d4199b686 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 06:52:40 +0000 Subject: [PATCH 097/505] chore(deps): update dependency webdriverio to v9.18.4 --- pnpm-lock.yaml | 196 +++++++++++++++++++++++++++---------------------- 1 file changed, 107 insertions(+), 89 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2c04c02c0..aef65ce75 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -898,7 +898,7 @@ importers: version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -937,7 +937,7 @@ importers: version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-footnotes: devDependencies: @@ -958,7 +958,7 @@ importers: version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -997,7 +997,7 @@ importers: version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-keyboard-marker: devDependencies: @@ -1018,7 +1018,7 @@ importers: version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1057,7 +1057,7 @@ importers: version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-math: dependencies: @@ -1085,7 +1085,7 @@ importers: version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1124,7 +1124,7 @@ importers: version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/ckeditor5-mermaid: dependencies: @@ -1152,7 +1152,7 @@ importers: version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -1191,7 +1191,7 @@ importers: version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webdriverio: specifier: ^9.0.7 - version: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + version: 9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages/codemirror: dependencies: @@ -4273,8 +4273,8 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - '@puppeteer/browsers@2.10.5': - resolution: {integrity: sha512-eifa0o+i8dERnngJwKrfp3dEq7ia5XFyoqB17S4gK8GhsQE4/P8nxOfQSE0zQHxzzLo/cmF+7+ywEQ7wK7Fb+w==} + '@puppeteer/browsers@2.10.6': + resolution: {integrity: sha512-pHUn6ZRt39bP3698HFQlu2ZHCkS/lPcpv7fVQcGBSzNNygw171UXAKrCUhy+TEMw4lEttOKDgNpb04hwUAJeiQ==} engines: {node: '>=18'} hasBin: true @@ -5756,8 +5756,8 @@ packages: '@types/node@20.17.32': resolution: {integrity: sha512-zeMXFn8zQ+UkjK4ws0RiOC9EWByyW1CcVmLe+2rQocXRsGEDxUCwPEIVgpsGcLHS/P8JkT0oa3839BRABS0oPw==} - '@types/node@20.19.6': - resolution: {integrity: sha512-uYssdp9z5zH5GQ0L4zEJ2ZuavYsJwkozjiUzCRfGtaaQcyjAMJ34aP8idv61QlqTozu6kudyr6JMq9Chf09dfA==} + '@types/node@20.19.9': + resolution: {integrity: sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==} '@types/node@22.15.21': resolution: {integrity: sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==} @@ -6226,12 +6226,12 @@ packages: '@vue/shared@3.5.14': resolution: {integrity: sha512-oXTwNxVfc9EtP1zzXAlSlgARLXNC84frFYkS0HHz0h3E4WZSP9sywqjqzGCP9Y34M8ipNmd380pVgmMuwELDyQ==} - '@wdio/config@9.17.0': - resolution: {integrity: sha512-AmP9J1GiCUj8g9aNeCuJRKAo+dET8rukVzrGQVq8jdqkj4PLjLA2hbfcQ8zQi/xwVUebnuIUT5weaomgKyb7Ng==} + '@wdio/config@9.18.0': + resolution: {integrity: sha512-fN+Z7SkKjb0u3UUMSxMN4d+CCZQKZhm/tx3eX7Rv+3T78LtpOjlesBYQ7Ax3tQ3tp8hgEo+CoOXU0jHEYubFrg==} engines: {node: '>=18.20.0'} - '@wdio/logger@9.16.2': - resolution: {integrity: sha512-6A1eVpNPToWupLIo8CXStth4HJGTfxKsAiKtwE0xQFKyDM8uPTm3YO3Nf15vCSHbmsncbYVEo7QrUwRUEB4YUg==} + '@wdio/logger@9.18.0': + resolution: {integrity: sha512-HdzDrRs+ywAqbXGKqe1i/bLtCv47plz4TvsHFH3j729OooT5VH38ctFn5aLXgECmiAKDkmH/A6kOq2Zh5DIxww==} engines: {node: '>=18.20.0'} '@wdio/protocols@9.16.2': @@ -6245,8 +6245,8 @@ packages: resolution: {integrity: sha512-P86FvM/4XQGpJKwlC2RKF3I21TglPvPOozJGG9HoL0Jmt6jRF20ggO/nRTxU0XiWkRdqESUTmfA87bdCO4GRkQ==} engines: {node: '>=18.20.0'} - '@wdio/utils@9.17.0': - resolution: {integrity: sha512-z9k8+DbhyJPLs88w/SLcUuXMdoPq2r/lE2qQ79pqWAG0jmm7kJqkBvZyndaTrSrGbh+NgjTEgh1epD1PHYtnwg==} + '@wdio/utils@9.18.0': + resolution: {integrity: sha512-M+QH05FUw25aFXZfjb+V16ydKoURgV61zeZrMjQdW2aAiks3F5iiI9pgqYT5kr1kHZcMy8gawGqQQ+RVfKYscQ==} engines: {node: '>=18.20.0'} '@webassemblyjs/ast@1.14.1': @@ -6314,8 +6314,8 @@ packages: resolution: {integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==} engines: {node: '>=18.12.0'} - '@zip.js/zip.js@2.7.63': - resolution: {integrity: sha512-B02i6QDMUQ4c+5F9LmliBGA+jFsiEHIlF0eLQ6rWLaQOD3YwI6vyWwGkVCNJnVVguE2xYyr9fAwSD/3valm1/Q==} + '@zip.js/zip.js@2.7.68': + resolution: {integrity: sha512-HkabH6ThvDh1btwLbJiLFXzUW4fNN0leoYiopCg03OWg394j8NSb/Mro4i5J0S9ZLTwbBUpFrx86TzDXQRlT4Q==} engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} '@zkochan/js-yaml@0.0.7': @@ -8182,8 +8182,8 @@ packages: resolution: {integrity: sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==} engines: {node: '>=14.0.0'} - edgedriver@6.1.1: - resolution: {integrity: sha512-/dM/PoBf22Xg3yypMWkmRQrBKEnSyNaZ7wHGCT9+qqT14izwtFT+QvdR89rjNkMfXwW+bSFoqOfbcvM+2Cyc7w==} + edgedriver@6.1.2: + resolution: {integrity: sha512-UvFqd/IR81iPyWMcxXbUNi+xKWR7JjfoHjfuwjqsj9UHQKn80RpQmS0jf+U25IPi+gKVPcpOSKm0XkqgGMq4zQ==} engines: {node: '>=18.0.0'} hasBin: true @@ -8682,8 +8682,8 @@ packages: resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} hasBin: true - fast-xml-parser@4.5.3: - resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==} + fast-xml-parser@5.2.5: + resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==} hasBin: true fastest-levenshtein@1.0.16: @@ -12946,6 +12946,10 @@ packages: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} + ret@0.5.0: + resolution: {integrity: sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==} + engines: {node: '>=10'} + retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} @@ -13084,6 +13088,9 @@ packages: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} + safe-regex2@5.0.0: + resolution: {integrity: sha512-YwJwe5a51WlK7KbOJREPdjNrpViQBI3p4T50lfwPuDhZnE3XGVTlGvi+aolc5+RvxDD6bnUmjVsU9n1eboLUYw==} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -13300,9 +13307,9 @@ packages: resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} engines: {node: '>= 18'} - serialize-error@11.0.3: - resolution: {integrity: sha512-2G2y++21dhj2R7iHAdd0FIzjGwuKZld+7Pl/bTU6YIkrC2ZMbVUjm+luj6A6V34Rv9XfKJDKpTWu9W4Gse1D9g==} - engines: {node: '>=14.16'} + serialize-error@12.0.0: + resolution: {integrity: sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw==} + engines: {node: '>=18'} serialize-error@7.0.1: resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} @@ -13766,6 +13773,9 @@ packages: strnum@1.1.2: resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} + strnum@2.1.1: + resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==} + strtok3@10.2.2: resolution: {integrity: sha512-Xt18+h4s7Z8xyZ0tmBoRmzxcop97R4BAh+dXouUDCYn+Em+1P3qpkUfI5ueWLT8ynC5hZ+q4iPEmGG1urvQGBg==} engines: {node: '>=18'} @@ -14285,10 +14295,6 @@ packages: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} - type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - type-fest@4.26.0: resolution: {integrity: sha512-OduNjVJsFbifKb57UqZ2EMP1i4u64Xwow3NYXUtBbD4vIwJdQd4+xl8YDou1dlm4DVrtwT/7Ky8z8WyCULVfxw==} engines: {node: '>=16'} @@ -14845,12 +14851,12 @@ packages: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} - webdriver@9.17.0: - resolution: {integrity: sha512-vDdW5SeAe1Fn2N79cdrRIHnbTcXlpIM1f0Ki8AHGsC0DkvYRyshnuI6kgySXN8y4+Thy/xo+vDdr0CLJF2Zqgw==} + webdriver@9.18.0: + resolution: {integrity: sha512-07lC4FLj45lHJo0FvLjUp5qkjzEGWJWKGsxLoe9rQ2Fg88iYsqgr9JfSj8qxHpazBaBd+77+ZtpmMZ2X2D1Zuw==} engines: {node: '>=18.20.0'} - webdriverio@9.17.0: - resolution: {integrity: sha512-LXLDhEUQC3AiYAPWZmpkZXBLaLzXlEGQskpG0CLx6S5hXAWNHs5wItgozrH9CfG7N6j26mc2avWN2ruy/vwrWQ==} + webdriverio@9.18.4: + resolution: {integrity: sha512-Q/gghz/Zt7EhTnbDQfLb61WgSwCksXZE60lEzmDXe4fULCH/6Js5IWUsne3W+BRy6nXeVvFscHD/d7S77dbamw==} engines: {node: '>=18.20.0'} peerDependencies: puppeteer-core: '>=22.x || <=24.x' @@ -16922,6 +16928,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -16944,6 +16952,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17261,6 +17271,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17609,8 +17621,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -20055,7 +20065,7 @@ snapshots: '@protobufjs/utf8@1.1.0': {} - '@puppeteer/browsers@2.10.5': + '@puppeteer/browsers@2.10.6': dependencies: debug: 4.4.1(supports-color@6.0.0) extract-zip: 2.0.1 @@ -21269,7 +21279,7 @@ snapshots: '@types/appdmg@0.5.5': dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 optional: true '@types/archiver@6.0.3': @@ -21653,7 +21663,7 @@ snapshots: dependencies: undici-types: 6.19.8 - '@types/node@20.19.6': + '@types/node@20.19.9': dependencies: undici-types: 6.21.0 @@ -22090,7 +22100,7 @@ snapshots: - bufferutil - utf-8-validate - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) @@ -22103,7 +22113,7 @@ snapshots: ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 - webdriverio: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriverio: 9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - msw @@ -22111,7 +22121,7 @@ snapshots: - vite optional: true - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) @@ -22124,14 +22134,14 @@ snapshots: ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 - webdriverio: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriverio: 9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) @@ -22144,7 +22154,7 @@ snapshots: ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 - webdriverio: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriverio: 9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - msw @@ -22184,7 +22194,7 @@ snapshots: tinyrainbow: 2.0.0 vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) optionalDependencies: - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) transitivePeerDependencies: - supports-color @@ -22315,11 +22325,11 @@ snapshots: '@vue/shared@3.5.14': {} - '@wdio/config@9.17.0': + '@wdio/config@9.18.0': dependencies: - '@wdio/logger': 9.16.2 + '@wdio/logger': 9.18.0 '@wdio/types': 9.16.2 - '@wdio/utils': 9.17.0 + '@wdio/utils': 9.18.0 deepmerge-ts: 7.1.5 glob: 10.4.5 import-meta-resolve: 4.1.0 @@ -22327,31 +22337,32 @@ snapshots: - bare-buffer - supports-color - '@wdio/logger@9.16.2': + '@wdio/logger@9.18.0': dependencies: chalk: 5.4.1 loglevel: 1.9.2 loglevel-plugin-prefix: 0.8.4 + safe-regex2: 5.0.0 strip-ansi: 7.1.0 '@wdio/protocols@9.16.2': {} '@wdio/repl@9.16.2': dependencies: - '@types/node': 20.19.6 + '@types/node': 20.19.9 '@wdio/types@9.16.2': dependencies: - '@types/node': 20.19.6 + '@types/node': 20.19.9 - '@wdio/utils@9.17.0': + '@wdio/utils@9.18.0': dependencies: - '@puppeteer/browsers': 2.10.5 - '@wdio/logger': 9.16.2 + '@puppeteer/browsers': 2.10.6 + '@wdio/logger': 9.18.0 '@wdio/types': 9.16.2 decamelize: 6.0.0 deepmerge-ts: 7.1.5 - edgedriver: 6.1.1 + edgedriver: 6.1.2 geckodriver: 5.0.0 get-port: 7.1.0 import-meta-resolve: 4.1.0 @@ -22455,7 +22466,7 @@ snapshots: js-yaml: 3.14.1 tslib: 2.8.1 - '@zip.js/zip.js@2.7.63': {} + '@zip.js/zip.js@2.7.68': {} '@zkochan/js-yaml@0.0.7': dependencies: @@ -23362,6 +23373,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -24666,13 +24679,13 @@ snapshots: '@types/which': 2.0.2 which: 2.0.2 - edgedriver@6.1.1: + edgedriver@6.1.2: dependencies: - '@wdio/logger': 9.16.2 - '@zip.js/zip.js': 2.7.63 + '@wdio/logger': 9.18.0 + '@zip.js/zip.js': 2.7.68 decamelize: 6.0.0 edge-paths: 3.0.5 - fast-xml-parser: 4.5.3 + fast-xml-parser: 5.2.5 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 node-fetch: 3.3.2 @@ -25443,9 +25456,9 @@ snapshots: dependencies: strnum: 1.1.2 - fast-xml-parser@4.5.3: + fast-xml-parser@5.2.5: dependencies: - strnum: 1.1.2 + strnum: 2.1.1 fastest-levenshtein@1.0.16: {} @@ -25785,8 +25798,8 @@ snapshots: geckodriver@5.0.0: dependencies: - '@wdio/logger': 9.16.2 - '@zip.js/zip.js': 2.7.63 + '@wdio/logger': 9.18.0 + '@zip.js/zip.js': 2.7.68 decamelize: 6.0.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -27102,7 +27115,7 @@ snapshots: jest-worker@26.6.2: dependencies: - '@types/node': 22.16.5 + '@types/node': 24.1.0 merge-stream: 2.0.0 supports-color: 7.2.0 @@ -30541,6 +30554,8 @@ snapshots: onetime: 7.0.0 signal-exit: 4.1.0 + ret@0.5.0: {} + retry@0.12.0: {} retry@0.13.1: {} @@ -30733,6 +30748,10 @@ snapshots: es-errors: 1.3.0 is-regex: 1.2.1 + safe-regex2@5.0.0: + dependencies: + ret: 0.5.0 + safer-buffer@2.1.2: {} sanitize-filename@1.6.3: @@ -30948,9 +30967,9 @@ snapshots: transitivePeerDependencies: - supports-color - serialize-error@11.0.3: + serialize-error@12.0.0: dependencies: - type-fest: 2.19.0 + type-fest: 4.41.0 serialize-error@7.0.1: dependencies: @@ -31500,6 +31519,8 @@ snapshots: strnum@1.1.2: {} + strnum@2.1.1: {} + strtok3@10.2.2: dependencies: '@tokenizer/token': 0.3.0 @@ -32250,12 +32271,9 @@ snapshots: type-fest@1.4.0: {} - type-fest@2.19.0: {} - type-fest@4.26.0: {} - type-fest@4.41.0: - optional: true + type-fest@4.41.0: {} type-is@1.6.18: dependencies: @@ -32814,7 +32832,7 @@ snapshots: optionalDependencies: '@types/debug': 4.1.12 '@types/node': 22.16.5 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -32860,7 +32878,7 @@ snapshots: optionalDependencies: '@types/debug': 4.1.12 '@types/node': 24.1.0 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -32944,15 +32962,15 @@ snapshots: web-streams-polyfill@3.3.3: {} - webdriver@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): + webdriver@9.18.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: - '@types/node': 20.19.6 + '@types/node': 20.19.9 '@types/ws': 8.18.1 - '@wdio/config': 9.17.0 - '@wdio/logger': 9.16.2 + '@wdio/config': 9.18.0 + '@wdio/logger': 9.18.0 '@wdio/protocols': 9.16.2 '@wdio/types': 9.16.2 - '@wdio/utils': 9.17.0 + '@wdio/utils': 9.18.0 deepmerge-ts: 7.1.5 https-proxy-agent: 7.0.6 undici: 6.21.3 @@ -32963,16 +32981,16 @@ snapshots: - supports-color - utf-8-validate - webdriverio@9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): + webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: - '@types/node': 20.19.6 + '@types/node': 20.19.9 '@types/sinonjs__fake-timers': 8.1.5 - '@wdio/config': 9.17.0 - '@wdio/logger': 9.16.2 + '@wdio/config': 9.18.0 + '@wdio/logger': 9.18.0 '@wdio/protocols': 9.16.2 '@wdio/repl': 9.16.2 '@wdio/types': 9.16.2 - '@wdio/utils': 9.17.0 + '@wdio/utils': 9.18.0 archiver: 7.0.1 aria-query: 5.3.2 cheerio: 1.1.2 @@ -32987,9 +33005,9 @@ snapshots: query-selector-shadow-dom: 1.0.1 resq: 1.11.0 rgb2hex: 0.2.5 - serialize-error: 11.0.3 + serialize-error: 12.0.0 urlpattern-polyfill: 10.1.0 - webdriver: 9.17.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + webdriver: 9.18.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bare-buffer - bufferutil From 84fa0002b9c1bf9a4b315d305686ef117e7f3c13 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 07:22:18 +0000 Subject: [PATCH 098/505] chore(deps): update nx monorepo to v21.3.5 --- package.json | 22 ++-- pnpm-lock.yaml | 305 ++++++++++++++++++++++++------------------------- 2 files changed, 161 insertions(+), 166 deletions(-) diff --git a/package.json b/package.json index 676ba124b..8d8d2e8e3 100644 --- a/package.json +++ b/package.json @@ -27,16 +27,16 @@ "private": true, "devDependencies": { "@electron/rebuild": "4.0.1", - "@nx/devkit": "21.3.2", - "@nx/esbuild": "21.3.2", - "@nx/eslint": "21.3.2", - "@nx/eslint-plugin": "21.3.2", - "@nx/express": "21.3.2", - "@nx/js": "21.3.2", - "@nx/node": "21.3.2", - "@nx/playwright": "21.3.2", - "@nx/vite": "21.3.2", - "@nx/web": "21.3.2", + "@nx/devkit": "21.3.5", + "@nx/esbuild": "21.3.5", + "@nx/eslint": "21.3.5", + "@nx/eslint-plugin": "21.3.5", + "@nx/express": "21.3.5", + "@nx/js": "21.3.5", + "@nx/node": "21.3.5", + "@nx/playwright": "21.3.5", + "@nx/vite": "21.3.5", + "@nx/web": "21.3.5", "@playwright/test": "^1.36.0", "@triliumnext/server": "workspace:*", "@types/express": "^5.0.0", @@ -54,7 +54,7 @@ "jiti": "2.5.0", "jsdom": "~26.1.0", "jsonc-eslint-parser": "^2.1.0", - "nx": "21.3.2", + "nx": "21.3.5", "react-refresh": "^0.17.0", "rollup-plugin-webpack-stats": "2.1.0", "tslib": "^2.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 341955879..7bf024c48 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,35 +44,35 @@ importers: specifier: 4.0.1 version: 4.0.1 '@nx/devkit': - specifier: 21.3.2 - version: 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.5 + version: 21.3.5(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/esbuild': - specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.5 + version: 21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint': - specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.5 + version: 21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint-plugin': - specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.5.0)))(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.3.5 + version: 21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.5.0)))(eslint@9.31.0(jiti@2.5.0))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/express': - specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(express@4.21.2)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.3.5 + version: 21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(express@4.21.2)(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) '@nx/js': - specifier: 21.3.2 - version: 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.5 + version: 21.3.5(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/node': - specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.3.5 + version: 21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) '@nx/playwright': - specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.3.5 + version: 21.3.5(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/vite': - specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) + specifier: 21.3.5 + version: 21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) '@nx/web': - specifier: 21.3.2 - version: 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.5 + version: 21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@playwright/test': specifier: ^1.36.0 version: 1.54.1 @@ -125,8 +125,8 @@ importers: specifier: ^2.1.0 version: 2.4.0 nx: - specifier: 21.3.2 - version: 21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + specifier: 21.3.5 + version: 21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) react-refresh: specifier: ^0.17.0 version: 0.17.0 @@ -3930,21 +3930,21 @@ packages: resolution: {integrity: sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==} engines: {node: ^18.17.0 || >=20.5.0} - '@nx/devkit@21.3.2': - resolution: {integrity: sha512-9OgECr93fcFVl5zwZMliCqLxVYhioY+fgBedup3xtedwNi9MEGvhx7NwchipI/FRrVG5av6T2jrry4ydhZMtPg==} + '@nx/devkit@21.3.5': + resolution: {integrity: sha512-YTmjD+kqDUapfcV37IgVddLZL4oOoFVXO0dFKsYSkx/FNmhccTbeXxgsdcyRTJY6gCwsFJ+4X0aIv8NxebWYaw==} peerDependencies: - nx: 21.3.2 + nx: 21.3.5 - '@nx/esbuild@21.3.2': - resolution: {integrity: sha512-CQTZLfBOwsqXs+Tpljl654/HeVUe+z4r6RmoCUa4TuKQuM8wJ48TcGFBE46BWStxjQgFDbhsakJe4NWzNRxKSw==} + '@nx/esbuild@21.3.5': + resolution: {integrity: sha512-RHIAqhQdJCBmkThR5B956rlHcljfO3B7FOhe7zvJI2BGo5JWduJaSKDSIVFgirgcqva3AMxhopgH5kx8FD0Tfg==} peerDependencies: esbuild: '>=0.25.0' peerDependenciesMeta: esbuild: optional: true - '@nx/eslint-plugin@21.3.2': - resolution: {integrity: sha512-BPnT0d1eLdIptYGobmJm9z165KlY03ATnNdUCe+yoQ7pCZLiGwLWmylX65keNmTK9PYDDkTafkpWiCvEv2K6fQ==} + '@nx/eslint-plugin@21.3.5': + resolution: {integrity: sha512-zT2cNecTd1H9I3OAoLvIBAMq5w3yt1xRtwA1H6SiUC1SizBAG9WQcY1WU4SAb5KqDVB5XcOKD3p2R4HAtDsd2A==} peerDependencies: '@typescript-eslint/parser': ^6.13.2 || ^7.0.0 || ^8.0.0 eslint-config-prettier: ^10.0.0 @@ -3952,8 +3952,8 @@ packages: eslint-config-prettier: optional: true - '@nx/eslint@21.3.2': - resolution: {integrity: sha512-pMCxdNVbQydqmXYQqc3E7xGFHYFGeCaUoID8elAjfD+d38u1Xp2tb81bPVoLhd5MivNzRwdovT7ynsafEhIcLw==} + '@nx/eslint@21.3.5': + resolution: {integrity: sha512-5+W1Mh6JaMbWFMyw+srP8s77Ig1+0yTtJlR+gXMAczuT5BNs/GbAxrArycCw8Q5pftP4BUGuYHOkjDUpiKWLew==} peerDependencies: '@zkochan/js-yaml': 0.0.7 eslint: ^8.0.0 || ^9.0.0 @@ -3961,97 +3961,97 @@ packages: '@zkochan/js-yaml': optional: true - '@nx/express@21.3.2': - resolution: {integrity: sha512-CK1d2wQaU3OncE4TQRZRdiD6G10gfFymIcFAUm8LCVwwmRCbqCb0uBlVcEwZauMR8rpgYk0J1DHoY/UIZ2VSyg==} + '@nx/express@21.3.5': + resolution: {integrity: sha512-KEjNCsYOhTydyPhJT+9DjgGdIiRDoeOtD2PRICnQylNzVnTF2X5sXlMp8iKL4GZ8f+JoJ+my/nOU//WYNs8lVQ==} peerDependencies: express: ^4.21.2 peerDependenciesMeta: express: optional: true - '@nx/jest@21.3.2': - resolution: {integrity: sha512-38G/JSJWPSqHeUavOZFyes1noyc7UK0Y9yzbFOi46W6OCby+vzCAvIx8L7I2fuE22ar4+Yj5VgXQXWUwxP5rXA==} + '@nx/jest@21.3.5': + resolution: {integrity: sha512-0mkZeJ4Za84UJhokUAnKYHaTczO6zHqhC6+wztco3LSjp1rKmp4yhUYYq+utGnVv9Oh7+zZg/HMITDe33hcWKw==} - '@nx/js@21.3.2': - resolution: {integrity: sha512-W2xB0F75ujJLlTu//FMAXNpWwiDYJmaP+WCXdW7rnCq9xatE0gtF/UhGp4xObD+aOc9xBsQOi0IeilA4SvmAjg==} + '@nx/js@21.3.5': + resolution: {integrity: sha512-VGTQ3qIlQ3L4cX0e5lePK/suz8z78WvASrZBQz4tCnq/0+4BznZajAQHaHv2g8Dh3g0Jh62EQL9fs4Tj1oe4rA==} peerDependencies: verdaccio: ^6.0.5 peerDependenciesMeta: verdaccio: optional: true - '@nx/node@21.3.2': - resolution: {integrity: sha512-YqasXzNwxISEyVSfDiGemU8kgFAFGL09eB6Px/eNDqgoMhH+Ln+r1EfFNatDaR6I5bmYgWp9kTIp3sRo8LR11A==} + '@nx/node@21.3.5': + resolution: {integrity: sha512-cBq1urysG9OjNGR5usalsc3ZnZt31uqIgFsnmumwAjEfybBMzpbwSfA5PkhyyA+MZhw4GrHt4fHARdpPFRHnuw==} - '@nx/nx-darwin-arm64@21.3.2': - resolution: {integrity: sha512-HMW4iDmTJNN4vJaql77IeQ91DSbZ1qMB5+8GDNCwHibcgEhTE9u82ErfLlpfq0lvg8EommGOcUM3seEdMTEOUQ==} + '@nx/nx-darwin-arm64@21.3.5': + resolution: {integrity: sha512-QKWtKjIdYS2foDo/4ojvVr5NjrtY8IcHPyFFATAk7v5BWe2tEGh6pPDj8GRqvSqZPWSBZNDcJ6efovJyka6yzw==} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@21.3.2': - resolution: {integrity: sha512-PyNcTT1Yaeq6xjLzxE1EVCAxcBacps7AZKBT4GGUB+NKLlA8oxTBzqUmQlg61rxWmiJ7ELYY6SzHX+7YH0kGwA==} + '@nx/nx-darwin-x64@21.3.5': + resolution: {integrity: sha512-X06eb6lzuln9ZHh7L8430s4Cc7pi5mihU3IlJsN0rbgdCp2PMlOsJ/8P/zw/DBwq6qmTuVwZ8Xk01VOVtWZT0w==} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@21.3.2': - resolution: {integrity: sha512-BYkccbz5/PUu7BaB7TcXeSiLe1HzTZCT5q5kkLp0Z3OUJFG1YrSR+a+ktP29H9pzdYvjCqIeTvRw0Y5epdtfmg==} + '@nx/nx-freebsd-x64@21.3.5': + resolution: {integrity: sha512-+ZWvAn/1UD4Wwduv5nhcXWIUcev1JDEEsNBesGvFWS4c19dBk8vaUpUv3YQspwRUgAGdfYw1CWqDDOYvGFrZ3w==} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@21.3.2': - resolution: {integrity: sha512-mdHXshxXegYbpmN6w+hkEXu2ieXaN2qmNygF8nF/hgJ2Q4JiS+DJ2G6QEajxrpA/cmMC6VoDnnux+fYb6PipZQ==} + '@nx/nx-linux-arm-gnueabihf@21.3.5': + resolution: {integrity: sha512-JeSw0/WdVo4AxCKWRrH686rxu9jHzKnl/IY1m+/jiIPq2yUPUUxqSj9+Xesvp9K3plAmZFlSulbfd8BX15/cEw==} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@21.3.2': - resolution: {integrity: sha512-PsCZC3emzGKMM+7n8Qsp7RsP6v3qwAwmBZncgBUNq1QMg9VrFrsKfMcZtJdwkdMzK3jQwHn20nSM8TMO5/aLsQ==} + '@nx/nx-linux-arm64-gnu@21.3.5': + resolution: {integrity: sha512-TlMhwwj75cP67m/qYuSAmvdMMW6oASELo3uxRJ9PbpyTRiCmQZoqjZqALL/48rAEk1Ig69o83RI4pIMRkGMQUw==} cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@21.3.2': - resolution: {integrity: sha512-lA/fNora74mBFSQp6HG4FfOkoUBnAfraF7Cc9TR4Z50lZDgXFMPf0Gn4Qdvpphl3ydmsU8bXmzu/ckHWJwuELA==} + '@nx/nx-linux-arm64-musl@21.3.5': + resolution: {integrity: sha512-GZBMLTJFP9H9/o26jSfqxwlBoZ4c0FNBl8rJ3tOC9jCNHn7wcMJKaVbp0dUKDgUtyzATa5poJsdClG84zMnHdA==} cpu: [arm64] os: [linux] - '@nx/nx-linux-x64-gnu@21.3.2': - resolution: {integrity: sha512-gpBmox+M9vmUDJppp8nY73RgpHU9QJE201Ey+YBbgEn+TSaFwkxdwqmsJGnysqNpUU9I6VWEd3bFcEZNczTHWA==} + '@nx/nx-linux-x64-gnu@21.3.5': + resolution: {integrity: sha512-rNZ2X+h3AbF+vM3zKcpv122Eu5fyYS0079iNiYAHNknwLPJUlvDEQU3nu6ts8Hw1zSjxzibHbWZghSfZRAIHZA==} cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@21.3.2': - resolution: {integrity: sha512-QOQiEKotsIb6u3J4KQlfqfQFy6PXfJe56sCeoQAYuRUMXCiuTPr+Z2V43v1UcAZOu4beDEcP+saRN7EucsWeHA==} + '@nx/nx-linux-x64-musl@21.3.5': + resolution: {integrity: sha512-LtsDUhrH0sVl7gBSsJ+cy/cKH71PorysOhJqTrE7Z5UVpnWu+1djiOsbEDRAheyUf80QfFA8xC239Pi+QG3T/w==} cpu: [x64] os: [linux] - '@nx/nx-win32-arm64-msvc@21.3.2': - resolution: {integrity: sha512-LaZhp+LmO0nd2BLV40BlFkKBQWPUwcNje98B7v1/mvHhE1M6r8pMSgRuHGJXcolaWAoOiJJXhGor84zn5UiYRw==} + '@nx/nx-win32-arm64-msvc@21.3.5': + resolution: {integrity: sha512-lmhzLTVXzQNa0em6v0gBCfswpD5vdgtcjUxr5flR6ylWYo0hVYD4w/EqoymqXq0rU94lx28lksmKX0vhNH5aiw==} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@21.3.2': - resolution: {integrity: sha512-efIYgmjiNbthAbsXv5cG6C4kUOlvNIbCtHQo5GkVRcoeoGrLYbE8tJobeP+hEujBseK628rG8yI7Q9calT803g==} + '@nx/nx-win32-x64-msvc@21.3.5': + resolution: {integrity: sha512-8ljAlmV96WUK7NbXCL96HDxP7Qm6MDKgz/8mD4XtMJIWvZ098VDv4+1Ce2lK366grQRmNQfYVUuhwPppnJfqug==} cpu: [x64] os: [win32] - '@nx/playwright@21.3.2': - resolution: {integrity: sha512-XDYKLs3XitTNjDRmt6Y83bx3/tFNJUQ2nCvEUME2PFUUycB9Uga/KurT7gte7MviHuMR80lpwl8AnA09eRmu2A==} + '@nx/playwright@21.3.5': + resolution: {integrity: sha512-Az4Ca2hsDFZ0iy34ns6YQggyw9fSYAmELiUa3nYPraG9gaXcnwqp/ZDP7m6jO941VJorIuhb08TJ14Ls/RkVdQ==} peerDependencies: '@playwright/test': ^1.36.0 peerDependenciesMeta: '@playwright/test': optional: true - '@nx/vite@21.3.2': - resolution: {integrity: sha512-h9CdI6veDidbaQ0WpJ0N1YJZMq2ondaqgEhaHLL0Tiv+qJ1fmQ7EaT54neCsrXaw+D/vFUmo0JaCy0ArEWUpGQ==} + '@nx/vite@21.3.5': + resolution: {integrity: sha512-oM3g187KmDplm3Cag8mDYI70kM+jP/JOoffqe9Xi3g8ZsiB+HAz6ZL+tSZfPD7b1/I8PJPU0T4/v+CcE+mBvuQ==} peerDependencies: vite: ^5.0.0 || ^6.0.0 vitest: ^1.3.1 || ^2.0.0 || ^3.0.0 - '@nx/web@21.3.2': - resolution: {integrity: sha512-r3DHEE17SqifqfIetTvYkfbMe8lPpa06gJN8SR7ESsmcX7vOKJHkkh9GkKonvvhDXKTjq1ub3l2Vo4be6yGb3A==} + '@nx/web@21.3.5': + resolution: {integrity: sha512-xrec207mYF0Z6MHdv/cdxGOSYb05BK/j/5vNdGfZDvia4PbKLpOZ+ai5kFeVCamC1ngoYz37pTf2W7hJ2LpLUQ==} - '@nx/workspace@21.3.2': - resolution: {integrity: sha512-qz9oZcxEs9rTttdyyq4haF8dilz1oZLshqBRDmwQItCCRnTIaAl09T7Z5F2ZD68DP4ZmFvyzJleRZTEXvj12uA==} + '@nx/workspace@21.3.5': + resolution: {integrity: sha512-jvA/wVOzMANHIvyz+9ACkK/twUaYHWgzDbES+xnQDdNMnjzkbgHPWdeTnjkyu2dspTm4c5nVMHH6ErMv6IjWeQ==} '@open-draft/deferred-promise@2.2.0': resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} @@ -10872,9 +10872,6 @@ packages: resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} - minimatch@3.0.8: - resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} - minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -11245,8 +11242,8 @@ packages: nwsapi@2.2.20: resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} - nx@21.3.2: - resolution: {integrity: sha512-GK/AH0xqlCd+hHVQiNjrfP26fiR5UmfL/L/1IEjL8uqPcYsyBkWMiyuGWY4pZYBJmJXp1lbPYVE6ZQ1qAWhC8w==} + nx@21.3.5: + resolution: {integrity: sha512-iRAO7D7SkjhIM6y5xH8GO+ojTJB2QSIzG2xNBgbRwuTV6AxLBkq6sU5hFA0wNzD/LncUeEoJmRtHfbGXfQQORQ==} hasBin: true peerDependencies: '@swc-node/register': ^1.8.0 @@ -15698,7 +15695,7 @@ snapshots: '@babel/parser': 7.28.0 '@babel/template': 7.27.2 '@babel/traverse': 7.28.0 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 convert-source-map: 2.0.0 debug: 4.4.1(supports-color@6.0.0) gensync: 1.0.0-beta.2 @@ -15709,8 +15706,8 @@ snapshots: '@babel/generator@7.27.0': dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.28.0 + '@babel/parser': 7.28.0 + '@babel/types': 7.28.1 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.29 jsesc: 3.1.0 @@ -15718,7 +15715,7 @@ snapshots: '@babel/generator@7.28.0': dependencies: '@babel/parser': 7.28.0 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@jridgewell/gen-mapping': 0.3.12 '@jridgewell/trace-mapping': 0.3.29 jsesc: 3.1.0 @@ -15778,7 +15775,7 @@ snapshots: '@babel/helper-module-imports@7.27.1': dependencies: '@babel/traverse': 7.28.0 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 transitivePeerDependencies: - supports-color @@ -15839,7 +15836,7 @@ snapshots: '@babel/helpers@7.27.6': dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@babel/parser@7.27.5': dependencies: @@ -16419,7 +16416,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 esutils: 2.0.3 '@babel/preset-typescript@7.27.0(@babel/core@7.28.0)': @@ -16439,15 +16436,15 @@ snapshots: '@babel/template@7.27.0': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.27.5 - '@babel/types': 7.28.0 + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.0 + '@babel/types': 7.28.1 '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 '@babel/parser': 7.28.0 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@babel/traverse@7.27.0': dependencies: @@ -16735,6 +16732,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-watchdog': 46.0.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.8.3)': dependencies: @@ -16926,8 +16925,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -17423,6 +17420,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -18192,7 +18191,7 @@ snapshots: plist: 3.1.0 resedit: 2.0.3 resolve: 1.22.10 - semver: 7.7.1 + semver: 7.7.2 yargs-parser: 21.1.1 transitivePeerDependencies: - supports-color @@ -19453,7 +19452,7 @@ snapshots: '@rushstack/terminal': 0.15.3(@types/node@22.16.5) '@rushstack/ts-command-line': 5.0.1(@types/node@22.16.5) lodash: 4.17.21 - minimatch: 3.0.8 + minimatch: 10.0.3 resolve: 1.22.10 semver: 7.5.4 source-map: 0.6.1 @@ -19592,22 +19591,22 @@ snapshots: transitivePeerDependencies: - supports-color - '@nx/devkit@21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/devkit@21.3.5(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 minimatch: 9.0.3 - nx: 21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) semver: 7.7.2 tmp: 0.2.3 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/esbuild@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/esbuild@21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.5(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.5(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) picocolors: 1.1.1 tinyglobby: 0.2.14 tsconfig-paths: 4.2.0 @@ -19623,10 +19622,10 @@ snapshots: - supports-color - verdaccio - '@nx/eslint-plugin@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.5.0)))(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/eslint-plugin@21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.5.0)))(eslint@9.31.0(jiti@2.5.0))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.5(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.5(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@typescript-eslint/type-utils': 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) @@ -19650,10 +19649,10 @@ snapshots: - typescript - verdaccio - '@nx/eslint@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/eslint@21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.5(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.5(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) eslint: 9.31.0(jiti@2.5.0) semver: 7.7.2 tslib: 2.8.1 @@ -19669,11 +19668,11 @@ snapshots: - supports-color - verdaccio - '@nx/express@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(express@4.21.2)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/express@21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(express@4.21.2)(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/node': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + '@nx/devkit': 21.3.5(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.5(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/node': 21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) tslib: 2.8.1 optionalDependencies: express: 4.21.2 @@ -19694,12 +19693,12 @@ snapshots: - typescript - verdaccio - '@nx/jest@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/jest@21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@jest/reporters': 30.0.5 '@jest/test-result': 30.0.5 - '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.5(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.5(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) identity-obj-proxy: 3.0.0 jest-config: 30.0.5(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3)) @@ -19726,7 +19725,7 @@ snapshots: - typescript - verdaccio - '@nx/js@21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/js@21.3.5(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.28.0) @@ -19735,8 +19734,8 @@ snapshots: '@babel/preset-env': 7.26.9(@babel/core@7.28.0) '@babel/preset-typescript': 7.27.0(@babel/core@7.28.0) '@babel/runtime': 7.27.6 - '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/workspace': 21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + '@nx/devkit': 21.3.5(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/workspace': 21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) '@zkochan/js-yaml': 0.0.7 babel-plugin-const-enum: 1.2.0(@babel/core@7.28.0) babel-plugin-macros: 3.1.0 @@ -19765,12 +19764,12 @@ snapshots: - nx - supports-color - '@nx/node@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/node@21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/jest': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) - '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.5(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/jest': 21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + '@nx/js': 21.3.5(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) kill-port: 1.6.1 tcp-port-used: 1.0.2 tslib: 2.8.1 @@ -19791,41 +19790,41 @@ snapshots: - typescript - verdaccio - '@nx/nx-darwin-arm64@21.3.2': + '@nx/nx-darwin-arm64@21.3.5': optional: true - '@nx/nx-darwin-x64@21.3.2': + '@nx/nx-darwin-x64@21.3.5': optional: true - '@nx/nx-freebsd-x64@21.3.2': + '@nx/nx-freebsd-x64@21.3.5': optional: true - '@nx/nx-linux-arm-gnueabihf@21.3.2': + '@nx/nx-linux-arm-gnueabihf@21.3.5': optional: true - '@nx/nx-linux-arm64-gnu@21.3.2': + '@nx/nx-linux-arm64-gnu@21.3.5': optional: true - '@nx/nx-linux-arm64-musl@21.3.2': + '@nx/nx-linux-arm64-musl@21.3.5': optional: true - '@nx/nx-linux-x64-gnu@21.3.2': + '@nx/nx-linux-x64-gnu@21.3.5': optional: true - '@nx/nx-linux-x64-musl@21.3.2': + '@nx/nx-linux-x64-musl@21.3.5': optional: true - '@nx/nx-win32-arm64-msvc@21.3.2': + '@nx/nx-win32-arm64-msvc@21.3.5': optional: true - '@nx/nx-win32-x64-msvc@21.3.2': + '@nx/nx-win32-x64-msvc@21.3.5': optional: true - '@nx/playwright@21.3.2(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/playwright@21.3.5(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.5(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.31.0(jiti@2.5.0))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.5(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) minimatch: 9.0.3 tslib: 2.8.1 @@ -19843,10 +19842,10 @@ snapshots: - typescript - verdaccio - '@nx/vite@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': + '@nx/vite@21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.5(@types/node@22.16.5)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': dependencies: - '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.5(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.5(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) '@swc/helpers': 0.5.17 ajv: 8.17.1 @@ -19866,10 +19865,10 @@ snapshots: - typescript - verdaccio - '@nx/web@21.3.2(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/web@21.3.5(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.2(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.5(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.5(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) detect-port: 1.6.1 http-server: 14.1.1 picocolors: 1.1.1 @@ -19883,13 +19882,13 @@ snapshots: - supports-color - verdaccio - '@nx/workspace@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': + '@nx/workspace@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': dependencies: - '@nx/devkit': 21.3.2(nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.5(nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@zkochan/js-yaml': 0.0.7 chalk: 4.1.2 enquirer: 2.3.6 - nx: 21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) picomatch: 4.0.2 tslib: 2.8.1 yargs-parser: 21.1.1 @@ -21555,7 +21554,7 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: - '@types/node': 24.1.0 + '@types/node': 22.16.5 optional: true '@types/geojson@7946.0.16': {} @@ -25937,7 +25936,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 9.0.5 + minimatch: 10.0.3 once: 1.4.0 path-is-absolute: 1.0.1 @@ -28228,10 +28227,6 @@ snapshots: dependencies: '@isaacs/brace-expansion': 5.0.0 - minimatch@3.0.8: - dependencies: - brace-expansion: 1.1.12 - minimatch@3.1.2: dependencies: brace-expansion: 1.1.12 @@ -28701,7 +28696,7 @@ snapshots: nwsapi@2.2.20: {} - nx@21.3.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): + nx@21.3.5(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 @@ -28739,16 +28734,16 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 21.3.2 - '@nx/nx-darwin-x64': 21.3.2 - '@nx/nx-freebsd-x64': 21.3.2 - '@nx/nx-linux-arm-gnueabihf': 21.3.2 - '@nx/nx-linux-arm64-gnu': 21.3.2 - '@nx/nx-linux-arm64-musl': 21.3.2 - '@nx/nx-linux-x64-gnu': 21.3.2 - '@nx/nx-linux-x64-musl': 21.3.2 - '@nx/nx-win32-arm64-msvc': 21.3.2 - '@nx/nx-win32-x64-msvc': 21.3.2 + '@nx/nx-darwin-arm64': 21.3.5 + '@nx/nx-darwin-x64': 21.3.5 + '@nx/nx-freebsd-x64': 21.3.5 + '@nx/nx-linux-arm-gnueabihf': 21.3.5 + '@nx/nx-linux-arm64-gnu': 21.3.5 + '@nx/nx-linux-arm64-musl': 21.3.5 + '@nx/nx-linux-x64-gnu': 21.3.5 + '@nx/nx-linux-x64-musl': 21.3.5 + '@nx/nx-win32-arm64-msvc': 21.3.5 + '@nx/nx-win32-x64-msvc': 21.3.5 '@swc-node/register': 1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3) '@swc/core': 1.11.29(@swc/helpers@0.5.17) transitivePeerDependencies: @@ -31988,7 +31983,7 @@ snapshots: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 - minimatch: 9.0.3 + minimatch: 10.0.3 test-exclude@7.0.1: dependencies: @@ -32487,7 +32482,7 @@ snapshots: unplugin@2.3.5: dependencies: acorn: 8.15.0 - picomatch: 4.0.2 + picomatch: 4.0.3 webpack-virtual-modules: 0.6.2 unrs-resolver@1.11.1: From 8407bce3704f1e5f9a35f169bfa935d666f88b4f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 24 Jul 2025 13:57:23 +0300 Subject: [PATCH 099/505] chore(package): add output style to server:start --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8d8d2e8e3..d8850e7e1 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "server:test": "nx test server", "server:build": "nx build server", "server:coverage": "nx test server --coverage", - "server:start": "nx run server:serve", + "server:start": "nx run server:serve --outputStyle stream", "server:start-prod": "nx run server:start-prod", "electron:build": "nx build desktop", "chore:ci-update-nightly-version": "tsx ./scripts/update-nightly-version.ts", From 218a096135826e39e7b50a683accac0c787610fb Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 24 Jul 2025 13:57:41 +0300 Subject: [PATCH 100/505] chore(nx): update instructions --- .github/instructions/nx.instructions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/instructions/nx.instructions.md b/.github/instructions/nx.instructions.md index 6c63651c8..a055adbc4 100644 --- a/.github/instructions/nx.instructions.md +++ b/.github/instructions/nx.instructions.md @@ -4,7 +4,7 @@ applyTo: '**' // This file is automatically generated by Nx Console -You are in an nx workspace using Nx 21.3.1 and pnpm as the package manager. +You are in an nx workspace using Nx 21.3.5 and pnpm as the package manager. You have access to the Nx MCP server and the tools it provides. Use them. Follow these guidelines in order to best help the user: From 0e590a1bbf9d2cbd96314ced45031d5ff3938aa4 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 24 Jul 2025 15:07:34 +0300 Subject: [PATCH 101/505] chore(views/geo): add versatiles vector styles --- .../geo_view/styles/colorful/de.json | 4811 +++++++++++++++++ .../geo_view/styles/colorful/en.json | 4811 +++++++++++++++++ .../geo_view/styles/colorful/nolabel.json | 3888 +++++++++++++ .../geo_view/styles/colorful/style.json | 4811 +++++++++++++++++ .../geo_view/styles/eclipse/de.json | 4811 +++++++++++++++++ .../geo_view/styles/eclipse/en.json | 4811 +++++++++++++++++ .../geo_view/styles/eclipse/nolabel.json | 3888 +++++++++++++ .../geo_view/styles/eclipse/style.json | 4811 +++++++++++++++++ .../geo_view/styles/empty/style.json | 30 + .../geo_view/styles/graybeard/de.json | 4811 +++++++++++++++++ .../geo_view/styles/graybeard/en.json | 4811 +++++++++++++++++ .../geo_view/styles/graybeard/nolabel.json | 3888 +++++++++++++ .../geo_view/styles/graybeard/style.json | 4811 +++++++++++++++++ .../geo_view/styles/neutrino/de.json | 2920 ++++++++++ .../geo_view/styles/neutrino/en.json | 2920 ++++++++++ .../geo_view/styles/neutrino/nolabel.json | 2455 +++++++++ .../geo_view/styles/neutrino/style.json | 2920 ++++++++++ .../geo_view/styles/shadow/de.json | 4811 +++++++++++++++++ .../geo_view/styles/shadow/en.json | 4811 +++++++++++++++++ .../geo_view/styles/shadow/nolabel.json | 3888 +++++++++++++ .../geo_view/styles/shadow/style.json | 4811 +++++++++++++++++ 21 files changed, 84529 insertions(+) create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/colorful/de.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/colorful/en.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/colorful/nolabel.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/colorful/style.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/de.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/en.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/nolabel.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/style.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/empty/style.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/de.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/en.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/nolabel.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/style.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/de.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/en.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/nolabel.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/style.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/shadow/de.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/shadow/en.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/shadow/nolabel.json create mode 100644 apps/client/src/widgets/view_widgets/geo_view/styles/shadow/style.json diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/colorful/de.json b/apps/client/src/widgets/view_widgets/geo_view/styles/colorful/de.json new file mode 100644 index 000000000..95a1350ec --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/colorful/de.json @@ -0,0 +1,4811 @@ +{ + "version": 8, + "name": "versatiles-colorful", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(249,244,238)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "rgb(190,221,243)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "rgba(247,222,237,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "rgba(255,244,194,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "rgba(234,230,225,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "rgb(240,231,209)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "rgb(219,214,189)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "rgb(221,219,202)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "rgb(231,237,222)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "rgb(224,228,229)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "rgb(102,170,68)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "rgb(216,232,200)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "rgb(250,250,237)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "rgb(211,230,219)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "rgb(249,244,238)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "rgb(190,221,243)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "rgb(249,244,238)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "rgb(249,244,238)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "rgb(255,0,0)", + "fill-outline-color": "rgb(255,0,0)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "rgb(255,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "rgb(253,242,252)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "rgb(169,169,169)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "rgb(255,255,255)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(223,219,215)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(242,234,226)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(247,247,247)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(203,11%,87%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,30%,95%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,209,148)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,209,148)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(244,239,233)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(251,235,255,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(215,224,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(239,249,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(251,235,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(171,199,219)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(255,255,255)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(215,224,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(239,249,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-amenity", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "amenity" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "amenity" ], "arts_centre", "basics:icon-art_gallery", "atm", "basics:icon-atm", "bank", "basics:icon-bank", "bar", "basics:icon-bar", "bench", "basics:icon-bench", "bicycle_rental", "basics:icon-bicycle_share", "biergarten", "basics:icon-beergarden", "cafe", "basics:icon-cafe", "car_rental", "basics:icon-car_rental", "car_sharing", "basics:icon-car_rental", "car_wash", "basics:icon-car_wash", "cinema", "basics:icon-cinema", "college", "basics:icon-college", "community_centre", "basics:icon-community", "dentist", "basics:icon-dentist", "doctors", "basics:icon-doctor", "dog_park", "basics:icon-dog_park", "drinking_water", "basics:icon-drinking_water", "embassy", "basics:icon-embassy", "fast_food", "basics:icon-fast_food", "fire_station", "basics:icon-fire_station", "fountain", "basics:icon-fountain", "grave_yard", "basics:icon-cemetery", "hospital", "basics:icon-hospital", "hunting_stand", "basics:icon-huntingstand", "library", "basics:icon-library", "marketplace", "basics:icon-marketplace", "nightclub", "basics:icon-nightclub", "nursing_home", "basics:icon-nursinghome", "pharmacy", "basics:icon-pharmacy", "place_of_worship", "basics:icon-place_of_worship", "playground", "basics:icon-playground", "police", "basics:icon-police", "post_box", "basics:icon-postbox", "post_office", "basics:icon-post", "prison", "basics:icon-prison", "pub", "basics:icon-beer", "recycling", "basics:icon-recycling", "restaurant", "basics:icon-restaurant", "school", "basics:icon-school", "shelter", "basics:icon-shelter", "telephone", "basics:icon-telephone", "theatre", "basics:icon-theatre", "toilets", "basics:icon-toilet", "townhall", "basics:icon-town_hall", "vending_machine", "basics:icon-vendingmachine", "veterinary", "basics:icon-veterinary", "waste_basket", "basics:icon-waste_basket", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-leisure", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "leisure" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "leisure" ], "golf_course", "basics:icon-golf", "ice_rink", "basics:icon-icerink", "pitch", "basics:icon-pitch", "stadium", "basics:icon-stadium", "swimming_pool", "basics:icon-swimming", "water_park", "basics:icon-waterpark", "basics:icon-sports" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-tourism", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "tourism" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "tourism" ], "chalet", "basics:icon-chalet", "information", "basics:transport-information", "picnic_site", "basics:icon-picnic_site", "viewpoint", "basics:icon-viewpoint", "zoo", "basics:icon-zoo", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-shop", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "shop" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "shop" ], "alcohol", "basics:icon-alcohol_shop", "bakery", "basics:icon-bakery", "beauty", "basics:icon-beauty", "beverages", "basics:icon-beverages", "books", "basics:icon-books", "butcher", "basics:icon-butcher", "chemist", "basics:icon-chemist", "clothes", "basics:icon-clothes", "doityourself", "basics:icon-doityourself", "dry_cleaning", "basics:icon-drycleaning", "florist", "basics:icon-florist", "furniture", "basics:icon-furniture", "garden_centre", "basics:icon-garden_centre", "general", "basics:icon-shop", "gift", "basics:icon-gift", "greengrocer", "basics:icon-greengrocer", "hairdresser", "basics:icon-hairdresser", "hardware", "basics:icon-hardware", "jewelry", "basics:icon-jewelry_store", "kiosk", "basics:icon-kiosk", "laundry", "basics:icon-laundry", "newsagent", "basics:icon-newsagent", "optican", "basics:icon-optician", "outdoor", "basics:icon-outdoor", "shoes", "basics:icon-shoes", "sports", "basics:icon-sports", "stationery", "basics:icon-stationery", "toys", "basics:icon-toys", "travel_agency", "basics:icon-travel_agent", "video", "basics:icon-video", "basics:icon-shop" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-man_made", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "man_made" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "man_made" ], "lighthouse", "basics:icon-lighthouse", "surveillance", "basics:icon-surveillance", "tower", "basics:icon-observation_tower", "watermill", "basics:icon-watermill", "windmill", "basics:icon-windmill", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-historic", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "historic" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "historic" ], "artwork", "basics:icon-artwork", "castle", "basics:icon-castle", "monument", "basics:icon-monument", "wayside_shrine", "basics:icon-shrine", "basics:icon-historic" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-emergency", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "emergency" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "emergency" ], "defibrillator", "basics:icon-defibrillator", "fire_hydrant", "basics:icon-hydrant", "phone", "basics:icon-emergency_phone", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-highway", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "highway" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-office", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "office" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(249,245,239)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(249,245,239)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(250,245,240)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(166,166,200)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "rgb(190,188,207)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(166,166,200)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-address-housenumber", + "type": "symbol", + "source-layer": "addresses", + "filter": [ "has", "housenumber" ], + "layout": { + "text-field": "{housenumber}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": { "stops": [ [ 17, 8 ], [ 19, 10 ] ] } + }, + "paint": { + "text-halo-color": "rgb(243,235,227)", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "rgb(169,164,158)", + "text-color": "rgb(169,164,158)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_bold" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 10 ], [ 18, 12 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(255,255,255)", + "text-color": "rgb(255,255,255)", + "text-halo-color": "rgb(255,204,136)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(40,67,73)", + "text-color": "rgb(40,67,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(40,62,73)", + "text-color": "rgb(40,62,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(40,57,73)", + "text-color": "rgb(40,57,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(61,61,77)", + "text-color": "rgb(61,61,77)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 4, 8 ], [ 5, 11 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 3, 8 ], [ 5, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 2, 8 ], [ 5, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 2 + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway-reverse", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway_reverse", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-bus", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "bus_stop" ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 16, 0.5 ], [ 18, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 16 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-tram", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "tram_stop" ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 15, 0.5 ], [ 17, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-subway", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "subway" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-lightrail", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "light_rail" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-station", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "!in", "station", "light_rail", "subway" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airfield", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "!has", "iata" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airport", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "has", "iata" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 12, 0.5 ], [ 14, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/colorful/en.json b/apps/client/src/widgets/view_widgets/geo_view/styles/colorful/en.json new file mode 100644 index 000000000..73ebfc33b --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/colorful/en.json @@ -0,0 +1,4811 @@ +{ + "version": 8, + "name": "versatiles-colorful", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(249,244,238)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "rgb(190,221,243)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "rgba(247,222,237,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "rgba(255,244,194,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "rgba(234,230,225,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "rgb(240,231,209)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "rgb(219,214,189)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "rgb(221,219,202)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "rgb(231,237,222)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "rgb(224,228,229)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "rgb(102,170,68)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "rgb(216,232,200)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "rgb(250,250,237)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "rgb(211,230,219)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "rgb(249,244,238)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "rgb(190,221,243)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "rgb(249,244,238)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "rgb(249,244,238)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "rgb(255,0,0)", + "fill-outline-color": "rgb(255,0,0)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "rgb(255,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "rgb(253,242,252)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "rgb(169,169,169)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "rgb(255,255,255)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(223,219,215)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(242,234,226)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(247,247,247)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(203,11%,87%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,30%,95%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,209,148)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,209,148)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(244,239,233)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(251,235,255,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(215,224,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(239,249,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(251,235,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(171,199,219)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(255,255,255)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(215,224,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(239,249,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-amenity", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "amenity" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "amenity" ], "arts_centre", "basics:icon-art_gallery", "atm", "basics:icon-atm", "bank", "basics:icon-bank", "bar", "basics:icon-bar", "bench", "basics:icon-bench", "bicycle_rental", "basics:icon-bicycle_share", "biergarten", "basics:icon-beergarden", "cafe", "basics:icon-cafe", "car_rental", "basics:icon-car_rental", "car_sharing", "basics:icon-car_rental", "car_wash", "basics:icon-car_wash", "cinema", "basics:icon-cinema", "college", "basics:icon-college", "community_centre", "basics:icon-community", "dentist", "basics:icon-dentist", "doctors", "basics:icon-doctor", "dog_park", "basics:icon-dog_park", "drinking_water", "basics:icon-drinking_water", "embassy", "basics:icon-embassy", "fast_food", "basics:icon-fast_food", "fire_station", "basics:icon-fire_station", "fountain", "basics:icon-fountain", "grave_yard", "basics:icon-cemetery", "hospital", "basics:icon-hospital", "hunting_stand", "basics:icon-huntingstand", "library", "basics:icon-library", "marketplace", "basics:icon-marketplace", "nightclub", "basics:icon-nightclub", "nursing_home", "basics:icon-nursinghome", "pharmacy", "basics:icon-pharmacy", "place_of_worship", "basics:icon-place_of_worship", "playground", "basics:icon-playground", "police", "basics:icon-police", "post_box", "basics:icon-postbox", "post_office", "basics:icon-post", "prison", "basics:icon-prison", "pub", "basics:icon-beer", "recycling", "basics:icon-recycling", "restaurant", "basics:icon-restaurant", "school", "basics:icon-school", "shelter", "basics:icon-shelter", "telephone", "basics:icon-telephone", "theatre", "basics:icon-theatre", "toilets", "basics:icon-toilet", "townhall", "basics:icon-town_hall", "vending_machine", "basics:icon-vendingmachine", "veterinary", "basics:icon-veterinary", "waste_basket", "basics:icon-waste_basket", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-leisure", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "leisure" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "leisure" ], "golf_course", "basics:icon-golf", "ice_rink", "basics:icon-icerink", "pitch", "basics:icon-pitch", "stadium", "basics:icon-stadium", "swimming_pool", "basics:icon-swimming", "water_park", "basics:icon-waterpark", "basics:icon-sports" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-tourism", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "tourism" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "tourism" ], "chalet", "basics:icon-chalet", "information", "basics:transport-information", "picnic_site", "basics:icon-picnic_site", "viewpoint", "basics:icon-viewpoint", "zoo", "basics:icon-zoo", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-shop", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "shop" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "shop" ], "alcohol", "basics:icon-alcohol_shop", "bakery", "basics:icon-bakery", "beauty", "basics:icon-beauty", "beverages", "basics:icon-beverages", "books", "basics:icon-books", "butcher", "basics:icon-butcher", "chemist", "basics:icon-chemist", "clothes", "basics:icon-clothes", "doityourself", "basics:icon-doityourself", "dry_cleaning", "basics:icon-drycleaning", "florist", "basics:icon-florist", "furniture", "basics:icon-furniture", "garden_centre", "basics:icon-garden_centre", "general", "basics:icon-shop", "gift", "basics:icon-gift", "greengrocer", "basics:icon-greengrocer", "hairdresser", "basics:icon-hairdresser", "hardware", "basics:icon-hardware", "jewelry", "basics:icon-jewelry_store", "kiosk", "basics:icon-kiosk", "laundry", "basics:icon-laundry", "newsagent", "basics:icon-newsagent", "optican", "basics:icon-optician", "outdoor", "basics:icon-outdoor", "shoes", "basics:icon-shoes", "sports", "basics:icon-sports", "stationery", "basics:icon-stationery", "toys", "basics:icon-toys", "travel_agency", "basics:icon-travel_agent", "video", "basics:icon-video", "basics:icon-shop" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-man_made", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "man_made" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "man_made" ], "lighthouse", "basics:icon-lighthouse", "surveillance", "basics:icon-surveillance", "tower", "basics:icon-observation_tower", "watermill", "basics:icon-watermill", "windmill", "basics:icon-windmill", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-historic", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "historic" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "historic" ], "artwork", "basics:icon-artwork", "castle", "basics:icon-castle", "monument", "basics:icon-monument", "wayside_shrine", "basics:icon-shrine", "basics:icon-historic" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-emergency", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "emergency" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "emergency" ], "defibrillator", "basics:icon-defibrillator", "fire_hydrant", "basics:icon-hydrant", "phone", "basics:icon-emergency_phone", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-highway", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "highway" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-office", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "office" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(249,245,239)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(249,245,239)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(250,245,240)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(166,166,200)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "rgb(190,188,207)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(166,166,200)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-address-housenumber", + "type": "symbol", + "source-layer": "addresses", + "filter": [ "has", "housenumber" ], + "layout": { + "text-field": "{housenumber}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": { "stops": [ [ 17, 8 ], [ 19, 10 ] ] } + }, + "paint": { + "text-halo-color": "rgb(243,235,227)", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "rgb(169,164,158)", + "text-color": "rgb(169,164,158)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_bold" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 10 ], [ 18, 12 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(255,255,255)", + "text-color": "rgb(255,255,255)", + "text-halo-color": "rgb(255,204,136)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(40,67,73)", + "text-color": "rgb(40,67,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(40,62,73)", + "text-color": "rgb(40,62,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(40,57,73)", + "text-color": "rgb(40,57,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(61,61,77)", + "text-color": "rgb(61,61,77)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 4, 8 ], [ 5, 11 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 3, 8 ], [ 5, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 2, 8 ], [ 5, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 2 + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway-reverse", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway_reverse", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-bus", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "bus_stop" ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 16, 0.5 ], [ 18, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 16 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-tram", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "tram_stop" ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 15, 0.5 ], [ 17, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-subway", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "subway" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-lightrail", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "light_rail" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-station", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "!in", "station", "light_rail", "subway" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airfield", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "!has", "iata" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airport", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "has", "iata" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 12, 0.5 ], [ 14, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/colorful/nolabel.json b/apps/client/src/widgets/view_widgets/geo_view/styles/colorful/nolabel.json new file mode 100644 index 000000000..555ed259c --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/colorful/nolabel.json @@ -0,0 +1,3888 @@ +{ + "version": 8, + "name": "versatiles-colorful", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(249,244,238)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "rgb(190,221,243)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "rgba(247,222,237,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "rgba(255,244,194,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "rgba(234,230,225,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "rgb(240,231,209)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "rgb(219,214,189)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "rgb(221,219,202)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "rgb(231,237,222)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "rgb(224,228,229)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "rgb(102,170,68)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "rgb(216,232,200)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "rgb(250,250,237)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "rgb(211,230,219)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "rgb(249,244,238)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "rgb(190,221,243)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "rgb(249,244,238)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "rgb(249,244,238)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "rgb(255,0,0)", + "fill-outline-color": "rgb(255,0,0)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "rgb(255,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "rgb(253,242,252)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "rgb(169,169,169)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "rgb(255,255,255)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(223,219,215)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(242,234,226)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(247,247,247)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(203,11%,87%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,30%,95%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,209,148)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,209,148)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(244,239,233)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(251,235,255,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(215,224,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(239,249,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(251,235,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(171,199,219)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(255,255,255)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(215,224,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(239,249,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(249,245,239)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(249,245,239)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(250,245,240)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(166,166,200)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "rgb(190,188,207)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(166,166,200)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/colorful/style.json b/apps/client/src/widgets/view_widgets/geo_view/styles/colorful/style.json new file mode 100644 index 000000000..737249a9d --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/colorful/style.json @@ -0,0 +1,4811 @@ +{ + "version": 8, + "name": "versatiles-colorful", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(249,244,238)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "rgb(190,221,243)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "rgba(247,222,237,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "rgba(255,244,194,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "rgba(234,230,225,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "rgb(240,231,209)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "rgb(219,214,189)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "rgb(221,219,202)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "rgb(231,237,222)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "rgb(224,228,229)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "rgb(102,170,68)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "rgb(216,232,200)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "rgb(250,250,237)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "rgb(211,230,219)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "rgb(249,244,238)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "rgb(190,221,243)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "rgb(249,244,238)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "rgb(249,244,238)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "rgb(255,0,0)", + "fill-outline-color": "rgb(255,0,0)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "rgb(255,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "rgb(253,242,252)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "rgb(169,169,169)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "rgb(255,255,255)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(223,219,215)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(242,234,226)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(247,247,247)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(203,11%,87%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,30%,95%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,209,148)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,209,148)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(244,239,233)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(251,235,255,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(215,224,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(239,249,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(251,235,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(171,199,219)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(255,255,255)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(215,224,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(239,249,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-amenity", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "amenity" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "amenity" ], "arts_centre", "basics:icon-art_gallery", "atm", "basics:icon-atm", "bank", "basics:icon-bank", "bar", "basics:icon-bar", "bench", "basics:icon-bench", "bicycle_rental", "basics:icon-bicycle_share", "biergarten", "basics:icon-beergarden", "cafe", "basics:icon-cafe", "car_rental", "basics:icon-car_rental", "car_sharing", "basics:icon-car_rental", "car_wash", "basics:icon-car_wash", "cinema", "basics:icon-cinema", "college", "basics:icon-college", "community_centre", "basics:icon-community", "dentist", "basics:icon-dentist", "doctors", "basics:icon-doctor", "dog_park", "basics:icon-dog_park", "drinking_water", "basics:icon-drinking_water", "embassy", "basics:icon-embassy", "fast_food", "basics:icon-fast_food", "fire_station", "basics:icon-fire_station", "fountain", "basics:icon-fountain", "grave_yard", "basics:icon-cemetery", "hospital", "basics:icon-hospital", "hunting_stand", "basics:icon-huntingstand", "library", "basics:icon-library", "marketplace", "basics:icon-marketplace", "nightclub", "basics:icon-nightclub", "nursing_home", "basics:icon-nursinghome", "pharmacy", "basics:icon-pharmacy", "place_of_worship", "basics:icon-place_of_worship", "playground", "basics:icon-playground", "police", "basics:icon-police", "post_box", "basics:icon-postbox", "post_office", "basics:icon-post", "prison", "basics:icon-prison", "pub", "basics:icon-beer", "recycling", "basics:icon-recycling", "restaurant", "basics:icon-restaurant", "school", "basics:icon-school", "shelter", "basics:icon-shelter", "telephone", "basics:icon-telephone", "theatre", "basics:icon-theatre", "toilets", "basics:icon-toilet", "townhall", "basics:icon-town_hall", "vending_machine", "basics:icon-vendingmachine", "veterinary", "basics:icon-veterinary", "waste_basket", "basics:icon-waste_basket", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-leisure", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "leisure" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "leisure" ], "golf_course", "basics:icon-golf", "ice_rink", "basics:icon-icerink", "pitch", "basics:icon-pitch", "stadium", "basics:icon-stadium", "swimming_pool", "basics:icon-swimming", "water_park", "basics:icon-waterpark", "basics:icon-sports" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-tourism", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "tourism" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "tourism" ], "chalet", "basics:icon-chalet", "information", "basics:transport-information", "picnic_site", "basics:icon-picnic_site", "viewpoint", "basics:icon-viewpoint", "zoo", "basics:icon-zoo", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-shop", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "shop" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "shop" ], "alcohol", "basics:icon-alcohol_shop", "bakery", "basics:icon-bakery", "beauty", "basics:icon-beauty", "beverages", "basics:icon-beverages", "books", "basics:icon-books", "butcher", "basics:icon-butcher", "chemist", "basics:icon-chemist", "clothes", "basics:icon-clothes", "doityourself", "basics:icon-doityourself", "dry_cleaning", "basics:icon-drycleaning", "florist", "basics:icon-florist", "furniture", "basics:icon-furniture", "garden_centre", "basics:icon-garden_centre", "general", "basics:icon-shop", "gift", "basics:icon-gift", "greengrocer", "basics:icon-greengrocer", "hairdresser", "basics:icon-hairdresser", "hardware", "basics:icon-hardware", "jewelry", "basics:icon-jewelry_store", "kiosk", "basics:icon-kiosk", "laundry", "basics:icon-laundry", "newsagent", "basics:icon-newsagent", "optican", "basics:icon-optician", "outdoor", "basics:icon-outdoor", "shoes", "basics:icon-shoes", "sports", "basics:icon-sports", "stationery", "basics:icon-stationery", "toys", "basics:icon-toys", "travel_agency", "basics:icon-travel_agent", "video", "basics:icon-video", "basics:icon-shop" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-man_made", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "man_made" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "man_made" ], "lighthouse", "basics:icon-lighthouse", "surveillance", "basics:icon-surveillance", "tower", "basics:icon-observation_tower", "watermill", "basics:icon-watermill", "windmill", "basics:icon-windmill", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-historic", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "historic" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "historic" ], "artwork", "basics:icon-artwork", "castle", "basics:icon-castle", "monument", "basics:icon-monument", "wayside_shrine", "basics:icon-shrine", "basics:icon-historic" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-emergency", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "emergency" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "emergency" ], "defibrillator", "basics:icon-defibrillator", "fire_hydrant", "basics:icon-hydrant", "phone", "basics:icon-emergency_phone", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-highway", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "highway" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-office", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "office" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(249,245,239)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(249,245,239)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(250,245,240)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(166,166,200)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "rgb(190,188,207)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(166,166,200)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-address-housenumber", + "type": "symbol", + "source-layer": "addresses", + "filter": [ "has", "housenumber" ], + "layout": { + "text-field": "{housenumber}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": { "stops": [ [ 17, 8 ], [ 19, 10 ] ] } + }, + "paint": { + "text-halo-color": "rgb(243,235,227)", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "rgb(169,164,158)", + "text-color": "rgb(169,164,158)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_bold" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 10 ], [ 18, 12 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(255,255,255)", + "text-color": "rgb(255,255,255)", + "text-halo-color": "rgb(255,204,136)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(40,67,73)", + "text-color": "rgb(40,67,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(40,62,73)", + "text-color": "rgb(40,62,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(40,57,73)", + "text-color": "rgb(40,57,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(61,61,77)", + "text-color": "rgb(61,61,77)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 4, 8 ], [ 5, 11 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 3, 8 ], [ 5, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 2, 8 ], [ 5, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 2 + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway-reverse", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway_reverse", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-bus", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "bus_stop" ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 16, 0.5 ], [ 18, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 16 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-tram", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "tram_stop" ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 15, 0.5 ], [ 17, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-subway", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "subway" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-lightrail", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "light_rail" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-station", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "!in", "station", "light_rail", "subway" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airfield", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "!has", "iata" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airport", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "has", "iata" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 12, 0.5 ], [ 14, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/de.json b/apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/de.json new file mode 100644 index 000000000..2058265ee --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/de.json @@ -0,0 +1,4811 @@ +{ + "version": 8, + "name": "versatiles-eclipse", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "hsl(33,48%,5%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "hsl(205,69%,15%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "hsl(0,0%,0%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "hsla(324,61%,8%,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "hsla(49,100%,12%,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "hsla(33,18%,10%,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "hsl(43,51%,12%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "hsl(50,29%,20%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "hsl(54,22%,17%)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "hsl(84,29%,10%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "hsl(192,9%,11%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "hsl(100,43%,53%)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "hsl(90,41%,15%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "hsl(60,57%,5%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "hsl(145,28%,14%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "hsl(33,48%,5%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "hsl(205,69%,15%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "hsl(33,48%,5%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "hsl(33,48%,5%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "hsl(0,100%,50%)", + "fill-outline-color": "hsl(0,100%,50%)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "hsl(60,100%,25%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "hsl(60,100%,25%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "hsl(60,100%,25%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "hsl(0,100%,30%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "hsl(305,73%,3%)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "hsl(24,11%,9%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "hsl(24,11%,9%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "hsl(0,0%,34%)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "hsl(0,0%,0%)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,11%,14%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,38%,8%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(0,0,0)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,50%,4%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,50%,4%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,50%,4%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(203,50%,3%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(114,112,110)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,50%,4%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,50%,4%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,50%,4%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,50%,3%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(133,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(133,87,26)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,119,131)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(17,12,6)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(21,5,25,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(0,9,14)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(114,112,110)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,100%,3%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(288,100%,4%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,119,131)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(11,39,58)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "hsl(0,0%,0%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(0,9,14)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(114,112,110)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,100%,3%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,119,131)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-amenity", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "amenity" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "amenity" ], "arts_centre", "basics:icon-art_gallery", "atm", "basics:icon-atm", "bank", "basics:icon-bank", "bar", "basics:icon-bar", "bench", "basics:icon-bench", "bicycle_rental", "basics:icon-bicycle_share", "biergarten", "basics:icon-beergarden", "cafe", "basics:icon-cafe", "car_rental", "basics:icon-car_rental", "car_sharing", "basics:icon-car_rental", "car_wash", "basics:icon-car_wash", "cinema", "basics:icon-cinema", "college", "basics:icon-college", "community_centre", "basics:icon-community", "dentist", "basics:icon-dentist", "doctors", "basics:icon-doctor", "dog_park", "basics:icon-dog_park", "drinking_water", "basics:icon-drinking_water", "embassy", "basics:icon-embassy", "fast_food", "basics:icon-fast_food", "fire_station", "basics:icon-fire_station", "fountain", "basics:icon-fountain", "grave_yard", "basics:icon-cemetery", "hospital", "basics:icon-hospital", "hunting_stand", "basics:icon-huntingstand", "library", "basics:icon-library", "marketplace", "basics:icon-marketplace", "nightclub", "basics:icon-nightclub", "nursing_home", "basics:icon-nursinghome", "pharmacy", "basics:icon-pharmacy", "place_of_worship", "basics:icon-place_of_worship", "playground", "basics:icon-playground", "police", "basics:icon-police", "post_box", "basics:icon-postbox", "post_office", "basics:icon-post", "prison", "basics:icon-prison", "pub", "basics:icon-beer", "recycling", "basics:icon-recycling", "restaurant", "basics:icon-restaurant", "school", "basics:icon-school", "shelter", "basics:icon-shelter", "telephone", "basics:icon-telephone", "theatre", "basics:icon-theatre", "toilets", "basics:icon-toilet", "townhall", "basics:icon-town_hall", "vending_machine", "basics:icon-vendingmachine", "veterinary", "basics:icon-veterinary", "waste_basket", "basics:icon-waste_basket", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-leisure", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "leisure" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "leisure" ], "golf_course", "basics:icon-golf", "ice_rink", "basics:icon-icerink", "pitch", "basics:icon-pitch", "stadium", "basics:icon-stadium", "swimming_pool", "basics:icon-swimming", "water_park", "basics:icon-waterpark", "basics:icon-sports" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-tourism", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "tourism" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "tourism" ], "chalet", "basics:icon-chalet", "information", "basics:transport-information", "picnic_site", "basics:icon-picnic_site", "viewpoint", "basics:icon-viewpoint", "zoo", "basics:icon-zoo", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-shop", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "shop" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "shop" ], "alcohol", "basics:icon-alcohol_shop", "bakery", "basics:icon-bakery", "beauty", "basics:icon-beauty", "beverages", "basics:icon-beverages", "books", "basics:icon-books", "butcher", "basics:icon-butcher", "chemist", "basics:icon-chemist", "clothes", "basics:icon-clothes", "doityourself", "basics:icon-doityourself", "dry_cleaning", "basics:icon-drycleaning", "florist", "basics:icon-florist", "furniture", "basics:icon-furniture", "garden_centre", "basics:icon-garden_centre", "general", "basics:icon-shop", "gift", "basics:icon-gift", "greengrocer", "basics:icon-greengrocer", "hairdresser", "basics:icon-hairdresser", "hardware", "basics:icon-hardware", "jewelry", "basics:icon-jewelry_store", "kiosk", "basics:icon-kiosk", "laundry", "basics:icon-laundry", "newsagent", "basics:icon-newsagent", "optican", "basics:icon-optician", "outdoor", "basics:icon-outdoor", "shoes", "basics:icon-shoes", "sports", "basics:icon-sports", "stationery", "basics:icon-stationery", "toys", "basics:icon-toys", "travel_agency", "basics:icon-travel_agent", "video", "basics:icon-video", "basics:icon-shop" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-man_made", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "man_made" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "man_made" ], "lighthouse", "basics:icon-lighthouse", "surveillance", "basics:icon-surveillance", "tower", "basics:icon-observation_tower", "watermill", "basics:icon-watermill", "windmill", "basics:icon-windmill", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-historic", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "historic" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "historic" ], "artwork", "basics:icon-artwork", "castle", "basics:icon-castle", "monument", "basics:icon-monument", "wayside_shrine", "basics:icon-shrine", "basics:icon-historic" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-emergency", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "emergency" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "emergency" ], "defibrillator", "basics:icon-defibrillator", "fire_hydrant", "basics:icon-hydrant", "phone", "basics:icon-emergency_phone", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-highway", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "highway" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-office", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "office" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(29,24,18)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(29,24,18)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(41,36,31)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,24%,28%)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "hsl(246,17%,23%)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,24%,28%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-address-housenumber", + "type": "symbol", + "source-layer": "addresses", + "filter": [ "has", "housenumber" ], + "layout": { + "text-field": "{housenumber}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": { "stops": [ [ 17, 8 ], [ 19, 10 ] ] } + }, + "paint": { + "text-halo-color": "rgb(40,33,25)", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "rgb(20,15,9)", + "text-color": "rgb(20,15,9)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_bold" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 10 ], [ 18, 12 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "hsl(0,0%,0%)", + "text-color": "hsl(0,0%,0%)", + "text-halo-color": "hsl(34,100%,23%)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(170,196,202)", + "text-color": "rgb(170,196,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(170,191,202)", + "text-color": "rgb(170,191,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(170,186,202)", + "text-color": "rgb(170,186,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(190,190,207)", + "text-color": "rgb(190,190,207)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 4, 8 ], [ 5, 11 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 3, 8 ], [ 5, 12 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 2, 8 ], [ 5, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 2 + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway-reverse", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway_reverse", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-bus", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "bus_stop" ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 16, 0.5 ], [ 18, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 16 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-tram", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "tram_stop" ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 15, 0.5 ], [ 17, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-subway", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "subway" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-lightrail", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "light_rail" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-station", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "!in", "station", "light_rail", "subway" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airfield", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "!has", "iata" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airport", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "has", "iata" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 12, 0.5 ], [ 14, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/en.json b/apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/en.json new file mode 100644 index 000000000..3e20caa25 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/en.json @@ -0,0 +1,4811 @@ +{ + "version": 8, + "name": "versatiles-eclipse", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "hsl(33,48%,5%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "hsl(205,69%,15%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "hsl(0,0%,0%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "hsla(324,61%,8%,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "hsla(49,100%,12%,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "hsla(33,18%,10%,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "hsl(43,51%,12%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "hsl(50,29%,20%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "hsl(54,22%,17%)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "hsl(84,29%,10%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "hsl(192,9%,11%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "hsl(100,43%,53%)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "hsl(90,41%,15%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "hsl(60,57%,5%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "hsl(145,28%,14%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "hsl(33,48%,5%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "hsl(205,69%,15%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "hsl(33,48%,5%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "hsl(33,48%,5%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "hsl(0,100%,50%)", + "fill-outline-color": "hsl(0,100%,50%)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "hsl(60,100%,25%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "hsl(60,100%,25%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "hsl(60,100%,25%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "hsl(0,100%,30%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "hsl(305,73%,3%)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "hsl(24,11%,9%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "hsl(24,11%,9%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "hsl(0,0%,34%)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "hsl(0,0%,0%)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,11%,14%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,38%,8%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(0,0,0)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,50%,4%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,50%,4%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,50%,4%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(203,50%,3%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(114,112,110)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,50%,4%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,50%,4%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,50%,4%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,50%,3%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(133,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(133,87,26)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,119,131)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(17,12,6)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(21,5,25,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(0,9,14)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(114,112,110)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,100%,3%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(288,100%,4%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,119,131)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(11,39,58)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "hsl(0,0%,0%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(0,9,14)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(114,112,110)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,100%,3%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,119,131)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-amenity", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "amenity" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "amenity" ], "arts_centre", "basics:icon-art_gallery", "atm", "basics:icon-atm", "bank", "basics:icon-bank", "bar", "basics:icon-bar", "bench", "basics:icon-bench", "bicycle_rental", "basics:icon-bicycle_share", "biergarten", "basics:icon-beergarden", "cafe", "basics:icon-cafe", "car_rental", "basics:icon-car_rental", "car_sharing", "basics:icon-car_rental", "car_wash", "basics:icon-car_wash", "cinema", "basics:icon-cinema", "college", "basics:icon-college", "community_centre", "basics:icon-community", "dentist", "basics:icon-dentist", "doctors", "basics:icon-doctor", "dog_park", "basics:icon-dog_park", "drinking_water", "basics:icon-drinking_water", "embassy", "basics:icon-embassy", "fast_food", "basics:icon-fast_food", "fire_station", "basics:icon-fire_station", "fountain", "basics:icon-fountain", "grave_yard", "basics:icon-cemetery", "hospital", "basics:icon-hospital", "hunting_stand", "basics:icon-huntingstand", "library", "basics:icon-library", "marketplace", "basics:icon-marketplace", "nightclub", "basics:icon-nightclub", "nursing_home", "basics:icon-nursinghome", "pharmacy", "basics:icon-pharmacy", "place_of_worship", "basics:icon-place_of_worship", "playground", "basics:icon-playground", "police", "basics:icon-police", "post_box", "basics:icon-postbox", "post_office", "basics:icon-post", "prison", "basics:icon-prison", "pub", "basics:icon-beer", "recycling", "basics:icon-recycling", "restaurant", "basics:icon-restaurant", "school", "basics:icon-school", "shelter", "basics:icon-shelter", "telephone", "basics:icon-telephone", "theatre", "basics:icon-theatre", "toilets", "basics:icon-toilet", "townhall", "basics:icon-town_hall", "vending_machine", "basics:icon-vendingmachine", "veterinary", "basics:icon-veterinary", "waste_basket", "basics:icon-waste_basket", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-leisure", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "leisure" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "leisure" ], "golf_course", "basics:icon-golf", "ice_rink", "basics:icon-icerink", "pitch", "basics:icon-pitch", "stadium", "basics:icon-stadium", "swimming_pool", "basics:icon-swimming", "water_park", "basics:icon-waterpark", "basics:icon-sports" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-tourism", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "tourism" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "tourism" ], "chalet", "basics:icon-chalet", "information", "basics:transport-information", "picnic_site", "basics:icon-picnic_site", "viewpoint", "basics:icon-viewpoint", "zoo", "basics:icon-zoo", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-shop", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "shop" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "shop" ], "alcohol", "basics:icon-alcohol_shop", "bakery", "basics:icon-bakery", "beauty", "basics:icon-beauty", "beverages", "basics:icon-beverages", "books", "basics:icon-books", "butcher", "basics:icon-butcher", "chemist", "basics:icon-chemist", "clothes", "basics:icon-clothes", "doityourself", "basics:icon-doityourself", "dry_cleaning", "basics:icon-drycleaning", "florist", "basics:icon-florist", "furniture", "basics:icon-furniture", "garden_centre", "basics:icon-garden_centre", "general", "basics:icon-shop", "gift", "basics:icon-gift", "greengrocer", "basics:icon-greengrocer", "hairdresser", "basics:icon-hairdresser", "hardware", "basics:icon-hardware", "jewelry", "basics:icon-jewelry_store", "kiosk", "basics:icon-kiosk", "laundry", "basics:icon-laundry", "newsagent", "basics:icon-newsagent", "optican", "basics:icon-optician", "outdoor", "basics:icon-outdoor", "shoes", "basics:icon-shoes", "sports", "basics:icon-sports", "stationery", "basics:icon-stationery", "toys", "basics:icon-toys", "travel_agency", "basics:icon-travel_agent", "video", "basics:icon-video", "basics:icon-shop" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-man_made", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "man_made" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "man_made" ], "lighthouse", "basics:icon-lighthouse", "surveillance", "basics:icon-surveillance", "tower", "basics:icon-observation_tower", "watermill", "basics:icon-watermill", "windmill", "basics:icon-windmill", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-historic", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "historic" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "historic" ], "artwork", "basics:icon-artwork", "castle", "basics:icon-castle", "monument", "basics:icon-monument", "wayside_shrine", "basics:icon-shrine", "basics:icon-historic" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-emergency", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "emergency" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "emergency" ], "defibrillator", "basics:icon-defibrillator", "fire_hydrant", "basics:icon-hydrant", "phone", "basics:icon-emergency_phone", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-highway", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "highway" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-office", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "office" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(29,24,18)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(29,24,18)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(41,36,31)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,24%,28%)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "hsl(246,17%,23%)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,24%,28%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-address-housenumber", + "type": "symbol", + "source-layer": "addresses", + "filter": [ "has", "housenumber" ], + "layout": { + "text-field": "{housenumber}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": { "stops": [ [ 17, 8 ], [ 19, 10 ] ] } + }, + "paint": { + "text-halo-color": "rgb(40,33,25)", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "rgb(20,15,9)", + "text-color": "rgb(20,15,9)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_bold" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 10 ], [ 18, 12 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "hsl(0,0%,0%)", + "text-color": "hsl(0,0%,0%)", + "text-halo-color": "hsl(34,100%,23%)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(170,196,202)", + "text-color": "rgb(170,196,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(170,191,202)", + "text-color": "rgb(170,191,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(170,186,202)", + "text-color": "rgb(170,186,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(190,190,207)", + "text-color": "rgb(190,190,207)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 4, 8 ], [ 5, 11 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 3, 8 ], [ 5, 12 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 2, 8 ], [ 5, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 2 + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway-reverse", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway_reverse", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-bus", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "bus_stop" ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 16, 0.5 ], [ 18, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 16 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-tram", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "tram_stop" ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 15, 0.5 ], [ 17, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-subway", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "subway" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-lightrail", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "light_rail" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-station", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "!in", "station", "light_rail", "subway" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airfield", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "!has", "iata" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airport", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "has", "iata" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 12, 0.5 ], [ 14, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/nolabel.json b/apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/nolabel.json new file mode 100644 index 000000000..447deb4d1 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/nolabel.json @@ -0,0 +1,3888 @@ +{ + "version": 8, + "name": "versatiles-eclipse", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "hsl(33,48%,5%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "hsl(205,69%,15%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "hsl(0,0%,0%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "hsla(324,61%,8%,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "hsla(49,100%,12%,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "hsla(33,18%,10%,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "hsl(43,51%,12%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "hsl(50,29%,20%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "hsl(54,22%,17%)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "hsl(84,29%,10%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "hsl(192,9%,11%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "hsl(100,43%,53%)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "hsl(90,41%,15%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "hsl(60,57%,5%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "hsl(145,28%,14%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "hsl(33,48%,5%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "hsl(205,69%,15%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "hsl(33,48%,5%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "hsl(33,48%,5%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "hsl(0,100%,50%)", + "fill-outline-color": "hsl(0,100%,50%)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "hsl(60,100%,25%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "hsl(60,100%,25%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "hsl(60,100%,25%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "hsl(0,100%,30%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "hsl(305,73%,3%)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "hsl(24,11%,9%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "hsl(24,11%,9%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "hsl(0,0%,34%)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "hsl(0,0%,0%)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,11%,14%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,38%,8%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(0,0,0)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,50%,4%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,50%,4%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,50%,4%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(203,50%,3%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(114,112,110)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,50%,4%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,50%,4%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,50%,4%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,50%,3%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(133,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(133,87,26)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,119,131)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(17,12,6)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(21,5,25,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(0,9,14)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(114,112,110)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,100%,3%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(288,100%,4%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,119,131)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(11,39,58)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "hsl(0,0%,0%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(0,9,14)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(114,112,110)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,100%,3%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,119,131)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(29,24,18)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(29,24,18)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(41,36,31)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,24%,28%)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "hsl(246,17%,23%)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,24%,28%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/style.json b/apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/style.json new file mode 100644 index 000000000..51b7b2d5c --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/eclipse/style.json @@ -0,0 +1,4811 @@ +{ + "version": 8, + "name": "versatiles-eclipse", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "hsl(33,48%,5%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "hsl(205,69%,15%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "hsl(0,0%,0%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "hsla(324,61%,8%,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "hsla(49,100%,12%,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "hsla(33,18%,10%,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "hsl(43,51%,12%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "hsl(50,29%,20%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "hsl(54,22%,17%)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "hsl(84,29%,10%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "hsl(192,9%,11%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "hsl(100,43%,53%)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "hsl(90,41%,15%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "hsl(60,57%,5%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "hsl(145,28%,14%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "hsl(33,48%,5%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "hsl(205,69%,15%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "hsl(33,48%,5%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "hsl(33,48%,5%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "hsl(0,100%,50%)", + "fill-outline-color": "hsl(0,100%,50%)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "hsl(60,100%,25%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "hsl(60,100%,25%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "hsl(60,100%,25%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "hsl(0,100%,30%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "hsl(305,73%,3%)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "hsl(24,11%,9%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "hsl(24,11%,9%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "hsl(0,0%,34%)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "hsl(0,0%,0%)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,11%,14%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,38%,8%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(0,0,0)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,50%,4%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,50%,4%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(288,50%,4%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(203,50%,3%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(114,112,110)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(142,84,34)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,50%,4%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,50%,4%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(288,50%,4%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,50%,3%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(133,87,26)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,87,26)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(133,87,26)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,119,131)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(17,12,6)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(21,5,25,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(0,9,14)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(114,112,110)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,100%,3%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(288,100%,4%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,119,131)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(11,39,58)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(17,12,6)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "hsl(0,0%,0%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(14,0,18)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(0,9,14)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(114,112,110)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(21,5,25)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,100%,3%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,119,131)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(108,115,122)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-amenity", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "amenity" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "amenity" ], "arts_centre", "basics:icon-art_gallery", "atm", "basics:icon-atm", "bank", "basics:icon-bank", "bar", "basics:icon-bar", "bench", "basics:icon-bench", "bicycle_rental", "basics:icon-bicycle_share", "biergarten", "basics:icon-beergarden", "cafe", "basics:icon-cafe", "car_rental", "basics:icon-car_rental", "car_sharing", "basics:icon-car_rental", "car_wash", "basics:icon-car_wash", "cinema", "basics:icon-cinema", "college", "basics:icon-college", "community_centre", "basics:icon-community", "dentist", "basics:icon-dentist", "doctors", "basics:icon-doctor", "dog_park", "basics:icon-dog_park", "drinking_water", "basics:icon-drinking_water", "embassy", "basics:icon-embassy", "fast_food", "basics:icon-fast_food", "fire_station", "basics:icon-fire_station", "fountain", "basics:icon-fountain", "grave_yard", "basics:icon-cemetery", "hospital", "basics:icon-hospital", "hunting_stand", "basics:icon-huntingstand", "library", "basics:icon-library", "marketplace", "basics:icon-marketplace", "nightclub", "basics:icon-nightclub", "nursing_home", "basics:icon-nursinghome", "pharmacy", "basics:icon-pharmacy", "place_of_worship", "basics:icon-place_of_worship", "playground", "basics:icon-playground", "police", "basics:icon-police", "post_box", "basics:icon-postbox", "post_office", "basics:icon-post", "prison", "basics:icon-prison", "pub", "basics:icon-beer", "recycling", "basics:icon-recycling", "restaurant", "basics:icon-restaurant", "school", "basics:icon-school", "shelter", "basics:icon-shelter", "telephone", "basics:icon-telephone", "theatre", "basics:icon-theatre", "toilets", "basics:icon-toilet", "townhall", "basics:icon-town_hall", "vending_machine", "basics:icon-vendingmachine", "veterinary", "basics:icon-veterinary", "waste_basket", "basics:icon-waste_basket", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-leisure", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "leisure" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "leisure" ], "golf_course", "basics:icon-golf", "ice_rink", "basics:icon-icerink", "pitch", "basics:icon-pitch", "stadium", "basics:icon-stadium", "swimming_pool", "basics:icon-swimming", "water_park", "basics:icon-waterpark", "basics:icon-sports" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-tourism", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "tourism" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "tourism" ], "chalet", "basics:icon-chalet", "information", "basics:transport-information", "picnic_site", "basics:icon-picnic_site", "viewpoint", "basics:icon-viewpoint", "zoo", "basics:icon-zoo", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-shop", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "shop" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "shop" ], "alcohol", "basics:icon-alcohol_shop", "bakery", "basics:icon-bakery", "beauty", "basics:icon-beauty", "beverages", "basics:icon-beverages", "books", "basics:icon-books", "butcher", "basics:icon-butcher", "chemist", "basics:icon-chemist", "clothes", "basics:icon-clothes", "doityourself", "basics:icon-doityourself", "dry_cleaning", "basics:icon-drycleaning", "florist", "basics:icon-florist", "furniture", "basics:icon-furniture", "garden_centre", "basics:icon-garden_centre", "general", "basics:icon-shop", "gift", "basics:icon-gift", "greengrocer", "basics:icon-greengrocer", "hairdresser", "basics:icon-hairdresser", "hardware", "basics:icon-hardware", "jewelry", "basics:icon-jewelry_store", "kiosk", "basics:icon-kiosk", "laundry", "basics:icon-laundry", "newsagent", "basics:icon-newsagent", "optican", "basics:icon-optician", "outdoor", "basics:icon-outdoor", "shoes", "basics:icon-shoes", "sports", "basics:icon-sports", "stationery", "basics:icon-stationery", "toys", "basics:icon-toys", "travel_agency", "basics:icon-travel_agent", "video", "basics:icon-video", "basics:icon-shop" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-man_made", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "man_made" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "man_made" ], "lighthouse", "basics:icon-lighthouse", "surveillance", "basics:icon-surveillance", "tower", "basics:icon-observation_tower", "watermill", "basics:icon-watermill", "windmill", "basics:icon-windmill", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-historic", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "historic" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "historic" ], "artwork", "basics:icon-artwork", "castle", "basics:icon-castle", "monument", "basics:icon-monument", "wayside_shrine", "basics:icon-shrine", "basics:icon-historic" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-emergency", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "emergency" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "emergency" ], "defibrillator", "basics:icon-defibrillator", "fire_hydrant", "basics:icon-hydrant", "phone", "basics:icon-emergency_phone", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-highway", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "highway" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-office", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "office" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(29,24,18)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(29,24,18)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(41,36,31)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,24%,28%)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "hsl(246,17%,23%)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,24%,28%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-address-housenumber", + "type": "symbol", + "source-layer": "addresses", + "filter": [ "has", "housenumber" ], + "layout": { + "text-field": "{housenumber}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": { "stops": [ [ 17, 8 ], [ 19, 10 ] ] } + }, + "paint": { + "text-halo-color": "rgb(40,33,25)", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "rgb(20,15,9)", + "text-color": "rgb(20,15,9)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_bold" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 10 ], [ 18, 12 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "hsl(0,0%,0%)", + "text-color": "hsl(0,0%,0%)", + "text-halo-color": "hsl(34,100%,23%)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(170,196,202)", + "text-color": "rgb(170,196,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(170,191,202)", + "text-color": "rgb(170,191,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(170,186,202)", + "text-color": "rgb(170,186,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(190,190,207)", + "text-color": "rgb(190,190,207)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(170,178,202)", + "text-color": "rgb(170,178,202)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 4, 8 ], [ 5, 11 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 3, 8 ], [ 5, 12 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 2, 8 ], [ 5, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 2 + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway-reverse", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway_reverse", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-bus", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "bus_stop" ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 16, 0.5 ], [ 18, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 16 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-tram", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "tram_stop" ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 15, 0.5 ], [ 17, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-subway", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "subway" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-lightrail", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "light_rail" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-station", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "!in", "station", "light_rail", "subway" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airfield", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "!has", "iata" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airport", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "has", "iata" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 12, 0.5 ], [ 14, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/empty/style.json b/apps/client/src/widgets/view_widgets/geo_view/styles/empty/style.json new file mode 100644 index 000000000..ca9e6496d --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/empty/style.json @@ -0,0 +1,30 @@ +{ + "version": 8, + "name": "versatiles-empty", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/de.json b/apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/de.json new file mode 100644 index 000000000..4b04b9fad --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/de.json @@ -0,0 +1,4811 @@ +{ + "version": 8, + "name": "versatiles-graybeard", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "hsl(33,0%,95%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "hsl(205,0%,85%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "hsl(0,0%,100%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "hsla(324,0%,92%,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "hsla(49,0%,88%,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "hsla(33,0%,90%,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "hsl(43,0%,88%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "hsl(50,0%,80%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "hsl(54,0%,83%)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "hsl(84,0%,90%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "hsl(192,0%,89%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "hsl(100,0%,47%)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "hsl(90,0%,85%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "hsl(60,0%,95%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "hsl(145,0%,86%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "hsl(205,0%,85%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "hsl(205,0%,85%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "hsl(205,0%,85%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "hsl(33,0%,95%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "hsl(205,0%,85%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "hsl(33,0%,95%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "hsl(33,0%,95%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "hsl(0,0%,50%)", + "fill-outline-color": "hsl(0,0%,50%)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "hsl(0,0%,70%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "hsl(305,0%,97%)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "hsl(24,0%,91%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "hsl(24,0%,91%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "hsl(0,0%,66%)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "hsl(0,0%,100%)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,0%,86%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,0%,92%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(247,247,247)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,87%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(220,220,220)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,95%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,0%,72%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(239,239,239)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(245,245,245,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(222,222,222)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(220,220,220)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,0%,97%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(288,0%,96%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,0%,72%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(195,195,195)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "hsl(0,0%,100%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(222,222,222)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(220,220,220)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,0%,97%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(207,0%,72%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-amenity", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "amenity" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "amenity" ], "arts_centre", "basics:icon-art_gallery", "atm", "basics:icon-atm", "bank", "basics:icon-bank", "bar", "basics:icon-bar", "bench", "basics:icon-bench", "bicycle_rental", "basics:icon-bicycle_share", "biergarten", "basics:icon-beergarden", "cafe", "basics:icon-cafe", "car_rental", "basics:icon-car_rental", "car_sharing", "basics:icon-car_rental", "car_wash", "basics:icon-car_wash", "cinema", "basics:icon-cinema", "college", "basics:icon-college", "community_centre", "basics:icon-community", "dentist", "basics:icon-dentist", "doctors", "basics:icon-doctor", "dog_park", "basics:icon-dog_park", "drinking_water", "basics:icon-drinking_water", "embassy", "basics:icon-embassy", "fast_food", "basics:icon-fast_food", "fire_station", "basics:icon-fire_station", "fountain", "basics:icon-fountain", "grave_yard", "basics:icon-cemetery", "hospital", "basics:icon-hospital", "hunting_stand", "basics:icon-huntingstand", "library", "basics:icon-library", "marketplace", "basics:icon-marketplace", "nightclub", "basics:icon-nightclub", "nursing_home", "basics:icon-nursinghome", "pharmacy", "basics:icon-pharmacy", "place_of_worship", "basics:icon-place_of_worship", "playground", "basics:icon-playground", "police", "basics:icon-police", "post_box", "basics:icon-postbox", "post_office", "basics:icon-post", "prison", "basics:icon-prison", "pub", "basics:icon-beer", "recycling", "basics:icon-recycling", "restaurant", "basics:icon-restaurant", "school", "basics:icon-school", "shelter", "basics:icon-shelter", "telephone", "basics:icon-telephone", "theatre", "basics:icon-theatre", "toilets", "basics:icon-toilet", "townhall", "basics:icon-town_hall", "vending_machine", "basics:icon-vendingmachine", "veterinary", "basics:icon-veterinary", "waste_basket", "basics:icon-waste_basket", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-leisure", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "leisure" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "leisure" ], "golf_course", "basics:icon-golf", "ice_rink", "basics:icon-icerink", "pitch", "basics:icon-pitch", "stadium", "basics:icon-stadium", "swimming_pool", "basics:icon-swimming", "water_park", "basics:icon-waterpark", "basics:icon-sports" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-tourism", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "tourism" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "tourism" ], "chalet", "basics:icon-chalet", "information", "basics:transport-information", "picnic_site", "basics:icon-picnic_site", "viewpoint", "basics:icon-viewpoint", "zoo", "basics:icon-zoo", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-shop", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "shop" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "shop" ], "alcohol", "basics:icon-alcohol_shop", "bakery", "basics:icon-bakery", "beauty", "basics:icon-beauty", "beverages", "basics:icon-beverages", "books", "basics:icon-books", "butcher", "basics:icon-butcher", "chemist", "basics:icon-chemist", "clothes", "basics:icon-clothes", "doityourself", "basics:icon-doityourself", "dry_cleaning", "basics:icon-drycleaning", "florist", "basics:icon-florist", "furniture", "basics:icon-furniture", "garden_centre", "basics:icon-garden_centre", "general", "basics:icon-shop", "gift", "basics:icon-gift", "greengrocer", "basics:icon-greengrocer", "hairdresser", "basics:icon-hairdresser", "hardware", "basics:icon-hardware", "jewelry", "basics:icon-jewelry_store", "kiosk", "basics:icon-kiosk", "laundry", "basics:icon-laundry", "newsagent", "basics:icon-newsagent", "optican", "basics:icon-optician", "outdoor", "basics:icon-outdoor", "shoes", "basics:icon-shoes", "sports", "basics:icon-sports", "stationery", "basics:icon-stationery", "toys", "basics:icon-toys", "travel_agency", "basics:icon-travel_agent", "video", "basics:icon-video", "basics:icon-shop" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-man_made", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "man_made" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "man_made" ], "lighthouse", "basics:icon-lighthouse", "surveillance", "basics:icon-surveillance", "tower", "basics:icon-observation_tower", "watermill", "basics:icon-watermill", "windmill", "basics:icon-windmill", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-historic", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "historic" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "historic" ], "artwork", "basics:icon-artwork", "castle", "basics:icon-castle", "monument", "basics:icon-monument", "wayside_shrine", "basics:icon-shrine", "basics:icon-historic" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-emergency", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "emergency" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "emergency" ], "defibrillator", "basics:icon-defibrillator", "fire_hydrant", "basics:icon-hydrant", "phone", "basics:icon-emergency_phone", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-highway", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "highway" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-office", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "office" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(244,244,244)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(244,244,244)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(245,245,245)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,0%,72%)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "hsl(246,0%,77%)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,0%,72%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-address-housenumber", + "type": "symbol", + "source-layer": "addresses", + "filter": [ "has", "housenumber" ], + "layout": { + "text-field": "{housenumber}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": { "stops": [ [ 17, 8 ], [ 19, 10 ] ] } + }, + "paint": { + "text-halo-color": "rgb(235,235,235)", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "rgb(164,164,164)", + "text-color": "rgb(164,164,164)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_bold" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 10 ], [ 18, 12 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "hsl(0,0%,100%)", + "text-color": "hsl(0,0%,100%)", + "text-halo-color": "hsl(34,0%,77%)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(69,69,69)", + "text-color": "rgb(69,69,69)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 4, 8 ], [ 5, 11 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 3, 8 ], [ 5, 12 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 2, 8 ], [ 5, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 2 + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway-reverse", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway_reverse", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-bus", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "bus_stop" ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 16, 0.5 ], [ 18, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 16 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-tram", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "tram_stop" ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 15, 0.5 ], [ 17, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-subway", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "subway" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-lightrail", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "light_rail" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-station", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "!in", "station", "light_rail", "subway" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airfield", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "!has", "iata" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airport", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "has", "iata" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 12, 0.5 ], [ 14, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/en.json b/apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/en.json new file mode 100644 index 000000000..cb63e8130 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/en.json @@ -0,0 +1,4811 @@ +{ + "version": 8, + "name": "versatiles-graybeard", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "hsl(33,0%,95%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "hsl(205,0%,85%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "hsl(0,0%,100%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "hsla(324,0%,92%,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "hsla(49,0%,88%,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "hsla(33,0%,90%,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "hsl(43,0%,88%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "hsl(50,0%,80%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "hsl(54,0%,83%)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "hsl(84,0%,90%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "hsl(192,0%,89%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "hsl(100,0%,47%)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "hsl(90,0%,85%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "hsl(60,0%,95%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "hsl(145,0%,86%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "hsl(205,0%,85%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "hsl(205,0%,85%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "hsl(205,0%,85%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "hsl(33,0%,95%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "hsl(205,0%,85%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "hsl(33,0%,95%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "hsl(33,0%,95%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "hsl(0,0%,50%)", + "fill-outline-color": "hsl(0,0%,50%)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "hsl(0,0%,70%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "hsl(305,0%,97%)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "hsl(24,0%,91%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "hsl(24,0%,91%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "hsl(0,0%,66%)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "hsl(0,0%,100%)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,0%,86%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,0%,92%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(247,247,247)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,87%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(220,220,220)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,95%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,0%,72%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(239,239,239)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(245,245,245,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(222,222,222)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(220,220,220)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,0%,97%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(288,0%,96%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,0%,72%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(195,195,195)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "hsl(0,0%,100%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(222,222,222)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(220,220,220)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,0%,97%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(207,0%,72%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-amenity", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "amenity" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "amenity" ], "arts_centre", "basics:icon-art_gallery", "atm", "basics:icon-atm", "bank", "basics:icon-bank", "bar", "basics:icon-bar", "bench", "basics:icon-bench", "bicycle_rental", "basics:icon-bicycle_share", "biergarten", "basics:icon-beergarden", "cafe", "basics:icon-cafe", "car_rental", "basics:icon-car_rental", "car_sharing", "basics:icon-car_rental", "car_wash", "basics:icon-car_wash", "cinema", "basics:icon-cinema", "college", "basics:icon-college", "community_centre", "basics:icon-community", "dentist", "basics:icon-dentist", "doctors", "basics:icon-doctor", "dog_park", "basics:icon-dog_park", "drinking_water", "basics:icon-drinking_water", "embassy", "basics:icon-embassy", "fast_food", "basics:icon-fast_food", "fire_station", "basics:icon-fire_station", "fountain", "basics:icon-fountain", "grave_yard", "basics:icon-cemetery", "hospital", "basics:icon-hospital", "hunting_stand", "basics:icon-huntingstand", "library", "basics:icon-library", "marketplace", "basics:icon-marketplace", "nightclub", "basics:icon-nightclub", "nursing_home", "basics:icon-nursinghome", "pharmacy", "basics:icon-pharmacy", "place_of_worship", "basics:icon-place_of_worship", "playground", "basics:icon-playground", "police", "basics:icon-police", "post_box", "basics:icon-postbox", "post_office", "basics:icon-post", "prison", "basics:icon-prison", "pub", "basics:icon-beer", "recycling", "basics:icon-recycling", "restaurant", "basics:icon-restaurant", "school", "basics:icon-school", "shelter", "basics:icon-shelter", "telephone", "basics:icon-telephone", "theatre", "basics:icon-theatre", "toilets", "basics:icon-toilet", "townhall", "basics:icon-town_hall", "vending_machine", "basics:icon-vendingmachine", "veterinary", "basics:icon-veterinary", "waste_basket", "basics:icon-waste_basket", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-leisure", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "leisure" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "leisure" ], "golf_course", "basics:icon-golf", "ice_rink", "basics:icon-icerink", "pitch", "basics:icon-pitch", "stadium", "basics:icon-stadium", "swimming_pool", "basics:icon-swimming", "water_park", "basics:icon-waterpark", "basics:icon-sports" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-tourism", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "tourism" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "tourism" ], "chalet", "basics:icon-chalet", "information", "basics:transport-information", "picnic_site", "basics:icon-picnic_site", "viewpoint", "basics:icon-viewpoint", "zoo", "basics:icon-zoo", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-shop", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "shop" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "shop" ], "alcohol", "basics:icon-alcohol_shop", "bakery", "basics:icon-bakery", "beauty", "basics:icon-beauty", "beverages", "basics:icon-beverages", "books", "basics:icon-books", "butcher", "basics:icon-butcher", "chemist", "basics:icon-chemist", "clothes", "basics:icon-clothes", "doityourself", "basics:icon-doityourself", "dry_cleaning", "basics:icon-drycleaning", "florist", "basics:icon-florist", "furniture", "basics:icon-furniture", "garden_centre", "basics:icon-garden_centre", "general", "basics:icon-shop", "gift", "basics:icon-gift", "greengrocer", "basics:icon-greengrocer", "hairdresser", "basics:icon-hairdresser", "hardware", "basics:icon-hardware", "jewelry", "basics:icon-jewelry_store", "kiosk", "basics:icon-kiosk", "laundry", "basics:icon-laundry", "newsagent", "basics:icon-newsagent", "optican", "basics:icon-optician", "outdoor", "basics:icon-outdoor", "shoes", "basics:icon-shoes", "sports", "basics:icon-sports", "stationery", "basics:icon-stationery", "toys", "basics:icon-toys", "travel_agency", "basics:icon-travel_agent", "video", "basics:icon-video", "basics:icon-shop" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-man_made", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "man_made" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "man_made" ], "lighthouse", "basics:icon-lighthouse", "surveillance", "basics:icon-surveillance", "tower", "basics:icon-observation_tower", "watermill", "basics:icon-watermill", "windmill", "basics:icon-windmill", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-historic", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "historic" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "historic" ], "artwork", "basics:icon-artwork", "castle", "basics:icon-castle", "monument", "basics:icon-monument", "wayside_shrine", "basics:icon-shrine", "basics:icon-historic" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-emergency", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "emergency" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "emergency" ], "defibrillator", "basics:icon-defibrillator", "fire_hydrant", "basics:icon-hydrant", "phone", "basics:icon-emergency_phone", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-highway", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "highway" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-office", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "office" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(244,244,244)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(244,244,244)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(245,245,245)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,0%,72%)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "hsl(246,0%,77%)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,0%,72%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-address-housenumber", + "type": "symbol", + "source-layer": "addresses", + "filter": [ "has", "housenumber" ], + "layout": { + "text-field": "{housenumber}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": { "stops": [ [ 17, 8 ], [ 19, 10 ] ] } + }, + "paint": { + "text-halo-color": "rgb(235,235,235)", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "rgb(164,164,164)", + "text-color": "rgb(164,164,164)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_bold" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 10 ], [ 18, 12 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "hsl(0,0%,100%)", + "text-color": "hsl(0,0%,100%)", + "text-halo-color": "hsl(34,0%,77%)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(69,69,69)", + "text-color": "rgb(69,69,69)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 4, 8 ], [ 5, 11 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 3, 8 ], [ 5, 12 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 2, 8 ], [ 5, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 2 + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway-reverse", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway_reverse", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-bus", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "bus_stop" ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 16, 0.5 ], [ 18, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 16 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-tram", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "tram_stop" ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 15, 0.5 ], [ 17, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-subway", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "subway" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-lightrail", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "light_rail" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-station", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "!in", "station", "light_rail", "subway" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airfield", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "!has", "iata" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airport", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "has", "iata" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 12, 0.5 ], [ 14, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/nolabel.json b/apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/nolabel.json new file mode 100644 index 000000000..edc1525f4 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/nolabel.json @@ -0,0 +1,3888 @@ +{ + "version": 8, + "name": "versatiles-graybeard", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "hsl(33,0%,95%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "hsl(205,0%,85%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "hsl(0,0%,100%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "hsla(324,0%,92%,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "hsla(49,0%,88%,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "hsla(33,0%,90%,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "hsl(43,0%,88%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "hsl(50,0%,80%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "hsl(54,0%,83%)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "hsl(84,0%,90%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "hsl(192,0%,89%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "hsl(100,0%,47%)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "hsl(90,0%,85%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "hsl(60,0%,95%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "hsl(145,0%,86%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "hsl(205,0%,85%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "hsl(205,0%,85%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "hsl(205,0%,85%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "hsl(33,0%,95%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "hsl(205,0%,85%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "hsl(33,0%,95%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "hsl(33,0%,95%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "hsl(0,0%,50%)", + "fill-outline-color": "hsl(0,0%,50%)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "hsl(0,0%,70%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "hsl(305,0%,97%)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "hsl(24,0%,91%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "hsl(24,0%,91%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "hsl(0,0%,66%)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "hsl(0,0%,100%)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,0%,86%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,0%,92%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(247,247,247)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,87%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(220,220,220)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,95%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,0%,72%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(239,239,239)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(245,245,245,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(222,222,222)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(220,220,220)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,0%,97%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(288,0%,96%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,0%,72%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(195,195,195)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "hsl(0,0%,100%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(222,222,222)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(220,220,220)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,0%,97%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(207,0%,72%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(244,244,244)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(244,244,244)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(245,245,245)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,0%,72%)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "hsl(246,0%,77%)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,0%,72%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/style.json b/apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/style.json new file mode 100644 index 000000000..3db4db197 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/graybeard/style.json @@ -0,0 +1,4811 @@ +{ + "version": 8, + "name": "versatiles-graybeard", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "hsl(33,0%,95%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "hsl(205,0%,85%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "hsl(0,0%,100%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "hsla(324,0%,92%,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "hsla(49,0%,88%,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "hsla(33,0%,90%,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "hsl(43,0%,88%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "hsl(50,0%,80%)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "hsl(54,0%,83%)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "hsl(84,0%,90%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "hsl(192,0%,89%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "hsl(100,0%,47%)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "hsl(90,0%,85%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "hsl(60,0%,95%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "hsl(145,0%,86%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "hsl(205,0%,85%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "hsl(205,0%,85%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "hsl(205,0%,85%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "hsl(205,0%,85%)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "hsl(33,0%,95%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "hsl(205,0%,85%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "hsl(33,0%,95%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "hsl(33,0%,95%)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "hsl(0,0%,50%)", + "fill-outline-color": "hsl(0,0%,50%)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "hsl(60,0%,75%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "hsl(0,0%,70%)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "hsl(305,0%,97%)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "hsl(24,0%,91%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "hsl(24,0%,91%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "hsl(0,0%,66%)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "hsl(0,0%,100%)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,0%,86%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,0%,92%)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(247,247,247)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,87%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(220,220,220)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(180,180,180)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,94%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,95%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,0%,72%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(239,239,239)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(245,245,245,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(222,222,222)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(220,220,220)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(36,0%,80%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,0%,97%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(288,0%,96%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(207,0%,72%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(195,195,195)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(239,239,239)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "hsl(0,0%,100%)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(220,220,220)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(222,222,222)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(220,220,220)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(28,0%,69%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(245,245,245)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(203,0%,97%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(203,0%,97%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(48,0%,83%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "hsl(34,0%,77%)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(207,0%,72%)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "hsl(208,0%,73%)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(201,201,201)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(204,204,204)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "hsl(208,0%,73%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-amenity", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "amenity" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "amenity" ], "arts_centre", "basics:icon-art_gallery", "atm", "basics:icon-atm", "bank", "basics:icon-bank", "bar", "basics:icon-bar", "bench", "basics:icon-bench", "bicycle_rental", "basics:icon-bicycle_share", "biergarten", "basics:icon-beergarden", "cafe", "basics:icon-cafe", "car_rental", "basics:icon-car_rental", "car_sharing", "basics:icon-car_rental", "car_wash", "basics:icon-car_wash", "cinema", "basics:icon-cinema", "college", "basics:icon-college", "community_centre", "basics:icon-community", "dentist", "basics:icon-dentist", "doctors", "basics:icon-doctor", "dog_park", "basics:icon-dog_park", "drinking_water", "basics:icon-drinking_water", "embassy", "basics:icon-embassy", "fast_food", "basics:icon-fast_food", "fire_station", "basics:icon-fire_station", "fountain", "basics:icon-fountain", "grave_yard", "basics:icon-cemetery", "hospital", "basics:icon-hospital", "hunting_stand", "basics:icon-huntingstand", "library", "basics:icon-library", "marketplace", "basics:icon-marketplace", "nightclub", "basics:icon-nightclub", "nursing_home", "basics:icon-nursinghome", "pharmacy", "basics:icon-pharmacy", "place_of_worship", "basics:icon-place_of_worship", "playground", "basics:icon-playground", "police", "basics:icon-police", "post_box", "basics:icon-postbox", "post_office", "basics:icon-post", "prison", "basics:icon-prison", "pub", "basics:icon-beer", "recycling", "basics:icon-recycling", "restaurant", "basics:icon-restaurant", "school", "basics:icon-school", "shelter", "basics:icon-shelter", "telephone", "basics:icon-telephone", "theatre", "basics:icon-theatre", "toilets", "basics:icon-toilet", "townhall", "basics:icon-town_hall", "vending_machine", "basics:icon-vendingmachine", "veterinary", "basics:icon-veterinary", "waste_basket", "basics:icon-waste_basket", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-leisure", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "leisure" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "leisure" ], "golf_course", "basics:icon-golf", "ice_rink", "basics:icon-icerink", "pitch", "basics:icon-pitch", "stadium", "basics:icon-stadium", "swimming_pool", "basics:icon-swimming", "water_park", "basics:icon-waterpark", "basics:icon-sports" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-tourism", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "tourism" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "tourism" ], "chalet", "basics:icon-chalet", "information", "basics:transport-information", "picnic_site", "basics:icon-picnic_site", "viewpoint", "basics:icon-viewpoint", "zoo", "basics:icon-zoo", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-shop", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "shop" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "shop" ], "alcohol", "basics:icon-alcohol_shop", "bakery", "basics:icon-bakery", "beauty", "basics:icon-beauty", "beverages", "basics:icon-beverages", "books", "basics:icon-books", "butcher", "basics:icon-butcher", "chemist", "basics:icon-chemist", "clothes", "basics:icon-clothes", "doityourself", "basics:icon-doityourself", "dry_cleaning", "basics:icon-drycleaning", "florist", "basics:icon-florist", "furniture", "basics:icon-furniture", "garden_centre", "basics:icon-garden_centre", "general", "basics:icon-shop", "gift", "basics:icon-gift", "greengrocer", "basics:icon-greengrocer", "hairdresser", "basics:icon-hairdresser", "hardware", "basics:icon-hardware", "jewelry", "basics:icon-jewelry_store", "kiosk", "basics:icon-kiosk", "laundry", "basics:icon-laundry", "newsagent", "basics:icon-newsagent", "optican", "basics:icon-optician", "outdoor", "basics:icon-outdoor", "shoes", "basics:icon-shoes", "sports", "basics:icon-sports", "stationery", "basics:icon-stationery", "toys", "basics:icon-toys", "travel_agency", "basics:icon-travel_agent", "video", "basics:icon-video", "basics:icon-shop" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-man_made", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "man_made" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "man_made" ], "lighthouse", "basics:icon-lighthouse", "surveillance", "basics:icon-surveillance", "tower", "basics:icon-observation_tower", "watermill", "basics:icon-watermill", "windmill", "basics:icon-windmill", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-historic", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "historic" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "historic" ], "artwork", "basics:icon-artwork", "castle", "basics:icon-castle", "monument", "basics:icon-monument", "wayside_shrine", "basics:icon-shrine", "basics:icon-historic" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-emergency", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "emergency" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "emergency" ], "defibrillator", "basics:icon-defibrillator", "fire_hydrant", "basics:icon-hydrant", "phone", "basics:icon-emergency_phone", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-highway", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "highway" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-office", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "office" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "hsl(0,0%,33%)", + "text-color": "hsl(0,0%,33%)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(244,244,244)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(244,244,244)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(245,245,245)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,0%,72%)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "hsl(246,0%,77%)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "hsl(240,0%,72%)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-address-housenumber", + "type": "symbol", + "source-layer": "addresses", + "filter": [ "has", "housenumber" ], + "layout": { + "text-field": "{housenumber}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": { "stops": [ [ 17, 8 ], [ 19, 10 ] ] } + }, + "paint": { + "text-halo-color": "rgb(235,235,235)", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "rgb(164,164,164)", + "text-color": "rgb(164,164,164)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_bold" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 10 ], [ 18, 12 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "hsl(0,0%,100%)", + "text-color": "hsl(0,0%,100%)", + "text-halo-color": "hsl(34,0%,77%)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(69,69,69)", + "text-color": "rgb(69,69,69)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(57,57,57)", + "text-color": "rgb(57,57,57)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 4, 8 ], [ 5, 11 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 3, 8 ], [ 5, 12 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 2, 8 ], [ 5, 13 ] ] } + }, + "paint": { + "icon-color": "hsl(240,0%,23%)", + "text-color": "hsl(240,0%,23%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 2 + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway-reverse", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway_reverse", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-bus", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "bus_stop" ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 16, 0.5 ], [ 18, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 16 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-tram", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "tram_stop" ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 15, 0.5 ], [ 17, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-subway", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "subway" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-lightrail", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "light_rail" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-station", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "!in", "station", "light_rail", "subway" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airfield", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "!has", "iata" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airport", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "has", "iata" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 12, 0.5 ], [ 14, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,0%,40%)", + "text-color": "hsl(270,0%,40%)", + "text-halo-color": "hsla(0,0%,100%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/de.json b/apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/de.json new file mode 100644 index 000000000..0b4395c95 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/de.json @@ -0,0 +1,2920 @@ +{ + "version": 8, + "name": "versatiles-neutrino", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "rgb(239,233,239)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "rgb(239,233,239)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "rgb(239,233,239)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "rgb(248,238,238)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "hsl(90,6%,86%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "hsl(90,6%,86%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "rgb(217,227,217)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "rgb(231,233,229)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "hsl(90,6%,86%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "rgb(203,210,223)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "rgb(203,210,223)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "rgb(203,210,223)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "rgb(246,240,246)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "rgb(246,240,246)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(224,209,217)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(247,247,247)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ] + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 5, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 5, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(244,238,244)" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(254,248,255)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 3 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(241,236,242)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 3 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(241,236,242)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 3 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(241,236,242)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 5, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 2 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(254,248,255)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 2 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(254,248,255)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 2 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(254,248,255)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(254,248,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 13, 1 ], [ 14, 2 ], [ 15, 3 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 5, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 5, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 5, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 2 ], [ 10, 6 ] ] }, + "line-opacity": { "stops": [ [ 2, 0 ], [ 4, 0.3 ] ] }, + "line-color": "rgb(246,241,246)", + "line-blur": 1 + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 7, 3 ], [ 10, 5 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.3 ] ] }, + "line-color": "rgb(246,241,246)", + "line-blur": 1 + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(230,204,216)", + "line-width": { "stops": [ [ 2, 1 ], [ 10, 4 ] ] }, + "line-opacity": { "stops": [ [ 2, 0 ], [ 4, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(230,204,216)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 3 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] }, + "line-dasharray": [ 0, 1.5, 1, 1.5 ] + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 8 ], [ 18, 10 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(202,164,196)", + "text-color": "rgb(202,164,196)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(202,164,190)", + "text-color": "rgb(202,164,190)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(202,164,183)", + "text-color": "rgb(202,164,183)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 10 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_bold" ], + "text-transform": "uppercase", + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(206,187,187)", + "text-color": "rgb(206,187,187)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_bold" ], + "text-transform": "uppercase", + "text-size": { "stops": [ [ 4, 11 ], [ 5, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_bold" ], + "text-transform": "uppercase", + "text-size": { "stops": [ [ 3, 11 ], [ 5, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_bold" ], + "text-transform": "uppercase", + "text-size": { "stops": [ [ 2, 11 ], [ 5, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 2 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/en.json b/apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/en.json new file mode 100644 index 000000000..cd5e5f0bb --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/en.json @@ -0,0 +1,2920 @@ +{ + "version": 8, + "name": "versatiles-neutrino", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "rgb(239,233,239)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "rgb(239,233,239)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "rgb(239,233,239)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "rgb(248,238,238)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "hsl(90,6%,86%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "hsl(90,6%,86%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "rgb(217,227,217)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "rgb(231,233,229)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "hsl(90,6%,86%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "rgb(203,210,223)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "rgb(203,210,223)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "rgb(203,210,223)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "rgb(246,240,246)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "rgb(246,240,246)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(224,209,217)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(247,247,247)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ] + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 5, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 5, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(244,238,244)" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(254,248,255)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 3 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(241,236,242)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 3 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(241,236,242)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 3 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(241,236,242)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 5, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 2 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(254,248,255)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 2 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(254,248,255)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 2 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(254,248,255)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(254,248,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 13, 1 ], [ 14, 2 ], [ 15, 3 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 5, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 5, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 5, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 2 ], [ 10, 6 ] ] }, + "line-opacity": { "stops": [ [ 2, 0 ], [ 4, 0.3 ] ] }, + "line-color": "rgb(246,241,246)", + "line-blur": 1 + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 7, 3 ], [ 10, 5 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.3 ] ] }, + "line-color": "rgb(246,241,246)", + "line-blur": 1 + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(230,204,216)", + "line-width": { "stops": [ [ 2, 1 ], [ 10, 4 ] ] }, + "line-opacity": { "stops": [ [ 2, 0 ], [ 4, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(230,204,216)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 3 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] }, + "line-dasharray": [ 0, 1.5, 1, 1.5 ] + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 8 ], [ 18, 10 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(202,164,196)", + "text-color": "rgb(202,164,196)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(202,164,190)", + "text-color": "rgb(202,164,190)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(202,164,183)", + "text-color": "rgb(202,164,183)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 10 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_bold" ], + "text-transform": "uppercase", + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(206,187,187)", + "text-color": "rgb(206,187,187)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_bold" ], + "text-transform": "uppercase", + "text-size": { "stops": [ [ 4, 11 ], [ 5, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_bold" ], + "text-transform": "uppercase", + "text-size": { "stops": [ [ 3, 11 ], [ 5, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_bold" ], + "text-transform": "uppercase", + "text-size": { "stops": [ [ 2, 11 ], [ 5, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 2 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/nolabel.json b/apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/nolabel.json new file mode 100644 index 000000000..77a27098e --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/nolabel.json @@ -0,0 +1,2455 @@ +{ + "version": 8, + "name": "versatiles-neutrino", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "rgb(239,233,239)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "rgb(239,233,239)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "rgb(239,233,239)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "rgb(248,238,238)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "hsl(90,6%,86%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "hsl(90,6%,86%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "rgb(217,227,217)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "rgb(231,233,229)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "hsl(90,6%,86%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "rgb(203,210,223)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "rgb(203,210,223)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "rgb(203,210,223)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "rgb(246,240,246)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "rgb(246,240,246)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(224,209,217)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(247,247,247)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ] + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 5, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 5, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(244,238,244)" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(254,248,255)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 3 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(241,236,242)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 3 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(241,236,242)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 3 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(241,236,242)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 5, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 2 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(254,248,255)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 2 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(254,248,255)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 2 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(254,248,255)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(254,248,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 13, 1 ], [ 14, 2 ], [ 15, 3 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 5, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 5, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 5, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 2 ], [ 10, 6 ] ] }, + "line-opacity": { "stops": [ [ 2, 0 ], [ 4, 0.3 ] ] }, + "line-color": "rgb(246,241,246)", + "line-blur": 1 + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 7, 3 ], [ 10, 5 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.3 ] ] }, + "line-color": "rgb(246,241,246)", + "line-blur": 1 + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(230,204,216)", + "line-width": { "stops": [ [ 2, 1 ], [ 10, 4 ] ] }, + "line-opacity": { "stops": [ [ 2, 0 ], [ 4, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(230,204,216)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 3 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] }, + "line-dasharray": [ 0, 1.5, 1, 1.5 ] + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/style.json b/apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/style.json new file mode 100644 index 000000000..8ee43359b --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/neutrino/style.json @@ -0,0 +1,2920 @@ +{ + "version": 8, + "name": "versatiles-neutrino", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "rgb(239,233,239)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "rgb(239,233,239)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "rgb(239,233,239)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "rgb(248,238,238)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "hsl(90,6%,86%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "hsl(90,6%,86%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "rgb(217,227,217)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "rgb(231,233,229)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "hsl(90,6%,86%)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "rgb(203,210,223)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "rgb(203,210,223)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "rgb(203,210,223)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "rgb(246,240,246)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "rgb(203,210,223)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "rgb(246,240,246)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "rgb(246,240,246)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(224,209,217)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(247,247,247)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ] + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-dasharray": [ 1, 2 ], + "line-width": { "stops": [ [ 5, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { "stops": [ [ 5, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(244,238,244)" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(254,248,255)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 3 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(241,236,242)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 3 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(241,236,242)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 3 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(241,236,242)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(230,230,230)", + "line-width": { "stops": [ [ 5, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 2 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(254,248,255)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 2 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(254,248,255)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "paint": { + "line-width": { "stops": [ [ 17, 0 ], [ 18, 2 ] ] }, + "line-opacity": { "stops": [ [ 17, 0 ], [ 18, 1 ] ] }, + "line-color": "rgb(254,248,255)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(254,248,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 13, 1 ], [ 14, 2 ], [ 15, 3 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 5, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { "stops": [ [ 5, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": 1 + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 7, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { "stops": [ [ 5, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(232,213,224)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 3 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(234,217,227)", + "line-width": { "stops": [ [ 8, 1 ], [ 12, 1 ], [ 15, 2 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 2 ], [ 10, 6 ] ] }, + "line-opacity": { "stops": [ [ 2, 0 ], [ 4, 0.3 ] ] }, + "line-color": "rgb(246,241,246)", + "line-blur": 1 + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 7, 3 ], [ 10, 5 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.3 ] ] }, + "line-color": "rgb(246,241,246)", + "line-blur": 1 + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(230,204,216)", + "line-width": { "stops": [ [ 2, 1 ], [ 10, 4 ] ] }, + "line-opacity": { "stops": [ [ 2, 0 ], [ 4, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(230,204,216)", + "line-width": { "stops": [ [ 7, 2 ], [ 10, 3 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] }, + "line-dasharray": [ 0, 1.5, 1, 1.5 ] + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 8 ], [ 18, 10 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(204,195,195)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(202,164,196)", + "text-color": "rgb(202,164,196)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(202,164,190)", + "text-color": "rgb(202,164,190)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(202,164,183)", + "text-color": "rgb(202,164,183)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 10 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_bold" ], + "text-transform": "uppercase", + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(206,187,187)", + "text-color": "rgb(206,187,187)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(202,164,174)", + "text-color": "rgb(202,164,174)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_bold" ], + "text-transform": "uppercase", + "text-size": { "stops": [ [ 4, 11 ], [ 5, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_bold" ], + "text-transform": "uppercase", + "text-size": { "stops": [ [ 3, 11 ], [ 5, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_bold" ], + "text-transform": "uppercase", + "text-size": { "stops": [ [ 2, 11 ], [ 5, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(203,183,183)", + "text-color": "rgb(203,183,183)", + "text-halo-color": "rgb(229,219,219)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 2 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/shadow/de.json b/apps/client/src/widgets/view_widgets/geo_view/styles/shadow/de.json new file mode 100644 index 000000000..b913e5bf9 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/shadow/de.json @@ -0,0 +1,4811 @@ +{ + "version": 8, + "name": "versatiles-shadow", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(60,60,60)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "rgb(82,82,82)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "rgb(51,51,51)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "rgba(67,67,67,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "rgba(75,75,75,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "rgba(71,71,71,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "rgb(75,75,75)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "rgb(92,92,92)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "rgb(86,86,86)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "rgb(71,71,71)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "rgb(74,74,74)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "rgb(160,160,160)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "rgb(60,60,60)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "rgb(79,79,79)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "rgb(60,60,60)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "rgb(82,82,82)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "rgb(60,60,60)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "rgb(60,60,60)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "rgb(153,153,153)", + "fill-outline-color": "rgb(153,153,153)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "rgb(112,112,112)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "rgb(57,57,57)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "rgb(69,69,69)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "rgb(69,69,69)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "rgb(120,120,120)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "rgb(51,51,51)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(80,80,80)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(68,68,68)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(49,49,49)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,21%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,21%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,21%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,20%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(140,140,140)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,23%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,23%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,23%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,22%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(59,59,59)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(63,63,63,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(52,52,52)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(140,140,140)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(57,57,57)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(59,59,59)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(74,74,74)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(51,51,51)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(52,52,52)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(140,140,140)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(57,57,57)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-amenity", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "amenity" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "amenity" ], "arts_centre", "basics:icon-art_gallery", "atm", "basics:icon-atm", "bank", "basics:icon-bank", "bar", "basics:icon-bar", "bench", "basics:icon-bench", "bicycle_rental", "basics:icon-bicycle_share", "biergarten", "basics:icon-beergarden", "cafe", "basics:icon-cafe", "car_rental", "basics:icon-car_rental", "car_sharing", "basics:icon-car_rental", "car_wash", "basics:icon-car_wash", "cinema", "basics:icon-cinema", "college", "basics:icon-college", "community_centre", "basics:icon-community", "dentist", "basics:icon-dentist", "doctors", "basics:icon-doctor", "dog_park", "basics:icon-dog_park", "drinking_water", "basics:icon-drinking_water", "embassy", "basics:icon-embassy", "fast_food", "basics:icon-fast_food", "fire_station", "basics:icon-fire_station", "fountain", "basics:icon-fountain", "grave_yard", "basics:icon-cemetery", "hospital", "basics:icon-hospital", "hunting_stand", "basics:icon-huntingstand", "library", "basics:icon-library", "marketplace", "basics:icon-marketplace", "nightclub", "basics:icon-nightclub", "nursing_home", "basics:icon-nursinghome", "pharmacy", "basics:icon-pharmacy", "place_of_worship", "basics:icon-place_of_worship", "playground", "basics:icon-playground", "police", "basics:icon-police", "post_box", "basics:icon-postbox", "post_office", "basics:icon-post", "prison", "basics:icon-prison", "pub", "basics:icon-beer", "recycling", "basics:icon-recycling", "restaurant", "basics:icon-restaurant", "school", "basics:icon-school", "shelter", "basics:icon-shelter", "telephone", "basics:icon-telephone", "theatre", "basics:icon-theatre", "toilets", "basics:icon-toilet", "townhall", "basics:icon-town_hall", "vending_machine", "basics:icon-vendingmachine", "veterinary", "basics:icon-veterinary", "waste_basket", "basics:icon-waste_basket", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-leisure", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "leisure" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "leisure" ], "golf_course", "basics:icon-golf", "ice_rink", "basics:icon-icerink", "pitch", "basics:icon-pitch", "stadium", "basics:icon-stadium", "swimming_pool", "basics:icon-swimming", "water_park", "basics:icon-waterpark", "basics:icon-sports" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-tourism", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "tourism" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "tourism" ], "chalet", "basics:icon-chalet", "information", "basics:transport-information", "picnic_site", "basics:icon-picnic_site", "viewpoint", "basics:icon-viewpoint", "zoo", "basics:icon-zoo", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-shop", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "shop" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "shop" ], "alcohol", "basics:icon-alcohol_shop", "bakery", "basics:icon-bakery", "beauty", "basics:icon-beauty", "beverages", "basics:icon-beverages", "books", "basics:icon-books", "butcher", "basics:icon-butcher", "chemist", "basics:icon-chemist", "clothes", "basics:icon-clothes", "doityourself", "basics:icon-doityourself", "dry_cleaning", "basics:icon-drycleaning", "florist", "basics:icon-florist", "furniture", "basics:icon-furniture", "garden_centre", "basics:icon-garden_centre", "general", "basics:icon-shop", "gift", "basics:icon-gift", "greengrocer", "basics:icon-greengrocer", "hairdresser", "basics:icon-hairdresser", "hardware", "basics:icon-hardware", "jewelry", "basics:icon-jewelry_store", "kiosk", "basics:icon-kiosk", "laundry", "basics:icon-laundry", "newsagent", "basics:icon-newsagent", "optican", "basics:icon-optician", "outdoor", "basics:icon-outdoor", "shoes", "basics:icon-shoes", "sports", "basics:icon-sports", "stationery", "basics:icon-stationery", "toys", "basics:icon-toys", "travel_agency", "basics:icon-travel_agent", "video", "basics:icon-video", "basics:icon-shop" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-man_made", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "man_made" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "man_made" ], "lighthouse", "basics:icon-lighthouse", "surveillance", "basics:icon-surveillance", "tower", "basics:icon-observation_tower", "watermill", "basics:icon-watermill", "windmill", "basics:icon-windmill", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-historic", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "historic" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "historic" ], "artwork", "basics:icon-artwork", "castle", "basics:icon-castle", "monument", "basics:icon-monument", "wayside_shrine", "basics:icon-shrine", "basics:icon-historic" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-emergency", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "emergency" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "emergency" ], "defibrillator", "basics:icon-defibrillator", "fire_hydrant", "basics:icon-hydrant", "phone", "basics:icon-emergency_phone", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-highway", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "highway" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-office", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "office" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(70,70,70)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(70,70,70)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(80,80,80)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "rgb(97,97,97)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-address-housenumber", + "type": "symbol", + "source-layer": "addresses", + "filter": [ "has", "housenumber" ], + "layout": { + "text-field": "{housenumber}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": { "stops": [ [ 17, 8 ], [ 19, 10 ] ] } + }, + "paint": { + "text-halo-color": "rgb(77,77,77)", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "rgb(47,47,47)", + "text-color": "rgb(47,47,47)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_bold" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 10 ], [ 18, 12 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,51)", + "text-color": "rgb(51,51,51)", + "text-halo-color": "rgb(99,99,99)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(210,210,210)", + "text-color": "rgb(210,210,210)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 4, 8 ], [ 5, 11 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 3, 8 ], [ 5, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name_de}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 2, 8 ], [ 5, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 2 + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway-reverse", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway_reverse", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-bus", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "bus_stop" ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 16, 0.5 ], [ 18, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 16 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-tram", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "tram_stop" ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 15, 0.5 ], [ 17, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-subway", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "subway" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-lightrail", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "light_rail" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-station", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "!in", "station", "light_rail", "subway" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airfield", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "!has", "iata" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airport", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "has", "iata" ] ], + "layout": { + "text-field": "{name_de}", + "icon-size": { "stops": [ [ 12, 0.5 ], [ 14, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/shadow/en.json b/apps/client/src/widgets/view_widgets/geo_view/styles/shadow/en.json new file mode 100644 index 000000000..877fe7a59 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/shadow/en.json @@ -0,0 +1,4811 @@ +{ + "version": 8, + "name": "versatiles-shadow", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(60,60,60)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "rgb(82,82,82)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "rgb(51,51,51)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "rgba(67,67,67,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "rgba(75,75,75,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "rgba(71,71,71,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "rgb(75,75,75)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "rgb(92,92,92)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "rgb(86,86,86)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "rgb(71,71,71)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "rgb(74,74,74)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "rgb(160,160,160)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "rgb(60,60,60)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "rgb(79,79,79)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "rgb(60,60,60)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "rgb(82,82,82)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "rgb(60,60,60)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "rgb(60,60,60)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "rgb(153,153,153)", + "fill-outline-color": "rgb(153,153,153)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "rgb(112,112,112)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "rgb(57,57,57)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "rgb(69,69,69)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "rgb(69,69,69)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "rgb(120,120,120)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "rgb(51,51,51)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(80,80,80)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(68,68,68)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(49,49,49)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,21%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,21%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,21%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,20%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(140,140,140)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,23%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,23%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,23%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,22%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(59,59,59)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(63,63,63,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(52,52,52)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(140,140,140)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(57,57,57)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(59,59,59)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(74,74,74)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(51,51,51)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(52,52,52)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(140,140,140)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(57,57,57)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-amenity", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "amenity" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "amenity" ], "arts_centre", "basics:icon-art_gallery", "atm", "basics:icon-atm", "bank", "basics:icon-bank", "bar", "basics:icon-bar", "bench", "basics:icon-bench", "bicycle_rental", "basics:icon-bicycle_share", "biergarten", "basics:icon-beergarden", "cafe", "basics:icon-cafe", "car_rental", "basics:icon-car_rental", "car_sharing", "basics:icon-car_rental", "car_wash", "basics:icon-car_wash", "cinema", "basics:icon-cinema", "college", "basics:icon-college", "community_centre", "basics:icon-community", "dentist", "basics:icon-dentist", "doctors", "basics:icon-doctor", "dog_park", "basics:icon-dog_park", "drinking_water", "basics:icon-drinking_water", "embassy", "basics:icon-embassy", "fast_food", "basics:icon-fast_food", "fire_station", "basics:icon-fire_station", "fountain", "basics:icon-fountain", "grave_yard", "basics:icon-cemetery", "hospital", "basics:icon-hospital", "hunting_stand", "basics:icon-huntingstand", "library", "basics:icon-library", "marketplace", "basics:icon-marketplace", "nightclub", "basics:icon-nightclub", "nursing_home", "basics:icon-nursinghome", "pharmacy", "basics:icon-pharmacy", "place_of_worship", "basics:icon-place_of_worship", "playground", "basics:icon-playground", "police", "basics:icon-police", "post_box", "basics:icon-postbox", "post_office", "basics:icon-post", "prison", "basics:icon-prison", "pub", "basics:icon-beer", "recycling", "basics:icon-recycling", "restaurant", "basics:icon-restaurant", "school", "basics:icon-school", "shelter", "basics:icon-shelter", "telephone", "basics:icon-telephone", "theatre", "basics:icon-theatre", "toilets", "basics:icon-toilet", "townhall", "basics:icon-town_hall", "vending_machine", "basics:icon-vendingmachine", "veterinary", "basics:icon-veterinary", "waste_basket", "basics:icon-waste_basket", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-leisure", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "leisure" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "leisure" ], "golf_course", "basics:icon-golf", "ice_rink", "basics:icon-icerink", "pitch", "basics:icon-pitch", "stadium", "basics:icon-stadium", "swimming_pool", "basics:icon-swimming", "water_park", "basics:icon-waterpark", "basics:icon-sports" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-tourism", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "tourism" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "tourism" ], "chalet", "basics:icon-chalet", "information", "basics:transport-information", "picnic_site", "basics:icon-picnic_site", "viewpoint", "basics:icon-viewpoint", "zoo", "basics:icon-zoo", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-shop", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "shop" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "shop" ], "alcohol", "basics:icon-alcohol_shop", "bakery", "basics:icon-bakery", "beauty", "basics:icon-beauty", "beverages", "basics:icon-beverages", "books", "basics:icon-books", "butcher", "basics:icon-butcher", "chemist", "basics:icon-chemist", "clothes", "basics:icon-clothes", "doityourself", "basics:icon-doityourself", "dry_cleaning", "basics:icon-drycleaning", "florist", "basics:icon-florist", "furniture", "basics:icon-furniture", "garden_centre", "basics:icon-garden_centre", "general", "basics:icon-shop", "gift", "basics:icon-gift", "greengrocer", "basics:icon-greengrocer", "hairdresser", "basics:icon-hairdresser", "hardware", "basics:icon-hardware", "jewelry", "basics:icon-jewelry_store", "kiosk", "basics:icon-kiosk", "laundry", "basics:icon-laundry", "newsagent", "basics:icon-newsagent", "optican", "basics:icon-optician", "outdoor", "basics:icon-outdoor", "shoes", "basics:icon-shoes", "sports", "basics:icon-sports", "stationery", "basics:icon-stationery", "toys", "basics:icon-toys", "travel_agency", "basics:icon-travel_agent", "video", "basics:icon-video", "basics:icon-shop" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-man_made", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "man_made" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "man_made" ], "lighthouse", "basics:icon-lighthouse", "surveillance", "basics:icon-surveillance", "tower", "basics:icon-observation_tower", "watermill", "basics:icon-watermill", "windmill", "basics:icon-windmill", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-historic", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "historic" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "historic" ], "artwork", "basics:icon-artwork", "castle", "basics:icon-castle", "monument", "basics:icon-monument", "wayside_shrine", "basics:icon-shrine", "basics:icon-historic" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-emergency", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "emergency" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "emergency" ], "defibrillator", "basics:icon-defibrillator", "fire_hydrant", "basics:icon-hydrant", "phone", "basics:icon-emergency_phone", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-highway", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "highway" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-office", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "office" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(70,70,70)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(70,70,70)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(80,80,80)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "rgb(97,97,97)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-address-housenumber", + "type": "symbol", + "source-layer": "addresses", + "filter": [ "has", "housenumber" ], + "layout": { + "text-field": "{housenumber}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": { "stops": [ [ 17, 8 ], [ 19, 10 ] ] } + }, + "paint": { + "text-halo-color": "rgb(77,77,77)", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "rgb(47,47,47)", + "text-color": "rgb(47,47,47)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_bold" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 10 ], [ 18, 12 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,51)", + "text-color": "rgb(51,51,51)", + "text-halo-color": "rgb(99,99,99)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(210,210,210)", + "text-color": "rgb(210,210,210)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 4, 8 ], [ 5, 11 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 3, 8 ], [ 5, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name_en}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 2, 8 ], [ 5, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 2 + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway-reverse", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway_reverse", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-bus", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "bus_stop" ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 16, 0.5 ], [ 18, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 16 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-tram", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "tram_stop" ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 15, 0.5 ], [ 17, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-subway", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "subway" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-lightrail", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "light_rail" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-station", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "!in", "station", "light_rail", "subway" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airfield", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "!has", "iata" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airport", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "has", "iata" ] ], + "layout": { + "text-field": "{name_en}", + "icon-size": { "stops": [ [ 12, 0.5 ], [ 14, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/shadow/nolabel.json b/apps/client/src/widgets/view_widgets/geo_view/styles/shadow/nolabel.json new file mode 100644 index 000000000..675c71286 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/shadow/nolabel.json @@ -0,0 +1,3888 @@ +{ + "version": 8, + "name": "versatiles-shadow", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(60,60,60)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "rgb(82,82,82)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "rgb(51,51,51)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "rgba(67,67,67,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "rgba(75,75,75,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "rgba(71,71,71,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "rgb(75,75,75)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "rgb(92,92,92)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "rgb(86,86,86)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "rgb(71,71,71)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "rgb(74,74,74)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "rgb(160,160,160)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "rgb(60,60,60)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "rgb(79,79,79)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "rgb(60,60,60)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "rgb(82,82,82)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "rgb(60,60,60)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "rgb(60,60,60)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "rgb(153,153,153)", + "fill-outline-color": "rgb(153,153,153)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "rgb(112,112,112)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "rgb(57,57,57)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "rgb(69,69,69)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "rgb(69,69,69)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "rgb(120,120,120)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "rgb(51,51,51)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(80,80,80)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(68,68,68)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(49,49,49)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,21%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,21%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,21%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,20%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(140,140,140)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,23%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,23%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,23%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,22%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(59,59,59)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(63,63,63,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(52,52,52)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(140,140,140)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(57,57,57)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(59,59,59)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(74,74,74)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(51,51,51)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(52,52,52)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(140,140,140)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(57,57,57)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(70,70,70)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(70,70,70)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(80,80,80)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "rgb(97,97,97)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + } + ] +} \ No newline at end of file diff --git a/apps/client/src/widgets/view_widgets/geo_view/styles/shadow/style.json b/apps/client/src/widgets/view_widgets/geo_view/styles/shadow/style.json new file mode 100644 index 000000000..3955f6d5c --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/styles/shadow/style.json @@ -0,0 +1,4811 @@ +{ + "version": 8, + "name": "versatiles-shadow", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": [ + "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" + ], + "type": "vector", + "scheme": "xyz", + "bounds": [ -180, -85.0511287798066, 180, 85.0511287798066 ], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(60,60,60)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "rgb(82,82,82)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "all", [ "==", "kind", "glacier" ] ], + "paint": { + "fill-color": "rgb(51,51,51)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "commercial", "retail" ] ], + "paint": { + "fill-color": "rgba(67,67,67,0.251)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "industrial", "quarry", "railway" ] ], + "paint": { + "fill-color": "rgba(75,75,75,0.333)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "garages", "residential" ] ], + "paint": { + "fill-color": "rgba(71,71,71,0.2)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "brownfield", "farmland", "farmyard", "greenfield", "greenhouse_horticulture", "orchard", "plant_nursery", "vineyard" ] ], + "paint": { + "fill-color": "rgb(75,75,75)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "landfill" ] ], + "paint": { + "fill-color": "rgb(92,92,92)", + "fill-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "park", "village_green", "recreation_ground" ] ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "allotments", "garden" ] ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "cemetery", "grave_yard" ] ], + "paint": { + "fill-color": "rgb(86,86,86)", + "fill-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "miniature_golf", "playground", "golf_course" ] ], + "paint": { + "fill-color": "rgb(71,71,71)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bare_rock", "scree", "shingle" ] ], + "paint": { + "fill-color": "rgb(74,74,74)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "forest" ] ], + "paint": { + "fill-color": "rgb(160,160,160)", + "fill-opacity": { "stops": [ [ 7, 0 ], [ 8, 0.1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "grass", "grassland", "meadow", "wet_meadow" ] ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "heath", "scrub" ] ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "beach", "sand" ] ], + "paint": { + "fill-color": "rgb(60,60,60)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": [ "all", [ "in", "kind", "bog", "marsh", "string_bog", "swamp" ] ], + "paint": { + "fill-color": "rgb(79,79,79)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "river" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 3 ], [ 15, 5 ], [ 17, 9 ], [ 18, 20 ], [ 20, 60 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "canal" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 9, 0 ], [ 10, 2 ], [ 15, 4 ], [ 17, 8 ], [ 18, 17 ], [ 20, 50 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "stream" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 2 ], [ 17, 6 ], [ 18, 12 ], [ 20, 30 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ "all", [ "in", "kind", "ditch" ], [ "!=", "tunnel", true ], [ "!=", "bridge", true ] ], + "paint": { + "line-color": "rgb(82,82,82)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 17, 4 ], [ 18, 8 ], [ 20, 20 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "water" ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "==", "kind", "river" ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": [ "in", "kind", "reservoir", "basin", "dock" ], + "paint": { + "fill-color": "rgb(82,82,82)", + "fill-opacity": { "stops": [ [ 4, 0 ], [ 6, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": [ "==", "kind", "dam" ], + "paint": { + "fill-color": "rgb(60,60,60)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": [ "==", "kind", "dam" ], + "paint": { + "line-color": "rgb(82,82,82)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "fill-color": "rgb(60,60,60)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": [ "in", "kind", "pier", "breakwater", "groyne" ], + "paint": { + "line-color": "rgb(60,60,60)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "danger_area" ], + "paint": { + "fill-color": "rgb(153,153,153)", + "fill-outline-color": "rgb(153,153,153)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "university" ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "college" ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "school" ], + "paint": { + "fill-color": "rgb(102,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "hospital" ], + "paint": { + "fill-color": "rgb(112,112,112)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "prison" ], + "paint": { + "fill-color": "rgb(57,57,57)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "parking" ], + "paint": { + "fill-color": "rgb(69,69,69)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "bicycle_parking" ], + "paint": { + "fill-color": "rgb(69,69,69)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": [ "in", "kind", "construction" ], + "paint": { + "fill-color": "rgb(120,120,120)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "in", "kind", "runway", "taxiway" ], + "paint": { + "fill-color": "rgb(51,51,51)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 2 ], [ 15, 10 ], [ 16, 14 ], [ 18, 20 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 6 ], [ 13, 9 ], [ 14, 16 ], [ 15, 24 ], [ 16, 40 ], [ 17, 100 ], [ 18, 160 ], [ 20, 300 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "taxiway" ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 13, 0 ], [ 14, 1 ], [ 15, 8 ], [ 16, 12 ], [ 18, 18 ], [ 20, 36 ] ] }, + "line-opacity": { "stops": [ [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": [ "==", "kind", "runway" ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 5 ], [ 13, 8 ], [ 14, 14 ], [ 15, 22 ], [ 16, 38 ], [ 17, 98 ], [ 18, 158 ], [ 20, 298 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(80,80,80)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(68,68,68)", + "fill-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "fill-translate": [ -2, -2 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(49,49,49)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,21%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,21%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,21%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "hsl(0,0%,20%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(140,140,140)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(44,44,44)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [ 1, 0.3 ], + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,23%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,23%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,23%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "hsl(0,0%,22%)", + "line-dasharray": [ 1, 0.2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(102,102,102)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 0.5 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 0.3 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 0.3 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(59,59,59)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgba(63,63,63,0.25)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ], [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(52,52,52)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(140,140,140)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(91,91,91)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(57,57,57)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(59,59,59)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 0 ], [ 14, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "!=", "bridge", true ], [ "!=", "tunnel", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "!=", "bridge", true ], [ "!=", "tunnel", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(74,74,74)", + "line-width": { "stops": [ [ 10, 1 ], [ 13, 2 ], [ 14, 3 ], [ 16, 4 ], [ 17, 6 ] ] }, + "line-opacity": { "stops": [ [ 10, 0 ], [ 11, 1 ] ] }, + "line-dasharray": [ 1, 1 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 15, 0 ], [ 16, 7 ], [ 18, 10 ], [ 19, 17 ], [ 20, 31 ] ] } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] }, + "line-width": { "stops": [ [ 14, 3 ], [ 16, 6 ], [ 18, 25 ], [ 19, 67 ], [ 20, 134 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 10 ], [ 18, 20 ], [ 20, 56 ] ] } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] }, + "line-width": { "stops": [ [ 12, 3 ], [ 14, 4 ], [ 16, 8 ], [ 18, 36 ], [ 19, 90 ], [ 20, 179 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] }, + "line-width": { "stops": [ [ 11, 3 ], [ 14, 7 ], [ 16, 11 ], [ 18, 42 ], [ 19, 95 ], [ 20, 193 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 3 ], [ 10, 6 ], [ 14, 8 ], [ 16, 17 ], [ 18, 50 ], [ 19, 104 ], [ 20, 202 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(59,59,59)", + "line-opacity": 0.5, + "line-width": { "stops": [ [ 5, 0 ], [ 6, 3 ], [ 10, 7 ], [ 14, 7 ], [ 16, 20 ], [ 18, 53 ], [ 19, 118 ], [ 20, 235 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ "all", [ "==", "bridge", true ], [ "==", "kind", "pedestrian" ] ], + "paint": { + "fill-color": "rgb(51,51,51)", + "fill-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(53,53,53)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 19, 12 ], [ 20, 22 ] ] }, + "line-color": "rgb(52,52,52)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 14, 2 ], [ 16, 4 ], [ 18, 18 ], [ 19, 48 ], [ 20, 96 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(140,140,140)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 12 ], [ 19, 32 ], [ 20, 48 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 7 ], [ 18, 14 ], [ 20, 40 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(43,43,43)", + "line-width": { "stops": [ [ 12, 2 ], [ 14, 3 ], [ 16, 6 ], [ 18, 26 ], [ 19, 64 ], [ 20, 128 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 11, 2 ], [ 14, 5 ], [ 16, 8 ], [ 18, 30 ], [ 19, 68 ], [ 20, 138 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 1 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ], [ 14, 6 ], [ 16, 12 ], [ 18, 36 ], [ 19, 74 ], [ 20, 144 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(114,114,114)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 2 ], [ 10, 5 ], [ 14, 5 ], [ 16, 14 ], [ 18, 38 ], [ 19, 84 ], [ 20, 168 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "footway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "steps" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "path" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(63,63,63)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "cycleway" ] ], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { "stops": [ [ 15, 0 ], [ 16, 4 ], [ 18, 6 ], [ 19, 10 ], [ 20, 20 ] ] }, + "line-color": "rgb(57,57,57)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 3 ], [ 18, 16 ], [ 19, 44 ], [ 20, 88 ] ] }, + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(49,49,49)", + "line-width": { "stops": [ [ 14, 1 ], [ 16, 2 ], [ 18, 10 ], [ 19, 28 ], [ 20, 40 ] ] }, + "line-opacity": { "stops": [ [ 15, 0 ], [ 16, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "track" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "pedestrian" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "service" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(51,51,51)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "living_street" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "residential" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "kind", "unclassified" ], [ "==", "bicycle", "designated" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(57,57,57)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "==", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 12 ], [ 20, 38 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "tertiary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(51,51,51)", + "line-width": { "stops": [ [ 12, 1 ], [ 14, 2 ], [ 16, 5 ], [ 18, 24 ], [ 19, 60 ], [ 20, 120 ] ] }, + "line-opacity": { "stops": [ [ 12, 0 ], [ 13, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "secondary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 11, 1 ], [ 14, 4 ], [ 16, 6 ], [ 18, 28 ], [ 19, 64 ], [ 20, 130 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "primary" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 8, 0 ], [ 9, 2 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "trunk" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(85,85,85)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 3 ], [ 14, 5 ], [ 16, 10 ], [ 18, 34 ], [ 19, 70 ], [ 20, 140 ] ] }, + "line-opacity": { "stops": [ [ 7, 0 ], [ 8, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "==", "bridge", true ], [ "in", "kind", "motorway" ], [ "!=", "link", true ] ], + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { "stops": [ [ 5, 0 ], [ 6, 1 ], [ 10, 4 ], [ 14, 4 ], [ 16, 12 ], [ 18, 36 ], [ 19, 80 ], [ 20, 160 ] ] }, + "line-opacity": { "stops": [ [ 5, 0 ], [ 6, 1 ] ] } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 3 ], [ 16, 3 ], [ 18, 6 ], [ 19, 8 ], [ 20, 10 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 11, 0 ], [ 12, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 8, 1 ], [ 13, 1 ], [ 15, 1 ], [ 20, 14 ] ] }, + "line-opacity": { "stops": [ [ 8, 0 ], [ 9, 1 ] ] } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 16, 1 ], [ 20, 14 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 15, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 5 ], [ 18, 7 ], [ 20, 20 ] ] }, + "line-dasharray": [ 0.1, 0.5 ] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "tram" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "narrow_gauge" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "subway" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { "stops": [ [ 11, 0 ], [ 12, 1 ], [ 15, 2 ], [ 16, 2 ], [ 18, 5 ], [ 19, 6 ], [ 20, 8 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "light_rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "!has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 14, 0 ], [ 15, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ], + "line-opacity": { "stops": [ [ 14, 0 ], [ 15, 1 ] ] } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "rail" ], [ "has", "service" ], [ "==", "bridge", true ] ], + "paint": { + "line-color": "rgb(143,143,143)", + "line-width": { "stops": [ [ 15, 0 ], [ 16, 1 ], [ 20, 10 ] ] }, + "line-dasharray": [ 2, 2 ] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "monorail" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ "all", [ "in", "kind", "funicular" ], [ "==", "bridge", true ] ], + "minzoom": 13, + "paint": { + "line-width": { "stops": [ [ 13, 0 ], [ 16, 1 ], [ 17, 2 ], [ 18, 3 ], [ 20, 5 ] ] }, + "line-color": "rgb(106,106,106)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-amenity", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "amenity" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "amenity" ], "arts_centre", "basics:icon-art_gallery", "atm", "basics:icon-atm", "bank", "basics:icon-bank", "bar", "basics:icon-bar", "bench", "basics:icon-bench", "bicycle_rental", "basics:icon-bicycle_share", "biergarten", "basics:icon-beergarden", "cafe", "basics:icon-cafe", "car_rental", "basics:icon-car_rental", "car_sharing", "basics:icon-car_rental", "car_wash", "basics:icon-car_wash", "cinema", "basics:icon-cinema", "college", "basics:icon-college", "community_centre", "basics:icon-community", "dentist", "basics:icon-dentist", "doctors", "basics:icon-doctor", "dog_park", "basics:icon-dog_park", "drinking_water", "basics:icon-drinking_water", "embassy", "basics:icon-embassy", "fast_food", "basics:icon-fast_food", "fire_station", "basics:icon-fire_station", "fountain", "basics:icon-fountain", "grave_yard", "basics:icon-cemetery", "hospital", "basics:icon-hospital", "hunting_stand", "basics:icon-huntingstand", "library", "basics:icon-library", "marketplace", "basics:icon-marketplace", "nightclub", "basics:icon-nightclub", "nursing_home", "basics:icon-nursinghome", "pharmacy", "basics:icon-pharmacy", "place_of_worship", "basics:icon-place_of_worship", "playground", "basics:icon-playground", "police", "basics:icon-police", "post_box", "basics:icon-postbox", "post_office", "basics:icon-post", "prison", "basics:icon-prison", "pub", "basics:icon-beer", "recycling", "basics:icon-recycling", "restaurant", "basics:icon-restaurant", "school", "basics:icon-school", "shelter", "basics:icon-shelter", "telephone", "basics:icon-telephone", "theatre", "basics:icon-theatre", "toilets", "basics:icon-toilet", "townhall", "basics:icon-town_hall", "vending_machine", "basics:icon-vendingmachine", "veterinary", "basics:icon-veterinary", "waste_basket", "basics:icon-waste_basket", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-leisure", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "leisure" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "leisure" ], "golf_course", "basics:icon-golf", "ice_rink", "basics:icon-icerink", "pitch", "basics:icon-pitch", "stadium", "basics:icon-stadium", "swimming_pool", "basics:icon-swimming", "water_park", "basics:icon-waterpark", "basics:icon-sports" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-tourism", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "tourism" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "tourism" ], "chalet", "basics:icon-chalet", "information", "basics:transport-information", "picnic_site", "basics:icon-picnic_site", "viewpoint", "basics:icon-viewpoint", "zoo", "basics:icon-zoo", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-shop", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "shop" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "shop" ], "alcohol", "basics:icon-alcohol_shop", "bakery", "basics:icon-bakery", "beauty", "basics:icon-beauty", "beverages", "basics:icon-beverages", "books", "basics:icon-books", "butcher", "basics:icon-butcher", "chemist", "basics:icon-chemist", "clothes", "basics:icon-clothes", "doityourself", "basics:icon-doityourself", "dry_cleaning", "basics:icon-drycleaning", "florist", "basics:icon-florist", "furniture", "basics:icon-furniture", "garden_centre", "basics:icon-garden_centre", "general", "basics:icon-shop", "gift", "basics:icon-gift", "greengrocer", "basics:icon-greengrocer", "hairdresser", "basics:icon-hairdresser", "hardware", "basics:icon-hardware", "jewelry", "basics:icon-jewelry_store", "kiosk", "basics:icon-kiosk", "laundry", "basics:icon-laundry", "newsagent", "basics:icon-newsagent", "optican", "basics:icon-optician", "outdoor", "basics:icon-outdoor", "shoes", "basics:icon-shoes", "sports", "basics:icon-sports", "stationery", "basics:icon-stationery", "toys", "basics:icon-toys", "travel_agency", "basics:icon-travel_agent", "video", "basics:icon-video", "basics:icon-shop" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-man_made", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "man_made" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "man_made" ], "lighthouse", "basics:icon-lighthouse", "surveillance", "basics:icon-surveillance", "tower", "basics:icon-observation_tower", "watermill", "basics:icon-watermill", "windmill", "basics:icon-windmill", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-historic", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "historic" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "historic" ], "artwork", "basics:icon-artwork", "castle", "basics:icon-castle", "monument", "basics:icon-monument", "wayside_shrine", "basics:icon-shrine", "basics:icon-historic" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-emergency", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "emergency" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ], + "icon-image": [ "match", [ "get", "emergency" ], "defibrillator", "basics:icon-defibrillator", "fire_hydrant", "basics:icon-hydrant", "phone", "basics:icon-emergency_phone", "" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-highway", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "highway" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-office", + "type": "symbol", + "source-layer": "pois", + "filter": [ "to-boolean", [ "get", "office" ] ], + "minzoom": 16, + "layout": { + "icon-size": { "stops": [ [ 16, 0.5 ], [ 19, 0.5 ], [ 20, 1 ] ] }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": [ "noto_sans_regular" ] + }, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ] ] }, + "icon-color": "rgb(187,187,187)", + "text-color": "rgb(187,187,187)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(70,70,70)", + "line-blur": 1, + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 2 ], [ 10, 8 ] ] }, + "line-opacity": 0.75, + "line-color": "rgb(70,70,70)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(80,80,80)", + "line-blur": 1, + "line-width": { "stops": [ [ 7, 0 ], [ 8, 2 ], [ 10, 4 ] ] }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 2 ], [ "==", "disputed", true ], [ "!=", "maritime", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-width": { "stops": [ [ 2, 0 ], [ 3, 1 ], [ 10, 4 ] ] }, + "line-color": "rgb(97,97,97)", + "line-dasharray": [ 2, 1 ] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ "all", [ "==", "admin_level", 4 ], [ "!=", "maritime", true ], [ "!=", "disputed", true ], [ "!=", "coastline", true ] ], + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { "stops": [ [ 7, 0 ], [ 8, 1 ], [ 10, 2 ] ] } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-address-housenumber", + "type": "symbol", + "source-layer": "addresses", + "filter": [ "has", "housenumber" ], + "layout": { + "text-field": "{housenumber}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": { "stops": [ [ 17, 8 ], [ 19, 10 ] ] } + }, + "paint": { + "text-halo-color": "rgb(77,77,77)", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "rgb(47,47,47)", + "text-color": "rgb(47,47,47)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "motorway" ], + "layout": { + "text-field": "{ref}", + "text-font": [ "noto_sans_bold" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 14, 10 ], [ 18, 12 ], [ 20, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(51,51,51)", + "text-color": "rgb(51,51,51)", + "text-halo-color": "rgb(99,99,99)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "pedestrian" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "living_street" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "residential" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "unclassified" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "tertiary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "secondary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "primary" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": [ "==", "kind", "trunk" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { "stops": [ [ 12, 10 ], [ 15, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "neighbourhood" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 14, 12 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "quarter" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 13, 13 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "suburb" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 11, 11 ], [ 13, 14 ] ] }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "hamlet" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 10, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "village" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 9, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "town" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 8, 11 ], [ 12, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "in", "admin_level", 4, "4" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 5, 8 ], [ 8, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(210,210,210)", + "text-color": "rgb(210,210,210)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "city" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 7, 11 ], [ 10, 14 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "state_capital" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 6, 11 ], [ 10, 15 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": [ "==", "kind", "capital" ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-size": { "stops": [ [ 5, 12 ], [ 10, 16 ] ] } + }, + "paint": { + "icon-color": "rgb(197,197,197)", + "text-color": "rgb(197,197,197)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<=", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 4, 8 ], [ 5, 11 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ "<", "way_area", 90000000 ], [ ">", "way_area", 10000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 3, 8 ], [ 5, 12 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ "all", [ "in", "admin_level", 2, "2" ], [ ">=", "way_area", 90000000 ] ], + "layout": { + "text-field": "{name}", + "text-font": [ "noto_sans_regular" ], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [ 0, 0.2 ], + "text-padding": 0, + "text-optional": true, + "text-size": { "stops": [ [ 2, 8 ], [ 5, 13 ] ] } + }, + "paint": { + "icon-color": "rgb(207,207,207)", + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 2 + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway-reverse", + "type": "symbol", + "source-layer": "streets", + "filter": [ "all", [ "==", "oneway_reverse", true ], [ "in", "kind", "trunk", "primary", "secondary", "tertiary", "unclassified", "residential", "living_street" ] ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": [ "noto_sans_regular" ] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] }, + "text-opacity": { "stops": [ [ 16, 0 ], [ 17, 0.4 ], [ 20, 0.4 ] ] } + } + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-bus", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "bus_stop" ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 16, 0.5 ], [ 18, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 16 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-tram", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "==", "kind", "tram_stop" ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 15, 0.5 ], [ 17, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-subway", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "subway" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-lightrail", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "==", "station", "light_rail" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 14, 0.5 ], [ 16, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-station", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "in", "kind", "station", "halt" ], [ "!in", "station", "light_rail", "subway" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airfield", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "!has", "iata" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 13, 0.5 ], [ 15, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airport", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ "all", [ "==", "kind", "aerodrome" ], [ "has", "iata" ] ], + "layout": { + "text-field": "{name}", + "icon-size": { "stops": [ [ 12, 0.5 ], [ 14, 1 ] ] }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": [ "noto_sans_regular" ], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(173,173,173)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgba(51,51,51,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + } + ] +} \ No newline at end of file From 8c4ed2d4dac9dde9c2cb27d0bbca37064bea1b10 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 24 Jul 2025 15:07:47 +0300 Subject: [PATCH 102/505] feat(views/geo): support vector maps --- apps/client/package.json | 1 + .../widgets/view_widgets/geo_view/index.ts | 15 +- .../view_widgets/geo_view/map_layer.ts | 46 +++ pnpm-lock.yaml | 302 +++++++++++++++--- 4 files changed, 320 insertions(+), 44 deletions(-) create mode 100644 apps/client/src/widgets/view_widgets/geo_view/map_layer.ts diff --git a/apps/client/package.json b/apps/client/package.json index c2404fd32..2c1f8c46a 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -18,6 +18,7 @@ "@fullcalendar/list": "6.1.18", "@fullcalendar/multimonth": "6.1.18", "@fullcalendar/timegrid": "6.1.18", + "@maplibre/maplibre-gl-leaflet": "0.1.2", "@mermaid-js/layout-elk": "0.1.8", "@mind-elixir/node-menu": "5.0.0", "@popperjs/core": "2.11.8", diff --git a/apps/client/src/widgets/view_widgets/geo_view/index.ts b/apps/client/src/widgets/view_widgets/geo_view/index.ts index bb6e26b6e..c1a71e7a7 100644 --- a/apps/client/src/widgets/view_widgets/geo_view/index.ts +++ b/apps/client/src/widgets/view_widgets/geo_view/index.ts @@ -10,6 +10,8 @@ import toast from "../../../services/toast.js"; import { CommandListenerData, EventData } from "../../../components/app_context.js"; import { createNewNote, moveMarker, setupDragging } from "./editing.js"; import { openMapContextMenu } from "./context_menu.js"; +import getMapLayer from "./map_layer.js"; +import attributes from "../../../services/attributes.js"; const TPL = /*html*/`
@@ -138,10 +140,10 @@ export default class GeoView extends ViewMode { const map = L.map(this.$container[0], { worldCopyJump: true }); - L.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png", { - attribution: '© OpenStreetMap contributors', - detectRetina: true - }).addTo(map); + + const layerName = this.parentNote.getLabelValue("mapLayer") ?? "openstreetmap"; + const layer = (await getMapLayer(layerName)); + layer.addTo(map); this.map = map; @@ -264,6 +266,11 @@ export default class GeoView extends ViewMode { if (attributeRows.find((at) => [LOCATION_ATTRIBUTE, "color"].includes(at.name ?? ""))) { this.#reloadMarkers(); } + + // Full reload if map layer is changed. + if (loadResults.getAttributeRows().some(attr => attr.name === "mapLayer" && attributes.isAffecting(attr, this.parentNote))) { + return true; + } } async geoMapCreateChildNoteEvent({ ntxId }: EventData<"geoMapCreateChildNote">) { diff --git a/apps/client/src/widgets/view_widgets/geo_view/map_layer.ts b/apps/client/src/widgets/view_widgets/geo_view/map_layer.ts new file mode 100644 index 000000000..fc1872970 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/geo_view/map_layer.ts @@ -0,0 +1,46 @@ +import L from "leaflet"; +import type { StyleSpecification } from "maplibre-gl"; + +interface VectorLayer { + type: "vector"; + style: string | (() => Promise) +} + +interface RasterLayer { + type: "raster"; + url: string; + attribution: string; +} + +const LAYERS: Record = { + "openstreetmap": { + type: "raster", + url: "https://tile.openstreetmap.org/{z}/{x}/{y}.png", + attribution: '© OpenStreetMap contributors' + }, + "versatiles-colorful": { + type: "vector", + style: async () => { + const style = await import("./styles/colorful/en.json"); + return style.default as unknown as StyleSpecification; + } + } +}; + +export default async function getMapLayer(layerName: string) { + const layer = LAYERS[layerName] ?? LAYERS["openstreetmap"]; + + if (layer.type === "vector") { + const style = (typeof layer.style === "string" ? layer.style : await layer.style()); + await import("@maplibre/maplibre-gl-leaflet"); + + return L.maplibreGL({ + style + }); + } + + return L.tileLayer(layer.url, { + attribution: layer.attribution, + detectRetina: true + }); +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7bf024c48..4d4012f8c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -184,6 +184,9 @@ importers: '@fullcalendar/timegrid': specifier: 6.1.18 version: 6.1.18(@fullcalendar/core@6.1.18) + '@maplibre/maplibre-gl-leaflet': + specifier: 0.1.2 + version: 0.1.2(@types/leaflet@1.9.20)(leaflet@1.9.4)(maplibre-gl@5.6.1) '@mermaid-js/layout-elk': specifier: 0.1.8 version: 0.1.8(mermaid@11.9.0) @@ -898,7 +901,7 @@ importers: version: 8.38.0(eslint@9.31.0(jiti@2.5.0))(typescript@5.8.3) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -931,7 +934,7 @@ importers: version: 5.8.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -3818,6 +3821,41 @@ packages: resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} engines: {node: '>= 10.0.0'} + '@mapbox/geojson-rewind@0.5.2': + resolution: {integrity: sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==} + hasBin: true + + '@mapbox/jsonlint-lines-primitives@2.0.2': + resolution: {integrity: sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==} + engines: {node: '>= 0.6'} + + '@mapbox/point-geometry@0.1.0': + resolution: {integrity: sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==} + + '@mapbox/tiny-sdf@2.0.6': + resolution: {integrity: sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==} + + '@mapbox/unitbezier@0.0.1': + resolution: {integrity: sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==} + + '@mapbox/vector-tile@1.3.1': + resolution: {integrity: sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==} + + '@mapbox/whoots-js@3.1.0': + resolution: {integrity: sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==} + engines: {node: '>=6.0.0'} + + '@maplibre/maplibre-gl-leaflet@0.1.2': + resolution: {integrity: sha512-3BzJlaqtWxXZdK+dTjuQ/0ayOwpcT0JPNaGgnbApm5itPBENotMcZoJhRdLKljmTRyXM9/v2+eOyv/xWYVd78A==} + peerDependencies: + '@types/leaflet': ^1.9.0 + leaflet: ^1.9.3 + maplibre-gl: ^2.4.0 || ^3.3.1 || ^4.3.2 || ^5.0.0 + + '@maplibre/maplibre-gl-style-spec@23.3.0': + resolution: {integrity: sha512-IGJtuBbaGzOUgODdBRg66p8stnwj9iDXkgbYKoYcNiiQmaez5WVRfXm4b03MCDwmZyX93csbfHFWEJJYHnn5oA==} + hasBin: true + '@marijn/find-cluster-break@1.0.2': resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} @@ -5657,6 +5695,9 @@ packages: '@types/fs-extra@9.0.13': resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} + '@types/geojson-vt@3.2.5': + resolution: {integrity: sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g==} + '@types/geojson@7946.0.16': resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} @@ -5723,6 +5764,12 @@ packages: '@types/luxon@3.6.2': resolution: {integrity: sha512-R/BdP7OxEMc44l2Ex5lSXHoIXTB2JLNa3y2QISIbr58U/YcsffyQrYW//hZSdrfxrjRZj3GcUoxMPGdO8gSYuw==} + '@types/mapbox__point-geometry@0.1.4': + resolution: {integrity: sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==} + + '@types/mapbox__vector-tile@1.3.4': + resolution: {integrity: sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==} + '@types/mark.js@8.11.12': resolution: {integrity: sha512-244ZnaIBpz4c6xutliAnYVZp6xJlmC569jZqnR3ElO1Y01ooYASSVQEqpd2x0A2UfrgVMs5V9/9tUAdZaDMytQ==} @@ -5774,6 +5821,9 @@ packages: '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + '@types/pbf@3.0.5': + resolution: {integrity: sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==} + '@types/postcss-import@14.0.3': resolution: {integrity: sha512-raZhRVTf6Vw5+QbmQ7LOHSDML71A5rj4+EqDzAbrZPfxfoGzFxMHRCq16VlddGIZpHELw0BG4G0YE2ANkdZiIQ==} @@ -5851,6 +5901,9 @@ packages: '@types/superagent@8.1.9': resolution: {integrity: sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==} + '@types/supercluster@7.1.3': + resolution: {integrity: sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==} + '@types/supertest@6.0.3': resolution: {integrity: sha512-8WzXq62EXFhJ7QsH3Ocb/iKQ/Ty9ZVWnVzoTKc9tyyFRRF3a74Tk2+TLFgaFFw364Ere+npzHKEJ6ga2LzIL7w==} @@ -8175,6 +8228,9 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} + earcut@3.0.2: + resolution: {integrity: sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -8989,6 +9045,9 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} + geojson-vt@4.0.2: + resolution: {integrity: sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A==} + get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -9063,6 +9122,9 @@ packages: github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + gl-matrix@3.4.3: + resolution: {integrity: sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -9116,6 +9178,10 @@ packages: resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} engines: {node: '>=6'} + global-prefix@4.0.0: + 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'} @@ -9568,6 +9634,10 @@ packages: resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} engines: {node: '>=10'} + ini@4.1.3: + resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ini@5.0.0: resolution: {integrity: sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==} engines: {node: ^18.17.0 || >=20.5.0} @@ -10163,6 +10233,9 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json-stringify-pretty-compact@4.0.0: + resolution: {integrity: sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==} + json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} @@ -10210,6 +10283,9 @@ packages: resolution: {integrity: sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==} hasBin: true + kdbush@4.0.2: + resolution: {integrity: sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==} + keyboardevent-from-electron-accelerator@2.0.0: resolution: {integrity: sha512-iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA==} @@ -10590,6 +10666,10 @@ packages: resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} engines: {node: '>=6'} + maplibre-gl@5.6.1: + resolution: {integrity: sha512-TTSfoTaF7RqKUR9wR5qDxCHH2J1XfZ1E85luiLOx0h8r50T/LnwAwwfV0WVNh9o8dA7rwt57Ucivf1emyeukXg==} + engines: {node: '>=16.14.0', npm: '>=8.1.0'} + mark.js@8.11.1: resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} @@ -11030,6 +11110,9 @@ packages: murmur-32@0.2.0: resolution: {integrity: sha512-ZkcWZudylwF+ir3Ld1n7gL6bI2mQAzXvSobPwVtu8aYi2sbXeipeSkdcanRLzIofLcM5F53lGaKm2dk7orBi7Q==} + murmurhash-js@1.0.0: + resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==} + mute-stream@2.0.0: resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -11604,6 +11687,10 @@ packages: resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} engines: {node: '>= 14.16'} + pbf@3.3.0: + resolution: {integrity: sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==} + hasBin: true + pe-library@1.0.1: resolution: {integrity: sha512-nh39Mo1eGWmZS7y+mK/dQIqg7S1lp38DpRxkyoHf0ZcUs/HDc+yyTjuOtTvSMZHmfSLuSQaX945u05Y2Q6UWZg==} engines: {node: '>=14', npm: '>=7'} @@ -12516,6 +12603,9 @@ packages: engines: {node: '>=14.0.0'} hasBin: true + potpack@2.1.0: + resolution: {integrity: sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ==} + preact@10.26.9: resolution: {integrity: sha512-SSjF9vcnF27mJK1XyFMNJzFd5u3pQiATFqoaDy03XuN00u4ziveVVEGt5RKJrDR8MHE/wJo9Nnad56RLzS2RMA==} @@ -12588,6 +12678,9 @@ packages: resolution: {integrity: sha512-Z2E/kOY1QjoMlCytmexzYfDm/w5fKAiRwpSzGtdnXW1zC88Z2yXazHHrOtwCzn+7wSxyE8PYM4rvVcMphF9sOA==} engines: {node: '>=12.0.0'} + protocol-buffers-schema@3.6.0: + resolution: {integrity: sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==} + proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -12657,6 +12750,9 @@ packages: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} + quickselect@3.0.0: + resolution: {integrity: sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==} + rand-token@1.0.1: resolution: {integrity: sha512-Zri5SfJmEzBJ3IexFdigvPSCamslJ7UjLkUn0tlgH7COJvaUr5V7FyUYgKifEMTw7gFO8ZLcWjcU+kq8akipzg==} engines: {node: '>= 10'} @@ -12916,6 +13012,9 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve-protobuf-schema@2.1.0: + resolution: {integrity: sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==} + resolve.exports@2.0.3: resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} engines: {node: '>=10'} @@ -13875,6 +13974,9 @@ packages: resolution: {integrity: sha512-y/hkYGeXAj7wUMjxRbB21g/l6aAEituGXM9Rwl4o20+SX3e8YOSV6BxFXl+dL3Uk0mjSL3kCbNkwURm8/gEDig==} engines: {node: '>=14.18.0'} + supercluster@8.0.1: + resolution: {integrity: sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==} + supertest@7.1.4: resolution: {integrity: sha512-tjLPs7dVyqgItVFirHYqe2T+MfWc2VOBQ8QFKKbWTA3PU7liZR8zoSpAi/C1k1ilm9RsXIKYf197oap9wXGVYg==} engines: {node: '>=14.18.0'} @@ -14112,6 +14214,9 @@ packages: resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} + tinyqueue@3.0.0: + resolution: {integrity: sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==} + tinyrainbow@2.0.0: resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} @@ -14805,6 +14910,9 @@ packages: vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} + vt-pbf@3.1.3: + resolution: {integrity: sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==} + w3c-hr-time@1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} deprecated: Use your platform's native performance.now() and performance.timeOrigin. @@ -15000,6 +15108,11 @@ packages: engines: {node: '>= 8'} hasBin: true + which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + which@5.0.0: resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -16543,6 +16656,8 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16673,6 +16788,8 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -16898,6 +17015,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -16907,6 +17026,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -16961,8 +17082,6 @@ snapshots: ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 fuzzysort: 3.1.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-engine@46.0.0': dependencies: @@ -17005,8 +17124,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -17094,6 +17211,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -17153,8 +17272,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -17291,8 +17408,6 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17507,6 +17622,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-special-characters@46.0.0': dependencies: @@ -19422,6 +19539,41 @@ snapshots: - supports-color optional: true + '@mapbox/geojson-rewind@0.5.2': + dependencies: + get-stream: 6.0.1 + minimist: 1.2.8 + + '@mapbox/jsonlint-lines-primitives@2.0.2': {} + + '@mapbox/point-geometry@0.1.0': {} + + '@mapbox/tiny-sdf@2.0.6': {} + + '@mapbox/unitbezier@0.0.1': {} + + '@mapbox/vector-tile@1.3.1': + dependencies: + '@mapbox/point-geometry': 0.1.0 + + '@mapbox/whoots-js@3.1.0': {} + + '@maplibre/maplibre-gl-leaflet@0.1.2(@types/leaflet@1.9.20)(leaflet@1.9.4)(maplibre-gl@5.6.1)': + dependencies: + '@types/leaflet': 1.9.20 + leaflet: 1.9.4 + maplibre-gl: 5.6.1 + + '@maplibre/maplibre-gl-style-spec@23.3.0': + dependencies: + '@mapbox/jsonlint-lines-primitives': 2.0.2 + '@mapbox/unitbezier': 0.0.1 + json-stringify-pretty-compact: 4.0.0 + minimist: 1.2.8 + quickselect: 3.0.0 + rw: 1.3.3 + tinyqueue: 3.0.0 + '@marijn/find-cluster-break@1.0.2': {} '@mermaid-js/layout-elk@0.1.8(mermaid@11.9.0)': @@ -21557,6 +21709,10 @@ snapshots: '@types/node': 22.16.5 optional: true + '@types/geojson-vt@3.2.5': + dependencies: + '@types/geojson': 7946.0.16 + '@types/geojson@7946.0.16': {} '@types/glob@7.2.0': @@ -21628,6 +21784,14 @@ snapshots: '@types/luxon@3.6.2': {} + '@types/mapbox__point-geometry@0.1.4': {} + + '@types/mapbox__vector-tile@1.3.4': + dependencies: + '@types/geojson': 7946.0.16 + '@types/mapbox__point-geometry': 0.1.4 + '@types/pbf': 3.0.5 + '@types/mark.js@8.11.12': dependencies: '@types/jquery': 3.5.32 @@ -21682,6 +21846,8 @@ snapshots: '@types/parse-json@4.0.2': {} + '@types/pbf@3.0.5': {} + '@types/postcss-import@14.0.3': dependencies: postcss: 8.5.6 @@ -21775,6 +21941,10 @@ snapshots: '@types/node': 22.16.5 form-data: 4.0.4 + '@types/supercluster@7.1.3': + dependencies: + '@types/geojson': 7946.0.16 + '@types/supertest@6.0.3': dependencies: '@types/methods': 1.1.4 @@ -22118,26 +22288,6 @@ snapshots: - vite optional: true - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))': - dependencies: - '@testing-library/dom': 10.4.0 - '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@vitest/utils': 3.2.4 - magic-string: 0.30.17 - sirv: 3.0.1 - tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) - optionalDependencies: - playwright: 1.54.1 - webdriverio: 9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) - transitivePeerDependencies: - - bufferutil - - msw - - utf-8-validate - - vite - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 @@ -22269,7 +22419,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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.1.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.0)(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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/utils@3.2.4': dependencies: @@ -23370,8 +23520,6 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 - transitivePeerDependencies: - - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -24669,6 +24817,8 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 + earcut@3.0.2: {} + eastasianwidth@0.2.0: {} edge-paths@3.0.5: @@ -25819,6 +25969,8 @@ snapshots: gensync@1.0.0-beta.2: {} + geojson-vt@4.0.2: {} + get-caller-file@2.0.5: {} get-east-asian-width@1.3.0: {} @@ -25903,6 +26055,8 @@ snapshots: github-slugger@2.0.0: {} + gl-matrix@3.4.3: {} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -25990,6 +26144,12 @@ snapshots: kind-of: 6.0.3 which: 1.3.1 + global-prefix@4.0.0: + dependencies: + ini: 4.1.3 + kind-of: 6.0.3 + which: 4.0.0 + globals@11.12.0: {} globals@13.24.0: @@ -26528,6 +26688,8 @@ snapshots: ini@2.0.0: {} + ini@4.1.3: {} + ini@5.0.0: {} internal-slot@1.1.0: @@ -27299,6 +27461,8 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} + json-stringify-pretty-compact@4.0.0: {} + json-stringify-safe@5.0.1: optional: true @@ -27347,6 +27511,8 @@ snapshots: dependencies: commander: 8.3.0 + kdbush@4.0.2: {} + keyboardevent-from-electron-accelerator@2.0.0: {} keyboardevents-areequal@0.2.2: {} @@ -27762,6 +27928,35 @@ snapshots: dependencies: p-defer: 1.0.0 + maplibre-gl@5.6.1: + dependencies: + '@mapbox/geojson-rewind': 0.5.2 + '@mapbox/jsonlint-lines-primitives': 2.0.2 + '@mapbox/point-geometry': 0.1.0 + '@mapbox/tiny-sdf': 2.0.6 + '@mapbox/unitbezier': 0.0.1 + '@mapbox/vector-tile': 1.3.1 + '@mapbox/whoots-js': 3.1.0 + '@maplibre/maplibre-gl-style-spec': 23.3.0 + '@types/geojson': 7946.0.16 + '@types/geojson-vt': 3.2.5 + '@types/mapbox__point-geometry': 0.1.4 + '@types/mapbox__vector-tile': 1.3.4 + '@types/pbf': 3.0.5 + '@types/supercluster': 7.1.3 + earcut: 3.0.2 + geojson-vt: 4.0.2 + gl-matrix: 3.4.3 + global-prefix: 4.0.0 + kdbush: 4.0.2 + murmurhash-js: 1.0.0 + pbf: 3.3.0 + potpack: 2.1.0 + quickselect: 3.0.0 + supercluster: 8.0.1 + tinyqueue: 3.0.0 + vt-pbf: 3.1.3 + mark.js@8.11.1: {} markdown-table@3.0.4: {} @@ -28482,6 +28677,8 @@ snapshots: imul: 1.0.1 optional: true + murmurhash-js@1.0.0: {} + mute-stream@2.0.0: optional: true @@ -29139,6 +29336,11 @@ snapshots: pathval@2.0.1: {} + pbf@3.3.0: + dependencies: + ieee754: 1.2.1 + resolve-protobuf-schema: 2.1.0 + pe-library@1.0.1: {} peek-readable@4.1.0: {} @@ -30026,6 +30228,8 @@ snapshots: dependencies: commander: 9.5.0 + potpack@2.1.0: {} + preact@10.26.9: {} prebuild-install@7.1.3: @@ -30105,6 +30309,8 @@ snapshots: '@types/node': 24.1.0 long: 5.3.2 + protocol-buffers-schema@3.6.0: {} + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 @@ -30184,6 +30390,8 @@ snapshots: quick-lru@5.1.1: {} + quickselect@3.0.0: {} + rand-token@1.0.1: {} random-bytes@1.0.0: {} @@ -30516,6 +30724,10 @@ snapshots: resolve-pkg-maps@1.0.0: {} + resolve-protobuf-schema@2.1.0: + dependencies: + protocol-buffers-schema: 3.6.0 + resolve.exports@2.0.3: {} resolve@1.22.10: @@ -31706,6 +31918,10 @@ snapshots: transitivePeerDependencies: - supports-color + supercluster@8.0.1: + dependencies: + kdbush: 4.0.2 + supertest@7.1.4: dependencies: methods: 1.1.2 @@ -32037,6 +32253,8 @@ snapshots: tinypool@1.1.1: {} + tinyqueue@3.0.0: {} + tinyrainbow@2.0.0: {} tinyspy@4.0.3: {} @@ -32701,12 +32919,6 @@ snapshots: tinyglobby: 0.2.14 vite: 7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): - dependencies: - svgo: 3.3.2 - typescript: 5.8.3 - vite: 7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: svgo: 3.3.2 @@ -32871,7 +33083,7 @@ snapshots: optionalDependencies: '@types/debug': 4.1.12 '@types/node': 24.1.0 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.5(@types/node@24.1.0)(jiti@2.5.0)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -32908,6 +33120,12 @@ snapshots: vscode-uri@3.1.0: {} + vt-pbf@3.1.3: + dependencies: + '@mapbox/point-geometry': 0.1.0 + '@mapbox/vector-tile': 1.3.1 + pbf: 3.3.0 + w3c-hr-time@1.0.2: dependencies: browser-process-hrtime: 1.0.0 @@ -33209,6 +33427,10 @@ snapshots: dependencies: isexe: 2.0.0 + which@4.0.0: + dependencies: + isexe: 3.1.1 + which@5.0.0: dependencies: isexe: 3.1.1 From f90bf1ce7c667d9e6ef640ed01fc0f28b8825b32 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 24 Jul 2025 15:14:43 +0300 Subject: [PATCH 103/505] feat(views/geo): add combobox to adjust style --- .../widgets/ribbon_widgets/book_properties.ts | 27 +++++++++++++++++++ .../ribbon_widgets/book_properties_config.ts | 21 +++++++++++++-- .../widgets/view_widgets/geo_view/index.ts | 4 +-- 3 files changed, 48 insertions(+), 4 deletions(-) diff --git a/apps/client/src/widgets/ribbon_widgets/book_properties.ts b/apps/client/src/widgets/ribbon_widgets/book_properties.ts index bcb39e6ca..c93267715 100644 --- a/apps/client/src/widgets/ribbon_widgets/book_properties.ts +++ b/apps/client/src/widgets/ribbon_widgets/book_properties.ts @@ -203,6 +203,33 @@ export default class BookPropertiesWidget extends NoteContextAwareWidget { .append(" ".repeat(2)) .append($numberInput)); break; + case "combobox": + const $select = $("", { class: "form-select form-select-sm" }); + const actualValue = note.getLabelValue(property.bindToLabel) ?? property.defaultValue; for (const option of property.options) { const $option = $("

There are multiple menus:

    -
  • Right clicking on a column, allows: +
  • Right clicking on a column, allows:
      -
    • Sorting by the selected column and resetting the sort.
    • -
    • Hiding the selected column or adjusting the visibility of every column.
    • -
    • Adding new columns to the left or the right of the column.
    • -
    • Editing the current column.
    • -
    • Deleting the current column.
    • -
    -
  • -
  • Right clicking on the space to the right of the columns, allows: -
      -
    • Adjusting the visibility of every column.
    • -
    • Adding new columns.
    • +
    • Sorting by the selected column and resetting the sort.
    • +
    • Hiding the selected column or adjusting the visibility of every column.
    • +
    • Adding new columns to the left or the right of the column.
    • +
    • Editing the current column.
    • +
    • Deleting the current column.
  • -
  • Right clicking on a row, allows: +
  • Right clicking on the space to the right of the columns, allows:
      -
    • Opening the corresponding note of the row in a new tab, split, window +
    • Adjusting the visibility of every column.
    • +
    • Adding new columns.
    • +
    +
  • +
  • Right clicking on a row, allows: +
      +
    • Opening the corresponding note of the row in a new tab, split, window or quick editing it.
    • -
    • Inserting rows above, below or as a child note.
    • -
    • Deleting the row.
    • +
    • Inserting rows above, below or as a child note.
    • +
    • Deleting the row.
@@ -92,18 +90,17 @@ not only reflect in the table, but also as an attribute of the corresponding note.

    -
  • The editing will respect the type of the promoted attribute, by presenting +
  • The editing will respect the type of the promoted attribute, by presenting a normal text box, a number selector or a date selector for example.
  • -
  • It also possible to change the title of a note.
  • -
  • Editing relations is also possible -
      -
    • Simply click on a relation and it will become editable. Enter the text - to look for a note and click on it.
    • -
    • To remove a relation, remove the title of the note from the text box and - click outside the cell.
    • -
    -
  • +
  • It also possible to change the title of a note.
  • +
  • Editing relations is also possible +
      +
    • Simply click on a relation and it will become editable. Enter the text + to look for a note and click on it.
    • +
    • To remove a relation, remove the title of the note from the text box and + click outside the cell.
    • +
    +

Editing columns

It is possible to edit a column by right clicking it and selecting Edit column. This @@ -117,19 +114,18 @@ href="#root/_help_oPVyFC7WL2Lp">Note Tree. However, it is possible to sort the data by the values of a column:

    -
  • To do so, simply click on a column.
  • -
  • To switch between ascending or descending sort, simply click again on +
  • To do so, simply click on a column.
  • +
  • To switch between ascending or descending sort, simply click again on the same column. The arrow next to the column will indicate the direction of the sort.
  • -
  • To disable sorting and fall back to the original order, right click any +
  • To disable sorting and fall back to the original order, right click any column on the header and select Clear sorting.

Reordering and hiding columns

    -
  • Columns can be reordered by dragging the header of the columns.
  • -
  • Columns can be hidden or shown by right clicking on a column and clicking +
  • Columns can be reordered by dragging the header of the columns.
  • +
  • Columns can be hidden or shown by right clicking on a column and clicking the item corresponding to the column.

Reordering rows

@@ -140,12 +136,10 @@ href="#root/_help_oPVyFC7WL2Lp">Note Tree.

Reordering does have some limitations:

    -
  • If the parent note has #sorted, reordering will be disabled.
  • -
  • If using nested tables, then reordering will also be disabled.
  • -
  • Currently, it's possible to reorder notes even if column sorting is used, - but the result might be inconsistent.
  • +
  • If the parent note has #sorted, reordering will be disabled.
  • +
  • If using nested tables, then reordering will also be disabled.
  • +
  • Currently, it's possible to reorder notes even if column sorting is used, + but the result might be inconsistent.

Nested trees

If the child notes of the collection also have their own child notes, @@ -156,27 +150,27 @@ to a certain number of levels or even disable it completely. To do so, either:

    -
  • Go to Collection Properties in the Go to Collection Properties in the Ribbon and look for the Max nesting depth section.
      -
    • To disable nesting, type 0 and press Enter.
    • -
    • To limit to a certain depth, type in the desired number (e.g. 2 to only +
    • To disable nesting, type 0 and press Enter.
    • +
    • To limit to a certain depth, type in the desired number (e.g. 2 to only display children and sub-children).
    • -
    • To re-enable unlimited nesting, remove the number and press Enter.
    • +
    • To re-enable unlimited nesting, remove the number and press Enter.
  • -
  • Manually set maxNestingDepth to the desired value.
  • +
  • Manually set maxNestingDepth to the desired value.

Limitations:

    -
  • While in this mode, it's not possible to reorder notes.
  • +
  • While in this mode, it's not possible to reorder notes.

Limitations

    -
  • Multi-value labels and relations are not supported. If a Multi-value labels and relations are not supported. If a Promoted Attributes is defined with a Multi value specificity, they will be ignored.
  • -
  • There is no support to filter the rows by a certain criteria. Consider +
  • There is no support to filter the rows by a certain criteria. Consider using the table view in search for that use case.

Use in search

@@ -187,8 +181,8 @@ of the Search.

However, there are also some limitations:

    -
  • It's not possible to reorder notes.
  • -
  • It's not possible to add a new row.
  • +
  • It's not possible to reorder notes.
  • +
  • It's not possible to add a new row.

Columns are supported, by being defined as Promoted Attributes to the  diff --git a/docs/User Guide/!!!meta.json b/docs/User Guide/!!!meta.json index 17a1a190f..8620611a5 100644 --- a/docs/User Guide/!!!meta.json +++ b/docs/User Guide/!!!meta.json @@ -3784,7 +3784,7 @@ "wArbEsdSae6g", "F1r9QtzQLZqm" ], - "title": "Jump to Note", + "title": "Jump to...", "notePosition": 50, "prefix": null, "isExpanded": false, @@ -3804,26 +3804,33 @@ "value": "bx bx-send", "isInheritable": false, "position": 10 + }, + { + "type": "relation", + "name": "internalLink", + "value": "A9Oc6YKKc65v", + "isInheritable": false, + "position": 20 } ], "format": "markdown", - "dataFileName": "Jump to Note.md", + "dataFileName": "Jump to.md", "attachments": [ + { + "attachmentId": "7IU5WrneDsfi", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "Jump to_image.png" + }, { "attachmentId": "P9veX5eFZdPp", "title": "image.png", "role": "image", "mime": "image/png", "position": 10, - "dataFileName": "Jump to Note_image.png" - }, - { - "attachmentId": "xA1F6kynr4YU", - "title": "recent-notes.gif", - "role": "image", - "mime": "image/gif", - "position": 10, - "dataFileName": "Jump to Note_recent-notes.gif" + "dataFileName": "1_Jump to_image.png" }, { "attachmentId": "y8yxomaf1Gkz", @@ -3831,7 +3838,7 @@ "role": "image", "mime": "image/png", "position": 10, - "dataFileName": "1_Jump to Note_image.png" + "dataFileName": "2_Jump to_image.png" } ] }, @@ -7869,31 +7876,45 @@ { "type": "relation", "name": "internalLink", - "value": "BlN9DFI679QC", + "value": "CtBQqbwXDx1w", "isInheritable": false, "position": 80 }, { "type": "relation", "name": "internalLink", - "value": "m523cpzocqaD", + "value": "BlN9DFI679QC", "isInheritable": false, "position": 90 }, { "type": "relation", "name": "internalLink", - "value": "KC1HB96bqqHX", + "value": "oPVyFC7WL2Lp", "isInheritable": false, "position": 100 }, { "type": "relation", "name": "internalLink", - "value": "2mUhVmZK8RF3", + "value": "m523cpzocqaD", "isInheritable": false, "position": 110 }, + { + "type": "relation", + "name": "internalLink", + "value": "KC1HB96bqqHX", + "isInheritable": false, + "position": 120 + }, + { + "type": "relation", + "name": "internalLink", + "value": "2mUhVmZK8RF3", + "isInheritable": false, + "position": 130 + }, { "type": "label", "name": "shareAlias", @@ -7907,20 +7928,6 @@ "value": "bx bx-book", "isInheritable": false, "position": 20 - }, - { - "type": "relation", - "name": "internalLink", - "value": "CtBQqbwXDx1w", - "isInheritable": false, - "position": 120 - }, - { - "type": "relation", - "name": "internalLink", - "value": "oPVyFC7WL2Lp", - "isInheritable": false, - "position": 130 } ], "format": "markdown", @@ -8530,19 +8537,19 @@ "type": "text", "mime": "text/html", "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "2FvYrpmOXm29", + "isInheritable": false, + "position": 10 + }, { "type": "label", "name": "iconClass", "value": "bx bx-columns", "isInheritable": false, "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "2FvYrpmOXm29", - "isInheritable": false, - "position": 20 } ], "format": "markdown", diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to Note_image.png b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/1_Jump to_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to Note_image.png rename to docs/User Guide/User Guide/Basic Concepts and Features/Navigation/1_Jump to_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/1_Jump to Note_image.png b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/2_Jump to_image.png similarity index 100% rename from docs/User Guide/User Guide/Basic Concepts and Features/Navigation/1_Jump to Note_image.png rename to docs/User Guide/User Guide/Basic Concepts and Features/Navigation/2_Jump to_image.png diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to Note.md b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to Note.md deleted file mode 100644 index 6b5da2854..000000000 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to Note.md +++ /dev/null @@ -1,25 +0,0 @@ -# Jump to Note -

- -The _Jump to Note_ function allows easy navigation between notes by searching for their title. In addition to that, it can also trigger a full search or create notes. - -## Entering jump to note - -* In the Launch Bar, press ![](1_Jump%20to%20Note_image.png) button. -* Using the keyboard, press Ctrl + J. - -## Recent notes - -Jump to note also has the ability to show the list of recently viewed / edited notes and quickly jump to it. - -To access this functionality, click on `Jump to` button on the top. By default, (when nothing is entered into autocomplete), this dialog will show the list of recent notes. - -Alternatively you can click on the "time" icon on the right. - - - -## Interaction - -* By default, when there is no text entered it will display the most recent notes. -* Using the keyboard, use the up or down arrow keys to navigate between items. Press Enter to open the desired note. -* If the note doesn't exist, it's possible to create it by typing the desired note title and selecting the _Create and link child note_ option. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to Note_recent-notes.gif b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to Note_recent-notes.gif deleted file mode 100644 index 45d99021ea8d5f43a4ba61edbfb6c4894688f756..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271649 zcmY(JcTiJNxAs$kP(lg48G1*07eenvK%}WbKmh>*B4AHKFG8r&#DH{ALKPJu^bVm& zRirloX(FJ+&wJmwGw=7CXP>=h|8dUDKC@@9wdOH3H__1akOiBA{sI7CAQKP>q60x$ z7?>0;aH6CI98{3b>Y{EMl1>^j#%hWhDypg~s+ua=IvOYqbt5@-D|tP%f?lwu0mi`Q zwuOzSy`8&@otu}LO|Yq6xS4jSu~C?z<2@TUe;0SJ8#lZ?Z~Az91^Crp5xbGjL56Jk#&gg@#xSgKl@BJ@+jN}|m z5s&AJ4(H0YKG#f9I);V@2L}fG2L`&jd)wOETK|U@a%*#ITl0tJ5B2r+wKcVGs~ZX{ z-=`LJMrZXuc{v*La@40_`d;b$qpHPcq?L%K^_bS}*v`Ymo};v(!@Ti>qM4)e*@N1d z9rDcL@a+8L-2BYk*Dqhb{2Tw#zj$tLZgy^Vc6R1Jn)#n#c6M%V{_FhG!s5#E%IeD6 z%If;k>gN3F_Qcwc!L@^)^}~+MqxRjSu7jhFqn~X*kK2!bb)TH{|2m-@{rY@xJhgv3 zvw!^M;CTM{Wbx?d%Hh%a!O`Zy;r7A7&cVU%!Qqen{k{GF;o#t(_Wt*IaCmTVc=#V3 z9{m?T|9_7Ei(mi6$^UWsU!46fzyFUv|I7LRLH$3@snq}IKMVij|Kj}o&#$wS{gb2Z zivDzd-|*M z*J0c7cI)wG>(8|or6DDuzYI3Ujt++UcE(Eb3Sb}r01!HbK(76pW&aJp{~Qwl9TjjF z#&1RwOl97h-{N}YqeQA;o74Cht#RD%s zs`clY*Od(AYTVoU(pOhH@(L9}FJMt$HcI49lfKqpUp`)H_ga^cHmRcMg>#+X*Zzje zt7)l8@dB2ORWo%y;}rtZ4R7Y&VV3(}${bdH{TP0@b?tp)^|w|mm_gA0-rL2FScFWH z<(1|69)gHvpm|g6>Oht79ZHnYMkbf<0scJZy zvTasZmQi`N(3atXjl0Gb%z~@Tjo~k1JL{C!mU`NwpG8!exLKx$u|T?usdy^a1>2U# za}z`3l{fT0efs@t&)34Sp|=eSI60){Mj>NF4goZhXyfN%VPjlAqFD<(36kqw@S9cd z?2&#e6k?=ESLtH(-pjN|z}YG-it#I*_+{?n&7KZ>{)14}(Dpl@>D{8~S5+L|!aM8{3v`qJ>n_HDs?LAexz4RA+Uidp@7~f#R%Wu7&7%d*CDZp^VV$JCn%0KE1{j)j|p&H?~l0TGFzWN@$xG00zp z40jdEkHYAKS(~t6FEsr}mpwewW~NzSdJ{u9hE|KNEn}CI!q`oPB0{dWnwxhe){rR%$e*EiE!!%%X3Y^^s*kNwWfo!4XUQ;*1XdWSVF^ z!DylXc#KOP8^KV}20G$hDjmiE1)b4MmzxvHmoh3+7djzA?IXOyrlvza1+GEB<)!MfL$yCp9ch=`DQ_7DS)IMEWmy6@>4ougt>~HklO-45MrM!(uw7;uc2jD z!4WPH?B)0Dz)}ik>dpEVv|M%(_;xg2P29?smVu2&BvOi@s7>TLT^pRc=KUW>B%?;N zV~JYS+X%752Rv?ubY#2t42mFHQ!D3Kx-~i_6*PqD00duZxFDdD#%ea$#tg2BW`0}{ zVi8}!Tk`ADISZOei#l!dk+PZbL=z3<;>JdOF>7)9yia_gX)43nPl;|Ulzfuc_op)z z3Pz#se59Y06J<55)lcyJZojZhM^@|5Z|8u!^ssKB2oG62(wJ+YT%qJ>foUu=r{b!+ z{d)^1ze-f~A4jcclA^4bA80|L<@XOyErnnRMx;Wi$k-mx%gG{J+rMO!*k{Aa#+oIp zAuKWxr&TcSZg5M9sZ)yV5~F5#-bwA!Nb!S$ zAn=f#K5PH4^VfW!s#H ztmbAB7iC$8QZOu>3p(pxd*C#9GjR~?G*#D*6$B8+T|=hRWp={N8e*0 zk^fF748K>~_!OEE0%cQ=&Qk;p#m~2u)7fe8$(y#7IbpIy2@y^owP<-ymhD!ABI)jU zF{lvI9>d4tzfVj7X&vWzt?ckk4~5typVR5YqG|Eu4!WUGvjA9aly!GFQl)V};I)EV z=wlp*)+(MaPlw>g9Lc$7W+(}1kK!HoWZ%w@K;_#lOH>z>Qb`b<#|m>{Wx#ol=#)U~ z1E}I2LiCw8!KDjRY#h62@b3!G;BMPX!~vNYpM`g~D`=S-<>|wxT)3%ZqUc5LJl5;6 z!o|e6z1Fxd3%3NWwU_^jLM7^$;Q)r*j?}#|U-+5<=xp$kK~Um_X4P^VErXF7h)#U0 zk+^-YjNoEa#SH)i?t>Lcy~ZlzjAjP;_OLlq#-qP9B4=6}QME(k4@rycP(?AWHPmkK z2rwO_sGjoKn(&CEkJQ`SmwT%)hbwyY6%+@u0qY`(!O}9G=qcVwlDwdG$xyOh+?e{v zDOq+!ts*?~2_U1&6fH{6Ln70$kw8o&r`gh?#s=@f&?{$Ok$M_nzG=H(xRADzM<`>? zK-A-88*S4h|yeJk* z>jl0K#mXwV2MgD1;JKw0m*Kr1g=FMo6Fg*>wOGqKVkNl$+X0g!u7xoe;SNG!bvgDng0 z9gADtD)X}#PrJQmb82plB)WxAi;HF~JE*{?F9I`>EW0S!I|5BB%8-R?)piT)+h^l0e~-jx)6a67IM%g(Wn_ec}Ircn56X~22`ed z-iUT+_zCyLz@|+c?vQDWvmTq$#40y}+npk)I#usYD zyA#3w$nXm8MEfBAE2HtG@I-Fmg!-n$3)3tWM4AbE$pXp52_IZl8S6)ERBzMsDk0d5 z-oypxr|?C34FmanAK*vl=UYv3Q`||rCrNwUd~ihu0+wc_U09fq^t~xLek^JKBpJX% zxU8k$Vt&32mxz^9QZNS;*T_jgzp zC0^B}NX{fDDW%HJq%voxD!5Re2*&ZtyQHb{Bq?U6HLViVXVP?Ma9TX+Tqt zq~}SbTg+I<#HHJurYAO}+xJNt!7`j4WY{ZbxJrrW#ARGR&Dg2QxT(qiiIXjvLO)H& zG=^pR&t#4$W@21;lNA`06&aE#88+F>ya4bcNb)He_;4YUj^jmSId_sBB55JT7skF0 zfYL351gQu=*+iJJm1&2u;~3gd66ZR72=px=*t~rj)tdN=y%ek+T(*olv)3INDselwA@p1;LF0fGi#cc!OOP3w+=-Plq+Pn(gJd%S)jLFQ-rW z4;H}HnXleBfj>BT%$>fn9(~EDnCEwjSTfIFWD(DldifoeyKRox*n=d)0IUl%4haL3S}%HyxjmL3~Wp4r3PyO!U7mVGPS0F&dXU{6@b}9)^+Sd!wOKA0^->w>?aFE zo*p1WDqbWO;YAA%lx5BpATAaqeEP3=+n@%#07<_hB^(@u2Alwa%IMOczMNL%92JXH zD!{djONf|+d!Zgg#AP${VVwx^PKw0*!A+tTPDTa;`-*{6?I3ImC0j6Ba~5z05@BXX zYmBN`#K4`g00k_gIR*6CPWYuX@D+)59Rm@rC|ut|rO~^XNh6k|UX@7amTs9B_m>+} zKn2Ju3ji>LSh#_K@}X$=9w1JLz>3+*f!V6cir2g;Z$57_^N>JKFa=wC5I7<4Za>fs z3moNzZ&4sj7}^6@B`x85EAPNxw@Da zezXUX##BCY)y{VG}iEYzqeLSH^=Fxty@ z#QvJEA=RS>D%GCW9M_`+37^+CxAG-VV9W3-5h^DH* zMyG^IGeUz(0mOC=WJhY%(tm~VE4HzeLEdRj%WgV+^vVA0ooY(6pFNbB_-S67b3q1? zsNF*KZIMr8NpZ{A%B_7-`CgMXcm2IxoJ^C7BAM5tRkJ@IH7LX8UtG3cc(z{;)2TXt z)OyLi)3A!wia_R+Edv5-(Uza=`5@dxj~6p<-^=7PZnrX-bXC#^XeVYnqPsMtp-?1H zjfKYZQTxr5_Q8)$&2#M+n|r{l?>G7KsVajlS>IdK+}rpTJE|GT-0p~2#zrlQ!U!T;YOr`1f%R~oH{Q1VzUE0{Q%UitP~$?Ea=cjsg`OqG8q-0OQo zd2x)TF+gATwCXYP=!uhQdB9)$SZ7etov2*Zr8e54w^*wp)Y@s$_|vj$@K1+hVy{C# zEZ)64-M#9|pH7HBxiJp%R%eJ-cDPjaT`NQPmJXs)_A(Fur@OOlQ*phzqZK2A19Ag3 zGW>(Qii6bco^Hn8UMrc1=0UZpzRkqSSCvCE+ruxc^eVKo^(?zh9*ry#>Ot}x;b_;%b)FZL+pm*Itu!6zC#X^uQP9apFRj0SxTHUPVwHWyI0zeL`LS?K zSB}PmjAtLE2eC33?2Hhc2LP7?cV4!b13RRo4}Hz( zvR9SeFhdbLrxXmdT0a72S7p1)AWjIm_7=@dY9D!JtIWv--`z)D&pTL1ps?I`kF23$ zR)}lFJ2eaMgD~Tt^2WoP$K_%nUlnJ*0%=W|SdWQ7j2*Kv68z!~J9RJCOpYJ$DNEVE zD=37b?lG=}E6=H@dSx;Cb(`XL{wCR7_=o_JC1qoBf!6VG58@rz$KqoOtqp&tPeAbq zZ}oT%Fo>m#H;8$F+D{9vgkL5A5}v;k@Go9+7cS1L{!{@}B6n0YkJVcbSp!~wzDB}e z8l`q1@I9I$Qbhwj{cTy`zD12W=5yjsOVWAG^E)gfG~ghFx|Q9`s~r|+0uV!n@+{2Q z)j)$4W|uF|rdJ|pdBNZ77QJu6GAj_bEDAUu&ezG!#aN9YrOj9sXupyNU5P*@5%7ml zxXnT#EAbuo%P)LFr2!Rvv`^r?4-1X`ic_r+GdT?hfRZ=wL61>wQUPt8Uq9__GT-Y5 zxb_#@1~OZ~0amjwuA(3wXRpsMv9~ZT$jT1VDK1Ee1DCyKIBOP|l9ZaUZI&FhOIsSmLp070~VvYvg<*M7gw9!&+7*_j!@T;-||3tAtsQ z0f9EGhZu+~7G{A2DulDRVL*6VXc$W+{+lKMu*4*Q69Wv*youP~EO-k+*lm@}KYoW{R#or{ zk*8gd->sGZUS~7Aafhj72Vwm&C$oH(g$K&KN0X^QV*CzarfekT_jOanhT%KlAgJJi zJ{JKX_pkcH?G(1`FyeN9QD~k_(Xi_6FX!)W1?D{agV;n3z@vVsNipjYfV?zRz~h{1 zlKuAIVIklv7Bj*gn+L-iIP^;r3(JMwRg+zfS7C^xUG5va4J`)-uWICySuR%Z1uPy` zKV{faIIJ8#deZ`}{&iTydSv+QC(-4IHt6W?;^DKW;HPltBlxk=F+?2=_BQ<)yV$cG z$mIO@7+?OArtPQSg)}GTU*XR(f^V>d-1sHccRamt{6O!->HROr=&z@(DPguJi9gb! z^;lwGoiO$tPa;pAKRdm|vj=TC4MLozjwB}}pB7$BWvqduKRNr#3VxNGioJXK`tO-g zAItu)@%nGHm87%y)?`GzdroXu~0)glGKLL(L;q-1TFVf7%ZqT zx#H@PN;F|yZnrDME_kJ>&2(=eL03R8n&0KXt3N}o4)TzaqB=ZjAx|~mm*Sr$4IEtR zsxU?YCacQreZPL_y4l?j@U8nfpW8I)U43R(TPO`nql5{O{GD@m^4`DXFTX>_ELN+2 zTpp$`5!QCk+zISVb~O;Jwvp|u33oYvc)atqwK{KxXjeF3jOTp*Nu)=!wBWjRDWejN z=rUbJqlRqTzpn;r(_ToAO%M<-!o;W=?DxN-m+2Ihf2KBjx0T1DPny1Hf^C@X@8BY+ z`a@GYND5CBk%8c7mX_La!@xHkJ1dGHEC*_4Kb{dl39NkFQW-CNk{_vLAyt}Z)q+?1 zzFkK#SsqfE_>fa!J~zyBlbOy^c--nsKfNM^=VN=JbyDCq)lYps^WaUV`aVNXD^52N zZc=n6rO(V;r)5nuYjvc^|0LQ@<=rkp$1GnMK#9;40bvT-BFZ4Dj+aeej#=P0maQyD zMGw+y?!{*X6pGqtFw(O19{NpoSY+w5f1x1vtvv4D*&Qz4PKY1Ho%nOuX{4O7BpcSm zBc|fArrFd#-$eGtaX5ALU~RJRc;_6M8LMBrKlQn90!OmS5Y=@#AFBYsI$tCzt7JWA zP&)Hrp;H_I3L~l^`9U%0JBHlt56M`Ko3UK;eu8mg;$1RQ)2Vf@)!*2w@!x6;P4 zlqeMjSnYbP^;iIUZ-V&x8oq~)rsXz@##~rPkIk{sRPQ`AVr#IjB<4lseA%#X@zdWs zrL>cQW95I5O{<$YpA}YFIh6Mu8vQH;wS+6_-eVxnbuNO_j#4B|yp6PBq2q9-h(4Ym z@~v;QEs&5g7&AL7j3GBW<~}oD$m_fAQk-{%YoTn-8zJ5CCjC|T53JTjUNwiKz0^a) zjHp{-lE1&+wI|2n*)Q@t#Ll4qq=3Pw1sYvHgFD1RUN+%)bB@ceEI!ccD&ebvA#|R+ zpQlrc+6JD8WKWH+&=Q@viymI=oktM>AYD8WG?~N7)Gh?&YZ*eE?kyNCtT8kDEi!2z zwC%C*z@tsDo^ORnQ-q1rl30eg z?!+^#Ke~PW?kKgpppzjOuuc&I$vckAr3l_XkDVC`dhJ#(_8uZY5p@{-8)~?}Rh-z-| zKh@~HqyoTM`HEejqr*aKWl}C*DrkOfb`i1$K>W(d$U7+hA-B*5Ru;WAe3VfszN+&r zeI*;Ni=5-1-;e012Ubh9{jeZmyWLK}v|g29i;BH<6!Qm4_#0E^K)d(UGcMn4hCQ<+ zB{ZnDo$NZg9>`Q!dCfTff`)Shd=l9!n~wDlO>@68*4W54k=VuDC@|01quvS}4hFOG zE!d!nIAS~*up-Q}L^R$bX4%lo?HHZ2OnlEC9CL{SigP)2PXoM{3*olZ_)?R(LA_;6 zKQL)9N9Qg1fxJg6glglF+^0AFgO!^fWheN$=>zOCR*# ztqBf4Szwd&SSh&lNf7Y+is%K9zbS;FwhKNW!+rnZMDcYN3DHj?*Cy!`h6%g)CPOC4 z{10Y>K~cybJv5A(7P#tdiz#eTe zfbM^O_f&gY^3$e}6KrbgDRNWtiCB|v)x8k?H+N9yq_M8yZ0BaN{UMESrf>Jj&zeVs zp8Z&yi%acNe=2s-Gz#Hp2ii?T)09w@EgBWh-5mA)q$W|KojcqcV_Kb@FFZS& z`bPcLqxW@u`ja|j=3P@-qts)H^$LU&!{J(ykZpi(!(=Y6{K`(DquLq5HsIZYG8 zI9f-&0m%>Q{jJQ9HWv0aR#APAAPI>kEW2YHha+%=j|@swUUMKzkRil~JU1eW#!H7b zL|=ZP+KoiZ7h4xr2H{U^p)b_W)4O?*o>!Lv7ZfGKiHBDO@)AgXuk)>i#yB!TQFtHn|lt|Ggz zcB6?-2cs@W$F8|7m?R3Il!Mjb?s7@&gu8dSb#}Q=bmc#Qx!K{N&Olw{D;Wxa1`BpI zGSTrDF)}iWJHg+M?Dk3T_ATo6tM9(;PV%4V4p`|9JnFs+>A`&Iz9ZTbtkQGOs3*j+ z=e}1@Xh=_3WKVc{&x6N3S+V$kuc|SK3p2z2wCH|D{iEadr3)w8i`OyEBGEpLQ_e8! z@TaQ z&+5fPoa-{}K(JoOzzGy%2Q>u@kk|)mLKz9fyapOW2Hr&uG^JZMIYKcf z&|H6$@`-^@D+6)ZxCfFTPPD;!KY*Lk(-#|Eoj1_sHP{_8*b_O}n{HL(80AA~zqCCt zIAQfV5hiN};FN4n-=k%svlsxx^cf9NCme@9dksy7M2<7k-wNp;DjJ$?Hp`C1Lt+7Z z+!0FLcqkeRjm34OGZqI8EgKE5I1W!b@|J|?%|#AxsPty<#eDmdPpiQo&SJ9^$++x3 z`~xzw$8KBiZ!<)&-ZUCHa_`ECg&vs0+$h6~MT|fAN6zX;etQia!CJN;P)HM(eKRQihf{r$@|qLCs5Tw@3bumF}{Xi*G^xM(~kW<0I} zjgRv;k`B0}zB+ItE7H_w&@?O3Va`~y*rB`LL8rJ?(Ad&|E|nW?sr(59@xdB(nJUW- z7)eGbV;#+yz-xF$fY9Ar@d?{9p_fIX=Pgxy(J8QK5}rZnw)5MntF7_845749&qKb3}UjBp9W~6Y$S*PPcevCEbzt^2a=JK_m#0* zPbT&9Cd&q<@~HI`QhMZ#SUUd`C?H_a>2v2(=)g0kY21CQh=5Ol#+LFZjSyqYV5nun zeaOAyX_8f>1fY%%4d(R5!?=Moga{F5pnDXSM*%F%g3b6eAy0=-z8_(1hM$bZG7^~d z&>+se2+1Zao8-SXI#!i%6{&y)!~*!qSS^+TBLJu|4WPDx7k0*3s-~(pfnGoX94LFD z+&^0yfRiOc!fdt>YAH?x@UytVFtZQN!DSh)YM4lQZv1B=mLOpJ=##n0m#Gw=#>x}7 zKe>A4%2!B(h#g-mZp%;cyov3qu^sm#J1@m`J=cp>9jJg}<(aN3$XOpcWz)(0GM~w**?1rda=C_b%_j09BYA3sCJyDh2bU ziF*-)@@Vz9;)H7tidhb=eiFQ(Z*A+P}IVDVG88 zydNn>xS1sP&&C3|?|n7w=arS`AVwmXG%-zqT1tikN>!KdK?mfXM?VQ2MQ_A%n*nFb7Mt2W#BY$^ znB{1=7#Se-PgHCE%ZA|v0>;a?7zQ{r#Ay-CSh zEKOL&m3f=?UXCYwzn}1)TlT0qS~U1-G9otMmH||Wosen5>d*~Ho`|emS<%Q}679Wt zG1H|cph^Dck`&Ey{ZE&G?zInMpf{h^NX;NP+EdqNcADw~)SI>!1rA73T=sjH^*{qM z)7VRIUFFwqkveZ)G@F!Zx;>)+c7KlLAuaFKUj^h3#hXb=laLm!#E&OAteZtl;b_9b zzbY5VmZjb9o7XcM$tg@{os;Y9$#+32uY)yFio47~pYH1M29C`4sV0*+&&O=2hTK!d zE8xl%aYR&l-%VniJ^#mKI+XV5O@~VlE&z`4t4JCbu?-AT91( zw(y9qrp;JXwy6qjx4S7v_12#9sRBf$w#C|2Xnm<4Xq`UlLC&NgVes zX{!qhYAC5^BShE;^Yy;nVx7)wfP*?cE>Z7+wA;SKJ zKuiRj<>xgWlU*64CrM{x+56kwTfpc{+`9aLycw7Y$3Q?C_d%NU5`5rgB~16g=Y#tl ze|58Cwp1LRB5J)PYCFal>4Sg1B%*YSXqJ=0t3exZA=VruRrBCug!2~T)Lv!QDkc`R z11Q!t7k#ZJ=kw!-J(YlW4h(|5_#u5y_Q7qWub!O1iyzt>p(CkPcWvcHwKz!4vE5(1 z88==t$Kv)t$N1@-hqtTZgYnXCcNo5JgoG(bV+9iF4;2rGqx23Yy6yY6L8{IXnPCrJ z#9Xa$5BwpI2Vwvq%*v&y0OQu_`>Hn?kO0ue*j6-vmNF|HkJVvWHhs3PW$Icihhr#P z|L`e2_byIB0VK5+sO}5`5dmN{!2a9rZpp*QB!J~r?3G{OrqAw`%n=`>08lJe-Pvi+ z|Hrkfk`gf=+M~2=--afQiFa?^9bLG4Jsz>h3xopFFl;k>ph$Mgb_2@>;={?!eb&)PTImNcJo>yfK^M7JW(}b#Hm0wwk zUJMmDfwZ)OU(NHz1%nV98>eoH*JJRk3$I~i@u!ud2nFC!?UQ)&6K>AWIMW7is0iA|#|pn@!qtSQ~7MM6+o5X(%lA5Ja!m z`fnbHS!FKrM^*aXTdVicynC?it9*ee*Y%d&d&JxRyj;7ZNHV;GlrlaN7G zjB~!-fXOG{rdy-0^bwZDesvpejjDC@@Y!t4h$-E()pL$Rm3Gs|SM?g-vzOanvQL~X zdiXZ>vP8WI7yOGRKc{v>c^wkOrR%E7 zkr5nO9zk!L`B{{i*^W{IrG4Zs*(tGp1hBAPx0@cnUh{PVt$wA`BMlMG|MRA`qM#E( zkE)C{AwJVNSh;HZX46TSB`b27`MGc^cT(Jy$4lFoV<;G1#-T6YiqBR-n;1Jfq)FFORzleH~8sd1JiqJiVgtcCFK+&y53< zm%Ww~&~mzQf7x71s`y(*&xMj~zj#++y+lkKZNSPqDJ#1{1?lqgmI)EtB%?z=6`gpO zG`2{34-i}h6=w_65bd&sX|B*0Te~gfm_C<9l}GW}EyUwf7JCtpw-N*mD5K};gb}@F zxLZ48!Gt4}UNarL-L#rNH|MQ#mbH{yN549!X`6@bfIUucGJ=1waob7#lZf7>^11DA zeYalUtGpA0q9*)Ey=Gv-_kOK#ZUUwr9-LIi`Azht$h+A43?&r({tUW#dTj&8`->Ga zN#NxLlUI)?kGz6#H22{wswZ|G_-7AYL^6>HvK)PXvL7prU%GOpGO>8ALi+O+wL?1HbX35uSZcW{{ z8Cx$%zOMDGv^4PLLW3TY&C>htE!sae7pXU<>Z+rSVPa@=&EzbGix~$4+9Oo8UdM~) ze-1}0wJ!Y(nrk@^A1xcxK3PmiZjv4)?o=$#=*>5uZCC!Kz8+Yx_7kn`_|g2QV)9w* z_?O>*zg{Hof7)jyVQD6krO6(=3$WN{{`W5YL~f8_nYY-6XGTQCahK=|ceyw_9ck2i zTmPnzv|D3oG&IWEIc_oYkDfsLsNhQHn!VtH*GM%{=MI4bQjG2&S6GB(rx06Btci{= z+q-)$3+DvW)Nm;6je-(!`6GW8v8Y@wQV{cl06B3c? zGqbs{@8G)J ztnDJ@VyWSv)VlcP#Tc5KsN@TxSfI>8hun9e=m*g_j`?N@!CaT&CkJ(}`1zT25-A{u zFG~V;y;$u-l&PDn5Imh;5-i*g;4u?s<9rU0-YdT>zcv0!@LbaDvP8KUYJmyz$ymD( zOMy{@USIb&W#b0KnCm+hsy+7sZy=j4_}qN0`_j?WPu`)*eJ1U+2Wcp~bxFoGN;6*$sZz*>Ee)O5x1yO? zOmKWz9uD%0*~4(?c>KI$+av9~o38pM`cjph*p(=#XhZR=Z;w6?3ikm&Drk%a2p;%F ze!`blU*Fl}oZbW9{fuUxJ=N!ah?G^IKIEj5aim!+z1tr^_B&F$0L`O;_A^QZ*Muz{ ztIU_hvA`@=%(mRdJ_OQ)c#F>a*Ai8r#Rg_pU;8M?TOY7Q>Q85oT7!$}hQ(CH=bi2QAJe}6 z@S_#fL2fV~lV0B6L$Y7)-41QZfvW8xKkZ*yeeB}%$uZ8ZRa|~cQx!n_jLrktT`wm9 z)42w|cdVV?CGRsZw?O-Csru3+gk7}xCGuN4r+M#A%w;K)+eRHcdhXY9P!d{W-hKp$ zmIJ$CQPpO9Eke^mWc2~83INCo>9sN9_lxDl zc3ztbD+zbv%<$7j`pK#V{<{)GmpH-xwxE})_81wK3bHoI%ilWbyddB+*y=FckE?55%~J`}h>-wSUn_yy72+|& z`f+T~0))GM+chHg?W1WT-&1;8y;zJ+D)F+k=1Q_7r2yhx-n{iXM03(@*H7ZGS5TiD z$Y%uP(K3rxbRQkR?GMV3jvW%WcBX0>I7LXkGJ6R3$C!n^n7;tQ#Li;_v1LkiPg>bo~Azj`#5#v_Fjac^o0P-yBjBq zG*gng3Md{m@Am!UwZsyYKSHP0BnnMVSj(?S$fZ5n?_uS6%M8Rm1ACg046VK9pKpcI zUS+eZNG#sEd=NPCbayBXcG~j0m09=XiS*g%VVR&l;XceK`t0SUHX6Ss9CO}{!lXBr zu1r1pe1YeU?lNyA=Bj{_|&`8ObDf)S$=6fQ% zkr&qO&V0&A=gR_zd%$;ztV*fSek7~>BCTKnLV9dcv4H*I0>Y_4Kx~oyRsq0Ohzoz2 z-A{-+^g36PkZBw8G)joqRe&!n_j+OLrjxZXyRmnM^7V1lF@}cNjIg2Z$4ceyEdB6iq3GlHt~FBlrwQoM*6a>w2&O< zYmC^qoc-134@@rx(o(s~5*htRFVZXz6qqscil`NSRzkJUAw8`YGo%Hxo)-&;eKF)S z6H%~#Ep|&pJDOc|(10kF=IxPrOU^S)#WO7Hb?Ag4^A|vO@zf1g7oT$!6QLcI>h$m$ z4(4nXR_v(|Kd+<_kB|*XJ{6k6n+wE; zQk=x|cvM4sw46k(Q^$?h>`nYc@o_P_H*qq4v?)+8^Om+y@|2u2Ul?7HVT-U)|4nOM zF_o_?a;rr)Ng}rS%U3X_PV{0{YF-Wd(;N$^{cx1IyqM&$sAI|MMf26LlMZ;EXjs)a z@8d$QxEVtpDzMmPwm4-u^k~I)-oTD#Qcg$Tg;T6F8?Q$KnumH@`I$P{6uFw*lBp>U zQvpiMa$W*B8yTY8@zk@w{ji|} zVRf6yT|dxf*?-pHcR7yf1Qn>Z=1DDiSZj|7Hbt0`1*;rD&C{2B0E}NiTpH_%o42?M zS07Sui#Du>HkT5FaF8R%C-bEbg#b4WN?G$ql#C?3K$212DOf*RoL>x1xa>(NSA>?& zGb-FODydB9+J>ChhMfO~oM>5$nq=$;q>+i_4RnMuW5>lWl1Xc2NxPEC$7RV>Ndiqd z0WOuoS)L*&l`3AIDle6$R-UFSm2Og=ZsVH-k5E<-xRE6pUm=+wUzX5PMt8PutpU!+ zEYHrD$|)(&c`KFMSf1Nbp2H?`-AC%N-v;ijPs~H9EGMBz3(0k|6p^Na2$wG4tSAta zE}Y+pZ0r}o_hiodz6flK*)2z?73a-Dvc)S(0;NksD@vbAm+5X67n;3(+VeWN3~#aZ z!oC7{T%LH=xe-}WH7xyRvf|CWU-r$-XXzDTMnJF?N}#GedhNDiA6BePx>B%!nsrP1 zty*QBu1vj&OleX@W2a}h#^>s%CYe(Q$_9&mj=|!v2}52iPfPp8GqZntFWYHS z)oCMJK)?M|ZaZP?j;)<+PiR%oQ`t0Ee+{&Mw_4S!-OA+MLJ7R=Kx5TFVP$WsY;5;N z$FU@W4h2}L8s3tHY_z3KLM4ng*~!2(C7ghUFWZSM0kkuq_GY}$cd%dfS!$)@i6mPS zw%-KAMMoYzF0;_Yf{n0zdF{zca_R7Z(NMWG@c=^3&UlO57d77r3##11_JzJc|72kx z~0d(MxT+;{`^)OV;)|I5eVCE zdp;XMD;WS=ZhQXLkWDs_p%ue;_aZIxE-U3O*PpwbMOd+kA26TxiwgR5y=@B*XBiOs z0$(IU!yhm}E&CVJg&2ct?!k0=SdJfeIl&mpLB!uRA2!Ml?jEI{ z%o?6&BH24DVX|!@4-;UL>=X6-YX%#NvW6c|1F8JrAJ4A`h-v_V*!|=ZFc%$=rWrV+ ztF*5coODZ{v8*;psg0k#TKz9xwbYQUw@v)7!PV()p&R!oALNt71GGefIlgUhEc-|+ zzfpB)V;WG>GnAE^3cm7r*<@)tl)~w5Pp>e(!*>|@S@`hc#tys6p(c2f&A(37Fc=WC zr^fYz6095SsT-=59~W+;t*^KABnuGhlh!Uuzf;n6z*>GhQv0QB z3*Oet9n)!_3ETLLvURh!$dW^~g{)axO5cYo{FJM&xwK6d^Ve_ebE>7UTUQF1*HU3a zVU4(aC2y#xFH2fP9ID?AITKWJS(fC=qq^&O)>?GD)n4~;H$2dhQIh?pyxn-;_OEIy z^+^1(SU8KSJfc2yup<^Ap4!mCjCm2QGwEsi^ZL&YxHCQ?<=%fuljk?ViH52Uv-7p1yM-&kqb~-D~v{$@D%!09za*cJJbJ1RUEQ{I029 z?U&dk^^iG{u&RBtKvQ-KPWRZGZ@VdU!;^!AgKq$CQBkmIK;q?!+jE`i!(bND#h>tl zi~JX-O@dtRgdEx2{dv7Qllj0{o8tstd#**McMpzy@l#6&_}dA~82jTSvl?6mpz7{s zRie12LriY8(PZ5X{MhvBn{?uh)N4yOuWzmDc;sa7hlla46+ZIjXeLV@b(96fc)keh zE2L9I-1|(`EDd|uL!+hsMBGO!*XREMdO(H0einDES7f8qWT$$iQ+Bw;fh|ZCVVXCl z-z`^rI
zk+(e>9We;A3-Jc{&d~|TnT#)5W98&^Aps8Q|rKfD*1mLgS4mjt?RnA zUput&Is`wc1aCUFe>=F-s~`E^}aKC$+x`8cRaj`2R)>Lx7Yw5tOCk^UdW&O$h*AH z|9haz6=OAk1w_;YNL$Wp-Fa(z&;PvB%R7ui*F-67Q)vJM{AJP)+|I9jyg$9y&wF#* zf)ZT4cg%wkM1US-z0za;I(k3+*T4O@H+L4y$B?N&VD*Crynybi{fBM6+rvHJ=X!H5 zL7iggooWXY6h7bg-O_V?!3RF%>$+gC!x0SBfJ(p`hygNTfdbI@;>VZYH+|%fzH{%oX?DKsvl{JJ`|TG$PYbr$ zvp}SEN8(%hB4MuP2LJX9KffEl^~-W|+e0mZ2j0WLBr?+NR+R5c|I<)E%U?hGi*eA0 z!DtqN;&0Ic<6;9#)B}@0rI>%$r@#KkZlGJ{3iJU$thz-HN`?q`ZY5N>kYPiI4;{8k z!T=7$h475fiM0NaBS$20EQWLlkB2FdCsC$Uxsqi|mn$8GlQ}b-qhmLZ(WLo{XU|_~ zfCd#hlxR_-N0BB~x|C^Cr%$0ql{%GbRjXIAX4Se?t52^!b%w1;6QwOE2pFVIy8_co zw+SUu6p7Ie#E%XA>Bx~o#El#^NS!2U@@-+mhY=@s7&EL*oMOX${VADpWy_a+j={W{ zb7#+&HGdX8nzYx@rBSE;d|GvD*F0IjmW>+CX2>)d%TyVwOOG6D{3vc2x1vS5c0oQI zta7<<=g*->&yD-ouj8SRv^OzfRzzz6mL;a51qQy9v9m-fM3?4?$!P z#O*{JQM?jObPdH6TkEj0_+*;TLdE7e0)jb0I?li3Mhfs2DDtq+22<>@VUzs|vDGjUf#<}=I z4x;7mseu)RuFxY2{Vw7m6osJJ1I|McWvR*-amp!64#z|@&CMj8)Urw~r8H9&H+5}I z$=Z}LQI_Pyk3hv-EtlSMXqR>CS?Z~&wy@n{um<)~VU6}_oj+LliXKW*yMhK%)MJgFFW7F| z3shb+8}0L0O9zoke4+>Mp5_7jvUHx1BW%|I7o0nGqTyis?26)=4NiW^>w>W-m>yNwc>52>R@X8+z;7HAh6+%hdCnf|4z<1vP zh~2f@bEn(uBw{#)r+JKMq4;!`hyiZP)(N`aI+eCl)^!@qo|H8(yrZsp$N?z;}fb)6+J@MHNce?wE6;yDE z?GTS>UZFw-KDPw}L?915u?G?0cbV*&4>cn^T<16-yy}&2JM~+iSFSLD&w0j$_rna- z!r?z1?(lS})6nXK);gYCAps9?98b28fdbU-7gx|g03h%Nw4o0N1_1uR3OM(RdIW(0 zR~!NhLNSjgARqt{n1eqy5W-(cEOE zc5ww?423;{P=EleAP+VCg%l!)n%JN*gtsFC3$K8|bv(fU0gylkf8h@z=urkl&>j`7 zh((@kQI9L&qaOnRNLGlFl%`|_A{EIEQpl6)t)K`3h$7m6slp@F&IuG4 zLIdjHL@3I@66=7%0X(UL3hY6188GGyC~*Yst@4uGgP{zMrveQ~fDhzjg*CA$0c~W_=``#coN!4F-~fb_6n z011Sl3rmn;jaU!{MC8$VSU^D-A^`;pSfK13o7bO5PHNy<1B^no5h^+P_jXap9%(JSdtg7laNhueX|s?uWu1;zjgCsZI0 zvx`9=x)4*g%OZWFQVP%%T-A zXwL4TvnT6F>D{>2lze~xaT&2?^~IA)!9=_FoV z>dqBZ(1%O1LJAe=Lquyd&R=i=1C7Lh@a!1PZ3;692;|$h?05&9)l%OpA8_&vA`xS>t&oyH7P3#E7Xu@g56L9lj&g4U(C3bs%o8do)($$E0xt9t znG6FF;y{mxeo&1RrUUvuw@*4ykS9(6<2;uBpvdsSp{uCivm|MH-<#&Qvfv8<9Q;v) z08pR?mN>MZL*Wlth7S+*h^TH;JX5bwcn(a6sbt{*K}=}S(Jg=~flqmXJcF>&;DfZJ zDQyYsu~&PV{$B7r4F^!0&#;hP;ozizI~${#vN3&WWdWdqI*@nB_0t>~efI)XM8TDg zR5JT6z=pQ@;n)O*1GRf%?I>V70NUpECA^(ne}LM(J()^wo4O`!+I+i{NBJAShqT4P^1?iYzEe0VSOR)!+9fR{uDF!J!0 z-)5Vk1A3_MSFE~%4a9*bQlNk-Poe(u1V(Rq%sVB+$?5Q$dW9Y$Z^2c2ZiEK1w2zkdnW`guS_y*)DPqwb3Eqhr=<*<)^ z4`t`c*-?@9wWkNnkP$P!0UvlpVJLuUPN z=g~NKTtGnWB>RA$W<1eyM5E)@v4s3Y`tqS%LnX@42cB@-3mRyB=37vSWrht34~X6D z6d=8qKac;3Wi*w20iW`O=nrym1$?EV+M z|Gfr+KRqtJ81Bf%ozLMWh5jXOJ(OpFo2TD!gylyXxai~DeYB0T9Dsw6hJD`7+`?vs z#&7?Mp#Lu5|B4_0onQb#={))lL+VZNG;jkgBD%0-fVgJOx@YK?N9$6L04SgUT7YvX zFX(;&3p4-%5}*M>0E{9H0xp06C}M~VAjuHzfrc&$2mk^K00Mk(ykhVI20#WVVF?5v z0xsZ2SOErQkOsl%3J!n*5`Y2n_G!$46!6Yj_kn*0KftW;HLnG03u+6 zGNAfgkPDJ<37hZ~IYW z;HM&O4GBO5glry?{-6Oapa2RW0B6SqWa`__3AxJc*e;O`HE|C((Gx*Y6g7Yp)#Cyi zBLg`w7j^N>_-!ZrjcLB(YgXYa?uKu^zz+sT7&8YE=7u-EfE4;BY@Cr25@By(tHF}x zEBa;_jnNNU0THGr9lGEP0&E`GhU>-=8vVu`{Qwof@uilafx^%$sxfc=fF6(0YmRXh z^d_?YfE(>*Zp4usjqw?4YajdZp^niV;RdD*3=w@I7T%F3>T!AeCbGQXZR)Xad;$@U z@p=-09M{1SrpF^IfgbL0zD~$%{*fL7tRjCQBr9PgOOhN>^26H07Iot9bg?G|FS^hS zh!9GMQiKcsZU7A&i&MZP3T)s9cuXmehBBDaDSPZInr1ZYK?l@;2xzeY%_A$fvMc#+ z-uw<1eex{tjTa4%C`|;BKtPI?WlXq$1VUgAylf?-@+;=DF7NUxMPrjb00lsRn4{tpD(nO*&M2OQWt8+R*#4}?AGA zr4If$*)u1}5(D*T%&-9RI)WplKms(OJjd)jeK9>Jb3L!qJ$sWkb+5VI} zl|Vc>H7$r#O7heq`g9>ibs?5O1_&b|_GwU~q)->)2SPL}k7Q#lm|;N(8?BSZPKNT1aqe!vPAm0{9gQ0u`r7GzJhfDL{C zFuL^z_QDNT0Sfk_1}5eTOdtnJpk}rJTYKOJ7Q|H*0#?Z-NZ$1p+5rk6L_%(1W^SMl z)*vB%zzlLANYs^GYo-e5zy}m$4&FgrbD#}S;a{J?FHFE+dB#y=Gg95NQcna}gVk57 zlUQRkRV1Jf^0OmmM_Hw$RP;1j8KP9{RTF*y6cVBz+8|#^Vo+}33a(`f{!ZXdh4xOd z-~@1G3*6uq)&UR%eOmmN|nmH-o5GeG_EA!+9r_ zWCzzcm#bJA;&3(LK}Vq;#NZ?+RB;)%LL665ku@z4_f`87bF-lSZu7MYQ~*{=00lIm zcD+`1yEY+~;|g%#RXjj-uZ3Q30f4i1a&KXG^VKY1B?WHxeutM}V^x3o*HGw{erH!! zao`5lAa{=!fO?{D2lQ`2*g&C|M23}c71Meb0()n452}Cx?7&9j0DPsyT2ewoqjn|i z)gIP>2aaTQtF=a1m4X>~F#LfH2*rPIVRIMab#0ei^uvd17Izh5cL(@Dj5u`z7*&Lr zA+lg}H+Uxt&pFu=Hb;0i$~a^J*EdZTIqiZ!+aVHGAr|0Rj!{8|VPKHW z%+^9bRcjkrKp;7bf!KcawO03mfnjEEcU6p;7eNJAglic%*El4w_l@Itjw7Lt7q@4) zw_Au=gPWKkYPTMIfIujeeiiu^2E!Jfzy{R727CaC#nv|_HVUxzQ1=1{6g8D2mJNEK z26~`B0ags|S8Ju2nyp!awU|{a7(w>p1_-%lI2KZ+GjP+mpI!5eWh0j@LWPa5gqVccS?@gmKw~KNE!&0(-TWd%gD(5?Y}Tr3K>bm#|P5=jnmM5mb4tk=C z=exe|TMEj$!7+Ref*`De6H{v%M%fr5xPX{lybq8&#tj3OJvg$0;B)+e1Zb}2`ui8M zAP(fg2Kc(XSJNlJyC=k(yki=*&sz_kzjL!4$NCS!#6z5XM4%1;E2{C2;$tmP8_g*yLwMn#sz&w zl)Gh^n{R^P15#iPy0|BvK(~GV+zpOg$wAw_c>)U9`WKME$(&3Ey1QhWoF7cL{PbYb z=iIcH{1^1RC*<6}Tit@Z{1+Y_zzuBGdE(K1Tn2pN&VS+68@zNR47DI>K# zCB@rx(3u@N_7*akRG)X<%cY>lIb6tn0;aQ|(?9(^d4j7s{RAoy)l~-B|60~vuG)3> z7mob2oD2h)NVaAB)jhV$C4=5GJju!Z)?Mz`d7{yMozCZ49*Tg|os8z_{n$%5u*-6= zoBiPtqtIg+qD_-Bn4kiuySlG?%eTAR`<&e^T{4J#Uz+^Cc|Zpw2fWuo*#BMNQ+?hw z+`no4E2tpWXPpPed*A-iJ=b^LaeRHp=X&J@yw_vC$Wff(=`+wFe(4i~#t;1~vVgM_ z$g+8&A2RzFHoLQXyfuwHjfD-N%mzydj&)iK3>Sq9R{DBX^T+B~F z-+`Uq+x*RiptZF?*Lgw-(w--3z9$|*dDz}MOIF#rlj#}1B_zJao2aZwz{I25<(?V^ z;+LwEdIYlC6ubT_D*qSA+N^Ov4$|QWir!4jJsW*u>_7hnPhbsjKnLhN3zV9^U|ym< zNC?Urtd)nrmAVEJ9Oo$=?64A|h`Z~qsffCTpUhz{S|X&UJnROuVP z`yHR~a&_X1dj5HJpO*dErMJW1E!DRz1Bbl-{oUg6pT6GDUo}@hF3m&z9f8#;Ul@u8z|6f1^v^ef{pixxF{MB_1}$dM#VnjB*?rOK5o zTZ%;KGN#O#C1KLMiIb+yoF=ol;VE+`(4j*?s^p0DqQ!_zn>u|8HLBF9RI6HjIuR*G zjY-3eG)h!w*s(l?l0D1PEZVhc*}6@s_O0AsU`=+ln3dwyy?p!n{R=oS-@JH-aZUPl zE?mWoGsbOv_Az9(k|z_bY`N&lyA=rw{tP;_=+UGX67KA=YvRlrF|*F;`n6cuZ)4Mr zY5TUz{<1dx*uX$bbQQyFgd;bnT{MFOH zQzK?h+j{nq>eqX0@1A}9oABp1AL(0ZMez-7Es4WlfC3gr-bIEfcV0;MK~`UU4X*d# ze7{6^9fj8|7*c-S4QNn1NiYCMM6s+gP%EHqA%{co@L&puE=E*favLT1QF;>2cB4xc zy4T)1L+Alvjxu3r9%mcAIFN@RJ~Yn}FradaKN|q35EnS)ki!j_+%gXuOrcoN7A9bs z0}eEda?6S>BFUygF&;Q0QmbiXT9$kS$pg2^p$1i#A*=KY@wzMPu zbd6?bmOmqyfCCD7EZQ2TEfIN`kxR8nkdh%X)Fca+3}i(DR379{8>|S_4kfqT)5e!6 z5(MTzTey)Xi=h5mP>e-#G^a;CWz<9+8Py}iCL>9q>@UeK+w4k@>UOP-n&KAHJvM}* zk&HrSOB<&Mdb%I50@+gp1b8e|>Zt^!x@tjI*ijG{Ied@<8>rX<#SJ;wP>DeG^iZZ7 zujZ=jtpd^7Yl~IjD^RZfT!}*+>W25`FNQ6r;7G^rLjx-sQ4vQvN7$j!7BiSkvdI~t zZ0)u++k6tvjE1DePa;WbLJ4n}3jZ5N8BR!W|k(Ap#C0T>Act6ev`R z$#goGWNw^y9oc4+5X`~Q6$y+=&^$(%dXPOk$U6|k0zr|-x;B`yVkiP#ks`wtJA8{3 zbVPj1#0}qKkG}#%@$San3EL^L=!tYJ7IS#C&kP~SBSa<{Y0kOlDv>K2>a3}Ln^5Zn zfwe~be4CL!eir?U6L@6Qj}4{#g2bJM0wFpT!vE4mDO7C!%j=>8#d>C8YxwD}W~1E@ zy=@->H$v~EfrAZwJY4InHN5(_9$08BkS#xiBKR#^cu+$9BglZJnu${^e~MA)F_3z! z0ezAqPRBk*BaPhWSW{q`Mo1QtDpcSEmuevAXmGQy$wz}P;oxFIvi^=Jkbr_FbAr@D zQZ#&&Y-*PZ!t;L7z}GoTBkSk^xJDPPvUu=vDWP7vKy^KcXpc+WqnkovaRpb|?H(Pd zpZ)Ss1r<241Srr%`~)|T9)LoBiW}T5oFK*ekzfXED&TM^cP`6?40Asr-2*Wwl652@ z4{po|1W&iakVJ1Xdwh*#u7HA4JOM~3b|!x#q0 zYQ)B0#O!356j>aGIkRGZFprL5W;30s$CL~bZz4(I3Ja-`{utWOBQ?C?ST@<1PNGXM zx#UY1=vI#%pyD2E7zh+1cZ)})sRx!2$U9^eOMAiFnsnKWCx3X*siv zqj?0WT>RP?vqWJ8fl2{Me*v@-$e^OQOUDx^MS^Jl!PJ6TtJ(;nB|;pOfO$KGrZ~s; zNwbP}w8ly3FBPaQX9CtOtNkc6Tg#Tuc7<%Dt*vcA^QK;=RZa}e3~bl(+sN?rJ+I}d zY>^Y%+bVatgF())7P>}1@-(<)p)O^L>sgyF=>&7r#4XFGpw_-vA3(AmQDu8tuEf>GD^#3+AAI@#5YA zOZdI>RcJ+u>-o-BMoO0dY}O|8 zHo6I>vd&&C+$iU<&l~}?qjQPY6o;)gLC)`x5#3oM_YlcRezd3ABg9K<7CyHcD1j?6YBbo8p=hMGJ185qxH%d$-i#) zt9PkeNtf5y)TT8Dkxdg`lhfJU{!WaJ5$#w{+tP|o^|r7*6K!)>xm_ru!Tiweg9iJ; zy#=zlHHGe6-&<4aRxUh@5P>(esQw;HPyho~z=wF7ao#?zcS!fWsC?50;*09{ul!Rl zh5UO48i)W16tIFIus{ePPq@O>#qcf@I>RmT5h3Sutw@%_s@4%O0jb_7SncYD8J1zR%$b8rPiKmj-ad~THjcsB)e5Cm_~ zQr%Qt$tMyU2n3oX12SU|Ll87GkOh~bcet|!Bw#g*yTF>um@nb0fAR2J_v-9 zA%4HYF7BdnMu0E==vQ^>*Lk0J3qN25>~lA1AO|%B3cA88?vz!b5->S%0wz}lbl?MJ zG6(PQ16a}qP*O{pLl8fZ31Q+eTfhcCPy?i}RRW_W27@p-pfD5$ZQ|vBA#r>#RY$@! z1L*(+5|umMmop(TeBftIq-b-~(mX&AhAjXt{IGzh2xA%nQ`w}8zIRuk6M6kG1XA;Y zoDfNimjx*hd0FrVs5WKZ=Xe%01;dy%clCX$s0lpaj6czPh;<3or%6)S4{b0tcOZT8 zPzeyF1K`4g*?2=za95lpbiT1ML6nATn0}nceg~mSKahvFkd9zt1@QC)eRwwvDG>8u zQ1!qAm{|S=F;G@fZ~|L$3s`VCwKNYr042A;5C60{6_b&F6MOH_1DDV@e=~o#wSUKO z3|vQxz=(T5M>5Qp5j==Tu!u;PgaHneLN^eO8G#QqK!gmWOvKYPFBF9#fdrSdSTMv{ z5Oh<%$1=-!fK^y~(+E+L^pt*QjT&JOI^ZlD=ypAm5k0e&4V615bTY?7jTe+VmvWS> zz>^I)k5##Vj8TSc!jJu!d2I-gaHvYVA`nl231HGVuhN(V0Y*+l0|hw{s+2f%h?wMq zIEsTyx6qlmGKp^>5bNLrej^ZBPzSHnKJTMrTA^D8CT!&Oe=CK1r${oY$clsH4~dil zp#JcRbmup^tN&tQHr=HfCOlO2*_9X8Jt3?eD$CM zpkRAPnUp`FbKUd=u``!8If4W_fNUoPSqYZG_&R%VeBP-;)#wrM8B=aogeoL6{u!~Q z$3jgcfdw)UmSk!LH{dhUX9b*vI|E9l;gpY@p)R5H5JQy#4$uG!FadSI1w$~XhFNv? zum(JUCb_aJ>oAc8QGW!XnsF$iB{?g#Vxn=F375K}UUUnjX_^B8s_->?4!5Hokx?5p zJ32K5z_&B7SfIkm3G09gz_=Ln|X>WW7@d``du z;G%^z8?`=@Sc?TTO2d`snx|o!g+X8gI#2^aU^M+8gG@@L_;_TT_GgwUiKdzYkw~cy zc?*ch20c&%J6-zjPQYNtnRZ@jY%ay7*`f!txp2P|i=6Ja}$P-x5 zvc$G%dwLh$Hj<^Gp$hkHAv>}xHyO?sf;W*4VW3ma(>gep6Y2f{iF0RMq}vtEMhhJp z8o_H1u5xnwCyIlHV6Lkepko3kfP+yw6Z=Xj9&okxCYCf&1t<_%)FE-Z;k#G%YyL1M zFXRZDJ~W*3~cZ3uw`5}*l9u)+)w2lt=>Fz~`h48vK+x*t5l zB&SLubW4Y>;XoKN>IrS*6OWtifTN$WKPHteOY%&;c)J1;W## zp}Rq7d}zF^$IAB0`WVcb;2#Wd1IFBk$*j!(+sa}LyQ=7vzt9gfFiEy)IxefrWz5ZZ zyvHQb$9~Mi!u$>&A^{AE&gp!-a*W8LrpV8n{t;1-LmJ@(6<`8ggOl@05@wvsy?oEx zoL%3{r{Qc*xJVEMZP4+y&dtnL9uWmWD-sL)shlOG_Wa4Fme0G~(VM2j3t`FzLDD77 zZ6~eJ&a4r~x6&!mK-b*K-K^0wZ8I2c5)RD9!i*3-?bFQ$)UhelIy$E;jVE7FcC-AJ z5QWRXxzRM8$NKEeIBmDV+y{~1)^GjR{y@kB(ryJ&5Aasi;BnPBy1ZKb3sF#kf+7df ztUi;110#Sn7>ITA3F0XJ|3cW@?`*93wb%Ww>$?aBtM z&1U`Bjjc11eG6Qm#jia+qk(ZMVgwxi=W!q>awLavpKU-0UD|`KV}b*H$W{JXqLEn8RCK@!V*a=aJ{tC|a`3h?n>@!ehg_wXd5bdVv_Oz1hG!V1^>jELj!2#i2tcbK(NeCKvw`js>JLn3MN%>*|-FW z?j(BqL#hLTnwMEOLF_KI)MTqUGo=WjfWbxKck`Qx$iX+_z zJ25T#qG+>vb`$FSvp@QSR1P^yzA_Lb??f;fB|TsQY)~-%VDmVCMxnh7KmXf|(cKqq z;SpE#_A$yk+$MhN5P&MEgledWssIsB5RfD720^f=d-ch_N;QD(DWdIFU+pC>@^%pJ z1#$A`&gV6b?kvylmFe!K8t-y%*WegHc5myxo$J7T^wtOG{Y~&9(a+s=ulYI<``WKu zPY?-?RPZEEqsjwNAbRgK5Raeei+&63(CCQ+=>j3?n97GxjxQHm`B0MfG0wLHA?lt_ z>M(!m6~im4{w@$-fC{895E&p=IuGRNJ^7k1o=l@OTOSayw=iUR6 z;zKSFRv-f*`TV6M<9}%7pDyJv4*J4tbz6lov3L6NBQU9VncH75EFUEpqvc!0<)!4f zIB+gb5WcWZ2N*Lx>S2PNZ1T;zf)Z z6{7jo(c?#t;Y5xkSyJRJlqprNWZBZ?OPDcb&ZJq>Ce12#ZtjGcljl#ML18*F8P3r% zq|1ti1KE*dQ>am;PK`Q->Q$^+wQjY#)$3QVQoDvFTQ=-ivuV|WM7!2)+NV^P&J|kM z?p?h8c75ixxtH%>z(h?tI#&4DQmAp?er>zhvDe0rB~y(&*)rwJnZ;`6+*GmDxk~|$ zCSCfcU(+p7r)FJKaLJ=d5qs`DwQ}vrw{bhxy*syW&AoxI{TwxP(bmb8FK6D|xysih zj~-igxM@A_CDTgaj3^lK4;(F{d@Q@=8g%eM2=AItr0EK~@1q23Gw{HsHssJF4?pZsM6yB@F~g7+ z94SH;TXgZoTP8FrDW$HX?K=}c%<;e-N$gR;9|c6QBNbPK@kk_-R8Gd}s=LsmA;tb9 z5xglGtFpT*AZ~&fI~?U4P*4E1n!=8^nuvq5@(u-y3K;a8G7C4pqSH$~Gu3p=GG((7KajY=7ab97J&A zlwTap%-F>mYeEH7OGtr_j-;KkvM59_LEAjIqtwzaG2L`sc3te$zE3fP>fDc{sN>WO_j zS|^B1qD8dI#_|ogqclLtj@~)bEwWvjYmV>T8vnczB$$8MVg^=zk*5PavUuYoC+>(i z=#HpZv`|8!_J|)Em=P^znuk(60)i7! zDZrtPQ))fIY`1>_B8?JOhN>-jcDOjzlUG$=*r;>JBr{GwwWaRMGX(hnQN4GE<>phx@{l_|8~Vp1TMJbK`=Usz#LS%9Df zDQLk%h3;@7lvqdPL4<%wfqxwV*{)WHK-bBzBQ*R)6MvB}P4Hld=iCyz3y}~5rcGgoax~g6l;{yFLP=&Sf?pvGNgAA; z=@;mMSrsa9f^q?pb>efw#zxpe16BnjfkfI8LD0A)z)(tz3b?$Y4?+P-A~H>thdN&dbLo*Z7VHq_?xJlO8Lk9&r z-Z9np3)B^}f0araNT|R<-hf1vAF&51oH@ljIPD`K>!wGTU_A#mWrRUs-8y>kOAEfO z6wW-SAlav`Lk3i!K}lr1{AoXstRo4L^rI&!2|xi#EDIm_z`_QXN!ujsWYAn^(e8K2 zVQ$o92jU9@U zO@x^}f}qk!mGmQXgPAIuh*Wv~b7lkOYhP)?BxiVvetAVG&rAu-UnEVGO^azQF?!LD zP|a!{Y3C|N45u|p3V*S9O6rj zYTAvC@OGhn?YU4X6)eQFc!+~$Xl)l$b~^N(l=R3CGC0qA-m|Wx%;r6JHkJ0#gbP9N zzy&T~gFg6GyfiE5U=O;@UwolpBLbgF@wKJIoeC&u4#x;*{;Sz4dm;-l;*HCIE`!c7k|aa0qfoG2g=Ms z3_5bhJnry*sx&c*&kGuW!o(j%V88>sdjSP7Ued{lZnZvKXywg@Y96D#i5$5mb7IgFEvpYbC(%e_88cwT%k}eH$3$o)E&s zqTmFXNQdP}5HPYjmYhNe*4Cg^;pGK^ZMt$aiHZ5=59T!#dCe<94WhSbH?Z}7{xHEBaBu?x`ptWb z3*U4VD5Bms6AfmLLbGShH{XC{n4mlMWq`;~P30N3MjlRU<9j}&G_<5V&F zA_uvkm@pv%dT0q3Fp&iWz=1jKNCE@IE)#vzLEvi-I1*aE5`X9*2RRVI4RTNeQq08W zI6u_FxpCFsRFD7$8^bbbzHg9%G9BPc*P^=>gs{XJv0CV zHLGMEq`HMIkRXAZFNf@AN4pVp;u5#N1Rgvvg-!O(_ZR7$=LSWS#R*;L-vdAR_8q?9 zeRHXgw*(6cczsH)kO3K@qzVwgLvvPtcG}!7ud-UK2IGDjGO8*4AlkOI` z$3hzjj*=gkLGC!+MgFK)l{Npb_{N;cD`~yGnBR})Ig?bRb9B6|rz_(lQ2OP)& z9H;}7*a9~A0lX70zZ(g_^9|#BxZ)c=$ofDKv^u>aq?f3IdrOIxTY#-gi7h~Y=35SX zC<5w(34M#fmEiuqmhe85sD}cilv}WZ=A(u6ySXcfoRv@lIY5b#X@k&nE(82QH$Vv` zLlF~}Kn)o|wirP;tPSKd zL6?w%6hw)a!@gU1K?!7zc{lpy9i%;$xQ8~l1&Uh2 zy<30+2L2>Qov4RsoW^P_!cZ*7bEHOcR0*GO0u_+P5_ld{*n%ZgLpKX7XJA9#BSD6f z!(5b-Tf{{=ltW(RyqDmIlbbt-e8{;IIZ#v%WHdx&OhnmZ#PuUNPgDsYOoEoPf_%Kh z)C4mcU0?bTc#gN1wZlfh5S_>&ZBLLxkMCw{%<%Cm6{?G=eucGpU?PBTz(V)W{zIg$a~_TWE*S+lNQIy(bt)_$x_qT*vj( z%0J{vb>zgf+{#_>kzuigvDg9HnF-~eTMlY;CB z{tvM{$lFDt42?o^f-kGgFH-@sT#0A&ha6Y~9aw`$bild00ZVAhdFTNzEX$NQOSj}q z&jd}?Y|YO6%ttgp1Z;yScs0m{y3jH(+eOjAtAEWuvHy-lftJ0Q|9KP8CaO#2%f*TvcAsrGLBqFU@0T_`9gTyi+4T?Ht6UZm} zhp_Ec7mU`7&j8$@aD~kS#t573QT1?W& zq>EiWS6-da-4jkm;-(6~Rtk_K!}1#t6;Vwc)2RRgO|Y&lg_~0C*P>F@SMmts(pEkd z(B^usBBCc+<<|lw*F!~6be-6~`%7Qd$$7aS6BQ}-awq=L0{*NWj zkLUu>VbdPKFb$j5eWBAU`T|x6vK?JaZf!0mbFyE6vTmuk?9fijP*QWHSfp(c-OHH@ zy)sDMwJX}tIzu#K=?Lf4n&>1^p==dT1)E8mq7)s0dtp&kGaFrz*(>_95!e@KTb!(= z5?F1DYgx`c;5KgqH|`lX5(pn#1wo?~jie1+2hzv|PnCP{&1%$nD(rAY95tT*l2@%*EHnjo2miT-A*qbuC;Cd{hoBU6SR| z#D!Q~O}^F5-P8bGj73t@CEePc-CJEZ+|^y<4GfEQU0Hu4 zV3KH{(%vP^(S6?T72eaG-tn|v^0f=zW!H!G-p3+ZpH$z+`diK|U->1dCq-=-bR%Ee!dVqc=$-}>rb1_59Pb`3Yn-t6r;ji_J?zF-W_U=7}2 z4(?zN{$LOeVS`{`l6YVfmI(niTniQ5%LU(UHDHV){$V3Aq*z#mlxT$$9^43ah6&!@ z0#@Jy*54N9-_7;kLK;LEkT-wW0IO^b)_jnryvpyhnG}BA!@XZ1&LjlpNf^!~8U7OZ z8AOyz2`fl|CRPcWOo=53M3hKln|R{VK!d!ii)XBfc|Zdt!CoGY2K$ZOE{>Wlwv0f2 zi$Q*iFSe5~K7uh;i84Op37kUx(*bY1g>~?OIez0P1q^TuiaMr=j?B6G^Dc`$-SUWs+!fjP#4I>1DKU<2FazXFWE9LPV>#DO`0;|6>{9H_)% zhCug=ON~^=DyRb=kh@Bp2Osc&8?b@Yw1NQsyoDt&##?xTOxTMnFo7H(9Y(YTD6qR5 z=z}%r!5)CXO5}nZ_<$TB!-^dY30B^47zXCWjY7`ZAr9yu9^R-JhU|i$MixCqhR~Hr zW2Lj@Hr4~VLT8MAtvPorV6NzYV=IStkgm}ph>UJM6gahH|FNDR>d|(YnwCe&sNFW z+~gi)1AfqDcvyomP{wD&=Ht0ohTrz%rY4jgQ4|hY z>a+lGxR?s2EneL7hnG%?dDwv+$h(PdK#Oimk^aLH@Mw*uXiJ!I&;DkT^M@Na?dDs_ ziCl>%Py+^xf;0%gnXYLS!2W5SUb$+7haM=+TX+XbP)S`*5UkDfH*_PVyx;=Ga48;m5|CUoGlmt2M)J@QJID&1y1t!401GKvu z=;e|OW;P(^V2-zBz8iw0=DBMFC;;*JoYOi){{_paaptl6zHwvHwRG9=>*X zk9T>WcY3dPd%yQ)uL+Y&N(Ml^au-}kw{LtOc!Do@gFkqLPxw`jiAYe1b~s9yi+~!S z@qbTRcjt12&v=dBc#iLQk5_e=zybtVf$;j31>m;^*cM^0_`nVLkAHcXk9nD&d4tTo z^Kkxo!@6Y@P-*eVF*Rj@d9A|ta=e!rTs4sdxOo&}N?X9slxlbmYUm>60d#RhS z)@#RfAE_(fSx?`hc)#*Izlyx;cWc0BhQ6iWm!l2hm1{lJ@%`)R{2Sh4XjJdc z?xqZWDT!d#SqCnC3S9n#6*{IjFJj92F5CtXBtIOu!56fYceE;HI&F=$=^V6c5V)lo zv~qW6bw9BCDd_0!@4eDTPh_8{rXW{R0}Bk+OQ7N{*!4%6Z+_O+9=}aYb>E^{ZVmd~ z+DxTzI*xrn9&~t*#!3JKT)lyT>0RhiB|qUYs+I8WSfKv}(%~Mmld)`P#FM=RSJ_#O3s0pUgQ<;)m&6 zkV!D%OA>Jv@2Sn;StXVR$h5!mdHqm$Jr_i~#bhQ_nijMLRYe;1z%F?!$g_~2ASyB`wJn9dhc9^Cwr<1$g@28SeUS@bM`)+L; zfQF#494GK2jF=#Ow8aw2f}ww*O2z>{ACX5A6nxDv4cUife8x4KfV>!_*OnPA=b#{S zJz%0X1=^Q zN2gDEIOj<=aQ>aMMgb7(v(qFJl0IW({~8PRm%B_Ru4lWo$?(~GCzn9#3ux!(F895BKJ`M7vT)ku?1R>Tf;$f&+%yRNLp8z@T zT@)uFjq6Gb7?IDVXh?q6gqleEZGnOfrrvLx6A*FY6pQfY=I^*`2^dKs5&dPqDUybcBRUfn)+jIhK z`#Vy~YppJ4)B;1?N3&eR6Z=ikfv-r^I59tKH#s_{e~9Y4_0G4b;0Qh@t)!{zQMvXJ zGe^$?t`JoINqoHdeRtwVG`FV=wVpU;xW1W-9qq=G#ytdIh(L@$FjN#e zPswIXA8Tj)9t&v-FU&$mT$O-g3 zPHTt(KLXi~yxeHe4z2pK=Ej)F)5pPw2kX7^`#}XCW%9Gkw0so~!+?txq}WxEv8kF- zvuZWG{3fQ<)-SK_P6&QzOIFN5rVn$i9nm92QP@WX99 zaXnEwo+M!PCfqT-nd%*4cmk$ykw%k1XA|N1L0^`Es_hHVBX5(DZ-Uf|_PoB0|IY{O9%f z@ikGIiV3HVFXv35j8Fy9aJ`zUII;Xg7PfqixE40Wyoozok?X? z*`jK8wor{*&Y?%!@Lb16s*o8jyUFi^ub&$FYJ6$9%~~4_DuKfFQ6}6x(?;_HGA*2M zX}B!7>=*j5gc~wrx%EC{eH{rAZgTr_^jcMXeke%4slvojN7;VyYYl0$h#8Ng{gTet z9^qE))B+(ul;ILkr0rE-wNtdX?!uy6+ptNE8jbz(t`}*$kQuLM<%rORj7Ud&%860c zA#&xr7*@w34IjO)cZMV9$59SnAj9Tr))WYfr451ms}Ad`VzzVd z&e5uLjgZsFnH3xkCKwhZ@;#M~=CrMoX;=%t$^7{-u< z`$))P3s&O~d1Oh#f-GBc-&zlqGY6oFwxI+cF~CXI5TM7RXfjFpn{rX~IpD|;u$nZG zl%MmdfDV|PaVSX;HMWN(xDKvUXazT<=(U>V|MtNml~oQQDB(LmgtwjPzqjTj6^wze z_PqRqqyb`X&0aRiFkYyNd35I5jjUxz-S=)|0)C>DOyUs(1XlNAijkod*6^cZtx4m3QhH0Q0ShJW^LZh|55a^s zS1}~`FD#jcwCW%*=!cJbuqGQMya<}aO?W2pYAjPq=+)t(Vs2Ohb?=l0{7`$ljh$S<=~|N(}g9Ev|9C*?Uhi02oXWNiw$rK(}739s}^xX2K~4Y6)@G zJzkWSi$DT}yq+FS8xfV_*iaIBl?ehowAL=%6HiqMY%co8WwnRPfym5v>{VVrHEPxx zd0g@xpS_sZm}qQ$*@Q7~RR2@6MOrd1;f||^w+1FD{!(3mf>BN!Oj^_)M{g-Zo4OZ` zH+5mlCh>#(t`3sEJqhwN3KspzPDaKr%@{nKKv{1+4%GtRj3^PPA&7hMsYpiX(i1QUr(S#)3`3H8k9QD!5VXir zHH&%yOM@_dMg3h30!Ntl&``&+Bj_woi+uv7o!JgPI+n@OJ*J2WpLkk_zZ=WCs2rs~ zQ%L?fqL0=>CFgkWP}l**!sBB|t)|Nc*R3(0u9{{MP0qV+T;wT4TpDtpGtV>M1Ka_` zuK;rw9`;#c-OK0qKRgUJNN7s+aVMn3jX`9Nsypqw%C<&u4)ywEqUf6pYoJ0fPUx3O*gufd_Avq0`GB!L)#avy{ z3>AfJ{S513fEQbtP85MjjcH{BGe|PB#96*jugT)_uk1a|q*RKnv+L4S&KqGK%SnN|;}E?BWeXBjc?)Rr53v+juSa91 z_Xg5ULm^L5C$nC&)l*zDcUTSUg!+ynw^IV~$TN zM^F@ud4qB z2}Y2vm(s|Qq!5V*S;-WI;?MNrMWE`R0uuK(AptM&W!B~TOo$GG4X0L&8e%pv(Q}K| zDO=1k%9m#c8RVcSnC4rbY?udKie{7%5y7u*%wcoa@V>e)8lCFPWzv{+uQBsstn-VD zv+9d0A?mp_D06goD~q6(*I1`p7|={X{j%#~Hw2ahs4BLkXnq)NGcy?S>Dk@?bxFpS56tv0Tf=nj6g?WJz~sOQ7=W7 zPjy>FKO2s&(ZfKo2FDWUTp&1Bd&IRuoE~rRT!07%EuH2{663ZsNT5!+J3OPI1eTxK zPT)KN-R$9DGFZ6(c^?xXGSzP_P;@t!(C}-(`-YoJZh=ap?&lb*K$*L)$5OC--iLv^6w?pUtl;_$Iu zwd2xawf^3tnX%(lQ~j0I<8MT0++Njb=Z@=9Y2ScO8%X$qU-i0}lNCeFhRO*KxaOnq z$)-6kRQ_a()oJ^{aVO*?gOF!8iPzA_X*t~KAbfEz&FPSm?5h#)dd106((KL$-lg1= z?WvQK$EnAwC-XZsN9QM}z|`+Zr|Dq=VZ+e#Al@^v@7#~RpKUmteq8xsRI5{8b7AMK z$;`KWaPl*R@0k^!ZnrD}x3sR@!+I#^Z(7c7Vc&nte7_~RJxX>w@zZkgw;0D}{m5p@5E$2EIqdzegosLqsUA zN#vtEcR`s(Mnb*E!8rV~=!Ei6SHQHP?%LJ&F)cx7FAK%;LbTMlp?Dt!~ zdlaCGe03$Ql}^6^;Tk5xg$+Nk4jYY`;FiF0Y`R}OLzQsvqnP@!y6A4T_5}Ez@8;LJ zW?v6!nIivhfPI`a4#|)HWuWA(G$uECKf1O#avZcuFImhy(?Ux+rOo0d6ir;Aec5xEk<7+*a$Y{=WtFIieAWA`S4h(RtN)>I65t2b#w-knsK@e+Eej%rpr1RIzs@RKg`5w0&*=i^p9UR0gBK=>`UP z*vRx7)zZQxvYUhaz@lX}^eA@;uR(+A? zGxH&h$mde#2Wm7QOtV+?y#MUp++9w(o`k7YS(MU`_bFNj8PQBr^WzwFgmmi5>yVc} zV(vq*N9u5Qgv z1qy0LKN&s35h&(6Buc|}Q!);>w}Jp?y2IrFRB|7XnaU7|v0wfxUsqzW(hf0;HvPO_ z0M~^qAwR6BmW!wk;81$wZ{?Tv$*-;h)ky&I-rgSLN~k#9s5agJtMNl9wttiN4ccWW zdeb70+LIen!p7dOwN$N5p&cp&1|))r1`!A-fv#1=|GuTYco?PMYHAEoVBwpA18zGD8)%CC(8G%(6Ts?w_e%N=~D6ZQf-c8);9~f!<`)6;h zc$R7>Lg#kin}N7bu%Eqzhp&I-n}A`yKGpPqkyVU`PLiz3&ZfqIkpcZaDRKGn+c7q| zFH5%ucjCf*w|zf4>we#kE0T|m1Wb0^OkyB0$@4GK92uut6(&MKqTG_x&L5_~Dw5Gl z+h%!DHUs*#yY@LHC+#Im-6aDP1T>o@?Wt{_lU#f^3LNwPs*Lc>?mf*e4MeNG3+TK< zox9NBMyWpQy8z4A9Lp`Y*1JsKE%;05DZ0w32`KwmDcdZTOuDHd9KKD@ej8C-!$9(I zLwYaeBng6xlbL_=Beg~)u|D0-T1ZaHwrw|-$>}}{a9Y^umD}}4+N_+bM$U4gNnQ#-J)I>@nQu)P^?qWWb^kmUzG zt@U2w3=$_-;^z!0;#f-piLThR@mg556mXHEI2nH#9NHrRZKeS_5`noUUt(*G9C6=Y z7wyx}MGItmp8~x}sGk>p$`JOvnXv_zX%=hTrH)}@QFHW6Ko6YZk%Z0~LME3Mp;*-Z zK`2ixfCCZY>UR%g4k2SYz7i^TQH+cy%dcK63$E-oA3vh@M!N^vhsb5K`30%JBi@Ql z71ao~Y`A&kVKez&IbArA($j9X@yM`(#;QB0d zOgIWx>e!{cGUx=qIZ`acNHLNkXni1DD`QwDyp+`*3sW>hrL+-b&wfbGhU#Eft37vZ z(L*o6G|Jz{m|Z7>N=h9A8ZNPcKztn#33Pqt9fSkap38{?w1KyYig)nr_(4YRjV~f$ z2@w|2I8h^*?JqM%Lh$yLdJ5n~5)orhxvDo&#KTT(LGJ~;br?ptpHFOkh$tMj!GF@o zG(9MG%-!&;I7UWA3Mun@oFm}111B~p$EJ!$Bik>5gD~r%>-1IrU}!I;;d%le1_x7O zc`xP97!IW;a)OxTND+$zOqDmvq=WhYPp`~vy=X*3N(!l92 z%(bz+B`+7>m2Vb34YDLFe*G}DTr@0?Yf@3w^EO=r>Q1$xs$O&kDS|M~3U& z6RXzfC7m_gQ%L0;PEx0_#|4ahF+W$czJI)PQr}!mpVvXpy;!_#{2+5$9bkh*F`XAj%nyp4 zc%qDaR3SscPghBCY|Hr=A``(K4bXI=H8WhNWP@w!2o@0uCEeEoA@J3&GUOi#!keS= zv`!6VsgSD#Z!aF2@=E$Y=?9dM-bJt5Wdm9mXbB^g;p;eWlVsVR5k@_qiADO^WD3Cn z(JyAq!7^oXbEm!9rX-sbLpB1eQ(95Bx|@^*ZL;NGN@7S}_F%FSDT=QW#*2wrh|bR| zN+Dgnbm11Xm@kxMX{Vh1QMVW$EetXq6Hxt@-D2i=p{%;2lo&U&#rpIeF@$qFseojg zUD-BO&5J0t++m9?U0cQABT*V$qL|b6#fV^o8+-lCHm~o~z88x`8QoP3ykS$S7PQ3g z{C*enzgrmXCUln?O4$)CzkY8eMx3?KNi0~opza*xF7$O~M|7w>%Y}J6HXn6YY+*s8 zGy>U}eU?(H(YCMQznYwR+8N1{26z(GH}GSx6&d`4ysbkU#6Bt!(klpYWe|DKH63+d!5 zQ3jwd0tjpo`ka8*P-d%lND(n|PEttwICX4%F6PKBI{VVqq0@?U!18)i|uHL^x?UQW8r>yor@g^Vx{L<{?m6jff=xEpT!}V zk5|8jNB+<tsm7T7O4(6D}vh0Ta2?I9~@9w51(Py%6fy z_o8ND6fYQ50Va4E+~Q7OK)8fwZ<8^-!*Cv&OHH?xNNPIGmgv*akUf&Tl6_j?I0%4< z1{6kfRS-;`u|cDlAkA8VfHfeQ%kpT{!9g~u^dC6GB*_FHw;w7oGrjXvNls2j|N0ue zFTXF{3V;)rmCX7jrB8SP2z-6Bvoy1SmxXRa%v^_|)jQB%OvtFCA4ut2h9VdojzvNy z3n%4f#qjN&`G~%9C`$Gram!Q2!QY*FAh8eiDSxnLDtB;_L{t=m{q#y2Z{8)WdTUXIp&hvABE9W2z>CYW6B)ChYJtN>-*x^G)7*j}QhAw~ zEU}F{)6oK(l|LU3N-OW?{{#)a)2y`>GrRqkm`XEHVNM^ZT#(QB3%m20a?1);m}v-` zdYzzjDzaZmnK6koa-s-JfPIdqke~3gJ|@EkWW2BgH8B}(O)F8xGxFpyDDX#LuOWJU z>LYs4z@kE5(`=-@=27zRVQ8)PJO_wgtJn|63^6BJDR#})S*}zdplmZr{P-*#aU1f9 z1OcJa2qvx02N0*WkD6HKHalCT8pN#aOXO?VQajhvNJ%ImqFBMm&zP27B}n8{ zQhjP(NUUHy@Wbkz9P^No;ue!O{@6MzHpjfIc-ts|6zcU;ODWhlXaf~I&%lPu^Rtx7 zR@dsRccFh3fdSQ!%Klig_nf$z@7C;C;sIl}N^L_z(93dT68a>q*RM1M*c!Lh5Koh3D46#yCKaXr{-bpH1mE96)7L z<*CDQ*Hs%BGjFj@@)?4tU2s8+`#M7sjQ;dD3Wcacl?c zomHGAnTM#(n^*+-D6i>p1GsSKM(TECv3l&PBDk;nozT?Z&%%{x=V5eM7JR3{xYQs= zT4s#Ko$n4>gyd&8Q8q-qiGiH;?}QVHlW{RJ9L0*XtnvvSCJo(058btP-5$RsZB1xg z{qpG}!80gU>#{W2!!orHX%w5Nu6cTL_ul5$oF60P@ZU`yJ?wh+LzomwW9;saGRb}SLh@;4<^>0vh4w<*a*yO517da7%T%yG>#Z7MUP4) zRLg#GGnO)9>jPwO&3@HvggmwhZNos*peH`!jo3ZvotoC8#b_5570>; zk=3n@eb8p3)tK|Xi^%OpW^c!;yKpl z&l}{vpW;{L1md{`<#H~o0YHXaBBFkGXeU;yp`+|2+~pdCOC z001Ka_n0JY{UKL2(ajCodGHD_Qfx zEdZYBMd*gTtMCs=hx%pa(;6wt(CyF$o7rI#rSm*BWv*A%)WqH=#zJJ^3>y~r;`Lsh zyRl~eozzH_FnlI`iB_46RP$ApwCoJGMIl_)YLYJB2J2=KPEjtNg%`Wi=IYtdKp#$r zcE-60({l7a$7VAy_o9i}sB^P8^&U?b=(B4(E3HqW!*M^1Z+!cN0OxgL#ugjxXRADM zTg5O8GBx<4@sC}7%G_!)T>&0V=x3qcyBEf zTSl84RxSE?h@0ih<47jr8;l`lUUi@{EDjnm#T}Ob)`?K7byM2;kZYK?sVsF;x z6XUMV+7jb`p}b2>xFF<6Ogv}6OiVfz*iT44fea<296c{jNL?^{nvgc&dL5tM>Wj(h zU|w-Gl~J0yuo1Z6v6JWLeaJF(| z$(JZlPZ*U;W9fLFwB*k6qo%US_eyW^0ECQc6#Po>RdS59%QJ--s2@T`bk5mYXfLg9 zg*!q(3AbsLV5Fs5w_%+kWrd|Yc&WoDuqTzO)nWA$Ob?GG|3|RKM+p#@Y0MdhYEF{J z$Em0Ne48T~gcbGDFqz5%G1+L1>~@dW*cPVmC;&zmHq&){2H^KPF=k(Dlm}LGywyXM z#ez43zI2GLQjuokdLOH`p6!|mWE=8Q5`p&SKSvqLnv_x!Ec7CEaAl#-FR?88D&s%& zc5khVYgOgFndt-Z)l{!goQ8e8&le|v0x6;+CRZ`zZ%fxSlaI8zL1Y;O{UId!HtS&& zugliMslE2r-_nP(Z$vPs*=$6zmy~TpakuPkMDzEvZ^j7D*=)v&?v!oDN&MQ|jF(2| z*h-Kiv)xKmVlCfFQWM_aO4d@~*iO;ax7|)Pd|kesX6&`UoemA>*vYU=v)y@TQ&PT@ z>Cm#jljYLSv77BNXSMb1xrGX17-m!CJ9b7$bbJ_dY>^v;4g& zcj2&9g%8RQmw)aB7PILErgAAKWP`1=sPJMque<`)rV`1~g>|UhFlMA(-Qowguc1E1 zDrPRT+^I}Hr67D;cc=d1s6GRCX{%vSVLzV2Jf$EQXC_Ku*nEr?^E28SC&7bcJMDIC z(3V-^{_woQ|3$0nhY^ZSm6{)Nw3Fu*Tpc%da?YP{@32p0fcV*3-RN|1mmajhb+if` zou&iE_X=u>c^PGvEZc4lUR=lL8&{BQEkmTw^^m$n4ePy&bUG&3jTMV zedaIKy%vn~Vt>u!)UI6gJFz*|FY(rzh%B1;t2d{t`Ww(RFGykVUai5&ovzj+*lMme zVnj}^HWS7vF6TN+0u#5Z8>$m`%H84;cXNinB<|&;%ZZhjTBqFPR=&!$KP2mpD?K8a zbSgc@UDqf*!9L?H{f>!(UwVo`_`T!|jbXgx93)U%^5b4Qp7mlXPxnEdOU6VBD+Pg0XKIl=W26h}Fy5pTdq!67_S31~2; z88iDj{QoyfJ^z8K{{>2mlmCq>@tey(r~)ge6Ul5arCTyy4aeK6fGx8yKVp`?aT|O3 zD#xqht#vNeXQCm_;^QGUnU^kgiut#=AG8YIzGf{eL=%W&FG63K3ZpQWc15Ae_|=VN z5zmRGNkE>m2tz9#hGLaPYWpP=A>&#O?25uQ#3~_m=42I>$Wxcd>Q>5D`?`7}uBxj3 z9$|-uXr2)V=-9L0U&&4LIe1>%^FH2b&Up83J8hZsmsN)0jp%m!UPoF>pBhOkrIm z(9`M>Fw)QBdn+)=6e;m|h$=G1O_8%UyJ3j7!+~&=e}tRxi_lUP!5Hgd=aX@P-!TLe z5Nyc_eBd?=M2FnV2jTg8IB4SAKf2Q#P#K&&6N5B$s|-j%-BcytXLAeAzw^Nfqop-4 zQyftUt&UvuZ@Tl6e3ki zuLB8jFIO|k1ATTgh>Lvp3V*2iK?L(^ZVswiPi_wD26%rTHGOsZecZNN^ZTUp^5pk- z1P0&jX&<@s?b#q(?d|!f$oJbH6N-Fy7c&OVcR%N?Ywvz7dw;*XTzkuhyxJQ1dVRfD zT8q3nYWHC`_sLP#(yRNU-y^GUj_!N&HciQ;fp`gqXgF#>=k4~-+%EdK zx}zWyQV1Gtg7%N(H8h4)2)0UP2<#m_y1WlL5hoV>jlg=oRt7n#`B+%q(%J!Z@adz9 zxN!Ymvt^I6#@ptTAi^gx?{34D`WPwCB9zn$hyPQcJq3IN902_OVu*61t%r%LzwYsW z3bel%g2V4ckxD+fQY|v_pA1o9Jk;<D(o5m9%7Tr#K0 za1+P00a}hqj!JXI>>Ko2yOrT)u8}I!hyHsmQtpLDo9QXR%9iS-R;GoX995Aj<9d5; zL+Rconu-swm#et;f8?QBA_6=rx(%%bRXt^zuq)r_&rp4KB1UiAh7w6`P22U(es^5% zF!F^X{Ii`vs=^cAuAdhG48k!u$`9g^uy2@*w;vM}y`YOmj+HNnyMsfqJAzGxS1GRb zmU1zuLuU}zv3b+wNV@wZGJjF@1#e|LfN7HtVy-$<@y)Z}qoHO@4BO^Q0 z!BqDfG)W=gK)ol+eNNYNO9URso(7BH4`pE2$>IYdX9kg2=7zTJoRu_*NCl|$zc}{gz z51SXA9##*pjNKf!ZG|s!w(rH+pA_%6bU5W4m;C0U zRfWI4&igVu&*Lpgxy0R(^JtlCB=*sY;wEl})+)ulxc8#(*Waz9ULyV8gJDm++6E#q zTCVzIzvH$o8c1riYp1=^(A~+z{_MLe9f`0_feO#x455Bc zOz@v~aQ6ek9{Mi-ltBNd5k|>1wcNqJy@#i@E z8e-XnNVrhSZ#jKz-^NjYIo=2-D5MEz+(!I;?t+i!L3hoYmN-fMpL0TZj75`TSzd-q zMm!M^cL-NHWl_M_@IWt^kTq&9d)^7r)$AYLkUth!>{&VAjP#~^bM8NT`d1}~bA7f` zUTE-lCD-<*RsyMev4HD>!;HJ^4SMtOnvE2;&QGw$n+7sZczhpt8#L4?L}n+(F45`eOD*e-{bQ4>99O>>Z2@G#X^l@C~6d z6tcyfjykJJpZB!agDQ2~&25!W>UV0g$lUg@NS!+%UzTRu&i#~~TaTjbu}MU>pt3B# zdM>sCH(=X!R3qGun}C1Pu4tgqrjoPiAGW~j$r39=h8RTw zo$X=0ESHDMkQU`IXXI1?%{p{jY_oErFS2hPH9WLW`hA2@BugbqfdEdhd?Hm{! z-al}S#QzmsbNs+H747cZ8?zt6dULy+e*$Y3FTX>ZL-193sze<(`sExw37OD`(S%ce z*M(6364=c@4Kb!zLG;)>DtYGpv&x8lbI$ZdFY?;&m;QqCSHn8kYiGwL16SgQ=fq;e zx{yA`z@XpJbAL>u(}B(#t##QyrV-+Ucm8}B(ry>oB{6;q8NmO`O4!+KmBZKV`lprf z@%El&@-o?P=^uo%=M944m~SuZp@#QL2X`nvOgRD`d`4|OdC>wmnmIe2ZuF7mtPiTg zCBlo&i>=UCq5Pcity(kVluwew<*=6p{HoAfWSf})@<{nF!s+)}658Ja$p2N9D{udU zaQ<19w-=*Xbei`7)WoifGX85-o@V5>po?baz}6pSSFyhlKO4v~ONp!2kW(1^OnJ}S zM8mV_No>XbXny?TQZ_x-Y_0NS@aqGbT)oJ;{?es#l#sHyL=`;>Br5ktk&=c!KYC@@ zs@p6c-ccJ(_0sXf7=F8*RS(GY_C`~5ZW&Nq)3>-&q4ziSbU#p!kMC^Ls!aGze-%g`q7MAvrl<4Vk?N!j!i^GHEAcy%0z)RMai zqTzKt#xnH-JT1};dVNGAa<1A?*3oSVNthcpiT4DR^C07=fYWr96zCI7IzWIXZdn`7 zkG{umZi|PE6(9qWj;Jd$y;7e9A3tZY=wz7^zvQl)Qm?%boG~Tp+9q?VT6UXrcl;uh z{`*%J2+uL2r+&b)*Xq}TQ$LT$oXog=tH4Y5X`Y=`=by(S8L%I*B6{@XHDuF9gf%`d zQKXQK1xduz`#BlbHP<`Y-Y3_)aE$*jwxEFb0Ac{g-?T&R6Dku%^Wa!g|HG)nX2SYY z7YFMTk>i2Moun0FsU?Hd+Ul7i2+Vq5*M@GezyDybSq9@6;vshQKl;BU;mDjM&8)Ev zk~nneM2+2C-8{}tni)qHI=P8uPjcdt(EJ^b5Zn2k z&suSHGZp9~{A2Sb*8|B2=lPJFr5*oGGBL-CEuq->AN|_SHu}SuG?6dYcy>oq-@Mc4 z`rvtRU#K`P;16UY`F{o3{3#ul zKPa;l^o+D_t$dVTe-sI#IQ`ZmiAJmtbIEU!8AbQilY609O2B;BCL#F6XxXqMN2n?0 zc8Dz+p<3nI6S3;OIWDGN{oj7VDhn;+b7Lk%BF^<4Z=#Jand49EyW_bOkyb~4tWEB` zpvO;j{y3WXW0Fqp^`I)`Lse2C?tQ5G5B|Bm{%$tg=&ec9rG5Rk)VcfipkGo9uFC5b zz<8oAAPVH&SIP%YA^GNaMFUa>VXm&N**tK{B<$sSD=moRgi#qprQ-FMwvPr!Qs6~C z(FXr*0TMdSOiHz){>uU+;-Eu0l;md&Q~oa&V1hK3ZEC{y9aA3jVOPT{1xd-3VWQDW zVZRq^6XQ2OkGX~1OnX1yS)RYN&*+QN2S?C%M88#+px@72^yyx{H(8WnLPX6Zg89(w zhP@z3!_OwGb@`!C$-+BOE6VvL&r#Nz;nE|8ES~Z;s|c(9P@2G4MHr`4T!8|thArF_ zCzuh`fonVG9x4@+eatG=9)0;OJUn<4SCz*JEW}{!*@$+NMxapKOi6? zP=M-{`84sU5?%?>GHPflQs?+MK4lDz*)nQ`hG(?T_cioqbii4zM2sHx&+^&cR&P(Or(N1h$ky$RK|^Y}7j8|BO5k z%;nnK5B9gy>e_WJGbpu#S&07T?AxS^raaN@c`-+@%RMbLR;5mF_)SvX#~v|-V(EV* z9kUm7`mI1c;lCt}HrsHQ9s`b&0KVvn$uyK`PB}zYxYP4}NMrJPcBHYxMxRoGG#W2i zJ!?HB0f_34dB!-1Wg#Q7yuOyYO2aO;`uGeHEn_c&9`K^g=dBTcbYI=Gvj}s%N3E>K zWv7UcNPe~@Zqv@cwF%aruV4X)0Z=^r0N|s4e1-A3u0SIqyM?!!G~I7Oj>qq19uk8< zJO-@n($9s8(LV)Oe=9XGCcph5A^c7|$(&e=P~6CPAxVXp>kw5#cPJ?;nN=l)dw-#5 zC@F;5R{QzXbm>Uyi9(R>LEnZ}7Wd`De))R4&y|A2tjGJQjD~6ErAf`h4eavoj8o|a zdioq*=BunF$xXo{6O*v*84E-+ipT;&Fw^@oGE~;%&ykLIh7?1IO!8Tsq-8Z$+bpVa z^pKv55riKL7gufwYG3aVsh)U=jWn~>=eWwPY4*D4R1U<8%{iAi5s3FK5#HEamRGJ3 z|0!sn0x$rbz}$b{EdP#7{=;gK4>j$faO+FlL`d7YaetVvV;V}v7Z;QHx7G3xnPiE& zA1q%x_c5k&p;0a}^kA!`-m9_d4eKyYm1sRgCV#A!O2fw0nRVjzi9$v7$Fm{Z!kryPrVol}+W-VI_!HG+w1lxgI9@vvxhQuO{q9+xPeqKa3 z@I)X%!8+|xTb?Crrr}!TXuTnQ@QBb~k;!{C{0cMLFfvm>e;iBI8H55TkOabv&R&Os zn4oRiFixz9!XOUd)hn3hxk!F0#_Ham$VAy9PFdY>9S=2vM2XTT_zV&joNv}mX%>(m zn?owo${6|lKzTcL>^aBIpUA|<#xiJN6HoQ=8URI%n`rP6sVG)CIg8-_;3IdelG2nc zq091U{#*8meyZrWbt}#Oj&LuXt6|ArZR)=%wy zbT&Z$_Fs`n>3_3YxcP`&BFM(Z))Ph=zetOG{_$Y7m=IFS<5v@miG4Rd8HXqaCQDJG zN+)0!Gvj({s2OZ~Kwj2Twai%d!sP%qr8Lsm#T0@q>Lxlrg&@xFUwSY2yz`?`7^ZZjFN<+Z0eO>#*%QsZ(^0`+RqK zbbgP%moZ|gpH$Q6)9MZ8$9y!o6 z@(6*~zC?A08iI;BSQn%2(v26b^j7FR6ofk2gI1S5K%-I@)%|kwdrJD?W8w1zdlEBH z?Vyt4V}74h!OgD+UJ$`FtyoTnO}T{rCyT!3Ns?65M9{jS)w@Zr5(zM1Q#xTDVg~e9 z12YapAoi7?M;mlz@s}#en2a4eW;2&Cwkq}W=1wLHfwpDz=Ov>O+^kDbUvs{^!e{O) zNCggIU<4_Jkx>visKZbofCw2hyV`WaK4x+uTQ#MRIx#PhG4zi^mDQBQwEf8fSOs6P zs)uPMXOTu)J<_{Yhlaan-?Q&N-A~hCBnt*8Z9>lihDLmO&l6K_Z5Y3oPX-(iM-9QP zSwI!y=;0pusFG$_r5q~c8${6+mc_F7XTxvUo9G*Q2!y2l-r%qR{ITxJ%p=X+Vx7|riY0KVaHadrss zBsA}K&G6IjZRa<4#7ab^BD(kc%~2%T%-WS=v%4P!L#uUPgP&g;Eoiicu8=Z$HD=8& zR8+M9x{l@C{5w`os#@>YdgRsFK+mP)J!?QF<72LHvU3NR7k#24(4cQqi&cIPc{s+X=1@f~Kko_SqY~WKT?aQpXY^N4HqTuZOha8d6HtwmDy3 z4;zj(q_vK2^ZH+pK=B$g2Gn*QXI+olXfz@-zmDz*cU*sQ(P&I0rf%|^I2dcHfU71s zPHHa0*G}tJ=p6{xq)|oaA>gRHlW?2rx%ssh&%*illc5mQCv|)nt^7a|SPvr!I+IL` zB#e{-vGgr1LUIt{`ZyZ`s)_+dAl(x%BHsHCO|AFf>5rY$R6WdtJjEcv**FjK7NZ8y zc^2uMMke?DCcXdwn*xvH2}e<=3?^DF$4vyeivYwxHc=JyXQ5REKQZsD_7nW%^J* zaPjkT@tkAanubyVse-Y7BN@>CGOuJIkRa^om;LTx~wCLc~Z6A$k(|>c& zjQtx2Xo$=9lj(H5FH3Y#aH?^BT=QzHm4Onnfn%nTJt0`p^nDVKmmQ;?l6 zy(avoIu@ib9sDmd)EFH39s~78LArkvem3}R03Z&e2nBMWazAq87HD8F(tZT0UE%<$7T?cO^X!F1#Twd2sk&R)8e$zCgMxljnP(_vlb2Aed`Sj z^rLrzGC#CNJ^>mNX`mS~z(zeQ3>$EbUyV?il$9S@dJJrV3QT(}N6}OLqHftonvuL3 zqx@`SaOoo9H-E>y`;E*QiDd-dFhipXvw}6Go@?NY6y%ft$tQ3AzWXQ>0w!v_W{Z=* zLes8*qSOP+TD3PJAhAC{2_g;xga(i)LCvX=n$}QZH`KdU8MA2}3n@3bHeIPdNIjBe zix<6`DYZHJ?g1uR^{Xt^>CGGL*t27BDGHJexVP}upl9T(0tVUV4C{(YEs;2g*Wo3&pV?goYh_J_mYz5@M% z1Q4MoJ3-Pb)GAxJ6fM#QE*aU6kp!_J1@HFmk6v)N& zi6EfFusl^or=-Fezo;#{weQigUBcuX5X1xk;Ii&eGbmgM1hE=-$iLzT=xpypw|}MqYSMQht$__dUOKxn}%+vSqN8!fVATKjsEo8nX z5~0GT{+TTvCp$69sh8JnaPU6$k7?+_$)y(*+ZyB4w(53327g|uZnR;laAOi4qo6lq z@x^it#Vwk4Bp8*l>|v7ULn>TUiH&7jmyWLGl{JDatj@rFlMXXuL7gNaIM) zD;Dct_Tm%FvcH7bP;RyCN8iV_#^koX=xB{!YmGT;N#blvQEp4KZOaI3 z%Q9eTsc*|$Yb!WwBXYJEDYuu{wwDFASLC)=b+p&4wbymL%pR9|t=!RM+tD1@(VE-Q z&e=gz+|hm3LE`M}Q|`*ySH??m)>PIGq6DtDFdcETwdUCX&$tJR&0 zfl_N{U1ZMgCS|EaG-90SYS&Dgf)(4#W#2kOZgTb>|yMAhHt{YkP% z3h@%hj{F5r-KU91Nb>B4c721FtkLU{061K`+8**M4rm_)^dk2k1wy3(1F%PZ8ip!+ zjkL+c0cHlow)^X{TLa}{gV76IrS5~)9_^0jZNcYl6ayTXX9(7-jC3WnU0P3WO|-et z_PXuK?HbX9=hIExZZYizkeVQ=}Eez48h_iMts7C zpy8t}#gZ3m3@Q6Gz-YRj`tI8xhNtU3nKcFE(ot=V!7_KG769l67!#mvFP>;CJ#VwZ zf)ueJ|N6H7YcMnYKZ>(MMc7a5E5&K5iu$&>^@ybjs3KO_0|!+gIe6n}s)K0uNnk7V zhyrn>C22~Y1areu7v#QE#DTLg?`nc*E`4IfSfnZrd`E%$WCHAr9+Af)?CSd!>S4=! zRHoP&STIe3;WSk+P4hm4;6VYMt8__6HBS}}l{z%nq%(O=Fw`5!wn&ZAG9XMkgSQkQ znuV z)nbBc4s1BkKO8t`8r5fIB?z2D7DD-^9TcQMcZG-Tq}HxUpx)BS^{S#O?qWso$ig;@ z6puNu5K58qew^NHl+=kbA~~GimEBQ74PLvY@%^@T0!lZ*NWA_H{lL0V>8SCwcGGJM zK@z}V)MXK`uWYYP-xT!s9ti&(OeD2=bwQtyM*QE;01Czm+{>ONkl{v4OtmYy?q$2= zk9i%_gkTyb`i+((sQ<;H3vRMNdFgk}25z#AT9TX}2lWpovQM>fB|_!SyK0JZD)n5> z^nx1qW;cyc<|r%`Yg+$Bxi|RpzohlRNJgzL3{)Dyb*mTq8`*izM=y;~twm|7&AoqL zM#b_$FJx`NiypHNY1LQ1_rrYeV%|)3A*hDrF$J)?XuI3h_B&|9%l@5X!YW;No7eky z6b0hPtE8F0f^9mrZJ};hgygmgW?Q5FqaX(KC=n`#UOpy+|Ehu>2JN(iiycbTg2PO6ifGfZ7M5j-S6RD%xwuZZKp|>oL`QUPMpop2vvB<9)~>!q1?jruj;a zwG>1w2^@Pu@Y@OANE%4orz!otZvFxF()0`B>6f0{P?72FAWVeT55zmQ-5i<7{t#sh z5pk>j$A;(@gJ4}?1x$YZzYnuhi$VXvN#08l5+NN?( zTh7#s$W)uy)m3$5d(!3fRR7fSX;SMeSaloH1JCZds&2-7;OYbdm+hi@cmGUNZIF$k zD&jw|5kIielb4B2-pco<>8M&OG=CWV14Ht0fwA5RsOJBCx z2+!(uxq+m?roQ=W;Y*%h3^I>>{~=A16f3Tt?9YYSB*|!8Kj{1l5%k+=Y`kY7kFvW!_%K4aN`Ca1 z=JH)C_i|FY?(j+-d8(()1ohRXcB^F{zI_hiswLkfA70Ybn1VNqdRFo;R$_yPtT2?V zkMwjwG-o8TMDQ_yfj*`jw;hy5ooPCrAG#ezY-9RyUyTFtPjKMWq&OA;G<2QMnqkmQ zVbm+o{9`iCm9(8lX2{ZWV##1F+(G!>E@oD}(m(1HJ~dpPgb*#7Sh>xgWXxKr`I(*3 zRX){b(^_S?*tVPFy?PyO%d;}>SKA@zv>n}Ay;mN$sv@i9zN{CqU7O8civYp9Mb+8Q zBcxx^Re^;qCn}O1`vd~(PecTpUvQ^78{~UG`1Rvvuxy17J)O0(bb-wY&s{>P(4 zAJNuY=crbdcwk_i2Iz}r8TuT`X>Ed_tI8It+3qu@_vJk zTpFjGq}fm7Z;C2c%bYc4LgM@qIfKTQx(WRX`L>qdM(npgrSx#Qd)FiK8^uNL~*=^f*`E>?uB_aS{)o;I6 z)1REgXhuVOO1(j4s4F0nS040tyRt-fmPQNZh|#KENK|qgxvWTCFXA(ccWA2LBI%0@ z{bw^FD|Vu87D-|x(B#fD&cSnA$&3uz4F6_g1!io_DYNy1j48q~s8a%dxPyvu*MNV} zLp*OnV6`SThS8=-ct%Prp;RP}kx|>gD$Yp5Nd8OHZIhb|xPspp=&_=?i55$Xyw$_E zcdTx2HWY?Wr$t9g)CDliEU4u*j9z+~=IZAjrR)d^7q^cS$8}e)zg76hJ|bF?Hd`Zx z)%rA69Y?zEc^$p>cbnmDh@#BU{lzqz0iAW`Uw0GIpl3WqF2knlk zM)dKEzpBg>0^1L5Wq*BpTXH{_Ip#wYVTa*WT@-~D#?!}W4ok;X#qgK>*IZRm5m%64 z$;TUcB9>Pq1KPbOn2)XCMf)5He~k(N2o`#o0-rIy6%bvzrZ-*N)~~lrH}gI&iE1>K zWvli#tVmW}flHvuFy=+|fKv3HZvuU*4d1`6ojml(sY@((|F39pKz~T)c3e>Nbw@TC zx;F2*o1U;2O!0xATIM{@PM@zBm35t1T^NqMV0$-9-J z182e!HyVisB%ncvPxRGVG1CzTh>9%7)v>SD(akzMSGqp5?yQX|IaE#gZ$h|?$)DZ} zK8sO%w{0TAS?smYu66InGn&@eoh#m8GbW085}0Z$jLxF6Psfma^|j`;pmP#FbP*FC z2jHdc5XW;?IC5M}BAK@_eMPii6#Vx9yp=NqPD--yr`8R`k<#$R!FK0fEWKk%>OEAX zf+ip9j9jyZBV)RCV{7DtSd)m&Dn4K)fK`kOqL~@PhbM`sHN;+BWibyDX%7X=#JFfW zaV(5fN;c0V*lT{^{IWCja6pT(hor4g|0}NLp_%45d6UcS_aObGw)Yq?@O|P{XV!l|e z(gif8z7AsH?G+g_?S`iJK%Av+P$CQ*yBpF6HJzhFq!CXi4>Vq8L4^CWChmMa(C8H4 z*VE=ReC%_WIS&zLTo4$-Wz6Lbct>R86sPWMg1MF>TvWa&nglG)75p9$QYgAr=XH{L z=QWmd>Ri#3&~3)}8ZCqg1=8OkO%@^}T{Q)j%>I{{=Bj<8-7LNe#C0y=s%u6_uu^bj zAB#)Yz0+=PweXAO+mV2t5l2GQv-vXlK{w;)?Y9dyEm&r-U-h|p5w;($SLkSci_VxC zE_jw!@eiPLyHx2;mE}T}5md+gZTp=%AC|nR_D9x(N|uc_Z&U2G+-(-xEd>Z~Yo0{9 z+kK&)dDFO1=R4?bpDRnT>ONU`?ND274^_7AySh*ts^#Ixk~>3UU2J$6DRBeYVLfKK z*ytYX;e4ZG<&N=U**(*K4$ZUZ@r=bLHcttcI~_KQITLT5@(wUOz?i8s7xDuE0NT#_ zwfBE}8}IFZcZ-axn{Qrh9oCYxx2L(H&ISZXXNmC2;%vWtUicg(s> zio7T3kj0K($bp(L6aL0Qra7#mj1p9B-Tzc>a?aFO`hIAbGpBSZE3 zQPy{xEt&E^UG$H=;ttO?5zEUA<`tN$I4MNW^GHKM~rh%HtCc-oBueI;iH*u>git1_EILYWBLVMf>%bXY*PH2Qja65Nm4kR1a!_ zh=`3LZQbkfy}Q2zIF)Fn%Dlb9r=wDAIb#3pVCX3hT+B!RX{uV)+1gQ_Io1x1-)M>J z$uw%@s!N1;RS>5D`Dg-wy+Mzh{Vr_kFYFi4wtLK0mN}wq_9W4CyKAdb6WrQ<0g!qhvt#bv8uT2G|h1 ztx`P7!_Jg;fXqn$FZPG|nyI42{&uPWwG4dl=5!&1Rf6UavJiBKNt)`TC5G0up0wLy z0GB5Jp>?cyoBh*dRWb%B8H2s~eyywJ6I#jt)oCw~x#HC;TmfSiuqlQ^!Y}-BOd$`J z`#~6pi-d>G$B2-x{`6OrKgI9x@}hC^5u~Ct zjfTp$dRW5k0a49nF~b-jxzFlBP0J?$^B({!DiSxs`pOzHzmITYhs)9SS4&a9i{YxR zpvgz|OXY>DwB==w3T^jSr2L9TWAHaHoUSt(38%@aQnX@8%uoC?-y{+0W?}>YT5`$B z=9;m$XSjAot zBRP&{2QgB*cX^#|hnH1qlf z%KWoPnnHASYM<{>xnF0MKW#LyH4Lc>mc@Vrne{jMNHYE}>?~pw$y(992<;<=28K8X zL)}{PWi=N50K$6B6lmgl^$-!wY}ZQ?*OYw2-2l*wx^xpabbCT{Qevo+q;yhr)#)A7 zm4sU~jruta=F`?9aR8VUkjOPwI53?0s|)7`$`k1)C}M>+_u!()-X{~#3V}eQb`Fj&CjLrM@LeBFORGe?bbJ@OGrk3QGZ!wlAO{Kqo^?3 z*%IWg#xi(`$q)&%A{iU&8i0m z!|~L!_^R=In>jI~I$Kxh%Cw%IuA+ixt)Y|I#I&LqOQp%DO4I(iTY~cweb=2=8-?P_ z>OeBNjBnIgD#HN(FYl`W)CC*?fuR4bSO5Q7xc@Iwve}DclW~@f`9YKQ5`E_V=CXyW zhv$&a$=hb2txWx&_RjxCN{S5I8i+j%yaeievqugl1P)|DV4sV?Ef2fJnAw#im)Y2@ zx+D|_v)0vehJG_{gXWscNQtM-ox7;D>K5Gn_l{Z5giT&y%w#X3zf(^WJEe(T2N`YLquk9+|3X;gy7NUz~OR~qUGiKC0A{W4M_c>6C?YjKCK;ffaJ z?9ey_b{bo~Lh+h-d$Aw!^~S$5#qytvOh%a{r<%wZIQuMnx&0Gbt%m#V{N$%BPar}O zk#Mgj=MNaOi2V=V^A6>gEnNE&23F8p7YDx=4!n-0SEABCU`q3;tRC%GrdgQi%m^pN z{`~rT^yW6?R$6q;tp{Xbo4l}C9Id2trp5vM*QW%2>iN&9(o`!O|I;maEKYGsjC*=f zloQW6Q&Euck1UdusPfl3?bZt|Spim2u54^LNUUwz#9KmEE8oec?F%u&JbhLLgon%; z2-M2GEP8Rh$}#8Je_*qs}ia_}*sZoz1wF69O2c%5PDGe%zWa zPNBSsgp0B=yA*bw*xc4fQ}{OncOVK`u0jPd(JD9hlkWy?WQ|ajBvC&_Ck>>pT#jP( z>`(ZT?(F4Cx_b@U@?MLv530XCTzjl;4p2(UfuA5AM0Iafzt$4X=bv_~d@rNPHKfG6 z{X|mxwrB-akNcx0Grj?#<~+$Q(TbzQZ(IEx*P9?_U+Y%us_FS3@Hrl8pPR6@eh~lI zEj7H3(}wp)Cg_98(c)S~yyr-}_vg*;P|rH=NaYExX}um;;_IqxX7!3|s31Sia~Y-y zw$mTk71L`hpuP}*-7@$Gj_l;>kvLrS*!|0E^=%RR4y9z(WK-W4RezrniTkN*HTxsO zb9%tI5G_mh6vCfyJD#n-tf8kTKi74di#yX&)2T4 z7GuxB=JLluvVF8X+~4Jvku>(GjTQ~%X*K>BvbLx~`yu4WhUH32qfd6xKV}rm9gn4rK3VrLWQQV{>%%TqawD+3T^qZnZ$sjVl>^Qu~L6FCFiI_#Hdo= zYHT*6{iswbq0-Pre=cYBs7zt9(%5%wuHf%cIfkyvG+KYYh~v0I*Qm-ob8Nm$>A2D~ zp~|9Mf1%3exXOC6%Cco_p)TOK8cSDgJ*;o(B*_3TAnU0;+ege;@KPDr6|ruimfBa3 z>-;9G?SH>W78#?xQYIx}b97w13C09FMF{mVcSa=gdynCaH!CVp?_u? zZce<@7?3aSq(x&R=?ZGvAi;P}s%+-#sOUGGg%-w0n{iD#uZxWm0Fj5YiyC5eG6M)xiQ`up;xD>iajv=g3 zL;~0JLdRo2kaH~KrZCR$txTQtJykmbc-yy!2yZ~HawNXJe)sCOxm36`!P@^602Xe= z3tjss)Xi_a*jhNhsa)xW8QtUa|Wu+hS(j6Svv7{b&e8s`Co zv5WvY>o887I?KaMb^E!WY8Vh2%RPV}R5@>gR>f4Bfo8={G8mqnX5R&Ku_rXWfo3kz`ysh?{&Mq_AEogmO6G)$9Eyv z=~*u4`)xl(6Gq7&I2BI**`X1SY79)UC4Gl4u$(_c=7q?|YE=ac`Q^6M z!cSVXr6g?H-AkzF68DjQbUrelf(EIE;U6!4e5--k{rWAa+}I&~>K&KSlvKX*`Pbw0 zpi8pt&3%o9(4;?O9m?xG_n&0ae0)FdGJuHv7sL`^{8%+l18!)4c|Ice4Y+7t^*~=t zu{=4AM^jEmhjqWQP&8KG6@2>np{xHyy67c)gwyG9q9p1%{@DA;t-;O~)$|+PpZk^o zy+yFo)x%YvL4ZozTd0#Y1|*DueO-LKje_#yK&=@J=V%BT0OB$A6}jS6awCkv4;Vo7 z5=};Oq3{f+z?wcU(Oy4!xiIK5odpJnhJ(bCf+vNZ4o3TD{SF1`1PLsMaIuA!yd_*a zy&U*qbnw6eBGLo%IG-GV)B&-x-Mi|7vm1KMB@%x9)St~K@UMJmoG;9XL_oWGD(eRG zzzKX=kq$dyC=vYg?O?5G0*@5TWdv_!ZQBO(Jh+5|X58mR;ib@_);s>c2JP;)hWado ze*NN40f_h(L}QuZ0TWB!`Wa6YTK#z!!C^X9=R}`$tKd%GFxIH>_?Dn=RIti&w#ltP zeXGDUHirz?@Wia}V)>BoQ31&=EargNZyB&VsCzc1Fl(%Jb{50u!7D6v3uLK#%1(yuQ%7PP?*&N8_ejk<+PBI^V@eLW!v40-JV1RpelZ04p z@p8}!9hLVZ%Ev?~*zG)zd6MZ5bhY~m@YLVA=gmR`$WEA+gBA&UENVYo(YESZ_MCw} z51pnnl_DhX$BOnM&!Q3s7GJI|QPE{SV2Gj?b$D`GcBxHdxF}27iE-N?Be{|+DL6_} zJ>1C@2FYSgO^2s!qf+LA8&nQ=^@X+@y<@;!lQ23r!acRN@tnn6xJ z#)1U0Sfcw)<@pVr;t-RH)k!Xv_ujY+N)YMqx+GP`Fx;sR+Qr$KmP3M<`S1Smclz_V ze)xe6z)Gef(&=}g^ODz*^~-LrmzEnZY}hVeA7EMU``+o$YueznXskSuN}(RCFyhGL zW4C(pe{%^lf)0YyzEd0aCC6vATpvDku&Y%S;L zzh4|pk}MOF!6}MKgFCLzEb~(Ia^tffB*oqxu4FK*4>B_KHTacXNbyfI*0U}xOZzpf z*`ercf=Z`qaaO?PS-Qb);#>}fkjbO&rb!PANO^Ts&tZa%3}5uK+48tJ|v)Ieoj@V zsz}$y%5b%$E*;u&7bJ!$F@0gPlce}l@P!pe$&J-gEJvB6QrQEWvdFJG&N*d|+RHpv z%Z^V=A9IvHQ!4kiDc2Uz_Q@#^XfF?XQG#17596pHT;kADj>{tgDq?afUgVS*zo|(4 zTah$Y9>r0aW>c9FP?{Q0nbTgG_qR-7wUWqDRn%^qtyEPOP*w3l$1kUcmW>eJ^P~G~XqB*C!bG164y}FyDrf;l_q*OB$P=mFp8ELPXcvL*LS~Ja28*y4Q zYg4=U&2~PZcD21W^|*5VZ!LMudWECzvrQeYscI{y?psw=LwntizjfQIb^A)Mca`dn z0$vY4dVSjdy1VN2`QO(q-(CZh>+8hoA%XSfkLuwa^~9=r+Ozu1Z}lkUh9t2D=D>#7 zM-6Np4TP!&uCs=~Zw+YWMsKl3fxt%3M~xyKjm}k+Mv1dVhi{Ei%5RLs-pB^NQF!!5 zq2rBs)f<(wHw7=sFv?BOzP-^5Z0dX1q}$O{QQBm9*5t8WYpVQK`CF4k;9FU-x7HnR z`5wKsJ9`VTV7b(kiF|wez@XVVuo;`%{Am2G$6B-Xn$I$swjV8&@6h5I-r`=|QrzDn z{i!9?9o0{!mG7@;`9uo_wmKKKp7pi<*=)t`A-gx#Qyb)&IRR z5GfRIr*5GA02YohKoz?)Rd)#1<_f+xXipJWO0sQZ=;f-aZcA0}ATxDXZFcmGqgr=S zmAM_h9UUIvPMe}m&c4pcan#^0svnD*vSnPL#BndVbFZ9rcII}{N_PqTqS;jL{%qU5 z71+I#+x@MhdvC4#$65FO|3pfTY& zfCuTlxD4Em8`;UuAkj;6j!ee&vgP$wBr!4Nv2q8o@=UPv+OhH*_R&m0Kq!D%XP-DN zP~5Uw(Z+prK!8uU{SA|MJq3VK=0}E2IkmU%r71<5A`SFy}e)D+;=v zin8+PWGWnF#rG>s^n-d^D8B3Bnw_oAdtF@TNVm=*PY;w)3IfG25^C5l*EwwG!C)Uh z2nCKtULO%!C((NhJPJa2*o}eI4HZQyILY!lQ*66vJIr;DWND2A`0q!432n!1!|s)Ftwno(RgojecPtJ;Q;t zo(`K#Oia;sJlGpe4jhW%8Ur!VuyqcUsGtm_MyaHs(j<|)Qs8nlQUe20c0yhy!W@g< z{cNDulNtqGLqSwWyChIwage!ns8%vmlr(nu6qK`%G$eA-) zhJpoahEcAsog*D*CqHrxfo34mQWM4~@F%WLnB7Pq%@_m^k)Q?qjGxv=0dGvhAb6xa ziaOp7(t3`(At7W$lB$(}Byufa_eN;mk0}%9Ar18ExU0}!$bY!G_cin8=y(6Z<_o6< zuwB=Y#95KK*$*lU*C&u(swh3FN$$SU2fa)38%v>+bKs`~$z%uwJ4c;NZyy1CVmf&D znxKUd>Mjc00~j@wf@N^?-p!}iL&M}RkTz&A{OJl-qCYc!DFC&aoi__=n0=}b>PQi{=vuSE9^uKs|td6U|fT?znt z)f6a$Lx?khi|>uzjEC^-zb7XEeWg~Y3MZdlASDylZ)1RDx(}-ff+2xx)_bi7le1w7 z!&Tzz8WWwr?=f-54;4yu>jHqJgqBZd!!4@akAm0nDl6%9bMTOrDI-)#@H)5`%AK@Y z6pRY88X(tb!{5Zn7tcwCF)PGXA z+)-iYwsSw8Bz#DzT#TpP0Bw*3r=*bf3ts4t348Nm_NW_s3!bVdZu*t$Dr+!@FDVy` z(%i6QLnv?by1;guL|qH)$L81Zt!s&_K^_R{@|QSr|Fw1BA6paz!zY-S~jw#cQDGTSO;P^&*9UM$t zW@g?4l$iHrWOBucA7!;qrT6&Tp@X|fKav}8wP&A69IytGhF&L$oDjje;E!&PTRz8a zYZUB_N^axSKEfKd{?dI%NPhG-{xtr0Z;rk#M3N~?Z9BTI#pD$6iiqL z7k*y8J>H@s{=*pdiSs?=DU<^>(Q0=YZJAi7+t}TQjN1XPOHB-TOst&u{SBGCC$;1o z1m(m|SlO=)N(v4C*c-F|_{4ZbeQNX1#rOW&J&nX)%Re@GUQvGC_m~RpM)7_8b?xeB zYKD)0FMcU_j;M$1&3A8$zudd(@k{01w$jb-H=cZ73E38UIof8#wEFnFpX5O?&EbDN z-{HVx;f*6XlV9@x4)s6oaliZJUvS9#ddu>^!kPZ)asBYg=vYvoz4L!OP8oJldA_kH}!N2xhaP(B~Mf9?`` zJ|8;uvHzU0@M7(L@4K6S%U_)hyu4WWchUK-Z8r4c^Zm2M9?JMD3bJ=^mF8kyZTr>7 zg8<5DQ7DB#`%n7jrNnjjBZdH_yQ-OGx}hFLhoJUmGvn0^??Kyexh6Z_ivOqd$h*~S zQ#VDB{e^6{d8uZa_`PmB5yl7FSvT~Wo3iHwjPtKaPaRbx^XU?~O}=Tir?{AxAu{D6 zzcm$^6oNu6Cu45x8rDj^(oXohAl_Ha^)O`JRaVHl*?g_L6k+wFztZJDo57A7752sI z$BFrCmU{+Ofjp~|feH_>z45*DK6XqG7Y3Z;EPrr#i+nClE__C@ylY*%+K-|0J(*zk zew0zeGkj#5d3|fyR!01JzW1?lqo2HTtPX-gaem?xV*&p3im%X#s@z$(kJK<&z<@cAFzg=R@$2t7< zs+5{QM9SSo{aU4SE@q@UMc^p0kJ`b8icv?-5Ki}hA|;v(Isy%vOeUJrS}ax%8nmw5 zkC4`8cPVMm=6o_Bt;6X~y^Y}sgP9|JP)RKCo;F}e8< z;w`5J7Hl%r2v(Lg(*kmPo9S?S9+~MORlV|WS}Vp})wgRWP?>{@w`t6DjzKKBN*5M& z-l)nFbbyVZYk>i~{x(8Usi341qM*PigdQI9l8 zGMASU6U*|U0rQPGp#x*GvI;{z+uMXf6)-LDBa$g&ryGbeZqc2Dm3BTnEQ;GTj+UBy z@=9D54j{;@J!FG{0oK6P&~FF=pe`EAo917DL5IP&_Fckr{;d>&y`PKy`5gM~>IhF; z54}2|&ZN#I=BaQ+I7|JYJ$}!04^b2bupH^%2`!OQEN^x{$%uLN8tb1gObf>lvi|*w zhW9)~6Fy!d(E`x*7xqA0FBqMdK5Jr<&oaavZTD>KyS?jnL8^5j99ToKIK?k25^RM< z*oyE$*#8mc4=TYG&(;hlJ>14i@XP9&5$f|t>> z9&(FNH)fkibKOVl+8+u(xO*Nm+~RfK@$qqA!9c z;WyvtDW!$|=il3FOEl%{&cfiOF?|S@k?>~6>1at5FQ6)%2oa5my)uN0y3y%C|COjE z86Ztn?FT|dj)3?wUSHL*U{g=~{qi{)2$0!VXK#L}TyX8R|3BR2!5&2==|QGT+v($w z=#4)p>{5CQ{bz@V!;KkB&km+qfA!{G5VK`+OCjv>xO*oegl}1+ zQ!Y`d@J|vhZ_Y*Egnpu5vp`AvDjVNx&$b>ObZTxKElSnwz&>io-4!AqbwjEhNs<(0_NUh+>tMwVk+LdMBL}Dr z{x0Y!KA((wdyf{27u+&4{Fj{QV!Z=!{EC6Hu2y?|AXwhth{6|-6^e>MT;}|=?~&W8 zXti8>e;V5u`@S8^jj_YCD-okhM4m!9WBM^A82o(xW*1L~Rrlx8_MMz3?GmzZ)u}at zAoVg_dO0)j_tv#Pv%W<+U9};q9WAf9QQZ?Sw628h12}P~JQgCAI=99kL6duQKL|^r z3$UA%T*~hOQOXX+I-dGUe^#pyuh_Z*aq^4Ole8d#azUc_J}t+16(~fg9xWSrb`#m;GsIO`OlR&Vfy%%U{18Chzh`V)f~{>tOr22 z8rm`%xI9Cgg4M7;U1d*+x<2X&O?GAiW?Y03B2yJROmXK)V2+g#aLG#)wL z2{BAT-`)%BIlT@PF%4tIxQ|j%V63tLJVX`^dB`aPk;DL~G`~|*VMVPOxS$})- zFLS*m7!Mo?V>CcvAd&#QV!is>`iaj<9S%S(5C(LR};=MD*);{EbFlVAk zR-FJ@F0VlZnvgQZkDzPC0I6~Ao^60gpaIXVAi5r+ZQf3xl+tYalsBD1zP@kc#KWT7 zj0UxR5;ZRtuABo_Zf12w#OU6M$rKbf9L;Bp4Z9=yB{uE;$RieXcJ!((J|?KNnC8Be z3po?Y(3VR00kKdPgWvBHjIR;(^IhPfO@Y6yHu+xd$HKGrL84Wjvb!I9h2_oSuRqfo zACM{X>4+u&6l;_{zu)l4r$0N9<_`9j&|49!XM=zAYx)`fP=^Ta6#ns8EZNI_4bhak ziQ44+XwjofIY7K91&T%~Z#_l0MQ9YHUGgSe*&f^;x|z}t_>ae|z8CpyUFdY2r-avk z%B{!|$z6em+yAEiWqb2G5l%V031~_=CejX?VoDWgjsYD|uFIVl7pgVq-DSZCmG&ow zIe`pfgyTcJQjxT`CSD-nCCGo%B-OhG!lwXck=Of7%9?t;Rr`5Y;(JBEs$Go70|#y% zyg`CK$9>pcZYV;_Gq$Of@bSwukUOh4TcV2}Vgnn*Y);8Gaa*&OXI+ zIvJIIeu)9Kfj&VGjJ!o}2bR=GqUJk#Sx>xm3zDQV-v^o3yzbGT4;?9;8$?8VWW z#}AC5G=AVTRfGEfqO|mb)E6pViZp5Q?xk?c#{UV^ghBe)xis`UHI9`BML%naH6_ft zYFT-xD+-VRdP7DMi8cfMyg^$3nUMh5w-AN>x?eF(*gmDa0hM)(=Y-}%yP;p7G&l@t zRT~C&MRfRN2Od6%KQT!3FB#UD7+z-!4>=kRr9ei)m`CseBcbQf1kI5Mi;>6&BVj5d zQ4u3CX}W}pJ9moyF7sWC86U&C&D+qZ!_#nGvH| zX`|UCqd85ZxdWql^P~BnM+=TdUqQx*%wvV;DTYV=Pr0;Z#sC>j@urtu95y`TJ|M|lFMJtBPr|ow;pJl*@VX#ozws7X z(fkLXGSL``7<{B|`12zD^LiMsE|3cal+Q9~hEEix!LFjmL;Vc>8ZO5Kh~^N+p%8h0 zn!t{Q;;|qPn{mQ2j6(!29+N}CvrP~ODh!t^`NQy$){~)GMn6YD%+}=+_4UmaldsmJ z<#ymgBVhlm*OwV50*;`33Pq1V;z`jQ%M;&3CJBBM=IEFYd!xeE;hzNH;@03ff&3Z) zd|Wb&hXi1jVqH}MGm-ENq_R&*(cD?8g!*V+Dd1&j3g;rxNuNul`)|L^+$t} z`l5Mp;a?aiAk))m2@-%t*?h@vnkvD3HP1{8n?tuS>sB@D4<{gX@rr2En2MQh@9^0p znktVOyx$By4AgxN69^N{O2H3KjBn~~(6c)o*w-Uqq_^yzkuCWcuM*k-zL)6DN_swO~c$G4+h z$5mB<50x!AN?$X4kCr=)zVcomt1qk~dve9wVo78+Tz3(gFmvxBT29bZ{=0?7vH7S3 zK{c}STz@g=9I-JE|HS;_vz_r$Q_S}IM7qd)ILWxcV{UjJ@04w9b}!Sd%hL7x;yiIa zoMOFT5WEr|zT5n$P$ zyVaU@#HOWzhwDQ(Vh5kEkEGj0hOLjjT^}D@pIBI*{IWiEy#5aQewyX|jNp69?2Y$< zdCVGrhUOpM^YwVYM3=S@`Fuf+R;A_GGIiTiK2j9X#7mFDHqYSEYDJc zG#8u&3@5I5#E}tY_eEDszkY!oOy;Jt8wz7GL+XLMkXdJkDJFwSNfD^=7k-0#V{S%^ z&ua{ve=VXyca-CL; zPi!81af3S}g?J5Gmp)_r{x&U1sOiGWV_^}Q^|8?KKL6s1?Bi*Ln2&Oco8pybB1!iD zUE5Sqw+*<%Bdl!~$l^E(`G`Lyv~@0H)XaqnJ_(xLt)w9s?U0}Uf}!fhFcjF~wYyZM z1QxZ({O>Cwk6AYd@yrU@Cxc^PZhVfJeTTpot*8_cHhhaA@HPGeS=X&4shuitL$(Vbld8v*WG{q`o0`X(l6-S5blRmKNG@EY4pqSl`l3fep-0in8 z=W(}=oJAavw@U^!o3`8vV$L~ThOzx4t}b4dLsy&B71)(!DGz%6f(AT{^;1fmfw#t_ zWQWzB_N1T(m^~6%22y>`T@<}{@RqL5lzu;1DG9J#*q3S-ECv%e8Z`WATxXJIlCF#+QFRMiCpFIxbPjEnDN-=reiD` zqp)SlriEPt;pAi9$KRG*fYa9>k1k;s*Pl49V5Bz?Wpa?Ru9244&!w1KOUOq$7|zDW zYd@}`+inoYZjhF5kdJRro^DWKZ_#jX(Pib~XeVEBCdn)%Pt!5sZ4@M>ZVRzS;BD-S z+c!7g(Qg=|&br;g$~XLp`YgGn7=SZW{DzF+#=AzKNYZ|ABvbVRrY*%exD(_MIc_%w z79b^UZcp}CN8VbO2VQZ`X%HRseVz_3ZY7OcNE=hgw^kr@i}TY;Bxc5M4>$-SUN{yq z0_N-Ffnm7okF1N2aJg1E`kUHa9iZpmJ5tg3L#kEl0~=t5L50Y7`)OJB4`{x!Q9Q4x zRwavwfqTG?zR0#@rQ@Ag zYJ2^|{(4@2%fxSBy;~`I9txt!M+s;Is}8~m5!Smy*83j0`*_PGuJZ5RB*Ppx7kp|1 zD$y0<74X1htyRfn9;#<3_Nfr?lp(gsEEFCcwEXopE+zSZPHzDQ;z1lT!BzTCk2C%0 zZh><<{KpdVJuX2h{#tKp5o)}6Ne*PHQ5QA;uC3D(>J^UdGY9U9{}2~M=;-k;c6n_+ zRz0@-52Kel3ZDg1q9;Xf$ZC_W2lt|8&n&sJS?k<_@a2Niu_9l%R&*kuxkN$tS`Dc7 z5})spde8@GQ;QAOe0zX<)AqA(vCLIguFsg&{){}fgk}|4R4097dQ1*N^^T!a1}w)C zJiulsfHM$B>4`2XV}uacV*4>Kf=)da=}WyGjFk&b7fpgSmFv`+ZPe@GL;e|R#+1(@ zJSEd7`>XnV7cB52c!maihVxhjEGK9T{>(xb1LrB%&IMb=>iHAQTu6%to{<$?N%Rmt zvm#QbFp8@cN9Wi71gFdDomTH3{6Rnr7G4!OTWzA}8vqd0i8H%~Q|1lWWc7>V^NX`m zuUeTCF8{Y;GFn=OvlXw^15G~sP9NH z@=}5PijMQs_>n?f8GPJ#u>_ICeXH&6X=ZZ-m}R~sx55-b#6$Sie+l_~aTNxe(TiGiM{!e}0z3eaJQ+nq_d{ ziX2|Nddl{B^Op!xaOPrS@o5;EpSXm$;(c9V4~^1+y!%g}9fss?jAqvwA` z;x06Q;`Rj>hO<9c3C)X!k?1|ZRcGRU4ZE&-UOU&h^aY;9?1eNIbk7R=e?C8~`*7q) zkfG4_dy+cr8+l|%@|>tiqA@>6LZDz=ez9A`zR$a&r(oy=z|aP5ifHySMK?s5X zU12x@!-;4lLnqy@H~|6Mq67s2`jQA4efrW&9p8%5T;J%Evcl*y+KQ4aUxp0B9X2SU z1NbCBY6&ych}X3;m;$gPtw6%1{PmTw-uiJdoEov@9!<8wsYOj#8v2c?`40g-p_Or}WSC%)*i!y~qviERF@?AL4N^B$8O;I=bPu4B<%Ixrq%-GxdUp*4m=CPRK zd@m1BLpUY((2`>S>_xTNbbroS<5K^dS?&icXy}$bvauFlQ*a^_O0Co?=kCJ`>))zx z2)3Fb9ATrA5{D{dzpGA7g6^AG+=RE=e2jddU){J_ zpx1+bPSLl2Su7^Pzm_dT%OBTGj61IXOl|c%1t*(;UJhZiK#vzL*Y8`qm{5JkR~9ax z|DOHog6`gFRYi*qo)E#zXM@H#3vSTHg`l_ML)s_{);uKWxMB+dINfA0oaF<^?)9N0 z?__Y2bc5*0^Gr;Vk~-NCp|a5yPqg^c?cot5F)_%BV=^JMyexAPvzO zGax9M0Nsdcn3K6dNm*$Da|~;QojNJPrfOoPGNXt-Ix5EWjv}-Fgqqz~J_fO)NVeB{ z6eFoY(W!Z!un$X?cIJ<~gOb)?9``ZSzv%J-T=S$=SaM{@7;;|kS;~vHza&5)U{XwV z3gsqFnIw*N0!ef+)gg>LpP7bCI@L5S|KbE*+?{mE^Z_dEOQ9OaNvguZ0Sz}itqx47 zQ~7x!qjstymh!DsxE)|zsshvGC=7vZ&g$o6IHrCPv_psnc2%GobfI>EfDyPvy4D=k z>BSiaa6=9=&Q|*ELMexTmps)26ObMtM`FK&gnD_)Km_bZRv<48*ytc8<`IY9rWZ$e zE+F9lL4`oUr;3mcLus`YmTBWwT0lWT*Vv8(NBa^kYU>(p!gNkLL!qub=)=Q>Qkt{f z9feY6N){nCkVTTU^35XynueVUk#@i)z?1=x_-Kq=cf3|R!P*YC@zGOf0Wmo#*A#iep&EXGZ8ku9AA(8!Am-kl7n*P!J?uImgS zn$_E%4eHIXNs&mc%=?i`QfJ?IjH#ouN42C7pxXgpIj^FE^F81TFk~X_cfSfBn9RtT z=zf*Sx#K8_8R7Uf%j>P+V3;Rn(pP(nYk$bbzclU#<>=C$65nW6sfA$DEm8}{z!?OR zCxYeu@y83*f~t5FV$^4zv*5JLS8o%E?ZBaH%$mt0OwH^`UZudwym7RBM-B5(M8Fou zNqA_=YQe*$(qg-^kwCX|{y1b|$G-*;Xjx>t`7YRiM&uLlzeaC((5;-SN1do+%ijNuhTGYC)aM)WMG5QX!TkV-;Fg04k^HC=bz6*F8;y6hB6VZFV6^^-fE0G}@(T^_@VVwgIp_m+us>+W|Dqz3dUH%Q8pH+%VHo z<^a2vIZINa`nDc+vQ%2X3|d3t^6D}%@Yo;nezJh&x6nME^95$k*Ni*F$y}XQG7x!M7IH zYqWRZ(`L4T&Zs?^GC+vi;O$_x>Mh?YX(5pJ;7hElrEQO*^~#hH@227#k38*tfw*R&1_>weSyFxV>VE9v zIuyQ9ovG%IMZsKF=!-d9EihgZq-(FQ%56`5OPnnw9yLh2gVgngJJtSM18By$#+6Ob zD9uph@zy{}IwYUG>EPou^pn7x6+ks4^+jH_ow1ToMAmBl5k4ZC;lSZ#emuF%VceKG zmkjVCT#+mjnJdc5bQGLtGY$+~9rV#JuV(=2k+!nMN_Xr3duwcKDUQS>l@a&N-*Ut_ z3J%I$Dw`gAJ9EUu)T|8I zIGTj6RRi`LKFRRrU!Q`0cWy;1;Q`fyQFu!UfpKh0C-^ZRDIxd}=kmY8+B*`Ko7N99 zyTUnDs{=tyvN82$G^T5|N@9NU1zGB*N7x2ITu{Lq1-R+KA!I-&zseBio2cLznf1^+cJ3S&+Nk+v05u0 z+gK6#Y^1rTxy(v%0tr=`}22if)m_ zI|&nWhmwo7l*O`?#Flxlw&=5?Du~Nx2Uw`+TR!zzfLW;o@vAeH%rh0Pi>x6t{fUyj zOJeY`(72k@n4i(=j8a+~)<%)h6ewX*x6;+8)|edEG1kx?RQ}c|uj4DF4>PK_H~%fL zM2m!4E4t*{;Guy8=#S=)as47`0|ZR{9Z1;VMR|@A)8^uYf7GEDCAZ(8xTx1fr810}=O9Y%NFuZ4Iu25c$b-`+i%DN#TRkjk z-S%T|fLUrsdhCE9^h=u}r^6kUo*E5%7Rsi8iQ~ZyF#Y(t`kQdc!nL;^!D@~cX3{+n zo>p5-2Zif@+ml48KC<=D!zS64_pR8elvrXTmH? z9!qx7EN2wDBIiKA$u76YZIkHk2#5MKAl9})8!S@;>}SA=E7`FG9qsoYY1Y=iXo%>^ zwoV#D^5pr9FEdZ`&FQXRw!A&Elah^51}Xx^E6Trx-LXsEcUXUw*i()kzC28dzVFkM z5lVUt&`(E#{g4I+oXUGFPSryo^um}YmpJPWqYm#Nfh3U!hsTsF?V?YTjTziv%;uY? z|77%o;7m*N(+>suPy8|p{oM8%o#}m`#7XrXD1RKopW}LTnsR@?lCHa zGbIOmh1k|J*ttB;8R=B058CJ@Cr=z~O8-+AB>AIep40=i-xu+x8%3Q(g#33bm6@Ib z@?W*SsD1e!Wg(KJ?ZW9{ox*;c>dZy^lG=Gmn9&gkO2?C8)nv*(YD-p`YQcy!)mr2! zkkJT$p$9;{3coLXMJ2OWjn%3$yH~AJ$|Ml~R~3VD?#lA&nRwz#c|~luz-eaai1<>7 z`B_-?y1T;YwR9{HyNLg?zol9tIltF;d!2lLv9!9k^4D|8W#B{XaF!$bA=5IbTA~zW zp%z`U+`Yg3VZNN_Sh%~%qVLo*Uu_(iBJabz22-Wbeejtl_IERp)p+5p&Ev$8<-)U z&?$Uiws^o`-ppcp5jc2Hca&yu29K;+k*I~-KmS`Pf5rj@J%R>fQxD_91`G14hYezb zi>!xpafNPL_0y;(%w;iFam`9~g%7f)K)!&Vx+tohxO0v~{OwAR#zJ1CJ;L*CkJg42P-Eh zZxg2|Czos!mntW>ZWFf&Cyz}NkK#S0OA~JpCtqX}Ujirp&nEtSPJy!Tyk(q%ZB2rG zoI+zwLcckMVebW&IYo|}M6NkSpPEEX?u9>_#8A1!aht_Sn|WZlBv`p5d7C9gxkMPb zq*S@2b(^J4JUA7(WL&spy_#il{|PKKG9Pou|K!TJaA%!z=Ur%!Z);Zcnqd5FQ~_%w zTc2a@;ZiwncHnAMIvysvpFx3rh*T>6ch;=_ra;OoO+>0h0nZ(Ma;YxcQpe<}QtvTp znxy#?PD_znHzitodsxoIli-rAoQnB#YaY_ZS-0*XH;kK~8|2CN%Djp149QA$mB(yw z+%kf6D39#|QROl*f2DH9ZFbFVsB3n-=lnw9r2pN?O!P;y6u?rI$I8L9$MWIzk?9%a zqQB2=8T44e76JwZX7}@lon-&%pG4Ulm`k3U7to;HiDkf#AL`psnAI?t-NAkU9+wn& zjCL?9O&(mhej#h*DSj~by8iiL9texNAoe!w8J;77HkFOmhH42H8?Q_<@MR}Lw`^n_ z!(fS-A#}QOG$ErvBXozlaEs0e&wZ%?`!;`EcrQ$PH{3}aQ!)B`fL%@-a!qScQ(Hjy zlk)JBKk0MqVw%vaXk{iD#fJq=!*N4 zw-sEBGJ=*U=D9MIdSQpov8<>hj`VDTGc8sL(;mXSj8!g%;Vcfz1WdEwk9mN!dGMki z^RBv)%=#P>`UkG$k&(?Sp99OEhv?&VUug#kmRyzI>KP`41ulsHjDePhBZnL(*LRg3KQ>b)IQN;Lx*A} zsvd&U>H_;fZJ6@B$1;)M)B?2!3ZW<`a_DP<-R}$Ncrj52Ch& zA)#tcDR&x)Nn!8C?YWulC6tm7{H zV9?_s$0mH+`66d!y=QeI=WV^`eIgfQy%)blE|+^Rw?(dwd#|p0)j1KaKSdV*wIFr5 z+}*M1x3k{J3Yz?KMH+MTonlj??K@}f8`0@IgkbtdTm7$1QO<&Gu5u8)e^X5YO9p=YJ497UwKt@2|W!x&tAw$OKe$ zH~E7R5X2&>?TLHhF}Up3i|wE!3)uux@dzybWJ~!JTJ=(`j$|vvcqHDzZanrvr7Sk$ zC8l=Fve{fr+M_Vr?{tHO97Z(SovC)3WvYcTY5ExSqm_t$5PumK%a<~Ry4<1l7bsRk zH80+aAby>$#ftGorH=htlyApvYR~Na>0;6slw0eEF*ppwPe=P9b(Wwyk}uj5od&mB zAVkXNYAP184^tZS7*^cBD-JVAmCYVgz{wvChe@S%K<~?Q`8UK+s7VR)Y-cm^`+3&C z05(?B{jnrkQ5IETUg*OTRbZ6vwPYSr9VIj)kKea;!KMPZ5!b1x+rBG;W{S|ibsl18 z7lv)c@jA_|up(}=?$4l`g#OFusiM79#<_k-bfJkTA&yBzAij5sIVYBo!C2Ic)XIK7 zV?+TMEI&woEDF<=51c(ljI%I|SMS9U4x1dw4IV>tM-r%vGG8PR&Dbw`;utvT-8+Dnkj7$pF@wZ*U7^gycaswz3aM9fFQD1ulZzI*YgB5Q1%dA& zVY=e&j>o*?i%a7icS6h}&E&B0`WZ8sMQE;Jx%Oz@`2t2aq&B9fg5Yu(vC!qY)MW^s z#?7H6FfSGtRAnL1elcnE7n3m@(b?vbaU_*tgdF?{;f079wkQa6gu5d3@ddLYW1Osp zm1Eiwn@5Q$24&onez4s!$8fOfm%(lU4G)G%3QMmk>v}KW4{zJZu762FC zzne(MBSn@a1SBO4{&$Sw1JrX`CjI>Ln6GVsO~E@_p9TQExiV85s_|c~Sj0Vcv<}RFO;^d7h_0AfAZ`l_M?z+W#!Wmzi0BRiH;Ky+alD*$ z`r}wTW5yGuiCxDc2bpK#15oeMqjOlJ2RoRKf&t<||MYeHgY-&fC@5L)8mvExYw)cY z3J#Mn>Gg={5R+jgu=Br`Ikf7Y7R&2wGVZ-!_xr$MTWo*9CYJ$G(PV|wZ7@uH}R%HbR?$|sHw7}ujwXaWz6|&S-%WaICZ?Ti3OB4=9ZE%0J(QVjHy9)7k zp(1;*bN_XI{&8DXdbZmqt+*s{Ki>^D{?Qj2z4ZHLQWW^>B?KTh6ozkH`u8du6=E9! z=PaxHZYqFP_~v0%)Oi4=%3+g&adL>Tt87rwf2UTAIyqu#qy2b?zL@O0D zyz#n1o^(+`@z%$0iqji$;U9BFq_zOqu=%XX?jLAX;c+a=3!z~9I(?zdi1Jsy*%wD_ zZJpv#u)1jTTO0uB_LhW5VSj}0z5fz?a&|*L6xJzK#KZa7X;}sp3mS>c(2WnRiBq3J zW2mlB6?pIGR=j?{v9-#1_NIfeVChj4-!a2OdydUNi&SNtpAzKI%9OVBWpSmgONpmX z5ggDKVAF61L#Ds3$r;Q7b3$7~$&&bk&O*`0=8Dic35ftQ!<7}RS$kqyI5T(de2$XVG2zXFq7TCuKTf^e9ueS=ki}V>C zNw~0$Kvb0B7_o0^>H!&EOfmIMP#k>H{~q@h^gtYHdu~RQm@VZYT$NG;`a7ULKrsC1 zZKKGAWoc=!u0ou1>aS2ND_L;@jimV0V%$tqdG#!fwAyA(1H6G~Jp#?l+0;_*mQ!W7 zEX~}j)H30RQ`HaxtwNNva%t`}^`tDV5|*?IWzRFsLIUjym9$FjmNV^!EbSWSv?`;A zN}VRmrMmdE>R++rx~1+*jkRetR0F8u`bA5PJG9j{;YtR#S%2GjsA^r(81-v7m%CAL zs{C5wEQj@%FFnQ>z6~Ilkt=Es*-Me9He5IY+*6~$cf zP6N_gl(C&;FckHh%C$KF$Wz7!+3WeetqmghQ;t`i-#WIa+B>;x)y9|6AP!l6c8~*A zlvEH6n=Bt|hyJR#C1h{rMHFBY+DXIlxRYKyA2c>xPKqtDhaF#5hOPX)^7~Ez(FxF{ zT#iv_hk-TuxYFv4{(ue`S;c)PaqokUcaa6Vpb~gDRRGcx7z%uA%;Kj@DP|rPR zg*XUN3K>JRcgx=UE4D{;LrU(4AMEPSw8KUoE7E#5_CHId`M~SGSeh*G{}+~~Xe0)Y z(|%*T;g@W}*X70g7fUmdLZ|t^N~KX`2fu3P|5ww|1RK%s{QoMIR%kv^$d~y~sdUA{ zPr3a6G#zP|ssE=`x@tM$TVM2lu{6u|*8kOXluobgIfJ9W#v+2wtIhHdLrx7`=q z_lT_2UT;EC3+ubp8IQvWSn*XcmXnMKHArda2 z>uGY6C1H(=`F`aCixsPA*=KN#I^eenkvn47l`Ftk;W}d78wpBhG4&iVEptzR2P-zs|V0PW>(F$Vq2kywybd&Fw6HXVnV^7lpDxO+}Izm zNNyvf&N4tCZ>VATyf>kAz<&;^^&xb!H$Xjt}L*h zJxmOC{apfAN~wN=^_=aG3$(M?`)?s}z8h3%53aayn2$-<$x@alb|`2+IdoZ2SDzX< zZ1?tjEEf*`zb*-qJ3MtUNED@d*)nZDF|j`OcfgN6$DdyvriOmZx2#dDThIG_hU)E* z9C{pTD;5iG_oBLvrq9%$rsR_1`qQS5i}>0f=pwvffVt8)k6;P9?9!AlB4u85$c{Ut zkjUY4!_6mz@t=7T^aZFP5HuK&tp0c67ll3@ban5DqO@c|KS%*XQx)?bil1&6K`zez zkNIQUmssp%;lquIfc%<$ICnfCraM_9(=-@1!~_6Aq5*~654wK74 zaLZQ^8S-3X_o-$)l*I;%l|E&a$)=0BMw39XF<^+lXm}-+A(H+TRe`SV^5IUOP;u;0 zJa9IMzRE?V9>Q6@k1FvOks_e*$f)3{7uUsZ%tAFC6GI;-apXn3rBp6MVK5f5zSMAO zT!=&<)C*bnyPM!EH?vpu3f7P}Ty4-|EGh9$C|qs^N6E)f;<~v6;@|P%vJYi4Zcbd0 zwa5{G(m*tk+yL%F+wQ+wK;v#iT^J1NJF0*{;rd*pCcWY&J4YQ29?Nh zF9ib8BBYi^LK764S-BWWXfdY{GOljciUo(GcQnBP8vJ<-`dXdW=@*v3fy!jHD5Btv zoRk?wO_p1ypl;z$RFvR=F~%ClY@R^fd_m6HMLO&ens3UNo=$~QE)i4VL&L^t2$!ic zMKS_PskB!C0_Fw?rhuwmEr0T%$cxaAe@b}>Xab9+PDEMs=NTfZ5+J}KB=K>e63n%1 z_cm5X1xh>WwONXDG>jnxU%J1L3^RFKLU85=`sNVUJcuL!+}<3Q&11cX6DCmf3luW3 z6o>ISfZo2q>p2ZU4jPuUg5&pG?tWzt{;H@#_*o`~2~gYZw5lrV3=G-ELR2cTsyIYuW`TP zLP)y)Zk5$P?skMM#27eh`4GD8!<(t6d!+&)v8@obnBN43W%LD24A)?WvX5Hgz`Zg5LyIhcOmlkX9*I}O_&7J9&A$kFrol^G-~l4Hfs5ZW+sG& z5fL7qqVy;iOKe;|V4rB&yNN|U5>qWW^!kGm(HU{JH1pM)Nl;`Q1%@q{n5`H--$)j(yxNk0 zNCS@KA(E^t_COM2x9J&ABAJ*5O6~bi8^kH>SIV3~!uLw5vqA`-`)b`dy!v%E{B;LW zkLJHfR#a>FkN-mn8WJ;XPJ3%WDb!UwD%};K78HqjCl=11x(Hj??ohUHcM1seT}1rm zE{?#QNUhpYD97BKCjE*^#&k)#9nc#473F;k{EG5SAM1sgXa7xi%$Af6Ts?0%PCu@Z zg>9`j!`)Ym}_F3#wPkkozmN%v#s;ulmD7Wy832-8gxLZ z_koEH+AORK$PwBCu|o!O(gZ4DO5NLd9nl8e!m>T`P&7d906IpCr#!W9U>viMxto9XDwd84BQ~cbrK3bwFfL6l#!Z zYLYM$Iz@cGhu)F-aM4^DanL8xt#nBn8A%r>G1=qs2<1t6dZA}{(detulD5Xxzyxov z7#lfI0{v<7a#WaNaAmXFpM^;02snj2Ed)q7i(2;b39Ui&3QtgLrdsF^hWSV=|B)bWlJ7A zgz+a~tcK*QW-`ME?c0WCe+#*zmFVwCyKGONTTZsb4<@t?rhreL{}vf27Zx?ay9Tlg zQ!Ku^w601^_g>Ghw+4$Uo4M_jUN!1nQ(lXhvAm5 zwVwyF^M9|%pW-dRTS;HB%g<@U24}!Ru4G1>4E`0Bg3#&b66xD9Rsi>!js5CNK;TF6 zT3F+hOFQWo$mSQ+D~5=D zQ8#Q6zHbrbSrH|E;A$P@*AFqNQJ=qaUDXUjTK2PN|nq@mj*JUo3Q%q_3Z8 zC=d*UFXgE8v+yls)-S!7KsS0VlB+Cr()Z$uj(46YF-!N<0a~N&qe{p^fTp0s#cyEB zm#`!S@;H6Vyt9g38DdZiQxMsq6CY7YkAaG9yzj2|5W7&H$w22;Z`rf*V*Sc4yow<@ z`;l_Ab{Vv;h$wm}#}^o5?tX;2v(j?=GGT(!inHwGGqg9o3eHw1aD2s`QK+$3@OQ2< z#fEa?$$wxyghc&b*)2^5^W+_bSW9vPy^H zV>VCgD^{XjPD3hfI7V!One1zsk{aghD)nBAx=sPD-XfjjT;m;}T**K6e7@<#4gj{U zvNpQLH|->D#$xpIlEsN20k{-ig+ME>;bpSksT@rUJ&Divw(9Zf9k`IWv& zBnCmu*#+n+xqRywT7-?%&l%{eE!K$DLG3M36VWXh$!Z3z4B3sw3bj=>HI#xm)^8co zg3U9LZ9?d+1m{WF@NF)L?R%MR_ESkDh{@sWE#R2V;tZvK6^gw4a)1VTKM1P>W7@^d z+UW~}@+NZQraH8z8aeMHSP(nn6`QIUBY8VZF%&u?9XizfMCLmh?fp8Xb~_v=8rgu2 zmp?nZ3CqOqo2t7y$1_`~?K&|KyF3}Y4Aubse$g#cg~g!kE;07*yNWKW^FW{M7B>B` zo{IKr#f(Y9?s3A7XMqj{{f^dXW z-6W26s6=^x2z%+P>yeb&=-#WSHwG~MD=Dk%sHO(332F{2hvr|0#JUIG?S~|k2FRF( zXmd)WnFeHIhY;Qe7;`$9bNX2wvG6y#kg`Y6{fE#DJE$_FF%|pItA_0ndRDWC_VtEJ z&s#UTa?S*6Igv^e5J$fIHw=2`B&_F58T5Ggj)4*gh66A9Fd0*@r&2XzN8Pe|bIyD2 z*GE*58rYRMwh%i+|F#a|$8cth!y1mXuD1EcUD%9{}LMhy*?p~G*uPb*>o{cqBQw}kahblcUm_^P-$eqzty$7 z-F2gT>|%<1a(bX@YI|KYQ)qnjWx87_a=|XLzq%u-yFX5$p|&e}oxj(XaBM|s$j5QG zhG^X0aca+h_QY|7muccWXZCEmm*`^nsrom-a0*U&*zsZr)@kfhXioKgr1_#>*AUCF zy9YP!kMP?V4)GriqB&ILKU9XlVQS{UazS&;Lcgg$CP7Sd3{3NMx${U)^C-d#@^GH-3v+^b1X>n;<>-6gcoatymem})rkLU2>;bG`m56uL5w`XDm;&Y zyvWx58#-Wtv1iUWZbV^o;m>rF)y$tZp(RVBMV^2~wvWFOGxJKhQ!F)0gddIau?zf0 z3qBuzzB?^BDK9$5EyYwX%PB7_C@%=j3`H@o7=A1}^mN%EuYOdogw8B+TrMfbEgN?I z{j0D7(V1uB(1XC#SXL8)r#GOpKJ1GSe|tWUKp9XKP(VhQz*+T&BQ7got?x*Rq-lz@Jt@v! zZ|qlAb)7GdqOeS_d@Lk((t`}0(FT*3s{D6O2-kLM+WccDwjKRFoHvf%a;BpWGo2<~ zS!Oz8H{uPC#{!PAw`TZMhJsYky7wlgg+|}I$HPfl`hd+;v)OL7Iprk%He2f{C`VyA z%?!OKgNEC$Gkty_#6l25e%?U$`cZj6(9Gs4QWqv;;P%_=DHJ+JZSqp`Wk^hCFm3i` zw$tWg^;|W^B^)`%AjO5Y!}hn{kzwNlPp6b1ztx<*i#iI7|G-{XX*0{=0n5+bzWI0O z+a#_a(Di>^w}{?AncTnx-N5DFAoSfJZQr1L-k_1*Vu;>incU(8-J+4Att% zcgCWR)kM`S-&YzFwzaL#ipFB*S6j`5sK9|nQWf}T(N zKv$|S)1RO_RM4&H=c6jT2kW0ox&ZE-PI8;byHtG$-*E~|n;zlnTw$nUT$rBC$K@nilsiaE8 zkw|B0oobX)N98#ZXrF0SYS*;-+uxk&)Ee~!T4lA6=`~u-(HIpkG1frS1 z|7Sa2LL1GKtM6&ISY_1LyFu{PbQEc|JevD<<+Rxokbn4L@O)D>5Jf6myXftHH1lxf zNn-S>cCt`olHWn}_T!46#S4~{WY6pNa3+N}zgN)r;j*U5i?om5|K%ZSp)J3UH}K=b z?*56j|1TI;z1Tb)7u&!rnpVB|B%TM`;3!#Yy~Ge*Gn-@|+hVP=@Z23P}nkE&&>o1mu*6QGU8^Ie?GYbJEH5LmtqVys&8m1K&GYVn2 zN0}^T30Kz{!$@Nl7~`7hY`<` zZ{M9fb&WM29+oviv3a!2V=n*cS#oOsSXIdOaAnkJ<9LCeielN6oqG^4`GJ z3d?H)XNntF+GBy(&FF`)$CDBAe%i8x?|Isdu|M&mmkIRS!?IW~B#x^o;Dhto^aDd@ zMI?eS{n`w;nc{8!z|i{KZNOQIZ4p0o|GfXegOm9;QE~LjGIg8M$4W!{2fsjuMP8j% z7Ju%G^@01+i%7PgTxqIJK@g_z$wweh)}Nx3Q7607Psvw1iQM#8?#e0>Hv8(AZeNFm z&c|1=njvd+$3{`kw+rYo9fRTK_0bEbc2Y~fD z86vO|OJrgHpAezRMp9PfKOsW-pI=NN6h@QH6$@o*W(;u(EtP+(^a@pGCR?hO>r6$R zk^f`cn~oJ3O|{k-8j2X)G5Y+QI;9z81mMcVtG;43HG%W z7TL~Qa5g!dv+~C=Kejr|^L+EhZStu=@N_@`%A{FgggMZ*2#aNsE-YST(zH04Le8#a z6L}wrXV>Gbq72q3n%;ZX-@a13D1L2|qcl+ezd{6eUHhtBjIR)3)lI>H4{|g5+_PzZ z?YzzbrHQdF5WVZDVTi$irfEWek*0Y~UhuMZMn9XnrPscTsBOzR#;JK%0p7XeDBj?! zU@>pXIpwN1+p_x(N8Y7Jd@H6d;q|J^q7SqO=i1MOqQn*pLpp6fi12INb%hpn2uA>%DGQK=f%1QGt_OEOtBopexH7rQTp!Bv%O(FD^ND} z{rBMql83hh>ZZ{j8JkFt`DNyre;z8LABKw>yt1BuCynAB-1J?H43~{zVSlXj#3?^I zTj$3atl2M&{#bA9L2h$!|6QZM`QulF7ig>aa)#G7@bmK94!}jmdpDCf-rFjgRpi@# zyy(}^HcnZ^$2{F6Q12)Ub=2oLBml+Nq$r_R_q6ml-1p40X7<&vwhyFp(by*Kcj>Sh z|Mso(+F0khHxktTsEJm68$>Gy~FR*;F- z^B$^n;EQ-}LZIqdU7zOL)iG4iJMWBYkn-a;swU{QYdGkW>4g+bo1!1Qs5lsg3myXV zISHDho)X1>M}~rKAXcp&fZIU^!&o$ctWq3G5(@_>`JDK5azsuev@4-eJ{VSC9}eq7 zj)X`tgpX1j!SfD_;?zEb|A-a=5_L2~)8-q-#7PR1MKZ$>ZXZVGK@U}}HpQam8-dkH z3eiv{Y9-?lxyq7{cF;|kgTvF&?@NBQ9gmA(JBZQp07 z67EQy@`m)^wtcHR-aQde{6Dt6R{j@LCHWuQUMmazV@&$LZTmEQY%406FWbIo@7I6X z_Rs_xY8>KV;J^wcD+F+1tQ7bkddFBh_49eJ&DqQ!R2YV8^U3bwVEi8kB4|6or97U{ z{@&Coo|6mtU$*@$QYCE?7^K=2WQDP?I6dDfD#}W8nkIIMP*{JI-4#}qYn%gH%bI+x zFLt#8wgYX6nzl|UcdCO^71uVy@*sguy2oL$QChUF>Xl?&j-vz-&uIb$mo{_;S(O!W z@TxLMn?#bYil%A@41$XrCd&{OGfN+ww|+3i;Sw~2MpqwcQVj|Bm5Pw?*d>s2aYK0S z90&mt*M-m?>&KN@7%;mgM(jCosD$k`h!MXjyYE6}&RODUn8GW+{(`jGboL6m-E1nw zZuSmlHsH;Sry4g)Q3eh;@Wbn4SuV9o!CkQ)xrOc2KJ-424LS$8C6E^{w~Ee*o1{(c z!1yJ1WO-b%CbDUQDYd1%t@Ok4yoW$Ynf9Nf4FM5bK7S&$MXIsJ@SRh-7iSW zSpZ?6xIIob!QZ(nyL`&vQ2Tu_aIi!VIM<(!NZ2A&4sK#w_1YUXNTZgZ?%4iw?k z*PlwpEiG$}yw7J5yi{*P(ytkpDi$9^d{=wTU9uA=-Q`wA+a~WGMB_{MpSwr7wK!V! zQ8L%*xP7+Qe%$!m08YX!g6#ur(AG_i#r85OVFpttYIi(U>dxv%{EN)bjmZ*(4e%Ol z4=dJ~z1;6VhJ!w!vxTovk@-xa3+gZJ-LCXKUEGOP`@v?dToIJb$#+l^LmI1;3}H_m z+c{7LW$joV8?yrnEJeH4mO-=4O&^!8ux0D}Do>rV->-iB?%E2Edg^)mxNf=-+<{en z)!qSif+(&pX9CkXA3v%X9o=ia6N7TRF1dzsD8z0X7KnHFb#otMo1SE?G2 ztRAFDrnZ)uOl>797aVGpf=NnL-p=Y)=ZAN1THPRPb)&7S4Cj)Yq6)lcSO7cF=mh-) z0U4N5uBU#$;vbDV0uU-eMgT0ipwzo(;ahTjVnFcSb9OO^G5`8~c^%`UR_l{Fr5>QS zkM}l``Y8ZNG`fiidVjX`Z~Yl)bBIc53PE`TQx**U^23GU2~mU1^sA2?FBpP1@f!>< z7-2NCe?z@33M?R#2~X4BSD;Mo<14>7iaGs)MVRz3x^~mB%y?kfEbE&5ReWc9RjGJbdathMM6=k z3ZaD_kPc$#z4so9bTssi0W2tps0fG{4?fR(&ik7)-+c4UH{qZB6XxFc+IwGf?X}iE zb8K}41Q-Dq(X(gUBuF8mY){Nu>6INo&S~^&By2D7Nvdm1YYQ5!{?J|C$`tSQYvF0O zDZ^wmH6n^3isk`m5q$E{ruic7@DOnu>HclO{mUaCS>uQOt~OdypzqXRl{R$E2T;cX zgJ<2toqcF_D*Y+@6N2#53Bf1BZSiP)G#Nn2e6x6uRh9VUTDo0ZVM%J=}3!49Km}YH9 zTRKE?n8#(mbtVLa92DSiLR<}n z?U$lQk34hUfV9-4wm9*vS^UAd z^d?yHPmw4afBb@Q@<&p>4mBe4Q9nRs5ErF&4x_2pQwNKFV1=YhXNMUA<`VgyQmK zX}MbLVf8v^%`UiR)4FC;yXMT>Uj0t-r{x;@$eKOQTF_X{H|ts|>e|EXT3?;oljYjI zh*}C~UD$9f(5B8uuMUz^HxI6Zuhf+c*3om-=Y#8+Z0d8h>+=Q?)BZ4?QrlF*^WviV zg~56@8v~9NbQ;OLOX>yP5T&7{2~IjO60>O#jH}BTL?kX6I&r|HgDn+14T6#GHQKN% z!3L^^jYVL`t2^jqDW_{Y28LWs=tr zGN1+h5?Y%9%`}ENu0W&!@MQ9X3}kAraci$SNcgZZ1l5Ao0eK^!SudfxqX=0*<7E=$ zGPxn=USoDs)AQ8kZ0+_c?dD!oJN^5%BEO~vm-Z5H$JKF!^>%Z%AM9Ra+oQH7k4|(@ zs8g>oOkSrWcNQXxat#K!$f7_Ig6(JIvD~7LE)oR$2781UT4wu?UtNJ*EwUuDE1^o2WtLLa(Tj)9%t7eNpy(rnsY=)NRY)TOT95`^ zlIxJd*yB{pGr8M6$%D_R$CAhU%}s~I2CsIZzsnLu0RKu0>!sg=$)U1x#l zXvuADTuBMafp#pAvIko@Zcj7@4`{bcrLFXl#6berrlkql1vwNiz4)PJG)x)^t;qFi z*6*4VpFFoVmBih4Q350-Wk)fB?LmmBUu`QDN#}wc*Tt>xod$V~BZAMCHm;%Hj}I10 zHHIMJmvctUs+}#K&jr=Zy^Nph4}o5syw!7>yU^8eryJeJ-Om2LHC3=Z+h!d2cr@a$ zvs1NG8PZ|3Gv3q*H7jkuTKPJp8X9?RVU@OncWt=bro+Du=6Qa~uevvgh#1SP4+98N*6L zpm~VKuIKGN62qNqD|x?OT@M+z#?3pYb^cHt|E@C`NVz@X{dsEf^tF8P>)C3O{6iRP z>l8z`Ls8D$^zA9rmMPB94>rUXp3O}_B&^$iuYS3`uG`fDDj9mw)bwy1+M(C6H<_H? z4KIBBvM+c*$p&`5vTLQP9X+|0lsoh+ve15alr>|nUjpxshwj8}aMJg3OXi-ZASxZ^ z$0yMX+?)J7uL+i;3ASsE)ngqKn`WhJ0neLtPsfr~K!vtrS>*OE{8;?Nm}%6wmeE^f zJ5s6pykg$?jKpfn?~$ds*IDBQ&#v9K*_|o5{n~n@N8&iwO_ePF`K7%4!n0O#EgdmC z{=Ig3_ln9u?H!o?3WT_7cI)>DFt9au5bB@UN(t&g2iQ$0HN$1`(A~<_HIGf_i`x-B z-Sr5NW6muG+g|wYW(eRTvuXWOlpf zde!hAh8=ck6(U0zU*$G%QTy`7uL0mycQ!`=+U!HV)Sk@|PCE8!y=u?q2;W2lI`#;K zrpwzkYn2CI+C&3lJq)z&&Ch^N1d&Xh=Km!&6v9IRH<$U1avy1IT-ofI}vv2 z#W!DvXiR0xxz9Mw_||09x*uWZ@k>OIRQKimo*eK8y4|rKIbGVcon@xqor1p)6n(82 z{Q7*h%ahn%Kl|Mi335Oj*1SEqYy@|@acEzQzIdsdKmEJ(rN`Yot!C`Ij&a@Ik}YZp z2L`VXLf6qzZHIThjFNL2dF-3=S-#aBbo-MB-?YMI&UdNaf$?WS(Zl0Q)Mp&-yXkbX zRbn7F`59~pRF;G_5r6aIX`?qODzkLo~O8F$Qkt;t0y$hnpK=Hu|{%V!C&(hGy7VlM&GLO1j5slU{T zj<{d%Q_Y8~y=DEtUaP_&Vb_1)&f15~xZ4!g7=45Loadp@1T(Z~z&=p&rP65SBsb?H zo^Knbb(11EKWpoPsgn0vh8ONxItgo)(dC&`*d(y>YAx@|d)Zupo&JAd2y$HkH+cr~kyz$CewQ*pkA?ZzO$ol5_ zyjH~K+q7tafU zL1jeak^KGgUIUK;a8kq`@=_C0Pgb%xT5Wb@AlBS_>Qa`B6Nyi4kAUIZU=rQSFyQG3 z?|RRJpiRX(_<8k4u=&(n60m5$o@7J_2eFb_Jjw^7AvbRf?RXe5T#1v3r)m46y(Q4o zvu)TwFnCYH#K-YugHrwKX~+y+2Srq%Y-luq_ge;cVBp@^&R7WU8d-D$H+6Nz(s$z0 z)^we2mf}HUljJ#3lfEf)-jr+ljojn;h9zel=4r+JxAcrZwS<|tR}3G>Ko}*;x>Ob4 z`d*1J7+`3+ErIo$<(JNxuuP!gJml3sB0ub@FZjJDmPL-$?u|HTbFPm#e9L5{aX;b4 z=n;4Sx7oy!w^{>Oib~@oDPYPOqC$4NWimF~=~pn68FVRXC}3K)=T;rd(Twq=;kK^- z&%&8kYx@&)9b>288XI>G=KSB7GGB8O!Qw6>6MF>5yw!`H)a7d|B*OEhZ~8p8oQZem zKhhjs{{7%KwFRYI->M1IyxnW|K4jaJaMk%@N<1G`O!s%>p?H_Avz;hpOZHv(0Ikww z6-!!1g>cdk4W~_cLo@B`PtnVFJ6Y`B62c%}VlmE9$;Im+=5Eu6ubEO@aJ)i^4^K0+ z#G@hCZpltQFyb@hL^N$IiTbYaNs9DYmuF3~`pbMs$A$|PTu^S5&0~FeQ)u zt7V?`2=n}E`32y^PgfqYUb3B<8DC$#`_M_p>Mfb!^J5LGu=#?;Z_q4uc1>RTBT?CC z&X0Ye$d#Ks6xZ+)Zw(g+;k#wHCZlBD6>X`n*%y2kBZ|jolT`N%CV^V)%9{rl<&ahh zC1u0Pb+SSXtRl~L{j}XWdc zz>+{qfx7_WOG~UIH5VypNGMx{@X7h>PwuCd(+WJ#u~K4KDzO0XhDDZr4MwILUzs#x zjv_wNry0k^u7dfRwVj?+FEeSWx-bj0f7Fq_i6qEwcA8C;C@TlySHER4zh4F4rJdfs!oTXuUrdy+RTb#i!i{{w%edqZ^Vj%R??Tao!WZWJHI z=8oVdQwp?5usum4D3>OA>HKv3TYk^b5-m$;xd9Q7O{&7Z=s6s;O#^3Rgh`#Ie9;zy zMaJisW<>2UGQLwg{N6ZF`vD=PmGD+dmK3h(qWL<0#6?gzU&v5KFFADH#CJN7%XszX zIp-lNsr>t8=HCd$6&^4#`sOm5uA5m5I(+oeG2vSAfl!q?O$NfTfz(ESw9>XCeIP#m z_NH-n%*2d@6IJf@11*jL5{mxu*D_d~Ty;CeE^I@UchcZ_ety5)lg@3;O{YL|>YaT8aRjkJB&kGYqs4=0`+?+$-?h>K87%c0=8qi&#i|;_p zr?0S>+G4SvJYk)C$d&;#CEe9y#19zvo(n1=lu|$q)BsNtD2>oQp=Z4Fyo0A*r@xsIA*~kmE?}& z?wknKWmqA2s<-g1CNCMqm7j?Z!dn@0aD!J_&v(MLm=!Iy3xXCU(tmW_`{8y@DQ%Yq z_&7p|^T)f9!FKOBL2Rvt&@~av{ur(LqLqdPkbc%JM(fyE`G)B7HR~=+@PDfeCFoE*<07v>Nj`YDs!>+2%K{ zq|K!2OY0jcK%FIHTwYFn#@o1q> z?NNih)$Sd=;AQ^_=jPV6&+ZHREAQ0&|KvU2^B)fO|D5OFbM$!0<0zO+ePOLTE+g|r zf<70|*!LNFwe}eM)1m5|4?WhCg@K~FiVEAzCUK?0w{Kw*e*fCUB2+? zmS)wq$oIxKqO~MGZ%8G-FmieS$)>}c^ukk7=%W6mopWzC20i!XWW~Nt9+iQ!Wxti! z)PM>HCQu(Me$J0(i$6=^xFTukct!hAX6DPljEltA0;5@B(4LjS(2cBtYyv!bM+jQ6 zQs2F~QW4z#ji)2^wHP42ast#9n9P6-Pm?hyuubk(?o_-7Li`#fEVy?uSBOSgwf`eS;v4)H^r7oAoz?RN5$oFK+=M11DLxZU5ZJ42J!M-!K<>~3u5_@ ztdwJ1*fU2YqX2scDZ>zeV84Z@^($W4R9|OO?}+VhyZ2_;a5Cj z8Z|_JOXC9b!x$oUa zh>4Q%_xOFK6yYo;q#r#{j5tcln8M-GL}b2x=ZY`5LP3pR&F6VD&EAA(cC5U-K!F$MiOoQZsPjCynF6-}0LR znxAl1EC%ql9S=qzITeKsm$wVHLV4P@GbwtumD%4$t~J52cqwgOPNWeV6)=&xzu)X; zdIEB&cOO*(94}wZa0;i}+NYJ#e7>+Buc1^Ly{(LiNWy5sjAn$4gRezOAz`znXeFay z-+0OPtXnW0$W#mCMoiC7uHkcZFi?72m^Le)wq9~NSs<0Eoq=9e4o-} z#i4~hqDf8l&EZ{H6M@}9Ut2jVv)hsxRRnq)WrnF$jnY0|^y=z=wG7is?N;K@69V0Y zMJ7n^j{i2kFeTh*uo!N*t#Iy`(klGB6{w8r@jHK*O3PRiSSF1mjDcEkBz z7Y@nCnz6!$xih2R@E0nqr{h%V<2f3!^)On|SGmBND`e9XX`$MteymM1{N0FQK!RKF z^H!<>iI8ctD=>8@8v0RCPzY^tE)5!_#I0G7^YffuN(J^nR-zg8!bM+hoG{R(w%i6r zZX!8&`=-ZkjJM@@1Z6VuNm%_dbL7wCW#UaJoJ%*(1=&*j^uI#xCf%D2 zFDQVE&B(Btt_dtjH9*sFJU|p(DN;j>H*70=N3(Q$8kBM|_S`_Z86k{ahL)sCTd+k- zC4$gh(Pubco}yf?bReQNWAS_zflqm97AAI5*Hjun_pBRXRVZ}J;1+9Tdu&7e_OGs@ z6T#w!Jm8@0{SY7 zcD4**21pzx6sCu&q=pgF?bxZ`%q(}-jKx&16gJE}t`o}bTzuKERJ``3VWe|lZH;=J z99j8>b$wHAeH696WoEZ=ZT;QD^%>9g4{3J2aqAzO&z1m=&3#(id1t3qY1g&9zQ<}W z_RFpV{^qOB8^n&Xb!yMx$k5bE`)dwZ@@DLlg78z7-h(-N?j7aFF)hT*l!q({7i5)@ zs)#(>(cfld>YWa5qgR?C-ReqmB*rT07V@u8%H1?m8u7XCb2+z{IfyCgd^h1H9b{&^ zOP#*6#7-w|j}=}`Q<0C0D;p5v zd0=&aLS5t>{ig7I=Wg1j=!4d8&70y;Dm-(Wl00(ahnrG0Dxz##GDA{Q@>{Zdmu1Yi zDV8tk!@N&SFAo)1=}F@(MdT_Zg-D0?Mmy@b*yu^H&>}c zK>lbqBAfe6tJgpz!a75QDvTjkhBQ9wCf1n(?h#dv+E&pUa4u_a;|U z{ZU)D4y@c7O$Aww`5k}b|0fuZ<#q1?a_*Xn7z~IuGf((xzbd4>kHiIgT;c-o%_xEZ zZ79z;6WuH_Wh@F#_0-9rFgxcOkBjC6fv{R|B30!Okczo_NX_)Vgoqi^xlXfCXE0!DGP=pTSx$&<~KUTzk>`bSB zS1(DCcX@TRQD`z(>G7FP-_K>DK>wL&T7cgf#qN5J=5vGQ(%A~jMz^(pDRu+@==7Hw zUH|IzTdG%DFalWM85eN=Aq5g0NV!m+>0U3vV+p^SW$>lHXZ zg4w`yA}nIzuFJVJ?$-oW z$vUO;t5Ttreao^{H8-&JIF8P|ef`EZnYdX271RAtYQc!G>N>ks`3E_D5)I4kp7Zld z_jaQKtle^9kCwWR-&cO=IX&F@!k*>HhWsz|JORaLS$O_`SF3y=D>1+USX=7Etc++0gs&@>cTCwp23|C=B!n?FL{&JWq9<94m&k#GY^aLqiiH zW%1rr%&XRb>DYjriIM#?TBlA1mQ>O+j#o*&Pm7_#vl>t=cxj!aLoPfxD^g6G=mLd5 zohE(fHZd^!XkWDq%;H+2-Pmc!JSg;eG}%>JiidKUU?s{7cLIT!SvRUh%$OB$Ul4LWARf1n2>v0>A<|cNUkMk%MN;3j>*<_QBTi_3!aid^F_*0(6&?!Zk z-0OvBpmrh?HDV$plPJ!iei;G~<2Zw2h3 zpIM2snr%AbeRI<=*4ZwLgQT$e#)j23iupULaKXl%(}+oNscs=gK~xc8HEp$FBX}J{ z4=wK_V)^D3=}RGl{Ze2yD|!n@+S&8;Z|TLYe4w#7du`SI{?4LiE|rVx%Nj&*rj8Tl zML>klbRwKVJd>a#h59dEFn~$`(?8*u{U70g+dB6FIU|vOtp2vJJ{%47FFIITjR#?LaC+&Y~G&zheQv!8{g+YhAF)4o_yD5XHO+c6qubqMZS!pf;dCehw z_=o>}=F7$j)IdSisHT73yq<{XZ078v>0ykXmnnvA+RB<)X!%LRtOEfj zhqcFYa6}Oc24MqcWMxuBxCQ=CB%*aIT$7oh%Y)~i_Js5grT(Wo3Gq1QHWl`R5Q6RR{tX5-~}fFY}BN@BgH-Wlx?U>Mmn@!b67?!!do2j zMQh^Eylm#%fN5>gAAM8I`(t0ld-2zDG2D{8pD_-Mv6jA_t}JL}C_KL`2a zpFJ`SaOl(Kh@hhSFW%kH>LbV52SBrR_LSVmujjiTTQj*WMc+8z7Y*|KT&Q{0njh2i z!gEVs7U;$OkX`?!->}&e{oSCV$mf#NaN5NMST0TDTeOXwMF&^bjNoM6g=TS+lp>gM z9884siuKobH$@F_GFI3@T#5*5sYCJfpoos3O*!g*KNxLU&5}W~JsIRLED=!^DVxc~XwN&qOJ7})V2 z`2Wu%N&Y}IlK(q|h4jKGmRbd=0{Xa9UrsE2 z%l2lR)KI`JSX91a-?_L{6qbE0%%Ptz^f}|mQwX*!3dfO-TeWT)9V&=7))je|YRXgu zqM}FcJNw6)5jm3L$e|ah5F>X5QUoa9FWjq^AT5XKnTdSJ^_!1bXLrSUKi3b72#a#& z{qeJu-Kj_zk_2QGMe;}c(CFqxNH&ac@GRZ`Se$vc;$unfqfZ}82~nbF66kcdPvvDL z6`v}qT0VWMq|^6+yX{oBy|37*={o$hQ%i)1?bZ#lx$oAG2v+VkOvvx-Hj;G3 zJ~z#pyMJz8yj%IXW%bd{=T>r**k0S)boagX?UKs9j@_0W$=Z#G%Vuia+h6y(H{bIE z!mdy`)M|ZwWpk+q9L}|W^?NB}$yFakXvnxgXW*{d$$YCS)mB@mq!VIDGI_r79 zriWZ-Ik$@lqb;Lhkz$qbyXEup1B-X`_(9Ok8%Sy*%J|hbz)>9lFgAt`{K?IwxF{7Jt~t|2iZIBC#)hP4Pg0QG@4CDy^@AV@7V%h%7&Z+;NCLF%(M+K=gSw!e`0#j7*%C-L(5O2ljUZQAaG-5rA~%LA=E zK}Q4OU)p!>Kl3`g`hi*C29kpe3p@RxdfNOYv@Ph(LkIvQKYPzbw&sRMK z_CbM8#xdprb*!hDwG*U%zop6RAlixbLyE@Lsdoc_-W>9Ne{$WoEQZIY!Bk(~S`d@c z_M<6v%9&RM$uXf*uO1aJ>+cz)UwK7$2?4~N88^zSrBGM7aGXNnu>Pd!A4r^opBb%- zdA(qjq(hv$EfcR$d%$QR&6wB<7Xqop=`-OWS7o`>;5u|Zj~|9KUZfe&*EhNEK%H^S z!@^>$7iKHrZnLwzpsb(_8VqH5vxS9_LtEh1j7jtdc5HGSAQORW&t#DKREW_r?BjdA&U;m^)Rz?1SGvzBjJr1%oqQuL&o z_4n+>i4ytN(f_jk(XV{6zvpfn{U6r1=NU)y2XRo~72ln2Fb<5j2=WPUI6HI?Ebub&y+Z5j^+F1N8UGhF8-3M1CVRb+k}G zdF^n%b8Gh6uc%B0o^P=#PJR?i4>Jjuae*;E3>N`wCZTW+1;Qf(`kwlu;c5aGG|L8b z4*jVao0^yu-(d|*_M32nv*q+k(M(_zmC!tk(|c06wf9(Oty>eyP+x;S@e`yl769dI zqk?JTXInacGoB=5KmC zLJ8E>>hnlA(fVy#{hj@jK=BtuX$pkS+pfmom+)VG{)Q%H7X~m z^NKNIF$&dTU#xGvP;skw=%}Ufnl-ZE7sDG)HUuxn>Su_p;TS!*J#$+RcCc?fpe9ga zOhY9BQ?V1$&vaUyD-5HWqY7<2$c;AmWJ&a^`5CC>^^My$>6ZwtLZs=82j^w!qs zLEGpL2_DW>TdoFw$kMw_FX=8km#-xZgzHn2RhL!92blgj^ByJ|!+%^K<`SbYguPG z;kAdMK+@L)0Os2>ojZ211+59SikALd{dPyX83>OuA0u9-1<-vf0>4yVmV_8y_KW|d z)&t+rH?~`1>l`!1ncrz1O{_*fPP}0Xcx)#Yq7vU-p26Il7;kWfFZx-dWQ5Hp(1tWKbBE8T>YQJ15_5l zZ2nK?R^Ry4o~*LQ`JyQcYkSI<&vf|wP8!};^Tda?v3s2<}*WoyUvPNU%}zb zc^7xoMpien{o*b?-oJKfM5#s!i_8Ty1ncyj+qDLc=-I6-^aQ!(|khqoX-+HfI!RqX{Pi)*>ZtiRg2vsfE`t$&we2ycdxx+(6ZG7nK? zXe8TpJegXnxx?Du-ij0~OM=#t>2KGWZQi>#Vu7sR*I3b$vK6|^`cSrT2>F3X9U^53 zc4Tl1)!sUCHFvWzVW zh%L*Et!Rs_T8ynZj;-T}Yfy}9vW#nS^~~32Yi*0`T8!&Cjw5o!_h-gA^TrPa#E)dg zkF~`Y>Bl?u#gjM^rWF&Ww&NW&5*9NPmfI3)T@xJo6385ho5Bg}$E;fciQAcpU6zTa z`H6eSiTjzcyNaw|Et3v26Tb_y_E|DGk&+yV@FNa9us!xC2Wyop!Vn3qrD4z|0_aBp zGALNGRC01C92A&*WQjNKi~WoT(*mG1BX|a-6ow^$pK;t7C!V7{Wvndu##HS2pOob4 z5xk#zvb<8VJ^^2rnNm6OO#J7wf$fxQ8?n-`v#0dW-rD|Dsy zN2Y}=#ouaYsZnIm15o)AWA)2Zl>=i{+o?|#Vr|Hf!Zxs%LvpJFwGRey=m5GGh)4=V z{5A%ak+L2yWjuvtRtaZDC_S@@$-F+Ag;$E*CxS{ah^uwbqBeR}B-{j_Ry6X=iU?7y z%PKsVR$R_fs+1X7o^2ZwYgeA>5SUdblGF4v)wLXE?2uCw@Vu4cfI!z}42)*H%wnnD zKHDReTlF(7*D9}GDW^FwM~#rvW%axjLmi08c!SQ}h+!s<;Jrv^s`(eX_{@^F%ugcE z4FFKD`&pUgS&6VL3JFq0V({2cKN?N>S^k2!4Q8*)=U&bi4SoJ9E3c?6uSo>rvy|?2 zF2gql{vDrFh@*aImCq5FufSU<4^NeKV^-)WyqsMq+gGU0iB~%*)UYnvS1h{hSY%L< zs4vQFcv7^rSR_qVY&w>36V7awUA!1jd?~-!&N{*N6O+Ai$p}ZurLTx70DWOgiN|uu zgOd^rXQ_{Jsh^t`8A;dcP$KaaK_>e z`EWA6G^m1Uid>4%F3;{L&s{FhJ1NhpfQy)y3scb(f-1_gD=N+$Qa;g;)hk38>8q71 zo2)BamMh4RN|AuduI0*}lgg;<%8npQqIK0!P*tO7)c{;-WV!0qNfo}LYCOm%Z<*Sy z4zhRxC3RGBLESITqQVTo!==%Y>Fi z5M4AC)iHottQ$201`6n``KDY;ty31^00tmI(H*s3p*2jwH9F+FP&ddue7)0tO%O^3h||5CFi3*dQrZCS_QL z4sN`y4hGg4$s1F#kpX^yvmXcl90M~;0clZCKSSXCN?-_?<~9;s&qDQpP_5M27^Yl9 zM*<+E0JQivBlqUv*k*N`+K6Rp-t<}r_a>Kdh3qDvvoS=61aKm9dhO77tF!{^fNo@{ z5x&DM6rw|DG}))}AXBUF1H5e7aLbMOovM`JhE%b#bOazXr`;*I>8W*#QgGuF6~H{1 z7AytDh_xoFw?3xWbTebRZyHktO0iu2RolVU09xtn$!Q)`E*r4v8saK*Rw=s^43^%n ziID<)l>rn7cg+22Gum&n2&D?#Zv|?1B_exNReIjWRrSWz^>LLM5PHPLK)1O17AvSm zR9MDyz)36A2VC@r2&QzE)|2sG$~c%so$uI?7&%6*i0OugG{67lkkP z#MTNlk^oRp9lT)-KsucL4KBo9q?e*{l>+mg4pMervej{zpSD@2jkT$=)OJ<6V>7s(_P4r*zys#Nrte=BJuLnj!9Tp ziJNt)-zV0&(pP(@ulBiLpL%{~f>mKVDpH_F*_K-<8Gf zAu^Ltzx*1{Jde>~oYL939~f!NpZ)jZ!neSvy`Ip^$cu$PH*s^kf#qb#3+}&nwlTwY z9yh&&zc(H8z6OuvWYOU%WgIa1>v?=OOYyWevqG*^wqoqpoHBicZoE)8k^LS08BQX2 zmZ+&3)Z4?ZJX(lN2zY>|VYzp`+sESW4wnaVr(|v7uU)}qR{P)4k~JSKrdVQIl=nX* zR0~f7u9)!Y&@=J^`Be?tHrg#5o^JkB2y*a_O3)hVGur1)MS2lAyAd57KXxwOI$>@r z?DRKU(xLqNe*FpbIHq!m;ycm&dq3i%+@D`crC;WmuVoY+Yct?z&P|^ywezCYske9M zCwsGcfdwNXX?&aRuB)3w?63RHI+kukaoZI!vH_d#IR?Z!@;Vu_N2RT+7e9wsxb2sx zn%>Zx62ixP`FJ#X^#fQVHM&Z}g)C&98ybV5mAspw^^NB1RsuhK_U$ui$kIld<=ygk z55y?WiE-Y)3$o+6rpodX{*Z<7iK-`-sT#35vI1-(+*uCcK+$&64L@;No#)Qh?e7Q? zH`At7fnnfjLxF1fq=HzP3a5~twBAm^Q{E!;@g8%Eni2PPNAD(?@-?UD{+ha9iVb3l zD%GF}?rD$;Qz(s*G$L#)_wu_At#28iDEynj+hD~^SHV17wCdIUWUG*k%n?Wt9`238 z52h`B%zB}jwG~#>leJh*ce`F!!FN8!rSj9Al?R$P0m}GnnnRdNRL}d$S{;$+{G|Kk zYnQdThm=`9cuDHs5-Ef9y1O-*@C^#Kv9!|)F%vWvS{{QI)U&Izx@r+J6hNM(yA>$?7^I(tea z=8L|?^j^9rY4CdIFTYuXf-LX3;zu8)N6IULKZNpw>_|%L1c1R9ySZ|B{o59aj_qj8 z4!H*pS0t7T9Zo?v6@G-s_S0TC|5<*K0bz&SXw_07sqy2;x+01l-@y-#^PPXRVMUAN z7M^+S{HTP~=YG7}1W&c)k+e}eIg+tweF;T zLhle1_lr;XO7!Rr;f{@Dd(Hj!qYXpe>&Lk)XU@5Nj{Q=?;V-n(3l!u{H(4nM>LBA) zht4hIeVl$5Q&WFmQm?J3FyJI-VBdv7j;2J(7GrL$eTz|&CjZKDACmo<{*cUryD^LI zux7Q*Xh^n+C##YkJCPK9N8cp+?nEKa(a5m#%hIG!+9DJbJ)+6^4UaP_;$t5j(N+GI zjE^r85JHa{Sbs~&oGAMLXjkwpy=|gc(tq^-wksGhDv`+;ow)ly?F#TOf9whl3OFXqbpN$0C`8ef>+7A_6=WY2{k1Ew7@JP- zI4G7%C^x!iFq6G}P@*_le%*g;Chz2+RGqHEIND&gfb&P0{Y!0gS`VRTo&9gQRZ&%)w7;r!#|oh@NI14l{Cr2v94h!7(>2i?2rEI?1%<6%+f68jx5E~!PY*!tJSVgN*F>@sMW3pYaOsX)Nyb*oh zxtT%k)KJ_84hZ+bqrzPK=x&Tq(R1oiD}%#uhDv=;v=|csTMpn5B2A#-epHKFku-4L zFzf~L%vuse<9bH+{Yhk?d*-0Xu>pnor~_35bO!}mv=m!V(E1UrR@^&H*lOkGQ{uyZ zpstke$uH1vUFb0M5gS_+0n0tX%T0fGlScp4dC+bH!nJPBYK$SP;@J7sBI*uz zrvErXFjm!#%<_al;NqBqQn;Fq!s!+T`+n15gL85hU7v^c_>uJ0)LGw46k2q@>i)vu zY7FQ3#WDE@f9bJR@v84Js$pYWtmvJ0jT(FAndF@6LPH#*@B~%AA|9jLae617BLD(^ z)KHS8xXBc)#iO;T^?d@zAhT6Sr-8rf&F6f4lB2UW!i&t< z&RS)IHRYuj{;1GMdHMK_%zY~A?@tapU#{&4kBIgtsmJ$(d&+-c(p#Q=bX?q-%)t2; zjS99?svYH~KPV__=l42pnw;c!X}!NR_FIp255*?_7SLhcrqw1rz2oZ<@?ir5ymMY{ z&7?3_@nY>^bK`kgpRJtjKZ^=k1&|Su#SLgK{v;WSJ+QaPdGGVoS_7|UmFlvfXbLcU zJtfX20_Ni1t_I$YnTZIFE`(#GuB(l7tFv`5>Vppy`l1grzZxBrjeb04XYa;INKQ8&xu$xo*8o45JXbIaxFysAXS|8_{n@86 z_zkq2nEoori}IlMDOs)aXIo#+EVJJ>*S&6CA^MFsgk@Fdq7Nl}A-3PAAoZt22JJs# zLK6(zzQpyPYh>^tHt>$WHwqdWSIU(5;i-y@uc&trPFHFA$CVElFk#aH^7Y=Q54Lgj zcG2O~0stTiLxuBp2H*lnX$;&bEZ;E|1wze_!ZMR#l`n&dnm{3SsOksb)(^hD=DtBX z53i|H0eP|EkxW`6SQIA0iU_>!9kBe&QsF(fG!5|bNbnU)hqD6yu{oGN%I|k;$WsMm zE+n+mBFdHhu}Z6j=#=?V+QSd~pknpMK@E>BY5ZjCe82L8g^fW)1Obf<7Zu%y9~Ghm zUBf9~hQm?9SOH5+RN+%MbI<4MPjQO4J2=bh4nUM1H!3rnU)oJCDwKPlL3|q<%}$RV z!G_Cm&iZOQm-!n^`+vNMyg>{DZUpSUgG{r#5(=V)ldWLKvX%}`_|~T%bOVpfk=6ic z4wTLRNBF?K@M3?);!>VV>C`zRp;s2^6y)QVZU!Gk1+QDiKbngx`d}_f71DSSxiZY3 zl+HN3;5wcWwUl!ERETXSk~#=LJ#J1NK=yg)>g&J#IFKgtW&Kj8cCeZZAO_L0>(evWJ&;60i zlB$nU1%k;`2};`D%TbJ9AJOvTcr*+l<;i|4{6vlD409~ZeoLv7(5iS>qVIMRivvDmPgSwaQP1&o3P`zJuin5Ct-*A`sh4SxmKd1@7Is zlX(lIW(?{$bn}S{(YfE;D0Q)<~{|k&jbH8_bGG*UMj{qnm@`z^0Nod4z z4oSeBN}ytTf)6Et0}&#K-I+I{J6Wnzjl%q~=&BuxnWILS;3m{)AenhI*)o zny8;)2_u0D{*y0`nih z00&ou6VeJ#;YtuZh^*EX5xDBA2!RU0wyh4Kt~cSY4sov&VXFXJuKQ{c1e*{KI}pWc zt^+X+$C?uq%dLEH2cL>fdQb^+a0hYVEUg*??@9@GV6tuntRQ>-2Xb&8mJkPb00+*J z2Rk#dE9lCfvu41dJYCE$|v9(?MwP9O6s|vJ2 zOR{vZ2XfF2+e)#zDzN{su>U}}B5SuUi?@2f2YKARyE(Bt2dU~zdT?)g@Fw}1vF%zu zdhiKNn-J9M39b4jt;(vPVz@uMi9fq+O3Sn{kgdqNk^}y+2Y@;bmjJriYrVNU5IcLl zQv0pfTNJI}6vbd-#o)Y@aD?Y85a}Da_ZGeau?JGS7tA{jFz_aU3o3(4tA_i%n#(Zu z8@t_rtF218ZZ)~cdIz)%x0JiDl#mJk;B=f?3Sc`Blu$kb(XQD`SEz7rMeDQmE49Ti zHq6Vco03&ga_u0=e=ud2WW(XF-`u4T-sotnWNoCh)x z%b9nta0|<_JjU7zz=)yAU0ksu+{pe*#=4BlPCU%K49CXnR+O-8Yz)jaKm)X@tIe9Z z6->b(8_O}UYa9Fz89WZL3?NFYtNAJrK4-`<@XfKjBa|QqalosO3>J}G#TA=*6}!mA zK+p9%5|*$dJFLMzoW{BA%Xs_`bTtk~e8-0@$$5+zsyxj5+`+ILyU1(B{$ss-Fww-k z$50HqPLaRAOv3-`&l$bS9R12Y+p41){NgCGtn`ek$2`#E zpa;LIyMW3Eme8=_+^8Z99vQm_v|G5`tkB>T)B-^XZ~)CeD+hAG(sR(VaKP9)D+iln zv%Ea24IHwa{m%&;A%u&-Axi^t-NAMMv@@HK8|%7Ri`$z$(z-mV?Q6DfRSYzs2YHYO zpwbGjy9c@|+{A6%ybZ;Fz1j`_?AF075HahrJ^b8V{MQvcd2Q>~_lB}{ya$Bru3;;$ z%sK~q&<1*ty)l5suNqg+n!0izT0pzm7W=xJgWRUO+ww%s2|?a)+`<}6#aHssXd&Qd zq2MJEvD}K(9R=VJvAsilyX2(D871Klf!rZ01CQNK2JNznI^rZ=;wFCLD4yafzTzz2 z;x7K;FdpMFKI1fA<2HWdIG*D=zT-UJ<39f5Kpx~mKIBARSf1rtzU5rr@dTKIUXz=4O88O+F0Hz#JCg3~2u5a31G! zKIe2^=XQSQc%J8U?hO7Gu?%|t=YSsQfZtzcmi`b*p6agt>aZT`vhL->5D~L} z>$sllx{m6$zU#jJ>%boDg5K-GUhKwx?8xrr#17?=(Cp6s?5L3J(mw6f{_4x_V4bpYw&zU1k!3SOQBdGHJCaPD~i?(!b-5-%nY0p$XL1TcUQ`>^j0asi#X z4ofiA*CFl>G5!VkTo6r?cNSst6d_noW$_iy}}#9#}&14Z-pUk@6(r z^Ah3mQPt$cZV)to5F5Y91Tmrtu@5KE1w=3boA3|ozytwb0d8=a0x=Ik5bzYxeORCY z0WSlmASFW32SY#sdmsgYOqwVE4?OSlSdak$zXEw64@OV`4d4J1z`<4E00a>5vFi0; z-+fRo^;AC)de8TMzcW{0_YNQfS}hP)pY?P=^#5=L8*umAiv=>Ej5EOXJtgxoe-KG8 z5V7Fw`p)#cb^~;*^c{c#QkxD*FnLW71D6SF@39U}PX#L=wO5b=MFDFla31&o`vZ{< zK|sZG{-1gLZ~{_04}BmILXYx7pz^$L`AI;}`!M^lKM>bH1u?)VSpX>Oa0HX*1UWF( zSug`)xiTsc3hN*Q6g&`1V6Zy1RCvSrPlMVprFFR^TIK2?as zMIipI`DbO)T0odj1w~c z>A3H2RLzfZ; z6J{yQ`C%3eAFN+ramw?*bU`NaJCRj#Os4gMV4%Q;6y=>MHV zgi)$nzhI~)P?86SO?E>tK?N6NutD8^J1aPZkbt1Lt&&(tA?5y=ueqTTB5XUB8qx{A zgs`wkwwK6j5219RSb@3w5;9Cg&^SDSzRc`v@gLMe(N8AU2ovw0Cx+r@239I^ut_JM zgfdDgyFwxY9InIx0RZmeY6}c7acIL15n{5bj5g}Xp>;qiktc=L>_Z2@#$*2PCc$Pz zh%ujNWOK|NjY2BEf68<*xXBU%;=_!B0CP%5AB8khNyFMA0|zd>6b|FI!s3F+{#l2K z7?v|rj)a=vQl263KxmyLNXjAwOAwleQT*IgND2|Gy6MoOt{@2^e@+19pDbj+ix-C& zQUHU%&-G8G{wOc?baDYz6jz!Oz)X;O99Ww%`ie}Ok%c_Dnr zJPa;fp^k*44fWCr+%T@zOCt#OAAg9zH!=}@UDqid8?nBOed0(hWPNIqL&^EXs{O?+aax`(pPG=*Jj(vvJpBu zs<@4QdpCKEa3F%T<))W!zWWZV?ydw+M~O>$Z98$r7pJZ6xgC1kUBMv-Jo2ys9~^VW zH|MB$##{SwZs#T{O^{P`}n)KOYSABE{E%&^4-=zkdbjmeH zJ@(bbZk?^Tk1l@h$Xhp_?$SYzetF)5Pd@tUlYe~j-@gZc>feM{$b09T+ z%BO$Zap;d%UVi$^uOI))^FKX&|Nmzf_F#8BqPebiyDJ|4{@&NU`6*C(mXlxo5Xe3U zwvT?S+u!y8xIqp&N`SnhVEfKDyt2J6fyRTN0coeg0!na!_H*9_C%8ftg0O=(#9?ke zNIZIFFNU;JAN2?rKNeolg2SUA@-p~C+|6)=P0V2wrKrQ#apidi?2Q1A*gy3l@Onj5 zU<7~2JQ%VsefK-!0lhaxHnuTyQH=a*>||rSH}lJ{yM8l&8d5A8`mq zRJPKU0X!iG2lz@_)-qC4h>0zAxl3No2A91AW-x{R*_B@o)0oHHTsoY90vwD}5+bAxA47;HsDx0gDO3z0{h&c97T37PMQ(DHyIkfr*SXJyu5S<-UFufXYSXoD zcC|Z7?RNK-x+7o{`S(B*VzH8S@ki=GVYc+iwN?d&UZ?(t->Y@9hpe;l(8wjaA)a5COd4@#0Ry6bAACl84J0 z#y7xEB(Hf*9AXxeGHE0}FZUcQU;f)At-vkDG1N#aPMORh2sj`CvRwPl62ucBQedVt z5h7b0j37-&=5dat+&i`UlPiM-)j+4v0>DUtBpdDMM+cRrb>tKu)1(NQb2?=8Dkht!~|Bo%;%^KS!k=IsiqfIlb!dVL2Uz4Rv2O%306GG$D^T#X3-d zs7=@!A-HCBu#>sWCi66x8?py*aUfiTL?N{$=t!-YS%Q@~TeYJWcDA*>ZEknl+itw^ zx5fRvaF5&E`o-?K)y-ZT{?E?cF$Utg<;|N?x=)q&=HCE)IB$Nd#lmxpA%h_)M<({$ z;FmLB4^LcP^j7iU4@Wp6f6>(kclf^XhIqzzQ_M$dP>lrcuf|2578na$#VQsr#z($# zv!GL*C1B@};rSSUq?QE1nu3qt&{CH7+$)~uN<}f7Q7|vrD*RxnxAe7Td-~kzT`6?X zeahFS5OuFKssSr{`gE>)CF)!0DlQj&ov|_jtk@|9#k;XC zzTln*y%p0P`q0<@7~W7M{lovw#dmw0^QqVN>eG10kB=Vq-+XDljMhc z-}U;MxWvO}yXlK>apX7O`Ok-b^rb(2>Q~?T*T;VLwZDDtci;Qp2Y>j*KYsF;-~8uC zfBMzGe)hND{qKi={N+D?`q$t7_s4(!^}m1q_uv2j2fzRnzyTz{0yMw_M8E`8zy)N$ z26Vs&gun=tzzL+l3beorbgp5*z~|DyuyBSAbgmB!3v2+v<|4tc2nP`?LF96Va1e`d z2!~}@!Q)y67<@q(RKXbxtQNFE6okQWzy@dNKpjk~VQ>a)_(2!+!6anDCUn9lgu*D4 z!YQP}DzyH>E5yPq)WR*~!Y=f}F9gFd6vHtj!!qo`8#Kc-RKqo7!!~roH-y7Dl*2is zLo}qrJH*30)WbdG!#?!GKV(8X1jIok#6mR0Lqx$7giKo@vK;l*f6b$9lBKd&I|dY>Ry4$A0w3 zfBpo>fD}k++{b}5$b&@4gjC3dw8nz`nMi=hh?GcFV91KJ$cx0tjO<2-oEIh#0D=I? zfq(!#Ku4G`$eGZ{lvK%;oJWq77rBr~iR1zSumh^u2L!+reBpy>G|7QPNtOi4pcKk& zbV;|6kT9XisE`(akchK56s=eoC&3e9l%X4orK8l4q}+=faR@2s5wUp6sEEoYnM$f0 zu!4LDtlSr^Ob)IT3B>V-BDfS45GjL^O9!CK&&VZJ>6$8V00Ov_aOszr0hrC`gCU@R zJpdITxD*QblxiB7K=T;KEK9Szu&;QVql|@!oXNV|7q>(RE;s>)iItS`hYmO`{#g+g z)I^9wX%_b=l~W-X8W{p51C@rNl_SuX#X^XBuo;B7hgE5nAJBoXv`pdanW#8QfglKj zP|6Jms{)9C$XJuQq?YQ0Dj}N;dB9EBB$F1wh?^;ilSl}!RERzklz+Gp8Yu$fJWj}I z3*}^u37Lz!n9VQ&&3~8&XnCw<0SUz5laPRkdMJW|@lRX{62dr84{?YfF_yYAk=At2 z_gtO$e2e+~hvBdgrOeNgFc6nfh^YWk1_g~GAc6bj7zTx^a7ob#fwT|60F;PJ3$P9h zkgN#B2@18E*;vjBK~enFkv!oH02R_qAX5AgPzb04r!Y>>NKh6PQUvY(nuM?nk*X;i zWr7LSQQD{yEXk5BajUirQvBEi?0gPnG1L9f&S2q7?;I5HJd>X=5kgr}g(#Cf$&>cn zQUs}#oOA$9=?Z>Xf^aF#)l5y(WKH$VB`p}Mhd2{u;TG9+E6<43lCg;@6_yR)mDhZh z6425;^*0mJiktM)e=&}@oXfgIRlF3bup|t(@&^r|m|_`BQ+3mbxt9u%0r9|slPRmo z%!A4VRkYZ>2I0kbvAtmp9ESUwVf-AOIaXy2oh}lhi^EKbi`Gz;*4q#xK~k`1jiY3x zqHVQ}Zl%@+gPl$Cq^hK$E^0Ue)4gmZ*N}sw%Os@v(x4DJq|5&Fu=%>z`kL3q0loxt zI7f1%6!X^E^CEf;K7|d~*@)L_B_k4A*jbt*4B{`0eW4k8SYjPm!LcMs3O;8or2o3G zD!Q60>e#f{q3iM@46>w@JJ&6O*^oO~JhIu9jX09kABz20;1eN{W!Q!Ny!CNdoiz)G zbJ?E7*MD8tFe)UXEm@~EFQio(rIj#sWm*}Eu$k@JuZ=Kqwc4>I+p;y=Hqt67X#!2V ziGE0}h{73s;D7_s4Y{RToxrWN6)d(5y|O|Gnn8;+XgaM(Tirk?wE$e)h|~0(k|t1r zD=C2#z>Kb#Eb#N&ol1+s?F!Asjms^I#J!Cqh>@SrQ~pOu+%nTCsKhPHh1@ z6BvP=!vdkw+apsLAHV<&C+MpuSc8a) z0_`1vmDmEC+f{i0E||N7$x>e+V_)~(o8O(?mI7T|nylBtrYz8i$@-Z_0{w&;c7@j&vX@g(%z)R?`OERm!jmJ40QCs0YA6k@G~e{eW96 zTL&Oe%wHmuE(p@ZMS`5*O@pCYmee_&x_85-AB3Olf?BkqSGAQ0S|V7OI|BR*Wo^E~Q+G;?u+4EYDGih_yA zf;qT4e`wu4c9T6;VO;qK??{Ms$TL;jGo{R7^mHjX)8VNqv%7tW#0`S$^))nJv!3`A ziqoo^K!_i}1kXK^H2nuBFwn^g<&7BSgFxim(yb4%2OZc1yZU5tIS2_p2nvQNwzXpp zE@YYk-6PS0XnKN7;DG?zLwQ|%nF#a#2!Y<^4k#Fb6WC4MV&@O}rD|3Pv$KvApn>(U zD|Nmt83|@NRy5BnX3gv1iKylD6ZWvRM} zQv-#lvSfn7B}X3ITejt1rkQ|7G>j%=8{mPYSSUia=|=8kg@}SV5a7z93|i)6&IR2( z!Kz-Cf?tN?hu)XC!nTRdyo&B=5GD~R*nyR}f;GUl6}ADd1`cxBx=#kSg!lov9Z_B5 zwPik)fEr^UZjUZ-8gzCOI!>)`N7|HP=0x2Tkgs#@;eEDusCJ zhGt_8plXNqk)&&7#S#L>axDI>#yqYznAj~c@!*HKJ&lH$j%(7F-#u;NHG>i`-p8;u zXmbdEFo89|fg4B{S_y(_Ly2_gt$NzA6S&@D(v>EIU%pNV2ZlVJ4s7gA1M!$)0XHUpuqGVvfcB0+c}?2slD$Xay|b{PiCxy=(^v~nHwbqx zk9`n@qi~+(FYnv%2*1|d$W{+8@d{TEf?Hbf(^yUlxRaCFszkW~gV~hTq#RE<+39hm zwO1MIBp%0Fef!w1o&H$)`tb>;Jd7@hiXrSg2Uud|eL8z0)B zH9jVaS36qrg*(39L)n21^Zzp18b>jcHKRaEF^~-~EN60>1z3tzFbuCaEa$MSb)hY9 z*xQ40HwSV!N1s2Z@fGs(2D)?1Ve<9a^F+7uc565k%5(o3Bi)(uG#4;BPrXFfaY|xz zN9WqmiJ*O>BudY7OYd|{&!0W7b3muDM$g%FE%fn%u+IZMOt-gv3$HInqb)CXUGG;i z_w+b7BxL9FVJCAKZ#NFh*If^CPItXEM|3C3c71(UpY?G_XV>x?c9oTLW4HA!nsiQT zb8Elxf_v9q{wH@(XK@5?n|sIi8@kth2PP8t_kb7pfhYKa=NVqWj9<8fFnuLTsA;Z1 z_()NBhPS^;;0a#f<68QKjQ@&NaBwKW`0L{Z|7N6>h=h-CrI8PtJs4B7pahf$i<1}m z4UPnns`;}}`CnjpUb+ND{tA_!jh7dTn_nH4=LI-ugQRZ*H~@@a-~*(Wfux9pq>l+c zz?EOf15Bs{rEdcm0EI}nnM*KGu>S=bsLPRe`laWIvgdj@zyzm<;(y=;8u0iTXoDHx z`0fIFhY)&%==-whdATQfRN8p5kolm8`J4EA!I%5KI(nnIgrS&w@c??OhZ{Yp%U`I3 ziQonPq56e3Xe+qcgHR}Y8PJivxBRkKh{@-LHh2t$*ZQXCgVgmdUZ8_Ln1iKf1*eY# z8EAt&;Dg@({eR#COt^#GkAq~11JI9yQ&erxwn4p z&ydz%en9PfK0tm}uml>od%zHX-Iso)rva$og*+I4z~BQuNO~H``1xP{=9hc=2Z%Os zLjC)d=Ms%JGcc`c(ni@@|t5Q&O=NRf9)wnkq^i?mI@w>v&Z7Y zIB`x*d`KfsC5{y*&Z(J_6-pUxUjB>3v8Tj>G%UtRTJ+AuoqRYI+#}K{ucig{5VZbC z=Tat~N>^#MxbxpsrA`f&dOA^#Q;9j_(yeRvF5bL)_ww!Q_b*_(ykK-)MMol~h=>)V zjloJH*xylQU;;foeuTCmClw{X5 zXrdg+C+tW)uKDDixZB{)Um1ggl6Z;J#jY1Q!XB9?tmVPFOChf*y=nA`5X~m-2vho{ zf1od0L|QNs+*MG^YqgA)(=R@ZjkndDryyA774_dQH2hM@PWIiW7Jb3tmPdc(?G_k? z6a~1wpl$Q**tBRZm7Sgz zUY24m$(Vh-$nfTyF_01^no&tK6(2D;iC7GAxW?jA%CT~rTKS!MCshT)DFX~EiATwQ zShcaIhLu`+DW)1KSm0u7CY9Ew(Cq<-pKHyhrDQJV7s`yOqPS|SdZ@|=t7@VMCmikB zwv=^k-TG#(kjf#a5`E&bVHb9JWUiO~g{fES-x%o0)>v6gD2vBql2IDl?YLX6 ziS2@m2@GbLa#4pRy)k!*ZO{2}(xq)6cH0!vae*dTYSI!Z^srJzO4f}#b;-xU9X0)L zyQ}n@D6dDFy;ddfGQ2k1Z3DI`uMmIg7-Vt$f=W_z0SG3&pDu4QdG-4#fup;Nd1M<|T*u2EY7c(m!TJtI&`K;VCcwID}NQzy8$= z1`cUMMR<{ilyqfgcF0cx7bp;dD3F0YYSv@_T;#iJKp{gk$I$JBxKSC8Kg&7dJH5M8|lbR zad}^i{N*o4 z0?b+xQkK9x<|jWnNM#1|n8UPQFb^d&(%YD$D|G^GEGCpD64je4}HHU;NP!)nu(MpULJ9qTv~I#Gw-^rm$gCsIdR(3Ntvrz}OOQBj)Ks&*Bw zG&O5ICt6p!l(nB-jVD8Qy4Qr7Got<6sXE0f*}Ie#d@QmnO%0UHtVXk<6&0#p=XzA2 zk`uFXWu|FY+E$YXc^{d%!r%fhGq! z-~-X}z+&>Meno-9GI>D<@J;R){=CqGP-XxJFd8p?G$7qWfFsUGfH0_e{bhLta^40L z)~Rx}Ez2Cd*S!7O}uUlEz)y^|+!Xrc$6P+=UV}E6t-L zFL+GHRRAi#__YM+SOSXiwvdi{@Ew!ZDLOqAvt76$VPnI1iE+)yDID#V2TR(~;2r z#i5tzc!xpVnU=T|r zgyQS8#0zI&iEP6u-ym1W$PH47gh&yR>6^ibU9OO-f%y)d+XG0R-S1b`@gylpd5dQd zuonAih7ybe%(Nz^+lY^R52LVguXEGkzf%G#2wXB~n-D?5M8nNzsPq&!e6NAh-F z*{)|Ez$IN%FxdW1wkp#a#3UzAq zUDf54e*Gh$$cyFMz7&yXB0&QgwAVO$5R-if`83OYt~)SsZ>kaHGv92&AX*usdhjrj zKH7y6vL_dJ7D&DPy}lAq!CDick{$HYshE7YLmL+VcGp#6B)6tS-6y99D+0ew?lDiE zc!V`F2M0=WUv@5)vyq7CK8|PNrYbRqTTcWAni>-M_k)#S{e2YAjED#fl;Fsc)zMT? z!X3z-fBqpI@gU#gEfKiH%-9`F(@4oV2%}@0wyg;T3q1sbj$JW$NE)>wN%8n)Cm&};MrhdpyYwJ zeNK6#K8>w2a14>RVdK)EXzm434WvMiuIa4la)+Ok(koodbg1x5NzNWsX5$LfPn--gE@z0UP}_$d%;Ht9^$oj>HA( z&X9~{#xkq0sln);f1u0 zzO+Rk@*VW~Mkr zB`n_cIZPf{3@^Nz1J2+U<)dvfC$5d=u7MqNBIem733PHqVCE&U<(#ARB^G*+pP*qO zI*wh`M$(|f3mp({q}@fZLM0f`0YSxa&4pwlhK|8O=aB?Rz=dsE#Q**|$B?YT3#bi; zjA2YHo*w+1MdU$<(Ez*50S%RkWwodUna~|r5ZDz3VOR&pJw$Q{=!!95O1#LAO3{0y zPaN>3l2*;`Mbfo38%W%N9k9am`5Xz2$-2xz9wZ9U&1Dm&L?sc6a@0@Ll@HRr2S`xd zU7+YqY$5|L=-fHrfl$W|5g+;`jce$^3t`tnI9TczWh zFe-5=OuNjQEBsQ1ar3M(U+#s$YmIsCLqkRcRZ^8I)k^E0HQ>R1)!= z8e!d|B9&@}xawZus;%y-rRdO-$z!Irg&cwrcCTLTj~Jio1T3 zxVBZdj;mVjYrc|NX+f0R!0TpR%2xfBYc-Z=9Tr|)6;WjsWRYvP23NVh6}v7{#nP+5 zQY^IM6~bifUm({^Nt#Yo)3%Om$olJSSsKOy>{oFV#d;P+J*&ZD)y!U6%H|S=^;S|z zTD6jx!2&EYeQRB%D?NQHTj49XV$`Q`RBQ!p(LU|c60OmC6)Pc^$(EMJ78j>km4-PM zxnjstfmPIsEm84OZcVJjwpPtrZE%4rZ7J4rRoG*l{*)+Ll~*BbP$livO6-O`Ep5@2 zV6~RgUYXxQRo;4-TiNWq(kxk_(x}mu)|#u#uGQlnEXSr2Uy&_VRc&gu>s_fW!+x#W zmKbooEnJB!+8(UCp4P$^EW(mjznZIXJs92Au2EfBRmm7Q|mf!i8)h8G;FwvlMn^1JhCmyvXyV`F63G+mH}Z{-`mQdZR z%hGPYs;gnuRx}N5M*Xb&@+;03mg6F=hRH6vUT)yR*5Hn=g?JRzxtQ7<$lqK9!hz5w zMJKr&&s{TYN65f*C3 z(}Tv{wEQc4{(>l?nYgXl26t2k+wfWemOP2DQ{ip*7VY2OZPbQwr=f6hSz7t_ZtoU^ z8k6zuo~|2@FAtNhiDBC2if;bi73oH7XyqFVotH|OWm^d9wGCXhGgw9wf zmvtnOGO#wbYrpm(IYKzVHf`6oZO3*vz6X(=Ipp%5&*HH+OfpT|~E7CNtr3t~LSiHT~{TvFqY`H+w%f zcpG)o&aT34x5%Dv$@1+jyK;N)w|BpH*4i;HY#onr5J#3)DKCF7_;CC89^3a9 zpX(00FoNgq`HnXY{wFtsZ}?(6xGH0s;hwVVGHzn68=vhl%0BG-iiZSmh_G^a9%V&~ z^F_0=4XdV707a6sa%x^c!Ys5aSx{rlS+OJ)*=-H#q;!{L*HMs@(2+AJjinDIf$tr0 zi;q=YL6o9@MJI%X*pT1F)s5nth(kcMLo`{ijF3Z!gnC_< zdyqwl%>a*KMSXa(Y9x?Ce9%a=*pyGi(ScBnQJ3nJ$Dg^$o~R)PE5sZ;-VTLVc?4PV zk%X7)MVPzz8{N3Gw)V&JI9@CRBshYq_nkkFSXNXQbb?N}ty43DnJ3435v~;Uff*1w ztT}Ou!(`L`TiOw7-chLKTdCEmsa*(su0`BT*(%6@BSu2N$m80{iqljyZoaxcuf@tPc!9&viaAL zpXt+)1RSIfL8HYU9GHy?MCxr(%MW8BhM}*uPi44!qx#6&4Qcruq@Jz?$b01Th`i2k ziOJlERv2+g&Vdtk3UsPXM1~08=zGe5UVlEs$c>81i{ZM=M8m;B%mZGZW=R{yCPF9# zLtOq>>YSX&-O0?u#7}G-NC+LG=UfBvfkU|bC__X5WyhLgThyt2q5lvQ29_2xDEXP)q`|Y8KF4o8G@IvR9|JGTA zbjOTjFop{XjED>Ck?cBEE%k1)MA^SBjKpDDD&5yOagJ5U6~kcM}oZMX3TRm>B_4L zBaN2o@S;_$j3Ksx%GF?=*-aCW|sxYV)aH z-lx_kq`m!NW$X$mvi61Ks*1p?Xtjn`6L2Kh60|9g(DL}DlFA3UKOU=QC&`NKzhU7EOBKvZp1P)gE z)2%69X0XI1UhW{pCaUCn=^&$cdyJPhzB5P%$Q{TWA%La$M^U0`~xE zv=0ee(6a|ug0MX}=BQ+*&}1Mmtq5I=h)j`IGqJYxl+Z)lhOKa75jb+a0Weid69-7UA(uTRg3~nDTE#?7dd+;La^28Xv~$? zvn1jrFD6Tt(7AHI`z4Y~@;sIjg)0%MQEXS?dZcdg>nf<4Qx038m)*0dNJ-_GjAx?_ zs=94Bf?B1_wXPaeYJ3?2dM#Bgf`Ms>pXO3Xrtk3b7gYXke9vGs?{nFvNRA#!wvjGb zHsEGQ(vD$*@U{>JJttS_T)ZX4E~~EU%sAt6?|NCqHrlxPC^&k@kYwQfG-&tU(bWU^ z8HBe4csR^ng@!!txZ}t+=D^+(J+!7FjyB*(j3GB8Hpr6iBWFbqP`t9<`^Opw*rV*@ zh{S26X#>l`Wn#fKlQhy(pz<~;D3 z?IhWo1B>GDzy($UTM)?uC~kEVDGAUH*onvj;{b=LjVLGQYeV|hR}?;cuYmyDQhVrU zKi2R8cr>U9i2k*p|JX1NHDOpAcxa}BHKuxYIR4G)3}Qhj>fub$(O?_urnT?Uz$L$6 zA|^CsJ2kG6jcs(J8{=0fG69e)ks#CG-k3){?vamu^doC>CCAXvaaV>K(|nZV2+E0vj(VL~LA#oUfF zxr0qu#?qS6Y$h_nX_I4m)0^TH=P+LxO>%;hoz!F|HQmX~cAk@++LY!R?YYTa@^PPT z%%?xo8PH_D^PbWiXg}d;OpFDzJHSLJ{zI=h&4o%7pA_Y$MK5~Ldm@yW?o?<;J!;Nx zo)e_K^kp@nDbQsmw4V?qDM&X;Q4q;AqNwEP8*lncn&K3tEhVT(3);-Epme0)Olh$k znpBw9^QZJQYD4Rp(4oRKq%)nSOQqUTZ9a6I1|@1fGa6QS<}|5CooY{+YSpMB)uc=f zXHn(p)`RX-o#7PdTHhK>w1#z@eWhnt$2!oDww10fH7r333)HC&cB?!6>sgg)Pp-lh zohluwSy#$fuI81cK22<6XG+z_zSN{p)htpWV%pPYw4{6`=|x3a+Ld;*wPwv}9+g^7 z%BHlb)>N!kD|=PhvKFmDm2GJLsS4V&U=_G?-RWcv`qa_3HmD;#sb8z=Q-v~@xy_C1 zbz|C4#bWce*$wVj1smPp!gjiZ4Q@Oui^$Eg)~n~$s8?ee*XoYevV1)*aK)Qkn)>&h zxh<}0e+%HOO83Bpo$q@;D%9F?7qfxAEMU#4T=25>uIq#^V9OfV0^8T49Zsu=9gEAo z?$@`r6i``Ltl$WLSgsDn?0*ZoVdQeS#k_?tf<-Ii85`BD0@iL%BRt&m&X~d#p0I#} z99!W=RHoXUZf7rRVd}OQtG<0{lvSzH7}wR6gy|+k>#A8K?{~}FWv_Upx6z<5nGjRTxb-g5fGRrPMErCZ+8NHNlS7EvONU z-VxJS*on=sU6D=ef3|TaP^3&G9yo)q?5>GM+F>ZnxV*v8VGr3`5iRAsYfOWB+2A&} zE}zR;sCxO_?JkyvSSc=>=phppy3u8L0f*_#j%10O%_`{NZZHd+;04#I!4d9A-rPo0 zdKn+OP;{M+{3?y+E_cE)j_`|ToZ}hu2$(7XsL%*15{8rky4o@*#}NuN8R1#SVIFgt z&z$D`qL{jRmi{Awb?G=X_xaC(9&}o^t}B~>-6~G;;iv|jLLv*A3ZWu4;r%QELx4~HNQw7EJODF0saz3Qe3co z=!ZqxAO?7c38_Nsek2aO2MJeV3%igc4oNX$B{^c_6!<_g@=YLIuvN-qHLCD8B*ZS1 z5PQgICd?2*&`>T0BM*2;h|q$BpvWbf?SeprPk@Jz8eOV*;}?rX4TE=ALCL`h?f_|`7szN7iA}EDqC|%MhBL#3s5G6$tHUQ2d0>nNJ(g9214pu=< z;9x8G4IyTtjEHCkZOVeO=p}jPQ=9_Z@{uYELO5>3A7@fZh@$H%jv{`65-`GC(xQMg zLn^ceFHNXC3MM95#3D)LG<1Xa-lIo8$CGNXGAn~c*wKLO;76pALAHV%gOFim>1HGvaE zD1lVIO*DrB{JOFM6;lQnvlPP4g_uI(O2>E>^Frv-rk=tR*@6`!Vg6{41~K~*K}>`L z*TUpf1wgpOJ8C5?fMg+i#!lGtgWhvlC?PK70zHf`5Hq4BcusUebrzk51_z zJV6fvq=~RYFJ)ygS3@-Qaz5$^Rb;?ap3@*oaV6}766Ua7jz(6jVoH{!GW!qv@+B)y zredU|UodAO_!KgZg%@04L}`ElF{d(=F=k#SA0_7I-lRDA{(@hSNJud?CL=WuPN61l zv{Qv|f_{)h@-sO_Cq_M0Bqa4kJ!O>LRZyE@+pudOK+q7}-CNwv4=ee%q!~`w71eYScqqAYb3AxWwFqspZ z(OW=8Xv=`%y@M_N;YmA+MTJtRe%n28(7^Ij@D`-nV@POXhiGP)X?q1>1heO`+}Lv5 ze2%&#n^b}0r%-IWlaO=f+fNk3-O~-Gz)0LPnhkbF+HPV%AB4^nxX;?k4m1PR-odaA*(XG=VA^q}P!q_^CobLrj};)^5AeeSKdX zn1Es4zfo`E-w3iWg+T_)f4MLtY>{U9OnyI)mgu|BRINbQ%@{m5?=$(FVm37U6%r-| zi}1LtUoe@#^C*nk>x`S+GeiKDdZgKLD0zhJi=4NOTy>zjv=+U}& z27xeVl^9{gWP-{o|3f`w?VKqTZN?$dlMS0MGjl75Cvf!s&j z=VSd$rS5;?J_%ZV|Bd^s)SLe&?vqZt-s-qNnKyOKxYgzP?-bk8qwaTKVBbCJm-c$2 zvJkZY#C^>7MnB>{@Vp(3f2QzBO}3};n+|6S#hD=toy{jbrApuRx41aZR_fu#@)dMy z&(_;r2zzR~+8pw_1CU8C*?6w^$7KnWX1hB^{>+xh|K;uJyqjKWvWYw4JV>Vw2Q z5c_vOt^b+(9+2nX|$GDB#PrJ+6?NoAofBGd7X zHmVRExfZ&jrI7}`| z4m~mA`R--15=0b7OcEv3IZTseoHGuRC5R^uQh>aOe^Px_tjZL=>Q9)aYtu}aWk~uX znkO2^pO|EspGKNzbN!eokF`hQiDh4nG(E~&AO9tC~z^x{F8&o>vEJgtNV0R z9EF2*6f{Ld@RLoC>6x|+R?xe!C^Fuvsvu5Xwo=S3nyNCZ;NI(0INRRZq7q_Q{w!Zv zOTZJG=Tn?*{i7znGcnI$l25r79%ib%zW6yhvB8RBD`T=I{ygH7nO>+6kXRz0 z7m&6TRK~z&Hv)>D5C#2{rlL)4?X(eJ;u3eDbz>CO;<*a{>B&Ff0ufbCp#U$tAcVH8 z==v~%SKr6kB}QO)2d=%vnN^z?fp2VHfBsr0!AvU*i-LuCY;W9FP0&htr-|S9=DTi6 zRVGEww6WU6ns7NEM6}NR8ZQy^AWBCC5kk+x-vl5^e4;FhDra@LSdu%_gr;yL$O;bg zf&zgz33qUk1wV0u&agVfGCme5MM?jtsCNRjRka-Jp7`pjKAWd$bIJJ<{k;L}UpjeT@)ybp&AC zh?1QIiXqw=Mg=$;0eK3yG41O^2u^oUrP#7Woh!PDZ$RXbQMrGUvTPx11YqD*tyeSq_P;i9fAqbVPNO7*Jmw6-rujUrK5Q)7dke5D!_WK<`vgUt$D-v4!wU!v(3b=MDiHuka@>hq!l_Lc){C4(Q%9 zAkFH~D;tljFf~RXI*}pn7xF~UD>AIe?j3hXqZIf{x=OatN4~F5^TnG4J@8AegqXuGT$fSvWt}A&)qTHaLy##zJAQ5 z6!R#Ue-Iu57M)jkZ1hx4diTd4-(;CV;wy3zA;^3XNb@nl`>`<84o`CLr(rnZ6*SVn z<|F3UDkZK;F*1$9UDW5mX#)vSAW!A4z#2GA;8B)Xhzw5LZATgX^c&F5)A9_-dyw=a zc2a(fN&E7olo~Haj8H~S>d!hzd<;j}GBVOeUM}1`-NIh85Z+c*lcx1l1%F1`knk0bsZMfHFuZgBLmQQ40oSml;IEIyU1M#nx4RZWB8f3FD$ zMOQt|p#2y#IcwGwKx#Q(yKw$F7SkA_8OE((P(?owr@cQ_bz*UAOeN0l1STzAk z-$hX4oN<18R_Kpj{vq;=4r^ZimF)CUEYN~%9wa^I{T4>*L;8efncX%fU7pI&RQ?gP3)UStE|h|FuaWCXeQ-wAPSQ(ONsO;I&lpvwO>9cs&{Yk|~x2fh2Os zV>QM0r_0hfF>y50cv$FiP5JX>EX+`3UPJLOQ-#s-?hbvCs`t8jE2_aFL0MO|)@-O_ z6SVu#rR(A?)oyQSi8s8+;HKc+RzriJrJS_N__~}YJ%vZMv<+7hLz07O;N%^C>ed&^ zLR@OyN9=VMfYt98$S-OxsXA6f3*PUyp}Ef>(ihDYoL3HsRxL zKz!^Dj=(3GMf#dv=tEu=J1C@pN5e|$KoYj1ryJ7qpcGDA!x_?Uea!B3_;T_MvsS}|?N>Y@AuM*c$>5Fpgys9)p5dt`|WxkILIs<2TdftaCo2=1$ak%32n14EA*F6 zcN`1%L^OARaDl6&%+%F`;f%Z%T^-?$9ko;8!cELjaSc!#ykQ2A^M{ZZRh_!SoDzaK zLCRo8%pjRk;hEA*tVGp6RuI|E%HU8 zIRuylQc84oP?tk^kkD4v!4;JsYl3BTiArz>e@T=GPT|y9( zrHYE911C7z0vf#gz=&(NXx)y$(_~;XP)tM zWyopph^$`Dq*W;TV5w0uPy1F0Kx$H_S~i8>g{4&%=X4eOKBDBz39b)EPt}B=?|Me9 z%jlw}#K(>sD+WSCHNohWs?+|_lWz{{;Q8v2rr}d27U?F|Zs`D)RDwT=7QNEYQ5FMZ zx@45`4O===X2R#U0C>ULK`B}`iSV}bfMWJQ?tb{velO)LumP5o9Td>Cl*yL`=*l2T~nN$Mv>EQ1#Us4 zZac~Dd!ibsk{HL*`$}s;Tn?TL6L5Xob_q;$&Eq!!dwd1}PyO!ACF4iur75 z`jskwcS3E$qNxgOOVKAUl-ApKkA3Kc?{WL zy+Q?mOd374nejvdHFcTpvT!7p0%lUFBcK?AJQ?&y-EmnmO!}MqosqYjfE=$D46UZp zX)1tT1&cZ@?oRV{>6@^mRytgAR*M$QHNfafi|S6fxJ(Q}b0Aicrfu0NR(q!%cvK8n z@@`AhK`RAno>unt1M64dvxkwrz(6}N5OyfUiCU$aIXqmHjBkI~LX&oxTcxN;Dq5Jg zIGpFDI;-&f_jj;E0zQw9A&=T&9gmvQ?j(E_i+I?_V&`(j`6RGBO#AMW<~KQhT_p61 z$69_ISiw;gyZjD38fPL5 ze|luQxm|cHYfiyxW%0W*B3i1&Rg=Yc%%@_mLDyqO+-{Usl$7H(=>T}ahwF|ZIxIHSHwt1Ip=du`PuEBZq< z%eT1gQ{nX#IBZHZHuRYbF0f~pzQh10YW_ip6LgpI<^}OKM&tNzde*2eRKm!tZ z2ndlwv|z6t-7gl3?!UI_w@7KdIuovI3V#m_YEbPxq?T7d>{+%@Bp4Qe%IOlc(VsrB ze$`?Dr+AhU)(ie~h3Aw^OXpFKhI8&$jkq_Yu^oE78*B}4@Gl4Ztat=GXrQGBg^Wc{ zyLiTo8AWTv&b_E6c;w=0l^R$e=}h!+*4X5%cok@L+RAuKn0Y@U=}6juWzM|oX?+yG zA!08!!=bmcfPH+s5sx=oA@wGC*s*c$JJlZjV?>z!n?ZR@*{u`6@rS9ghKe}zF7L%` z4=e#L7Cu0O^p|(AQ)>N~FA+dhDvSwB;m)n6lEu3$1DJc{#RKKd;xo8>?kO+ ztD9VNqyw*Khrfr8$9HuznIU$>&$uvch2Ny>qD`SA}{(GY$D-J@Uk4lvEFIwS4g zBqeyQEC2U(T1fyBsM0aWrK>>F4(^Xtg&@^0S|vd`;dYMPcy`>No-^$eyTxM5m=yAn zue%T$8r~D5#py>V2xCxqJ8)A$Z3wf99Wl!DF`d6?L+QW~?YYAO-#)Ss8uNpi^|6*u znX{__13Xy{0^nS2*0uIHMVG1!!)BH5K>R%OH=^;nA!NOr5QCV4W!_dI7epX2CWO9P zvziI=1(8!L4u*WezIMXrWzJ7$+!w6S9jF+z0beiH ze9y82Ky`S>=}wOhSyTs2K#?6-MWjA~x9p8O&%_Rla+|5w4C3!HYDSJ!TV8Kr) zlie&6g*@qf$7`%JNj1+-#TZFd-SSjA`KHpLscMx*v#bn*J<9&4B2fFQ#XZ2xE8XhJ z!}cV7Cl7o{pW#GS;2xFXEz6s8QD;vq6$B{BCji#BuWYQYxYt)d+m(D50eCqAJ-|YI ztMH03^8gfn@BS!HcpwMZW}X1ZNx#NhIpG3TtD&>k`)Su5%DJwycGVLIM=}JTJ^h9Q zJ1g`1LN48WVqNojxS`V8wNkbjHwG)PMxZv`i7Ey`x)z?0K79J2F<9+jz@`Q8 z3Y+-EGdgB+0OBpMPHA9(7Lh^FCBc$IzzV}!Vj^5x=MU;7VI8Ma$#VaK;XI3>dM6s&Arm8UT;z59N+X0Ddlc41*;&O`*Ev9xbVRqCDL3+~e)kAX zWd=bsGlVIw#QwNkNcSb;5FYx7TV+>@=P1b@qpf6~9SrpKKk3oI=wlJ*XKC!*J=qvO zi8YnARy?iHml-1wvtc@~E-HBvJH&-P?S|6}wm%>7KaHSb`x$@Qyn8MSb51;P7#e?U zm49Jjf0^8I9F|YG9Z$8RUt;&;^5#-{RsZ7pQu_R|K>g;@U-K$Rep6AgUw!Iq;vI#cFT~#r89ov7bdpF=Xi~xGF=F;Hz=SCp& zjo0gHNhH^_J_Egyx#rv7FTx_^v;VGo$ysF+Rh}+10x--$a;Cz6PxNnxjIPj0?=c!K zdOv3!=pQ>WUyh9)t`yx1QC#C{EK#waZd;y?>;GL0dJrsrNE&@`2)LLcv8>^Jd{(3m z{~PCP@G!A$VFEh-CHjanci-uMKOyuGNc#LqgE*V?W?>7%q|Vt)>2GxW{h-P-7sitk z%nRe(Q>fSrx5JA=@QY~Oi|ybG6UB?p&137yixtc(BgLzH@aw1IS2{?+uJ+!m%-}0M z#T)AGGm_XFjq#gKHpRLD#b&}I&CMGn21Lg8KELktMifFp@oMkz6q|5)<3M`;PJWs2 zw4^9|N^1G6@=oIX4t0IDA{-2dih*URydxHlN=y=pr?Mvzjm@Y(oT;)e6;C+ihq9t_ zAd^h3kS~$-wQML1PTYMnc_0XYUjuHf$*d<6kL1G!sp6|1D;Lv?_71PsjZb42MGJ)y zsGX{&3nkf0V2IcRBJy12%RfplZN2tUg#l+26H)s={mJK!Z(27%*Ctu_2vhBi4fUOKWj zBDp6JKb@69f^TQe(>o4SG~H+~d*&p5wOXFn;H20^QPEH8gZG-D=UJzq#-Ew-PXDC$ zc;8mZ$`(Y9{xop(PItjMWubK0iavA)XXk8JBA$ZddOMdR} zRo7;4zk0xWOqLT8ewe>#63=x|I6cTS{2YPyBnT| z1(Fw2q1}U`hZ_tS=$+tiJtrvRxl}`y#e(zq#l_VbiUznUl$-Z4$afzb;t*(aLlSuM zO&fY&5ZIU~-$2^4os@59^*zzB2Vw9P{sZ=DE7R4G1Cai)NM-UDGEC%wKF^@t2^mwK zhHlXAj`D1P`t@I2K{ip=c_!N0amg6NSj%a4v|^O6F;Eidd~#PjH}P|~bg5`UGtmc1 zJV;^U36w_%)Zt=QbY^P8D!yqyvHMn zN*sgKQ6!xdn=Bud)I)C(%+Q#E_D6IKR@@LvI|ipzM-@CK(J7TbfakYD^^cxaQG3Y@!yv=}saU^hxv3S_mqG*=`tpkkNje z$@ns#{q-BOR_l$j*Z#_(Po|#y=RqtAV*`jiHibNw6#F6Ms#Xi0e};qEEKSQFUpKkP zbrzIr6W)28D<8AU67l))udylfGfxk6fnDN`as{@H(T%PY<{@Z=b4u5Re9+5A&ZE5Y zD8%2M<2Y7i<{H;8K>=?Ee>vaVFc?eSSHGv@2a<4nF1YYVCzYm>ZAnE5p(2l*mg}s+ zDaRRx(3J#h4JCb%wsXf*B)O0zHnnA%bymKwWG`)FFw{&NOn;k#(oqk^h5y<#jhv(S zJcDXNx2YPIQGz$^IaCj)#!4Mpi^n7@@;!HKN?zqTr3D%Bz}DVX+*-3rxA-`t30i>@ znrNx0gnAeU24wh%-vfO_o3&oq6p{=?-@1Ya^{yqoIRZ-QdBbq;2$SLVXkkoimf7i~3F%x~!ngogy{JNrGY&HV5g^Lm2vqbRR8iBQj#mRA4 z!$dfYF~(@cqv#i+d_M1BmRS-|C@w_9zK&zJcn(emS;ZJ^f-nYnq>@#WVl8r`@fO-g zV=~bx|1<2f$}<*KnH2BwiujbRnN(w2_SxV`A4xQ9EM+w*(Zh9r7(7HUI?T*PSFGT0 z-jXxEIm#F!KqZTkCCf$glLG4{V#M5)B((BK>M}^leST~r$u>F7;+BfE4`;HTah8me z&rI~RrG!Ln!k>#CBRv_yQA*8e1+TPj5V?mr&2AMXUkCdQt7u|U^DAs>ajGu8V41*e znuTiF&31~Xir~scG;YscT04Asj>J|?t|6UfWx;%@b7ShcstziTaVa ztWP?(h+ZUtL~J|O7uCI0yf2f=>xU~8IQisl4;?f@#0_>q9?HeumpY7j8;aA|Dmwa0 z#oTGeQq;j6yH;T?V`AG<=_>;NM3^yZF==^uhmp@4T&o|4Wr8C3lCUMydxxx`8B&F<=U-H#X$`Kr=O$stniD@*8`Cbx z%~<6}r|f@)XWyOU@)K&~1*bP_5M5YlSZXiJv9{E5lG_-4A6}Vl^=NFdL$}Gjo!n(xH1!O4hlrsuRuOeUsNcHv0&^1-q^$bV+sXrgmv z#ViB>?fHJca`L4IEktq-X2TSt3egn`#F^KrqTQPv35ZXUM6!RDW!;wLotY_|F)rrK zMwW@rWGE$gGvspJb;{+PMnz^Xf7QDC?&G|RFhvl<*V3XI`Hd*-pi{o#{_Y2(1&%=z z!fFRjE3U`aGh^VL~ASiVxoim%Eli>*AM(u z+6~gSvGq6Hqx+AbgZIkD_5;oD_Uj%8|A&p=@9>`e6Se1fNSixAY0p7yAqRKn&0Vwz z&*3-0b0e9}J=`(RQ7tx<5LMlMQlQs3>a0`n`w%{bwAZ8>lY<4`!NKPUuW7U1#Pkdz zLiRDQS@C$(kWJkqVIbeIm%eifaO+qa&2vUC-nE>2Yg=y4LNtBXwOT`Pb1HFsskYbc z2Q%y$Jo>MxE}{E!abgN%TA%e0`}@igLY5&%c&>Ohk3_>Ed@7HZlJ77NMFlhzu0Y=% zIAPC0-0iCfY2Q8UKF?9^?dyaH-vjFZ1?eh$W5|NNW<9q56#)H?C563zWhX+n_gb$|%NNxuB?hNA z22SNaKsvD<9kIVYA0VCBQwb#Ud*ug6CpOGJ$ap(Qb3Vw7HAIdw#L6*5#4yCJDvtkU zh|_fl%XWx6RU8~U#M?ZCQZvNAB#tmWBzQXndp;zLB>{~xEXpzb_IX%bb@)+!SkhJE z&SqFTb@)2wKOo)3_hI=ZiLkWS+0Y*-0Pavym_g+uc9=aFx!l4P-iYOW*Lwj&y; zBY)*bw3;OszmMoFjZnmn=-rMSOpO>|jUt?n7;%hlBafP>N{z~onz@b+*^FAGN)5z} zS~W{i4G!8YNiBUIwY!y?`#$R6JL-rvX7*vy35zH2Xm}mFMhe@aP zVbb}I_%4m9eVB9*fsp{%aTTobpw|z+V_f0Gr0X6IGaZ+89gpxGj!YewEFF&)82&Kn zM3=_nUWeju#|2?061#_zs3v$hCQ^KdK1@1J(}{F}p^VT8*3^lt*TL-O3C7`x-08u* z1KCfv69vA5g;;Vd=cC2lQpFOJl&X_uR6`}MlTM+Nl^kPLrIW7Bliy9pYL+HF4kmx3 zj@7|Vd1FmA439N_Z2n42HQ$c4m`(+{PPI{ux2H~plumW3j&}`Dg)dF@gpT*#PDQ~^ z_cxCZP))~jOb;E5535cmm`;ykO^k(3C#OzNNK8yNPp1t}PrFXc98724PS2H2%wx^u zP|f^YnmCjbMOtc}`fRH3?KW~{X?QhNLB4cmJ#~0vSV4MeW=nN=`&L05c6JAAc$Z31 zm}7Q-Y3M*zk>7OoFm>oCRFOM%_C$5)v{{jTc=jA?=;A<;`F8g2(%===+$XBJo7};F z5=ykHb9Y|`?_HJ3ml_{SXP-*v&YI_5mS$g<<}MHBAh2`qu=Ceg^U$1gFr4$Z67#TT zb8u$!53cjTv^kul`TW>tshHm0o8N? zXJiOHOa+v-fd8h9)UrV8yFm13h~SS3)^cRv|4eo?LcK#V{QsQnm?GmPcxw26Pj;{n zi)CXsmCxkx{AaSG$wFLO=)aR4l?x>dK@@tE%~gvP%0{2!J|;VsziSpL&P=v^U#T20Xi6lHk2l9o1xj;} zyXX5WmA(X}_kXX?kLh_K!%(bjPNOh9 ze>bCWBI6dL2r{WVqe!Yx>U&YXaglq`qE+L2F?<~e`>~u8GW&7!yOk!|{P)K>2_o8N zACn#W|C#KNb2Ux=;{59%g;9*2T1j5f$}CM?F3K!j$$o-5Mc+TlG}9PE);vojKgvA8 z`bU*X4g!SYDA)BDuSLobPly7K@BP}5s3V(YMV=Pl{!tM;+^6G0XaA1rB7dCHtKhVBFZ%N0&NbyKV-Uc)65?OgX>&9PZ<@2P=!PU;s3%MUt z5pqK(kgs+>a1y5MM}c)zw4}M`unyht2OG8%x7A$^V;^_mhFm7@+^a!d&Ef`0u)J=q zfW_wPXH+}bEqEf|TOG!+&70zSY0?N?J1SV=VLA!QF`LFAy0a;VA(^o+*Ub7A{4OQz zE^$q{=t?!$lTz>J=hW`XuZ>OJP}8@}WDzgO5NdCcgUbm-wF`4Wq0K@7VR@=;IEa5I zF+zmtC^nGX6fQdxksj=0NCINGGCpQ(0E)ELI(Th z4Ub4}zrsipI&EIdQ=QILMckaVp^Fo`k6TTk*i9Qo<$CGD+@fS^O3v>U0(qBbFq}jT z?yp9p46Z295JN+59>GBTW+OC^?GTZrvalGht;rrmnj;1 zT$4_3VIVN5avxC#69Gqayp}oB7#YGHnSFdv$``n10*nIWfch<1R~Zw4R~tqH!IeXV z3^Sy*i7D8Mj)=V1L-1uXIebt9jJW1|xG&aNIHzP4o{v!B$Hgg+zswrcD(f&@_QYvU zxhgu1rV>6@c}P$^Bfh>;pgEi4mqsyE%C;zQ_iom;lFTU#xw}w@;&O z2D*E(m!Z3zkCig&r8d}ykZEzcpJijNE&q~T4@|ZRXnK3F9sNd97m3eL*qd5v$;v~& z;>#7q(;XCAHu{=P*6_;X+r#88Oq2ifwQBowQWH6$o6Vi1)yn9N2IPVYo0?w@&&6je zIZLMg*Pa-1nFSTHlPV3?j|TAB{w>=nfgU+;7a|znsq)(|A$=bgRTP0QfDNC8LWNTQDFhGis|IQFFHwr;GBazAbm9>W#ubqY#wAt7y>o5Z z5Z*dGh zWTan5WAIGbta86-dy8u|*qfs`y1rrTqHuTDSh3d8y^J0Fun1u>RCIYi-UK;c@m!j7 zyX8a{P%?^+-DsdAZGaN~}W5BB+^AMTGIQiV5{1 z-_r=m9@#*GXD3~adfNAnR2%LKKKUN~#kyK7TMkqoxe=zthO$&!Rz^a(8UNc6MXAY% zY*d@Trn|Damp(zByf zX4rZpOI62V)JwV5(LI<=H(kULT26W{eQ3LPJzUy2s})Q{Ue_K=K&?L@Ub$ zrC(g>dCA}3xkMPn@sw|6Hh{@d=G)uh(XH291Cv`$f#$K{3h!bZj$82i#jzCdWu*Yl zVYfK?C#C^^;J02z6LP;)g}ILQL&b*{Zr?+1+Q;AD?Jm2f?5+%?J0`J}ZU?>%FULeY zZYJe>^dXb{O)F@fS+RTU*75$A^58R0YUfe-@69HdxnW|;{$_y?c1hboaLdd8v8H7E z%(B9BuTB4DYcc=4*yHVZpYOIc&F>(6rRO5dz+vzu--r^(bT&ugJWcv;{;T4bLj|Po zc1`~GPSsKOrd@#dX%pmyP^n@5``p{_fP!JNSHF|C-r5IX#u-ONpDwb2%l(<~^Y;p0 zYoOD6y4^J`_cs^+ZCZb0px>OcT~vm9T!g0&uBTN*;9;BHMurczWx!Shct*;%^2mSX zLHSxE;2*cIWkgWHgMWnv1M`sIl!bjyhRgerC#yvu`E77=TQL4{Ade@9t%mPM2hao8 zFB8{+voe@SGoYF~So9c7zUtKkwCWu5*|YFIJq$!|4~`rQEL!m)T461c4vDo0$ntPg z!Sldt^A(8<2UfcB;CYE^x~1a;a#{xI$^@b=d&_!yDzADyJ%mkjgBQx(Am$bBXAF_8gwZLVnTj)})%X%TLyk9Nhk_F|q<*_Dx6t8Sm(r{sHgmK8h(AZAZy$d0)~pJpH{Yiwzdqk~Z_{k8AwC`Mw0Gdj?I zK9g|#7-upPBOf7lHZp4E7`*l9xu!|5Oh>&NNwv@lhra{$5t*q=qxz#swGa*q&5{7k z0?mwVtjem~bsaB(k-!iL4~3ryRRxVk1J2>#@MPyuYyuzdGc=@OJZBQV;!#~A0D;rX#3-^@b96 z;>}QxikZK69u9)VsY)ZDPXnkV0|&U@`;pJ-k{d^@3h$7SaI&CMv{xIID@KvcI+%(^ zfIxTcqIzI(m0}WpcHy;cC@-a!78tK1GkYzQi9SooEfoej%SKCBhco4@Q7v~OE45x- z^N)JIelU+JM<}=1tSNRHHQIGWgTw?PMlyYeahkO$n{Ol%AH6i z@UlJ*O)aChsi4m!l+DT8&HgPzQQyX>NCtJ=UI0x7Enkw-dXjdL1$1O#^_^g}m|)E4 z2d*~DN>3o4aOR!zX0!Gy`+5~3v>Gn*X8t=2#j?u0qwzsoNJF{KgXab4s-<|fCb1c2 z#r(2-p(?6w&Hv~la?Gc4WQh=&Cf;=5cS(62A{37lN2$YjQ6nUXRXb_$Qc7j}$QJwG ztx+m;hLKjsBwa^HR)?rYC(Bls5=T(=-3Q88m!;iD4g4%iYc1txi&ri#=Nl|n+AHUA zjz4LSzd$Jeg~(|648D;`xIY$rw8Y+8BY-%2Q$pwxVPq2t@i}m0)p1-?KuH;5fU3`| zmDMVh9Km`0&1q0_h+KgD_bTvnyO5(}1+`ICRZvxZM+GP-^OI~&1=mLzPP_Ot+4ae= z&r$g4UscYM<^6C9e|46xa_Yw<$UA!m=VU4hT#XPf5DT^-t*Clsq8fF#I=Ulo|EChl zLXtm~47`?14o60}BO*vH#SzgG9#Iw^KijJ#CzfEzI zp(N|?yNlX&VM-7=@X-Wg{zUffkTSb$_G++pby!x7vd%3*nP71hOi`XLZ^^YbIQ>es zdNj9nQd%QS&BL&`%PLnXESH@CqP>ZsGc$oWGNH~eRb=o?g-59MqMdVygibsm^sxgA z{0tVKsylmX#N4kx3(l6DYQpwunsBZ|PAYhnO@Ktz_TZzJSPR`tAi{MBC9T2l$^Cdl zC{pxkM%5{T8OZoUkcCdrm`z^G3{!!$E1d)eh~jeyT7#1(E8!*>J=2BYqlCmuiekfs zSl1g@VVdNsYJMY?D4vzv5tN#0mkYLi{(AP=d5XeyiYljzBJV6dg}*#eOxNtWgASw9 z)4IVXyQ7G!^X<5^7QRbOyVEhF+-u$4<#X50FZgt=SY;i8wPRO}fzI%v&bMImSBh3S zy5dKi?o!rnHjjwT&vMO>7uV{b?pZcz-*G3!&e(Z=f}i~1{YTvgFQKb=y$MAqWZzfpCYBjhW#wKu_q(-U!xSfNlS>mMhM2A4#qs@t4r}>;A$Kb%E06 z&ERYb#B44P*@n!3G2E!$wm!Ho_*A*}HJ(kwD?_L)eG?Ytmn(QIMDMF2S=|+pP>eip{(I$VVZ^qakD#J>~*2C3yaR41;dFqv!$yzE%SsvOj9(6^hba{VhZF5e8A{ zdOP@g`hh(%u^ykg16LyYbGm!GW7sDNIgnCnxIgt_iuZ|QBK1^@@W+li(#5oo#VWmY zn?$h6*-pN#gmi5VMt{L&`8Z?AkyrXqOvHkxh{$JjDdv2^3n=7^wgpuTwkt7d8@9Gv zz74-?Ya+c(M+69yvy_akE8HS&GEa3mM#Y7DquxfV-$r}hMrY4Pox*ze+eSa}=Ahu_pu)zm-{yGU=49MvZ_noJ+vYs+ z)^~{A=1;w?Uw&H?TbrvrTbo;3Z3s#Ab#J|UC zw{P@*-`j2c_51zY^ZSRw@7K5AQ2A@nLOZbWbm5vi2#P!FJ!^S-gKw>iFqv-Q7X+9j zWJQ7-j@)bH>p#K0qetdzqbj>_!D~@|J24-hb;OdE-9k4JDTO{+f*@OnA9uB9aDFZ+ zv(R1%s)t`s99{B09K|~P<*(FQjDk245k)epe0s-~9V!3mx15 z1^@Yiw3qw2>kN!&94~KB{O1kYTH6rn76Hml`A{F!`GX(s6%p!G^9ZC|4RnGdD2#`o z2P(icfJ6%8v6R246~?1E8s4+O`d%JE86UnvTYrOsvI(q&>41eY{Qf=<%PN8t5D)84 zi6$|B_|AeRO?C>C1nWnMCa#>V7&xW^IjkZ)%E$*N#h<_z!O_rGa zzU`czfMLsc(Fat)Do`vFir{*8@Eio~!BGDld@&P`VZ@GQjg)%@twjWV(i9JFnFYT% z!j#p6#K@EY1F!`6=jZz1FFU6gP8W?;>~QE84~o_ZMi=)?V6*-c(xeN35t<|>Iw?Je z6AQ2tA6?lc0&n1AAEO!t8cwto4kG~lu@Epu4So~?zmuTXnDB5bUtI@61O~+gbmw_E zRd4dyZ-7SENoDXj*Vmxk3qt72RwnR%FIW`}cvrrptor9kbUvgAJ~4!4F+{)3&wCRB z6aT$^23@EWG$FCh~Tn5P)M22uAYA&^c$Z$z>md% zg9S}U8HO9mj5qyR#YI6##GJZ-za5KJub+oc`3rmrD76H@1et^5BNO})${*3h54rlP z8rqmd4-B+P!Q;?|LdwT>6*byO`N~^!ZBz3^`NLgA^w@+w)k^4dr|iEWS*0vtUuLjM zA%MqGuw@7y3Y~gRIQY~z@utEgB0lIH<8*#OYFXIJYI<`gq;4jS7xrCiK)gObfe>AK z;-AW1II27dn~e$qZtM$@y@2;?gB5a44h&-OYX(i~SRVJ=MZc3t(N`fv+(ywqU!_5n z@9q#o7rH-_>54`Wd0<&-9Fv`WzGRO2MW3VHR_EQZW$hR}6i;ofkHCPvSwC4$$TrD=lkk@xAlU zHD0t2pSE1M1EkaCRD(MBSiH7#zaiNx_z&WZbqPd+ivQhnz-d;PXL_GH{>2a>5tl&j zi5d-lZ6hvW-@j;}M9uX@GGX7o(*ia4C)6KOe@_Y-WWIAP%IZJx#uAc+EH*Nfr(b=N zI2NlXqsXw-ZV?;*$}|*{2mi>iiO zykHReb*lFtkw6TZqQ6y0+Lm|E#4ni-+D7wMlYX8O$!`mF#Z-`>Rg~|HJ$CT^o-Q>5 zVm~MyhZf*tJmgqXsFbhfK!KqaZ2AQlDIWComWB>A%9Il)YyA~thMPLToEJtIOwnAeCl+ONCH(PueN#-$4BoFU8d;#`0*_Oe=x9`RmVdAO&4}KKUd1kIP4MMAlljzP*Pso~e1g*ZFOUcS|rU{#1cub)g znN#U=GPH=O^+l8+doA_3z<0!P`VphO%xj`lv-kWHH_+BgcpeqIf*}9tptSb zEEg+6_J1!Bn6=1Vld0WNe#L>%+_PxxZpl@J6uMAv(=0O5baYC*uLHTE(MzA(~l zvi(kom0L*9 z>p~m|@3%rGRPQ~yDEmL2!P40_(S+5Z_}P-=c&2al1?1ISCG>HTq4UGcK_i@x{ArNk zl5G6fzq}+~5~|f)d2+JSoWD*Ga0oCGNCHu#u~^AO8=G)iE-c{1cO`wZ-7*ZWb}=~R z$%AgbG3Z+Y!-6o20>BX00ytTDor~R}JqFkgwcI@hgc7Vj2+m;wj);Y$hgVnT9oE7R5sha)rdIZ?eM8F!%r z-qyMz>B3hWpWA)Zv2w&8Ni7B&;YtcP?o2FVNC`*KIu^hK4Y1XPCdGON6N`-aiTvA@ zAsY<;96F4Ih#K>i#W{ym`xB>zax~~sIfv19_7gQeLO+feaNCZpAn80<%y}M6F|rS| zkpU3OA>!mU1YuF)%gb9+hj6)KgIpZVLk|lhcn?IGyCX%X1Xh=kN7+DjkpKp0Trn%` zcr=GFae2@YgiCN<1Z}w*mdG+O>a9BsJ~Re#RbstQ(mS-&HW3xqJu!U3{U7)5*D=hm zAV_MRjB`Zw`WMN^Cp z-pgJ3Ctovq5*tWi7nAia>|?wB{*grc-DLo|*I+!#`z!v&ZwQmI(gPPyrn@Wu`#Juk z_be@9RxZL2Nkg-9a^y!KW495=qrDSl_D6)IfHB4#oVN?2Qeka+KfZEOYZMnbKaG;S&vbd{JU-oM*f7k z0C?9zI6+G>pRCz1Dc54`9!shHr}?;W*HUUhD>?3`g|t!Ea?YL;F@x;I0(iGdNj-C= zg!QEgDYxnrU2C>8 z7!2|}i-Y%^4#0y2$A29v!r)2_O*ap^H*Olpjr*^2qsP&z?*&(8hdbnt3ha>C zgF|0oD0S>egdmEq#%MGwQTv-&82jeIlsnI`sK9mf(M#}c8Eiwe?v1ge*iL%pzyRmA zL;GOb#$(oykryveXnNo%y>MVaT!lf%a1SJ!Ff<;-bnA~P_=9$=v-%r}({p2PFK$I$ zr~u>+`6~=scX!C|_4-?X0~q1wU8O$g;VI~AHqe)d5Px;2hqjeX$M*q=UvLShwRO3B zrWJKF319vhF9d2(zK?vmDSSM4uGjSVKZKoyU)1f>?>FgKIs{odr8}4I5D-y1lvF`b z0g>8;rCA9HK}kVCN+hIqVd;<-0i^{55v9ZBtlsxI=XajhInR0V5AeQb=9<~-JM$UD z^yeg9aGy%qvyi^3%UUicZodg0yQN$YmiWVh5<2F8P&Gj2?LX|NwB%|fr{OpUzyWRF z-`sP)7y3}mJiuXX*uUeY+P93CUQ>_q4jRJMQrW7H9r+!kY8+Pcz%y& zYJ`17pY@r+5Y1Cu0P?`rgYI&jK^CXSi3uDlpat3wpGGJfOItFpeGu{mx}<)4Q)S_6BgsT5szF zy7wX&bYpqCAExW8S@kA8#Ruc{)kJ%f;(9~(dld;4y;8v5a6SVCE4;W^AIko%x^-WS ztaMCZUu>Y1jUC#c#=siWmzY>*IROF-DFDjANsNX9qVI%lH30cSXKpp3qX7AMK%w-r zgn_ax?L_&Tk$Ixb!hQ0jLEzu4{n}!N09#}T?*M-dC5cZID?Hlu1}R^Vk{m_96SfG` zil%957qb91xJ9v!(h5pqUqXyfvd>y)r0V#juNVLiU@x~j(Z7JTeAvb-27}vC#zKSS zBwbMo$I+wCl1XrB3`P-7riyj12_~0m=aB1>(e5;nuN7l{3z6!Zmr@dr&fu=x4q=1Y zfw~IVP6t42HG`%zQh4`4`QyR2b5ew!A@MF*W^t^cDDQBU3X=bf7FiV8>MiZ)ry*u# z;`SQSAR{dV8~#*R$B!6x{W-`PV9IYCn~IHfjT7c{j&lWOrOxEKDm}l11!lR|%sOX$ zwwDghGUc-}O${7!!kC;InZt^rSdXCt*5*|ShTI!Xo%s@>ioiwpx|YD&86C5U)!JXh z62LX;UH4(pJ##n15k5CW_+C3%qNd1}>8!T&555tRGa$pvFcew~R;v@=O>`XnBFLsiCM1K%Pc)UaGF3Rgoih8bX4-*`z2`Z6Xb*$q2r zMQbe7#I~V0Aj&*e(JUVuDSzCex{G}}h%`2M&xS=^+bCDuRln0L+BDnzfD-p)r9mwM z8AaJ@(5G~@q*`bc$RYWr*jbpBnk7TzwfZ~K)L1f&*Rcu5<6Hpb_{j&?rAm2L=mSry z$y2EF+C;c!BTVjDZWF0|pSW(b`Mu~U(r!k#r#74x6va(Id4p&{zY&R~k@Zk&{GfwVm^sop%l=$qs?2QUe+R?i_NxdP(WjI;o>lRQvU14O%OVoAK3<;!L( z)}WB364#rJ2BRuj)=iXB%+v+dr`Z`5ax97G(RAGDIc@L|)@Wn~vW+TgYcMWx)2btV z#z|5z(S5l2cl5ka9aley^)o5J;p)BLkri^xv`?%GElK6DeWF+m$3^N%om8Aj^6k8< z+1hl3F?f=zQqoGjEa&&JK3@lt0EQjZhscZ%V$Qa1wdM^&<}hP2`Ozk6GN@mPM4{TJ zw<|NVO=!*tI~)J``@`afS1kahpPVqC?mYOE^~55;g(>gK&7HMDG3o1EWY7!Qp;h;} zoF^7|Wb^);5{G8gVCcdT7@K7GUKL&jcToySg6Oye=Y2J`V#hVU%j*`e2>l(Im3r=Th zgNrVj?Kv>H;XrC-iz86mX(rpt!%I$x?Cm;}(}AIAYE`$*Ar#aUCW^GQAgwyF1g;T2 ze3bn1@(neOgT;mW&}yzD?Ud`0@r!9Gs3?uKuvQ=~KODGyCXThO0{ zpFM7iltDm6zKpM!n8`m}Q3c$ZlKX(LHs2n*{CepHC*g8&;A-K6K?S);ZpX1^yaNqi z9kIw0BpF({61{ip%kGr9Q1Tb)q{X+qnRnX1fNx7m+N`i1nC)J9W=@`zn>U|KKrZpR z&7K3)qZ!(ES60ZNtA}#Tzn^^dywM1F;RLws;TBxLnp03l#R8qa?M9w?`?I^W0KcT< zFuS}7mB4Kpn>DA6>3h-rAwg?w{MWf+*REi=r~5f}>r!Ab zZemm>f0=8)fQ^5f$l(b8;*D?V%a${stZnzyuV0>qp*Vd;RaxE7Wkf66zzt6qs0wZy z8EBU9dur||)O=T{{hXmX+7jD>N*SE(+v~UM@vswTW{9&VeKx;+T$Lj~Oh}Yx4vUR# zOZ%Mn+nJgVwC={7yNIEL?N;Zllh?m9UW}bV|3v20-POEY~A1NBjW$CJqql4jB z<4brv#`3->e72IKj>7WZ;e?luvj31III2B~SEo*@aRv|k0*Vty^ky0@Z4ug$x^ zuNA47^#Omr{a!IvG<**mua=AGY0_*!THo4zUeM^}qXPH!k9rL<14E1V zjWT8cnAhm> zoPG7T#&8uy-yQ^%_6Rk%)GZyLr3DA;w~O>O4)pyurBSR|47<85N6dp)q;4H z)LdK9`n+N)&u6M^r8&Q%sYCdE5#_Z8pZBFjK%_=cxz%w+%OeM?Bi36-N?)1=`J^wd zs7xmEznkkIAX_?~t2C=z8|GDPTWJYQP{FnY$qzjunR~Rpb+lSEnZjb*TcKW=r|K)9 zHZ->|yrl{L}jqb`Rt$yxwlv~}(l%mFFppNNK>m5@&lv7{Wd;Uoq*Tt=F zb{x`9{R`B9i>A{}GMnR}Lbbj$?m2C&Orz(r5o6$drfRv;g8Cml`^Vcd{)3Q(QcLhi$#;s~w$>Tqe z7YH#zNo1N~I4$v7^xi?N|zR z1+sDrWzCHN*mKIO{$*O%i{XW;+8Dq$3A_AJRK^xu3jLbD>|{{c*jDKlvrK-W1+$1f zWohFgfv1X)jb%4^QPbfkY#y!Xdp7vumO38tlIqStzl5>LX#%s1;^gt(-kpp5qL z_#g_(b*u*L`J_xq{A?1L3nd8?CEzGZ1KUPFI%v=|r-jj%A47c<;*XcZ6fP@lj1N;6 zeWqS|1Iv$+9@~&G|M88lpEh#-P&;jF=>4iT=J)m|9y2=dpt)x|?0dl_^UoU(uKOy_ zcH}FyR)3LsDe{C%*?tbzCwsJw`To?LOGaCEuF`#i5-8QWKgZQUxUa2m#CuLdRU@?r zmHD(mFRcPR*0PL+%j`kA6P(<+q0cP(RHFdpJ4-u{wJ;xtwo5R=hTJ4$saju;`N6c* zH4&uex}dS{cDi2zE_*`SPc3KAv3Q{{c?vGrZJkKfCNu8i#fVc5`edXpCU=*eDkYA!9_Ay^jvfL$&j~2Kbv}7_nn*?;?*?|+KN_eC)%~b~!$+y9j0-bzR zWPeo_ss913`xkWT52#S&hkrn00sny7{Re2o^FN@zo`49@(+hFinF2j(R(*#*pv0MB z2G3DN3Z+HXViI}N{Qm&;_xOK-qQ?IPz470G{`#+=*Ku3d|2t3>j@+PhfBG3xW)qYl zE9@^R#XqEP|0Ny&Ls|wL`Af=2hKoW*!!D#?$QWQ=Eae*|-WpI*ZwduNhSG{YRbM!Z zda)+5=c#du_jITq@%k{<=OX1mPDZ?nOS>T1PQ}BQ0g<}g%O(a0;$~m4gLsIrMJo0> zsFzB|EfPTEA$TP*_?9bnEQP5Pbtd?AvsaE<;7#7D)cn{bCTv*X!)binyUW2ejI|_w zI&yH5819szpjp5uD1_*_Zg3LQNY;Nm7l0=kR3K0%wfJAmS9}I? zKI)2o&QT>r7;v(tx8wxAKOFqf&=u|XLA58e8KbSTDH_WS#@@+krBQwkL-+X4> zdy>f?S=ZFu=GBj5!spjIkFRzDr*r9SCw~>;bL4rKRZo6(qGdfto6cFxmH=`-I*NXN zZexXhjfHxgiipJsHw?R28~20qYmroyJE@cTTW`uQMq_?A9=^O$4}quyp6}XJlzIM* zV5+eqX0j~LXdBliAahTvv{b$yzKeJul!CYK633<3O>$a45tqy>h$uc+y}|9};c1!+ zAAbK}I+AC){>2*-JXTW1<89UAqeWsU2cqX9U0tF{9d8ot?re(ZjKYc0@13EF64U$; zL4YNlEEEvgA~r_` zlprrJYim)A^%JrxoG0Va$&z%w+uwTa>TnK>hGQPUV72;(d$o1RF9JaVBHd1%M8Hi^ zdKcUo%6_kgB8l9JHxFzoDnS3-TnM>8+)NLOqNS=$s66dzwOG?#8*Hc)oK2C2O9a!| zzN3XCiV@JgK;|iYTm}>Jk0aD|`gtR$sKDdD4AYs0XiSLyZj_-SDJ1(7JLu)3K%(Q- zqoRDLBzhVrl2b- znMXaB_~o`cfmOzPzR%x9N1szWp2M)N*zhTrdAWUmUCCg)u+sohB37U$MbUqjI7qZU zl#6&ml!y&p+?}F>^y&Vv0eCey$95dvYzP z+^++S5xnj=RkLRY&NnVio;n?0{cu5`2GH@Cuu2v;U%x1{J_SUACo9R9usCW-=SlN} z5o5USiQo$a6}B;fk2;Xin2#hG1;0wseq@fk6vL1lbLkp)qySS) zAa~4rFM|jKt>gxGEPI@RYaB;j?6Ut1IbR$CoAlFFUwYh@_p$M77a&le9>lA8IV@{T z*;Qu~1@Y1OgvPLbQcQ=swYqi!jAW(jawll5X^0VZaJDx3NHYfoK2ng^ZaPuVHR(U<(M zf`v10rf*vCRE~M2c{^KpoBNkiM1z0{mF#9vMC*W6rPlXFtZ3d&L{wGFDR~AtZIDZu zoC1}zSgp)Yi z0p{7((01nM9;jPie{=vy#dfg}mR50(3kc+Y2VMZ6^FISGsABQW{|Y=gX0d!?;1&Ew z;Jx`9c&l2e{Gw50bOKbYsZ3M&T=I|vNQZjeAA6DE@=i(}d(7w}nv5^bK zpNn@ive8$q`KenzUt~2TnXRk`2xNGZbGKgdYepQXFsN%KZ#~)ePZchz6J3HW|^G6 zOLaW%*Ly=U0gq8923|2I(`8%9{}p(DFW>+Go(RoB47|fXx6OY-YapSV0w^J=C3Z^Y zQEMGfO)7Ru7_Bmg^DtYa4L7fmN&hJKpxrgTf9R1?muM{B3ZTHG3fPE#a{eWv>k`w> zZb07^p-0vPmD3d9xI-%Id_|;@$hC@Vq+fj8Fe1Q6T1eFI#s`*~<*AT%dd1uM?4%Hr z`oeFL^8iXW$81(?W5EK2OJ_7gnoZ#XF%b#Bupax-K}`_4 z3#b4<-@o?%`d^Qt%D*oOgRk|J05ycfR*T zNKij2gT6Hwq9GN$d@Z-WsPj+l2>-Ws{MQQx01SVNw+ z$+0(p2ei^1*pTsBn0!j)zj)&%Y3RJt8h7!zY;oIN(Id#Tm5PnV5*f`i?Pmi9EwO_V z;MZYEerRMPSy%s;NS?wtQb+f#2Ij*AJm&*q(p@>l7h%#KS_e7fAWM<|Cf!GW@=qXO zkZAiqzY_kIl>deSg+1||n4MTs-hd%{I&raNq_zQi`Aj`2aE33!Gducy;czV!IfL%V z8xgL*u^$PQG@FU|^D6UKO`JIMlFf> zaW-|~Dta$Eqvs;E3W$`l34dIiB~}GXbn#dJSyKKVE`Aq)1+WtT0Ax!1wOqtCT~USu!p7-*!CLf&3<7$VH-WS60|tDTaH*=u zdu}>!Ei+VyedFhvnvbx(^yW`a9!mO^1C?1!D7j8HGOXd`b4n z6jO?V7^VuFkxV~UWtGTyXZ;Ee#9`uHdtYc;N%@UkzRB-xb-n-5)kWp}*9zXYwvY2w z!nAQ;yHZmWy8bCL{|2@afE2I?(gOXr`twoA?fEC@uZfv)t|k$|8)d8A|66}v((O-i z@z0cUXrBQon39rQYK1%KN9dknzzI z{aBMjsmT1=ALEwDPRXy6CZ7~S=OV!`hQa;Bt^JLRvv#0 zrFQt07%j_}rE))vM3|k&dS?>aDW;uiz8}KQ44;>2f>o ziO;B_CoBT5FU10}0Ma;zl70y$6DV7ZqLL4?3P}zEcGB={U@k@YSO+aZy>f8?axYs< z7Z3lF+8$EwQ1^VKSi{D0f~0bmBfRK!EfT8hMcT=t@YNGU<_Oa(0{fJ4>%k)@527PK zcWmDKK1~q;PoPmp2%i#x{dc{N!IQ1%~!b(zipQ0 z$B29@D}Ltv?RD9!@^9sp4d1?15NdivwkqqVy|>;peJ$UrYCZh6RgEPP-LAni`)t?t z2~=#?4ask9za7;R{a!z5?!?YD7$aAZ499if12^w4SyQ(t|ut4Z5n7XOLM&!^*KZa${q3Et7&ruN9#JRRP zJ>BZkfszpdK|1zL#|1#(u%9@SZTrOt)Lt+(!1PL8$tt|5~e;g1cmTQm0ZkwfWq()jyK& z`B&WopV)6eq~DL{(YS?E_MV_T@HT;xlv~doh;zDzx1r>qjfelKq~u~c>4@I%P# z-iu?xP^tP+|A(;Cy_W#$G6bp7XcYT?KACBm7R$hBjPiZ~EU8RK&}c0F=6)gTaG9RM zz*us~ei5AdwSm6Tcxujmv5@I&qw53X&))BsNG82D@i3amncaV-IQ-h|(ZIxu)BREe zb-4xFXtI#~pv=Iu+%j`u@|E(zYm20E>r$hs@|y?cw!`H%jRR9vAqN%C)D^b9M$>gU z2bG?t6*oT)OgFqgc;lB;VZUzl@%`*URnTySWA!&*#IrMsZrew-p9Ijf5P&&8L3jsc$?xo^x1VX8Oka`rz#J`@?rN zNrX4P9>#OCvxf~$!*A{qmydlpJ#55MSNWlh=O27tZt63wx}P~X|5f>@c{Hgiu+;eT zx0^@rXNIdD-n%+q>U-3(NL?M&Yy9O`PGgIyRCUP5!7qpJkJ|clf0!*28|r3{+7B|S z&2|SD2t*Z{iK%;L0Fy<~rI~h6Pk$uK&>{&^0jJCIv>bz2BY{GaQ}zj_p=^s&p)mQ4qvl*oAHS%ZF9DW42IRtO#*!V8sFUfQ2nl2h##0^$eFSC zcccJ@GFolkmD2ZEliDD1lPkTM1k>KlWP(A`uP!xtP48h&&gnNtR>)vk;J`IsPi5ZI zk=yafHJ}K%P*H@dr99#*ZUJ)WYWj=&~28xpA zQTKog4S>#Z7lI3MK^yjJlO_$~ji=r{waM>6QPVzt(IvdCpBsXrs3)DlTqb$n7#l*2 z7R?@&4|4K9_;6PLBaFW7?Ds%uN8bXe#Lxb7M6%4%f^l6t7;mNXlR5HSX;QK^196%E z-JY|g*Ztr)&#)NvN`@tUu7GD^A*9NZIGTspn1Pol$^zEDB_B(P8S~=Hp?(JHvzXKo zm16H&kG@rhg|ktoVq{Ns{15J5CsAS-hQ%oalvAh7fC3lKRohjK+k_9n$Xnq&gnZ;q zaLUQ5J|D*di~8EFp0JdHwUdr;^>a7A-={LH0;%<3%-?F>3WkCxgLWYmA44Kmz-5hc z&;S~X2(Us8*kljvP!pn5LkbO`ttbTpCSS&5hiYtWr7No=_GWqA+wL56^-CbgoNoaN^~a5u1i0k&rDQD zHD^*0yDDjl)DOr))H9f>%A$8z(1MfbCw*w=F3sRRG$A(VNxMsUqOJ3>La68rk|d4R z7e-^7Z$g5kRq>1RvIxF`APvb1TdIMO1<}0KkDGzRt}jND?8T9|(KwA#R~^%Sg+Z-X zY31Si1gzr4?vvEXIM7mj(=qveT>?oOii?4!ik0S_fo@Btt}P~V2>{KmNgR$vEw3vW zAJY~$X>|#~T0C_SebPr*68p5UG6RVUA@n*70&vs8WbrZVH5gdBdp&54LnJqJc*%t9Ta(t#=2v^vRqEedV0>!fH{s_TY377 zES}Zs;SE1TJy|07Y1mw&{yr!IzNz!omY}3zK@lL6Hf0sJ3p1`jJ`#Ku8Wc#EG znFw}?msN_(I8MB*9cQl{w;`E^L8X1#kexdQ=VEku4N%HAD9(=LKB2=BtRLceX}=n% zYHWmjLZ|4n(bxebZTh9v`lU5CL;9}Al73173Zp54(a;;RRLz;TC+MJ!OoAc?wTS@) z!yYtiFtDN5e^QPCXqIKO({E%y3(n5U&dzDh&i$1A;v{<+LNm5Y$^A;xY)EFByZ;bt{TwA!?!I`GE3FlwvH>^Ku7( zrX0)19P+2}h5da2$85pn(*ihqA&+t)yqsbYkwYA9rd|pE)hE4hD8=WMT33|%w)D9~ zT!#0JG}%wemP&a$Y>B)RvLC#1$CPCBvX#rc@(!d?-oeGH@k#i-y#2V0mHs@3Pm)gA zVXlT*A|f!aPjQM?MgCryXRq^Pf?tg^q91#`BJ+AhbDDWi83X#JO-@mI8jSIpeM#;8 zl!l&~$*3@by(~((jDWgX79&zt4x^SDEAcfX)qtTgn@le9;{-Rrh0f|aD^gc?pDtMx zJ+sw6sUdlNOuLDY!;!^^>!|@ftoGkkLUV>dexXF{n&?CRm^7e%%Gz zS?He{NPJ{1e-Z$_2YB(NDP`U;WtBDU`K)rGkwnQr^7oS`4u%q2n0UEUWTuE=S$-+Z zD=R0xH0o0dLnYC^0R6$wLF{m zdahUWR@s8oe&w|QWi7-X>gP;jj3Kp?1n<1f-+ce_`@l=6aus>b%Z>Qbuk57{L@-Rj zRUV?%w94VxbTlBl#)pp^gG6gsHt8o7Vd6^srx7{v!i}j~O&_%ygP%9Ww=^X_FL+!* zzv7qUxKA5?#`pBB2zl0&>Dn|M)s%GBoPX&(u%cPeg@(Tg{7x8_vBmd0A1s~)i?(@ui>{t1^dt5+7J=IHm<}*NT4M(yF43G9uHBAU@@R9bs)_Tckad zY;lB9p{eI>CQ+^ZXNs&wWcqM0hY=aOpUHbLzz@@A1^|TSx9yy9&d;?`@3rXx08%vt zt7jzREgfTakRu;>oCV30KZ%=Ut4ST0$r9D@n&nM-K~u6eDIK{2<%H4w*I ziDNTrzwBE8AL6sG0p16&SzrJG&Tz0Z^#}qG3SwIn1xub6pfDsj72+r*7}tW8v2SBC zVd^hqbIa{guI*Cg&{OxtlK=pQp#@s!IBqI7eU9GbQD|0LuQo=OUJ^jqmj*oH0MH{y zlP$Wt9z)sSU<(XTGY#}4q9AhuKy3jaK8U1KfnCIUjvw{Vx^$gnXHpgP3|+?+hX#im z4$#D_-Op(#uavrT&gozQ5#+#gn)K==;`zs*nh0R9>j=&?nU#0~C=19?C6J{v&w$ zL5$SkJKsU=AwFGSc;;Ibu~E{i7QkQ&`Z$XrFapShA@Q<+NGy^rok1veNy7c0th-n) z@8OTWt;}p=o78|Nx5+@%tz1OG3>eS{;0bY7K(|5!DnY(}-K<7qOs1_Y!vhbzV`H*n z0VfUjz4IN<6odO-{XE6ciNrb%PPspxqRpA6{8Z&Xm^E+TaFIP#@TkGp;Z;KO$X@x& zd+uW5-^q+%6Vh*h(!1R#&Q_(o!Jut2(;AQ&0!VK{2IB1N1&~t_KXFL{eDfjna2!w! zLW7xM4S@=dPF&4vu~KV_Jef|28+(*9P@XjI`+W9IVuP<~RtR~iXUp{6OZlPiry)62 zu2(SMM5?PkXF5}kgt9kyQw)fyi9PvUV2tP=C#Zd1;6hyh5VOxv!*J}qGZ zkwh)>UDCHhpxZShlNG(2cC$O*$x43@H{NM*9v+}Zj=%jq8%93zo^zn7ZJtkUp6~Ml zIHwvqG6(tc>WI@6G?IUEWdTT0jeNa$d}Zn9caaaAHN3t7Bpz@Q zGwPM+Vk`TmD^5OhJKt7F%$6w4*6FKO3AzNm_V2IW|6aLvc|BZw4&|6drM`+wnveUk z7(l(j7&bnVx|TR7*eynWzVbDPrXw$RcK@?>?aJn{@`m2!jqRKH*OFJsHW%)5n!F-x zRzF#NeRnlU{Tt}Tw|S0_b#23#k#$bIG<%*{`imyAb6UX~GV0pR0h)z8^#;qk(?8i) zn@#6j9ll?6oHBH*+PnGG#d7BRX&j@Rj$^`)V>OOPcFhMd$H^DR7_O64jgxezlV{ZjgQMn8!cTG+PF`G` zMboI1TSOI;uaZ(m1PkI%^0&d*O6?oPN->aMpfthUGfH zqd|4bcit0z-uLpn(dm3(;e3Q}aX!j*GQ{=QY^ogE!l0LID!X#rhKW>j&Fa%^={_Z0)~0dUl&)2%p*Lr(&~ zFKexd`n};g&b*rk-)hS45Q)>r&Sl8!pCb1#IDXt)NRUxb_<-uPZD??zgmsf#|lN>7oZeI$(SiAbrK{Cl}|1$ zzZFwPd76KLr)ufMZEph6do^>BDM6v5nxwmg*S+ZNSytU{*`cOLS|KV^MoYa1&e|C< zRf<1i)N=wYNjXMk(vyVhybU#^iPQsV2UM0lG-IE^t!ghWb}MCiWUy z?vipkw}D8#{5{=l(Tpu<>W?+Y-(T`y_(R@3eu!A(ann5bNh%Y_N;`cD-`Z&r7nqA8 z;WB*iu;t23gw{tF?h1+PoEy8_nf$*j8YXUPGCf$}^1W8##OYl&Ij0$`5ouA|2il4xIha$rzAg8dd;FmS1jKd1>H%cY{R@Ro|S%I!h?~#$tTi(=BEt ztbZjH;DL2#0jXyCdj zNM3fno%SKz0QERlUNBxuCj5O;r;?-f_EKuhDcg+~aA(eOrQj%EGRk7U4{Y)52;Yqt zaxuoKT=IaT75^8)9>wnew&YOmJDDBS4Q?erl_-Yw&~3|r&==+fms0E?H` zf=%b|*W2vpKA-%C(nrtFd)^V}8rc}fQhUo+0 zDYQou5=o!P{k$jr`3-gVC{8|CZJVd0#jk%w(%f*N5GEX_K;z;_L{OG|tVandt93CS zP`70-Ei-4dZr-_=;dbP>e+jJYuE0Ax_xYw0o%DU2(q@wujV~7MwC!)`F#eRuO!5lH z43^eZWbJlc9na|Ru7Ja$QfkB!Etf$B#9))YHLM1G+$5u{92G^r;Z^SbmW3P?lcn8p!I?4T_ zO%FfW8#!VbVj(k-YuC%(S_m=lH2NZC0vfKN1Ld+ps6{Qrm*CIdjNV>B`Gg&)aF_7u zz+wIfj&FSsMe7MUqt{5I+|G1w0d5bGpGlE|ogcWb=+SrPb^UZl$BRS7g$+*W_-hon zgog6peC1>kjiSA_1SLHI@I$}2)QDBWM;y!44(0J}mYho=rhRc$ zS7KN~>+VtBFj)QlaCX8=%CAh9lTH+d?Et<0Bry$yL|Q~-lAc4=O^Vy<{QMOQmq0C} zYp=I!3M?Hue`15am#v(Gos<{BB{!T#CIaDt)HPdAexjn-38FLKY*hUJ-RIBT;vp3&ATe z(kjzCw_o3tl``GCmf3~#MzGCs?l_a)NghVB7PAj(s09`xOL7>MLX2!Iw~8lbH{D+! z+{k&6%C*|C!4!8o@%F`o>+PEx_UrEr%#5~@@0E;;7nElWggt0z{4Hwr<8+ow%;lXn z=d`UpaqP12C>Hy9QzuB}X^Jf&Y)96Ga(?jFac3!UL14Jrr?Z`qU}qCsUaycTfWJHF1f({QxyY_+dHZv9DI5HqLoolf&`MFU`u zpzOy^ooNvE)X7^lc3U(ipTDQ7R4H-OJWInJ%xQw$af~P!Town_X=iuu_;RK?;nv0+ znAC6F$q(sdmnGnYRom$Iu~*zxV3R7p18_oA+I??vJhIxqThy7X+Zc*F$m>;P#jyPo znm<%pOS`lbd^`4@w<(}H7wx*p6SZZiw4@+iVyazbqF6R}_3BI75DpzJl%{&6ijKRs z)@rBmkh+9DUWQ6Tg;8VFPLs*HL!cEq@mxnrRSRm3znZQsq>8Xg*AgDm5ZK1+6t~D0 z>mVTNH>h;a-)i41MjUrxDMPi`sk&TRyA6E1DRQ-(@OY0_WoT=+S+Tk-zN>3b_o{Ul z172Hl9ssx1A@=dM?)V@+{UcHRE3&tQH#e&Hp{fo~D9%7uhflV%=B$g6qvJ=B zf#Hz;4HLcK`p#G?L;HPA>dC%Gvc2B*-SYD|E_@&FkOAj>-;7LOo^Oj~V2{&whmi@k zU`U&rvHL!%_nv)!1Ri_jrsvCu%~{31vhKOeXGAWGcML?_P9GpmG!oe#Fog_WxaqiV z8&MY<)YW5Oul6?t8aIyjHWtGgw&R=ds?GSpR+QfT$-(*pV+HO$in0E7zM)RkpqK2B z;)!v#;y{}15FRzuM--ng9wLg*4-&=aCx?jQ^CLv@dB`wPe1425J})~wp)*XFv>u*v zAD#{z{)if$Ngw`16rZmjp2H8%6UFCOhrjF(FZ>aoA6eoXS(Y_xoQtA@#d0f;d<`5~ z-zVcEi`b-!AkQzASFBgs6xmoE*+J>?IRjrTl2c=|)fq6L6)>p3ATE|oDo!bD#_UJ> zhm#?7zEM#nkto)}@?&>%HX(*$FVW0J^HaW2&~MqZ)s%D9>J!#cxiO?_zQkb&cXoCp z^nSJr`}4Y!1er0Uk|$VcgPk@Bj9UboG$HHaz&s(`g)Zzm6G%F_QPzyBN}8jw7*gmv zei8@sIA;dOd>}V)G~5OcqC#bIc{B({d~z$Qc56$E$1nm&676&IUDz;O&wuZoI&?0Qxc?H>Jqc`$3VFm zB(&|pt^QHoR-Bj`T6ZQkV+?4f@^m%N zZ@8Ig*fVOpRh@keohZ&TqzTklL?KEzZ{kA@%b|8B>3UUH)Jy9>+;XF0= zxRvcYTTY>HLoK;7&%kKpEgN;%Rht@A$x=4G+EsRgtIRx?7StH3v)iYl9Y6Ux=r~wh zKP^d!{XkX+XCBC})hsX`t!DwrK6fiH09)(7wRB*g;%8b==Uv!{cACxo^3k+~MZ`QI z)*OK2N6(bZK8aPDdZFBH1?Vqu+zP|J3e*mUHS-)d1 z2ID^l&9R-Kq6Oqa&P+kpLorTRuYCzZHsnX9Osf@1eY{&Y$yi9nWXY6df}~rY9ZQm3 zSS1u?l+EN)F3e5d$4)-QrUcrRq}dyUS-UjlS$;-TZrF^VL~pd%LX^F`g~Usy8j{zF@Lg1)f&wsy0j^9^zz8kXLFilg84No>K5F;GnkZvL;MLHt2)?3_V8Pi#Cjm zCXi5w<2Y~-v$pHLMC6L#Pg%a}zJANRPCv}`>%or9P3AhmChWvMYho6}m%U0=RP4yU zM8jt6v{b^Jk?hRgLdvGXhwMnr2JQasqipBHM^+B))9%8`{z#xiYraP9*QO!BR_(BK z%CCj(+ZMg_)7xZrY25bh{o3Z=7VZuV?%_7>5A5yZR_^6y?&fyx=Z5a+mhS1M?&`Mg z>&EVq7>4XN&F$`HXW;JA1n+LfhVUlM^6utv7;p3bOlJrOb`FPdSO)g?%w>pg_>S-O zrfg_znkba0c(*Z^;}6XTSykfA9ZR@CJAA2Z!(om+%Rv@Cvu^3&-#b*YFMJ z@DBIz4+rrO7x57%@e((256ABlSMe2R@fLUS7l-i}m+={=@fuI@8prV**YO?a@gDc_ z9|!UVzX(W}g+~tZBS-QiSN`%PXYwXL@rzgnNN|KH2V^I=@+-&kEZ6caZ}E#*a6{(u zFc^Mb4<{kDifFXUxF$VZ3tNSE|Ur}Rp<^h?L|OxN^H=k!kZ^iK!%Q0Mgd#t26L z<3bnpR9E#?XZ2Qh^;d`WSeNx#k90+!2vh%JY@qdB=k;Fq^EjRNAHTjbs$Fd zVORELXZB`y_GgE7O1JfhIQAbNhG@t3Y}fW}=k{*jbONV{YF}Y*C--tU_j5=0VUKe| zPWN_q_jiZ)c%Srj{x4*CxA%L;_k8bmdIx0pTZc#hcs)Dxzeeka5O)=xMlCP^>I48K z8hE^9WQaI;2Zp;TKvn=aH3xu$(=|2?5Qqq1qE%}(Sg8VmAc)!-f{#zRhgTadocIRL zx|_&}fkp$LSWltwBcrek1Z#??cnA`a2fc9!C!lJUmy_mu`S`7)Yx)PK2MoHfi$K+j z_8^fd(5rL^f^g!9d~%X&BQ@odh_Sl|5F0zLcL~Asv>^RWmZ}hb|Kp{s%RrSWL5al2u#V_pcui<$)q2~1Ph;8$ z8Tn|C(2Fhle2Rd6n&=TFW*n#Pvl{!8ywoygWq)38SXx`{katn=lK1$rMVd>w{nm2LM@v%b(op?Vm zq9Xp;MaR`V1h*_yH&e&Qe_V8!*g@yy&Xqp>;i!w_#!X5GCGwK<@0TSwZD#EGrDsz_ zUJL*7i6f)Uo`1aB%%Ne2pkh9A+QeaHiN@einC&#?{Pb6zQokq(j&nzHn;31{oca}M z#^9+Dqv*g<^DdhxVhO7ALCRv-iWhbCBx&X&zBX4D;~WWBWt&m*mNtEgT*q)Ic5%3& z_+!%+HWG!09GOP+SoIP8?YMiDCZF$Yx?0qcWB)(t{lLZ{+&T5ncf-k~k_}z7K@o%z zN;qLe;ZS%Xh8b$OA%`7$_#ucPia273Qvkq;geIaW;W|mwL6ATc#aPf@^8|sx1^z1V z!4E_k+OvZx6{TabO06r!=UR+AoYU*5)rXM6^nndbBCgJ!=q@ z1}OjVBi}z-&|%LSUBxLDBf-1r>#n z>ikdxoDt#rPZkGlR3O+(jzr6!rE5s7W}M2EK8=pH8Xa+yT9EILU-hC{tvS8}98$zg&?64s1A5(nO?l5m|A%4a>78Ta;%e zVsQ$-#*Z*>(J#Uf0-QVVz5D(<@W8A13-J^w457nqGbF^U5ix=O_dgj!*aUSF$#cd( z?))&P=GK!=W#c~u74wwJPBi{MG?Ok;%>=biFJeTFhr?UwFP(nT-~Xg%I#Ga*!wC?x zG%K87JT?FYUF8HAEopknf|1H7z{NlkLkwh_WT=z1SQ_S&{|FluF+-gds?8*3 zb6Xy)_Q6W2&{cn_TZHIRf&${81UPt6aY#WqMMgv&Qmdj6ad*3x{Nr&E(cI(=c{wQ# zZ8yU~A`SiGzAuuXF70eXxz_OmOpL6It*c%*uQUHWDylsp8BT5Et)J18MT zV+HYhYJ>_7PU<8mNh@~1!YiMU_XH~bVxB4m(2^uFkHO|`hNMde%pw<3cvTU01UW20 z^6FB8q~i%NdE-9`s@m1E7N8M*Eo>u75i1Y?p$L7=FV+EsgHj-v5c-7^FmTWn@S&j^ z>d#70@jjD!2_+ce=1ZbT6p+Z&OXG`*4)}1C9R^4xV)@)v=ukMH63r`M$-!{+q?I+K zfelEF$@bVl3Y0MDDN}pQY~U~lw_0@${(6{09#+JQ7&I?2vss8#fgV&?2{_Oo6Sh&XWhep#0fI!6ES=AC*uW(&>>v#-?rWL;`j01AhrTP} zQg^|FpcLbnB2G9#O=1(R)r&^#g8O0-dJE?%4e66X%7xoU;0vzsY2XF1>5xOVn4iQZ>t zfPR%=BSh4m1=iT3nYqyzN;L1p?C42Ty3!QEvqUg`Y1krq&~t`#hBWPFK+9Rrq|P*{ z>kR4)2|CYdKDDW1n`W(UdPIl*Mm4NgUF+hti;NypHLP8&AzAa8&BlK1Z~Gh~U85R~ zlD0IoqfKT}^Z7z>{O7^`3z(qE?ss)pYi=rbERUbBpNKe`a^6`z(*` z6;VXU7Iv~Xgl1yzTiN)|Gqcwm>{_E%+6F)Pn5j+eQJ1^f0GH^!;~iU0m-^VqzV^js zZR}A`oYNHVc*Z~8=a6IE;u~)^$Om2Qk~b9O{q}grS3Yq>$DHH$)_Bd!?Q)jeJk{c^ zc(&2KbCZvJ<|3zf@SctEr8E6^3I{jDeXjDHTRZA62l~z9Z1sLuTieBUxYesIc8q)4 z-zVofylt*_e24wm4A=ho*0b(!xC1)s4Hr4w$8PqKGd%1Kmk`qPzV%L%{V#eKJKZ1t z_M|tx@s4+Tw<90)x(7Y&xF+_y6(9IFW4r7{pFGMrfA`9(Iq-@feXc35`og=K^QCXQ z(DCf`*LOPaUtc`dAFgbz?>+Ocp1a^@9(u(8J>s@sxyqBS^v5&5`M;L@@3-ynzfV8( zUiZDWH(&YM=N{?ej=AV{|7VuZe(2ZldB&+9ckhFq_b#Wq>93!C^B*4hyodk$-+q7U z6aVb#A3xYpUBD4cI22$3Iv)ZiAcvSAq=j4TC7<*?n(CDu@+F__ksi75qV zVBdLR{cYL#Y(+^(e|Ai|s*2B6$M;_s1MAevqu;^8HRAA}!XUEuP!J!D1B#j4S#J@ZBOX2BRZ51OP<_zyyp3S1sKvMI=Xdq(3473!s5Wj-*IxK%~G%8(a)8=)q&mz)4aF9|*>5 zxa99_q(|N)PSPV1_|ZhjLlHoaF5QxSSyg0Qh)voC95f`t*kn#NrBkZoPC|%J0%a^w z1SRBBgfQhlL;`ME0&dKJeNBdfbp~uy2Hs@GW^~49ga+1N!W~owS(asp#ZqI~(o^34 zC0-I^R8quLPDG)t3WjLq2T_7`NRcQQ=B4BZn%yA}0m?)=)XeC#!CT!+XZz3lMHOkuLX4TZqe5z-8_NRY7o)ZW_ zMGj~HNI+5YXR1)8QLe~eutwKV!c;{9Y$WDlW+X3om3G=Ecg8^4T;`>8RaO4}r-+Vd zwCN#)d{89Bz-G*bfxt%f6sh|$(E_SK!nc5YSeGovz{S@nDp;A^W|X``w|WeyXHWY996?wizl97GfE;A;Ezvs|sqS zil4qI>YpBAD5BosjbW?is;;gnGTJGlz8oQLA^E}K$?dAK9xJjYtNyYsE3-DMvpy@d zMys?=E45auwO%W>W~;VtE4Oy5w|*rw(>^WKMlIALZG}j!)m|;uX06t4 zE!Wm8)e=P4hOO9+E!mc>+4k($Chgg-E!(!O+rI7Armfn-{w>|st=--&-ma|Nf^FXR zt>6AF;GXT?R!GE7?BMpN#bWH?5`;4Z>f+vIL?Nu)E&~HruH{}X=4P(uZZ79`uIGL( z=!UN7jxOnzuIZlc!~yKyHZJP6uIs)o?8dI_&MxiNuI=9LYe_E7Vgv5>uJ8UX@CL8& z4lnVRZoN`1>lUx_E-&*ouk$`H^zNMQQtU89uk~Ip_GYj4Zg1uqF3xf<_=d0ejxYK8 zZrYYF`lhe?t}pw(>i4!U{Kl{R&M)+yFR`sdB;+s5JZ@g{A<`P378pQ90zfM9Z)f&u z!{XT#5GVlH)zskoln@j%ED zONbVv0Hy#^-V73iB*ANJ0TfGw6^qEUNCXzZ1i8uBY_*j80KrY56ZrTJx%Hq{-Xt39 z+xar_3meZIM~K9f!a5+5L_7~4T?X|`L>9;Z7ZVa+>Q8x1$Qy%_h#ja}c<{iiF+yMu zhj0pv(tw102rn@5z_f8hRDxYf$cP1qCXdJxw3HaXl_O(_MW{qtNY|3t*XO7NcOl4K z(9fxnj+24N^=wEYhguxdF@pm0g;2pj-0}WISPVtvab!r(%$&d{Ye*Lt^3|*nh4gY{ zO@tVojKM(iDN{(Ht)w_*h2q!*02a)UfbbU_78WEW281W)*cDn%A@(Lv-82_J|De(YFs1PB{!go@wZ(oc$dZZ1J@mkMM8;nxN^JzjU_{1iHp*@iL?pyU8*EA*jAhrL z#wCEp3}C`4%!Y-HMrp)>ea(`MCjR9w>;W7I1|~dJZcGGk_(px)083b~-#C|CP)kZM zN04m9bAZGTfI+?CPoE5Sc9?~IfCOL*^%Y=bxxmjouz_*uRN`nh6i~{|R1;6r#9p&O zDm(!zgM?DIvK3SX8>|IVqk>Y~0DNRLHyQDVAhbm2wnVgukw7%M41`2vK?;b5MfW5{ zvl?aD!;>rlbi!Ag91iK^%f7Htq5Q=c7}1tk(U~CGy99_1Fmm_U%j(F>RA9jk6s14N z#}c>!OHap7r~@F7)(^Ca8j%yQOf!E@L?sl4syND5eRHhfjEABIT2Tg8=L#>7m1LNT zkD^ESnxjdQ+g~KHf$$bw;ey0?)NC|G|wnEp@MMs3g zu#7S9HgFQR$uM)`I5UJ;1RFd>8H567(@XONg>;v~J?wz(;7({$QYx8GcaKCp{eXBE zB{dC>((npCXtw*1j$;vrC$*a9m`~C~1QvvIP+rhPWX&&J0;@PWeeS4Lg#v1r3?DSl zq5P6oi^X%A^D)^CRq74j+{<1BPAmPzHBs|YwX_v1gtBn9=5)`gN6j;n7IPhPpWKz8 zWpjXl1eA4?92gh=7Ih0%9CD$fi5|c@88>-`3{MI_c}yh13+3^J^D&I1fa?75a0@bo zltC$|ga1(1vUjnW!`NS`QL9xKtB*uBw|h}85gM6-DB(`cMDuynOvls(J2Q6r2*G%i zKpr&pQ}1Xe7e<9`kOWobUk=lPOXnuQji+msyN!@r-vI~t(JY~cbiPo4#E@L=3PJ=6 z0T~b|poCq3vHqM%I?%bYAW=|s&&b=w0adnLz>}>H$BgFZ5#!o&)C=)X|lacrhB%wV)_>HQkeC!+*7(589XHHRie#4Lx z((pN*^vR%n6KMOu(QH98oly=kvg-_c6{)-6cT-E{i_~j~LD`lwCjBNqLtbAl-_BV0MBf#1>=K(RA@Z7I@RuG;6e%6d zQ~nAfAB6@f3FHOi;y@Z4JtBPgZxtMamp-nF198<#h+Ovk!>0z~KP_~AfchtohtPlV zG6prcrOnVZ91Z^11d*SPrt*4RGT4s|s((>(4lQaBY0sYNp5!qLMeWhC_IQNqX>W}w zgIDO7{Rd_07Cr{osWP~)DHJ>g)&00=<*>nfY#_3Q_~;i_t^fE5X{?uXXV0HOhZa4W zbZOJ4QKweDnsw{azhK9fJzK980uFHJF8FI55Zn~<{Q9@fNQ2zCU2yy*B?Im^r-YNP z=i`Qs8l(P6g~<5dmWlG7{!0gC#||4|np$~t_r{JKYPlQ4*EIXo`2KY4(7^`E{vLTj zE~-k0yztXuKkU4NXg-L*zv&)PLsT69}O7F}}V zb#=COqmw9Da!Z5uUwuhamzRGY19&uF^Ue2P*@mTc--x$WS67AS6<6bpIqukF&~B9$ z=Ol(~gd|ecdjZVz^PB zn(nIKrkmuuOU^sliFdV|?ZM%mJMO*tj@s~$^#;7{suzE}ZixQx4LoJa_Z~O#z6Iah zaIZlRUG&k>))!{Thkn{*oHJj$Z`WOJU0$^zFIwl=r*1uW-8qk2?%DaJy7OPj&fRX+ zeP0`R;4e3Jc;#WIIC_-bomuhK8E>9?ig33*_U|b;R=@<}BB~u`Mrv??N2{8CF2$Ezn}>6C3^% zcs=bUPiJH6U&P2}J`s+PgkNJ>@MN|+_O*|N`@>+?@9O72#Q9KmgR>#tJjc5b)-8n2^|Vv22F};3^qO#!4=enaxDo5ml)-EtP%4up5mO01jdk9tqtdWes)7!bp$&ED{zD-;!i8STm?k`*>>`>`jc$~q9R=4! zm-RnwCA2jn_2@}ano^anl%*|o=}Tc6Q<=_`rZu(cO>vr2o$i#UJ@x5Nff`hy4wa}y zHR@53npCAOm8ng2>QkW_RjE#us#Ue>Rk4~?t!|a8UG?f$!5UVvj+LxsHS1ZUx`pOA zKnAQp>s#R(SB4@X0Cf$(1aOd79JIkETpW^I0UOw{B7p^HFzjIstATB@ zh8Zk2G<+zLi6)z^zY3PKoy{r|T%s3w6d_s>nFu9RbPzs-1vHzj5**yRtj&6swzYjK zXgM?5(lRzmJ)uNfTKf@*L}E9Vn1N*eQ`=Y`#lfwOodcG5%c35!!V)x)tk3v>i90-( zxr}YYbE72@8~Mz(X8^Q>r~Wt7DD7ki*Fa83SeWV_93nfwI4_ z#Bvv_+$24OAj_2tsPimplxUZ`u`PCwj=gGEPn+6ai((f+T5WA_`(xLp=fYsEs%&$c z+~qcCx>Q(7f`KrkBsKTD;k~L&rY?W${$wz&1G?oVhcx4FYn9{#<8UGbN`tf9%Jn97?Eo#>b>oVhB#?`anDn&fO-(V-r7sZX8i zRk!-pv7U9UZ=LI1_xjht9(J*ho$O^d``OW+cD1ja?QI9>Fx*~sxX0Zz&Y=6$?S6OC zU_8p6OOzC-sa8-2jN2#j&Ljk@hM-1;v4@N#S1?24>vsIE6tP>z+0UN#wYUB4ai4qL@1FO)_x~aWDsUa0hv?2Yv7dfiMV#a0rR82#xRvkuV9Ba0y4J2A%K;p)d+%PY0#2 z3a#)8pAZMJa0|Jx3kT5u&fyVAVe{mH5;jjA9-$j%?;N0D4%ATo-(ERG}9Fiag-Vhy*pan`n@y>w>VgL_i&kq4n`M7`&-Z1sf;R#Bh1XKVNV6PvD zKmZv2KmY*X4W=OqRsa=_?-3&r`%IDbw15OmUdy*P0236?9}FM@^g!|C zfe7q?_89RLh3^m>QT3eQ4tTK#KEd_+K?7m{6T^WEOn?tWkram!5rt9uh%p-#ZwqGN z4V~Z>V{sg{um0@87Zpzwi2x4NFbiri9e{uU0)PehARPQq1&TldFu@--5ddU>2#Qhh z&e0QP022q&A2E?1Iv@`e4;_*q4#GhchkzhK0UeCMu3Uf%Fn}QyFCST@oh4K_>ob zk{u`SAPX`alrkX~vLPQbB3A$>3(_JnQX@H1@qnNcCNCdqfE&p%ESawll^_w*!3g32 z3RWN#&S42+U>%Nt1^VC-oPYxKzz;vs51KIs{D2FHAOHfAADpo-k01v8VKDuY1wcU| zInp5^G71DB2Kt~2ir@uM!5)%e1-zgV|q0tG4&u*GAYwC?Li2- zf(tZ2B(=Z*S|AK40SMfn68ymk5>YVuk_!rR5HfQ!1ycqpfeVTt5ofbD$58QnlQ0bv zF^NDi851fWGcqT$GB0yDIny&IPaeK<^MJq;#Iih}ul~Y;7BOK9JOC3I^Zp)uF$*rh z7Q?|IW1tn100vOu9GYMSPI9!0kw5)&@&xohi+~QQvp%Cz6g5Hd8wy1sXIQ9(41FaT;VYD<`iCRsasijwNydjAVD2dDqpk%AQT%_FEqQ-LRrrqI)FkquNrUBOwS<-5WucrKtw-)K9SR| zB)}576hyJn4-*Xl@IVXp6hs5n5Es=+#dJYOaZb-PAjvR1CvQBB{xnmM4?Rh81&DwS z6psp203f@87NLc9_?QYP!b9;F~MBT)-DpkL473fO=P z2G(CE022hURjr@^z%?9Tls}pD9L^yUWHlTNBN>fEpuJV$C!Q615(R zAWyYGS=|&F(Lo6$02Bn4U=0=-mUKUBRt>pe4U&~UK{H|g3-(}zRtgrjVe#-`BX(kQ z)?zVs^R~bZz)>90wQ7fN{k(Np?J)^vwi`770xn00Qu! zPR}+1IPx$dzyKgX0hZQGLlyxjU;@&>0pN5JO8^H@02*D-ABrFVAb+@;BcM(Y8Vlx)^;&6%%6)$`z4;{#t9?Z9T(ZLa9H4ZBw z9qdDo$#)&h7k!5}f`PAiCAfku7z-)*f;D)9 zX)uF1_=7>106jQ_Nw|dXZ-h-ag;n_cPt;72^=`^S0sUv5-N;@ilD=X z5F<*QNU@^Dix@L%+{m$`$B!UGiX2I@q{)*de=!jtFo4UK0U+o>c~YJbPBe4s+{v@2 z&!0ep3dQ&fiHn5`xd^cH%OSoE4jlX=5Y@qiP5*vr-70Xa)~sH=cC?9esM)h<)2dy| zc5P7@VYlvE+SK7zc|1ye1zVSE!KQn=2G&Tnt>MFn6DwY9_HD$uOeNyg`*pBiu$ceW z-B{SDz>$I>hCq8m zqOSNY@CsB1D=rDXk|C;$&Zlorbd5RoN6Xp?{(7GsRQgdD5O+m5#`oY7AaUFkUt&h5m;~`yfF|y4K{_`Oj*p(&_7wI5Qe;7xlHzG;r0A_?=Z%j# zS}CBQdOB%&iZN+aBu)?zLza@|)sz83`FZEDgzm{~cAp_CU!jOb+N`5BwkKz{o_1?rqp6iE?Xrz>JFa&trYk6X z(xzLZyvkauZDOXvFomjF&Nmr}F$`vAt#I60#0Ll`T)`gyM1euV7x-H6UbqHYtbK`U zmh7~2mOJRhH2!F<#}FxcEqks>IvU8G!dn`r$D+*I$fTO9?6UEli}8*pKU=M_8Do5N z%qPf)Ryx@gD!_shiAoc7Gzep|SbK@}ANK?ne_YR7gt zO(iCqWr5|?T{%$)L`>Mh7Z48Ob3-Tvu?hCG>uPFuqLm6s?u*EZJT11xUJP7}?V8=P z(1dFoGU7#R_ik!Lc1-t?gwr0h*ta=fw(r}v9@;NkWZ)1S{j%G1UIQU$NmC3uD4wld z$uk5V1359rKT@okl@t+ch4qLWqF}bcehD(QRAA z6X3iOr?Yi2tANge-MKJmBpE?af-d`52c;f)yL=SyinMV*X;D8Fa zflTROLR2b12d;gEI{wzd)urkLJHX`(ak;}(2H{r3IWCig>t>=_z9{Ti&Lk zxI5t)DpY4nAgRCzMMI5HaZUUb3fJhLDYEg6XmKM@fy*)hfa@4w+LU?SzOr z{{aLPSp=OH{;8)$c=5j0d@~Z_#3e68cb`4zg%5Fv!!+lZhf;`Spp03^6GC8u5zIhA z%Em$2tWAo|jb z%v2=5Xy|AdmXU!PBo1?E0~{8b7MldL9&2!?MjhIbebB(8;tc6YF+$RJX5^zN)hR_* zN|BaMq^Ay{L_pR0k(~YmqPg@YM*#ZPeqw~JKozQ8u3A((FmoWhDA-z@kOzpA^9Lp< z!3?IE4kw%d2PaU_Km0L*#J+(QPJ4nmkz)c9ELI>bNvBV58te{_50uC77!!O*+Fu2wg#^$Xuk7+Po7y~)V4nFc}B}`!pV|bcY?h5{2 zo4QeQrhqwFkkCJz(As|3pcMSD!8HAGiGML+xi(>rKWNaU(9XoFSp5eRJ|~dZwqTl4 z_-&r2nFS7D$ejGBfz~`nkV%us(*Hn&)*|g%@YPcuHqaVB*8C4D2zJgZa44MxV&_uS zW13hH?5TOc)Q1F?IlNfzKkz#2fbv0p|5(Lx@p_w@8WgXQxPv%Xkq2l?TOic7_OuI& z5Us7^x4$;9ID_47Z2z_(dianYfK6!l3VX`V?aI2z%ZFdg`>liyDnWn2V|jx@AUWkl z8_?W_nFLmxL3J)%drFDcZc{In=r8JsZRMBho4lvZN+ia6aTufS7i$i;g8s)X>@@$P z5-C0lq75tOQkMcBG=L`j^5BG&PlgHoR4zf_ViTJW0kvr; zB604AxRs~e3@R$#N91k7c<)&;sNeO@_nZ3qedJa%G=oZ2z}oc}moWI+iw)m+zjeHc z2khk48q|gI!SZaCYqSYc34_1-%5=RlzhzEshwuR>6vsT@^RTN(G~Jtv&%;7PAM&+> zJogT@^2xi57P3mU(RtYi2NL!H4BP>%uHC^BN+8%NblLj!L{U3`{!S1lkf09zNE7lM zihY3~8mzh%I`d;a5cCsQ2nfSK!L0s|Rl7FTw`%ibl+S$U+am}G!(Z9=5A_fPA#ej$ zLJ(-hc$6m)Z)Z=hcXDws17#;y95xg7RtnoRWuY*5dZ2-Kz=0kJf+Cn=+av=hSTGB? zW(;_ODL4?T@J(q3QLhJBm`8jw$P{`7Uns&>en)JShgNlEQvt?zG=PFg7=l2Cf-wMl zIVO8-=YTMPgfb8VRK=7CXlf{Rm-Y{R2oZt!4`#9sJwR#x=0tz=lnGQ&cmH6B3-xtj zhlc;~1I)2iif^@w(}s$wn0kSS zW{Agy1<_D)M_&CDY|xZ>lvjh~1%(Q@c@DCJ!dPsOhZUnY5T&PJoalGFm=$e6iD*@W zv8Q=a$YEtC9y`c;j#m&}7<`x~S!`hwn>Y_=@C#(96}b_0|KJGqr)LY&XW+wim=I_S z(r!_A4?{2$Fqdc~l8E3_est(*90F98UH0DV{16`r_O#)kfE%9d>5=uB84jj#Ak-joLj)?Yly zU^;mRKk1U*rh>TWl6ofFCCMm!_r?pCU~f-}g*-SAoF{_=M_w~vdI*;X znLvvSr;`UEjX~vv+UQJ7NmT+DU=N9uTB(IKnHA%Bc@gyl(NzK{Fh1@0J$jK2PhbMQ z1tz}`T(orxP7{8ipj|caA&Pv*iZ5HCZK) zSdZxtp*foEgas$C1~{Mt1nE#IwGKvbdSgeJCg26tHJF7tStbCRH!uUB#R=_IUmUk1T2Xl}I+9aI@v1Bx`2Ze=|+f<<5bc~G`dX)eNG>{1^7@t;F z33jy@J`y}TLms)aNRIRobBIF8=u&w%p>cHy9O;Y?>JT_NPCVm5cf&j+1SrtLHejSi z&!Z8UMv0*Dqe?nufOQAKH=|0*BTO1XxZ^Br(?14eFW@pkJNgfjc>)Re8d^F|M|EB@ zARR3krYRCPbK|5M#3{qWI$g9o{>~#vdU~j&RHF(6A60rbw1YQeGpNa#S_ozEBvR44;o!g%mj z5MwrZ(e``VNQ>B}H8!>W3BM4RZ?#-WS`g2uumM|e5Sz1$v9DcmY*{gt`8Ji!^>j6(PealnCmFat8sjlj6H3P-gv5C`Tsle}P#!YFX8aI`vGwsDkk zv&I_w*X4AzX*nqw~3tCdBaGz>&m#QI~1!2 zSZW)!Tfw$q>bAEBceA03f7=x$OAse3cI35Om2i6nc5+)Kgq#=&F+hb=_#1P&y3QLE zJiD~~WtCcSuBZM$y>BHQM2lu$dAq?^U-p`Jkw;$os*|+$R`r@}a`3y97`$C^3D(L7 zq>GpRnYzz=zpe3QLUvWZAfO6Wy(_j9CJ*t1Z!R9zvl`K5UV z3{AFY7uDDmyr2hAMuEO&xb};`BJ2~Gx;8+=BZdSdZ92j%+&JNpGREVlCR{?X^QSa? z!@twQI{Zg3Y@@FurbMGS+On!TW2Q^A!$`azJ#4CE1H^^{!-7geQJlg_T*a`l#C;mW zJ`6aFWW!RFH*I6ZV(b}MTs(HvJX$oZQKf zEGM2E%6wF+NMfj>e9Gz}$6Socteh4le5$P+%dA_*u)IZp45hN1%X{iNq1r8Bv4cGkxx;)+udK$8I8haKQJ~yEVMP)h=3!!{gN?US z-r5E<00-t+5z-7;v%nxB!Be8(cyiYT_!3d0`#MhiC z;kdlOtSKkYkVMM8Ojw9QhE@P3|IiOHS9Lsa1tvlQ^E-e9fqf-Khdb4YUp50o^`RIR z{-?(4P1oD44<>_ifKVOCuXm8Gc?wtoTw;4b1Kd==T=u)>90x|`&OJK^Sjy0qv;zY$ z06QSafSDd-7*cy+6D~`J@<0TPCJ#H%Yy1q-Ud4Sb)rtGol&jEB_NJM}Tc1)EaagNh zz!snli=<#`mE;SRC6{pq!4#qx%#J%{m{18tiqw=e04^~A6k%1UQBrvE1L9P5Tit$J z)zzXC(qMg7ow$1rvIh$_gR?uVKKN<_C2;9XULTtWYdaJ2ix9%g3VV=%j!OxHE7+Pu z*a2YJ6OkJa5zSmFth8=DSC__J9%kc2~rjbM~H$)N?vmQKm#=3 zu*RE%SvhP|h=f*{&~PAR$12;Pq|{7Z5fGi*@6-=900oSO(T(@pI_1@$Nt`1cpINwz z5wX%^W>-E~iZ0NBG|+3;ZH(D{!TBw}jw{}*gpLEDj#7n>tMwc14cQI>-1wkr0^tNF z3DEXUc{91P2CZTSw{NzKRttxlD-EF-#(M`X@7veZwp!M6O zCMvOQu)Zh9qMAwLXrAV3zUFM+=5GGxa31G!KIe2^=XQSQc%J8aPDuXz+{|ae3)Aa` z1??aIyythcoU_XjEO`<9{7^B_Yxg1O^uY&E76*3l&UrP?hJHs`Py;#u=_57J6Vd4K zEWeJp5iL0A8sVUTh3WL6SJC#bn~p-H1CNI_u+Y$FU63VN+BE}(Ru)zO zvgPLw-*xJ0$8Ri~2WA!rCmjiuURV|<=>iJD@U_#cD6M;KZ%j31yTWhdo(HV3pb2%k zS!NKGt_M44V;w!~KtbM3T@hO_COob+2m)tvh6I8YQfCf*vsTe}rjL`=O!_1RwS|3| zwrPxZ8spoH9cQ{9esUT(d*t|5XeL+)HH{vR5a8RT3`WxehyG^E)o~SH308=0dM)or z0ur=s+Z4eB+(z>x(sKV21eRxzKTZ&5ICgoUa}~}BQgB%Ufqj7}4^OAg;OmPXH6b8Me3gvg{%+v;jd*v^dZEotW*>n8TI*D$*0C!&F!x1HrxbeJ}7L=~`8C9DU%?O2_c{_YV$P5p;*Jm9MNRe+t)5j^duS zUk-x+ap%sde+B>j;$!evq&o-m{ z?uiK;BjIEK8<*z$(4Q~9Er{q6MdJaZ{(A`SP4U3p0lvUHWwDDUt7_eO>!@?%lnA2OnPi zc=F}D?}-B^lzH~;-M@z)U;cdh_3e|-eqaB7{{8*`2QWYZ2PBZd{0c-cK?N6Nut5hO zgs?c590^CE2rtAijJ;=6)9uqOoIoH6HB>_nRjSf^3B8H|sZs<%DI&c~4<+wtac%V*4@f)w{pk9dTiV>& z_OG>XzL1BtXE8g8$nd_xiRucqtWonqD{CiPZ}oFE>4}ZykLqMrHN);mef{gF_cRTk z#x1G&Ty_Ncw3XM5_eE6|+AezqYjib*z4N{=Kg;zKV} z&7(Pe6RiVCdn&9`Z<^eDQ20*$22W@(k$-)L1V#E+?|ac^kF%U!o_@afXu(v%hzK8Y zx)_(r&A1V6Ya;FV+?4e6TWHUL^y5gvAD_%0XMSYpNVuIPyjY*w?7#KHmpjnK?9~s6 zr*CF>vgI7QH)iA-?|wnB{^_?7Aq%@lH~XGB))-&qd(CSe=esWq5-t5+ z)c%@%{3X6(VW?ynPvc{+du`oR=l0-fE-aB&3#&iYhu&K z!;j_rVsp?n7ZAn9_okxXrgOKk9q% z2(Z0JNw?53)&;F7Ta(ynVY@m}!N)aUx-c!OuVeK+pk;%?`QhYL68iUuogUJbORMvn zOvIVu9@4*QRlnss5&r;W2mc_gA(}Oj;Gky5IHRSpRX3677HP-4F0Cm$JCWpvvtuo2 zrB>gbNDc+rBZy?QROr)Eo{HOZ(6wo4NKU3E>v3|h%V_JEOr~Yy%9yxwwe@``(_etr zIiwhL46`OPD%I9+Xy)peyq(N^g)8G?gTL~fnaoNt2-m&@GjW2knT!abH8_P(Q-SC+j1a*!@K`lx+JH-A&DGR^VR zNAI^&1!f$xa_cg8*Kz5E$GFX>yXGlcM^i7Z)YKJ;WKo=Tkx&8%Qibj%3Ucy6N)M~& zgU~_6sW`pRa_?5U8YBX$9dVr_!wA**C+WCAH)-xr>j=Cv|S-p=w({7{6;bB9qqg3vPNH9X)8qU3@SPXQuAR~%8=@@sL-aVB9iV(wGaF*33*0k zC2G|Ymzp$^-;y~nMnpNnQ1g#*vk_HBtf~XsN-viI1Q>B*B6BcIO$Q$?k0hcn#fE8p z#l|(H98rh-22*J{L(xUvtjdsDLKV@uce2a%SG=`^CfM0p-?uy#LRx|sg9cUfYc)J8 zJy21D6v48vM#;S}Rg3fcp}4noIROH!CChN(U5V}^%EcV`4A+qjF?_AJxr+$%>S}h`2FuCxW@bD@qE+Nbw={5+IDpMz2DpZ;Ah-w)31JUOLh2AMr-x9|M~O&B*L@yliTnD ziLOa+E1UI$SU0(E5n+ zD|X$!p5OnDKmKr4wx9g?3+=@@0L)RUBA!^3+~V}Hz@vhf0xN&*A>swi>s?K zs5(#qz=ezwNdpREK}NZRMp)vbG(t5bI0HM!UhzB^OX|%~PK9jkMM7~oo@vF9UF?~c z!e}WwhjKTqQ8yhe3}WAXBeENw(f!B0o1wXz38%~;o@P7H&3e?$wwUVk5*zAHj1ceP zRO_K;uS`eLx@h&>jO^jHgt;=RaAe?n1aLiqwaMJ}Dj8Ny1KA@O6@6vuS6#sB9gTp)m0gCIreBNv2 zjBq6BHsM0rI+u#dcLURkd!B!=D*K>o$Fp_HbKofXsV(P3yWjy?ld~rye>1lKnL^n? z_L{ar|9QvA^R^s@8{%a&uHrOqwY=^ZUz@~fgIw5e^C?6pi*u6$yiIM18+ zVsDF87*j2NVb9(g%Us-%n^)V}q&!qAo&}?2E$SF-W8$bZ8Y*r^yu4t0Sj)nE#uPjm zn-r8gb07yxlMj;bv?F`rkf4*ntiXAnbwj(a62v}G(_gGs1mGWTvDCc+a`=d|EFHYK z5MfR8)-6|l5wlzLR-ADiI9yQ6c1g;bP0R4U85=W_N#)#*T`Y2FW+#x<`yH;(eWaeA zKhkE;b{yU@eo=%!DDF5k|2Xx$oj{a*l#8P?AMvz#V0^j=KEyVGVxSEDvTYn_S-|RZF-^z!em?X*VGt3UJwc8gw4c_p~(~|NCv-k=sIXO}$>I>5QNu~!TlBd`+m=_#kxj){%mQTR_v2}zUx`ZN8 zFx&@~EUMwhFP#jr7KY#ts6`nKdk}p2l!ap*MOt@f7G(f1BNRtYiQk#x287ixCI+2H zdAk#o?hKNxW4&@aSqs=nB@FsT21^(9rp~8oJ2V;dm_DxQ&x&goa2Z)0jc&^@t7i^( zPCWN+9^LnzzTG*^_hw3t9GRUHA!!wh^0_ya*C>_VAl68*Bpdr|IsCQ7OqC8{LtLVe zf7>=M+1)#N8Ou?BCdo0iRiZ-1RWRdMvNI99&3`|n-fz0y{z^|v?2!-PJwFD~AWr`| zA+#t$I>iK>0yMkkkxo zyj85${;NXxwejD~!#hyJOpyi^;jaX@R?gyh5U)eA5zKNzQ9_XDnc0t6Fb4`4!3#mm zqqz~UZ#Bf{A?7l8&6|Zy(I-G#i$ot|Xm;>i{#lfcmhrO!^iwjq;C15%d-1N*Go#eA z2Ha-pT1^pJF`QchATbCLDN%?tFzL?g_p(CeLXe6NV5a5yr{n}NJzz$gCJ1 z4QH7LHouOL-3PLahfAWOGQ~_iIwM|phAZY62S6ee_rtH3&6sRz+axUBz9x{}4`&$% z%3@;JY%C-pya8J1TjRjqnR*{%@avgyCN0SIPn!AgV)$pKaUjzGBoz4;&xEWg>?9p& z#Yo#&C0Q-azQORGM=1P}1j!;GRDevEm;CLjsr3Ni zFp4q~gZ6*Z9G^qTxIeQ*dOuUx%x)<@V7UcwPc$7Rig4$xqe3d#R{Z%)sH*aDu zLB^8;T+N5_+8FzsL_BDSV1P$OV2t~JW6VAfe2R)-tg6lwf(QcY{rAIX79QN=#qbI* zfmlg8f@OHOYJ3vGI=q;`WuSYMIT>-hMA1wHatVE66_14^E@R?T;uA4T=y7xqOJaUG z$fTSsc^RFOf{}(aJZO#Fjv|a1il4dv<%X;1bSDObiQF;9ckT+!7fWD{(_WEkNzgxU zraTeDJQa(*C@9ybh*rUog}HHwa+_Y?>L|=hC$-N8a!$w#G;lJ-8wl334QC zCAX1Bf!TQ5BU-_Pl28!du6-cly^aNXoiI0)}(;9dQ2Kk!nNJ0d|Bxs_6 z41h-r7}01Hq#v<9;htbQgAP@|G@M6C4m25W2`EA=bjEMt8Zai$C_X81l%m3#YNkW@3%AD2^0VXU$6wy4I3GlrtES1bYTarBnzcKz;^hW zFFr=~mV?P9I52w6R05)7Jtqhe(Mx(=;tGu%jW?8jM7t5$r~%PmCSt%wcAU(`vXYx= z#3o3tEZiZpk|Yc11ikfq617oj5u*5vL-;w(t_$~qUE(}IHwGgHiLNi zD>ZLVJ769#4rKO^EBCJpH6zfqhT_j97A_Q=74;pK7;VsD5e)9m81C1akg9-?HZO_@ z(ovgUEWut}4C}tb;4KK%EsQ4eM&t(3D<4~Wla(8;E4<%`sCOPEW;I0dLfST-Bvw7) z7$xMSmr-0Mw{8{Wb|su!w^=*v%8`V?dIc)m+p5H%-2UP6@g~2cWvep5K-LHWmfpXMU>06X*Z7{Unuq~w9w+$ciEfyf6)>+Tfc?_aiX zIcSy`!u2}|l4c1htr*Ex{LT<8A(iF*uh|Npw;2qZO1xt{e6MKvzbXmz^9aV!3XLh< zGVK#$I~0{t71KNng&m3~cU@cR{qZ`Ky4xk4?R8jsD0`zzuHWnD)S<%Md&Og~9U4VV za_`?v-aY3UHbUO!GTtZ5(?G%LTyt+HS?}+sh9kD)i(CELrkOf1eK|Pq16r+C@htsE z>iR!BU7L>@gHUHwOmm+M8@M|64ZMxqXz$)0!)XQ(`J6UPJZ;LdlEBYMv0NMT}zTM znXs7HX4Z`k_-tm8>m9$7u)B)SZQc~|6I7M_YAB4|Abx2a79MLF8`n>s(to1kbnK=Y zpQIUkZKlrhBK*nB!P4H+U=CWofplmdU1y>T&7E4 zqbFx^2yAvffE%A?hSFZU9_G!TR7C_7m}2Cy2^|9%rdf*h+fQ`gGz><%$1;QojJx*v)~!K8MUf)25-W`0U}c zkynoK^`ETXoBzPa1dS2KXN5~IKT0oh4VgLE$_$62E-{`@0>?hJx1v$LFXyv^jf;cJ z8-f$D!C_-Tts$4ZO^-$(!8gH&%g204l9&WV{MH=lM>nd8WBi9Pys-yCrD2`(@9)MK z3Uj;~-hcmbzNCkdVghe7S8s#3&95OEdVSus8>)pD9~_bjWrPfREcw!RbadTutd{DW zV+C?lK)a{ACn9SDX*ciHyPS${jO0mq{n$Mf+Zr#?OuzN?O#J)wOVcLTy)%j3`PU9p z^-s?we=NT9JN&VCF15eh6GL;`^+NjB+EBKb+m8#Gqb>Cod-r7|vB361i&sn%7vKay z6MT~9kaS^#aYW& zPP{97wUH9y z!1OKj3HV8^y2#=ls)@k3rjk&_SRdQiH-WnvLpQ!z=&>E300i?u;2GQSZ%7jym&8P_rm1uD(p}{kDgM#fu^5E z&uYOY150lKTer^O?Ha7?5qG}4LPOO(u+VP7?R9ynC7;j1QeOggI;Fk_pI=HXhm$Hw zuLO8moJ@Mb6dESrXzp1SUCNCIOaxytO?5l=Md0~R3^;X zWfC!FNx!H~*3?OPOvZhySz5v{fBp2jNtNUeJ}|i*uk;IqO3jk3zt@#Nn$T5J_&sBx z6!dFO^FXR#lla+WS#nTXn2a0FgHC>A5d+lzAhChdulrDdN4!!og`qrg%b$Naj zdT<2B0;wCqh{bL0{nw3g@ZTHb-hdGRHGtvz-T8^@cjsxhs)|a(Av7e52Hic3QLrmx z7`m^g8v_BGd1=@{`jQbe8+G;u8OBlPAK z`8;>5G7d5xvUxAVs22!xG>Nf=v0va2$&(%QN3XS91na8SVGD}mdp@z&bxi=&C}?iKi-|73m~3;TK9(k( z-Ims07c|iBj6_@$VDPO2>L=|UFPy)_!po88zx?6N(sT{{?TJBEF45QPZ=3tz~v!c|gG6 zm^6Uda;V6YpkkKBHe82SQ%v`7(8EzQ&{Te*LFD!=ZDT4O3GFumbD`kw`bhYX@Hrsy z4LW%~?PY;*yA07<6Ohz%y)IL z%S*M|1*X2i_it1QNvWlajclZA%ovicWsMvnv6YTfX7toVYhU#glQaC#AaZb0mOTs{ z#z9k47$F_p1ngQ82;yjVl<`BNs%O_xW%K~YSwMFb_e;hX5`hoszbq(YK{@IVXV{zlcS#v3==U~!WS@=tL8!RH0|0H6b~U*|9WKk*s;#YalY$;13lOsTp5;zMdA zGAo2wwl;o?qI4QBVmN)Z29S87DD7^e@<=0_Jz3dVc#3c!iJ2jCkvkSUmZs9nO{bm4 z2~47lh&JL?w$avRe&E3@X1oj|2I&j(Gw37wn^?fI|Ag}O`Y`P^ zbY|er<;|AT1SJA>BX^!T7fT013OSvi5)s?}6nL12xH$qN;mGp9#4FruGt}``A)VFR z2*xR>oAmhoKcXuv?0PRYf>y(`7YOQ>;O-j7$SEmE4xmYEgaXX*e(THAz|>tZ9jYjI z^i=xzXCIioo>j(wx$bals;29Wd*}J#-q%;jyh_1+XZt^g9kvy1k^fDaI{?>>560Brg@cxqsIuBX8 z!vL`yJa_Tw0)7A%6;0y5^$=+pM`(Q_vx*qe6rofcvXZt@f59oosCOpq^kX$ikoZa$ z)y*(7Ojtnfk2WoeqluGIdAMBJjD$U@(l_#Af0!NaC_41Gif0|mL}9(h16L{IjJnC{ zpZavKFHGz`-4}!n!3c+l95d$RVg4$|G9^Dr5z_9Wb?BES;lE2n?0;K=E1(xZ`+u{e z_m8BKn6JI3{~zpd4q&eLnXk))DxUtnc{*n^de)7~-Qx~6GwLEgI=uu*r4hISc?V&|m4+_J2@`h<< zU~q&TA}^te&SZS0a*G`N>LCpoyWvVK*c$b>ZH&xB{)eQF3R}1Sphd{<=<5<%gCI_fLQ~UFG;AbbIU*ULf71HHjNT`3#u8Ql}`oY4=ON-tL+? zLchoc{{8DtTA+RZFD1L-|3OKSrO~-E5v?OFG3dXO$K*PBcmZtxl|0N^4Moc6Bx+gN zfret$aFQE}`O+dKYH@HX{*i%38(b3N%KQTUYh@sn7)S;O0M@iKKztbGd)@20X@vir zDhxCkLR@(Sr4g2`Km^SQRiJ^*L@5KebJ(}4VHg3BYh2qgvufg+L0a4J=wjx2W!|-I zL$w}8F;&)aTY>H!1BoYO*CmYLj(G%-0Q`93rcRVRl!hh1Ryuj9^13-YH_U;$n=B=8 zHrMBs9&Q2Taezxk_ncK4+%jq2K8l7Uh?-ibXH|l2az$?w|2=ibOqelD_FdWvdG@j| z6dsJq^Xn#szK&xk1V%&vdtynCPJdQ&mA*>IP4ckbC(FS^4&_5%ri>?%To=Va=jQjp zWsJEzwZa>jv6+8}w5;9qF7GMBHDbH-!;U4&zADLy3&$GJh?=p5kU=FH~F_uP_o3*R!^*ixvvl#F>hCuX=m`OCVA)X+Ygbl!3L0=Ddk$6BKMt}Wso29 z2q>6ykm$afs4U9Z9(m$wWkVXl7b6Y$VvCBK z7?#OL;tKu5b0X7xoTjb}19_ZEBAVt>uVkLfTNGhvTG_8^WG%LoU{4}Sjl7Cakhj?+ zNj+uVx+pTz2DA5I?|@I{ZB^LC4;&QV{T91*y@OxYE$w?(BS{{cs{0 zTds@;D*u`FD%a#O{h#C!$==`My(SNKP2O^fZEpr)b@0CubB#K%Fo&o{t8B|D2YwxQ|h?0Tl_Shnv^wkI8e-pyj%k&drc<(Q@55 zUNYL(GRXbm*R5NDlUcTwg@0}_g=Pe$7%u}-=!pU^`V9>SO}YE$KMXe@!fE2ovMf6? zZ?8oCbD%_ueCzXLGlkqUB(v%x5K;1NF6}N$tGpe! zKcbD9^H-VJvb53nvT_?;W_;ko_5ZAybwl?7j4e9aen=p->1q#_4Hj-Hz9ovEL!6a zH|>8ADF}EE2mo;Zlepl7Q_Y5=ZZw33-}1W3UT^ZUQ@9HYmwbqai#dBsBbYxV{F6)A*Wpmatuf_o-pU$LHiuv$*R`-q8XDbl=7HZs~ZbKxnkrBiibz6rJ8X z&S%ZvKUA%-$}|kklnh&~$jidp-_(3UCo#VvYkvY@Om>ERc}J(eXWrzrhu@j^B}3Pe ztxe86n{)mWL3oC*f$>;IwR-JP-`YJARt6J5&&XSN_ZLIc`Hn|)7hZRh#P>*?9LqF2 z=9lYo+T)g0;j=Bs;SiQ-@7~$QsbA4T7wr4X^)Z!4ANT#;*F|%0d$TgVGymRRC-*VY zLdtVbYx7QAzdqx|#KCH(k`x=QLcsR!qjzJ89sWUuKe}h`hOqIRIli2pd+==al0ZLf zha5u_*ri4|s%*V_yW3__b0k zbH*d!;`DGGdueQ*7(pG6GwnZ}iAl=$0&e(i0EkeDgc4TR_oO?|M!GLA6X#@c-wkAT zCo?3>lk)s=G+?uNOPf40glj0nejpVjujokP`LHjPlRF@2-D5;Q)>#lHJmFl{-{e?x ztNCw_0A3%QGtJl&G)3;M4;k0E-$84$0(S}o4z6bg^t$Y~_HkS+&N0}PwvqU?rUXJV zn!N$?tBb@=<%c`gXP<($#Wm_$VDXm!2&^vfTTAH_-S^`Cl2n=2A`ORmig(d|j>^&u7OGq}^2UF;&!y zy5m}gcVlGHcxIiWN2mhzbbh)3@y*Ff6rW@!!<&~gQTObuuP?7W(W$qI4^(G(TRYas z|M6vA?Avb(Ew|(}8YgZFEVlE=@t@8i)t5^B3B}eSkHU$F$c!SX_*+H#k}Sn>Thv@Y zG~JW@)q)RgO`Bsys$&G7Q&Cj(AwkhDu;NGWvY%jFVAg`gvg;2j~)ANa* zOlZZ*PcqX)jkMYzI)~&TP7;B+GU81Q8|Le`b-2tGU0^M!JG{$l;CRGvCq;Yq1B~?O zcXpg=<9tcf73NQJ!W~Z&JI^JjUt_FP<>1sbK?#R>0?HA0E@O4R?T2bVWuV-NSM&al zlH@ePW0DJig9d@)5;HW}6a`R&DCeX4OA;9sEzNjJvXD~TBtHb>KeEK#)W<*N#-&$Ku^)fedOP`UJ-ngsj4G&O zHm{~yfLwRCzCU7ZNALF1JD4X0gMd)oTm7|NwPCzYdi{jS`FOLwFKM0HqGHxl<bm6K&Dg{CE$L+ZAcQIukfhZ=|qE6axuHH1r)tTQc>t9g;Q*6U&#Doo|_(0(b7#j6p%>< z1{Zf*xZzLx>~6o)bv8qWLF*6&hZjeb`_E3d?%_u{to;u(@qpU=v$Q#C(u5T{9(dTr zmTA{H5z6zsI{}o(j6k-mgbwcVfuGg!JeXid&W^799_n=zXzUk`gmoZ3m@E zC??ZJMJTv81hR7FYt4>_X|IjM;CWnZNTMn!cr%J9@}FJX+zhCZ$pR^*7W0)(#@m=D z*NExdHDC-|WVC5+{_66p8`h4!!wM6g$K&@IH{5&qOgx@_DvgEeH+*mxRFv_KHS!F(lI)-BQM4*O7-UI@K>l(r|GIn`?R$I zb@sUB+yN)>))bbaqMSawk?n3;+la`m@Z3yv#d_JG{{51)=c#g!__q-DqXncpgF^HwpEQwlO_>%r#^~q7-p*M~g)^3pH#a|P zYSq&{#MW~40W1fFN?J3{BjAq>$6n%dZbm{;lUMKN)XX+V1Kng-&GVKkmgY-6lKk%A-T0)#GKBeeS&G+eqi^l=Nd({9zQ-IRrGZY4(|B$fVpL$3-jxCgUgb-zl`TpFeu)l z(VX9cpO;n1+Qdr$76-I$ZJd@<(Tr;nedU&V}K1!7+y3ttGeAopa2UYwicL zTjGA}dUm(%K1~QJHWt(*Y%+rVtt34T-EY^l>0GT2`xSa+f0ld1Fa{rIOj_i4k8~t@ zCjBlp-Z+!)&VSKBms{k-*fMr{o5Gk{9!r15erRv<;u~-y@sC$ho!zjW-d& zE|@KT#t}@R+soU>kF+C;KMPv>)CI7}Xw;a`6Y|79PbOawYh|2%ZiQpO=vk5c%pMxH z@=SN?*b}O>{X$#+D|1tK<-yI*{qw*72qrz*xIJ<{75!HHU4Y@Th1uJ8>0Sr%7MAP8 zN*zt)Cj0*QenfPz*xbwuynmEm!KT%*-?u>u@wW~KE8;<)hpemid&gKldDpaK-Io@H z^KHpp;Fnukci&BBj~-RXU2db?-VK$699anxGMj~J&H6BXNws!`&pLis1Ze(w{rqw_ z6`=|rz*B0NmG8j)Gz7-=kKcVRaCLTQ|NQlb$t#OdM!T-|W$<19cW!}guGhKI?K*^>FO8wU^dw7ZlC6Mbu*%@;E09fM zR~HHWA;v2qKW~Nvrh|TEOC9-1B>_NCIMgzX@EOYYYSTa52IAZ;n^zj-F9xFD4+}tt z9Xf=0PlZvQK$KD7)P0E3GLRm@^Qk-H76hG&3b#anT*ir1Y=9S=VDA=4cmsX1mvvTe zxX(RGWgFmBzZ6GR7*`GpPYw$vj96+MoD2Yo0f?yS%v+-}jL=@fP)j6%%=JY; z0K_VcSkcip1q*rBLho5BWxw&r*FPp+nCn$|Oi)gYIuabb^+}+d!ZUNa%qiXaayB0MNT34v7E&iU?qh zaj)6=6kA|ADRD0c;wV<)79dn<9`PMj@h$Tpfqf7i7TlNv+RRDXX(g~uNpL9wQ5PkJ zhe1eJ0G{KCi)M*yo{3b-iFK_Ya#RX&KnfKKyxJPq)*4S1z<5;z6kP^~yAv_&6L(6d z(gmc3yMwCdiD0Lcw4dVLvB~%?egGfUYw1MNwiME0APkG=gTesRSQrBUNFoeaa7>l1 zPN&^Y4TVKA77;)I0D2Ta$R_zFl)BuEO5jtR5ML5IdkXDfiVY$K^(k4`DN*1c;{u*( z9ZO}ykky3Av>43fQO+V2$#UM#aA8P!9FRpjkwH6=<-(AC!z0_hI@9ws*(x^sNp&`Y zJ;(f0wxc<5tH|_EwA=dUj1oa1H<#GHdw7w-ZFxTjh4-}>3Q3#L{G$Xy+hFsnfx;qF^{$6 zw(Z-vQ*moAJ8$TX!BbK4rhK-k{KH>XW$^q-ymo<#T>+3Yd*W1VYOvsPwLpP8kAzTk zR=YrqvtW}iuPsXOvv%Rn*M+|bUL5ef_@VvcTt-qIUHDj?>9;%oMK#y=)54QeeZ^ij z4J?3S2=KKPRwbOj=ag@sUi9Xnkl|zzB#}Mmcp0fBFKxz_llwC;kwmTg5`2 z%A+F2P4~S};Z1Jv_C4BPY$d5Y)a(T8wwzynB})dDP^OkPcbDD*mK}J$P;*Wc`gU^) zT3Rf^-2@{gH-P3B^G{5%k#~d3{e|w3~({Jx|K0Nd`Ucn=iV{?HGU+zAuaYhq#(2Dk)RJZldgZu>~>wWgTgi z|5UZuN~M*5{748 zmfpJlT)6(*AL_6C6Y-1f>B2_622gNPb&JzVMDVq@_)CA0krwdjyJ^9D^^fv$h=|Rx zMa|ojS4J$sd~LrrD+|T$;zYwKRiJqsJ0^0%jo-Roi4a^V)R4G_f<1m(v%YO{TkSSi z6|aZ3VM%XnT-+P&c;?bT`3fIKxp(pGXb_t&%=^mc*^k(1fm?0LDaprihkcxGimbxj zeXq95Sy2}rHw}VpJN+JL9VfJ?hx#Pq(gHS@j6tB?Ph7xAN_Oe=2$kIZWDKPOFO1Ka z_J~5cDpCr?+T?yP1_qTcr^gb1(zFfOEH)jdf_s`}hf@VO(qI$@ffF>st{wzDEPcXp zmUpjhaLslAzfgi#_M*CIm;#)~Y@cj}M&T+&G~U0L%A1JgDKYV~67o;Btp^hc?O-7x z6+kV_^hxY= z#G4Py7K(XKU!9C{xU^_T+)Uw5 zmqK=TW&b^;MRekr(TcX@ySe07yR_2ANSRSCcdb3gk`btSw?bi%S99;$1TPd}fcp3ohReb&#>u^gp@M7gHH zRR!!dy9R6Rsh+eJeSN2<%=99FJ~oSxEGm9VVL`P0m_3^Q*B%w#0d6ZW+7K-P zI=Jz`EOJRjTBWlQhPgBS90b;)rmcXX{q0tkrh!q^)5UJz&3ecjcnQD>HVNGG=+qktNhSeYm|~TY8_VRgOQr>NC6z&&V2A=}hNUgeDJ2yS92@ z%nbx0%_?M1V1$Sp2T`|a52$pt7&(2BI=7ousMXE784=noCZJ+UC$sfMc_*B>Q3NLU zq8~Pw5-l^iN0sOD0UpFB#Y!)Nd9dHZfP+D)&ZttnryjDAwkfHZG+@+?Y`->d4QL`g zshs?;A&={_@>4|#W#AYhiZo!dQ;9lQG^@q+mQ`VKR6Ks1iv{goE%i&dU^Ks+Ivo1Z z@y7wFX8y+Q`v?8Vx57y{+-KVA0V-jed(VTuRZw=GlIo9gLT=cg7o|TLm~ePN_Ab=f z!nZ*IIviv~KIPmYE6I!}2y$+lUcL|!QbZU#InO+h4RSwOeAxzUw`|GKGu|VBnReCA zurMyt19l68gS9deXEwL2vQmG2VeN^=ss)kyED~h)j z7XQ%5?MiLcj8i6(X4kgPSz`Ofyi7}G9DDukOFYw}W@cAsV$C%MgX z#L7l=w7~@j$rA`6cQkZn;GI}pM!AKfdb`}mp$#sZ6PGV%T9fP{wk)buVT=anAFU@3 z$dK+eVlnWsfYGdqH|iw}eJOF8`%Nuf7;ai&WvN^Hes7`)D{miceW})eTU_VEqgF%8 z9_PzNX6C|872G;31}8|n>)xw1b@ox%MwC3&OhqTPm6-c2M<#dubG?;kC@N`slI)^y zj3cOM9f&e^bj3& zYe@)h8Ch@rl9(vYax2U0oRpW##MKh@4KF|4a4(PN534f-tuPwauKX*p<|_6c5iX3F z6eZJRBFUHRh1^nM%5(51JhWb~pb)JD<~wSkbK>)&#kqV~?1YJ6Q_OO_Up~E~xPJ7f zc7=>UaFxSYaVb-YS6*Ij6F~^klqTMHF!}uMoqqJ2TBk&3x&&_dR&;!$LtYa0Yz6A@vGMupc&jH_S?Cp!!PL zMLY5v+pCn{@Cz%qn5)3$t1wX@UcUkIaQHsrwf<=jc+x%j73CToyjMU^7?A$pf{kxe zx|e0s(?nH%jHnt3w-+LgtYlu7VZ#b#>BF>JSLsRP-c47AkPd$A*-ni8NWpl$IO%t} zC9Qcqi-nM8X_na0>9#M-jsAJte!1tKeBQf2pEti)L@+vVI@p`!<&aRYt>}^SiTLhG z4-u|Wr25Rv zR@i6MEBP?z*c#Dwb+PpZuM{{;qjb7V*>!TS>!QZ-(VtG;0Se}ngHB3&FfXL@r$hJU z-jlAQuMP?dJ=jp;hKCmbNZ9&Z5a=Wb<4wx553pVinRO>5+$Z`K6MWPk+zk#a%MN|H zNuh}XGMfS2u#$07&}vv1S5?r+Cc{Qd$cIvxZVMsEhQKD}?v5WpGBWVcH1zsoqkRjh zzA(79GMoh-scZ)3HjAv13ga~k%bAcTQ1(p+JfgG#^1z5I{Lr-iq^9t|-3AaH0$fuW z?t_3nl#XVv0x3F14z}E`jfqrBjUXO?^*KZx$3%Ha2U*NVG5CZ0-2)$+1>%u9viro2 zj)BgtfiCc8_{L5D*(1siH)DFTqrS9|?qQ>>F@cP&F%@$$m41{@g)!x(n3sMSUk$D@{g|QkJZ(rR78qCMUvYVf|q z5_4|FV|f!SuwuG5lCy=At*a=a8ob}`i%hgePs5pJPNL^?0zs+4(poV-t=?ZCNdcJH z^2*pZ^Reczq@VtzN&phNHX>J~FHXz%M+$KzEUf+ac7a z6`$f=gf5dx%H>TgbBH%xPHAaKr;kn5l}amu#IZ4?Sr!pWhY|7slBELzT~1(nl@VVn zsH#k1*E1ft&HJ%N%&I@g1si%jXQ_>6WI4psI0bM9q}s=bbA8HEZ%bm(&MI#SA~*3h z95ja*1cE&>Z|9=vrGvz)GdYBFBF%Gn5edZ(l)=KuEB;B_{-it75x1MYe~%OD4W>4m zWmq6n&;4_`V_Ba{v#WXN+&WD=tqgXU3(k@vO&%wyJ|?NF4m1!J9q}h^)e?QfCpOG$ z`BXat;Y2EiChl0vErvW3fY7gs($--iv37Z7NH5B>@6THZ z2wc?mT{AD#y;1nhsc7>QlDZrijx8kEBH5Fn$=>8F7JG4Io_AXYn!2BT(H1byS5Oaq zzSRav35%+g(MoqGC4A@o(%qMQs3ZkZ*dU`tzCbe3Rw9vCnAI;SrsFF-gh>_Ff(81f zAWACx1H5J8_O#_>8uKU2UsME;rof6`Waq8%6`GSgzj?oaJWiqoSy(q-V#^4u`tJ>QgulGK#Km&=fi?Tl4EE__(FL%gE`Jg@lA zr;6z|Quc)xv*zXbH=r+ti`HbqAKif3F+R6HF0s8|xblf4WxTM?roxT?Wx@$%-a;vh zU6IMXmwRpACQ}tIffZi^!f`ESUrnm?%;ezw<-vT_`BF8r)z!VSP(WajSYQQOyuki@ zbqlumm2m0!P|5mf#Yyv@4NfOgyCs1-)rKWUoevd zn)JRfTBw>ity?gE*%Vgs@?AABkaYZvGFccpC;L+Ox&knkmP^%?4>dd!}G(lKVfm-_g>d^z21VA>4ekRl9?P-@5gh^ii5fjltmxo z@EJ|0{GlRJMJW=7Jw-$j@?Y3zKkY5@NX;y;&v2N{FSDRgh3~))x>C7V^JY$K9u`$~8kUaOS4U^(Vj5v0vxq3P28OK?z?N6hnD<2(Zcg!u zr0J2O{thpG^Ko0!pCgJ9EETb$&WnN?JW_{kLVB|?-xWamry<=b-a(e?-WKP~A5lza zBcjm_@um%lo(;)q4XK_DQNswVsL^1!jW!1Aao~<=Yy!A(M^Cix*M}A(H`y5x?n%LGl zZVCohdxdDUnd1P77G4zB#=4y(buq0#%uU zUu2hFbp*rv8=jycy!{V8{{=Y`TdqVfL7E$wOWF!d!Edq~G?49yedMedGA;m+96)vh zNvH`Y2sbyb#ke2Nw5I%R7nkoyG3`k1Bfok%c4i~zKz&hi?3mbqsmKeLId@iucOWgl zq>6M%Mtq5<`0`|)T!jdU#>12>0pM()C%WMUW!G!@2IVuDVFj547Q%`FkZ#XI+Zs|IQadYICjL#DfQ>g&jAR$WnWN)!Osr@~fXE0^|K=h$S@{6%38VYfyZ>z(}`0+@qEcW78qARi*k(79LIal**E zH-Ip3LFm4JPGeZw?+h5fDmKonJI=Ax0OM-R5kay7$fjcebK?JDdh8h!9s^T8I};K+ z(7+NhVJrY(Nk%>lyiqzS7&GGJG|oXa^`eEAMht1V&|nUL#6}KfY)-S2&8VKwTwrFh zdxky&#=Z5BENVP@GrdpyET)L9!#c-*8idc#&U7G4z;_&g}yt>3iy;!fi40^FF zuo!~YBXTb;cbF$^uzu&G{!Tn!{;B(Y(%VC(>^nGRS-5psF%x-PuSWUyic0G;YH&p~ zb48o_N6wTGXxCSztW27EMUy(1{Hn)}CHN!lC=iFZaQb0z?Z;!igm2yy)|tW|M*uFw z6{72sYG%^S#nr!c!_=0oF4lTb&vpSY4lM8ERoVW-oqFZ|;wrcmY5fBF(Po_}24uHF z6xSgiZmo;Z{*22kx`z8HdYQIfn=f+$-)nV=f8i18Ls5%CCRDggav@80L_oM?s><&l zTIb=oUs*mLwHC-jqEN?eM3oP`OgW$q&)HnCVbQw5U-`Wt6IpEG5xR&nS&Z{QlFP%_ z?zF58-^Txv-GmuzzIWZc^kGGFuYOxxU$R)ZuD1mh-z?b@s>5z_7eaqiZxcyd%NFl8 z=ysSeBMl@P&*SOAt?lctRvuO^A%^H3w&-Xtc1%ZB929oxIhj?HcNa4v**WLgvKIfh zX8{I?0CoWL{~z!#@qfkrd=i)N@89Bn`sB)$?l`FSbCt`UMPCxd!zTgm_f}O?rQiHo zu^n3;j8+i2>{&?K=!dCFUCl_YDIEK#pQn|fb=k8hHmbH?=>1eYRc_f4#-UwX@*i>k z=U=U}93)EnmfHJtpNOm*S7uXsacuM`vgLU_pPX;3+x|xIrwDHF*niR0 z@sO#@#Ou*s(Ll;|-`h7&cM0Qh*Aki(%Ca*D;wcy;DnS?xRtVJiW_jaU&69BHs%eZ8`mj6R;O5taWkof?0I)vw z!hSUWp!iR){cTp8><|Yh=6f-`c3?gg5_`O<3h*2scST^`GXL_?hH**bQNHR3!$mVb z4Wo{+%!`p%1`jFb&v)|T^na7lGF^CS{s>n}oLE(aH)B3#xFSA%Q1LvJ>C1dRk3!N| zAs&3;NTVKK5xwM+gBT}fdRrxvP*;NQKctoR=S6{RKsF5$8fKbKQ z<1;U&xqe!czxsugztim@l$G}=$MHjnxUnkbW3@|SN&N|tpN-rM3sbO@r6<37;V7q1 ze}RJJmG^5Q*;a_U=mmS2dD zd<4y?-s@SuO)q%Qac^Uym(x6Zm^2f=+APqXAt8!)DqpO4^GxBwdKbe?(Wy!WHa^wk zvk=ietT`M6I*h+N(mraP9yvqTn#<|lRSJ$CkW3b!e4v~PUc%p@W|Ui)`ceH`7N0Yi z6X5zbgGXqr(tz)la?m50%>2KRzH>NZAw}XeRw-lnWDBuEo`y=O$?vS@E3m05m zI*(ogjlI=u1=&4n2b&;+Nat6EF90DONa~nC21yh$v^vn2fMK{nnfsYPS&+}ZBH&%# z69&2UJ4uAFm-Ok&I7IgsvQcMula-~zMpzs(Mm+4^?|G=X^lh%FSK-eBc(k8e!uiiS zB3n9g|1gGh-K-Li3huXN+Sa%!^2@-za>tqyldSr;;8kd+=2IG`6jq5B_q5W(R}?XK zG$kcsy`yS4xzm!qstHTr)8A-_@{{#Gyjq?>gHuP+<9RrGP`(txe1|aO?i0Iv$rY6P z6|y~wqL(K)fkOi%KcL8Ty;c~e`}1$rg%+5w#s-MF{1Av^`D)GGsl^=ng>D(EqW>r- zHSNaztBZC6CFqTW3Q|c9>)T@uC65~kM~-WEW@Eq*LfhkmgJ9@2f_}@$8++d7cHYl2 zcf7;m+-i9~D&F)MeD=aNTgw&@|LaKKKmLGo&a9oP|0%z1V?f$PGL#jvOp~Nso>y|V zu1djO>jON9s2dluQx5wSl^Kr`SXga;4ZPn`qf0&3VW+PUrWJ5-kX1Wxs~Tt@{bY%( zc(Z6#DM}V^c!s$$-|Po}ZRsZudrIMWtVE@zB*M84fYzB9vFYPBp$4045E zlF+Do5ha;)q+(3GJzfO!*7?Okd!76jF`OI46`nD;rW(wt+MwV<`C^f6tz?$^_Pr z3*k?|aK49!lJxEap>6qeVUKE9blRb|U-A`Zcf!P)xzbR5`Q24^%uWcfb$B(!t;@TL z+YX98Vy;6LDUUbDId$et>o7k3VZLS0`_NNs_qoK* ztZ593^NQ%RajF|h{ajaHDO^}B2WK0#e(bx~EWG+7JrdD+>+5cYLA|}tsnL*!*Ly`t zOB_xzK1Uc8au2>RrT%#t?yfJH$DwNld1*yG16EF?n7j4v$^NKrt8=2$T$4aIYL>de z4{x&@f&+`$CKmKxk4_Y8pyF+T&(!khk5H2=C0Yj!0(swSZhOrAT|7?A=RF+Q_MzdX z1Tgs%pjRPUD}SMh^+ycvDuOt6lu|D#MoT#!>Y<*#NV4>o9IJpxmT*zgM61w~m@}OP zORT68LXMk9FmNAr9L-+~w~iJ(#DA)ZLT(!OL_R9<^|}a=t63n6p$S5 zo+vtIm?r!8Ew`bj#iPNa*1zZ5SeoX`p2czV$2$yeFQI&AWnrrIxvu+8vb4IM$c8$F zt(VX^VM>GJ!ONaSHqALPScwKB-%cCP{Pi0rExfzKWUuUb$d9E#+6I43x@cs}mg~^p z#c&_GXlHM}xOJB)lJ#M7UCXQIw4w8VNhib6t=qT@`^L>10bO-odpAg*&sMcB{t{_? ziG|T78{6>{MyfuWV&&IYC^QFMiFNY#K|g;dYSp?(7LRH2_N??z!28rK!iU7r4@{+i$x1h{pTQ*7@|-VM$Xs z;dLx$h)=&V?o#*9Sb$`n_7!pS7nR2TF~o9*c;84yUS?X-(g7D!e!w4o;>Vf^hJNtN zZ^3(<3UlE8l#^c$n*!{PVts(#^bLK%KnrQ_2g#U6ZoY9)^_NWKw}zqo-9C4d{T?3& z0o@ce>b;&adxEUowRUKz@J5o-o;8NI%wfTP>+S@b;Etmgq-VD5i2`hl1nmYjzf&e! z2V#)FQK+9`$TjI;l&x1NO#7v};FSabWd#tk9$fYj!jB1EN}?{!MwHoxy4Jz?(C{I{ zkcZN^x5=Td1>T|?F^*=}6x-giHmj3jm=UjtqB( ztcFB+e2j9Fg3A#R9_n~IRP4^QQ=?l*g%ru}eEMBg8-UgldFmE-xE^3P%-t>M2G+#0 zHGsPC5I$!zN-QW23(^dYwZp#=1wukFh$&`>ST3Xq31=p7tE9Nb0f08xcyqg`l@Qo+ zH@7qqVdGB5n&N7SPmI$CI=Q>fX+-h&fViR47>7(`YAL zv^^SZpihZ{`bZ-IJ=}^cZb~zemY8@uXR_x=h#(x)QWoWFBP^_GORI^ObXvT3%;j5LOCTxwGb4#L+&`7@G~WI zy%4l{k|}3NGgu$LZJTx60J5)$kEw9$!h&pu5%b5?HUw@kGGU{_Z4;HYfrWfxNpI22 z@p5YG5oIjOIcsC*)vE?rOm-R{5!&Dmkww$w<6WZ(h^}mq4H6zHoMRrAdgoV? zTT+^PW6m|9ICM(DNT?Sp+JK@W7%UE$BvOJaU^>jSvX&ox40BY3qU5mDvM6Bq(Z|%D zL^dIyIl5p;5LnC-YmriLeDZ2F1QcbNRv-E?L_f6v@47u)`uufa+DsxRymZwh{k?Ee zV@k|ZR<9tHXxm=;@M9Xr3IL5W5`?5)LId8g(#jAsx||ai+!DE+Au2t_>!Eq6DVMxB z@qUV{909N{4L234yee24E*vY1{veHoE%e4rHo_Q8(^5PrQ|?uSDhq6%EQfZ~d5O>h za#n0%Ybnw8-k#MvDA0+vYQD`zeSra-o&tLQHk2^7E{n9Z{cXHz-{NxQAC77IEdu}j z7jY^J$=ZMonSO?`R~%`#ob(l?6}QUilYyOq;rdM%gjOa|B)Jy>F4{WA=0`Pe|HT2v zfQFP?0zsB-%+2k!4uock7LMP6oI1f=UM`J-87^{21|;NE7_w8`hDmQb6ZSe_>v(J% zer#G>>7am|2gGHU-(~Lsz`UVOEptFCZ~(ILacxcM9R~!Hs})NgZ?%n z%5W2}*4;1##&sCCGw@kD5heEEgbyRmR=!Gy2L$Rw1pkKFIu}28L^5PU9#Yaq9>L-&dQ0Ye%g%Z$ z*!!yF`)bVkYQ6q}f5q(Za1`94xrkd{2kk;pR{^5lLBJ|Of`InHCBy*JyJ7Z$QTc&! zvw??Dcyff#oBA)>ly|sP`v1w%^pXGMXaGomGisWbcJ2T{Ju*1Ag4m-RI!MX*X+_yLe`6y&Q8P_}!(*5=9vJ1szg;`9u0 z);zM4K6LVXWOjVy^lWI3ez=>G#06G}HgwZCyVGB18OyK(V6+5U?W8ks&@)ld9ypGk z_7Cx178NMRxy(mzXXsjT4};8GR~?4e+5D%WWA}8EWlG1k*lGWuAtoG{G|{+`P~<(`{s-q=Hr_%~?Eoqi=$srr+G(g9Ib_W-{d9BW zx%UKf#-w|dW?J{aLWyQ7+tiyD`d=#O3p2E<`BNGU)OTRSPhm36dqQDgFoX&d<}{2x z*6^2~s9$HtjZkyF)em->ajBT95!2N`LemyzGS8>HXlH{L3_c8uie&`&&xfMSCK#4x zsQ_~{22+=GEHZIKlZ2hy>?eO73z9&OHgZg+EzIr6(`xC?iipj>{5@T%z1W>GUmiJ` z$gv=xKrvQ2#PED*PIr7^lc_awlAy5YXg)6$F?=`j^G|bHa|W`<4`)1p3*V@|jq48W zo71ERf^MJ?dtQ&u*agb~hOhY$tYsh>w4wJipe(>>DCipnX-;_HTk*o=^xC)l7M4`n zr@u3ZTcx_xwBP=iS#1+RNvI(bo~g`oX)j`_F%Z6IwlcH|DJM{4EzOd%ZCSmSPcxPs zT9&U-XIy(RT!$voaeb$c(H&A?wT;x3eldMvW>uQ2i<7XOsad7wx6+Ez-NrnZ-&}1y z{K2IAXXUcxR{s(U92jebc+Yif#y)qb9R{ZArp4K zHPcDsjn%bl{hox?RU9xet*!U^Y`3x@w}_zqR>_7z z`Wy>V2RQjh+C2E80(ww^{+>^UMj?STFDHE{q~mw2Tdlf9e@N_31!nH}98TKSO)Gq* zU3tx`vqyuz*gk%`Bc;R*+y41G;^~3TpRDsm2Jt;sgS|WpZ>N@bv;haVuj~VH0L33j zy}OF#FTUR%y}7C2bgHCtGO4a zH%X(vEwX<6%{(>dInl||Qh0MB)A9~SYb&iN?>}^+L955_ySH|J%#{NV;6_RyO-jpE zj`C*5zn`h9TquiQ*|Rn{jUoxQL6p!)Ko0R6#*dt0P&s7haeF`=JOBKTexgbkgP28U zvH_2(oPA1PsreKuV6qC-ocOc-2)S zA#%s94)3%3d(Q_mRnz`Zm>g|k8pc>N*B`u{TCz0e^g1(<_>r|_ zyS>@sUh#6VF-cE~a$a&~Il@3&;l;?Gufg#Qhu%I5?@oVhp5%A2t-INLTI`V1)4N*W z-m|{c6&I&Vn)RzM6AHM_p6-4wtcdt1Wr#uXmub(7eh{dBLr0ePuB3F<$1iRF7A>W2Y- z6xWad0Lxi2Qi}!fXIOuFCqe>c$7QcS z0~xd#PeXG3`S_){7I#oC2kmXAhE7| z-V+v7(!dF^K5nO$xE`qJs1xvOBqp~bUQ*_LAFuzaHZT(D-1$AVcUnz0vpZ_I&l+0Fp-D`q4jSJ?Yj!>D`OM_vi6aXlgP%i4DqJ;pG`%*2)lzjsH-?>kvTzJo@$i zW^!j9|93Yn<5cKXH3E#|HeA!>FcxLf%*VmKD6aE_?h5?X^fO-X8Et97-Nbk3A@Mkt z?q}Qv;hP%mYR-1FybtyhY!CRUb_rQFYFAROgP%#?kqL$+#7T^*2wb1&(R^1s1{?NT zlaUh|at|9#Ig(scliktqIULJ|s@f_uG!8qrOI*&YaY9Hs3PBYbF8yi$JF4CK;`!A9 zSAW>bCo~Mj1U+~^E^o)LE32CjOaDP6&`#%>?ETcq@qDQ-c6x6c?`Iy4e^ey5*AJ9^ zkjr>89<_kF7wN(N;dVu#cBz$;((!|W+hya$w2E=L7VkBla8=@ZW)oTQYR!u<{8#rga8#iu4&8GJMFWAb^t}9z;a@+s4&{tRf z?K2icaaE_j;@>Ay_t%S?@?5^dnP#+A%Chk{C~DHt1z$ZcB+vhHne3YnLSxturV=85 zMjKLI%?UZpUW&*feBAm+?z$a&a>!G1X*A)^O?-v&20u%5;@Zg z0ju4xogflrz|qjS(%vf7SLT~L0m_1&!fGtc)`H%b|8!!okVpi#>U9T~%(QnCiD*GFxs+sBwZ~(aMZn!|Tqm+p3$0_iM10ujYsP>dg7bYYh;@Mupvqu83&_}y zHq21;&;Fwk<(=9OG9NXMh9SZEs|>HRPr%`+04l|u zS!=efH9fIx8x@*noYzM~SRx*J8fEU2l+e9YS~58r<5wrGnr=j1SGdSVO;qXMjy&r` zz0?n(LEH=G^e(b0%VW&|w__O_cLL>$Ii}*R5t1YNj)bN=(@|gL{X$SUQvVww_2XRy z@aVAqEkra%OCLz*DDVcvl7lJu5jSeY>r~Q_KJ$R#v(E4!1MW4s9pxnT`EE4sg2yNX z+>P;L8Rm4vX9HcQ32O=Je)Rpbyvmh%uZY zPkA5WKlw*izI!b=y>&LFW>^wqY3CA1R)-E=A$x^0`OZtb9fH}oxuVltn3Ges)9IVN z%y2h^#tU(;!4Fx5`l+oU7AOJNV7@$&T5^>qF{R)7+I~vENEZ5R`XFC=pis}XcP#Vt;3I~rNIzKXLAqW$Md>=TIe%qH zuI!&e{m7yRAMNj}%PSYY!3FRX^iGs{{3*sns-P-_nM(csl-TNuJosXNt3LT*sdHqp z*~{KX484+KFEffQj%FtsPj|)Ke-v9nwI6)GI#6oLSMr2u?tVx9hA8e?$y25cBbDWw zm2m^2RwAB;H7bv)vlB#YXxU~*2jA9Uzm(V+dOoVm9H@GJLK1bbk$X7xI$Y2Ii_m_m zJ+~-3Q9Jd^QQPq_n!Y5Uu2uJizInLDbP=y7Co%+aFBUW*eAL)S74Rv&DfYBxgHzB|_IE+g)xdiM;k$=9oTipLHq=x*w~6b8$m)Mgi6tC7#f2Bz+bLs)Q$2 zg6Oa)04k(2L8;<9M=}A7xLToWT|$Ij@U)R7OOW(u_a zT9Pzna{N&>KezT^To6|tJa?_Z_FKC zK=bXrFI+0V^xvmcmlaU8ZNsz{`;i6ku!EcfzFg1T%{-MI=eT~mpV}QD6x8SP@#m@U?IA)HYxb7xZE&Su`<>Yx- zlx(+>-Y+IYw-q5Z=aMnqcQI+GsgA=>rMiya+v`lJo*zk7z3~|{lw<3D-L$D6MY)?t zLj-c_gII_4Y3btKCM6!Z_;F-I+Op>6AANmO?60u%G*4!sXR)!Ht;905E4k0Y?MC95 z#cPS{-zF%TYa(MZ#^i>WrxjeA)?boh!8~j$TOj=o*4sn?G}-bGLg|HJA@!_R$J=8( zW0gLu9&+ab^s@`A0_x?|@h`|K{tYz=4t@k;_Ju=TZ&~>+5dish6tM(=wjuID{UMpH z#Vc~BIROSly&Z+E2aX7XisKkV%$b?Z9=>t~JNwc&`?5;|IGO#*rTln|{5BaF!Yy6Z z1>i^Of=g(~QIZR4-B(=DfA!0wXL-&-IJm39?8ldOqYjEs;T`<7VEvP5oo8O53l8&kiKxmv@;NpSkkRZe4z~CqJa>IZ)XBTf+ zAWSLvxoxmSNbpltdJ?}r+2Bq9))qNP^rMwVa%+SXf3YypV7P>#*y#|uX}~k1z<6nY zdn11XGN1z?6mkhacP;~&&>UuyppXDD9EASkKeW@s1{pj2pghDpng~-gWRM~PTt9)h z@UAh^NDDN)rNFF=NWPn^T4i)a;J*OV8RD)UNX`YfAi_uzQ7cAKt8P*2$x*-Rqkd0E zZ5>Cg9K$RC@Qv8uhn4?Y0bI^6E-@(v7>%X?79vY`V3$j6m>sOU9#5I#3O~WaXYfdw z7<%IvMtDpF7SG}y!#)#pIrn7>jfg@GI2%5jFR}N-t$92YK0Ht z$j1<}p>gsl@ zNqlOIc96K74o64-VMNO$OS&gAN+PYY5m>te$Uy596U~$&~%MC=gI^sWj^Ie&I`?adxF@QiOZ(V z+6zrOXvio}(OOJNBo;EB$p{`2Zn;?|uBBvxPZMssXP4>ID4>xE*>Uf=;&(<6S=Co^ ziBci^G`W`2rmq#VA7rt5WNDsc)WDP8E7PbGWmgN+uH@#B_r^g_sc$>OWqVjZ4kP%A z;soqb$=Pu&{_t!S%qCVIybpR%lyP{HCxyuI;(BV^o`*z3Uu&ZC3hx+dqBW7wc}+R! zFVv@M=({|4{)!?Ptd-%SVzE!-!m9N!G`*)sk`&CG50zFR;L_An^1FT_oMf|YUT0^$ zS6g?N3flje5wE7w3A(v*CwVrTI#uArxIncMbe}6fD7NUeOe)tn3%&?bhWhAgUs#6M zPVZEsI-pKRsJj*w<_Hx9%%+Hnn}aIBAS=6DR>szM1fs#3v67nb1J$!(H6wkk-dAvN z2WudR+zo?1M1ix4K9c7ZzsG2igTU~BJ1#N;VMU^}T33$tX@pT=pcN2C0M6h_BzML7 zgauyC^23&M!8dMeb5)e-t7#a3%#mevVfmK`G$>$i+e)!_hG= zSkS9#^Q+vWP%Kfi%Fjb2&m>s|M*{CzBVo>LqHX1A5(12A$(TEwjm9d+*OcQ?>6}Wz>y3bVuwW_&^t4X9&%T7&^-KY_q6BFq~n<;&| zobcz~tC8^hRKa&Wzp6$@JIQpeoH?!1`ft^9IpiY|`eVA4;YMnMdz1*l(p!l@1#}MdQdx5WWi>-fMToctKj{RHXH)niLn_(}GvXTnD$nV3xy0n)kza>w~0!IrCqK$$e@|Bfw_CG zsVls>vGTG=-aMQZ5h~s?PSR$cWNYz?X_@U~p8v}<@7XdS*Af`hf_c&cCIiH4GcJWk zynGFg#kC^H09GTd3vB#qn9qA@NL7rgxz*?8zpN*JX;#>vJ*KpmrR8W|z(FzX&IT=@ zMBv1fvroI}OEHp79|xgWG!8qo2{a>xbdXHRYo zn1)s>0gxCdsR0HU`vWy}Y+`-&8M^!RRe$qceKIdVd*oSn!#cTwEHX9%2IA`4bm$Id zCk*9ur?SIbbdWws*r|B$hZ0U4n#~v83pD7>GwV(lr8mbDfR$}~Z^$_zuP*StP4a*i zQ6#%*UxM~$astpB-DhafoUDVibS8Z0Zypit9ZGj~`3(grb=#Hn3*x>mo((Yc4?L{= zye!YOVmA1MY_KX~@TX4e@3X<3bhf5;_mCGsVYZAWh<35UAJ2cDx-({>fOpXb&YyMV9LeB7iVrtK74 z_u@gzn~q(%5x3mfh7;+h%O7RU>m8mxo{JIkW>Y`hQtyMWFC30W%qPHXGD82p z+)pWfQzlrewLbD;3CiwW_KDHdfz4ZW#H3rS76|_n>iW%9fc}xWsxB;%%fyFIfapSv zsxvf2$-1W9B?^6t^}F$*AXihgcV#*J=91d?$jPOGJXP^64eRLJMaRQ<6-K+2JO5kb zMgRfUPoZ_3ihU z4hNA_Q_VMsq-5zgsXE4S&$Tl!{%R5Jotk%3xdVkK3c+wXKDB6%&Z-)F9p(G!vVp>% ztnU?Ds=w~(eTum9Q8V}I0$r_>ny7K8i+uR|5R=qL^S?@yE8wwwSI;M%M&Fb#g>ZZV zZV57L&Ljl$Q0SCQl(qAj#LRCB%Diqb(Sr-Tc>V6i+F($*&aQ|Fm$~o*JWp7(nYxn7$IKdn1%5lK7!(YrAZdJGk-@JYF?r*h)sF9TLKj%xE#WpXuBLLm~Z<;2LxVT7Ok_LUJ4eTwEZ3_9mISe z#Pqy-DMAJ!w1O8mAI^(l_mEzR)yZd$W4#6e^2El9j;CSmt6)(&rZolR`2>s!8&C{(-jQcAu(Gn&!e%<=T{QhHI3W}@!Zg%)KOR9=^d1b1E3EI}-@zKu+5brlFQvf;njT%(DU{)wXppTx_+oO$$2u zN=uFB>{d$lrLHkFdjnHIV_6{sM?>64R2tcLSY;}@6{(bYhgDbu+py$z$B(WCi5t6J zddtJ4mz6YAq=&^sYo+_bs|z&r!$n&)^#8}y54e1Zf;55u#0T22|HcRZ(cu2~f~spP zY49YVEBap=+<&Av|B4U(*~RePy1d2xD?WJhYyQ$dI+TU+|5to4lFb|^Y~K6tUCixx z&E*gO*~LuohUWdhyO>}t^S*!YV(x8f{VP7W@1y&F@j)3&-M`|4&j~4YmEXJYrqr1_ z4OKt-{NrNv`~UHe>awU`)opaK=r6cmY%!2p@r9O2)C@`1Si3n_Pabw_psDU2R1#_cbvlj5}F{z_%dw zcg$mI0-^eC07^85ph)R8JPM`6qKM(HI8?hjSHH%n9-s714o?1X+7J#@*=fV8_&5Uq z>IvCcM1+#%n9@UYA^}K^MVd!3mvvzSe<`djC0VYjWodBVUW(>558%KeQ&^X8QsS5N1y>@H^fi#{FA^>#nbuX6uW9v^5%~}KzlMXI$ zv(a-uEc{(%4+jY9`uROv&k2(_bSGLFR2<>`M0d-6+#7K^gTn@Pgx3Ti>45>4q}-M`!067*L(P8t5#Wcy#extSYj zA%e`Glc+Q60yvo3xg&C=u;j={ee4^s3Sp}ceSKw1otwX&*kd~@0}N-9%)SwRXW1k- z;yy`gXN2d=N%UaX(^$SWQK1XKX^z}^@@AVaFgVh^t@ zn&8K8h~HA?L1+76czKC?BojfN0Gt(5r|7SKn@8FCu%1eLvdE^b-g@%qS++l6sG7@J zodzezNuo}8d`0GiV7-)nQ#tKdMqxlp!Q7}sj55qL-<2!0m(PamBVV~q+dKsaMo9@W zPZa}Y2Iwdu7|+d(h<^TBZlyt42+tyhX(O3Gli%&%f%ayZm5c13UvpmJoIbT5lj0LO zJ*9Y~aKDDpT3&4921`JCZ3Y5MM#eaw%J+d29}2bAL zp6=uH`+`Sxr;Fq#&$1ZXf_#~5?-!v3TBQOBWM8W$mWPjc11q-!y%J z@`S*isF#s>5#N%oAegpU_W=G+iLTTvNoX1Tu8a!nb3hmPGKwDv%FU&zM)MN?jwEnlt{6&CPm;~^aS zQ-+y!FA%er0%Gjx2D<5rQFkY+sqJL5-!AgCcOZD5)@e`%ScXu^5D-`?tzbz!O3x)1 zQ)2{Nbw}a21aW(6*iM0Kl?itvmJ@6XF}&Psp@R5lK+a>eWBHfh!?wFV9?v*gaPL!Y z(cx}5{2^nZ(!>Y!uc}k`4E*7OIZzexS~Bm+(h~HXwi>!2tauD12Eg6f|4f~(TWd8Y z2IWh#<`Z_1x$D~BM_U=#p^I>sbm2=@|Y2|yY*jJA#N2dF*(%&fn{{j6wI^%@Fz%}EF% zj2??Gi~n#(tms}+?|A=FZiVoER29>|$|v$Kb_^#i3Z zT>Iu0PY>$|RAtWI8<*FScivQmbG0vmuR`Pllk&}$f#$AvDfKa6tK`ymb$tt49!E_? zs&cn3ZHs>Dqvmzpa*wIL#l!rm`ri()u7jj(05bc=1Ia}UIX5@<<_*>#R25jL4iU(9 zOn@Dhcrx`9A#%rU)KO}%6K8&PERHN zqt3JGYX!YVx5Q&Fr8w7^jC*oCHOOlNxz@g__ZsU}lTu|ie%xxh{A(0dojynTyhvds z{P+qsC9iq)_TQPRH`F!RP~A%@j)~ISOjZ>QLhg_GeFa-m_4{J4buH7=(d5Ac_bUSx zp$7tqHkmaALZv_NrJar!@JoK2lcJ4SJg`ClH!&7@CNs%F2R%l)0Hxm{Zo+w$90X)cSxJ- zoztspoZ>KZo^NNRI8~K&n{&EtU|QoKc!ce!fb6YW(yqM_Yl7 zI!x>SERMC@N!teQ&wT^X9NSS1?nb?oW3?iXF_Tc0{x=K!7U_L>>SauKoeQ2olbudj zJMlpzV=N`nEdYil0 zC1W|){y0l3TPP^1jdh_uAWE!QS#7GjrUu_V@i*h)-*)QsmV7l_d-g;8`Vp%N7UCRW zeJOnNA4=1MT*+2ow-O|y_St$%r@>v#RQH?Nxgxyxnld=L%aIvF@P8)BK_ye6_DtaM ziL=@5{fkydRu`hXBi7@U-0kVuX&juev$HVRqW<>c_kxv=amshV;nI#D zDA~f;VTDMWK;=)K|H2r(PS{S0^pZ9qS@{{7J)-O!B0>Kj0D(Y$ze@jiqHn+Z-zR?R zD;o(DWWBQB&_TwR4NmjMS-}mi{q6UkYE`UZ2WgN4UeJ5SmU0lZa+@`Lc~@C8cUh|7 ze#Pen(U$|5H47%-3Yyn%(Wily)e0rRct96^m6dwhS6LqTbL)qA99UUjpa!vrHTK6_ zYR6uc1%tG;VEV^@I+$txXL8OU1_DTcxAl8G5`3PefW@bG`sQ*FXjv^+g5{?Q83=SM z7==@KStMA6fG341D1B}P0wVZp^>>3ZID_g{gJY;#IEaQj*oKz23t@0_|F8^T@Ce}G zdj{A%2&h?irvu0r4m_ZQ4%mbYSZ-lJf&Q0eff$&590-Lcc!idgg_!k-UFd>or-rge zhPuUCz{Q3($Y43>hN3uZL}(eZ#7L-!iWOiNY{({ODj+nTKp=et-X_K{;gXX1)JxPW<>5hP=iSbyJ zayE~YfdG%h5kbO~;U1x$MP$f*~bRjTQBmjLcn29-wlY^;_omi9XsDDJM znC*y(jERPYX_S%)XGl32N*Nwa2_#Rc5m70XuQ*;%h*_RFnxuJ&=q8xvcw0nCn25Ps zpLLF@37N4en`#J@sX3Xr>1LHV7?)W;nc0-}^KGOllHe7Zmo=QoIhCgAS~S^PtGSc6 ziCdtRn9!+OIVqIZ*_f^VnVa0nWxFXDy@`*%xtSdCZ3$+a%gJo&7@gthn(RrKtm$KE zxLWW@VymfH-In+;l@?+BagsGk%H zVf+ag{>hmD8k{OepdN~UsF|ScX_F#apU^3vhIyT|S)1(noE7?_>~*1kk)cjmqa1pG zADW~1X`s#-nG$-K@rk0aNu3HBlp^Y*Fq)*nC8K^pqnc@>_{b0`RV3!JA$zE!%h{Y| z_?}nBrDGVRi^+ze_?Qx!oeHX?XqsM3+80i`p;4+32mnZO3P_7}E+16_2Cz3!K?3Fi z0+8^hfEuWRI;j4HTBwG4sEC@Vin^$b+Nh5DsE`_|k~*oBTB(+LshFCnn!2f++NqxU zsi0b@YswdG`XEnwqX?0w=z=a9MF4f0GOnsJdg>Isbfs8&iCXHOUMi$pYKDn9p}#t& z=GdUKm!`&wUZa{8r3$4`xe$3u5E;+_3gD_2Q79B3t8_yF)}=s3h)3G zKmoUUtGP;|rFE?A%67?$7WJ50_t>lo@vH-p0q+#2ulf)Nkgs;55F_va1C;@#BumIc zumd4b9q~K1daePNuIf5k?K-g>_pWDgim8~2s~Dj5I;$F0B6M022mk>jfB^pru(kAP zyri3JnCEPO0hUQa2C573}LSuGe;)!P7^V*C3~_cI}ncsP)bV> zCdIHXn_w}UoHGleWm=*+d$mQmv#Qavvsw@%OA!j&SVt=mEW5O;)Ur-nnot|HPdl{{ z+NDT}wQ}o*TALbNn-E{y7SL4!2&+H`Td)f2vTBQ9Y}>YOTdW~Ew~9NNb&DEzix7Fs z7JGY&SLv;8=>V4d0ETN|g*&*13#|5OwTnBtZP&P%@wf*Oxzo|GpDTtnOS-VTgQj~K zsA~|aD;=!cy0QkbvD>@unuiDBv$iX=)ZvPr%ekHFnYs(QpzFKNTX3^$iq6`#1aZ5s z{GOY~njQ3lXPt zn!harY1m6(?d!hp%e(VCz|dB|lhF_&05L=YYSoduJJ!CRE5HOi!Ng|3nIW9Vo4x<5 zoB{m06#T&z47{z_zXP_x9L&8E48kg$Y8DJ37`(n~Yr@32yeYiGHmqqa92iD;oZzqs zCD4(um|SAN#+6331qfp*_q2@ia_Hlpqy2aX%G$a_liOc z4loJCUa$kq=*6!X24}#Gzn}w?(7EIV#^=V!21=|^{Kzdvvot8N`6s51tgG57y8rO5 zCGbtEqab!O78*4Hc;d;M1|cl&r>>j9xdphK@PRBnr3s3~^+ErvP9r8sPzkLIHk~AWO-y2PnsBV0k() z4O_g$cN`90{C9ksRUoj?hOc$*PnDT|WkJC}4r7|DZKwBh8vc&95j1bUeh`%+1~mm*6bU|69xG{IFy!T!rb< zP~FZYZLHJTUf8+PBHgRI99%vcx1&k~z-a;+z|$qrGGYNb8iS*q1=Qex4QfCFLww4w zn98d>%g2ZY%m@yWa17=wUbbv*xE!Ls%#J@Q$u-&0Wr)Tm{mW9_(gm8*EIQft3D1a& z*op0lVC~E}tr0Y20vXWRNrEFD!e~QMr3zuIi-6IUH4Qj`$A!EGo@aV70S4e828ve# zdJSSxJD`JIwS`Te`fPt}cG;SJ)jLYuugT6VeVFN}*s2-alKy?wl1-$#eA10QTt<4> zQk>TPIzs?Z0UyvPVm&rSk<9-;ihl#wwOfAOgT(y_{#KJnHD|*~F zc-+7(pTug|LMh-ejh)aP-9y&gUM<~_t>BJr-8IPI&Yj&;o!J=9&(h)mh7w7hy&!;M zHS^jm4HC^AVgUM^zx<@W^WEZ2tz9oZlTWRa+?~tA>XR%D;Ihfz2j1gd3b(?%)e#%y z#+=^{e&G;~*%F?e2~Lw#UELndtF^VJ2%sSMNDvxP-e94W>W!-MVE`0hzU7Mm1~d@z z?c&K>-y|&K>U_y%{G-f0;W=KcJO1PTJ%dDk1f{U z06beU?z(MG%%ZNH!D{NMKI%hi;7qRSEIR6WKH2vSVM1=}_MGH>F6yxU*n5tcUA-X4 zoM(vaNbPG0D?{@?FT=o?@D;U#~}WuXB({pcLAKVnnRC5|kgp-~Wk z;{N{c0bjiX|I^NH!k?_YuC?%L*6>koY98;-vtH7zS?+Rn@`z>@8Spj?0s$-^78}3- z=H1gXAF@50^8-QV*y8Ea9POW#@USKJX-4$HcJxTE=b||BSfjOMX#tXS!Ju(O4gv7V z9`?^Z_RU`QKL1*1k7a6)Yi!TU@HoYP@g-ocz(ZmHI}d+7kLG?~xUD7hSyuRnzxn$q z!tjv+KpXlDz)pM*!=rWZfG@)eZ~CI9`JDgyF6Q|!!{VHU4bk8XxS#vFzx%x3`@Y}% z(GdK?Km5O6{JTH=$e;YmAN|2&%XPvuIMEJK)p8B^v= znl)|S#F zeg6g?T=;O}#f`5-tT^&==94RLh8|ry&!ZU#T))mhg=y~HlV)|+=k<8*-@y(}|PMHgkXQT-C*FHIZS ze6!L5iy|UPp)zPdv^+l*YEP>AtSW#%Pi0E14znb*&=9-i%28QorM1>E&jgG{$XYo= z2NQHSqZQ`Xyvs66kDacl4YV6-Stdb+wkJ`YB9$srQN=c_K(!ilJy%VHH5^;VCAVC2 z3&ZuW$YxPP1QANep#*o;m?bh|?J^cweKk{-S)rVbHsEQSs@AD%Q9VYDsjhlthcy-% zPgStgdPEF~wVh>$S-x#A+;cw$Ib@OlN!Kr38OvCN9fXx^2bJr6?B2Ta-M40)iW-4{ z35G&o&VZx-9hj+tn>zT^gcr67jaJaR602Xl0EexLo2H5^RTkkGH;+f=x@)h?EcqXB z7HMUrvCEe0wNlfB=P{a=!CtXoFsAXr_w( za~L&-!Aj{ruWSVkEvH5cHq5i0ZR@W;2R-!S!fpj7Rm2WMgf*~9`!PvM*x~J87Aav7 z#&+4E1W971v~S;KGAdJ_eHx(ve+~Z>ac~r0DgZRrSYwArz;OloHO80*oK~z~19EWC z0Ame5z?sD1>!)!%{OBQR>K8R`SVIj}%8womXTWhhj5XM23Jouy-vPvyLcbl@4-#vD z-x>a#fekO1ZxUjunEs+SiC3s08eAD0)RyA7VfbMO@C!pY7U8fRgaI2}N!b6^#}!GC z5DnG{N5UkyhE@OqfRDgn1EKf8w0KT*KLlbBO$MpANCGC4NZk&mF_)8tfdq_b4DD>k z7)FpF47@AW@3aU!qgV$*ph*CB3WvNrDUW&J2!IB$VGYO4Vkuq_12|N%i=_bK3`@Bl zHng{fUn~U@lNiPhyr4(-d9Qy<+n)CTfd*^@QiDy&BRHmk2372F7+-M&BP+)gFMvUh z%TPlrywWg7aAg=Y9D^jjGD%l3#c{_72j*U3Ij+DEg@QEYUWg$s!~XG# z9mFvl(NM!K!qLg7fl`!c@u3iybs<~9Aitd_XJ3|OckP^C_YzH`C+3ZH3 zqY^}-6*$9iciX1+wl~)VN9y7Q&Z>G-cg%U6IvsPP zwOn8X&xLMur90i}l7Or`nGmNurB?5-Ri8`2#v=bol`~9YDFpRv7y#iE4h~kaOOq&g zD;nDOZZx=9^JptTD$=GvFr{7jrwF|;%j_-mlAG(wEY_gR)4rA~4kapsr-oXt#P-2M zEoxh$89EZ#r^CJlajuBSlHhJLo5XFMW4<5)Ffa!UBKU$>_2#Dj5{%%wIpJ=OhoS)R zX zp%*O66*MEYCGq*8Qo$tY5Ldb{q%(mMu~~xErMNL)#X&eBqY4~gRmOAKTe7TsW1HyM z)jr8okK1ZK8e$`_)>8#GB(a7wr~wTr{T`9YXFmH)*|7B;HuMyTKZQ|cv5g&|`Ie0h zF+lIgI$T2-`pJ|>jA0A_k_EPAv?uu9%vmTTDML5z8r!Y=dPxCl%(&x_g^ zV+b7d2nU8(PTo*msiPx3CQ5e_f_CQgk7MOR*Z@4>iFT^M3x4V(SGmM)aDjO$(R z_e%cFVVINsH!%7V+RfyjNr0i8lkkt+<&x^@)c)P>Cct~%b;fsD7oN=7a{b{EPxaYo z3-Y}6_lGGzrm{;zEQ-JVST+p0-V2=k<@d1e{{gP!h#&0(m$cf8-B-=VKvB*MbW zioi3#R6)Q6R6r(V!11#S5*fh}%st?c{y-{xGzp|Y5|lhGtilHj!I;Csz!*al>_Ye8 zLJ$nQ_v^j*i@~^?L2;?U&A35U%R%ng!Hxq!J`q48BtSn*LaU>_ws1lQtiZ{;3n|R4 zwOGFndyf-rK=GrrD-=VwP^w4Fy$+PTG;G91j1@+V54C{APYlHmBa2ZKm$=YGGekuZ z8H_`eM6QsLM?A$#l)o4Z5C|NL2td6AZ~z71MVoMdmT-WYsKXn(L(|9r9yE%ltG?G; z3e`Xwa45oRv_`E!!a&@*m1Bzp3_mE0!%pl(MDdbKG{-EQKu;t`-Z(@MOviGxL@m_B zO?<_$BgGTMM{``nRIEf;?81EhJjXM9$9?2Sd=y7Wj6xKw#}@=h7W_wXT*q+?hg&Q@ z=g`H1l&S={yI`z|VN{7?G{)28qGSvh5+DFTYznC8gJH17mUKyIqzaTgylr%f+T%t; z48s+qKz=O9Ni4{NT)}|6$2085-EhZ?RL68wL-g~)ofOD`oIt4jH-A*hq4dOuR7Vl~ zNv$l(L`1`S#6);>NQUG}Ql!Weo&Dylh+r-V;q#^y{&EC|nFK~q5 z6wcu!&f+xA<3!HnRL%`9NtWNFZPU5uA?gY>96i@C{ z3FZ`x@jT9BfCS=%gk$&uA`;4ew92{2NmbO!P7Hyze9O4RKh{LOSK|RR@U{UZ&;m8k z14U2+MT2Qz&<1r-1_e&^l+X#K&wUG#7kIg2c}f(8#;wNE`IeSHpqpNzfrBQX*Z@2Sw5dCDA2i z(k6}05Dif${r=D>ZBi=mZ;7}f{>azq4Ay>4)j%~@fbCOOUDuX))!~TMym;50h*vGTReHTvd(BgPP0l5N14poe zH*f?(AObwdS1zCdPxV-kCDnhuPD025KOoqab=j9CPj-dXh0UTjdD!2HSc%P5icQkt z{DGd(0FG;eRg0}BlTyVY2Z711TQ1K|YR zto6>VUD>cj+{ArZS9R8z9mATvl$*ubd0kt!<<$noSGW~UCwK!Pm;pb~+_|k=N6_5< z;4E5|eF73FffV3_C{SGy09WE1-Qiq5MQg++$T6*510e$w1OE30`^@5Am|C|bp#hj}H3AvX;UQ?>;0*qPJRn^q z4$j&oPNr>MzZK3Mwpt@bVkvfnBwpesc7!K>-xihvDIVM@4qV=iVHPglxYgn!CIb4^ zVH{{-DBxHw4&aU*105CuJh0wRHVbaamH||?Dc46T>T}b9#KvrYfrQjeoV)u1~CqQ3V zc7#dZ+&I|b9u8vS+}q~GfD16@3!noiIOSL#0w{iE!KGvsE@DJZ<6U0k1dicl4rXN@ zP9`X2N5JDO4uaj4f*H7h9v0ldwE{1$WgR};Au!pFeP;TkAT z=SAgS#%3S3TaAv}E)W6_FlHBkXlpjrfLc8=S>FaH!+G4r~twFluI4xB0XWuC1sLE zWf-REb#~yc&FE`>Xu*|(c9!LI?&V(wVnn`LK4jrcf=2e}z>a9XeFD7QW#tWnw?^qG7F@md0dzLq&W>Xn zKH`!l?rYZEaW>r*m|{xiWmQ(;U~Xym^5ZOPl0;TQPArR`sF6u;H zWZm|I@E-3j*lW?o@BBVd(w-I5K5d$4Mgm}f>wtjmk`NKFR@X*Q*q#Q1HtSVJYjBpT z5m=@p&ZFlGrB27-4H0pjItnKoW|(Q7UM>5%?x_&tFZ2JDlT?zp`I61V|) zL4hJ>;5^RplHP7ahTj>G=Jyo>!9f8&=mJ-U0vRCw1Ryv89XJ6TXz!VRZv|#x5oltL zR%s&V*C=?G5sFMgF0Sq8;=rauvxPSy#@B%FZH4xwXRLEk#-7lxQ&*^g$o(Odc2iHuJkPiUSxPHct>Y?+g%NfH<$yOheE#5Yi$o10T?V z28{$Bc!i!N^id^*G??1vF4jL!&OjgaR(EybB=i1G^Z}_3|0@9pA%F&`fG1&qNtg2k zwR8g|gEY{AOdrxR=z&gW&`%F_w|#X_y#fyqoI*xaRYy)%fA(w_^H`S^M4xr1!ww$A zbp~L@p^)@mr*t~C^kCls6BvUW@Bjy3fD!&cgAthbGkABH==B}wfi+-ILtqdR0E20G z1sz}zi`DjU9oK|s_=a}`Zg&)KPxPb68SH3)XBmKaDtDkbcXa=C1YP$X@V0h;cMH$~ z9jE{cP=hlVfgE^u1`v5Q_<&;fbWlehH5hn2cldl=_?`FpR)_dTk$5u)cLCpZpTGbB z000I!dZW02UibA%7kPGf_Z%<*WCsBh@HVT@_W`Xje_wW+H-yKD?VnFqYu9IkRa~`y z^`K{zq5tn%Z@M+V4gmNE0sw)|c>1VU_o)~8F(CPP@qryU0eA0uuHSkJulZ0n1UyA} zvp?0I&u4WFTgq>H{_gf!PZpy9oc^Am`vggW0Z<9N*L%JvQkM7ok*|6Wa2Ukrdc+@t z5(v`8pN6p?hO&ozVwL<#9uBYVeOGt;MS=U%Hi|l-0C*yBuNM8$&wHdW=8rc}H3$I# z<$5&ufU6$?3%DNFuX>dS{Fz?^RS^G0(1A!$g-FPOGZ6pB&;3u`{R>7|Wku1JRaLQ_ ze?n(mNYMZN=l}lq|NjRFNCF2EENJi`LP#M@Fl^}XA;gFhCsM3vF=B~~8aI~MK!5=O z0ufMb9PsbtKLQ{)veXDd&6t=nXO2Phfx(WLHW_@-VPZ^)6ftxB97EJ-i4hDesOhn0 z8q{fMNPwC4N(TuNU&3+i{_6EB*sx;9k}YfYEZVec*RpLJ4kg^LaOcvkYxnM4u6Xz2 z)oT|lUAKVw68`(PFyfPbQOXT0*lS(Li6>L8Y?-d3x{khF?%a9d#n7Thlb+aeBZ80= zTAGBb@-)XBFlo}RZQJ(Im}Q(s?d^N(tA)npNFXQ5)#N%xp_i|K`7huu-w7kC-IrQv!hj(6T%o2i&$ zd-2IQ<3;=JhhKjF`}GGPkGBb^(}BM^I3$rp8d(;E+DRzliH!~B7joH+h@F(-jc8bK z&s}NdlunXm;&dod$03$4nz1_1bB8>Uk?|eD(>|pM(1PE3jh~S|N52s;HM@nk=Hw zZR+8%q7qhOw5xiH7^)|!`mJTHzItwHv7T1vTm;-X8?N!nr0cG|1`Dh|nA|()u*)$y zA*je6hOPdxfML6(vz10G?RcF=x2Rl@QdupSdkwcCxf$aX?my#doS3=jid>_*EU_CB z%J0g%a!tGPy6?VFcmi{v{UY|Pa@j6Q@xcW53^2l$x~1OEk3QTa#o;l_rN!J<{4vz2 zYL;Hqh=n{d))JL$GD-lPM1Xxd!pril^!90QSxv|hjuvx-bIuTZ(Ck(|Y}^aP%r$SQ zaMRXGtZA|YC+eu+#zLF$(4GO@Y|#!c3-Pi~-*vHLRaeci$Cl%Db=IBBxphe=0RTd4 z1K4OQ*?F2BbS0c zAlg&_PnPWpBHz^&WYCQv{UC2&fr9aj^glo;?|ek_4y738Ktlx$afz$k1iw|j4Bmxv z>cblQG(v#)m4I|7G2MJnS3dyV&p`RxUpS~hhakA28~S6L+rojo8*;^V=itE=aDamo zfMN?c$UzC@_LT*4MGAO$+Y?TJgBgT^D?mWQ5lg@aejJemPvlA!P_R4NeWh+EFC6)xffdnE0@?w=46pMdSLz`I6O>>ErLdv_kJLa8PU}I0^q0YmbI8k0{%w)$ z`5+`262jBO?;j{s*$P$XG6aQ%hcRryA7co-{_PNkJ|x2a@-c)saOE65sG?Vx7!G~3 zAskR3<2`IJKqRp8Z9$m90K@TvOoXEfy$pvFzSx!DozZy4>`F3m*p)YOg_m8i=G%bK ziEzjxlv;oTAd|N@N0Ns~hh3^P~@X5K0|xlPhS9Wgy*1gEs~<98xfzHldk7QJ%vG zpO|J1zEZ$umh_}t$wx}tNKG9Q(~1>ks8?nx%OVX@os}`9Px%7Wpn7ZmgHXf9D;$AO zzUXtGuIlF`aWFQ5`p2Mt>Ld&kI?5cDvMUko=mIa=6%ZT;*WT8dJyV1bNbL7;438qOve5PuZDNL7kg$q@b zEr5~vM3@FM3NbM4Z-Ms%mulg`_7&uDm#g6obJ($swA^zaDc#OdH-sk0!46Wa;uW*F z#V&sFigD128PmANGe$2?8MI0O7s@kBe*2!5WC0QJ!YF!)|^voYC}QMlyB8BrY+Y z^UM(tfCC)Z_%ombjkdWBskVd`r(xr)=tVP{FU^Hoh~W}lJHtoMmd-Pu{T%2`5Bkua z{xn;9+UQY}y2FoN=VU1j!b`Insvy{OpE(WcS<`wgJ^rmVu5+#HT_490VaW{5d~FsB zgrL~QJ~pzGt?XqpyV=fuwy_=3>S?o&1QyuzpZl!oPV>6kG!u2H!!7Q^o|=5AR<+2e zt!{N4U;x<0hPMCAZEw>XSl}KvzVl7Ua%U{kD48_6NwaQNXJ9q4YWKV2jg5KNyWxdh zn7$(}@k5^43na*h2_A8mF=%{6=MMO*27c+(OyJ-YNO-Il?(mi0>)sQ8Im}H}aWoKS z2VNkLzfS^ikcUR(BPT$~ZFGQ>V_V@2XF1XtQgU) z5Z8du9f;u{kI=zVZH^L16zCsm2t&to;EZYL;O2YD`9F4^c8Fa3b8gpj0SKUi{m8xO zDL=a1Q-3{(@4fY|?@ak{U;+|YcNtWli{e|cgJYaT@!|r!?9b3KssF9(SU{`t+*5zS8mj`t5W7E>I_a@vDxK-0!~kmLGnLz;B-9E1xvX_q_8j z3w`NNU)w2{HTLsgoTYca|9k)b)QO+@{e$lD-aq)>KR`kb+yXeH!Oi&{xUgUQiN^a$ zQvAtZ^qHLf-5;Q#p8kE{muR2=jo|D4RoumuK*k;5%@yEDXk7^ipVxsM??GT;V4mhp zpb1nUAHha_qyS5h00vaR1!hFSu^R+zpr#2L2rl6Tu^tINVF}Jz)Yu>nE?@JVMh1ig z1dv1t03pgS0R0W2jbtI9A)&T;AQPsc!axudwxQGUn}^j|6}sOQwnP>>fEFe|NZ=s^ z7{Et_p%}tOrX?W~qM;ftA^*9dB8D3rYLEoZAw}rmd}IIvsDKv|z!sK30Yt!&`5_<% zB1^oQ8OEC-9^wZk;v%LZqcvhtJt8DZge1ZSC5~PRAOHkt#3s@Q(1GH93}P8>pdqS_ zG{KD$nc~W!qADiio3Y}mP~rY7hDI!6VI^jSE#e|4CdDrDq9BeUDSCzLz>e(Xz?6AK z8yQED<-qPFnK80iqA8<0GNKfI3^q99Gg?G6+Tk?T;w@%GE@C6xX=5lN;V*&%j@8aW z83z*uP)Ds}gCL`~fCzFOP6kzwJ2GRbM3yVoqeI*yOUxoQ?xQAN;|OFUKn5f?_8E@J z5DnSTR)rHp1sM?5)~s~eT5T2krYu;9A(iKb&)cK(HJr0#5f^36=i1#j;TN- zi7bf&F{QG+V~fNixgeENWu!(j1V?g&N9vf%3^q)VJ6N@CS#fl_+4HbnUVADDLQZNluF&$Gh5v7>0AtIHBQkDu-8irGzPhw7rR7wqc z)RSaRCS|(QJ>^qYR>W3rL|0ZLKZ+ztise|6WlAp84ec0P{?J5)6n)KQ8Eq5|bks*t zlt{r=Zn;rP31$Tm=213_1^o^8I84r;a_CUsQ;*4+#r}lIY^c+iZG6x$@OmS9^ z>sjRZ+~5RmrbcuoNcQ7MhNWl@A~&XFR;i_E4WnJ%WNTv7SCrLRrPW&5mw(09dbZMi z>ZU^$OyB@#(l8F>c*=8jPoz+brwFKp08XX^C*e$wZ$3_eHV(BwDAI7sz)a}>QRN|N zXZvwyMrgoC{s>_;j({JE1PX+wXzm$V5~NwCC2WP(Lzxn3<>!#GCp58EY`T^K)#q)( zly2^(M3Tsb8jbikCV)0)R0hoS9L%)@C-*$4;Xo6-lsFO0wgc{D35-EW4P0V4Z z=5VO;d1yv>KIS)7D`{lSI(ndgh{SbM!!e9`ER))y1u*8oAmemU8T zCRj8@koPPWQdSLb^5*gwO@&5Jw(yL=bP1DC3V%YXmP+ZCV(D;3>4SFZ;uzKke(A&Keck*P+QX-I&fMvy>iv}uX)(b};cuCiTL>?*J3s;^$aiqffz?pQeV7*PP( z+vsWjSBMo?oa2$H<2fuDm(k~wZCR83D26cVw)9NW9F9^JjdW-Wms;q5cB!T!snAgA zfMU@1pesabsg;)Nb)qT>PC1#*l+|1TmTokX;S#Az~(Bi7Hn3G0I-rKwi@Gp zMh<~S&wqYvgf5M1WvYRw*OuHI~U>TDWb2hS!4^|)SRKBfbyY}IIOz;XVq z^Lg#pf^FCyEZL4?&YCT~p{)ouN6&gG%nhmA`V`zojohLe-F}|e_Uhfrtjz|i-y-4~ z1}UO0PU~Ur;hs<8Le1i;TI0IiGb-Mq(Y7q}>W^!Je)N6hHt701qrf z*%EK@zHZwlulQ!r@_LIkc)*IsV`+%Nv-F91Zq1@x`= z=9=*u<@gRTIh7Bz9WVkXFtUk&`mS$8;5tDgl?UBbAQ>J1_(foCHts+Es7_MDF!Yz|0=N2Z!+WjWE-iFb|XO)THqGuJF3G zu)xAF{R-?1*KiDjFb;#74!3I$NAdWeFc4>^5UU#z)9kK_zz9)5{T2WX%d8D+MH8pq z6Kks!r*SKyM-^Lf`)XqrZ*c)w@E3>iz>YB!m+_&UG3TnWAEyWvw{bmQF|}ne+g9^zdh#cm?)6511>7<&%`9N z8078b4m$FV@4%4o5KnzM$WE;kSNxS4DU%kEKn_097UTe2I)O!_;|dHA;QsSTU;*ru z*$_yP2=D=6tI0c+<+zow0aCR zL0^VJAM~mwbRaG?^;R!C7i3tJV{s&8emMw8A5cd(h%C|mGglZ`D**v9Z2>R^SP!{P z6c|ty*ujUKL{VqR4Rt{`oP<2Q5?{O#T%5xa+yR?lb!F%?N)WbTBlbVw4Ps#SNmzAx zKz3GB##VE6%X+mKf;B^btvi23Ld{SOohDbss8_*c5DifgWsyy$mPb9&IYiME!O|7^ zBo}2_P^!^5x=}ZS#YG9_8s+sg5tkg%ksS$l9_>*dg_11Yb67k9NZk~JNz*z6Q*NQH zWD7R%%!M{3HVw>0OZ|g92mun+&`CsD3Ftw5OVJ4g^*_iERF{ApY%~tML1F(87x2dj z*a1pZfqmn*O2Riv$aGzt_hmPAVQ6-K&kzy;_&@#(HD+sp8~gwbl!8C-M+soKP->A~ z{ewS@z=d~1703Zx{6Hsswq}^KXpbpr520zFw&bQHTI$$q=h!Kw5?sEGT)L-M)a5O4 zMK0}9FYV=B3llLBs(^(9cC+6fkvs|M@u(K^&mOYW+hM z{CS3(RDKWoTm&{pqIjC8@PrywH6qhLHPLq0W?J@WZg$05v$eA~ zltx)mP0^-{=9HS{)NzA_6addm-DEkQ18bhhKUg}Pmp7n4!5-{%de4Ra^fgKdPbo4oI;01DdWX8c zzX6~JK_=XL!JkAv=+a!Y%|Cn;q0@J*Pvx!SdRObZ`yMf`_qwq9xJ#N6OoG*(y5^C$ zfmx-MTCr8mH+z1{S3Xo3a_fP7!IhTVSA=mBU%G2mxAs036IZ*T*{K zr@Xk(ILmMCjlXQb#yqdjyldCISIsESFDsvB)M_QWk)M`rn$&D9Q*qP&v@iVvHGOam zS87ez)T<-5rzRXy4}M#Kvc2wk6=NA2N5PzxR7B( zhYuk}lsIvsqlAvWn9#WXkz+@XA3=r`Ig(^alP6J%9Ko?fOP4QU#*{geW=)qSN{|?_ zlV?w#KY<3_N#aX5qesJ0xpP!0)1_MG7zN@f9KSb5m&6Hojz_nnQ;$N?gESo2qfumd zg@Wg3B&k%5igg;UidLge*dG1yi7b~;TYd1YdlYZDd^Nm=ixT7QSGY-+?lr1~aoNZD z+K`P~hwK(Ni3^8=dQ=~c#7OrZG}`psk316d(J+V($en-ZdVnH$4%NT91;2EwBB$WG zZvT`Pgjz86?ILjsIP{08REO0=J5W*;>1sQD6!3QDqXr+y8s?fp9w;|yq$ciaTpd&on4shUkes0xsC#gAGLRAO*2)*x`p6oKPbSF(AO= z0xWJo1#&s=I9zk@4O!%oNiNyslhIA+NQ7B#*=2_CX(PXvX|CB|g$-gD;+=W!StE&Y zvhV-`B0#|<4=|>{aqGJt@Mo37jAr>o9e@4fk6_v)j@4qWiT2``*%Y1K|#@dnwpX#}EO$^ZhF z{zxbw0=qFM7w^6~@7!~g|2E3-(Md1e^sLJ!=X+mJ~$Qh{MgA__2f`Aov@4lwqgAZT)&qEI< z`Sa0F|NPYdS>5^f6Nf&g5ilr#0Sd6M-C_bJDB%B?@RFf(p=- z2Xu`_YB53+4o1M4y3Rl(MTBrj!Y z1}a(;Ozx1ejWs|<$uie-ku_>&DN$PV_JfXwNM4fF3_n2Hn7j&ADnHyr0y`LGx{T^4Z-X$SH{8`ILv`+E z!J-9P$!Z3r5N$Z*Vg(TG12OH=D{2v(V7{qVrLlGJOI}N%2YYXGL8U?q{0o_!l4!Uq zA_9o=F$BBd=DICHias&}h4J3Q23|qJh=VYL#QY!=bg@e~LUR@TW}FrqueP=`Qlyh-NppMHcL21b z2d(4rb_hg!E|O`ajcjTkh2Ge9GDx?5lqV1sA8ZKnyTn~?jcfee>z1mzJ>Ildb5_H! zuF6%6l9gGXM%eeRFJ{-$mMQn!#)SE9IP69KaHHU(#YRyFDsT*z!9{*Te2mu!mlAdyN<08Xi#150vwscfDyrPkMHaUiKe*Ju$O>d)+TJ z_O)*&?R{^deC}R^xhMYd58C_SyAt@z{~q#7X?*BUf1Jv9zB5N+SmzI)`oWWa_rVWL z>t7#-%_qOp!tcfJr=R_x9RK+RXny|qZ?XMBTz~!XAH?_1zkBlMKlk%*Z|*Mu39x|n zkN3lM?0to0f&0>$S55%8h154I|>B^Xcwp=JO%@BrpN|&a9(oo2$gVN zde8^S1qj!T2xe!KGRSsvYYD3+39)bs)ujoYP+XvJ1l;J6uBVw03qv+wav;fDyhR1l zPy@Lz3mL!bbIKzzRtcUPj z@h}f9L;*)Y0T{qyYzt!ufB|gjl>q*+CJr$s4$%mYiK7;A4#lYvQL$Yf5fW`e0fle~ z@o0*0>4I$H6Ja70=jEny%BT*nl*+4QJgbWsF%`FP6sUiE#;y@fc;o6(N8MHE9r?agwmg z6Q%Jba8c*fg|eXLxvl`S@}|%d?p@5${!FnT(lH^GNd(z3bKKD;Ea#Q#(H`NE1gvo6 zlA^bMtLz#>){5)68b!I7Yv0Hsy0#)$s_VLdAiHLSyOxVdjzUPpOEZ3PAkk|{lB~T> z;JtcFzUb?Z4w4`gawwmQA^scEZXQw${pSNvK!>m=B3o%9J&_qLh8o8X!``hU-^{~6 zOvKo$2TBar!U4qqY{h!+#n>yxW~{~r<1TJ49Ktc-d@M08?& z?xNrR4cP)tFRsqr3@+0Y?Z=pc4yH~0`tmOoGB5?R1RgRc9%(mAfH9+L5N#_stx_M| zt>nzkBiF9wkfO7O*yd*E!5(>+#)(dq%Cpm=5kIh zdoCP)F6h{c=m<|X6BGg$6bntw1S;SOBa{`BvWM2QDa+6|Pc1{U60b}IMO0+vYOU?U z;q7Qd>2O3xN?^P|)I*-6O7SFJ_)b>-?j)&8@QU+5y>m8i6cuySo+5DqG$I8ifK6M; z1mKiuOh8RriZE?LdLS}A$4nG|DL|L%JI^!%O)Ui;^g`e!u^i`?JVs6r)dYH!u(;<0 z-gE*a;836b5Kn7DdMYx5ITyY*&c^=LnqV^Q`_v*iS3uw_&6Wnnh_WOidHc4Ac(CXDq0RPACV zU~I>B1>luzaRO*97B@APY|%DhRjpM)wvOnvX>a0Y>osbXacZyjT&%WlsgJ=1mS$hV zW+6;zENN&D*Cl?IR=25tj&^HdHExskTkrO6aUy72!kU_9Ww#G-SEfek5OhJ1!FJSP zRgGjx_Efi)VRs3Nf>vU;7J%TDZB^}6&(n5YLT+!CZkHBLHP<2S6$Pml75|oWkB`A} zr&v=!Ro&E54fR#o6_%dYVC9qoD&Som_E}rv1e}#ycl2nt_f6RrTVJ(dQNUS|_5O0< zwqkb|ZyR-ZNw9bu@pzGU_hfb^8aA3sE?Q zInF3E_y;%m|4vI0O)7?EnA}#F9b4Gm9-qxZiY`6iR-9- zsU}aR$<(DF^@fL$nCob`hBK9k&#V)frW(gFt|n_6Po^8wif`glGysy}gdjDIf(tak z;j*}`JcovO%kOi3*E93wmfO8YGjwDkfi!MInZ9dh`xR6UE#S}kHvc0TJDp+#6 zx(g5 zE4KnH@sli7%qUpQ#b8XvjDp5$&MnE}jYUKYU^6Z-0W9Pp!?XYnIP)mbaw{}b$*2zL z0J;h)`rnKUx}fZrVUy=H8s$7qlQ)l(-x>VkIS=Q#p`=nKLV%S1U%~)}b08;ELyz+^ zxgs++(~=!7HuQ7PLV7f%GcW*-&^8Mys*Dq=LMxgq+Pdwji<2&J>L{AP-+VyMv|uS3 zZ8C1`(Jl^;Q^uWZI{j|?3v-&Cc6ugK8755GnvB#q`*||dj^+5%;hNLgpz})oZSAO2 z?}|Ap_Mr{_4Wok~1bPkJl-jc9Dzp8q2n;(aWKH3eI^4k3C!;nOpbV>WPZTgczSr0`ys-74_Jb?aoFo1Irk>qH5Lt$FwK6J2g zO+*2VL}zX;P&CJIF3|ir(~eEKwTv>HyWZw%>fiz&ieM>*<0y=yIIo-9TzWEKdWhiK zy8{=z!#fhkoBaBkpOF;pmNdR~8}Vc$O6879t#q)lbV#(+(HOh2&jl>Dq)WbJ=Slzv zq5`ueIaY9>4LoF0W~8D&ySb}EooD4Iv97``9Qsn*2Uk1nhFFLIwG_D8lXxA*3eZOtH345YCq1qV`*rG}A_9BO2q8X8KAhIp;TS=YzfH9ZGKC29m0hc2?Q9TDi7g*|-uE5lk&z>I>x?n+O{J;k=-~<-0$k*8`^y>#`AfaP&FR{L_v>w;FK7h*mk|+RU7J!j100I(#k+4Uf zkIa=FoGSx*#0Yxub1lWpQlZn5p>d8aZ%n`8lIh)TE}=`vgs#Z;S@Z#e$?%IRo-E4T z;J&Nu%Cd~A$>Q;EBl4HR`@`h^z%Nh2MPsD_thri)zej(sO8?YP-+KnxqPS-RCDJ+aK&HnZQBHTG1rNS8m(#c>rD0&ng^yDyHJ{l9dDU{L>p+YAO4N|#t&c`Q( z`D#S`0Wo5@j|MR+l*gu|MTb=Akfafj-yD@dQY!2jPD>nx11$nI$k3oX9zXU(%*RG$ z6AB=zR%Kz4rIb4Vx^_J(<&MLiTHYw+=f)sfm2BI(eG50P+_`k?+P#Z6uim|U`}(!} zrG((YgbN!!j5x94#f%#}e(czUpKT_<)DELfL&W!V7@kOUr#k2W1`C2 z+8su58u92)h+1gpHrl&mxG6AHV#%YDq1S&!n+uFG;zXXWDVZEf(5nrIm16YOA%jU2OKr7NBys zX(7jX<1MG&LlHS~M@2lPr_e_sjU=5(3cXidY%V$EBTX)LXHb3N0jFGyHj4K|NBFQ2 z)=5MLBi@aGGP8D{@1Yw+V&PivTcHRk>gdpz8XP=sFSXqaX`AKME z1rVSDiK3Ba8vbe}sK%OWF5bpcj6m^YmO)DlC8csm<>;wFQOIBs6v-JBiH@HJDOMFj z8RW#N1`U{`LHO7(lRBt`!()_xbi*A^XVt-$csg2HU#}7k(avfM<-A$S8`ALds%9 zlujy^r72x;LJlT`u~Vnw`4>(S3FlCP2*gGSg$WeH7b;*{)Rk5Q)r)qY`HrZliH)ilDcNx%4PmEr(%RO1 zUPa{h-*wSwcj1N~j<|#Fw#|6s8LG`8W{zL@wqpk{PywSD5I_I~C;*&z=%O1G_&PGJUcH?}$F1YkZw0-Ue-dhuYR?ojEb%Y}tt<{A%u z^wK{VJMPx|Sv%X;n~gyO6%aOp0-psuefe=BuaNTQug`w_if<1;_K<5I|K#MmkAGk2 zlfHlc{{Ig^l~k{O1pL$dBv(Mj-7kO)giHU_*T4u$(0l_-pamC`Jp^9RYzv&A2Orq} zKM#sNy!6q^ZIc)|?cjxi+ofDeBN0vtNVg*D7y z4Eo$FgBd{qM)b-_#Z01Ocyu1dA4sB zrj=}jKsnEe&Qwk_e^6N6x?tiUuQZgN>BFY<^kJU=HMF1T`X@l|B~ZfjvNPr+Of(U> z&~P-NMgcm<5NOsqsHn?W2EoGf5Y!c@+>w9w{F>hK5(Q8l4q|kXX}W&ukSfF=bS{PI zojm$cc!hK@%*+5n1#{9qk}nE3BZ3NU#xa#_?JqV%*$6K7Ae##4W+M=4gJ>EKX(=TL zD8Ru8WTgcXa40!j$iWbX;)IEzYz4dNicP(Og&Yv!4)X8;4ph*MF#fg$32K6pgOF;M zknDyZLvWc0_@I`~;s6EhgiB)m`qdm{v@b-Ri&{n1)zpU7E?m$AUG#K9{Ofm9EYYeZVhAetK0AY2GVlz@JbDlcdF%jO_qDEEkjq-P%Eh^?;tO=yqBj8l zMZwbZ?Qi9$LJcl+xQNMW96LxUIs_qWm70vTmtw2{=p14)3HJ7Aq0EP09-VE zEnA4Dks@hrC+nEWkdmiU^NIz%k=UKd z*n)uh;@}6%>wr7tB?L%-?|kdqndwZR2n<7le<#xZxGQM^xH_z(88vLN()nwY@H?f5 z2xlQ2yGNXn@G56R6+($Q1! zgMa>6wi<$u{}OL`gDAKq(106nzq#;BgN`P!%drTK~m%=23r{ z*K}Lq5M81WNdPL^u@;<`77kH!;ztFJ+y~OnPi0@ut|-hJC9)i z6mTdD&^Z?X0m1_Tn6?6z!-+^FHz%gmJD=jyHH&+!xMT2U#5>#OoD)0&CfFJs? ze5*2ug}8SFLNj{kcLbw(4Ks`!;~Upu6)}Jczm{MXn2L2cilqo_Bya+Buw`c<1Xb|? zGS`MU@*=YFVdLkCo_HX!CxsV6g$X1gj!_~TP*N#E0tY}mErN#jVKD1RIO(`5Z@3XX z@_av{j9~-cN>US;71Z_$0m9gk^3Q8=T#I$ z7jc#*1e(Bv_ty~RF>(9HkOyfW0!V<)H+F}(jSLu8p2%Q6_>ALcYHeXAEf_Hkv5_6= zCU9~jiMWmfqj^Sn5jNo)N*Q%tLuy1Rc-wf2HrW<2hZ|e@l?FL-MYw@TxQ_LgQBSxa z@;HwbQjhk?dvVh*De@@)m}&u8e3z0b;jk%S>4rC=5TjBmvXUxwSYU}~awPaA)MZ^? z=9u0El~J%%p%RErJX@Ui#h6aH!3d1mj z*^nJLF%^SW=a4ZX!<#PxGA1e=%4rbyFa)`_V5}5+HB|5dyI}<2Gov&GixI&DD{!Pa03S_*G9|#A&FK&|sxUY@S5sqR;UK3^!)Z<<2SkHo zJ_@88(KRFE7F4Ma8@ez%@uw;in>er&{NOZ_+9n!f0(|gm0X;ae%@CbVhDm!&)L5Ffxhrurs`Y(Jb zK|}gAAITu^(NjWaQLhtU(BpGaDNDY37uwnv3ks~6A*=;dITAWIds#OeHA~S7LFoDy zs*_FJ`WE=)WpL#e-ukVN5w7(!uH@=3bdyr-YA3@4uzS%wC6J({1g~%54?{3DBH&cN zdj7ABldtfzuZwXxnNu3S_c_Wsuwf&x9SgDz7O@iRplY;5Tlg5g!#ThsJOse8A-gUg z3$ruZI`%rU7*w*r+C5q%7~wNMH2XC&3$#OfI5vB;i7~Mc_OC=6PwG0YObfN_Vzftl z7)kqEOB=O+A+%Y`wf;o4w3D-6`$=6JuudDTWQ(>;B)0KlwNZt&X^R(I3%7IoK5P3f zZTnGgOSg0(w|nci@o2Yq8@6Jrw}0zEW;=<7tGIw0xP*eY09Ck)%NBhrxs^K?QyaLC z+f9*cxfPYTJoUMqE4p%lxpu3$$i%s#OSz-Vx(ZRcYkRu6l)BKvPj^zgce1*z{>!?r zE4Hy)TradycM`m~i?}SQyT@w~y!*Aj3ruyfQb71p#xq?M_!ra57DKrgxtkYCg}g(n zyj07)>U5Z~1y*DEgMCp}c4eFkVr8d!z2|!uR>oC|C0p2AEpib!wN+35a0S+;0uOr^ z@_+{28@1niwBd_V1ZTbrqFl`7AOyx>_B&v!qi}a|VEfw@{?QfZkOX%iCd#rG??u2g zYrr>)z*^;Zs|G9>ns96=VkE|G$##<$;bMbUXthCO6r*P_Dra>?WRYloWw~Tcb}B-V zF{4#lFE(1BwFO4F6!2ud;->{}@B}Y2W$H$0V+S#z=4LDNGfOOMw5D7BU4eOFbaM$& z!JLL`x@Hjm;H7WC1vp@&Y|src!e*j&5KP9yBWz10JhCTzVSWdA0-2!|40;Whac>8k z!9g8e*P>q+B|)%pan*5K$DHk3mQ<$^T2OcDHWJEmbL|u>p&SvIEX62rc2hig{)Gir ziIYkJb23-P^P$1rB3a{A!G_loAkhO*EG$4+o4TyYH^|4O?y?#f(SC{H?WPI}iG`%RK&-EKHzhNvqTBlW|xa zt(Y8P+8llOYoXbsJIW^IVOiag1z7PEEE9O*6*15amnH%>a0yFTl<(+&8F{b-O-2R{tO&hAixE5w0M!nVg{a$%1vZc~QX^;y zF*L;^1~{sANRcNgRv8K-;>>I0yc+?s6j=avh$xqr{=5?ay(&A3)S;x*bBWLiZL*3n0=xG+P|Z1Ih(bN&LqWtvRh@=9 zLY{*8pY&OnfS1B9-9&Gl>vHn5IOVAMh;jAZZ9!24H(|HcH zDAAp{RQZ`xZJ^iJbaN<4AIcKigLx~tf(qx*3d^wvhE1CTs@RJSNsTRqj}6(3F#?>E zdu&uv87Nejp)Ts9PU@v@>Zd**h0f@!&g!l1>fr6@gh2!Z zfa!zb0i81#8-OT|W9f)dBAKq_n-02WhU&#`?8lDm$*%0n4(O`>>dy}C(XQyRp6lnG z8k~br<6Y~FL#%NF?6YgRqr~jvPVVJy?&pr~e&g)Y&hG8*?t#MPgrSdDRk364I2G&b z+dfd5&gSBt?*9((0Wa_aZ|Cd&?gx+l@UBknf-&pcP6C{r>$}c4_@3{q#P3$_?*y;$ z8_)3_f9wXI@F6eqhQ9E+f#=_HaLYk3IKuS@()7?s%W~ zdjBDOpY{>^_lB#zg3q*Ouj9$QMT!5ni_iGpOZagQ`A#JHqI0`-()o2l`IS$?myh`o zR&P|h`Jpqsb+Y=PU%XT*`UU<>`g?Es3XS@9@w_b+y~Pv7cIp?szZcay^PT>*5h47s zUrdhw__ZI|w?Dr0TfXnRAnAKnccUf|48L~KzFHsxN7}`i)u|34z!*$X!w&l@as0?1 zOv?XYnJ+{Py}%06z*UYQ5S;xI92fTAcs+Pq;Xi(!3lRSV{tH*I;6Q`~4K8F@@EnhB z4JA&bSkdA|j2Sg<UN01>!jwJc&(&bB-F=fuAS(By-oH=#k9HGOhaog!sfl{LTR)vI|ut&L9mxTZjs&@Uh`NE#3&nMjUl?&B6)`63w70;uz>cg|xa) zpepDP=o}wD{yB#dhk^*PNQ0hOAvNr}^zutE!xVGOi?l=UOf=JkNxYrN!%0mz)l`om z_GnBhKG5ddu)fU<0?{BSNCdE|&S(&gODRbFvmhq~g%8RTg{*<09|+|z&kzfGN(&hl zs=|(ZYT&XyAkf&*ph^eB00dS)hyj&wq&Sr-SqF8^2|559O{*ve3N^`dO#BDRQU=oE z)B^Q@G&BXtboN>2GY0VbBdrBgb$>`f&^ACP?q0)7pC@Qm}8cCW`?W<_hy`1+BTAaqkpb zQ*!}^k3-D#y|-dNEoJnML(Q_3>7$mFbRjGbTu8ov}Dh|pb+e8#UjBE)KnGWam zv=>sb6CSbBv3RI_bncuWoHm%kBk{ny8z$u#Xq|4fsG~{}S+{UY#KRYVeDW(&Typ;O z(Q|w}$kS(>@}n!S9P@ClI3WiU!cdpxr9n^P{;`N)dk$&LSPs;`q3y+ho$=Sd?zJg5 zH0CkHImcv9P#G%Np-P0xM+3Je0>tE?FM?VP4w^z5)0nU|{6bzqpm2g4R7HU$(9QG) zVuccnC07-+ff{b$13^{61o-0v%gT2|BqkAN=W|~Zx3j*UIq_%kQ{qO@Hl`~=D@p91jKBK0U%(^aVGMc z%#3F}?dg$nrjv2#)Mrezxsq$b^PYB`CoKnhP=uPVpM2!!LSOPvlmt|u2^C{OWl2$t zVlU=0r29M2jNiq$?fhMnC#3kG`}f++-=?QaX^D=2V<6mFcx& z+Eba(RHre!=@*B3R9Ny9sA~G@QePreq)w}-bc||MFR4_go~fx>{$&YNt@^B~epRfC z#41nC;$Q8sn56C z5eiOQBwg+LSU2J|uiA246lXGm!unOShfSwfn}C`648e9t^i0goAzJG=7P70YqGTsK z6tt3HB^c1`S}D-hYKkigh#`Us5Tmt!MdyEr>B|7G6C)0RFod?T4i_|G5a)hLwXCIX z`CR+jplo#nhD|{UMv#EbhJd5+W6wk!2AzA=k95~b)!4qoG~Zoky49sG;;xI`pP+S^ z1jy`P1M60!kZUPT5g5DDwJ)xC1uSzJZPU=AmI}7zEpeItOI_}w9NhQ?FoKC)L*yX@ zZ_VI6rJ`YBmGi5%00Er9MK^Q~`@ zX?9=yqOr1Sbjg0%3RLov%RTdxUHk~9B>d>7LFe!fL(&_L0Tt*#30lyW9~7YpdGA6D zL9Tmw)4YPX7tODoaCA8 zwFDs$uT!I(l-Ly5Xa|1CdkT{&)j7COQ7cHIK5dXjMcCL{i&!6j+4UYggM*3;NL_v=A1WI*y7 z*$3?PxqPuqUmXnIxXgVo1XfNSK?nh>VBl+bZ+b&RDsOoet!!{ITi?=pw6oW=ouK0 zP!~FkBSp=wgPof<7-zAeTjC^-lon!uaz|DBIZJ#*R$BFfpzWqeb z@rBf=h_RwqX)H(Id*qiS^|?pM?w9KNW&2|YjuAnFGm`e?XMZEhXTI~HtbOQUAN=E| z2={aE{hmUf{Km&A``f>M_*=yMsz<*mN$>&ugW#$04~h8szyA4ayZVcq3@E0VH~`Ix z01{Zh1xyL`i$DMSzwryenj1jIQ7Z$C2?MAt4s4|dgue)sK<%SIf3v^~WG9(0019A0 z7F<9Cn1B-a!1W735llW3bT$(_{=p1%2?JOGfrCLABtIIg!QQ(;NXtRSDJ+qKi5~pH z7$m}t7(ysKJtIsqB>Wi!+`)G8L6>;JC!E52JHBwpH!uW1=3}axE2Un_!kK8oE(F3d zB)<1cHZhFD5j?{*xk8*_!#3o?mhi$L96u?v!+onl{L;glDZrX=!#{*WLY#;}e8gol z#MfFM_6fM9QbGLNL{2mSN35l|@{->h95RW-ir@lIlf>TV~8jaGH018Ciyy% zXtR-s#*g?cjqpZclo?|F%qn9%Mm0>vh1jhe=&j!}uU#aGy(_LRX)|?X#~kRmiQqw~&dgRse%FcYgVyHGJA;R_98h?cY*ejtIw(4e&tj>z!IvFI^r z1fBE>6fJOrA6UEyqYTLq4nJ6fxF|8>K#sgn3Lh8?Ie;-9ON~;2$_o>Ss1OLlKn%PX z2n8~MJxBxUK?wd0Nr*r}h@kc;rIuiB(OX9 zhqIKR(Zqrw@U1x@&C}e98$huqv7on{BizhQ-P}#y>`mYNP2dbp;T%rlEY2^;N#smU zKagY#+&-ajm{bZ7b^pIgW zGl7s0)O^ibpDSPJxwjB9fA0;Pnghwh)nx9O%mOVe~{5(5zyjHQYBqdCT&tDeNy5)PUoCb zDy>p0T~3SS$)B@|ObbdY;}cI?l%!Ki&a*gE6VqLL6phP|RzsEHiyu?V3^oWAmkG9$ zTZoaA8iVi$QOOZW8I^(&8}6KeslYXckQh6K3Jv`SgZUGIXp|qtQ3}P-8?Boi%^P1~ zgDq+T3ZNGZaFT=&4d6gg$OKhJr2&Mf0#X$SI$co;g-z6yfmBt|z`W66A<_-igH{y? zeV73#{Z(KMR$(1hD3#JHJyv8*)+)`?=-kqB@wm<76D}D!r315gnHPHTw!m|gsu4Gq z{xQ7uzz@wqu? zi{mwO)tBuY%0ImnIyH!1eHVWC8(+g$ie(pmwbfb$*h=k{OI^$e?NJc*Oo%ACl0}FU zh1Ij&q7yw7jqO)XnN@#wm{GwU@p~0M? zGYF%*HkVY&(J7tN$vbY9I`gEue8dkMNey*?mHs@3KLE;JGYEb#u8VWC&;8HORf2a5 z9qr+sFMZWU-B-H}QLUX+Pw3YoIg%~$l{WAqgcXSOd>z1yfqzJc#q1!pJynE2URM2G zBL!Wcgj*dYQDO0iMGaZ7eaz@(-M{@_@D1OUC0z0?-(`i)nRV8hg;qkTyZqUooW(YS z@J9jSjlVk}#~Zxk06d1tT++=U99X=r!~wFfGINcBq$E?18{i9SORoq6eU*$J`k{N> z6WNX6tmRnT?N{J94&NYHgWXhw9E-R32gs8=RP~1x`ikWx*?&-B5n}$~wIqw>jm*?^ z49IwrCCGur)82u2Owoj3@f~6!E@I&fT=Pw0B}PPZvPJTNJ?l`~=m6I!RLSDh46r3$ zBc7vHuV*%E>`~ ztwK&dfz)Kv4?>Mc{2Bv}q3H zVeTbGw28iI00*c52l%V*GO2Kc=5R);ah54&#uf~$iN4ywfm=dnwmo^C=b@_Sm%3+s zM!}fCEI&*M5kP>1`{&aOXo1ctg8nFjK4>ju35Q+@4@jl$szqA`sq)EB|65AQIsl?CTb(Q>4nPaG+AnxKmfq10I?oxb|wIjwk2Hb5?!PgiN%K5XhrY<*g6KEgIo>|@d; zNlP(FluWJA7VXs{?Q}BjJ?hB;6J5;VG#)6*1w%?bU5K<8V5jU$6pKp5&UxWBft ztlUZm9uBKmim)6U!9HEHL`$`tjLgjLw~Wibn9JnQ6gs%e63ELP!vV2$Zn}W(ypWH> zkV@&spTs0Z-M%N@HYeX+Bk6n(>a<`iyUs1^veUIzG5gMD5l=k(o$^FAnAFChS*PeA_MbWj&wHh|1lsCPKI3=4o71X3yNX}!3 zJQeYR;M45UoTnYiGY2z5Eeu1Qn0xhdEm+h>4UtE+UD$+HPyLH!c}B4>C7{>{NOw*IkkHFHc8xWmk6v4SAK<)TvhxP?^}x zSFEkwNIi0*`4}VWa{z~Hy(;In8}!SmvYW-bMsIMQ_1XNTa-roo|BV%+eR51s+E!QK zcjfY^Nb{%-ovHmbt3B0I58k<3^)>$Gb5}p8KkubLmm*r9yT#p{&WSkrRl3M6kjc&U zqnSEat2#;F+=A#_6c1hYFxS$Rh%Z~<)Mb$rVcmCmT?eV)OEGn$$>3^Vck=|FY;P%8 z$4Oa7$8cphFRh>Zd0$+o)^MQTzPn$_O`!cPyhz7%egI$rp5d~n_e)P#d>=lC5lx5; z;s{=g2?nB4zuJOF^&3_7_&LlX^6`a#rft`yZg(PxCLAcP4k?BXD%OZd#P**D@`k6Z zok``qD*CG0;|=$S5S(f|e)?CBdf0k+H3q*+MvhE|5ih~!E3`f&<+QyTgv zvU;^^Yq)nNxfdn6cOSc#IsUxQdt};sO6vRc`TLj)e8IOR!iOZoM<2xBH^pE4qyqb} zpL%O1WSLHTI^=xHuc^j=q{o+>$k(^Y|9npheLx!h$SHkhJAKs0B-Ljqu?H%(;=r|f z=*^$QF{J6(N2u8!rP`M%B47X&Xu$={fWvbAWrO|SCo9Vr3f4#GjBc`b8Z5F_fel#x z-8ZV0e11QV{_Gn5NAhWz*naOS0E43d^#8(|bbjzBq~Kqp>9+~DrabpPt1Sl}v00E&$fnUO*OsR4u z%a$%*!i*_%W=nsV{%GRNsdHz{e?EWyTL}~>&!R?;B2B7vDbuD-pF&0Yg(KCfRfgaaPQ*Ht9LKozEG!v4J>%@#;p~* zN+hfp;en4KN1lb87H1PV;k3*NcW%fYzfAM7fs5Jm%er*sl1{C9HS5-{R{~xvd-h<% z6cL-CExR$u$0U9O|D8dy$|yN<5K(bFkIT_dlbkq?V?>?1SnjCQBI0J^S|VXU5hoe||>W6LHfQ%-i7x0{;I4NE}O4U|9x&09Yx zh|+=b2+`U8Q3v{UV0tLkW!HNjf*7KRd&QTZi6;_dpG6o!L_!EC8k9kA4Vk6TWGWGu z5*2g=;YK$(I+tKLIZBw>IXql}0}dyEvIP#^S*VhbDoKHdW>1`e!wjLI1OysSmcR!; zPm*9IN>!jR9dj#zwi1T<)ZidLB;-JX9pOk(pk_UkGH0E4UY1!n{ESfN8x9`HMG4&j zs)ZXrVXnJB)=Ok z7M7t~pgcTas^LH9m^>HC-me zLF*p`ASB@5v{)-N!Ut!gjW!4-wd5@o4+ANvkmeeRb4oyTk`fe7-#u?Q`OpBkz<9Qd zcS=t1P2f2`e3BBJD?#WmOM6Sfw>)fg14U=&{P0QTDP7*pXdU-`ju4HbB)Ap`3;ymd z58YG&HRq)q8E(@ar)28sa|!;oPZ!UH*~Kcwp3>}6RF_f}a8TX6^UpVBHQCc=rQ+5K zMN0q#DGW41*p5+8)r~sp>GrsCm#gQwulKDt-(C7$Z$2D=P(KJCSUKhGC@Idq>x1XR zUXoi$#F{_>`+*<^-Qb5C2Gu|VB2a;&*&D?4aHPRqP&|M$-s`AvK>MlS6Bl$J?l`ow z*UjaE1o|Bfe)6}#(V$x&tX~Mv5rq+)U`<#c!3pRvIOqW}h(d%-_=<=XtvL%J9@*YO zyhnft7*QkR<6rrzh`YI|k7oW0hyExiua%&zbt~y&;_k3G)cvgnD#5~<{<8D1)Wzv@ zE8*NHG)Fj=j80En^n~fqsJe%3@PEad;}$8Xvp({U20yyP@8T4^If(I0P-}@4=#U-e z4Kb6Nbe{C0=*fjJiv%U`ib4OjSr=s+=$32d4k1DVKRX0pSb&v7yQ z-@8EJE^6lTcK$$EI84>Ep!{rwLSy94ik7efo#PMc=z%#kL(Nz)a}MbcSO7O^(1Q}I zldW86ib6Sphc3jF2QdH>SIJO@ywZHKL?2475FHbQp>BgC<4U0ZbDR>0AbFaBf(g2_ zCX!O|Oek=vN(zd{?Hp$W-$@BS7KH;Ego|ej>uIEbiaSC@ic_b`!3Y`!$Z>YcLAo-* zlFXS-3jQhwMl}@=6vb3k(Q{|7I)SWQm8BANW~x;UM;3evRDTp|tq7efU5|CqyB>sD z6not=%neqllaPFbg6GkN`po z5LkoE$OIF}jX*k}0_8FnA-!?#ahD6-f|y`zC0Oo2Oc4Iq><)yx-t8`8p?h8OMi(UK z?JaxT>)uwr7PbkoC~d_y5Q)Awzxvh9Z&#!uh-g3n9Rh%E3zA&!HkT|NIBp3>fLwu` zSGJHf62ohrGmm}j3&wAc7pX<|RhG+nM z1Id7(`)ugm+Bvv~UNoZ{y<-^1xRin>G%Fo#>HdW#8pxO4G^acLNk~6ri53t`r9Exx zt7Y0gr(QLyTdf;VKg0w6VL%03ZR`A`+BUb|HLrW!5LiP*1il_NVRCI4Vk0}*t_HTU zo6X;?+&PKPo;J1l%7;L9Ob zxPh@Nb_swz;}mc*n8$Wz@Rs1f;eE1}rHq1*AKAp>J-co%{N$}CJ@B$w`hK525X0a1 z<0aUD&q=U0fkYi5RA;x<6BBBj7ewa|4zY(vT;Ma0%>-mO?}WK-kS(J(?&Rfih)Y0Z zf*|<1Bo^~_CyZjj<9;!O*DvB1FY|&Rpwt3MfX^cjd8r#@^6RdA(cz4Ff@r?%As+H` zsr+%NTetK|HpuH!#9g_=eUuk4!3kIZa^{jg#vsu?>T~b@BeLAZz3+VqFaUySWxxWx z@xZa||br63AQga>?`K*V15 zc^{K?7vQ~L5pu-tmC&pn~>VL%FO;h>Sl7EYoC6om4P0Adlrw16QPS|KHtfF>dzqp_hw z1lWKno(3Dpo^p`|l@X#L zDx*RmqI)Ug1jrWlB%maMgz@oTzWEgacF(k6B0(tMC@vnp=^JEpVS$yL+a@r{> z2G6--*gcuzW!#aG9F$=hcU?fneV5m%o0O3p>>=6YJ=p{(+$PeU4^BY!d0EEwU3Agl zGD5VSWk8f~x9*3TVHkQy5s~halmQioZUm&IyGt6C85p`lTBN(BK^#h2zyL%0Hjlg|gbk4C6^?g@x=OYlDbofHR;ncf?r`%;}GGk(-68nn1J{VnSG@ za?F9xm_9!Te9mR%OhIZ$T3;(;Dvo$>qLWs%Y|zhkv8d|77Wt7iAOQhvH{vQPXg`8L zG_bq7Ft}?eI1|%swCG0?0FYK1@NEu4q)@Zb`clohH~}MrW20kXtw(Ot{?yuhI-{Fu z#Ul2LxzI`(*NUaGO@sJ~mA9dlp^XjmBWs7ELQPpH(#9@w#V*mtK4Zl`&&Hu_#i7o| zv313<%f@MN#p%6`^Yn`If{n|@ip#!@YnhGhIc)*{svEhjJMF4Fv#kgBs)vy6V~N$r z(zc$;tDXcLZpXA<7Pj6FtKJ^AKK`pdLAJh;tBwX7)iJAndA9y#tNwMi0j;Y(DXUel zSD(DMeLB7RbiwwSknNM%jA!Sofj~PX!5Z>HizASo9mQ-H#Jv_IWcQ4AtxnVqt-OZT zvJ2T+4X(=waaarWunW`T47Diqdy7V<%SSp?mInjNz=k1Lb9@B3gt04ikq_N!nf)heLw^l?SvEWpun5j#SQ3B zLE`)bgTs-gesX;o0J3DBCN2lL65jqDGaN7gP_PaaK!RXMurKLo2C`osWA>U?PoI0t zuxE^#Pma^M-{xYgKV@rx88Il08MJU7>TnuPER(eY$nQRC&8zg61h>^~%8i(I(i$Ek z0Oq1diK=aVPH^t^O#^5Kbm>M6AAQyZ?JFV&e1WYddItrJ6Yc^Z5Ksvnn|L3K!TAXq zk>4?8$Goq4Z%U6Wc%L#+Q~{7hrqcrQVv$@C$Sz|HzN##TMbAjajV=c{WK0z_*~Ntu zQ5k{2;Y~GvN{rv%Z#uiP>_57e$4?;Z68yF5dk|pLe|?4e)}A;2euk5UQziZw|9ZyG zUJ7QzKLl4B3@O+?&E}A;scaMa_@$AY?2yNNife$NXUBmw@tkMIn>0sSHgLD>#q=a} z%_{MtOtCJstR~iBs0uljLDMUpkoU~dWoAcKMBuYDQjZ1$eo}=k*EB)OTi)}^QFb=4 z%V*F+@S`_$IV&I>0^rOYeY+6Fv`w&{Z1e41z>SG1WjCVk8qg!RBP}P$qaH}yrb$GN zZ1}A+TEQn7uCD#zU%L2yF=0A%5R@Oj>pekGN}4?LMe6TzN%c=t^g77&%;2>{xnB^U zXSnvVRnN!D2HJf~Da*jo05o`mvENrMkgw@_R|}+Y=<^1T91G?uV{lIdj#qX8k88}E ztMrK6w}J%ZIJcfU)l~dKue%87QDTNJ+=*Bm6o_z9*Z1iyW#4(rG9CyFk_)kB>R-St z!KYfXWDI*ejvN`Kx1`~PE~>Mvg9=ZN${W($Wz0&CMaBc`Zz*YKnX64jANA?dmz(HR zcyT$cWFYFwYPc9YEZiz`y?2{w`7O9G1G>9}`5vN~H%6u_%9bl~sXb~4_)4|PnVOu& z${g_YUU5H`V=J#=55VnCL5SVi^cWF<4GDuY`FJTrya(%s`Ita+Jo5BCq85xeZ#fqY zazMx)*-_}Fu^F2L;;SwIYgLLKhvK3Ul&(3LtlyD|^EOi4LTkT%><4XTA_r zoa2$ht$J;dYC_ft03d)Lr~!!0JC9^>5cb`=be|)4oLL+2eG#}c6Ai}~R41Gp5F+IL z;>X-RPHBnT12*MH6^RGljs!nnvAVboY3&OzS1f3mJ-qKFI+P-Z{Lb+$?2(Mu!v|jM zk3@CD4w^kg^}=^ss1MC#R;4IdeuUL0l+YT zvDG?OMp2!ksk3SRvJ;w(RE-g1p|dORttLyFz#;BA<+ z?Q_}aOe*$D@|tHc#!rUN_yIWJeyV%^iSsQn(>o`1!+g z^;QUHkxMN^v@b^s%-;65j9yEzx#JroW6hUuC4cw$(l3TO2^TWuDhFkv;0lm?d;JB01^k=1JesXDfl$#e`*qV9F zDkLFnJ^Cfal~?>zQB^!gXxz8vgWG9|4_jIc{9HU+QbFRIE@x>`$OO=7`VEmd9V--e zaT_(5-DMtvS*X`|A(PaM4r5Z5UJfyZ%c7B!ZV&2fJgFDUQWvj^Nvs*ZnJPJR> zUv_*hJ9a4GMwSznQ!8vx29p>5IIq6Nl@YS6e_K{Lu(71?teCXt5yTpu)VlY=AD`~W z!)MJh@koUyvQsslI%eyWJ#-Mey=$&LYGs(08=eKAfY$OmQQn5isQ~%=o^?qQ@Cj4H zszR50+@D&kOBH^!oxFq|o+VFgVms830+<$-o?DB~M->6xckYI%+h9yfn@vML8`UOY zKQRZ|?SA~EPuR{p7SqA}v(WF!K;};*Gdl!ocHL!VpzY_-%d%t_+TjmRMyiX4A7_kg z{(Q$G_%48b6!dgV#TEeoFr9&MAb?8%FEfA#;01gI06;GQm-uvwH94KZPzrXUzM5Q_ z&<{1Dl>K9$-slpiY7#Xick<@%EGSW-3m7<&)eW;?peZ3|8ft@jBkuN=M(Hk40Rn{`Lt+!VD}uDhf) zWT7E3>P)mP&3mEJRQ0vZ_h94eqp=E=x@RE56_w_i`R;HEo*iyD_uSj~=lt2KEp^L7 zX~K@P!!55?M{{JN=+#>5*FTgzEH@cxZP=Wwu^h@)Yir#8()@UHcBHN8`!`H5A%l8* z^WI{A5|8P-_LhUyv4GpzH(LA;H>X~WX2mx8TW!yEUxck*O#Lw1Tl*l!aev}&z|rm^ zULeE7FTbp43a|Bu=tg@UnwO3#8?v%3U#+TXJY4IZT@BNh$qH4Rp`=&Cx&harcsGX@rJFavB@J^n^4o~=E_C68#n5v8 z5WUw0l`SF=!ui%ib=|JlQ`x24EuZPvDr=4)SyP^U@mdjVP>zb-E+Vn5-ENoy?_Lk3 zp3`10jcvu=TRNYuy*|b;-u-^oRHwQDpHG|`+;}gy_J;)ecn^j}CY=sO;Hwp{y3M|B zKE`*#^(N|iGGl%?uERyOH6@UYT! z`4GAAeqEN2@?F5W<)Xc~dyd<(^c`aCx4LbiUcDmi&i`RCMV92eBe}S|+Nvlx>U`yX z+l{H!>Nm7)TTAaAwY4@;6iPH@H}UHOUjN{cs4oZIZQo7-d)-y5Xxq7VFrqTlxb^DyxsdL8)w3aH z2DSYrLNkA?7y zYMN3~1ke#`o(sPUnj15AM{KoczU^Nyk%jUGIXmK8%II2@2y1F2()r06Nd)x-x{b5R zdRUG{hAXv+T1B9oK2exzDRR=+fg?l+zc-#JqGY=X@3Qvu@+NjB{**}yOos|^1SObG zlo;n)eR%~KNFmOy3&K^kF3`nKf(?!^iITqJVHAuzIm$J|uOypa$we5b0 z_f(>#j|?{u6@D-<3<=a?Q`D*6h_7%s(lx?OSY9HSkhHHaB{)kr7?=1IG~-yQv&5kE z?Ywo)-R+rYWqHbu|7h&SQN>ehZZj&Sslj7Aqtu667I+3~?d(goxQs{wTF3Z-!S|6V zPs`2Mi`%Lkyp^M4F1Bm~y#f92ChDhUogErlr-vJl%d3yZx$gzU>rGIXSw3ZRVW=DV zT1Jhelrymij>?~ktO572xoE4@7=?*UwuFSZh>#H)ZA{xW7mVeX4)a#(qD`SD#o6SI)&LmF)I$pba9{k9g&zS3k#nzxXRObm)PC--s zHKAg|1bNH3PK+eA;R>n?fL?f?qPj<-5+IiS&e?z(eO)ry!zC7;vqAk7!KB>bWv+l0A+{Qil)kJ* zzQ<<+rs~2M7I~aDLT%}9Z6qHje^RyWs5u+)4Skh0ZnP@7xctuV-Q%p~tySqs+%eR% zgPc*PHTfjm@d);Vytb`1mRqsm%M~qrS#ZddI?zi(v@qweNTGh>5;E$=;o8eVq&Wjc-KRzFCZPuk% zuA1DqF+DZwVyc4JW_$Ew`t!TvdrF8P7nU>7HM;Ykc=)J3}y67IvR0x zs%KuF^FAw|q&^7e@mo-+YVK=^0YK=CHndXR@q?<|p54l)nks2{k0N$M^<}PTHnsHM z&_KmnzFve+wT`{4+qG`*nzZByu>87x$SPy}R_mKTNIU+hX;gp57_V=#JNvNRr?qs6 z9zJ(R9a#40=|<8Cyj=|eB+@n`&j~~`Fbd);`p%Q)__WXdnD(J-`!e_>_57i5+*usq zlcfjGa9OoF_EX9)Ce&Uumc8O%EH3(S(n!+LVt;FqOl0n~-=|?e^}!Q9nfvF3*%$kn z7f+vV-Isjb^}X@c>+kmMp)aQwIWA8MU;nyMZ2If@#Iql^KcAh78D1RpN&VV3wfi|5 zc=^-Tt}7+*aPle6l9HAQO)udd^3`tkvubovV}8@Y#b+QcNzbgXw!+v?1sZ| zG;^O`R<{_0F?3%hl*lGjRW2l8*;GXz2!Y`kK*JQ)^tGG4;;ki}6mbIj!?f7LE(VUm zkR_o{g~LPa!m)z`YHJ~q6o&a;4`Sh=@l&#izG3&%j6;$mT$>|0drgzV^>X^rTQ&f6 zNkqYvRFQ9F!ShI|@UTjFWHn95i;_rSr->GooG%n7E-mVeD#|B3RO>koFf^*CB+AG) zG&wD}dn&r{H2QH#xC}hz27)8N&Tn2i#H zB^vZf_^n-`kmh2VWwFlrkZlSVuhm)g=PDGMx-nJW?B9f$670-ilkR4|eEdg7&7;(Yi;;s**FRsrDc z@kD0)q+!ma(!&JCh@{&}FbO~Xy9Roa`H3Pp$*khZ6*|c)qKWW?B#!lD8rFaiDGsZYhN0!soPPE^AXI zEWD;cbJL+r=`Tvt0u2B`XXFKbup+;Vhu-O|;u-M<8Cm$5G7tdXcp`8-145SC{Moks zj1(7uL+zH;ACZOYmf4wZ(`~N{hP`+%{(@>Ot3Nb-f-4KblK#T;cGk?g$JE)26zc4S z&oAHx*;Vq{Yc1JZ*O@myX9ttRezOA06)Ug<3;`ZM_5Y0(xbM>NQI%@KSd_CAYx8=e zXoMYR`fKz1;uvKj>6GdU29h`*mKhDy6%M5mVp*X@;5nP>e_@4u#UyUy!TQn<#Txm_ zFO(a~K9#4*kIxK>vX`moV_89^vEuV9yANf?L$@m@s@xVYy1gkr(BHXYg`uYEZ*Pzw zLVDG|tY9+ST)Ws8&!Y016$ZUFb`ysD9J#Z647~m;E9k}?Y&%sIxJ{Ei{ZFjW5XV4Q z_~?oi@>O1{zi!=KdY^7tXZgDAj#z< zQZKVQE`GBDvU6`WD-g_HG8aU2J1rhH$h0GL*>Da6%8^f3Rwabk+T{A+t%Y3uC zj?<0XV#+qkK3eN{m0#4n<=(8QpWxoan_ns`uku8Bf3C(rc(!VKs2#Uz``OF4>Yi9P z8b~!_H=WkAA!{}p=AZO#G|ouaGB(VGKH_VfEPB7)vIgvX*}SFf$k)I+_SExw-w(D9pKdvN6$2YCGp&^uDNs!eC+zkg=HCvuNA&@3R4KT7A9+j&j2)AhH@h^T{$?0t>b5?@sF> z8UlXHIV^t73+YKF032>ir1(-cDgF7T)P`E?Mh*R(&qDc|>9f_ElkCOi!c?<>ndZ@| zfK7uRRd-`CNs{e*5q;C*tRMAU?;Q=N(CDOpL^umB8VD|}G^#KfuohP!p zI>Z$@kjckVzt~)Z8Lb}R3Db0ud)uNZL~;p=gS&oJ?uPKTGvb>ob}!WL28#~odRV1N z-#i}^gWdI<#|nf@=)3rE#k*>MiwTrh3Bna%1;7E2ViN=@pc|jkZe*0%Z9Y_qmgY|q z!Mpk!YCtrA13-iQo8G?#2dQ8Xg3hSFW*&nBrj*EnyCa&zDTVp#eKqsm#$Cd_Mf8E7 z{+M~KSXM(W0w)Z?0`oNW zztY8Q<$(a!_ry(W{PXS7*Lew6Pb~1HM#bRk z42i7k<4bZu*tyl2srS~M*uB#7750xA-(^YMp}o7lTl_W$&yT><`#q;d0Rd?%aQ%?$ zBhGxC!-&K>Dx*v{n49giA7?6GFJ*GU9x2C7wSTvoyv6-aUef zNlw$qz)KxyKHPOMkC`;kh!eK^Mh?x=m;9urD=&~(I`lbj1P=68-nfVSKcARB_IJSm z6xiRD4(JZ~apDS~34&5wP{6U9bAt)UNGRcR-@3!Wc>EQ1WO>ptxS}RM!`+aGAQrY1 zBhL4WUC((nt2CA3S-Jz?(U%NBla>*B5|>i61QC|ctmPKuj+kHWw`tgm%7Bu*tMxyHO=g6J_$$P^7tL>y4Z}OSV%Rrx7SxvRlc*tdp=4 z`R}J-g#B+>e!pKASO2ZTRY40+N4us5VlIUO-Bjj50$| zX84M$N}?$veY+wcOgR0flFKmncvqSpI|PwZt|@38M%@LYJV0>vyt^d7qy52*Tx!ym z>bu%V>Rb%LGc`$hPK^dx3JxRnZvhG4Zu&Et0f(6dr_@T6@4M4@L#gHa1^)Sfov|TP`Wv!Kd`g%9R*3b;g>0rK-BqXSboDvX%Lq@uZ6#uiAZLVl_| zm)0*V%;D1f*bp4s&Za%txIxAEkk$Cc;_y77S{8=Jd(JEDTdf_3Y;9;>25h!lEaBk6P*&h- z=oVS^Sd?-Ym3Oh;_H51Ly*qG?&(e3CQelsQEn$pL@#lAu*YFJ8PXu)ZKx6Bq`xHNuNNIp~8cR|H*0b0Z^5|^C_rST_ei2f^O>HzLz57z|%^z+8w z`s-Ef=cQ02SDH$Yspl&8yuR*OO+|bsh)&5Pr$3QXEL(LTabYk;K;~^0*B;wQCfIqQ zz4Y+>QX#k(%?Nt z57bvdl)RH%>$izFuFr_$KiLhIk#dBY0coPb-ShFw?5Ie{-37eW zVNjh~XagdF20;7!8UHz76xTu6^QAbJAQcLulE^xBRlp^5 zWL7RXtq!6Qp%!7!T2q|+eZI)K;tRTQ=DUc^KEG#EO(!vE<-PtG6GCb~mJ`wZxCkNY zC<%8nlV0n}W5=Tp{%BSj5yKioYd!WDdzygVAvb?KC`Z&>j?G42f0(NY1Ttia4y05f zY&9>Ht_~4RtHot6SP7en@yqs_?PrtkJ8kh%*>$s$&}(4P89B#kw`-gY$n z*0&O*-n?~Z*gd@4?iTaQY1$OizrvUo*K6iKqTRkuL@5tdTk4Lfwi84Wl9+5aw&&mO z=61JO@ST&(ZMXr_y*J{mi1?_m_c@5ltXLM_;&q7Ac zICS0kAJ5`eN3!9<=QAx7t0OSxcHe|_H@gRU2vnH?OBX8mMwHd`%;4kP@f=XBl!Mt3 zL@yKehQNx^4a2WQJa)WQrm=m$(dUax$VLMP4vKW5@rBB@T;bRAtoTpZ+=k~`2p*DS zP_D?Cjyr^pXbuK@07DX^`$Wn#xgprq9(S9w&T0{KEc-;*M4pII3SqirdHn%D8zsgK z|MEqz;ew+hk`jjGi}=WmM-Fjdl=|#eACV@X731e z3*BwdCWy5EAqrMS8nC`?$Jg0r5+PC~)i(n^0sZrxv<3tK*ny(IL)iTvp3YTH$?XpN zpK#j$+0*%FPPu&)riA4*Y)(|ys$*N;NsnPY~M%}8N%PRxvZH6*`PO{0EPMUDSj|^qf`-^8 zYNj#qdq~@_j=sg@#hY8lOqi(GPpm=i#}th?s#?YN=H)idIrI8NWDP zuc*Z)bDy&mmk#(jr6i0@BE0~iJ%w7ymTC8~P63*mQ@{Lbw-;)d44xh^;LLfO9rp7H zEeW}xwtUF*i!Aff!Xh&v!==h*{`D^}T5p#+dWdshpD&4`_WX)C8;f_c)f$6sMo+>ZdYxTEN3?S&UM0o**ic^L-o`I$?w%E!Ma^vF+93sc7dZ@3 zccG7NI2&SGww^b$Y2IwWoA&ySfTl3_TC~WkE+t@hmKLKoq$3{rR&z;=)fzV@kmAh- z?V`N<{O@kR757dVP4%YsEU4-$%5s5AhK}(O?f6I6whQB_Neyu82gH(XSV&1XT>}g| z))6g2_U*GY1?!vSUQ+ZzIrO>rCjE4_GJEMR{ZkCGp3c-(ekWh*xe2<_c0BdbkVivu z>ixRtMa^-fniY_htc2uk7gtvjRt~BAQ@_%hlL&h3zx0>i zZT^bwpApWF3a=bo;M)3XR{BePrcY?> zN%3Ty&cxY)of_u`sg#K~?0kM$61(## z5#S^K>4hz^gnsw@t|pMKAOy|+WHKSgTZ*{B+y+h<6q?Nv_sp7`WYsr__@f($A&~^dN3$PXzkVy@x2J4&aT;5V0QwNC{lkokNT!Z>@DpTI=y=4)JDa( zLMh`6GGp=3GRs7PjJ+7Q=zO|W#XgDYy;$GjeEO6AKFRaFI3!U4Bc76C%+E!J5LGK? z(t&QP0<{XjjtmJCzR$j- zLDEhz0`cH;kf@q9dA-5+DXqzwV0$7KvSd*F^sDSXq%26)KREULuoywi&D(HBI{D-< zUd$Sx<--&KfgY7=#FS}sMDRA#i57%gArZ-upGy6Y%FVp&i*^7?@#F|bQh0%G8|_46 z>rv$eQJCiSb)o`#Epnh=FH_urZu9w3HS*U=DoF%{5C*_|2jF5(5Qp_bj%(v%wr+hp zASH~Rr(&l;T12!?btoUd$|2_C!LvXK&}k9b8}nKUuj`Mu9yio%M-(7FjvQ^#|?PUdh%Mbw-eMpr|39i2AB(}esprvm71O2T5DcF07<@ddG^Z(<$^jb^d@4a*uJo@KeY6i!$ z@VL^EF$b-3UZWKV@x6)dH8763ube!FkaE3&w!2R|UVajsnW(Wu#7Ze!9d?IfdG-ai z*Fc8Dof>k?>BmTUJy0H!{>TmAD(MAZxry=h0|bXFdU$uy|CQAw5JWM!hn9_?e3Exc zt=VAafKpj0!A)H7VL(ZH6IFNj`aqX~FP?Dj;oRwLf~sBEew%%&fJ?*;@kqyc+86#t z`u*B#{+b~eC5zTwAJ43Y%S+Swm2e8aExkvEKmFKpT;!})px5YYic?@eh(CVwkL8sL zLl|Yvg|W!@Gs2i;hG7{jQcHq4;r)Ib8W!_XE8wW>@{AB#SP6%DIA{-^OCRf5`;wCP z7;i2?QIai(!p1r^-I+kbSJx0dr;!UoF#BYL6u4t|_i{+=%j)Qp)XTbq-bz73B&bCU zqaAhodjS)084R-tfe1Qs%sSmhiiSOHDF@BpP>_r#eQg=hy1bj4XXApu?qllW)>)X! zotojRzH?k+7+a<%BVFXzIt92y3nMav)X#0NT}b=7l@eA_J8V|ozj;2L1f69sq+-t4 z;4U^wVaH2@IJdIdxYwQMMHPM>=M5_`TV+U2iOfe2m~4Kk0yVUosYHY=`p4RT4{_sIutNZ}vGgzeJ-%WLI9Byckz ztxSB8vyEQ7n+(3V*^jCoRWUw6$}tHM1ib9xU=+}Y=z2A(e${Khpk{n@pGf~6hCfjN za6IkQ^ecXc1QPC?E(T{P zVDO`8T#lC0stL|kvdVQkX{yr%5Ho41Req}_#r(Rs<{EtR-wHFU&bR6<8)QI9`Y!^u z(kFKUn%nVi{oL)j=K6E5|5~67?mNowMC$_zw|*UB>xaLNrfjQ!9nbiD|8+7KcI)Ew zQ>L5ro?%k;#ram#_lqC9eYY-u9+t;-(e{*+N&otJ@*UglLX-o*Q^d^s&8v4?8sl8+ z$3P@@QLt#UpWbtT-aQw*)ubGVSbryp|86i&4>m1mNL;0bC_pZOUVj&L>uyN$&tp?C zW(K>5R&KU>VV#MtdQetq>*?FJB&YSz^b;`A?!UL9>EJ{_15!c~g*&o{7QrH*rmm;`Qjz-{(|OC={}dNG3!$Ki$encst^1rsX_rDD7HV#>>m}! zPk=lC`ERiNb`>qVB-rm|zw>dZQMP zrQaB7KA`yr-{TF&7p`KnBr^Yy5rhJHD@mMJufD;N&nK`lNI+unv@#_O(ONmIsA_QR z_2%Cp$tkKASa}|S?s+@?IUvmn z_n!h;88Fambiv&kmu3QU@*TI`!B^{Uchq@%_Ao>Cj$)8-qvlW~zCct@^zGcp#hN-& z-n89B0mlCf+`a&#KXCKwp9K>v+>qi*|1qIR*ergVP$=5_SQBdB3|laH=u%%)SEv&C z%w#Yt-HmJ{Q>=4-=4_vJ^d)l`&P@p|^6~tePnnHr6G}fsD8Kw`Lj89I6RZiiP@pJt2_1;>G3@4BGxvEKeT!E`y_G{nY;5srp;@kAS zx5JO8W0#4TR-}uJRO3(KG1is-?u$7j>IzeLXV7!srtorwFdZuIPcifFi<|g6?#&-v zb{St{cW8l5fxI~!D z97F_^{F8X=nar?7lxTl^dc`z+jvhP)sSRg68iLAF+kAfqv_{&smKNVd1eL!26bT6+ ze2j#TKC~NTLSr>T44Ohu{jGMv?1Q+Yi1VjG)M;a^QaCvOerTTnCD<30`S(M+I@W)n zo?N7)X8wLK?oD{qr@)T8Fhr4?fb4~!DFCem}nsmaK+#|rAt$2CP)2dZ%)l6{K=By=1I=gx$D*)Kt5xXPXR#{>9u z!qWKQpip0Y$)Dj#X8bh-1l@sz7aelGtv^o4=EcK?6f7k&$OBPn<88)f_n6p~hdD)G zdv0C=f}THuYu95KP*Go3J|Wx4at;2XwW5LswyW}LJ{gTg>pUi=Tr65M8vdD2W(i#c z`+&IQO{{oH4i^mU@q4ln%p@Q44H2H?v3Kzta1;V@*h`mmKw1ebL2%{)GsE_qH0tr7 z=RUcCo8y?-hnT8S6m8Jz>FxmH?4t(EUbv{GDAuK{Y4JI?I!6Hlv@tdN+=!oR zEk|Co^m;OZbm@)fcafzTDIoI_bL`}=85fj6;AAa5eGgJp?BqgYn;$Leu==vB^f=?L z6xxgn+l5Dt^;M;=6FdqMU+^xWwn5SIgxOvguG}=GtzWP7s9U#*p1x6Tt4>ESao-e#g?r@S^> zJC|WABy|?9Ja$iJN#o_LQ<=v(=n1{`0khRG0JhlH#iKjf$q7^Uaz*{vTWQlP*8Dn^&uT z?6jZk{P>Rfw=UwS{<)%pnGdIOg-b)pe0hKCqHkxUY{@w|xL=zz#SWuyj6XeLXm&p* zq0+AjJ;v&yH;d{$D6z9B!cK)5js9JQbt)K$mRH~nkaidOtejycYZt;aj3FiHd3iyX zi)l)TgNgeB@s;C&lCtK(OqpN6i;ZY;MN%l&oEgI`JNhQFhQw&f461s1o8w6im?39= z9%4pp3o|3TfD+}w!t|vG8qGo|>tBLT^m+)XJDxE3-j;^qM7Z5xnrTM#vW?9< z8^KWwbmrje+U`){)0Zqk@puFod(LdKGk^=SSR5iOuP2+5y_jpKFxKV1tUg51&j~; zI_aVlLVg6Zuq>|hb4q)FuJv2vTs5s zFw@Ot^T65>XBmROo9cK7jm?N>gKJ@M4{NxRQqz1Xz z3IV18h@xQKK599UICoC}_F$SHk_0~`twG|iJ(?#8IPGR6aku;DWi}7TS zTcQ8C%9%xcHF9Nwh!`ZIIW^5YugdbJ&10HZ>V{@X|Bv_-bg~;CM`HDO1uuLYYi0;L zc0~LA_6Y47XT<-SNC502g@H^ltiKxnu}3u(hzGTbzp@7P8s5&diWNvyliF@iP?5?zXOJ zcqK;#qOo#RK=Q8~y>X?_rvM#TWpf2AL;nZ|!Hi~S7i|daQU@0NwyQH7`rAq)dmG0{ zLCZ_C|LwQ(7Cil{yfysD7O#|dkBH{}Hzd|Clci(S;Oxl&;zOTkc$#&}vEnNK_B>HU z_*uI&b-!I27_L2&YIC4PS`gMh_6p_}ZrW~YIot)*HP{D9NQaSL*TqIEs5caHpQL6b z8j}|XmNBG*@y`H~xdf@T``@z-2MSq}RET3uAQ8JU#Bk{W!-GHO7jubp9u4lkllUA> z0YpX32wmpk0EcM%C|T4z-;}8~d!xlhlT`jO1#Bp3m+p-;Nau)YO#Zm9GbE_}oi-W! z;^bxUQSel8)v(F_R(!i2)(dary3s#4R#5$cseEPj0!n7<&tt>_+ci6{E89MoDi5W3 z*Mpy|hZkxyMJ^{d&IH?0$8M%pilXX*`S9L7#0HvXr@2z2_UQAa+uhy7F>Ijy%4tkZ z|GrCi#d0@_dd7bxK7#b{Hr74!6F3lDqA|OU0zR3PwmwNS?eO_Y39ci@)u~NSY(NPt|5@ zSN<;GV-vawyI5pe$2fxj56cctxw@&$&^znxCu_b!M9~JowWV;c0tn{6zX>Y4J`yOg@KZ zj%1QT4{F*G7=i_t2n1;5B-=ORS8Mn)oa>#^h5YlKY(d?eaiHZ@`=)|iE z)kARDk+tD8;{FJQBz=C7VG?45846#Hgz`U?G;6WrQ^x;e>CSg?;~y=N%WvZUlhu~~ zq3~*aDrHFtJ3jTtYV#}}!?r|rIQ?#kyrR(zjk3vVo|b>LMB)Y+4|zLG|Dn-q7GK)5 zHh;H7nilzj2!H(Gj+$ z=HNIEgt2sN{MSCJYY@;6K2V=aBU5ICiL9#Z&iiEd1fX3}aj$UFttip5Jhqd~Z+lPL{4ayl*Q9-`im0~z*t?QsjZ z`p>Yr*t^H4@j=ak(3{?0l)`U@j2fKYL?3$z!6^MJuF*-IjcHg%V+A`KOr2m!HkmAY zv6}<5{4hAquBg-oj+kY)N+71SH+7@(?*pYUOLJLEv95IEK#@VaodJG921`Er%&jYV z(ae)8wywH%U(ufIrMOm+@6HNxGp<}FJz8zMEQ>_0`1F{fvNGp5A!_@?izNE%boX6} z>cL^@He!VlSsTh4ls)MsmaH%KX>DV~R+=~JhRG+&${|VwV)!UmpZJzhqXxa}a9B(P?6L^2`_<1~}(SbVS*~R<#r=o;rsCy^_J{tA9D-Bb>rL**O@3XUSr|xG}IdmVeiXfsM|^%UaG(2Q~x2|?E`L7{ZqPEZ{NPq z_WOr)e|_>W=i@NO_H9g30e`tJXLQ3_uR6UJ$$ zWh6zhL=%UHCMzzfg(9P4-Ma9UcX9M>-0gI>(s}Kb0T2 zNWu5#_jniyw8IDKyanQ!y;0@jq=$B9?6r!ec(i<0KljmD1;AW-3-p5zvaMb?T(!u)iDn z?p@+r7Fn{7{kWvbNtv@m1;VHnw9mzUMyvo3H%<)gb<7Lp_3YA8I1?rT@}+7WeI}<| zQ!!)rDpMZ$25%Ek;NsOub^_Ci9gT(Dup29~24@%q+vpf~i3B1GEX4y?z}UTu)fxgO zx&g=X3Xw-eLffCowE?d&^l{LK#$AU*U*viqN2Tu$KbvNjib%8HPMN)9CFkyY_a@k@ zCib+GppGMSR}hE9nfT(R-jz*Qwp8eRm&OHIm_8KQ#S4P`+($jF4bE~=FQv_kqdMiM9noQ!l|jZ1U(CGFTX6v zc;rH4%NLkBQ;iR4{hEwnL3mDEK`cIFDfa`U5tb@5pU=pH-oNILSE(>yq|tdLQ?r-a znJFs{X99|KU@pL2V+)J+7@$3UwrjOxAJZy;$TjxBB_D73r(et9{ivWA9gO+4@9D#N z4IXOvoM^%O;Ns)rZ+C27mo;P_jns&v z?%B$IKWT;(9UBK6J3=n6k12id^5mG_;5p$XGig5-tsLq}E)x9E@U>n^;;CIm-U&f~ z8nE1xCeIv!QI`pxYOe9UZBvT>G1j9xifd} z%)0CTIDbRd$$8K7?)_|F1wQW)>V=>8Z(I(He>kc}9+Xz@*oA-N`2BEOq7fVtyHM{W zGqMB#=I@Mr?7?d=0>Oa#nR!NakE5AY|Ixo{&1K84-+dx?G5bkK@dsQT5XmUORn4pN z$o3H2ROuJ`#tQ#Yd;bpUU^rv=Y)Hiw?b{d>5OtUOr(-w9+k3#==x*nA=PlKML|mnj z;~x9a-QMeeZJ3OhOoMh059I%1j~_3VDB)LgzW*2={kCw3mE1!z9B&>@U?mE^hLec+ zkwHX=b^It({HW)Jahv?;ul*RTUVtC#Q#$@^ZvGr8{*U!3o_T-1Ykz*q06~!eA)NqW zw*Zlp0I{Y3iTMDj>i`&Kpo~bMoKB#ETcA=(ph{Dq+I*nKb)Y6?&|8rpEuA23w;-LA zAibs_gZZG3*FnaV!KNa?W;($ZZoyV5!8T37cJslXuY(;aL!3lHoOME6+(O(^LOhy6 zyyioEu0!CIq5dMFwjuxqSmwH0%@LlT5?%sfDGUuSy?!*fQ~eJs{{b7haOTAL`))XMPiZ%0THk; zaB5792neGKfcPI1!RC*jA>TmK|Gzrcs$7N?b0)tPyg5W(yFOY0FwVKi!e? z5=}U0!mxs$cKl~5pc_+hIgFi-B}Zn$9lQ$rFc|YxiI^H3P}W=1kj z{``Jd&Lbz5{JY!xdE$@38=>>x9WE}NP)Q6=fBI}MI4*hi$gAHaj6@u&l`8yE)JR>YPoAsQmAV=ifQC$YQ z!klY9;WtV)jypV}aGau2;<{Z}w_x63(r_GmpubyOxWB)MHsd-D{_Kzmj+0JkFHPgm z{zqgSxz19&7Hn(TaO-ZZS=TC49Fyk475dq_K^ixe{PR6bmJ?m2-_x0|ONY|zIN&$zbuxLmM2ih@phR=lYEra&Se8e6J)0|r{0XU+ z^AP6Gf>N0o5~1&Odv&8mR!X>+-}{`+KAfNjT2%ZPi`}zi&egGT%1>|gN-&o$_m z{i;PUg`3ZeuTE{l78Bp{-bs~}%iDb`p{Og_gS=_G+V88Rf2de`Q#<_!{F~FpXsh_? zB_JuQs-00>nka7dPcmWplWoxsQYEa{$w@zuR^O~X8QK|B^yI()ERhRZ8d;1XB!I66 zFv=G z^)DNGqXM4B{bDH@&=v(HgEK<3&Tyv93n8ZW0Bf@WA*`Bc>>?O5-cOw#7J6_57fUGl zM~+-i)=Aat=bz>cKF|}-uaii&;lBzz>mf84bIwgC#va*}-h?}!}P(q9Tm%AYg6^HyKh6ayjlH}4;=@f|Y5?!SZFwp--+gg5g zeTs2Kb(wuuv3!)3`zw=H^wC-2tAZ=Sv~Qz3vzamS1_cMv_Q!eiV1ER|&4in<=kC0M zi-3j31y3UFIO~B>PpqF}I0jm`$4iVe=C#LjsCS@$0TXbTI=tw!4D%qNGZn#8&Uasx zRVSWdk_1u0--d4J?9cOrkI>SCq3X1Q>K7L=x+b$sLa(dIwt!K+Zw7)~t)X;I1rkHvgWE&H>|_dFINDOI4+mLCk* zDnvMxLNOO9FioKq^pA#RW+HA5yf1bJsFwMi3cq=6>85%LUjr4r8UKrPb9-iY{}>F~ zrVX68W8=AL`qf zBS9}mHwXq;d#V3aJz4=wOW|(3tpBkBl*N+<1byd6R7Z+#ZvK}QV7waPI{Ih@xE_EJ z)Wn3SZ8Oo_3@T~V#3hez|HlfTiKs~^RNLXwf3yOO*CaKL?(liuj2II<&T^^k3Z~zT zT4~g-rOl1*3b)>jIU;H^_SE*omTtz~#%nYGj_yg_-Aup<>QLC~`!Y1Qlc5@QITU02 z3gWj@F^IZ6cJ%`l{oCo3@w$SSV+R_Zw=*b$`XWX3L&0PeIA5c_ zjyE(=e6_c8xLaCBs5G|IojRp^vTjK=w#<#iIoIB;oS_x#w$y*QPPDFG3;!+KY5(PQ z=ebl)uUzp@{mk)i>pG;;rStzJ`u|JB`(LHD|DAq=*<;?k4m1w@PlrX|f9L-C{{g`s zd%^s=deHyLAw<|u`yYo;u0n1;(~FY-u^0UR9mz;1FaA#?qXv)tzdMBfdnAKE?XOu= zPXH;mLfQY=3r>hsrtcVCu-YB}?+&41N!RA;^SK4jt0z{*=6~t-KlmRMYo~lYevwS?7Hp2i7(}2! z$>^7+d#&rv{HAEbhFRE+F&IB7&m{Cw>$w@gphxk^4LWPJy7dMxj)O6Rz$Jw- zg5Sf6Bv1}3l`&F97$+~Bo_rxMT8c||CtkW`-ZYL*P?O$qx|we4k4O9m(y=PJUWErpQ?YIH3;Et82mVb z_h;U!(A#$5ne67D{}F=yFYd3Ut`=+*`I@8bTJdhSQ!MGveySK%JlFA3xC z7;Ra(RRf7Rt~6|&AI>IRU+G@{qaTy(p7~Vi@o~$u(&y8<=h9Xw);kHt<3Hr0oxMMC zJ)WT;AG~&M0bupJP*+Z$_hGtkp`tn#n zhA1lakffaja;Pz4{{za9OI5&sgs%lDe6QdThzQ0FK=qgwy`oice2u118yBQKhuVeO z!xy=9GS2Gr-B@jX##`dcxLD+&w=pJTxSM7y=g>OFFCSDMHP2^nM8>9{3|~5JddiP9mxBSSVk(r8F||mbsH{xBs%cS_q+}PdA6v>v%wDBDKs& z&8i?xP|h9l{{ATl+kJ48WjbQ-PM5s&`LIUjLA*1b`Gnfg@F40Uv_wvi+j1f0L$G~p zA{Q&Kt1gNDA9G4^%3zhQn1E!S955R|R)st^IQAI!B&j<;&v{7oF_8YWchc|iTNm_# zN0zUPY**ifKP-`dCUuf!h_{bF;oByMuUxLh3v2f=Iv#(P67;o&K@U!{Wm;|OzcY3z zSAMehLFzgK${zzvYN%lAsw(jE zvY)bFSTG6y=F?~xr*a`sP0%hL{ET-<6oWdL*705H;g4=iwHOR#$mLV(rag`5VF;-K z0Nd6POQfG+M)95*&x8_(<@i9WNQ{}abJCBcq9iz$Ru+3sE|Ph6vUuG3vfQPajao%7 z&Q3U?jOWK5)gXL~r0Vz6_`z;Ih0RbUyj<`nz`!e)?11h#vqBNg0Mo+i0HqW;)Z@$R zRZ`k`EM)?ViAaEHttig0m?;I`!+_<7>2NyQt*0~B=zS^`1`tWYIv&rcG=UQA19{C= z)Old3&LVF09sokWMD{VaWa zl?hCTM)slB6z5IT`h)M95K6JO6aAcDVL3e6VE zOnw-$f!!d+P)CT|WVqrwLl1>9_p4Yvqd2>i-YI!@t6DvhQ5Wsn4BjD|5NQyR5+xWQ zk3q28q?fop$8yIyq^G!vS$ZohM;A=(A0k19sp#6wX5v8cl6%Ei??czOZ-TA?8K&oP zDJ*PkVbtT?n|_GE_9fmhmRZN(&RG%GmxxCSG*$8m)Yx2J%3PD7zd2$8H$kk6U{ETF z$C;>sQf^sfbzjoz3`oh4JUu;CD)IWs?J9~7vzNzdqMaN^=hla}b5RTOhMDuomd)t& z>Ik&QRUuyBnLj8ZuxXj-e#5FUH8wLW%j0atdcZFw1Bmrw1MD}A%Ra(w2wW!3zVv7n zi0dfi6i2R(BO3b-4EhNgiZKK<#oE_3dxhD71Oli!uvJwsHEQ(8(9Cm*OL<@B*KPDd z60A%7bS_Qx?6W)d;A)*uW^6Irn9_#$TJO?d+zn0@IL&epishP%Fw? zU2|Trj+_pcK@va39L7~*SK8BKV;Ss<@tFkaCt?o=n$ayk^2d7!ncBAbUAHH%bb8-n za)+bzTIR3f9{(Gsjon#3jb#s3dqq8*xN_d*jd#dNmpp_e_hr*>jJv8n+}k=+FoT$j z`Mhqvn0mjKs8r(HF3VlGCpkkBws*dA5S~h3J@$R} zaPVP*ce?XpLcU&Y--0zD2 zyP1scxGa4AaH#+9maz#Q*ogK861lB?Un1>Vciulj zu-m17_wQ)@(0^a~6JD?VW9sq+iNNnefMhT@Bn1v_`Y#A}4JV@XBN2hK@q?ON{F*HM zD4YCf=l=_WQTqSKA@u)-U^@Oc>~JO+0Ne$@WB>q&fWT`wlOsSv#P9!tVB|%9G(~{| z{}Tio^m{(&%cS|ZW#vl`0~qeZUr`1s{Wl1<4}UW6r{)&)e?zcqf88cueac{W5fD=h z0D}mCuL-=J3-P54^@0SVf!9IAa3Gin0000bQ-b3}!V>1;wu655Iw6njE8`J@U57Ed zg#-)+-C~1qU;qXN5Z0rc<_uV<1S}a0uYd%9;sAwT2UYC@DT%@o=Oa3l!jhW;Q6iC# z5bRMAq|OoUH6IF`j06J0=(_+6{Gr$Y;8TXEACNHEU}!TWxbr${og=I})GswOa@P&9 zpMpRZMSAWBVOE94H2G2jfH*|aw=bh#DFHA50K-tA7-eW1B?2TGLnwlv&_Nug#6X*4 z@DBWsmBR0mfkci#e4;Q207$7Bd*>SaYA_lH9(DUN!bB;CMK=y?6+<;2!_^$evk<4l z@d9HWjqqv;XE;NIDMbj2f|_(9s;`0ML~udtI2r3W4&4Mk_XMTXgsee?@E`zhG8CUb z$_N4gR|ULOPSn$Hzg%XH#Lbf zC7LretvOYBFgW=p73H3kI+U7cosvM6R+O5CE1H(SkS41PDlAT`5l!zOOsjBD2ZyQc zSS8ghq<3(JG=!!197HtaYqs8`52j{xalRN%O}cc+7^6Z?-vqvsb(nQW&Zi<5(ap%^ z1?1`ta-Ax3Q#5m1H*@zUBU2Q4*qq6&gWS7$gv(hMqFI-^S^HsO$EjJjRN-$wWub4f z0MsZ@3v#kK3(Eu5w3~_1g2G!w5ey?S!%-x|nb2DlxkomoN*1wLHZ3*sNm@1obq*6W z`(PoPtt8{ASPoZ94rNO=`)y8bY7UQBt`Ief51K1NohGQ4E3ue+=AJ7`otN00E2WpG zaEpX-<*9_HKDg&;+~%#M=BbM1TPx>jdgRM<g3uDpr*5Tfi={!~C9JU0%UvKBs${{sbk@48!z16LrEL7R%oJJ% zjVUIm0(@^NnO80vhL$U&m4*-dEmK!)F6MS|mCZH-=RJ^%X%$;~xn_$MXVjHc(6S{P z{mR>n>XwQNmE6@szekxZ02kGz2cl;vB!HKvs1zsZfo`d*m~SfxXsSu{Ge3$|TehUn z9aJtWgJ_o?*W;=ga4VnC)aXE~7gK?t^+>LzNI)05Lg5gQqf#Sio5d_%s}Wv3TU@>9 z9!q~z&CCGcMjmG{$AG5c^Aghdu7NwP^lfXcWhv5n1ZnG8EUOA2S}$HG z29i|)!Hx|qj^RGIO?5vTiHJ&Pn}dWYfh>~^PWsKZhjmFy<)6}P&21a!7ph;;)Y;I~ zGEX*@l>qqkLDXFUTvdmnM=h@y$n{ZjUh??l7ZbvoQ@IRHinK&c9d5MD>k512h_{kYV+ZksKl>LAA5=IYr_ z1Orj=1Aa!-=Ww+yqyqfJ+i_6!f76luTulqbty@d=n|Gb~(6)7(hCUkL%3a6VUB-c` z!+ZpingKXx4baf-)@UxFatzQ=29#2FKisv0>}r9uJs5f&Yb}1uqHVKbk3_$NArk4y z-8rw^NyO7Vd(c@@+QnMcIiuTN zm;If$5pCj;j#ndA2QNS1m6hk&bP>NhLsN z#-oS6ydk3X6;D4YO+VU4A`2YZ18ixW7-|}|Mbbz1sTcPbFAgq2n}fugZD|JqxPwXe zx#_ljm>ENvYPl)*L+&j@>}`cPUc>P4=At%~nO9%w{V+cDaMdxg{81q6H3H%qX(~h3 zs|`MSjD<>vyLblk4ElS$Mt6%xek+6V)f{Nx-&co5NtQ+mB1dP{s(ZZJi(7$`_o#`; zKBwCPCzYBXUVd|4<6E4$TwX|=$uWZ4vAA#~KT_;w}|H z?=r}Y;bZ!f4mQP@rNzBARS=pK}?2#;va9sT$HG zth_yPSEZ`f-9)zs@&&Sl8~OdiN{f5@oU>t#$;rqk_1T5UGD`TY zn)gq9Sb1amT)@NZBNB9voHBa&`TU_dnr=Gb7I0}%;kmMqj9*wPHkGLEzz8dLEN@Ox zYA{94-|)?e}W^5O{>E+G?0@dwE%v4`Vytbb5nn?P1M9R5&DTe}_0$+Q7+!dA{pMlDnp+e$XMrE=&PN`&~T z1$}BY#ui@q%>Sg#3^2?L9!2TXW^Nj0E~O#$Gl2XWQ*SzY`RP}#tU;tO2fCORiOjL+ za3EpKs>!E) zQVqz-4@$+g@$53` zEPworb^VN$zx{sv3^M+U@AOnF;}@k7h+Xqs`2N>y@vnOV^cd~0(;TjgLAi@x^k?^o z@}iEBl8>cpM>F>2WeH{N=SRi!9aRK?rUbQ}QVoZg&t*h>#Zb)l_jbi%|1xI7r^@wO zb(Sy3?k>r7zAqt8pz_CMV(rTrWr{Qh2@;@LxMc?Y=@-JK0-}$t^^S6JKssHj!p24}#4q8q=M5~2l)jlA0Y%4WSKX)vB zz6rnEyp_6W5(ef(?BI&;vl9JolK9OEI2iN1ar3zqh^U}8zR+zw`cQtW@U(qi@ACU? zqf%u{iBWy!>o&aAZ3Cn4I<$NL)PKu393Q839+zv1p}nT&+#5UyzOT67?KRqlhx&7vF<6L>G z&-V`?kloisLZ_8*ovgVb6O2zM6-fDJQ!e}ouL?`bn=J(doum(#>g~2t9IJY!T>7H@<(x#;!=em>r}*z6zl?^tep;S#C6tX?W-2&u!ijc_Znd zP|rnm#7k`Ab>oNSWHHz*jhYW|p3^87^9}T97H;2sMhI+J-LlIC5H1#jYbI--1&|1f z5K8*jsW?b}KVw#728y#4Q9tymxVMXBzM_c9DXaKIv6=h=BX6~cCP{eU zDgigU{^1ZP2@6D~deUiF4d-t}3IDCg4`RV_sULV;%XqAz)nq8KX#WZ7Qq;f)$@uzO zoyNCcItXOP>Z=*qn;b>bgYm|zjXz)}p+-I%2o7;%1qtizRpmA4*;ZmIt0p%ckE%us zT6F<28FapOqqm(HRz56wz<_8Hx%faZy`wSz;{Z=rK(-+2?>Okipz=f{77gP{Zof?U zipQgW#t_=?)a4%<>z}}YvAJl45g@Nbgc0zH`_X-YmCKD0@KpvNN-NI%*&ipyNtE5# z&}E^3*s4PfG!gSdpovTey`PH83ZS>L8c1?d3&P=o*?dT{SMfN=5Q~9Zq*!Z{f0$;w zj0O*FPkSM)S399__tb9AqV*^ZQ0?z_lr%+qc^LNeq>uc zx!B{RaStta(5cw!d0yVyv9vRw`0C-j+wzs()f!>(ee*;}r_Y_Q!z*8oUwdn>&s_?Q z{((hcLkAP^nd*;$Xem=5s6yQ*nsg|(;&(Qd_M|^{-}=|jn{a5}k&G#|VIWi+NJ1aP zfLCW+Pd_Lgt)$69hDV}E`;IHgxR(`%Sw7oMN@^DGUVsQ;un<}<1;X}s3~zo^9n|MnjS3G)EPWwi435< zXIAb?k)*oN1aXMO&hZ4u5j{+r-*R>1xXIEKz2BAd^~|SM4y2)s>(WX-&#rXpBi7Pm zdqy^>&-Q@kP%;$`WTqTsm9C&9=W@!AixGOQz*Ar3r};MGo2~_a&`{Ms&ggiWH_Y@~ zre$TZwO0Ad%;t60iXH6=!fYbZR%%~?i`!#Ciko9#C!9QkKZ6cSqh0=-%tI!a!?gPGm>Dw*SGUNg)VvQD$KXNYH@L}H8kEz- zqB**YX=+3oNni5v5}Gy5L+dj7Q?Q(<)i+?6P!huBAOrW``aJN`4 z<>C`te(d1FF>TCyq_f{PWuXOqvWYT|vgZkP3d^lcyQr&?UC2fpr+(N(3pCWMgbs)) z0iUKFzsEXR*TmbZTKSw9!0Ozk*+S{B>c8H|&RzMb69cxr%Z3TVGoR%NX)@%!)0=j7lU` zH0O1ta?zR1N(K&?3nc4)H6G7OJyEcD(Ma{h>T_25Qon`h+=9KMMHaGJ-cs^!vz{AP zR@QqFGjizSKvuNS9T!|L*$l_OOg7H8;(gwCa+kQ&j8 zKQM5v&NK{>Z!2$SiYt(%Z*s&9p6JaM2ERD@EGZ@v@?|b}{OZ`JeCQ*E+k7U0%Q=Fs z)716bLZycA9_%kXd^%+|O0=RjtNp-A)svZqDG!8y2_T7!sb;OVkX9}NIH8}br<6C$ zV%2bsxhKnE7>y7pmA;s@|C+ZnbLY}d%JA9u4d=>J_wA>Z_%HO|abtw)!oYFvba!S0 za(IZ;4*9n)D%J0q?`I(c&nu9=NjGaj;%t!dcpxsACoPL9yqgcqh*y@(E&TTp4s%lk z3t+KR!k}JjeM%ue30IekN#*O`eK~cu8lVrGw2%c|L=w@8^BHV5fAMnap_@q!%mL_< z>aoUK1%injHEAd|gC}9fL7c-d3K{B{bgwj~@ zndd_C=d1@YF4@5e0$h_dQhj?tE+rFDl$^Q}-xiK)aHlJGr!c&-&JTM(cviGYv5&nP zJRQ;?3MhzJ)beKQPUBLsVcUr)2~mL;yyb!#m*jbr{MBu;Q>{LtgaaUOASCR&CkJ*D zJX^r89Ke1^^_9p1RxiVaHWv_H3G90OsB1Z#X} z?RiT}6?{#FGMT$6a$dAmwUK9765!0nq?w9w-`-u*(q@Zpz^Ow(+qybUrTQlUo=rJ3D1DSuS`+~j*wME$*qnfp$<7N;lZ zqN^oW9AhZ`BbVPleVOGEQTF?0o@PmZ5xG~f5e63`=h^k`@zqCFfbHinxi*|URK~hL zn~F&^F;A~ww-gzeII2{vvIMU`C30z|*|bgWCj$ zYW9?nz#3^n{o?xow2*A(?+T{Rt_7q{lv@0V;xVn`Z^h*W+DHXyLk~s(q~OHDux#e) z{D!!w?DdYZ7W@;gSGsl;CRFL=RjgX>-)BH_#^}JLgsO;^Za_Ikk@|LD1CZhiBZbmi z+;T|o12+(iqDcK69=w6l3>5p25gFl0Mb(%3I;RS!3ZCyburcrJly%U-5iQ6=qH zA|ML)N=i5rx3y*?ZWSJ!ZtzJLN-I<5;Sy`G&Qr7F30xM>k`qQPKh57R0RAq>bRL%d zG+dCO0$d`|IPNQTt}F2(spuQF_oK#HR;dyas&po))r$EyrE>jl#7IsREI0yTscF2d zZAwtBk{fQRQpmB+%+;3G@acy3ADV zXhv11KOBQH-&2v$&H@oqzp(|jXwC^gbrHGG-T$C9RKE&!S>5^xNeYD44! z)24rL4hi8vjv_hVAkvF_+C9ds!^X)xO4O$&e=C@j@b+~+G4C?CXuAzE znlQFohj^_f6+2IuUNuIn(~2n#=yxRg#M3HL9hO~+`yGYro=$3KL$;n*Iy%jFGLzpA z^PA^aPXxwY=0-9Ng^mtJAjPORjLD6%2l`Re@3NWyEwcgYAwcu-z&sdkUsntyqN<4s zS%m{Oh9;UsA8bqB@Dq{3(J=)0-H}BZF|gcDWoZMm*JMb-V$X{5=}2AoCo@Hn??pL{ z1jmg0!Y6db{%yYrKYLTnGI==J!}tJ^Q`RghN%6amu3--CxDI=AJ>v(1;}%hHd5hF` zB^1GWMJ`gw7-{$n2)Dx#=c~2AvzeEl4_>mEHK6_H0IxY4?iNx(PU5J+* zX*xsy{AXCoOjD}5UGWY7p7G~>$;DrJn@kbeniFf3+UuxDoos+vVp*bd>N*kAVDHNes-J#m zO6WZ8pdg4HutRuhBsjfpHc&Y88w9}*y?g6HSiT84&Z!!Yrdi0 zw)K2ooq>3-!IG$c_gfBcYqlDzk6_)UPS5=6JKcIzUKSm2;+x!NX~JRRN7%Q5il3_! zj({i;qrPkd9*K`HRab+E6sov^7itvp)#9zWM)^>qjmMK<>&J0a9#|*^Gn8sXK?KDhTfc38b;U)2lexUPGWrKO^!I)GPWki(UA)D``g#-_hrIq~?`nS0N`Ux! zByg>fo3M*%P2xefw`d*sO$RSn6(6yd1Jd&OvE;phw;UcmExEE}XadV;ncpFKvfCUf zfZkLL6j$;$B)&Gx(qCQt#(+z%M~haZLpR*LO(t(=0gQ9?+nY9?Fm%3OdR{SYqt7vP zvPPnl?93U{%sUbJ)&NbjWgYnGYWSHD`qO5;$=1#$t&dTks7Qmd88_`VF5fnv)OMGy znO&-x`VZ4$Z!^vrWB)ia!tx}Q)66U05w+PG^;P3w`)yt}bLQtew)PozhC6Rp%|7_x z=pc5uY|XX4&x*C1|4cVG^fCW_1u(+wM90>SUbeX=wwer-k5_w{&aL9nwR2gfvFXg%4 zu)UA?vmcFh5JP?t%XSbad=Rg2kf42#h(-kYh(|WmMOhrA796BC9HjRjWXv8Qcjb~# znMn9kgWlw2V{|C?09w_z+E(;saBMt9ZQAk8P)XxU(8H?VU8;J?%2Rr$vDTS?4lA*a zs>qM3*=&=~4o=+)~-0vCG9(BTJS`BE*Jhel#I$2=prWiDWA_wR1Gk zpHnaiG;RGIbG*8As5x%GR&aXQaC$^wy?#pIXEiqgkou!!|8M29@c8QaF7#9gopIEd5Pcj&B@^?80$V3OtKL>v$^yQn7_)t=zj4x)V@3dwC;p)zU`D}aa{Bp0q8dC_-#1yJ8bzY;nnXvtI-KsXD43g z@X|}Ur@Qi<^$Ln`#b3V<#bb#%;KCta6FI(tM6MXeL+!nYK$LLdMhdXiSFCkB_&Hpw zkl9_}%An=t+h5{v83KY-1Wyh zo77(A62tLm&GF|CPfgsPe-!-S|1i#QfnV$Q)ec4?@|b}i&;!Pnt}m=6AmB+S!Y5i- zlyF{4L&?P%hhxOA`>0EW%krj|Q79sOs~;^4fNj86d;q*HW<{+T#}g?1?vj+f+?8qW z3-hng*AsuAPr!j^Zoy9p!J)VsQ=wo@BEL`HFwWG7z>Tk`enu)ehpLBrPs$q3H);7RY?fthlkE^r~AIg;(+JtxFIJZst7%+ z2d-O`0JW3X<^1r9#w!_x+js9gWHAAS*f>SW@g{ zjJ~~6zPhgb{fw5-_*p-m3IK~c`$}aF^qE}{-UaLELJg{%}tf_vO=Y7#FQKfrBw+2$`1QLK}M| z^eT2b9C}3<#4!T7+EFp!;P0e#LPdc0<#T0v-yG`0?;7>0yFy5xefDx&-X2bV{_9}s z`Fe|Q_NR3<5SM@F94k42p{ckm**ZJgFsk`$-*~}+Q=5Ia1;|YevyW&nb8CmOC>Z>w?U#dvmUwto<;R8{XLK}7u9W7gBU5N)2JxmcN{JB0%*3?tANq*%Vw#f}5$3V| zG|QF1EitROq=l>WEzT`hnV6q5(wDMKd&QP(ci0ePHR`3mTjQHhzYtP)l^sNe%62zq zmcU(V*Urj2l#&t*GlH1CukLSnPFUWOLdCP|ND?w=y5 z3QX*Lq7D_z3U2I zhy9EZ5;b~M={y`mMnL_1YcgL6<6(gjiQmfXOKmJ;Z%oeMZ8V+B`s32LlE25~WkrOh znI34(rq#vqE2iE&|10!Ubx--ltnO3J7js{%k##?dd?bYzFkQS|^v$v98XRm|AB6R+ zMtHfG1!^DcSKN=rrkA~!>i!P8l0rl_f&#W*ZVFO;u3nE2?{M3UZN0qii+bndz8a^9 zaBoWbiWXf+VVdzY83>8urZm;KE5P8_9sOHu!Xv5(JfDx!6tG^Lv- zT;}>+Rv%GO_Zr8f)l+w};DP`$J3mVw(+hYoG*mjqzAEU;(fSzMB?Yd$qSn(x%{)yv z7)DD~2$!D;-Ul%2s1gpxU=Eol|Cyg_eRPPFm#H$`>bXpFsCbA>IDTzk=8d|AuRjef zS?{$hXPTXM1LJUcSuVH0mji$O?wOx`90O^w0-p}_D2kXUizPw9&$+y|P8Nj+q{H(N zE-YqmJ3__f1kp9%;65E@Ab1c46^sk?+HU4aC6NzTk9X?JYnE^)(Rf>vP$0p|^{#mM zeN9bbg%>N&C(aSw0+Ix3QgdY`d^3n-k7z!HoPD4pyRE9wJOX)C`e#gxp^PMEy1 zot%MvWX1*fYbF7xfy(AMF~t0!Klc7tX^Q)sFwFy2qf5WhkL1t&Cv+IV!RIm9WL?iY zDh>oxFEu-8HF;)r`en8J$E2aN`dtvLau-rAOV%79KxZ8^?tS`|7y#d9+6Efe5q=XF zZ=&`v-OM=Ea;K3 z&p2pYk|P%|ke7xcRbmq!#nQw~0pQmal4n^&_k*#upSbQ^bkY@bM6eALkIbj!Upbk* z%{C_;>F=di-*B{wMt)WT-xGtrf~8rTLM>j&ehOnjwFLAEU`XXw)M&tc6dz+C_o5a$3Oc&8jxka|eY<~E|N1+0k}O(5l*ky`}W8R%Qz%dRVMHg7{aH1BVRx#zdw8vg43+T(lMJ23jYznago^8 zu-{(VmU?N;#(zp8*9C?chhuY{(GwD9gA%*D%niqkEk(OPlthoR?kaw$4ntEz39S0i z8|a&*yxQ0dhu8)AO(==1l26*>7%Vvy>CkdT9Yln{d5MjZQ6r?38ACXi6r^fh;-vF6 z3TiR_ysGf$yuSqBwk!)m^H3w-FTN$SY9`{gwe3Krn(qR~NT1JgMUiaanJHNTX694* zjf5v`g6E3^>+nXjRJ459nM~1KV)=Aae-@se#L~qBfF~X3^CTkD97od7uA`3Zn3<>; z)j7o>jw!LE7l!#0uv9e@MMg>i7>X#b(GMtV(vuwrxP>YA6es;qD3OpO(P3z1dIlVM z_0=iN*yB=B5uz!xMx3O&{X2J0P)6tTEt!`BD9c20|5>Ex94TbZ_wB95DTK+zd!SC! zVa~MV{o`DhX7xCh+Se00svmtt=GVlh=0wOE3QPSHI!*va&uchv5*xVj>J_yw}O~3zyie_<N1`BvBSJV_r0yI&EoH@C< zH&vrGwO>ji#A*0gzxVr)I5hY1h9 zFwIpsCsT3M_nuV5($s#%Ca0F8@7={h`2_B21?!4@wEf9-qy~N`RyA}}q-4_>04^)A zz(XS8}Sh=O4a(~eu4 z;hZrZUM-J2WLT@gFx_;EzMvP3QZim-vZzb^eBbqkH7J(cbSzmK-)J__NDtGP;3p|Q z+fTCH3t9`KX|09tv6P~_GcdMNrCl?R1Qi>K6USXOmfdK%Csr2GR$K(;GKq4?f~!2X zma<)=v;x~(GP@42wJE0kY{A7c+vni|(^EDF>SzZI0>>l^TLMd+CzhZ23K+TA56LX! zX$wEIu{&c$I|~;&ezZI_WB(?`?n=V`)o0Hoc<;!q&{8bN-DS@$DM&1??>*;)Wkul@ zid`Wat3R;|dp`GRSf5Yugx7T8#{6DILY{#)M48s=0$c|%1^>Dh_GW^ zj_ivtB2%!3VcHxJ+oIviNBmX+r(*%83cfW%5FKLw@j=YU@Y+~S=r+Saj8&M0hNp{M z_nA@Ml`0KykfydutvPY%6e4PsV>!brVT`EA0A|F~2X4?6&YFs$@gVgN)}j3D%pF1FBd0inang6P@$HozTsm`o$3KL%{Y*VgF*T8 zqH_=`OfWM{KsL_zgw%Ckj$9Rv5@iuC?@TMZLDgQcril)qfGg4tz-e%eTv2LOW2(P@7=-P>o&?t@YA6Z zW&RR92shgGutemXOX=Q55nKv!N>%h<9c?!#9%rQdLgkkM7(3A(PNX%^fLjmJj;*Xh z150z#Yz^q?bh(bc36{PPJyL{mD=OJGBj}Y^OK}Ca_OEPd{*M6T0UZ9e;cj^d>;)|7 zamKpJYQHKfM#|ht#U2Z^p{;h7ydo35dW5}7gtQKhtwAaZ@~a3=7Fj?rmpI)F6*|g>%K1R#;)wn zF74K??cOf#=C1DUF7NiP@BS|E2CwiAFYy+y@g6VoCa>}?FY`99^FA;1Mz8cvFZEWh z^3 + +## Jump to Note + +The _Jump to Note_ function allows easy navigation between notes by searching for their title. In addition to that, it can also trigger a full search or create notes. + +To enter the “Jump to” dialog: + +* In the Launch Bar, press ![](2_Jump%20to_image.png) button. +* Using the keyboard, press Ctrl + J. + +In addition to searching for notes, it is also possible to search for commands. See the dedicated section below for more information. + +### Interaction + +* By default, when there is no text entered it will display the most recent notes. +* Using the keyboard, use the up or down arrow keys to navigate between items. Press Enter to open the desired note. +* If the note doesn't exist, it's possible to create it by typing the desired note title and selecting the _Create and link child note_ option. + +## Recent notes + +Jump to note also has the ability to show the list of recently viewed / edited notes and quickly jump to it. + +To access this functionality, click on `Jump to` button on the top. By default, (when nothing is entered into autocomplete), this dialog will show the list of recent notes. + +Alternatively you can click on the "time" icon on the right. + +## Command Palette + +
+ +The command palette is a feature which allows easy execution of various commands that can be found throughout the application, such as from menus or keyboard shortcuts. This feature integrates directly into the “Jump to” dialog. + +### Interaction + +To trigger the command palette: + +* Press Ctrl+Shift+J to display the command palette directly. +* If in the “Jump to” dialog, type `>` in the search to switch to the command palette. + +Interaction: + +* Type a few words to filter between commands. +* Use the up and down arrows on the keyboard or the mouse to select a command. +* Press Enter to execute the command. + +To exit the command palette: + +* Remove the `>` in the search to go back to the note search. +* Press Esc to dismiss the dialog entirely. + +### Options available + +Currently the following options are displayed: + +* Most of the Keyboard Shortcuts have an entry, with the exception of those that are too specific to be run from a dialog. +* Some additional options which are not yet available as keyboard shortcuts, but can be accessed from various menus such as: exporting a note, showing attachments, searching for notes or configuring the Launch Bar. + +### Limitations + +Currently it's not possible to define custom actions that are displayed in the command palette. In the future this might change by integrating the options in the launch bar, which can be customized if needed. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to_image.png b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to_image.png new file mode 100644 index 0000000000000000000000000000000000000000..707dbc309dd80163e7c0347b6b9293c8162ac27d GIT binary patch literal 70223 zcmZ5|1yoes`!yw{bSX#(0s_)7bf|Q9cXxLqC`gJ*cSv^(-Q7LF&>%T)BM_Tf})%+l})9-fwU@l?!l!RyLa8Iu3bZ9T_ewdG)uiv_? z`65seI}jIDhOPfC^&ejTLHdDr&A9Z!NFoL+sI%ltSkUX!qT7QuS9MhlBoW|cif4iS z%3X^1IDIl1VJKzv1ARJ<)Y$Mi*n#*+FWv4a23L$@Df!z=PeP=X+m!Kfp5B7Tv7mrQ zgCT>Y=4A^%9;qpc&Ch?h2oFHzNERlHu@dzlSo6wHdGE%VTwaX#*Y((eyQnf+x{CCc z*r+O$9(YZ3L2VkY`0zL{`4LpVEfx;EY9dsL6b0rZjMN|}Oa?2hb@*~#B%-3OK~6x8 zKuLihOW7s>uCAFoQQ;~mFbziy4L}VQevT%gQCmKqWKk*Nil;3K`WArd5*cv*&Ke>& zlcai%^VithaPYFv4uz>8y3fAtHfRfP026)s^uLcON#TwLxf{}V+F1>Vk@@uhz47-G zd`g!3V8u6nQv4Z66D_`KB=8s(D2g?I&-G~qg^`fM0w5Y#D$YffqG&$fk6pRc0<4uY zvSwrT{#xR{t^qD1mIVeHAEsL0rCBjWS$e}t23w8WE^Yj#+Va2I0E6PwP#EgI%w*d} zhi9hbWq2V{+vTce6~_Fu4F5eMDKmx#iKkz)<*FgP%JcND;_T1fFTpl_`@c(`u2mp} z_beWyEb<|d&mhEdeI1)oXP1G}s93!Aa+7CC7~)x&$?@MkfhXs<-^)wmTcyeZh1W&1 z@a8zfT8fjar^h1v!ipV)vuj5L2Zus41%<~BPW+Oz>;Jb_!kS1@IFR+8NcL!fiv-Vu z`mLd&vKFf)&#lzTJ@pn+im@*B7FEWUSeJ|#Q z?@mYU#iGelDPyyc&}7*B?yhDr!mF~pc7DeXmDDa-rTLun7fTZOE1*qn$6`>GX~~2P zZh31Xx#_FD;xF+%4MW&i)zH@P&M&O|-!OqPNSle~WK|1JgNcgSVy04DeKE~wun;n@ zJ{{ll>7XGc*HMWKx{h4O$utso@nS(<;C zC7Kd;_91`PGAu`{maLwlJLqW6*;z>Hq8}>VzNDWE;Zf6cQpGW}+zMf?800+Z7yZbRvH9{mfEYpc5g_t})pJ3mh!u zdP-My=b$@yM^-A{TG?@YuKPb@9-wIJF}2{WPJRAiSY0epx3B7Zxfuslo#LxBE7{wF zkG0$SD4sJn?DV*u--;Q^1>_9VY;mMMQ-9iE5F&_(| zFCGYAf;r2koB}zglO9O1w9J#lGceY0NQz$A8Yodm=f?eZv$7iOWBTXw+nDhDGZy?r zpP^-ZHD~HSKPJaN6K9;wm(i2)$H-0@pjN0cU{oTpDOrPB;r*oKZ~O(R(ImLfmR?XH z`fmy@NQAE^JnY!3w$i+rbhF?iRr`$Z2N=rE%6F*O5TQXT`%n+8rLK_&5OGQ;kNGh1+uH_c`MqsE@jqup z7!M7JQ%~WRa~#rOOaHbQ2GZLIZ==9@_lZ9?W{aXm^5?FUcA-G>6lJC8zoQv^N5$7N z7LdqLnX$wEeson%+MPw>%d7Jos%l-@sdDz;)?`>CE%`tCofHXb_QJmyd(RLs|> zduCgZ4WJtCbMOE1MPq^psBbTIqK{U2TG8HE5P=MnKQ<#Rd8}h}(pY(>nOn+FjB>9> zm_aS`&h=tGc4$pvG}nf(;Rm)Lg@xwwb7i(5(|!KmSuuGV(8jYK!9K(}qhqY+ytFBjnw$u2b%2Uqkq@Q-Uek;w|u6~2?^kUu~tB8Qald<*g#B4p1 z3v@cf9v!D=YIB-3zC*j-8_oO+!#3iQxa{%;`;fxBGKaN~9lR-tEkLkP`9u+2chHb8 zSGfGv47bxi2>;|P=EGWcL)c#-Wa?AEa-Oz*^Ym-yA=VhmZ>OVzx5YfW`PoCyh;$4t zpw`UnGdj+(c6-m6n+$rQNUaa*)}u7+-+jD=T9U=(e$ z?eSSzynW*v8_GJ;8bx_w!qR9j3LT_y#~fvOs`bIEtqw0m+DXka4*&7p3IyQ@;v{oW9sy;T=cB@(|cM~#vM_sk~ZuEmp z^68I;M*0#1*OP_N^wqVzFe9g5_-I& z8u(zqTs6dYaXM=pow$5|;0`$dv5K3SWl_Pog3Pt7uZPln$uI z6Pbq`u1^j6`fM#Sw;IgVKSVi2hoF> zeX#UGjtzLuj9veFKz+{(mY3!=pyRRnWvOUTYu-3o0D?Xf?RS<9K_sOv?0kk7QkV0F zvE#9uNdJX6!`c1yRytQJaKhQct6%EGC#><583RPp&oT6(Hj?H9;(`s^WN4*|AH(w@rKQifWlS*BF zn>pe6mwyb5!xi3M-MQ}*7c>IRnc%Ts|GB3fp)CCtj&hNkY*(2qca45`z_$2$Jj!Dk zn6sFT*_Y!8oaH#{y>0Dcnv^~}SrNM+v z>y;Sif4vbukL54^44QC$$F<~?4r6_?!ts$()JI^V-1 zcrNq>Fj4WY5X3`aKOmdf3u*0q^X{%coIf0Sfam(p&wbv5e7HuyNgB=4<$BBWT3(tg z0wMW+i%Ysb1ID@QBy5so|kW~1t4Ow?DgeQ zAlSaazEBC-KX4a(y?l8I{x$`kgEcnm_z48+s=*Ja|Kr!`-?rI7<%RC68DnbtG%sEy z`rYi5l#9LY_I!P+@{E~wvbLY(IE{;YRbJ0AZL-?)^tB6+PbC6*6)#)A(;%ZcCjXIe z<7zVAOw*6O@=nYu*hC{u>CdM9p_f-f=7PpEe?q!lHB_o3$;u>*8C`WG=oy$~uRM%{ zIkVYq6j&}7oaZs%-j;XD{ywA}vqiw2#@QzkctuHRboa(F(mb2}?{%HVHb^Q-wt~6M z$!W7COUVkHPl3FC&2ZZau6h8sh!*I=ToDC{QZagB>!ht#PWYJ*oM@V-67Z1xXb=5D zsMROKwdi7Ye?C*YmQ=Ibc-YdoSf6sflmb&S5b#qH*0C>dM~0B>cbxCsY@6I+!tNr>w&Q5oo*nY zL-t2<$rHhPEL!N{N+YnhYGNlZ-EKti)+SltvlC#j)j^m!_tRy5vDVpD{9v_MTtjk8oG-o% z$~mR{E@2>{F0Dh0E5%Qzm>Mchl62mlJ^A-K57V~c>p;42A5POBMZ8Sbtpbrf*1pm1 z!M^{1^!5CX=1rRpiqa69TDx;5*ZZ>Z`LqM&G?Jd{;N|sGq(5YcNUbx=<{&bd6jhYH zpAe+tbsVmQCo)TQg|tkz2JOdyi|astfX%OA#|<2oUK-b|Q5teGMMOxFm`mg*^5P(mE5owy>G`15h z%>nr{?XdtvBUFPIi2Eg5PO++Lbk&5s8phQ~e3p1*epiN_$Oek=Z$^6z?h!n(``F9m z40+kh_JQ2A$SB>S8L(>?$2=gKDG5q zs4P3-Oti}{BZd7x<=rA}z{-MIvh7}DmVM(s=+@`4hs3^1E#*?|@!_(yb~0PDv+1A# z*3&cW{CTk-O=gFQjVi9%POEMZsJ}dVYnT1JPb;E*-?QKSC>lWnTqoIuaXdhZDe@rwuN1kf1D|P;|X97X! zY#MfQH&=qN1* z_f$oG6%`dpbL@HL=Ea`ogZvt`_&)b;r6Pw7>Jqhc;TS}AWN>MZY$(PXeO* zP`Xu1{+afId(T&#Vj8C(&kubMz0LM!E5J;+Q=Z8xJILRJsr9aY1S+A}g+67ie?Nc) z4>kK)upY%X5<$W>k^1EktEercwv|=6U6ZOU^m(Z_h|^$SbX+mLPi^c2kazdsY>co!J$ zf4A=TmHyBm4LAT_Ju?%3gl7n@1RxI8w%*&G#+LbXx0Jm)4y$XqI~i<#(N~olC;J1( z;Bv{kjNtMfa*FJT3&dk;tdo-pxp=k|^VaP%lcw?(o5E~{H^J-3d>-~($ph5QN(@(N z)*#RD`MW5#1=vd1R23^30H?5b2N9(+042=Tn=u;ua)OypQP%sP1)BE5F?sQ25A$g0 z|E;KA%E68I!d$OcTuFuen$G1yxE|MLOB)ZY@Tw}}8RFx?Gq;nIR~{IwWcR>3C0x{k(hpOCvcoUZ@ zW1b_K(Ou8tUY4s9b@0%W?W}is>!dmMu9t*LD^57tN~z&$nDRvkCkLCg=1MapXsMdJ zsgd94Uv17si>i<2*{+vD^v`ks0*GF|K)734)s1*==y*TV`Y_$XX#pg_q0&EYxDn!9 z>-O?}7hPxO604pP(d$37LOdTGSkFmVBWF!1;1rwBA=)G-N2CTFGJ3f!=EpgFeAwZ( zMAK8xqHiPEM_%$!^OuMVeM9uTJ=x_F)3`l|7?4L2S^0!ef;;octaf;b?IuaY^_5C& z-rr7E8;#pBGNI!QQLVQd5!YX??q;+{O`2B{YhI!`ix>O35{Hzk&bGzhbL1xTv zR_PqE@qZ7ej!IGLK4(gFIKAo~A35ZAJ*b}~&D=a?CvmY`R0fsjURgEi-Km+;YjiHF zMW3mWTwaVo)?Xu5Oy!WKlwYJSK2=aA#>r0<)?1whRX~fj;7XcD=E0oqk_7+45GAy2 zBV#rn!K+_MlAg+tmUO6Wr`Xh~pe3Lo zn3fPgBx5Ida3rKN&MDb#MN!_SMF*lNsJxBr*Ve1*cVe>=E!q^VbLH zlw)EDwm37kCi8U3c)6Ke1!)zCh_Y--;Qs(Qjx;#p(J$49k#;`6rPv%MD6dC2CS{uc z00%(d$Urlx*iRdsI~ahEYW_;E|5ho&th^^k%yM1G2`n z4jwuhY&=^$8K~nM)f=C%ETpYfu3BiN4AL4Jhh&C|p)`SM*CgZ>InvZu!FTjn|Kd9E z;&8I==hNz!0YmJg{K)%xe|-;{`HeX3()in_QhWsXhMuMCo-i3{RE`h%Dwc?*s+xMz z4IdbWR2plt5>0ac`9{@W;nJ))NTDNNGB&McMd?8kZIRMt4y0eQd|hgY*QG>yj_EvhX@VfTP1{enTl~*mLxo9DS2D#E zs&aX`?@8v>wQV`80GO^eleh-DEvlg$^v+S&dRV0n760uRlA&g-gVjgf=b)Jt8gp>_ z3Pg{S=r7*|SnIo(01;QOx}{)F(U!9b=}iFp;glCRSMhp|uZ%=2lOflx8Jq8R6(Xy9 zopB@*hg@qFBJ(r{@?9>jZj=*c5|7pn4M&-(#d#CU#zP;M|yYMOU?x(z$u#|5DKe*rQSRGFnf-h6aQ zmIS1)xz_&Q6?L#^^4kk)M9x>LYpkFG2$Ihos-r(%LbW*o557$Xa1jSJ1y&pqNN-C~ z3Tnh5s)!6!iQA!oodyt0&|OxchS_0c)Z_%3=AwqSwc)(GBZCD}<)ViJr94Gxvf0l) zx>PuVfD9vY~!gNS`6Dhy4cx~V;YpQ8wM3>EJQZkiyAjXf~AiLg3pf2n|L|KKx-|(E-#Bd$!N_^lbAbY`u%R1 zs=Kf${D2FQwS6^5ji8D4$M>pFD{4*slfiaKib9;n`EkH#P#ANJK88vxCBixOkz+Hp zmZ0ON(tMeCSqcp%cf2c>tPNJG4Srz9z17;eDFb!PVm{b5i8Tp*shTiG0N8{e*#PqW zZ$b;E0@zV6>zRd{ju52-D`QoVlH>wl*#p)&1C>5i%-t7Z*SBU_cVT!(OJy_{bm^_x z-PQ%KlRg6EOKx@W9$;86-y?8Fdd-Kxk5-X<6{wq1DQn;5FSI2=_3+P-*R&k4P2Os- zQEL$Yy~j@)u4dIb5fK`7PAD`TQ-0B@_!l)G?2o`1I-*4WKFf;VaX@FDY%jYI*S&bF z02NbVY7Fdn!MWoxR@C|8#btBx+)LR4?~NJV{54zLnb;~~mJb{fmkj5>a~I%IW-!rU z?Y7?2I>0_4Ah@Cr4Un@T@Xwzaq=QM`dfn1uzWc78YMTaTGVKjFBEX*$2o!K+4y@cS zV0+{(Ycvp;cff%3SiyC@3z$_sq3$-Z3~{0O=#=YZh0GF5teq# z1xo*mM1I_`>r z$ypI%&dp5vJNwd;*#`M79vTeZ(n7V0A3>80S4Rh}Y;`~8iy<^FV!-)(9T7Rblyrmk zv6QETYbfu<7_}OX@A4#~-#l_Qr9}0b!aNU**v5d%dRABs5zQ6)77ZrHRYpG(Ej&*C z``t05OlAaS6643Lv(1TzB;$q6R5w@5{aAmltT@KJ_L(2{2=j@zcvp=^q|IX1 zj4pTc=rS6#2yI3m59KbY!^|XFN-)dX0U`a!^{0%ixoCzC0xo3ZMD;+HR-vtN1!g8E zsEa$(Quk}lH6>Da?ZBfZ&_B^Ond?xBOi9S*?dgZ`8J+OyK0URw23UN{(V>WPlf^SX zXK|%Vmz*y_x(&#*)xNE;9%U>=5asuzwwwZE`YeD)v_xt+S{EjTs$rQ|**7L{$I_LY z<__0=!lvQWse9)t{8FwGkn>HjjD(pNF2kyL3e>qOR9nJMr7|b^pV1%@)sH-#Ewtdp-)mxuPH+X!>kIHGt zYvnJ^5H?=vr!nRK`l;1&cJ;nUk!%uhdHOk9Fwew`Zd#NpDoP1Rk`D%rGCRJtG(5b0g)vxsLtlSWi(9=>A zm0W^_(?XK?EyGr_n)2D!qloCFErs4vwBTvfwQR+TFRr~W%;p-;eaGio%u_Z^H%q8^ zdHz}RLcY{*DP8fWasGYM0`EAuU^uJZaLTaa@%9tk1h{bulc_uIk^1fAjN7pe{ z-V{BZci(g`NmJ+SFq$kMQ*CJz9=1MsN<6c?o3E@Q;7fMeJ(MRqAdNJE-RCR-;So@s z(MnQ_jG}Vutna!P6P=t?#L15e2zGTXR#p0hy8U(G`&ZNiMX}`I)0E)pW*)+;O-~P3 zRfZqnT{ZO6FosrH*RY~bWxiM0@MK?jyXAz$IyHVr7JCd+3;UN@KZYOxx4%_h`Y^T$ zQe$Vd?!2dGtOr)hm!46w+Zl<2K*#q3;E6y8clqbHhNq^l^^Tf0R86zX8tBu1A))hc z=e>WUTb(-_V`3X*Gj)Dt`01OdQr`YpJ+iL9?8}I=@k+~5r9ladf3*Oq9F9J-S^N#3 z0N;C1{o6{34Svxe9NrFB$fkd{9c;OKa+V{Se!9wFJzsYfxfK(ay!K7_3sR+?JwZ}# zmPp1il8;RI4Cm~XnO#XB;Dl^>UojzIP_vvBZ5cUZJ8&s~xpv@>)*~Ov!{yD&|i;e!xwmZM4Wf&a5Hixm+}WV zjAvt*e+2TfZauG?^{7MJ46wiVda*z?Yf>bHsZ#wKK9*p8@hfDZjOU;15I32aK-47H zsOqt&BTQuco1|hvkWJMcW07IYqXAqFXP|n;G+ud@R(9)`c6UV;zIVE%+N)pF6F%gL zxIS-oYk^jrU+3@J;B7XLb=!Gd+OtK|%&Sex=Hv&x9pwB;Z70jEV$+E#p}|%B!920C26DdN->+(;y+|kU(^*rSENKO(>c3E28o2dH&5esHq_Je_vLNS&6j6yD&%%se9B1mMS{!T!K zPLu*A5Yyv0Oix~Paw}u0|Lxjri`hBn?Dwe)$t|e3459jy*g*!yDDYw$+xQ4C{TGR;wfBuyXT2U+%YkbuodWA$Eqz z;^R(Nx+KAr^p<#eVO!9T3VE781a}ed86R=(TmG2OKz`vuY;AewfE^j5N3aF3NAzM8 zV_(4>PnNuK&Cuz-O}d+-lsHSM2Nk2uNK967k}{sA5?3IT4wfss%JljeVOihQ{Cy!vWR1S^nh~F?@%(#;QR%1<*ZEIN)&?5rj9 zPC?L8)rCT<^n54cDKo{*9St5N8fIGU4SIxbv@;OtdLWg!8?^d8O0~m}H%C8xSW^7r zxi|)ACOgJBPkKnNlydGy5gKEccTA*}>SpH`N<4>|b`o2srinEfr6ykI3gvVpdk zbkT7dTL(vvo}h=gZ(x&c&AU=Aet_ z=lhdic(3-{RhMdgp(RZX(tusc&kF(-rWrtqa#|NxeAV>7Ki@a6nO0*r?ulScDPn&O z03c=nS;Pg@fw}dEEw{yVioG46769Yg1cLLjHe$YRvdqiB6T37DWkZ6g;t&Wm}61RG)*n)dMg%FcMvXtL;se-Fcl6U%ML-_ z2laXN0P^^vgXtxcK8;3poZEI+r~szr=nVqv%OgSFIxf1X72GCJZcdnExXla6jS*kP{kzhj4Zsnp~X7@^#=h@e2p$l)1I^}7-=_wn4enT89MIMM08Sf zdp23gb<&nOL|bf%&I)_&d`6#3oXj)l zde2^mH!Ma@uE$8-5-T1<;|cP`baX@p z5TzHl0OxLf(E9kG*L<}OaHv&V2}zOasR6PtkjBW4dQLI20V_4vfaWk)jqn!fF5ia; z-L+%Zojos&be}auX{<)$w<@R&u=~7X7}KnXt+9o_H~n3+HG2^{b9W%UR0nTveSM+~?+y~b z%S{~QQAIsO!kAvGxd|5x*-d!Do$Q~=n z;<2`lK2tR%ipeB(V)6~`0g#893l&7qbA!OSn?OBb(S3O_Y=APbvNw`srs%n+aR}an zqwCdqnZNCmlHy_)+Z@pd>sU%)Gr<`1FQr*Gq4toNc#|MNI(7b_T+=KQblcNlNHJ_{ z1$JhuBGP}+#V42s6yhm(KBWv2uujq(9r|?%D{F00Cj;vOxC@Ap9rq>v>dPSH7j_g% ztFjMWpDgk=oFs7)OMXInpO z5p}=Xt+&Q_v6mJ#=I&%DmwC0fCW4>ASQjB02du8x6Z%n_I{@_vUu)64lI>{rp=5J2 z<`abGC1LulLFS7ST5!-dSy^^*Ty?{vNtq1H6 zeots=0`N7ca4&u{`}W)Y_(Fk!EJ9}Ok23{eaaA8e)BGQ<)n2S`^uPu# z4TL!aj=S(6gHKr6lNe=I2T+}W{5!-*Y)t@Ci65q#X5VsMO!}nycy62Y74B}|-rw3R z!4O#+`Qjd?|5&LEo}5|*gduYHkpOJjRKE|Nw^@2(y-Wj%k^;ERzIQz9Vob9H1qQJr z63FCj>bE%G1>?z;?s204<$4z^1;e2A;HzR_?68DYv9ZD;%VmJt*Q(Dm5_SHA<5%moy=3Z?`Si5Y@gzmTQs2Na2kJWfl}oF_-4&;e<4^ z?K9AM$Iq|~8vct}gFyKUCnw^2Dpvoj;1E zKYD>P@5vCQ@4e5-@C#>iHQ;h_*v}xl=866VM;4HS>sSEYnkMFykOdc5X)DnzssEzt zy<5os7zaXlLr^+y64N>TTJMq^mK^iD=g|I_av_MVsl-F* z_+6DWcNUsGeMihWL}uKSlr;f8u_3rV6xA%3ohk#z6IDFdM0pfYoQ-*% z9#^xG`T*Q1crqn*D_z~GzTna!#4@HW$<%E;S0*=ueLwl46HNUT#Am$7PZ`gPcSRJq z>-Q_Mbl=8U?L#YEJkM6jUXCj_SAi2uq8`BCt zoAefOymu$%pwKn?B%{t~FMMRt8|hBE4K^$?M|SuwdZLLd5rWX&I&cJ6VG?`845p)* zL1tgGjW7z$$(h1pBd}&>Nh<;soMhHrNMx#l?U8MT7L-h6B6vm@`PosG))qKcNV#vT zo`XJr3s5I`lSE4)qr2E=e9|xU`f`OYD;3)(QZ>zKZQ|{8`#w0*A^cVmL+)H`p~5av z-OCmbHzdqcr*PY4b95D*>h*f2uiNaqzgBz%i18sY<2*ZL#07lUra6z?0u)$mXW)7@ zRn@bXaBa#dpz`t8dT!jQP6KpQdaRJLNZn-GW-!Buoz0N7JM;#_i2vRr*XA6ZY+G6D z2ffzM+|pdOy6~7Y?891B=>}wN$C7;JxfT-?qOPpF#OFqPmrK)?3qKCNMP6!9iD=k| zy>#xt8s&u9;na={?lj6Cp;x6PSvGs51i?IUv^`uZp2q}5K7ZkvfWzrgdECbYC@LUt zM+}+QhGf4*RS_`rBc!P-zd=gW+kXAlNH zdz&dw_XyXaJ;IS{v)#*+LFQ-;t`TI57ZfX+Vk>4CFGOtWR=+|9M`+As40}&yJY^JV zS0vqGU_c$5_wfhgpZ;9)asw@27NLn}^Dotglu*H}WPS)2UC#zG(y=w> zNx^(fsZr*%KuH>S%fdu8z57q252Vh)%AUA zXerir1Gr6zIRh=H+Ua&nS&*?cgd&?~`-qL9{k})URfaF&+tJ89eDBuDYkNodPi35e zT&oU`N{lW~-+&_M12*zo3-+t_D7slDmg#hO9Eg5ZK>|Z~!Gew6 zW$K|%Z%YS*v;mZ#B+QVCE7u?+az?`#!y6T|Nr}Ohg#CHj+}57iJ=embBXnSHIN)*QW={LLs z8G6nwx8is_CojI~UA1HR8C))}dJ=9;!K1u3kQ2QAW5~|#c!NzlJfwc{VNG+1$7dJT zJWR(kEKm_cX8oe~)39~XHcO}u673QX!bg-cT0LE2-}TH(vc}oVlj3K)B#HlRc?iaU32qiMWf*#f=9IYF+Fbq>BAfD>`s?RPUS0 zPdg0bL z%*dF2z;-1+$wA%F1rJ$zkwF=QyR2J1gUB{#}tuBIcSM^`$4} z?FU_kxkOi{?y;Kdz+S;=9zl#E?8}L8riMO2`xBp*0s5j@bF--R;8+h%jYWDIFx9OWjYCmc)5KaePqhImWtE# zh)ekwj$v_uYoKn)an|~d+mh7U8qa+76#H1ZJonNL&c%mK;b>xC&C$ zc!TDw2Qy_hNCJvzQ+WJTkNz!mW^WI9W;qKQR=`s%DPNhqxOqAYT={`V%ztOCv!z*V z;6#n9$@zuTVv!9oH?41$O~rAx+_nZKynFiYeez4bdr4h}9Zgrk+|pqP2df+f2*XU- z-0TZ77yM=-N#0vb#*5D#%EKy-Y14BI=qN<(o)wO2Csy-9kJqD#mz72kdUk_JkB)f+ zu0sLGADQk%T)VXxIM=t!k4py=L%-DYPDPAUokw_@XUJHmFRIe-ixUC)(J)Y7+2;vU zB&`KUM2nfA^SWWbi(hQ}iSRigvTvd*au6l3|4g3=KUnJ(*8S|a5Rla=3%P4(k@l2h zZWH@3Nd*a*R>OU*yk6bo-bp1*Gm2*^Cv$N@%t&%gK>9(^u>j?sUY4Y{Mm1$oabxG@ zZNt^cVNSNDtLKNJfxX6NC*s}3{G0<;-HZ`XG;2Y1r>EFiP>)M$?5LjxAwxQ-XVHJ4 zvboqty3xRDh})Tu>uf2Fz;M%x7Jsbzp=VDoj(6?5;c}LP1G}DQnrJ{3KVHnRwU46; z>(5{6ZIqQby-kThre^!o6+U06p&wtvpo&>TQT-N~0DQ76nQ%RlP0e&s`| zuA?a$MLV~hjj3t#Nhai(tI7?BW7fnupW3s-a*Tz&39zG%_OzjU9hs_+Jrql;kXQZv zS`bJTWCU$12om+fSFW*6m-w|j@Bq!zTb&dY<-B%HR5hJ3s54~qxpXYa>8E0n8;9i# z-qU_!zlbF66=F3+Jly|wA(nFHivcQWee=Vysat@E-FR{s`iD_qc2wmE=+iNqjgUH- z1M>6YTq~{Zn#|}#ch(?L!9j}!6$d2tY#LOPuJ_sRJ}B-JFO*DDV>(K%=dyE^DEE;8 z5-lGjk8P)PAD*fB0jRF>u^^H>%_IqjE6WU`N$x;ycm!z+`R+ulj_muvx!$0W@AYx2 zN6NAUQjFcS>1;24+Y>gc=_C_WjB1mKMr=DkJN93hiTG2UG?6P4$!kz579%~)w`=D>reXkOj$y=Oxb`u%WVSF?o5P=oiXJ+$1%{k z>kU(&?$H%R^-oYu*r0r`C`A|?LO}$Hn2KhQM{#~{R?N`uh05&>&HzF@c`-2x9!rhm z4Bfthv3}o#kLFt3gTkDXT_h|-F;aVlOi}D!C#~KeOKZtIE2(d=0%8BPy5NkzZcvXS z=u33`xOhnH`1gme89nnuzYg;Sd^>b}{LF8-yx-KT!~f(WIcX>dYTyJ6&@6>}%#$+Ger`l;W@I#+Vg9_AZnaTTa(ov5@!s` z?`Y1rF5-!y41-LWkx-q4#3mb!9hwKVPgU<*f(Or!7j^9;aUdg|LzFjwSY%A@(TvstqIJqtli$X(R#&jLx29v_^0x2= zsWllqgVqrxiY$YsOrQ0B9=VI8!PT2J=J=jFis_>RH#uFDgVXjtx^9i#J7=+> z1$pPV^&bTFWX}n0e=?W1AzVa$BGPdPoR+qEkZxlFA#Gwvd(@P0@$EZ1)!EW+nzLh8 zvyaGvZd^BxeF60*Y?u;Es}wACV~x%iCW3a+*i%wr7S9WLz5vvAZXp(g^Wytry{scR zK%)U#OIQIa#cx{_c)x6K@}^m8ly4nI0o`RUTXUu&Zwlyc;6@GBS- z!1<{ydwoCTscuxi_|iQmS%W}wEy=%k5)33V$qI<;e9BbK?<;pmDfetCjpw+aiCx@u zuFJyt6a>8IDEauC}oGp&gGh-ZhgF&HPo)G zo9=gG3ESU1*E_^&hA${-U!44W!PR5DAMuf86o92SS3}4_@mS4AK7ah~{m_l53H`n?6M^#_dYlQ=Bb zx~40ZYhr7n95=Q-M3Lz0wtA;c5-$0floETbo5UIGRz7bgFW=?z0BFZ>j5wJkmvfJI z1k>78iu1@^(KV2r+uH$BU+1HCl;kHgdavd7V6H%II6H3qk;IEvPma2^ zxa~MEx#G1INhPfggB^sqzF6|T)IGg{mCe)5HH~mGWn^-vS4XSrK$n1f+Nva3Er)R(swD$eyX}5LN1Krk;UHCAB67uE<)GM%j`+NEMxW^5 zwxQ&k10(u^IyG}X1uU*-H`ZxlcKcY$ALKk?`?n2@3$=LM9#x!~5p{xFC3|%UVPvC< zd0C>!lUzUK10P!u1&7fsxkRs=W(2VgnY@bXVhV0Jakp`EF+kJ1dlJ3&C57LKAauE}!J zS&ilfF-8h4z>`sBzWsU(XwYWqaAl4SNbVm2=-sWbaXx_p3bi9;?5G=h&b2`FGk@8k z6T=PL0$?aA@6Eq|jJdET&3i4xBnnITO-{%-=zW9GbTY*!pXBFyG2WVea%5|*^2*Vb z;k4zIx>?$~=I$@r$2yLdd79D`{$5f%auCf%jLXOzY1Ge}=C!q6(&+VAPCp$%TV66V z{i6M62d9>Mb|?3R11;*_$>ug&(0$p-dZV?R3g1cqwts9(IIAHS3oULs8TiTxKeTM_ z?m)Oyb$S`6ZD$G5FpgCELbCxtTtZc3PEDIl3{j*P2_Gu}P${0i6lg)$at0_IO?iIp zohQkv8PEVU+%&HT6*DP%5CWQ@)S4P~A0~2LkA42&yk{Sb+)493U^VWI;*@5p&(S4b zal;(d3ZXpKY!K!f*RyLDLZq~rC;OHJUNUQLeOrnI!da;?y-Vi0>Z7us^O#%d2L4aL-~Sij{MD7gBr;J-ot!u8 zAIACL*(pFdI?bf-UG^L}kHm5O7E`x>yHp$26vE z$j#jg*H!sn16}!r16~pMh02K}8#P(vo+2c%s<=Tp&QzyH?ha8s&u!eWYuBKk+Q4k& zV1Wb;?(n9|-i~K^{QMQ>B9 zxKiwO1VV{gD+QQTWqXe=2t0Q@)T(g4dE_RBk?Jh8&KiX$9s>Atr&~)WgXhgo-u%uQ zs-GTWPw7TZBf!}02f&fZxUuM475pAzYTPs8GF#`{N;nw~U#tbXtCx6B-d|K2^D6gh z2KfO{7PMg9=B6hcni|hhz;9zxz5+;+*<0`T?e|Mzv!5lJ0pa5?(AQ_e^~oTl{fP+c zbbIOI*0T|4>rpvJceEDH44!}J+zLb?V|n5LJ)atDRQzmAlbVeqn*m}BTn}_p6wijt z1NbBv&;DZ=Lut9=F+RCd-+{@fXYUuI?{<;Fd+$|*_)f!DVYxk#B}Ml@r?BPx z@_vd0uO1i6DF11K>x}LUbSMDxyoZecXv!Pl?V_rA7A`{nsH*EuJAn@wU!(u&zg^w2 zb}$8hfm!F|wNxKwhLBltq30ZS+&vLCwwq8t0IH6(xs~Wlaw!j1TyH4aav!Sgf#&!g zS>&_44i32>_7(?c?NB`%5xtskqX3+b&}e=E-$uk!~fko0ne#ND==RGxki zy)g&XR%mAI))?D524r#0xqaF)_1TRHrZnK4?zppdz;3xGs|^mH*)CXVM?bYHp^nq& z@LRZ@oq+2n38C8xrPRCr()O`>g2e}0MGmg=A(?JUMw6V~EP`MSl>m-P1gGioW~Oxy z{{mQyIXN`5PEJUa5CHaWKG(ncOpw&1w+D0$RUqJwck=`@DYxT%dg={)>XoI+`@AkH zu2cE@0bo1q1$KV*d+j|V)M!Jm&N8_u;Pd>ZC1L z%E77?u*J6VMq=|sz9mK!evvR1b%xb@AgzD%!*C_EMQWa%qRj>ancm_SVBr`l_p?hY zD7h-~?EcAgPl%d0gtjY+rkJPK(DTFDOR>WDcl{SuZk7VWgCBEd5?9svsmdIAoSHM|ulj|CEa;0W4CPr!w;=cN z1YxAu!w#3r!CH}-$+mq>kkctiEQc`BmI7c|ORq&0`@CExc}hirw_2Fii3CO85d1(p zHQ!KQQ7*P;faFHKa!Hkre%m7<3G9%kE<-*a@YbNOVA<$$f+=gEgpZB}Ol_BOV}nEe z*`&;A((#hnjHnQo(K)T9YH8PqB%5_j5vaD7CHP&uyBb18G0~72uQ;ZB`PMy32hcT8 zrS<#j_&OnJA5JqV6BWI7l&e#52gW8H+J$G(m$7iH!Cf<7DD5#4vPUFGH30nIY%AQT znDkR7-d_dI|sdvrF-{MxB#(JN*kU<-O`T@(zV@Hun5w_XVh$=fdnK4yY zO&@OMF@tuKIU_trVPU7f>{Pb6itJ?V_w!5X#Un)=;lH3onT8J$1f6znHmK)76^x zI*hRfcPDnUQ8MY7!n)>c${aKAwf|-m-5{4kibl(XP5(RlK{;iU;8)_MRKri>UD8W8`DU(MFj;*P01l zMK{Q^MPSrtbnzE=nyYnC^)$n1cdfuohzk>vV-?=cigBMVZ6p=j9550XjZb~$&#nCZ z2z#~efbbd85vg&X4}uMT7m>jLmpkes+)+sK(F&(}E7kpN+$1qO-j#U8B+a2yN6>Ib<0s z;D8ye*HXswR7odMwsSd{zh0@z`$@j*eU;zluih;X_muW`q=Uw5JMX#5$%y!*AtHxj zc~+E4&Y0J;>5`Hy8~d+Q4IS3&SYxT48|_<7g_Pe&jM#Z(mrIBc9joVTy+WrEj4vFV z2O@w%s+J1qlsFUx#pdH)q1xlG#M%w={ID#O0Ks*olHBmV!}e9@ep0dudv{4TtA=I2 z@5{~p%*ydcKj}~|?uEIME++-Dk7gdJFM?JpX!{5=m#r%8-h%`x{ZK(;PMs7Vd$S&1 zBn&1yswd;59>>U&=LX3!*CcxxGhbZvvP5Ui%0#T~;wnGRrio@#hTly)3%?Z6y&Z6+ zh)Z81-el~P-Ne03%M6uXp9rmb;;?=*%Q3Dty+u{ce-N-VBcY1_F_#P?aJ zQdji*`-_=tWf5NkAsgc|a={%jdx#5aFc*k6o(8(O-&C{YASwq2-?&Y1_Bz=Jp0bp_c}a!uy@VcB)q&#mZwE?~AB3 zJ@)R0QRI=91f6<+(m?hO!H?{SkHq>^9`fKNs2}`VS3|%3x>Mvr(}~+d8uq2->Cl+nFkRc2r8_wo*-t6?f*B%-@OY z)(xo!HS#-qTU96BpJ#oO?in$)2*cRiY`n3yJ3dX+OLBkOQPygo;bRxABg4bHG3SHj z8Bh}0St;RPz#;|!+fS)E4+lgba*2F_Ra030fno!0-GMa9H><{<$zt6PZlfo^>AX|y!b6xbRNo8&x+spMC>hSL3R5v@O z(&O<7H44)=XID6F9<` z>8Ymj9u1TRYIZItI1@J>i#K1w)9CrIH`6{e_K!N~Yc}j!70;6iWDky>pPuQ@QaTNZ zmDwCvGhT}-ad}a^^#4p(tcd;4ALfh|`8xOnZw$_KL$V&VhxP z{pO&lsYs+XW_#FL@G(KgG4$hRLK!EYKLMLj(h=NM_#3J^>>;SuKw=iZ5%GR0IUN`-tJy}?Jr}!(-L|{oI)2AF4oO- zsPgIu;aH`nL-&*pX1sv_rp!z0D+Qtw@1Z-BQXUPie7cO+Bdry0|I8xR-{$x>#~QmC z`-`f=v^)L!Jwu`maX~kGIz3iz(8FrKXsRB`1o0@1ENP~_Y$FZ1Cn;Elp!!bK6Bmuu zH7;)i$|zW5tG1g9^P=cgrZ_VjYOV>7AodfgRS>#l3m_!G;ZQ!DKiw@9G$$l#5R7Kg zG{dLZ%c?d#DJz}V*nj;|@q42CevDg!#M`T%WIXy0m`3E$YcAit|s-iX8!cXH?tZ$$~7tuj~=Mw zyWJsi7TzJc>L8EY;nY}p34H2t*=e7ZSgNxO$W1CDLV#kpGS5zW`nkdUDFu)IdF&bO zqjn-^>a~tN&Jq|87lY35Ib%|z43pPlgj+0;()J`3ZgbY`+z4C&28@8UWm-&y(w zDOQfv$$I~q5s@3uTzN5~T*a!;YKQN6^-Dwv5vN9RVv&hP>jM6?45p9SCH0LepEpZ# zR1Iuudbchhg?F<<=YxtdrR{7i_n#Q}XDy_LAZ}Qo4ocWU0Md=N^dCh4}2jk*%XpV=O z+)vt_*KWgAA-!ToDrD3{!Vkex8UiTQ!)3 z>k(!$t()e@C|+uW?Lp?`Y~FA@;C6W2ylp<*_;Zx?Vk&LPN$RY(@z;s({db1%nM#if z@*hg3Ga<@f%fHg;8bT?VwE0Gt1Em>CyT=8;I>cK0+gQs5hI z7w)WZjxCugA3WA^UqHV@z1-9Gx_)bt6XU%)LNqKzXR)IrmXdWNGj^i%S*GPCC&2j; zH909C;<@y&a*;ow#Z2gk@^Gw4j1z5sA3DKWpyufHKQj*b0ix! z6m|14zEO!LJGaoNgwO-w<+p^xpl}QwdOC3@4iBynrIES-Ch3&p*g)@!k04cx3l(^@7b++}I?8aZhWQHl=ePxpudgf2!U7Zdbr-erDm6;x;rrdJrHBtfwPixT| z6(WBiRC!e&L1+H7Sbl`=!5)_vCyT<|k$GrLpocaIIctb$gokh(pt(ddokiPBG$vIK z!J7OnPAES^+-AGJ$+}|?zdID$mdZD?MEuzq%P%HD`yQ#=<0SpH)M%ICk1Hh7%ljx*>|g75f0I}_vivx_K>85!)kQ{G^oPTY?S~(bw}cgV4a*rD!SfJue6W#Vn2z?a;JzYjd*>R!nT- zpBEf_(>YndFDQIwqT47Qe1h`BbAzmJ*Yg#I;{WoxUn}0E^34tj78mC>LX*jy{S(Q?oQ0vyy>^0cdu?P9TZ}M$7wVkg>0g#G#z7BuIzn0Kf#!1^aAbXNex@h*MfU!?#lYLBHp$bzvtab8(gHVYu&%Rb^J}t(mSk*7HO{ z;0E&Yhle6#gM3Eu3wadQp}g428{`aI?fDXC4DLRAe3q}L3TBBd)bA*RgQ`SCf_{$T zypF5AJD@MDfw94W5JE^a<0C7qkbd^3JjH%zYv~>Q8w^XWWS^;PVb*}5!&#= zC2pw>Lh>IgX@!s~Uz8f)H|1=rDJ^6aUWB|OJJiqd_SKaOpMd;)c{_u(6~_Kt+~Ph{N}I#e!Zt~Oy8~*y zR(a~L*V~G*_7Vzum-<~yzl@Ry^{{LfPIt?ytGj1|Ft#lVWU+3ahkdQC55`KooDUXq zJEoHV;>12qZWhS)7TPxcdEoefJ_YVuu!P5`e3 zHvtTok|_BQmy=tm3Q2#Abw6E*;+$r0{xlzHk>^!Gy}wu7^>#NYlXcxY{fCmOicG8X z^FTKV@Y*ssUvN}$q&RdQEc0|Hc&eYmobS)P`5Y2?ec26)6rOM7PgMQiO=byCNn*?2 z&MT}WoTmghYrg$RkI0T(D`tLsCdr58^(?}oet;4i8_|tG49j{G4@sB1(IqXLClUr?g>&#vlw zn7`qD&O^uK^DP#XmQ}}rNUNUR;-N>tOn!_P(6h_7XslLCy)h}8yw^dQg{I^x^f)zt zro;pD;V9o@|4u6HMUHFr+AzNJ#t1@!$;Q1`v60@PZw=l)!80fI?dfn1@{pOifdx3v zx~J~#llfNq!LSi@&)Rf0Nz@4PQ$-W~#3rTp`)ARSJTJ=XuVW9~FRfGR6D|w=kKyKT z#dK?j)C=9{^SfM~mYbR~L#QY%`e$A|wrqE~Zz{OH*tp#{5=rmQIF99>D{dyqH>-U( zj8)Xtto{`=f3s^E9sg|vSkKpJn@4jdJ@CG4hopHvmVY(gOS??L5b2E93aUo}{G|-+ z;+QI04}2T+JDo8mnVk&e*hUNF)=7ozv&pZNN;;JCR`aG)oEecOTm=lbJu}PRR+e+f zxTHy~PmGlRB7LGE{?uJ7@41F)P2AF&t3i131Sc3s@BWv+2JLBS_EP1j0_Uu4Ls8vY zv@A^R28fwBSsO1i+?E3g`v6sF4mz0#DaqQztV^E{F3h~c?)-65V-^#eiq7TNTxvzl z=C}XytI=;PZ8MYGH@t{ZVbA2K25)&FIIPw_U6_SBn9rX=%mg2sRgkz~T@Pqqfu~-X zBzmZuxS^{hWiszIGT-o|@aD}2Fv#nNcUNH7gH-`QS+j$d1x2QSx@5#R8DtM|07>id zdJBbh8%Y~rv(amO445ItKu2bL0zeN*a4_8hDuM2YTjvu1vzjYxyx#fakAT}$_;(A9 zCUjhNPQaLcl&bb5U^P-?fvINhef9UB;Q2OczyLGRr4-pAt){Or@Yz4;$I8#51cU#`l9{|S?|5w^MKn*hmkOD5ycXpuoKYYyyw=Wr7QLlYC^ruV!_`JM_2WNxc=bVf?a3G4r^#8DdXfXnW zIBAWHMQFrQfh!hp3b^8d*;H;8_WSN;gZ0Bz=$SDM9nOn2Tt`5boPlc+9pz#a8c;ms zl){DkA{XGYWJjRrO=bp9v$e9+@3Ed^KlcV)3tb0i0B!(#2@m+E(5o(yJA=oX=F|ev zmPI&%qb2$?FunhQ&!%G{mdVm{FjYKjV_9c_+ZLVihBi#t*T7uKrr~FNDR|G!F!aXA z^CaFjPH0*sI;?gkc2Rzq>jNaR4KQS9S5|oOP3Qt#ktFyKqFB0fjZDW&xP38z|y=sMC53;pknidpQbBxMy zhKFvw?iLrzgY(gv|>f_ ze}Fr#D5@t&eWB`RI%ja50hnAx7?`90nA`>s863#lG=ZH4rUf(n4#LF{LeDD-q1i+$Joc3!($rrC+6)Cm%pcnwwy zHelGLzsr3$65nV%z`x71yN`tmRs}rB^c1#|Cvc%&BRGI&1z-8I(Usy&0Z)Rl)H(3k z*>(_#U;e&3_+8j6aqlln&argmAkVDzL_~@ASpkn?I~!^45ii9ocxUOI1CvNfILvQ! z3@`m+@k7%UfOlGd-vPFRLS`hTzSBKH1XdQBhrVGxS=KxD@C~I-V2A(2Iym zZ?KgtRQo+7fm7u&8c|8_yv~R80ANic=BXmiy9%(Zgny-GE2`5z`ujlmhe@poOuhVH zr*VxSl!WT~2&4}VHn4c-^mAxwQ6u?QpkHzxE%&mF$-P(rcl}D_{PW_aO}xHVX$ z)KlJWN%sSjphX}rX*%^9@O8|5i9Z=v)8qE^^JQ3X0&bB0AW~a%DVp8Ld43aQ5vy20 zz*DUN3s5aPUeXBav9{f&3jnzlKuKg6gnT?g#K-k@YkeroWRPR0OfNX5kV|7d|L&)K zBV-u9Uz^csPDP^}6duhl`widoop};sl>Q!YZ8SoAf!l_@1eAocrXgJv!~K=cyn&Pg zaOm~Pr$|rZDgO7z22_6aE#WQU4_IoOtLgW9mL7~w{7A+cf)1vm_9AcLLr!136c~+s z#+tAAD6e4T51;oxNTe~@^fItU41l3x96=|ee9(=_nU$mGx%N4Z*vV74yCH&!bYW%> z?Vjpt2GCmBS40k7q{dDgOC4c0jvesN$=f>eQ_{(BLbUciHc|x)ql>5 zM8rZhk!XmmnEiQlp;(cP2!E2kJI0p)d!WF^sfv=m4o>5gs(p!^rqC5JQS17*~NG!Z&oqsXupD4#fq zZvx#Q|4QjLA!*x@K`K{ClVJtB;CF~;+iub5O!qysFNTCf5c}3R;q|F+{evB}IuM~6 z0qMI_e8dm539I6@itQbv4*z;|8~ElarKT116ZQP86ck4E{2CAXPAy=*M!`H=GmzEr zeJ8W_`~#m-BO&euX_rWBce=#$-Z8U)DtrrwWom*EGmCQ3Dq@37%wrru<$fLQ38Wl? z2}rWcAiwGHeN@;Ihe4Eb)Is5L2X!ZTXj{-n%a z@EU#e$9#~r^~;Uy__ik{!3koR?VQTrr^!>Qv*$Ar&(UrIv_>fi)Vlt4)6K}HD_IpD zA^!&UzbXnb!Gyi+@7vkQB)TW*%Ki3)z; zdp2V`X(`F0oSXQ%pMRsYOT^~Rq(dU1e$s^fRckY%@|}g_%rS4%RXB4J127};>DnOf zO+N{5LFRe1T4ms{lI(H`jF0A%`S`*8osc48-{ZE{q~n1p_eVfVt167>tbp8^>+zhgbFQo2B2!pidqlAV^Fzk?!ge@3hQ znO{(NJw%TUF}P}Q?=Wl&`@y%2zJ&bH%jK$9==Faa3eYWi?n_)AwG@Q28N1r*8U=23 zI)3b?6=~=7t!k1}HqE~Q^z6N#bA^-r974ngKjE@~(K43A`HmxfBSt0$fY7WiFlKgt zJb?*?o7`OX1^w?~iXUR2@!WS*zO``W!7>WD=M{kCJKwF7+P3{7!slBPGSU@W>S7>p zTF+oZmTpav_$CTy&tnje)U5_FKbCl|GrCwH-i{W1GmAsvynm>gvx6^@k;1n8TZHMw zrI6=92ML}T)b7g_sSFYuZ4cB3pCBhJ@d=)knoIYDgP~Rj0Z9in883svf%bq4X8bom z@rk-1$r^Op*R)bB`0@7dOLrLszjQEDjIV)I2K;O|_aVqfo#oSyGIlaTS;{kloA5*- z6nKg)t^_yM+BJ-qhM~+n*7dA@Ar=!b3d{Yf$)5xvL+j4!koqG9niSvy_@KMGCfEmA zoxUP5h)9>nQX+JT7l}-W07CWIN!;K zEF>hkoekLh$-8yDEp8;=x+M-^VKk-N%f|3n{o-WrFJB=~B{cc;D4Ncr*9?5gF(A1crWx1on~ zDvy1Yce)l4%iCt;4sYEoj`R2XrDv0` zOvp*cO7YhS2pD?5ozUt+XS+teg-#PVc+upCiFaK?g!elrjqJX@M+%wUkT39)v90!+ z;dE_$t4`X*shcy!Wba9w4F?YZ3Fh5db8^S*cXyx|k_@!1N3QJgB1C_Id975#MY zAbuKYVMMD3NHyEPHxS)f6!L42eon&J$c3{U2=F*&3>XIZ%24F z6ZUX6uh{fW-Jk0`Pd`Ltkc!H!Y(Gu(oNVr0f3;g@>)FtS3!eF&zf%KSk0yZa+(Xin z$SC?8#g?o3+D&KRkpqjv{Q6_ndH5-r9)nC$(K+LG3nwg$rBBNz$dkbF5z-+caLhGm|ll7%zqT4DLb>dzU=uaFM1QBZ<-vJLCGNfXK*S1nd* zOl-hisH$&3JG??}N2gLE1AbHT7zs#8D94Y&9T+H#dvvTl>8BI;=VO13c8DnQ44x$d z@247ic}wzlE|wg7nQNxzn-eJpis$dsyg@+-*?In~026+*CA<>-V&(kjQ`9#O*Bqdy z@fmf!+8IMxntr{%u`J5H;HRy{8~+Vx1bc1^%5#Ga^U>8&iGRO2sSphiA5I$3T(kTE z%7`L{yUoWLIRbG>B3!8Evd`7Pb#l$T@Vl?LA8dwwygDB1+H4MY8ubf&_1Z6mK4}4~J3hU-LkI2v`g8G@KyajiT)TZ)N z9XL({szELG4dDepJ~)^*#2F9TN1U}ef*(R!aT0f7B$&L=(Cw+`W<6u_X$ z#+)yAWLvw8>Ii29fO_-Cga8@fnv*xUktGkXFX3ThhH2Zkpuiay9Dux8m1y{pp;d{d zNmgCjaGTsXBw&?doaINJvnu@l;TIQOsi(!tv;6CExuSEKo|MC0;W-2Ee#5e}4my_Z z^g82T&ST)9{Zt3~K%2P2{kv_&50=2S*Vi3B?irg*mj=}1qqfJYs*sa@-hOz>LBS@V zEx5LIp`db2iAK1FNTURBJK*~HKV0g-yg#YelgqpR9(0Wfgt`!Fo*TG${TC4S^8PCL z>!?b7l8)8SKV6vr8BR5g04@rp^6tf!Dakad z`9-MbS$5u%R!;ov1N@bxXLA}PzaFNvN6-J0EF`LoE>{g^6_ittj6P2Jrk_8}FZ0hE zC_H$nzKZ4QJKrU8mZvza)15kHT5}BV=0Vl}q0AyX&D)(5JjnAsgPC&>%s}r5A~ljj zSsSN5mPkF;X#eRnaP2Tay%q`ll{ZQ3*~zPJO@NPY-S`(~1-L8vK_tfT?CmcgR4l)O z_x>AzRb2D}^vRejlk23WGIfx*@b*u=0Z&(&%prhzay*hFLgWsjWtQET<~*TsPQFZ^ zV(-@?F<|;$4hN820*k!hD!@b_$m-YoeXRzBh9_elaT=y&9m*6A-Gk#XlX)!+&xI{o zZMvBdP&uF<0Owzmm2Y&>z!gl1)Jf-ykFszmKq$&Z-&C1V(GZ~7D>HY&lNPG)z$Aha zYcmpHD<~YZ3-kc@Bko1TLn2AvaF0~deX*OBZ#W#mXeMONV@fXHMbdzmvDee^hhjor zc9NyKGL^es{We`Pg-2`Ovo>}|4F9gfkB(okZpbc@?HZ>!D23cB>wxanW`2th%&LOj z0LX@!@)!h*?Cx zKf{FF@a88HO~0!Miv9jZ%jzTg4xn2tVtp*tf6hEwgvSh<=nZjgkH#N|J_}%9nBT8i zTLUK48(Hk7xAoo26f{cDA#LYz71dV`Vb}U- z&c;jk@WNkd0ft3Cyct9xY7MuzzsVX|)zc*Gu3KZEl(ZIRK2BU*)M3UBeE>K8g8qPpG%K z4@rlUn4sZz(|3Eq2RVItqi`5G4}keFzQ&u9Wv=?HV=C%}o2JwUH#RfQSP-JVte&%! z<-BzojU;-ee~2gs0}~t#4Yi80;Zs1f>gEukAlcmbmY4}dwuh6laM z!O=%+O=zK*=xPfRivseL#cC0MIH0J^AAgUsS^u8bN1e0nNH9#XEwST37uDO~PoJOE zv|>)ikt-YAEDzN+ISYm#3TxC<4ynOOBk*&}2OaWcC?s!*!tJzNe2LoJt!gra{)_o{ zcPJk6*OO}+LEIlu#Q<&#Top(Jo(L32atg=$5Q#Afw*>ljh4#*GH?n5R@WHOelO;T< zW~D}fYA~|Z@(sy#@jW1uZjWYNc-2l*9f0Hz5`35f?y4d)!cUQC4-rDVvUC7{#={?V zO)T}WxuL%+AFH~2e94caZX zQU%#Zx(`u_(b;mCG1$z~5nFb5PNoOFCyrZW2b&S7L+Vxo`Z)*KGQ%mc*8oeYLIWXe z(iH%mDpq(y(GtWS??~#=>XY_uJ3>A7?DrqfEnyDwJG=NLe8Zk92Y3?=9B$8=X;V_h z5n`z5(r8ZO={MGC1lm?Oss;>f^rjI4z-I)%wvZPbhU@E&ZmtOtnp4UDizF)=2}ZQy zW}o4o;Lfz}}9!MqECm|qRS0gYjtCvG_e??v$B!;%aw z`rfN_Tq(ZynA8V|8Du4+zh?RgXKp z+X)Ok0Cb{UdEv;Em%8+h_!E(CrgogoXQ{;HW-bfVx1K1dEZ&!Glz+tomGUHQPeWSZ z$RkZf$Au_oO&;g)od(RqA?YJ0fkE#fx?+^<&QZO853%TQqe>&TF`$Y($A&vrLjurC zG0&xMradM2!*Zl92ugCI0ZZ$hv~@tfdIqbLLsPg9wLfl_jR1rfSJDH9mB}J{g&x`+ zG79@+6B7QbH-v(z)~^HO$?y`_93pxu3XP_GyUp$);%%W4FGValYPb3&5F@xD_8lQ} zqL9$BPzif+d?lZMWS{Lj+6jN~LGne}3YGY`!I#VY?2NvROQu}7!8}shIpkpup4)AO z!>%5v$Tuv%UJO3^z`G=_(TL`CTp9oO?fmDah8J*hkl=SQOqNh)pfDVQCyPj7`XMTH znW{qH2u7l7PyFOSAuM5aNVw})7~RVVyGM;PBH$2^Yg+H{RzIK9s$hCM*-3$~tU6Y{ z>lk&XJxP;?0n9#ht$8X8`T4#$PuzB*?7W`GtyA#q=s0us1i2RMFxix`r_zOO}EbZ3~!rfS28 zG252~m5Z+k5oGmEkx2t?fj7Fk@QU!jh3yTtKehGqmzviLV3T1u`I9!`g`y_pX%&H| zhJ^fwClr2nV7b5p&u*x~Q55n^GFp?;U@{_dj}iUqO=Oz!Ph8cXc5cW8AeFl+sg$Fp zRT9_BuS+k zGMgaNeC|`!_wEun7K9D^`FCfCotDXbeFe{n021L%K=`-jIUnl*q}%y2^&V^3Z)dWLGTxlHK5`UVg8C z&+ssi>4=Y2Bb*9C2G|fG5_tU(B!5y16k2M2s6SDtCSf1l8wegA6Z+RmUyDJ=!-{O# z7Hh+0du0_^DN%$2lpv93vZ2A2Re>vbvp| z1&0s6>7lyf;mr7cKb45XG2U*n*v)|a)pCCp9XpU77W_|?8IrUHw8m-<+ z{loM>sd%Wq%|q#X-3HTQxwSjb{`5eP5Vv)5_)X5URK-u;E{$9#f- zYWy@Gt$bU>;;-i95$IH2atDW5JOEuvb>-(h(4}l~`116<-{JT$F8^1r3}O==PV8XO zM8)_BK6%l?kO)8NfpZ{H;(yTZis0B2@_onSFVpNUduq>{5MH7QLfpn)ijFo}NtFCu zE*SzgXP3{g0f6?4j<$|QzZHZ(h-V7me+uP%hyACg`-dor7Uk1^c8{k%9|YQgT$z5{ z{4aH{;Y}1s2$0f0epmJg(E8I^5!%nt1W(-{gU*Ysj{qRHnbJ4IP<|5DRE@s*$eeWF z3NI-0?>j&q5c1};CZd>&=&2m$uj%$&P-t{zPg{IK#VJQWa;K{fn5<^n^pwff{XN5O zeg#$_!qFiSP*G~cq{q7GX%FMY?un68=QCKo=?Gm{8dDZ3E2`b_T32~_Qp2uzWNlRN z!xa7qiLAk0hU0QmaQ+m}JbZH|rt}$xk@Gaqyj5~}>ajwsRJ-S!$NTxybfrDL^vp@= zL~?5yC^5*`7Q3Uox}V&iOsTmDoE62>{BxvXgO}h%IztG07Rb2Lp5$47Jg80LkM=^L zRl@txW5%S9(2u!tR<=1K*RP;O7rW`Ewo39p$|S!K-)LzQS5Y3k7P3TRK>E|@*NXz` zuu)&zfDbX;FC z08bQx78UbPzSeJd8m2*%SgBj6&T?|w=co~b@JMf9e*R}U0{#-oOYmn5uxK1nLw%4t z^{Z+u8UK2J{(TI|BhC=OlK1m9|A#^U4~+huB=|`{BYpYL4)#C4H9Z-;&l;wS^JD+2 zHvahm_*D{>0{_H_SY-I;N&fHu*2D3u|Ns6|bO)wYzb1F!!i18hyZU|zFpqP>*RH?C zKWF~;bKOPnHk!}*0Z&k>0CR^VctKtWA|uZ$;2EjxMx8_hRn*#`3-~|aPL9MrpH?_U zarER0&_(TpL4==yTNFLml7mmB!Ou;hzW~WI5j58=-eB7JUEA&1r+@$LF)^_9^1TL) zw9WaPqoN~dqr-4L;L%<}(kWv1;mfAid2o?|V+C0CPm6^C`k_TsRDSV)1~z}bVWtPP z%26K>fY=CDr+0?Bo<~xgpesy<4?O3F5` z-C|G(0OU3R9*#R+`+W#dl)*GWuiK9;u&2*6rSGrnzQR6#1z2j_aGPwT@O5sY(}+wz zO(>J0%bbI>z4^{p$Zx4*wgbZ&?qr+l z#A!ex-RE~krEk2MKRD0M1=g)mQ_%Z!05wSE3lL3YO{U%w<1P$5eW(KZl|a`r{Y#sQ zV*O1Myjf)9D{n@8FlBKA?6U)GcV1X($nf*(e}BD_(f?yd{_KGEoP-9e>>B7eG>(Gx zbpYkG@ZQT)nqRoHzjl#plKH*CFo`7Kh1Dm#&3GM`#9LPYb*Pjf%OoA2CH<+6~sz93Z8T zuLeLJwFJ;NH~4$Z-s=OcP2gk@TB21gVM{Nvgg+|QoFB>qxmp_A-gs6!FCt*01Pswd z?HD?F?eFeqg$YzRf^&!J6{g`Hzi%)0$u5-d05MgEFQkQA?iHIwv->%K>=i~4*lY?~ zgV#x!lyatR%HFdbiuYLl9xdc8k4-Y0f#3Kn%*}C?^?wpz|2}W!9!B**CGbnwbXB}p zUNiz3MZeWtjh!B^`>FX!BPteqH@|@-AEMJ*_a{245;&mF-vbvyl;L!Jx=q(T2$u90 zpe5&f7*=IHJ%Y@&ybf(kr*A$14tZ<76tx(lD+&|#>@3t5gmTXpSY z?;=trf)AOBwd>y7{+z4hc|rBxmjWLYK%$?c?2xIK+oyuCNab)JehJ5g!Q~SkAE`Z$ z)@WAX-fy)cP41gp5cSH52VIibqjs_y&o}vE9>7ashP(z!+)c~LVjGj?kPQMZ@gBf3 zww)~25qKb_SNHy#TM|36$nrRNbOi#yW5<*NbKD%D8*3wm{WuJ#Cn`B6P}5$9-}sD3 z4oQ6p`c$X&vhge~3=~F-L5JVJpmkvc<}kwtpik+oW-9Y^A`Z_MEMVJ28Oh%8?bikZ z04q<1lVc`sE!F3%6x1(#_aN1y!#%8DExPdf##$L$UK_#g0cL%?_epDdjQ@3B(nKL3 ze$p`te?=2UxZF8ofQk1i_Xy}5lxV2G2T)g_660`CXu`fh-u!qNVNWXTSzA=}vhX2? z!X>*Qc4VoZqkO|rp&``Zr^G9K5_xpqlE4RqGu-GGkf2H4T2~%9*d*ETwnT~r=YEJ; zi}NJ<)O~{ISx@pABJC}&p_55(962&$y7$1Lw3x*|h;-B|>Bk%3(4WNJFM*BIx@aN6 z!JSt(Pn3L2f$LqM0(tt{d zf4&u-N}+WiZjEf$&m-Cm#*0&bW1sWh&Y?uClqMUazmv0nO>{~ShmHisJEPZDZ-=Sq z1o8A=9}=O&!(~YedC-ZR>A7PdXE~N@@O3S~i*tMq-T5Caz>!b)hBH8eXayh?n*7%* zB7^t|f1)t(X(B;u*rB;#r>;}^9~z5t=n4}G$HnXz zzIH>z@jB5Z(!59yR)~%axoTT(&%^ENUlvJ6B>Zp6oOmavq@KV4xqdjORYtbhamNI8sO ziAUP!J9pGa44vqr%&M2k6WZW-#KBE`(xmLsG3?bu)Jp+lMv`O!ZOsf_!R@Od7k*?s z-XjRZzrgHt#H~EDG*5x_x;q{zI1kdXrf{gobq`mFgqot;7li%Zw28 z;)kajCDTa~E{v2JbtP?eHYCc>8YfisfJsMD$Tldd26V+F-o!i$8#2{}$b!kWZtp;N z{G;J;SMoA>H>e#Z`$x0nH?Hjr({&mWdlC)G+i1&!^YzXZH|lBf)i#1tl>~8Pu3)Qg z=FH3=g9z7MHGlzO(LlP=2XN^0_l8Z;2P}9@)kU0?o>;X_SBHh5O+>^%!<|fLUFQ=@Wv{WJ^ByV!?xs;Z!Wit;hTm-1VC!`{a(qfa`MMt zY+=RdW|G{kzrnPR@sw>fTsn%T4=);B`dU2b&_p};~FqJ6o1zi5rQ<~W>>c!$5ZB) zPPbauG(a!BN<^cxTVNC(9r3R&;8A?DDay+F!OG+4kQ%#>=Z6c@h`@l1qWYc8w0}A7vIHOyWC{{k*0o`z))qYGOz!ta^ zd*5DHKlT9KgexhJwY@|zc5Lmy7Ohf!pp1Gv%ZKql+vq=?E*0X{tMtD6yYJ8{p0uCg zi2Pa-zTTq6zlOs}tcKFX6oS80d?U7+-j*F>A~%pXZUZPTLwx2sL#v6xvTvAhFRncH zkNVibk9pR44r?TqEc6cVNWCo1nh z@6T={L^tX};xxJYmOX6(aAvaW~si_YLrvK6LWqw|{C*}{Ml{;pwu z5fmKo;=aohv+fQwRxTjhu+D8ancJ#*_$;6&l7zd*3w*M}i_T)NoAbc+Qk`kW64=T_ zk=ACt%f9B6!bGJAK*{`sE676pC7tc}fn@$C$hWY+0B;4&jdSo^Ygu&att*@OJR+I^ zhbe;X6kPJ@Dx2AfpGV6>pl(imT9`>GNkQgyI{Xu8bD6?Ko7)6H*D?DMi>1Ypz2y` ztPVonPJ#-4Zz^*BBDN9vW@mTZZTW?P_L5qOuF$Gf-M>EKedlOPJA4q3iU+@&nl*KR z$nDHP4|t&tRLr)dDp07|4QqLHj2xDjEc6nDJj(?DHTHI~VaG?hp2KX~YTUB+GgiIE zxl{lLtNzVH^N2m1Dklu+pxfK|tV2AquKHmULDI(x!4nY ziYa`<$n5y{plXtI*7_|0_Y!9*!K`C4O9p?kK#dh%ZzSuB>X!?XAix_htz?gjpEe?i z>W8=K^3db$(VPYfA@`}Zdxfv8yQbJs4J1n6(rH!UIf(ww#Xr)lvK$ZJd6FsU%<*Gs zckK>LIwofZ-y%&>mlAUZu+3%5B^n}LL1`mOZB}rH;Wg}8EC%uQ!@XVLy09{8Av*a5 z>_x=Iw)6Gpn1#CEXU0Jfv5GHgz~cT-`s$xk&g9cQl4s_g7Xw-A;a&VOZ=O9c2!ynH zko59Jut`GQ#6ChK*l1x#WUJ$n`aG6n-LOUo$Ibb^6@>*R>w3DF|J+JP=mUwKX?{#Q z7Qcw^b#-X0tm{Eo2;M+omITrvde5MfC=VV_k?2bP0@c(y_@pz_H4dvh254BR9UJRh_p6QO)N*oCtgEzz?3EM%WwPC z(i3Nz&(rn$Ac4J-CwdDjleyC3_WEq&wkrX$%!eufJC{>uYr!oj(GGS^X?%+|h=@-l zM>3?V7f$B}8U(68>;zCX~2YD5r8@^wFx!D3F8pp6=>RhDxY0wasDbgZn|N09; z?S;T5qEA8|6bU~Y;g>|a2mL2?#Lz`6ek9L6RUdyhKC3V)(zRl>^+b_}|AUe$t4R_O zWZo~Pc96?$`il+@WX9XS`p&j6HPU58(p>x!cNo8c=!aY+ML~Rm#Sg!~J7nw49WZyt zIb@Us#Gu`fMDQ$qN%vU*!z@E*v42Zi-v@w|X^O9S6ip$nSAcPF_-e{#J>+F=iJn?0 zFNZahRj^I0g{YBk*rPS#py5Cm-xu;8L*!*8o_lylK7N^8gWt<;9$m}p_6JA%9s1?` z533>_p>M=TR*Ud9Jqt0XAAtylHITwVES!7XQB=v{X4D@2QJexZR{kv&wp(E8~7iA+KNz z*{0y6+oz!P4uPHU3v}^zZYy6r?Eskru&;K(&^6KhA-L+0WKQu8R$Z8OPGKnC^j(P_ z5pS@B@awM#b?lEyJjo7<5A4eMSE~9cb9CEEi1BCD(08!nLX($$pF~3s&5M^cCvItQLk-a-$}R8_Bb4ZE z4ugUTl(u%;Z(ghJgPO(q9l3b4%X`+_w$Pu<8sww|k5;i3944q@FvFuPujM_0vHu@? zZygm?7xoPcq6~tD49VTf!yti~#;-{RnN|S(@G- z#$2e^J%jOkRP$3O-{1V4sl`#8ZL*17{R8_0f<_t-UF_L7H1D>4_h?2n7p*la^8I#O ziJVZV>^-7Zvy@Z3sRK~Vw!keQpz1&@kiA4}M30M?*T$L-8HU-yvka8*1<7xlpx(Dx ztH-Vae73P2H>ys~CHYo?U+%S@J~ZoF&kL18Dmryae?E-)srT-(jo!OOLVLNdJwNlO zeV%|V?{jqcvz^$S2q&?E3D!Q7z!qvpnH46xl;sIEHL{11^YPa{p-hScb4H}S#-L2N z<%7L7$9bQOa+Gb3o~AlW8Bmz{WIBU_Vs_aVSMQTzM-_Z#>8tNR@}zSMy@$;7F2-3V z)I_8)-`pqMS@qS0jT=L<`J1K*EwOz|WFmxbly$p*{iEa^BNQC8?FL_<%e6d6}wt@6~+A+LPXl|Myb4!|_ zl4H(Q6Z&i-G)Z?xXjG37?~-;_LYu?IDN>ZMTQ~Pk^XM5-l!)D$KZjrl5Omx&5UAkXi*C-?fq%3^r-(oyZDpFf{JmA|6Ih$keW39}A&PbGO(`CJNr@#**F z5;m4AgwjW>JuE`BJuwfQK-{OVWMkgKyBRlz zSn;Vk=vpi@GyilI&p7dXx|Cn^J<03ci`+&nevi7sWb&Y}`mTNi87#zNPPs_6IH9eU zL>U#g;Pm!)k>pRulD1l`=9!9Nh1RX79%i zVlG`yJ@>nqZFR&yNY$?1xKuZ@(L1ik41^$;ayYNY5t(}nbHxq6>fa3@l?q)d#w?ot zS~~s$va*wc0)nkG@iY;fS6m4$o=X*r<-AG?TZnWECfs;3bKhi|=G(iOKesQ!4_7BB zV@_08cGW;~>*HNhIdCQtZ7i7Uu{>LkbUk~c@g4hQ5W5kgn9$-ZBg>^LznHaWw+URd z@3b7$MxEPkeVk?DVl*TEg1J|S2JoIK%+ELxWkeTu8dy^d+21v!g?$du7N=L8yYEx} zT25u~_ig*i<&ViD(%7cIGR_=&_g=P7oxit#d2Fbx3ebu05VgN!?IAGrId!qDUg28N z+r3M#Yp(ocjx+CY4=u~$=yr?z(?`8hVMcz70P2FNP_~hgp(`Z zU4)r0McU(JUfJvlMq9krb06UCqCCkFF}U>S5&C!ni}_}yhhX1W)Ts5H=jhfvki-8D5puIgvcEa5&wYCB;?)6LhL!70CC#h~<(1rp;DKTo zeyQDnWIB((yMO6~!mg-}7=Pj^_12s9oa@au;{M3fFXBYXFz<-y##l&Dgx^QuRr zHtyp5p%SP20xcXvj^~w=d7bv5>Htw=Txzz?gLjN>&WQ=icU)Dq!Q_ZLuN(gEG)4rQ zl8>u60$(h9E4;IKqpxwX&g}Jw&I5LEu^*jnC&8oWKUn7$oc$2-FMvl@1r8pht3B_s z?hq;8iR1LW`){bgOC8Xwc_BI}fqux6)YJd#4ggNb-;P{sv+&~LPk_Tafa=;~2ei;@ zr9eb^ajnl{U(wHpGPCq7W?VEn*NoG2v+(g{nH`Wv@N3n(_{-Y(PUcI!7JT-Rd%PyQ zw?>+(S=*jlg5Ya`hQI*S953}|MM}(ISPe!??N|CU6o{c#t3~V==0q>y;TFR1=&d(M z;*5@=4eteG9s`#^Q(BThRp-iW2S$r!(Pu@f@e!@C9EB-!R71LQyP*R$oGOe z_A4VL308_dj)jQ`)Ep;oiT>ZhGW{Y9U8n!5q6UL>xr$AA$9)&t>(;xHM7mOd;CK}> zsw1y=CJ454I;-c70MYjhFe8NFzHLdg;DG%ktwJM3eE1d4wM(k(%OWHxj}Y9?f3)*` z{e#zGttcZUL{3Y9DOjKAimH96`=Br<=nn@mf!%y(A8zvLrc^e^Ud);0?`Erz98T~a zU~1yLfxq@MMHS%h${{5&gca=0ct$uwNun47U8iIod$)M4Z&z=>DF-D#B=q%lNb}h( zm=vQd;hVp65WSGtCyh`3BHi`RlKF)OEj$d1P~DE?b4h^3+`zwYMsL*(-b`l?#6OP? zLr@02?~iGRuxq9Hdyr5NaKUSzN1@=}B&PGDVD!V+v*&5QuJ5jbAl_B53d#-xikx$X z8HDZPy@3fnr~2j#&I%|Cb!T;a^zK`&`eV@Otpb+8SN z%oV7VFSQILJ`Q}}7{uiOPK|O`UC$&_3gz1Zq7RNX zPBoMRB*J46AYqQx9v~$E+|a>c_u@GI>Zt(Yu{QR!Wof{zdIDy)s={^t{^-K(rGXD- z5nmu%#N+pOvQ76kH_=3_k`?xZN`3GQaFCd0;S~i4O$Vm-TO* zDzeS188~R$#E(}`lOB)fzhFO7%)cgVd#KuQJ>~@dL2-bNS zipgKNe*g_*OIRssXJ@Y=mY9NbEN~me0z{(9>UfukUXm0#cfTba{i1e)t%6Ea6 zxnv2*`9wrqzo}7VgE)fdjU9V$aF0Gr!pumfms(&v21=7QCrA5RA0DV#YqbCj$iC~` zS{iDGXb9KK^qaVnjUze(5!&OACqpiX$)?ZaNa}E7^@k$lK87!<|j`)4;t(CM#wL3 zyTso@XEx!1lnQ2#>xOP|KY9hMHOl~sNNGCQ%R2C^t9SP}BAEHmtV_iS)v__943b0B z^luo-nO|MyvR1pvq+v4%B$c-A#;Dzdco^;2+rUs*^+}(|u*XycOcxD9-8|nRzXta7 z#N+Cv?U1GH$hHK%BFmunpANizS}o`cIR7BH{;vo&kGDi8598eY+;13?Vd&YDsUC3o zvakEHY?FmybkHmTPpKw40WhW)&pXkV4qwG)Q8@B3Jd}Kn@`Vq=ge8+O2rQown)->> z50wSc)O*#js8@Q2*!4M4!*3odBMBcf=m=hGiUun;hCQ8jRv>8>lq`q|noa@F#yc-F zu)uAmJ7c$1{>#5Xj+ZW3824dG5T=!cil zNB~(;2So&&C7k2Ug;iqO7RXsf9N1zE22|)=eDq4BvV7`1gI8gw8O*V|88Zm5eLY5^ z(@JEs53F!#Vb+ObYW_|@s}vn3i8wk$pTolE;axXWukRX!C`YtlyPseW7A4GXWogid zC3Bqb4Kc9M(n60a$O8X=oz_)v;!t2hYh>Po3-*o^V zM1jz?=3z<5w?(qfh+D&CkV3(H3gu_c^A_!)ihM^;ZcMYwo%<3TLT(bSY{|uq7JAtU zGxBW-d<>4`BzDRh;aRT3g%Qhw6V%Mv%$9|M?iSqKRk^!KXs_)%fysUB-BzB@z!!Pc-DltlRPF^J71=kE3kQZSry2~fu{yz@8?v=reHh&Utio1o z3mMq-Y4v7U_HL>J`9pXm)(H`MDfN~d4!&0n8*lDa(soe`qi#awe1eq zn%#>J3asa^1cN)Uo|2hHH&m^J#eTfRtzo{O9M+u()<=Y-x$h$t^GW#4nvyh9e^dpO^NJ1gMWXnWV{LKo3z<4$@5z~0|T@)u#L-Ur}8(Zv7 zuk^*F(tJu<1ninz)@2a~JJT0Jbr}0Pcgm#*pie3*S7*kK=Q&!^iw>6uDpDT+&dqYV z73~xfBxEv+)%-!qV)nJB3u9V$7UPT31j;7q#l*a5-+Hr+nWoscVcn?edNv8xY?>n* z_PnU;L%kjd8Do6MMk)L~kgAcdLO9UkxiZq9c}5*lQc-l%1X;*W|6+UtMA z(|C1ns)qgRu=iF4VdP_gBrg91mq+j{YBYf?{XERLdIMw94BJp&@DXnw;5fn9vuN%h!Y-9>v>^RR38PMxY% zokEg0^UVy6erEhDDonR_3yTknK(x_^~kVvBamm})^HewbU zo|^4j`htcR18JrYQ)#C6)i??e^sLPEZ7YuhB$@+BmXH=~geTwVSZ56X;LnmH)OBOe6Zkezwk7&o)b|96?Q!qB2 z%;|wNrDDNxDfXqfgfg>|kR=m!vEiGRv7Lm0j+uz zHf_Yndx7626_Uw_$o!VyBSnS%+UI$X`+1>GiDkCHu=a6<*KL&%h4||%(cKQ@!px;J zG;NigATNu!qp2!UiG0{HI{5DPy_KlvT{8(<4NJ|6xJ~GUGP+f$(lWy$u0m_q;^xK%&)PGzcpv~^~jIisuJIq1` zL?G~i8{9Ak0TVM+0etAE4>jYw^3Ur)fvIoQG0_Fcp$kTD_E_?X@DL_!xgzx$r~kR> z35fLkbv25+UMyr{(65o+5@enRCtaaX58$ahp@g}bTl{s>67QDWZZ8JrUNyl#Nar${ zdZ+QXHU8DPZ$<)z#m>*eHOJxS!%Ok@;X@Czfqr2XRM_g3or!84Y&<~Zc(;=c?^B)9 zRT1x3WFN-pL`v@e>z8C8nQo2RGiR`CBwJ69VID@sx3%;5+u8X%$GpMeD876V`_mP- z8sQKB>@@KnrQ~*x0a}2sy#B2)Te9emL*R{c+WOYvI@kWf)qQE8MCS$P-I<6}`jiEe z?xiP8&Gvp8=Hap`k=fGQg~BnMx_{oEMLnIZ*3}wcrYF*mmL0zdL3Y(d-LZA`7)Z@4 zJSV(bqGGQUO-T>5<@WE7v1pMqx)fj*0(mJf(f{EE{g19_-I^4;9-3Cy_3RM>(%ktf z57i~s4p zCj9bq+>7>*vG4uw$3f4&bU}2=PrW(&?Wrp{VK+7Q{>UF>9mtjEB$VDfLO7>fjp9@y z$WUMsX#0fIRW|nk^Sy`OU$+B*1|lBHMNpUf0zU+EE}x76W%)b^mb*Mkz8op@lOx=c zGFv06K?(@8bAg0GZ*(iE_4E&B6zI*IY}rE>b(Nlg2&?-Um1;wPKbl6U#ZLh|gYj}0 zR`;wxP#nQ5cKdG7KQf&d4m|R#hb8WzEIJk}S}X)CTsf+*_J}yMK|Aa9ii*deJT%|( z{0}hIXJ&{6ny%pvB-wfaQ5l}!L8hG>1lY`4m6GJ~MpLMXqYeS$K+o{)j@(gEf9{?3 zjz&U56+VsEy#J#nV|qle{_K-0eT}nr7&2Xypp=@=_~TB~RVJggE5(lifE%kE&gU5Q z$^_P=W9Zc+WIxh}YuxxeQ=@2n$o&nC0B_i^3Yv4bXm(8=W&HiJQ9!iQ<2FG!8q`lW z6o4LMxJ2k-pA(STL_atLIXuG*6NC(?DTK=K`avzkVrhhs(3sXi!dZv9<6T!fiD2i5 zM~r~C-op{|>N0ZbK`0EDSj?J`I(?EmCbTmqW$X7nQ)io+LO zsZyhbIGr5bg8a2*dug`?EfLd3*dFMJE3cIf;ZWomq)SaoyNJAg*d(L{6~w3}AkI5XvO-_ItpG?2X@Nx2OM_pUz1U-E_$a0B1gG^`Gvw* z!9X+ddRu>vUhfK&w=-90@ktF?YCG78WM@f0+G4Z_m}ek~O}_UdNG}0*$QhJgNDova zDDa%CA#^{=U!!k^&|9$--E35|HVnG1@?99*)vtuvbv?{NC3_4|F%e z3HAJi9S!LZ``1LiWe>A0; ziE)K#pxH7Op#}tLhq8sgL){^YRz%LyC_J8-Ydl?P+H{V>0n?0X-ZhPhe3tb%s*JgO z;}y#}c;YYJZ3es=1V~nYaQ`N1I^d|;tl7x5r(gy zs8q#=Yf2dUAPC9wQBetQ#-{kpZEL7)_(C#BvvHPgBpW}YO%Y@d$sW|M_cE?2SjkNR z&r691vq6{iq1{rXrhuZ%0n#!jEj5bf_pkkgClwQ{Tk|; z`)!`o2aXs$G)FW(W-Z^D6bG=3i6TCGM~p9lDR-t?b#Z?Ed#pA3ys0$3yus}~V1>1w zu&dt3+}543fwcV+o2{%O?LXArWV>;aWCte1jF}TorJk!Q79>*M2!`r6CH|woit|0dEoXFj^KQRw~4QMV{z)?iu$&=IoW!X0iMdi(>^XiH*P2{;Sp6VWy z-Npde&{InvPz8`Z$LP=%1iv+x;&-QXAHTMeNsoFHs93Xs^)|gCAde+H^Jx8NCeRd)K!6mUawLcI>ud|(;^v1X}RMiQwS!wNN&7ebr)o})DGu(Q+xe6&>f zB#=}(zuOgIq#<+cwsr97pRM8d3&5U&k69pp#PWE)GsRY?FgU*PegO%8HIOxrlxpTU z?lNc-uzZ_jm4ip4(D3^PT?Y@pf3#I^bG{K`PG6 z{ox`YMVlR)=-!?a`i%km)!2kTEr*otx>>+9s9U+W-J*rY@>~Omk3i7hd!4*>Q3emj zTd6q_Ze0!R!_;TxKlffsbG9tZ0KSUSVERaz>FFzCUe6qo-2bh=#K@XLizYsjNR-@) z8BL^vu#?aZ2>aHNRHYC`si!N1PsPil*9hXpgo(YH*HIMbBB+vu>Zom#;O}$1c88my zuV4FSGeAQTp^nc-p6#Wre%1*odHnJiWobid|COP-lTCD%fn;qTir>NU+QF>l;@f_# zNPR^oY)vGQmh8HBU-E z(kN)=t320MgGm`3c(LyN<}jt}X1@A}6A2l;ys&3%*Coq+M;w$J$ljr%hy)Q=sRLe+ zxkaT+Uv04_WtgfDB-H;Qq*qxHLT2}b^jHc+j?xiT;)1EFfFQNBh=>C2v*63JI?%YS_1LYk2xJ>z^$gV9F} zvtg|4rX@PN_=X2TZyHpT)l=q{YjRY`ADmzst6}8!;h#3#6n{7|N7G>GN!O;2JZJ%) z9fBj!^$E#VDdEAhPoppI{?%DA-68-T!L5du%@|n?@^0FtWIAD?e^L_2mZM-<{^I4TSX0bUq6+lVFkjB=CcOl>fwHE4}H4doK@BNTYBe`bNt8|yz?mc zLh8she9#A)(0|y_vSmT~k&bk*<+5I9dHD3tGBA%gm9|0NpD>#pg-p)@9x^EAx9 zpFyU_!0hyH?!3DXZ@mieWKb?niuF4P{R+PVcfDQQ-+(N4T6m=Fyw5zxQe^Hyni(Kc zI}7k`yQ(Jm$+g_{I(6souJ%fUiCgz}U6ET}-^g0eT;7O6ItN&5VRGtwF?#rbj4qPT zi})?b|4Qpmmqyanui|gut=4AP)C=qTP2#1qqQYv$DD7r%o^`7AOfefr)@6^fwG&rpc`Y*WgAuWJ7(Fag)kL@h> zw$M8_!gK9MOLrfB$p~8Ne;+rSTn5gSiU@j%N)YJWCk0%{DmSmy^cIH;H$N(IoSXp7 za{KZAe43tpx}!X>K8ykKH>$s~=j!A7fHT6K=V`BFB!aP9P-@TM5eV^8%R)W)-zIZF zxjxH+Dr1u6YOk#^a5OJTgEvuc{00Q<%XEWZ!+bz%@rxe?bdY)dK_Tc_~c-TcMo`BD}WZc-X2UKT?KuH2jk;)|C%2uX35?lF5cx98sdcz>7e_O zhcxOUsCDBqpjsLtzyY%7n=b(DMa|v*Hpjn@>tEZCvaD^+tRyL5PTwDbW`AXwIfQNo zQk$27QSL*B0DbQPK1|P55CrA~8mTgW=x}(joLnr}! zViO37tME>rE&otD(hh$!R`=vdnakYGLEyXb-09b;x>lwp-8iO-@&+`Z`kmX-?%w(Z zra|7o^gIrA*iOJ#x$5BqH30xC5c%%?10Ug`6fqf;9?F zNfQQpY{?L05+h_54@9p4_vfKnG0T|Iqs1!}#Xt)gPGk!_rHe5) zT6Y27puWuVnJgNnfOO={7}+xc0KzJ05{t_~Lzvf)8U7^>!aVbN=|CMQwUiI>90A!bg3Ovr`rst9E#5Mq=8unNo8EnMkh*bGxEV5~ zT-pQcPrpjUZb)m$0ew9hwjH(s(*WYWvq0VQ54r`tc;fZ6{s6OjEha1& zDIdmKD3^P-K3HVbvf&D;^9-{PWG!fqFYevwzJ422f)s{#` zBaU~WEKJF1=!e+z1_CC1Gz?}e6gV?ApK5E~WE)=7BT!j-LazNJNiP>fV&-3D^=}(d zs0@k*JOd;ZzB42lc~2${L*gPpCv9(duhDS`7OluM@b2y>a3j59Z_vuiGMC3*)3=;3 z%u!DgrVRd7#cNj2P^Vf+HuSB?r|OZ0Gcy2hnf0c}C<&8UR2P5y%m}T}L)~&2igPhZM8uK&6xXo)GK=irTH{Cxa+V;JD?sc80s@d!*)eAm5^vL>j!!>TY4Z7>q z5z^S?<6OAPjfPLl(ZDWnRB7uwkbS!amqP@S7Fpfku{r&Q#n#V1WPbCk?tvQX%i?Zt zi5^Op!>(g@`U~W81MR1L<$Cps!cYo1GGG7zqIi*U;@(JjYxC`hd1@0)YH{9GB3k^* z1rdBrpH{+9(WcSrQcqRw$m%8RKSINrAA_|S8JUU42-+EcbNWg7BLmC1ea zrxN<>(L=^T9y_@eC`_>NbOMifbvf|qFHSHnJtCmBHQ8X=H0@Y|>UxITlDTa2H(PYM z!a``|QD?)+Y)KdltA%ZP8l}MW1_X|*zfX1MJv2W;t^gp0)-$xsPxBRYvrJ?BsVf zOQ=6~9BtK=YHu3)O0$U{%?Wh$ktl;ehTC!&qAwwh{OJoV)in**y| z>hf2NcBA0SiH;-@k+sUbufd126uv=`Eswgso-()^hdCwLCr$A<$GcaIlFlqm zxnr_R@adVBAsJHSm31}#ijSJOrvLg&zaYqHOu~Q2Do??o7?v<(xcfV_!0mg^K|*q| z`NoZ`%ssFgh)xv{j6Qn0(?)G*)OcT9C6DaoHk|+Sf#m=zFb~Wpw4EX8lE7!kyp}_Q zKqmZzyNs7Rn^B-K8jZrZi>&+9hI4mFrm@P+x@PLP1P=WDUTYu=(iYOC4Ecff78QK-iQAABMD;=?P>h*Spxqz+0a>XBy z`765hHUkBIHtj41l_u>|dBrDC#x@Z?58>MPXO)#J=c#fSpBn%nj5=7}K~vPO>VPX) zzUOO|5%kO(aSP=edJeVGM0I;5G50@s5yusXDXBd{vxe;LslQMc%@OZEG<^_a^`fNL zE;@*#8Vc^bbREr1RH)mP9Feb>9`!1$qyeK+U5DZSzQH`mwy?SMYU3ltg$OGu?QoHc z{7;!%D+cq36`c-+Mhgz+BDDuW8ZOxuxm+8O;2!?vFCD2}7=0|8#q@{jss0jMoh|O! zAgh2zZ<7kbu1d|%l(~KEUS|3{=zT&#--f?hfL~gOWl*@@PZRU_qCi#g^b*%dW3Ulx z$AOtHlT&X2ILUheBw|@X#^V?2=%MffK3{egzj=(> zN;Rq$qsH`5_J1*1(D6$403timP3^BSwB3nTo*r&minrO)s|R5ht4E1e1neqrhC16q zB(wBIOu-ik0-U~5@nM9ie;R^3J$c2J>k7oUUe zf^K^(-w)f|issTy+$Yt`kaa9z(CX@*J2Se%5x7z*b2ZY8n|5^ujh^_JB$<`0KoIV6 zRojsIg6M<|3jx`-om4Z!U`!~pD0~(DoprtU(g6C?ZG`=%$;i6p_z`d$3ZHY1>>s!j zdF8U1^l@~)#*6ZQ-+BKY=6t>SpAApqH2N#u9;}rb~t74L4 zs87R|Tod=_jS~#I2vjO_X1qo>?s)&qE@gfpeZYa&j@9wxoMWpB)^asOXM{v2?0X+S zI%YB|r88TzMGHrhpvV4;r~&#XiosSg3PqY}4zo$SA1mQ>#+9V+1#DO&Yi`H z=(l!~W%Z3#p}Few28hx4w-d;K#Pv0ZT>w%*E6K&28q34$!%6^%dk5f*1;I<1FES(1HK;BJ5SZrOY%mAZb_j0&UCJ4+FRV)7C*x z2iPhu0y$z$i3Eso%4}4z|DD(UKOYg|lj8}14IavAwVeWP;Z;aF9Urdl;RNJT9-+Kk z!#mljCm{WH4ARy@3ed6^2JdnpvPD{IP6MJrR|FPm1c>kVdPQ%zbaIm+dJ()^m#`@` z0jLtxHKGU}0Si78?_yBkTfJ+IX`dEjZhHXsJK+jIsqF01t$?l|LMpw;g3quTRWJ(5 zt}*aX*)N@#m9XpYyf^swmG!qK!(j8JL5$Pb@^I03U-oT~mCuSzE)+0f(}oP^OnVgN03hf}RU&ldVr!u+sa0@eTtSEFsdzy1p3F!S^l{^m z*ZTrEr{Y&a-ShsN)$o-RP{d2X`yWr}0&1UCVA19zHyJR3NTPmV?oi$faZD7niXeIe zZ1ufpE*9E?V{pkU!3XbwI@5m8A3WC2u5J;$yo=nD=HLNha;rTc3@Znr(+xnbZ1cLO z^Kp(FfaF~u3zxKqy3Zd}<2SYe0s;M@3Mr!;T=Ctf0R{bo;Qy`AiZ~c>ytAR2p?$6% zFJ#yYNnjg=CrsoT0bOWDF@Zi)2B@(T>n|C6)3n2#fIYU@YNc59ZDkHA2a@tjk0P@p zyB}81LX|&|=l-&kho~cqtdKBK<_S!dIrF+fNF0^_N;uyhAo|1+aK4c~AV9`7I;**K z=Ylz46`&4JvZ8f728fA{uHrfsZX@l{_p4jqM1b2DYQz*)1u3pkzZ}n040nNWgrJHt z$4P0+@kP2uZ-6%B=@a1B4T4VK;Ji1M-y&)ra4b%s>iG~f#0bV+MZo+GYaR{%5JX@xz+z*(1vn;T@znn`9a`$`|_I-PHRrS8OS+$P$6HZ>faTZMe${!4rZ2^KOSfeb;%Pq0>O)0@NH3CW&zrM0ak z@yh@g_l+MSq{ts>0NtxZ5}C2Usmw@d;!|ib5crG|nx-IkQW{zYpjvF@i%#H2f>qh(J+0T;=?T(378!Jwcfp_CF z0;kdK|3d#iAQ=shua1B|z8v98a^A+cSqvq)?sQG#`flmN{&qB~$g+bjwH=D8Kq68X z0NYVf>vKr?NTJGYaRzKk=0y3AmG=Q;vp7;}Zwq9#FURBq1lq$b(6!#gM)JoPkOMgD zKYy&ko?>o@!g?5iPH(`FQ4x3wLXt$~bDX6Ny;e<*`4mU3S(kvY?u0A@HFP}UI+Eg$ z#&s{pdXEp!-v=b5uY%{@1#DhLLX0@4S3$Izw=8VoRfL6*TQ;iP=}k+YYj~{sl5<4M3@(G|r8hg;GUgUG5X> z1i%k2yCJ)IA4=_d)e=FkugjC#1*rUlgN`pxdyu?NG`|Hz3=7NzT zl<0%QwlgCiho-NxyWp!fCfNeKSKOsi^Iv2TIRLC98VLDAoNi1twR3kkce*~1Y`DEV zD8*{o@J->N7I#qI)m3k~!#MD;hUn=> zSdHdIcOlc@DJJsetUtmY7Ka@MMl;3SeJK|t_xyfeVQ&TRkH`7GDGT`Vf|P2-%eV7$ zm=>5d?|Dd0#9ZR?epI;W_Mi32Bm|5&&Z5(ouDrZt`wEV@p?QVDJi;|~srm=&hz6HGWO-X|2E$!4N(nm#d*0o0W`CPw!4sQ-{^2N;@ z>;4cvTw2u0vEqKw_MAmZtr7&r{)J$m7aw69UV6!dc#a6YbUhsjfYegBEY&?G7We)V8C0&Bzpb}*J?#3@s)kxj3_ z=Z7nc!*<7BN?Ns&c@NKlVjV}cnK>OhNwNw)LR|S?Gk;+bg{gY0Ft1F)v$qqdd0kB@ z#|g>V))8ynXqD7?)&X6$WYL0r4unAb6!WZjKvLTU+(97S0@aZe*Y}sw=^cT(>f*(W=PG!P=-gR<3tI%5&Nics%@^1p?t8Cmi8xMF z^9c(3FgeqBd$4u}*f;Al3b(WA4L}wKnjVlEa&K9B)+A&UBn;V^-AGdYt{_l=Y-Ur= zUo-erI|~LLz6ff*jiC8_m7;-Ijnad0x9gF0lwUZ5)Cf72`M!z2^|f~emPzx09$!dx zixBi%X28Ym*+@r>;CY)S{mh<0)AM}*+5^i7C!kK6?%QmO5u>U7=?oChXo!qMq z^ka;Md&{3151;PQ?`{Z`u)mX;5F;q>`pLkcBlCP_?Me}7Bh;|yqKp=My-dek*Af`ePya-zB~{a3$WR zyU~a>`jog3dnZ@ksfA)Zw7qkn;?78PyHMze&e$P*EPGwEFIac}C~<3DtdxfJ;vwMV zi`@q?2cQtqgZVfM1hRWelZ_S-h*0pOhQwNg?TeFyM$qqPiAeRUU2ubofBC9Em4NI9 z@F`HGy}a2fk8iGJb-W3Qu)myv%|NCmh|kG@-yC_n^)*`40}Sto2dUbhxDArckSebV zLp)Tf1_$~HN0=HQ}eH_ z|5+p;Z?>H8xRz^bUmOs_-d6uls1OGp{)oeS0;c!p{#`{wmH!d&ey7x#y-)qu=lFH! zV@?4+huklR^IzM+ujgVDl1}`L_yB~4|N1BpM}QALjq0hwcmL`zev@8CkjGY{^!u-D z?0-rr=!Gm1WSz!qefO7*{Gaz^dIGNS{MyhvtN*?g6aEz_r1}5HE&9uAo`a^o{^B)<&)v)}24!{!ROvpP1bMsTAPVd&m|0qM>tXo2e{wPYtOJm) z#1!cs#ShK5cmVLQF}M=lG*qDF0clw|sL;haz4S{SzE~P6$dmvz@i=flroQUyk*NVX zFo;moH+ozbA$?%|E2j)<8)Qz7it?WWOJwQJd%%#cf@H0$FPcvvFDH;TIXO)LCT_%j zsuu83Uxci?)BBp)hX@f5|J%XuLs`xBqMiTSNvmw_^63xxnaCVra|rms0+l*I*hzST zh>c1}n;7l-dbkTHkv^w@xZ_+p)+`ueW4Q+^@1d|svE~XWSNa%~UCuW{C#E6cC1{LCuYp)8XaI5U?JNxk z;7a@UT2T#Dm#N^O%>$lQj3Hqk%YUD33^hc@p56o+oJvr!PjoW4v@)-*H;{@jw=aR1 zEjMrirH1x^<{Yx-`b6J?0@pmjkec#0>PeNiHKqF1lSQ2=@H!Li8|?rl`~Y~2mgk|s zC4g||NXmskoeiR?_P)bXtR0Euifz$0ti0$STgE#fvh{70gF%QW1;u+64u0N6=TPBrPsM3?lO^GS6$?nZ&%1+Y{(s0Q)+T4u; zPnHW>41kSe44_PoJGZD-pxjXd&`pj3v*D~m^@gGZLzgt5q6cfdJ!gFZOQ-8IO+>z$ zMc16m zDAGwULR>980V9UqxuFI`nY8{L%qVOE{HQfF>RRM}7U+_UMt^an zM5`d|CuzY4I1bhBJON)P)_|m56D4lJ^!;9*;R=Lol%Y0EA+DF=K+1c!*xcMC34qK* z_ZqhV5o~u%G=fJ+HwAED9*Vt7oOgzhb`jM4IQ7Kq*;?Bg2?9-D97a?x^BqJ^?HThNwIbu(gJe>FsWy9GtUD?H9NEkKwN$Oc}9~CO5MFy zSgkFH4MuXM`W|4d_95?+??(ra9O!Y)HUfUIUf=ukS9bJkC_5S{VrYnzU^s!W%!453 zYfB9q!m~EPR0$&hw79WFcbo7zL5%-8X%Zu&+;IXEQ3UDd#naKmwWR3wkVDxT>S&%w z$xY00#9+#99VDFmV)dDjlwlbRsOK64fJwOztW5L&kXnX;gE(M=g@D?m7;HvEcg-`K ziTBr@oQ#%$;JR_(_DA?OD01+%)vw2ZoMXg8l9xe4`lWVy(+3t&&d+1QwCsFmF14)3 zvv6j6gDkK@GmIh-zt2r|C@Modsq}U^$Or%en&;EukS>AZ0r?i)F>@FS=!(Zc)U!5+ z2Yj4*;yVafD+hgF1(?{~0`}q#UnOgnJ{u8yT20=^>&>k9r<*7(VP8i|Z1wf*PB+_v znWutl6(YI*R4ZAM*fiAY^eJAX7=GOPaz69eY&hv&FQIOaLvAK1@+!fhpK%tc8fGfo zG8twv2?7AQ-}y~?0)sn6znWrq8S4LjSw6lgz*Y4B%qfj^avB(5>48f@!zLVC!Xwm2Vw9hg5ifpXP8>>9`i(3b@ zw{lO_yEvP3j*q0)DGsth|g&Ic>VjK zG+!ur9x3)^}W>t*ySW1&twVs|D$d<^dO-!+*4VdYT_$ z(KjbGTr5`ZFl?lmVlK_zM?+fSXqB^RO0QZhBZwb=uupV*#j(s z_OCyJFsxEx+AiT0_UllJWU1EA^@Ei=?F!p1f|DVD^+{|QVUHj->N>DZr8&5qjD`Jg zQ{3;eu0m6mVM){sqh$f6Di1;9?!Fyw-vdc{#Ab?9EV(_G(ol~!M5CFo0s+m54@flg z_uSTiGo_S)miZ=3AfWs~l?P(g3r^cvX)^M(jFQ(=l2vsN8ohfT0nyD>I1;Zt}; z@kW!8s6Y6wIOS@fkt)M`EVybzCI|xMm~VsrEtU8FYAAoVjHmFC!cn%c7Mf1x4D)@4 zwM@o+jj$q2BQ818LbUzIgqjkJ96 z5b1TInswnKsf#n`8(fzulCN;}rYV)vKVGj#1nZf7enK#Uou~N{R^UsE7x^U?LV9sI z8z0HvV0A!*ZmFl79mSgnW_&36{!l8`nITemu*m)5af2-uWA#B$rJt-Hr3WAQDdU+_ zXi7gTb7AH62Xyfu@KIE69ub<_@>SQHvs&45*V*6Q-<%^pG5f+$7k)2iQ>>Yh1#!Kc zaYLi;)C{e2CyLKY7RNtuld6fDaguO%%aXilZyIFa6}j)!l42Wx*vD>ZEP=zASTMdI zBKa6+LuK0mpSZE*qa5d`eURz>Kdk`}mdg9BRkD3)f;SZ^)GB504oSTQ((gAWx-)H* zMbNN?#Q|DT+{Uw? zlaNRxtx+=1M!UaJ%1D<)Vl>ab2%Wh~>_1ng!Fe;`b8fyzBA-PgL%>s=Zn8e}7nV}4 z8SB$d$1qa{k5YS6dp^C~4YymQ(IhcT6eiBR(Pz+sTa0J4!&^ojnS+?-4bj}e-KuN@ zWEfQTG38xfAJ=jtJNFl@qjam$Pr9CvRUd-VD96Hb{uT|5quzuj%(#Mbtw1tlFK|U7vtVjj;k? zl?j4p*W5Xq_dbJo7q3j!tBiyU`@z)+CP#`3?6qZ<^18jJYJp$UR2@Iv=qC^t>ejvm zwfrS<^4p7MJP#;Bg$C>#(S$vhZ4>e;zjG!vF*#p6?F8WFB)_jsYjm@8gHG4>P?_BA z+_@la8*NNbGkK)Z!(Zyh`Hn-5gLQ1(n&l(xxSFGJnIb zXU=$L)Us;9-|&$H^BnqW%jg?iAzuh>x9ag*Xpr}<;*(II(Z>*PqGHI-DwH#-^BKILH2nzUe87wx%U{?UAg1Eku{dQ>kXPRGC)-Mn?*p9O`_J&#~U~=~~~O zdCQVT_9gws+V#nz(4NNnZIDP?4rf)=RTfrNhhjWLyf)3Z$fHFDjym!aPGO|y05j?xz6)knpc9##Uwae(EZaAEu?XrWhO={?PsN=K?AR$3sdG^DT}G@ z$jla;dG5HvpU^vZ`_=pw$D5-Ssbf7ngsP9qmUZ{y>kjm_7B4@a!yUGU z$_#%ZV|LSYOgLvXwGlv*By}x85A=Zx+n(v?Q(CP2YWg|AP7z5wsF9JC+{W|0dg*Vs zF?^vHKFS%khXS4P`K)GQrtjy^{>=rTp~W^?m687Ck6?D;VvCvMfNtb*tugu3cH1<5X{!7_vN!zFSt}M3X$sRIfp2lVbq^0*fLg#e%dNi1LE-~oK zbB?|-gY~igM7^DB{UG{S$-`aY7@|(nQh4jXzGwg0TsGs+=$wN-n#I{@IRg6T+Es*; ziT#X(Iw5GvbaH9M#^KpzuCloshxUleIya!TjE#ZK52I*O@{TeA>yU27VzAWoj*8tSxKR^#qu=AZI+{8PcDE@rVh6Kuqbx;AwCf@^1L6PPf>!jEj za>{q1J<_N$;+3RKXs`~~R4%kUGmb&gIats+kV~*g3QA&igX3S2Ik<=lt*|>?fO;`Z zsxPK^jvQn>Pt^HH8+R2~>??wm5F-mDd8@Yv#7*mIBJZY2Lodb$^F;a-MJ@jyJN8+Y zvrixukA-48+9`5$O^`26E1!p+o>VJRay_-U<@#|YHL<+#p|AvKu&)S|lwV6QME+Yk47@k`D13p7jC&rcM_vOQm4)5%~dXlfsK|SL3+4+(SvB_$; zSp-6?L~yy96RcWu*M;#97lR}Kmq8WYM8wy zGwXfuaKj{(j`GT9HkWZmlqy%8?W4!t4eeKf`~AOGO^k{m@gsCPMKyU_zHlHR7iSUZ zY1^_y1A`$BZa6PGLOfcRF|Y!vP!0+q4QBt&&++TfKo#`qnDqsyiwSQr|V;IS#Z~j3vt0@lw-wt-(Ma za~Dwkdpd=Y)nD|}WP8@}epf?XJCvM!!dj0i0(PAJfGya3P-y=}9n0U$o_ViuP-8NS zyn$S^`qm>dLloYWx>c#=GG-cddHv8CU^|TE69>-gZp0UOiexXo#}nT{)3}aQwDwbe ziXqjLm=#@!3mQ6|A#$z^%+cr$@m(Js3c>Rg2CD%Ad_Iec7uNw=>@xtYx?BT}Va7v6gPxj`e7b9<@q20!rwz`wt{|~z zKG?PX1Xwo9N$zEX?rfx09iYLt9D@m`H@Imm&eNp*2G{8Ud{bS{h-u z-3KMZKnVLnKtY|h=`l}HZ4~@{Mzu|fCBD*qvp#Z>ZyII1((hJ|;9&E+a)1aJQ3+mTm*Tbu(<0-hkQ-&iH;B15akTgfxPRa&DIMdE}y)@Jp(4Uup zEZW!vS#M2U^*Nbk&VaIq;dH`(95jh7+tWQmLBjtRW##nZ+8USw05=cGG8x_kbn=mR zfuMPm&XDPepUC|S{3Njl-=(%|J4Ln4|jX|R+ZY%PpT z6as46$OL`ojK2-+XoAi}>Lwm+19RfXzNjPA>Lq%A1F2$2!bJd1=Mj8^nI_+NHUv15l-A3aD9Z@@9&? z36hx8xg7EI84v(e)j?69rhlq-#3`ICHyxvwQh_5n0eGp@l<%M^awyH5P{w-pfQyx0 z3pIU!(G8@!j;=B~1%v@zlM23!XE92c2_fURk18p3B{_HiROjsWl5BVjz;{CrWLyTn zrsH^7!&L~+sD@P==mVfHk-^QZ=5BUy1|^FH)f`Z`l(|4XE19n7D>I3u+X515%>%FD zmQ4ae=INvc@$)hCe2i4SXb$cYsz$2>ZiAzjnq?P@-tXA5d3Nt}#ff9EP-fwaVJxX! z+wsWoYK~VZM@EKWJ$9&Ij36PkOTtv^eiNjr1rFgj{2Z7gX0n;11?^lMt}3j096&V- z)9)C*k_|f-qlHlDISUgwce9+&p2}gC=?mY^;s~s*!K; zX=B)@c~jge!(@;5jrU#-PjB0dqSjHqZ&K~1kg`tlA=3rJHmEGdKWWBY6H)bOynmUVr6L^VVsVA78KUH6;6llG>Zg^Ab0l$fbMSh&ahj zTc|4U7$T&3?>KQ|-a1}=N>YcAzC)~95E;iQO(-ZK?L_p&q;Jrq#iUZfz&d24=I7q{ zUd~>Yw|nkK(G|&xvvVmE)faLp_d|7_BoQYO7hFc3Fdva5)%LDA2bi zvSy%crz5?ldeXIe9BjipI|-SCzYv}|<;Mli*NB7Y{iEi{is_3KvO8g=k||9$MS>H; z^5lZ}o93UfK$D&P7=ymcN2 zzCAWV)_qk<)@!zXaR)KFHO0%?WFm6(9;81w-mDdz+@>pnUTmp;U~dI07WXS)_zb1h zTWERxOQZ7y54`-(woS&0rz=0CiKN9ETtG`;-aX-@za0f>+9)v8x0*fZy=lUoTLC=} zWANq4ojzAOYpMQYCPM?lK?s0V>XrMbb{01Tio9(EOBO1kPSRJr20 z#Sn#Bt}-E<2B8<6hHgOUm-!^%OVKkj3{4PlWpxl9X0`YZNGSVGb?q0}?+ir#s%2*@ z3nOkM&q+<+V9_H;moZ{Lao3F9>3{czbS?K8qxI1>Kt*B6pgssQnfLp8${BMX)K%?Y}iamTbrc{`ro6`dVf0d0UScuZdq+PR$#usBD5$)vc7aI6sn zq1a5AFaL`m1e}IF1{orCqZNsLM_-#$cB|9ZbKWxZ*B)V z3co&06^Pc%E~-&_8b%cbqtsV6gy`PEx#w#p2Q1G@|L>U$5igdPytv^1a4!FubPO;U zNn*Q+c7;b3s4&h&8twAZc{Y&>+om!&pf8B+*5Bh+f+h)~WlnVoM`}H1@^Yt4(XKMX zE;kCvW5Q=Mx(6xCpR_PwshAV6?7k2RSf;7XQ+M-S#XNM?D-=7FdgCP-n#7i+DT>Mj zSQQr1eVg+hV3)YTQ{A6=6!b%Ut+aCNR+`ZDnb!593#mFWUadTw!>H8q7C!4L+NP%c z*X|Hw9J`H>dN*zSB3j>=3N)?4Um~| zqKrz%6ygndD*XqkR1eaAIq#^$%GPPzc?dEaJ_QDYc2b*kC))lN4X9>Id?@r;-R!5i zKlo;cT($p{qu`lyqDe!t4S$wHjg9%b{`LafjlpoKYg)anet8gTmXmSNRTweAgrDf8 zYJ1q}Nj%48>2w_SlOx17K4`Or!fJG7`r5!Myk|=gS8%2z-{OfnxRcZGGV{Hd3WutW zx9#E-Iwq|3Eo=EBb()FnxVWySiYqPhciIxGW>QTvqZJo2Sle0JOiH`G?mwzbUfB3h zfJM>UQHzDzcD;n!EM>>;=a!(}XH43fegf3r7iCd)ArWuJ>-@9-cV}<@b!RD{pLO_& zYk(;NgLRz$68{u6muTb;{ph$aql9L=kX9W^a6aE32-x~avn{PNF?P_r`h6~SD$#ey zo+K-bHgP@*0xTutWT7*W^1QgW#x(&wSm$%&@D!ehcZmClgoZUxfz;g)qG5Dc_}Nra z^q|p1K%&x>*>6fe3}jrF7*w0LR7K21do;qz)*mnU4Nigwc*tG#u#Sc#zU*~ZQLy?b zrzq-t4>u>H507xe>!J@U;U3e?6%a-q8MK@fl#p~-$*KQkdM{adJm)9IHu2}Dn}JWa zK47*wK0@Fr2{^Hwb*>Y^DQ3GD{qEs&wBHi~O*>BQwlH)Im6)zz^ z$M0zkZ>?HQ5=VAtnYh+^aV+T9fmNZXg<4?8 zW(ZKdwRFfWLuxKRZ%x-cZF?z0Go*qMuit*G`WgD&)vooFKf$4shtq8E+t*V=VPbiJ zG|Uj5pMkq9y&pPFHA%TrQ5(Qdc5s@^dSP3+@q%!o&vJp*e{&v=@SEIa?MEJ8k{PtC z&Aur1S=DF75Lq$CQ^$NaVrAojY1PBFR7W*ucv&fL`aQ}nMi$F_BIz@|K}kp>OgyAs z=2v!*=k}1|!WSP7|8r1*#|VTocZAoK)-Ms&0X75Na2nCad^A5QVvBxE9CZ5)^ZI|O zrkm17sP!>wAI0Z9T#pV$*1v|O1}b`68(MCRSCF$|n4W+6`RY!6@2;6!cXFiqj$84B z_sRQ%pNVfZ8Y~)h{yB3;?%cMzBsT5=dG>0vHn)qSOV=JoY8DIJP#myrq8M;iD_-r_ z6}Zu*1XnKFevuOI(qdL6GvGQC;d5ooPb?vT7EaR_7yY!?b@2S_s*jJE@1H5=>HJnz zwU4c9?3a>{GAO-lc>Nx{&EZGM$!0yc`hT_y0mZYC zK0|>8bSu%dITPza1s+0qiz050I&Yl5z53jH2eTmkPo@d>?rlDTsEEB+V-U7ob0F3_Dkg<&7-2i*8iqWa&h|AC4;M4;$PALU?POxScC zn7hgQ_isQp%MqSJWnhx_lDkNqj$rF^72kj21wPTm|F7I4LfS!xHKrBbKYy-5pm#;Z zW{h^sp7)QV{lEXn_oPo6ci+#&{C&p%dG6ZUDmIq=N#$l2i8)Hf`s%nDlKSP&zc9xQi%)Kv*en+{O1Y&RRb6kkgSxX zY&Aq`f0D+M(lt{4`Ef~b*C?W2@lFP;yjoKb0(J%ee0#XnRdC}9>)w54w$nt#`_y(l z{_UGp zss@&D(fLoz-UdCcRR3dHf-CBsA>1~>s+<7uN}h~GMwpCIoP&%FCKpl-5O@zTmYt}Z zHxSTJntPwCH3Py59iM)V#fyPRzsx$rHXt$)gaMoAiV^fvkcW-)-}~1(-%JaIDxnq{*K&NPqSznf`fORd{mC zL>VEc$3H`xfk`aWc+gf?86W~h0oGR}n2g&-8S0(j4crCX_7}P5EYG&CD+~WxN3PQR zomc&}>cZa=TG&~JEdW1*TPPq=m>$xT8RA(5IF}93A|_4%+4urLx#~9nco?l8diZS$ zPl1WP4ot&nx|M#diuQ)8Gyqy2`+fyy}@41D}1MMxvv(0oXyj0hJPiwx^R9lw-JSeV;dA59cWvfKuNkZZ%GksppJ*VM{o4$Lrzw3lnD>u@PJ4bwatL(?>?vh(VXo{3z`w ztMb-YsdH9aV4{UETOjyQv-Qbl+I~CGipd1zOTfm0+B9KN1t$ZqmFQ$fJ(^KP?I*b8 zP{eaQ;#u>{Bf;Ag4DI~(?BsHsbNycB4Boe+Pz<(Vi4c=yj*4w^vzIlT63qP&Py$e)za2pJIBcmsXk3MlSOWNfo8SrvH z0CNXor)Ayk$@$BN&a=2uH5{+GM~l>qN?JwKzUl`47#3tdTY=yJTL#EMXu#KzIElZ- z+6;`)W>9fTOP2)R_@9Z_nNG8=K) zU|1gyel)b9!Hk}InO#xo`nT8m#;gO-hgl4hF{}8eS{~dX7sb!o^9zg|98B^d@oT%E z^YL|m^DPsbNI9klt^lV^?!lY>+omgGhL4+s9&V-o5pWC~3G%^;7r{iD>LjRqcG1zi zM;#7%dU5|2bRH(l6bxo|n+WBk->Add{cBh5)Xu$!VeZp> z<%%ikPzat3zi=LwZ920Lq{w+24a;u}ZTm~MdX$y%(V+L&hBxY&*GNx%~%N=V=U4|d{VRizf{uh?P#&vs& zO66N_+a)H7+9H{zD+j=WL;dv}_}gmf$t(EHOE!t(Jgb=xZr8uzp;YUIl7xVFwr!`2 zae-4QKuu~FNP5SRSNH{aG=^09174p-O+!VCZn>+zz~f`)|S*Yw4)aX?na0I=m_Ae)qtDpL{M%D~Q- zsIObbG{$AudOlT}PawCC*R$hQr01BTY7Q|GthbWorY`+} zB<2&bG{2z5U^;}O#VQpf9_J=fh|ipXzS2Tmx$(cyl$m_yT8&+j{3}bP`~i|}QXRbx zhR>U0vzo3AH*c1DI#oo_sH$j6x!fi8zUJbNTjqLeY8^Zs%ijtz0O7UhtdG%>0)@~g z6%nO?vuZfYKjWT~1X#-wWB_f`Nmdm|HO|r^Y`N?+Z{6^Y?$+>61-kBC(+-+vu=cFx z!fb@wO%J~}*NyMma)pVsZA?oIg+I`^VKf2g#L-|HN^R#D`!iciSS(5Xa!2j6;`;qt z_$&F}*#|J3y-X26bkV>?XVUTR0oT@^z)1la`RzbK>L=wn>8{^VPQ)}EMPbKJag%&v zZrWv^18l3SFf^GZdQzM_kdNJ!Pd6e#8p1!`4`OzdBPaiM_D(BWV<9!e=T#EiM7AEPxj*IOsO;S0J*fHQb4ZU#ev9d7^T$VqLM)aqIL&f?UqJY^R4E$Xk1Fb5)PTsb z!~n-~`1<24Y3h`6jvSCCGGV8;IV;9-viysfas&u>7bZY|!bw$nTX- z7-6SM?hOnx2jBvm?SB>vf&P_z<5S(z(Bl=GE@|v)*{jUr8Y|RPqzA}Tqx`q#BY~z^ ziHu#T-t9}V-07@9W*DV@u!tB=Jw~heemaOq) zr_@fy3(*Y{CzeJ$f7MfLtvjwR;F)EQkG-mfz2p)eFKac=0qTAapou^OrdVZUAJ*t* zmCN-Ez)inr;?==hXlaI`;M9;i1wP(XrT&1c_oDV11{4FONo_zLeu|NlyYdwLdtB}H z*2=V7G$+9SH>F@*x)EWdqlB z=qg_w+c18k=oGAIQJOf(TY>*xE}td7!Ec~#qxTrsKlN}Fa2J}vC)sNHwb@(=Mf1YQ zCdUL_p&XE6?j$)bzN<5)F>bI3yuOvpcmiZ>g*5A}?*`^TbrY-lZdLu&F7UF>FUv&b zt&{`#x@Z*Q% z76vh;Cx^THVT~SN2FtiBSeYaG0X>!qU#^yQ@I6HX%0-PxQPu+VZjxUR;Au&Gk>C3X z#>-u-@4*|X)q)Xg)Ar4vHe`f=W5B;qOT5|ff)8;pYGN)CT48l%$l7+K1a%Ox7MbfAE()t1L!&)fWs3FM)L6_G1X%c z!ISw&nBm^4l)!ze?bTYuB(lvR=)s@w4K1}mm#=xGw1p-=)zuh2Li2H>cE6-Xu*Dc| z@buuoO=ZD`KLdUihGZal+A-X=i7~}wo3i6^glK&2%*JnMzBxGU@0cje^=K=GyMeo9 ztMzaQUxxGfsw|z6*&M&+jtf_UK{pkk(W=yvqE6oL+ zv6jSqv#Rw{UURUGaA9bbB<}vzMUQH_b<#u&jh7g z*c^%9#5b0H2}WYPm5)8a?u&5Tc;WtDOi^^i_=ni<;s1fk1%Q50Xeud%6{y~$v*{rPB?1Q)fJisbl#M;I1~+X6d=Ez$IB&fPfH`aD!2zN#l+ z<`k~}VcVysH}?KXaqpc|ARjYE>BITcU*@huT$PTp>zj5)d!#EFrZR^=0PbY#?sS(W z6*uCkBwjE0PqmD+41XI`~zr2NH{da$N=O?Rg3rm<+QW9c`5R6tM>*AO+V#OXM%H&I` zGVTYv^J>LgSnRKCq(rPZNOc&WhsmkKzWv<3XfwURGvY6a5D$*SrU!`Q3`KZ8_RFcc zzI&!A*L5U~@=uMfNZF$ek4jS%3fgqIe5lB_86+pu!|@JpowD+=gyNs ztdFJ{M&hFB%nkCXHr7$1In%B(Zj!k)hbLg(nS|p@4V7=nXf(}97g}q4qc%0aL7<;A z6rL)eYe3ca>75gQj~?-`+%>s?TM388%PX#qdwHH62z`B|`cG|^j~c&k%?=#kOc#mJ z&=I!s62^xQch1aQnU`C5FG?(opvvj857PL-QKHol6~ioPuldz6Dc`583N}MzyxMP5 zkFAV+u(Qh6&*NgpmD_G2^wn&mg zs-^Twgr}0zA+zsQRKBXae&A#&!#U+d5Tm3W=;KZ4R&ZH#sV(S7Kt2+s`}?I)r=OmP zp*smT+9{YX3zWF?(x%T^q7AtDv`jvGb|cjqiA(un=_3{a<2f$yHjR>Qj5HTLRBhJ* z4Fw!{7hkA?WjU?7?nf%sN2XsklDMd~oFAjb+_=h(^Ld=!z!1}VvSYN({ZOR++t!hc z3L_dxy?Iy3Xl|8*n&Hf~AUJf#DRj9AD;H|X-H>XS6&q1lQg^9D9(n!jdHW5%01iF+ zUS*z#IxeGAU-=`y8d0n~Sn^vYV>nDhAcv~zRx?9dc~g}JSWXf+Q=0nLOOn25`{4e7 zNCKq7Z5bTg@A_oBHS1_TaT+{KVv#NBV$s=r3(D)FY=(ziLvgV#P$!hI)@^kz5i&zW zL;)URbzD)OofP5484s?QBfn2Opd@iHpd^%ceBns$CGx@w^vU!`RY`CNxInZP!7jO2 z#q9GrrqTPdkA#18{OaB{hv-R0+VNPvICc_oH+;XePocO<^|1+U$_^ZU$LgxndP6Gm zxnJrlEWI=#s_iZ1S=YAmClu2K#Kwt|pRo#`1TMHso8Rucz=&ZLMHgdN%3Gy$xfJ=} zRKI`@HqK$nflrGyRf>^Dkf-ItVqW|-nrz4ZYcYToaY5sEXowdWy@9|q?zK_G#{n_a zPZqf7*3QO<-xJ~h#qg{1(c6Q*-n+geK9!Ub8LH7+&qq*q!So@<&w@i~?-oCg*{((?m#HzD<;GCG?R9p7@*EV#b0s<`31|C{dHp6P69O(GLgqiTR z_^$`rQ%flSCGW!&FZ!12rl<`ecwwQ#>w@!##WA;-epMH)?I`_T!))`Mg%A4lt6w%A zM#_Z-!m*sS@d&?$`t_qERN-sAAqCpv;PvhRU*ynE<%MJ~>1&Yh&P?AGjZW2{JPy7K zk7#70&vuH({$Awe8bfMZ>x=`2eSiPyU$s&Vl{js^d70TAeQE&`xAhK%ec|6vMl;t3 zP)P2MHPp=g5#sO-j58q0od?t8{`mjkpm!|6F9z2F&Hv0(0jf$4Hl4d?5b=NZqCk&r mkQe;o|NoMI-AQtejYeyw9}Rk1n;K`pAFZp`5GAU&BmO^WB;9KO literal 0 HcmV?d00001 diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Note Navigation.md b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Note Navigation.md index 321b9dd23..94530ed19 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Note Navigation.md +++ b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Note Navigation.md @@ -13,4 +13,4 @@ This works identically to browser backwards / forwards, it's actually using buil This is useful to quickly find and view arbitrary notes - click on `Jump to` button on the top or press Ctrl + J . Then type part of the note name and autocomplete will help you pick the desired note. -See Jump to Note for more information. \ No newline at end of file +See Jump to Note for more information. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search.md b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search.md index a533eef40..e233405ca 100644 --- a/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search.md +++ b/docs/User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search.md @@ -5,7 +5,7 @@ The _Quick search_ function does a full-text search (that is, it searches throug The alternative to the quick search is the Search function, which opens in a dedicated tab and has support for advanced queries. -For even faster navigation, it's possible to use Jump to Note which will only search through the note titles instead of the content. +For even faster navigation, it's possible to use Jump to Note which will only search through the note titles instead of the content. ## Layout From 17b206fc7235a0e27513fc07b14f0a5a4aeacc95 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 15:47:07 +0000 Subject: [PATCH 207/505] chore(deps): update dependency eslint-plugin-playwright to v2.2.1 --- pnpm-lock.yaml | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c85a56805..cebed4aa7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -110,7 +110,7 @@ importers: version: 10.1.8(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-playwright: specifier: ^2.0.0 - version: 2.2.0(eslint@9.32.0(jiti@2.5.1)) + version: 2.2.1(eslint@9.32.0(jiti@2.5.1)) happy-dom: specifier: ~18.0.0 version: 18.0.1 @@ -8564,8 +8564,8 @@ packages: peerDependencies: eslint: '>=9.0.0' - eslint-plugin-playwright@2.2.0: - resolution: {integrity: sha512-qSQpAw7RcSzE3zPp8FMGkthaCWovHZ/BsXtpmnGax9vQLIovlh1bsZHEa2+j2lv9DWhnyeLM/qZmp7ffQZfQvg==} + eslint-plugin-playwright@2.2.1: + resolution: {integrity: sha512-vYGKs9Y0H2A7tvvuKBF11w2aJa7diS9JRJbo/3Y5nU12RRgZummSUKvfZbickRdNVmt65R4lSrWn8Nyali2a3w==} engines: {node: '>=16.6.0'} peerDependencies: eslint: '>=8.40.0' @@ -16833,6 +16833,8 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -17085,8 +17087,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -17165,6 +17165,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -17311,6 +17313,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -17422,6 +17426,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17445,6 +17451,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17572,6 +17580,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -17768,6 +17778,8 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -23558,6 +23570,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -25310,7 +25324,7 @@ snapshots: eslint: 9.32.0(jiti@2.5.1) globals: 15.15.0 - eslint-plugin-playwright@2.2.0(eslint@9.32.0(jiti@2.5.1)): + eslint-plugin-playwright@2.2.1(eslint@9.32.0(jiti@2.5.1)): dependencies: eslint: 9.32.0(jiti@2.5.1) globals: 13.24.0 From ea03695c750ff9a7c3df138bb291a01d1658ba86 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 15:47:13 +0000 Subject: [PATCH 208/505] chore(deps): update dependency typedoc to v0.28.8 --- _regroup/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_regroup/package.json b/_regroup/package.json index 59a83533a..e97a450d7 100644 --- a/_regroup/package.json +++ b/_regroup/package.json @@ -49,7 +49,7 @@ "rcedit": "4.0.1", "rimraf": "6.0.1", "tslib": "2.8.1", - "typedoc": "0.28.7", + "typedoc": "0.28.8", "typedoc-plugin-missing-exports": "4.0.0" }, "optionalDependencies": { From 8fda2dd7f1d429eea2b2cffd4a471a4c1e30fd8a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 28 Jul 2025 18:58:26 +0300 Subject: [PATCH 209/505] test(client): fix error due to JQuery --- apps/client/src/services/i18n.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/client/src/services/i18n.ts b/apps/client/src/services/i18n.ts index a85df588c..8c95fd053 100644 --- a/apps/client/src/services/i18n.ts +++ b/apps/client/src/services/i18n.ts @@ -9,7 +9,7 @@ let locales: Locale[] | null; /** * A deferred promise that resolves when translations are initialized. */ -export let translationsInitializedPromise = jQuery.Deferred(); +export let translationsInitializedPromise = $.Deferred(); export async function initLocale() { const locale = (options.get("locale") as string) || "en"; From 055e11174d98add5e0945b55d7b81d5dd6761596 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 28 Jul 2025 19:59:10 +0300 Subject: [PATCH 210/505] refactor(hidden_subtree): deduplicate restoring title --- apps/server/src/services/hidden_subtree.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/apps/server/src/services/hidden_subtree.ts b/apps/server/src/services/hidden_subtree.ts index 5aacf1756..ec69f0154 100644 --- a/apps/server/src/services/hidden_subtree.ts +++ b/apps/server/src/services/hidden_subtree.ts @@ -383,12 +383,6 @@ function checkHiddenSubtreeRecursively(parentNoteId: string, item: HiddenSubtree } } } - - if (item.id.startsWith("_lb") && note.title !== item.title) { - // If the note title is different from the expected title, update it - note.title = item.title; - note.save(); - } } const attrs = [...(item.attributes || [])]; @@ -419,7 +413,8 @@ function checkHiddenSubtreeRecursively(parentNoteId: string, item: HiddenSubtree } } - if ((extraOpts.restoreNames || note.noteId.startsWith("_help")) && note.title !== item.title) { + const shouldRestoreNames = extraOpts.restoreNames || note.noteId.startsWith("_help") || item.id.startsWith("_lb"); + if (shouldRestoreNames && note.title !== item.title) { note.title = item.title; note.save(); } From 9d03d52f2832da5d12c65ff1ad817057760a8a41 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 28 Jul 2025 20:02:46 +0300 Subject: [PATCH 211/505] fix(hidden_subtree): unable to change language --- .../src/assets/translations/cn/server.json | 1 - .../src/assets/translations/de/server.json | 1 - .../src/assets/translations/es/server.json | 1 - .../src/assets/translations/fr/server.json | 1 - .../src/assets/translations/ro/server.json | 1 - .../src/services/hidden_subtree.spec.ts | 22 +++++++++++++++++++ 6 files changed, 22 insertions(+), 5 deletions(-) diff --git a/apps/server/src/assets/translations/cn/server.json b/apps/server/src/assets/translations/cn/server.json index bb4edac0c..3c5f8d6b9 100644 --- a/apps/server/src/assets/translations/cn/server.json +++ b/apps/server/src/assets/translations/cn/server.json @@ -220,7 +220,6 @@ "go-to-next-note-title": "跳转到下一条笔记", "new-note-title": "新建笔记", "search-notes-title": "搜索笔记", - "jump-to-note-title": "", "calendar-title": "日历", "recent-changes-title": "最近更改", "bookmarks-title": "书签", diff --git a/apps/server/src/assets/translations/de/server.json b/apps/server/src/assets/translations/de/server.json index de7b98370..fc054ee24 100644 --- a/apps/server/src/assets/translations/de/server.json +++ b/apps/server/src/assets/translations/de/server.json @@ -212,7 +212,6 @@ "go-to-next-note-title": "Zur nächsten Notiz gehen", "new-note-title": "Neue Notiz", "search-notes-title": "Notizen durchsuchen", - "jump-to-note-title": "", "calendar-title": "Kalender", "recent-changes-title": "neue Änderungen", "bookmarks-title": "Lesezeichen", diff --git a/apps/server/src/assets/translations/es/server.json b/apps/server/src/assets/translations/es/server.json index d36ee8d37..55e034555 100644 --- a/apps/server/src/assets/translations/es/server.json +++ b/apps/server/src/assets/translations/es/server.json @@ -229,7 +229,6 @@ "go-to-next-note-title": "Ir a nota siguiente", "new-note-title": "Nueva nota", "search-notes-title": "Buscar notas", - "jump-to-note-title": "", "calendar-title": "Calendario", "recent-changes-title": "Cambios recientes", "bookmarks-title": "Marcadores", diff --git a/apps/server/src/assets/translations/fr/server.json b/apps/server/src/assets/translations/fr/server.json index 8c6bb7744..1c5bbc746 100644 --- a/apps/server/src/assets/translations/fr/server.json +++ b/apps/server/src/assets/translations/fr/server.json @@ -216,7 +216,6 @@ "go-to-next-note-title": "Aller à la note suivante", "new-note-title": "Nouvelle note", "search-notes-title": "Rechercher des notes", - "jump-to-note-title": "", "calendar-title": "Calendrier", "recent-changes-title": "Modifications récentes", "bookmarks-title": "Signets", diff --git a/apps/server/src/assets/translations/ro/server.json b/apps/server/src/assets/translations/ro/server.json index f368d5b0d..b180a9331 100644 --- a/apps/server/src/assets/translations/ro/server.json +++ b/apps/server/src/assets/translations/ro/server.json @@ -209,7 +209,6 @@ "etapi-title": "ETAPI", "go-to-previous-note-title": "Mergi la notița anterioară", "images-title": "Imagini", - "jump-to-note-title": "", "launch-bar-title": "Bară de lansare", "new-note-title": "Notiță nouă", "note-launcher-title": "Lansator de notițe", diff --git a/apps/server/src/services/hidden_subtree.spec.ts b/apps/server/src/services/hidden_subtree.spec.ts index dfdfb9ecb..95c4c4318 100644 --- a/apps/server/src/services/hidden_subtree.spec.ts +++ b/apps/server/src/services/hidden_subtree.spec.ts @@ -4,6 +4,9 @@ import hiddenSubtreeService from "./hidden_subtree.js"; import sql_init from "./sql_init.js"; import branches from "./branches.js"; import becca from "../becca/becca.js"; +import { LOCALES } from "@triliumnext/commons"; +import { changeLanguage } from "./i18n.js"; +import { deferred } from "./utils.js"; describe("Hidden Subtree", () => { describe("Launcher movement persistence", () => { @@ -79,5 +82,24 @@ describe("Hidden Subtree", () => { expect(updatedJumpToNote).toBeDefined(); expect(updatedJumpToNote?.title).not.toBe("Renamed"); }); + + it("can restore names in all languages", async () => { + const done = deferred(); + cls.wrap(async () => { + for (const locale of LOCALES) { + if (locale.contentOnly) { + continue; + } + + try { + await changeLanguage(locale.id); + } catch (error) { + done.reject(error); + } + } + done.resolve(); + })(); + await done; + }); }); }); From 138611beaffd03215ce4a5de5072f6864d9bf6bf Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 28 Jul 2025 21:18:06 +0300 Subject: [PATCH 212/505] chore(client): remove unnecessary log --- apps/client/src/widgets/dialogs/jump_to_note.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/client/src/widgets/dialogs/jump_to_note.ts b/apps/client/src/widgets/dialogs/jump_to_note.ts index f745cdb76..6c9b78d84 100644 --- a/apps/client/src/widgets/dialogs/jump_to_note.ts +++ b/apps/client/src/widgets/dialogs/jump_to_note.ts @@ -179,7 +179,6 @@ export default class JumpToNoteDialog extends BasicWidget { // If we restored a command mode value, manually trigger command display if (this.isCommandMode) { - console.log("DEBUG: Restoring command mode, clearing and showing commands"); // Clear the value first, then set it to ">" to trigger a proper change this.$autoComplete.autocomplete("val", ""); noteAutocompleteService.showAllCommands(this.$autoComplete); From f04f45ea6227808393446f1ab4f51b29af2a3632 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Jul 2025 01:28:09 +0000 Subject: [PATCH 213/505] chore(deps): update dependency svelte to v5.37.1 --- pnpm-lock.yaml | 72 ++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 38 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cebed4aa7..b440aa168 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -809,13 +809,13 @@ importers: version: 9.32.0 '@sveltejs/adapter-auto': specifier: ^6.0.0 - version: 6.0.1(@sveltejs/kit@2.26.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) + version: 6.0.1(@sveltejs/kit@2.26.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.26.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.26.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@sveltejs/vite-plugin-svelte': specifier: ^6.0.0 - version: 6.1.0(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 6.1.0(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@tailwindcss/typography': specifier: ^0.5.15 version: 0.5.16(tailwindcss@4.1.11) @@ -827,19 +827,19 @@ importers: version: 9.32.0(jiti@2.5.1) eslint-plugin-svelte: specifier: ^3.0.0 - version: 3.11.0(eslint@9.32.0(jiti@2.5.1))(svelte@5.37.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)) + version: 3.11.0(eslint@9.32.0(jiti@2.5.1))(svelte@5.37.1)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)) globals: specifier: ^16.0.0 version: 16.3.0 mdsvex: specifier: ^0.12.3 - version: 0.12.6(svelte@5.37.0) + version: 0.12.6(svelte@5.37.1) svelte: specifier: ^5.0.0 - version: 5.37.0 + version: 5.37.1 svelte-check: specifier: ^4.0.0 - version: 4.3.0(picomatch@4.0.3)(svelte@5.37.0)(typescript@5.8.3) + version: 4.3.0(picomatch@4.0.3)(svelte@5.37.1)(typescript@5.8.3) tailwindcss: specifier: ^4.0.0 version: 4.1.11 @@ -14080,8 +14080,8 @@ packages: svelte: optional: true - svelte@5.37.0: - resolution: {integrity: sha512-BAHgWdKncZ4F1DVBrkKAvelx2Nv3mR032ca8/yj9Gxf5s9zzK1uGXiZTjCFDvmO2e9KQfcR2lEkVjw+ZxExJow==} + svelte@5.37.1: + resolution: {integrity: sha512-h8arWpQZ+3z8eahyBT5KkiBOUsG6xvI5Ykg0ozRr9xEdImgSMUPUlOFWRNkUsT7Ti0DSUCTEbPoped0aoxFyWA==} engines: {node: '>=18'} svg-pan-zoom@3.6.2: @@ -16833,8 +16833,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -16894,8 +16892,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-watchdog': 46.0.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.8.3)': dependencies: @@ -17087,6 +17083,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -17109,6 +17107,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17580,8 +17580,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -17778,8 +17776,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -21273,14 +21269,14 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.26.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': + '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.26.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': dependencies: - '@sveltejs/kit': 2.26.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/kit': 2.26.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@sveltejs/kit@2.26.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/kit@2.26.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@types/cookie': 0.6.0 acorn: 8.15.0 cookie: 1.0.2 @@ -21292,26 +21288,26 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.7.1 sirv: 3.0.1 - svelte: 5.37.0 + svelte: 5.37.1 vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) - svelte: 5.37.0 + svelte: 5.37.1 vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) debug: 4.4.1(supports-color@6.0.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 - svelte: 5.37.0 + svelte: 5.37.1 vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vitefu: 1.1.1(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) transitivePeerDependencies: @@ -25329,7 +25325,7 @@ snapshots: eslint: 9.32.0(jiti@2.5.1) globals: 13.24.0 - eslint-plugin-svelte@3.11.0(eslint@9.32.0(jiti@2.5.1))(svelte@5.37.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)): + eslint-plugin-svelte@3.11.0(eslint@9.32.0(jiti@2.5.1))(svelte@5.37.1)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)): dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) '@jridgewell/sourcemap-codec': 1.5.4 @@ -25341,9 +25337,9 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3)) postcss-safe-parser: 7.0.1(postcss@8.5.6) semver: 7.7.2 - svelte-eslint-parser: 1.3.0(svelte@5.37.0) + svelte-eslint-parser: 1.3.0(svelte@5.37.1) optionalDependencies: - svelte: 5.37.0 + svelte: 5.37.1 transitivePeerDependencies: - ts-node @@ -28167,13 +28163,13 @@ snapshots: mdn-data@2.12.2: {} - mdsvex@0.12.6(svelte@5.37.0): + mdsvex@0.12.6(svelte@5.37.1): dependencies: '@types/mdast': 4.0.4 '@types/unist': 2.0.11 prism-svelte: 0.4.7 prismjs: 1.30.0 - svelte: 5.37.0 + svelte: 5.37.1 unist-util-visit: 2.0.3 vfile-message: 2.0.4 @@ -32041,19 +32037,19 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.3.0(picomatch@4.0.3)(svelte@5.37.0)(typescript@5.8.3): + svelte-check@4.3.0(picomatch@4.0.3)(svelte@5.37.1)(typescript@5.8.3): dependencies: '@jridgewell/trace-mapping': 0.3.29 chokidar: 4.0.3 fdir: 6.4.6(picomatch@4.0.3) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.37.0 + svelte: 5.37.1 typescript: 5.8.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.3.0(svelte@5.37.0): + svelte-eslint-parser@1.3.0(svelte@5.37.1): dependencies: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -32062,9 +32058,9 @@ snapshots: postcss-scss: 4.0.9(postcss@8.5.6) postcss-selector-parser: 7.1.0 optionalDependencies: - svelte: 5.37.0 + svelte: 5.37.1 - svelte@5.37.0: + svelte@5.37.1: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.4 From 769bc760b38b9cd741e64d0b1196efe6e01169d4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Jul 2025 01:28:50 +0000 Subject: [PATCH 214/505] chore(deps): update nx monorepo to v21.3.8 --- package.json | 22 ++-- pnpm-lock.yaml | 301 ++++++++++++++++++++++--------------------------- 2 files changed, 148 insertions(+), 175 deletions(-) diff --git a/package.json b/package.json index 27dcf595b..fd1e7e6ea 100644 --- a/package.json +++ b/package.json @@ -27,16 +27,16 @@ "private": true, "devDependencies": { "@electron/rebuild": "4.0.1", - "@nx/devkit": "21.3.7", - "@nx/esbuild": "21.3.7", - "@nx/eslint": "21.3.7", - "@nx/eslint-plugin": "21.3.7", - "@nx/express": "21.3.7", - "@nx/js": "21.3.7", - "@nx/node": "21.3.7", - "@nx/playwright": "21.3.7", - "@nx/vite": "21.3.7", - "@nx/web": "21.3.7", + "@nx/devkit": "21.3.8", + "@nx/esbuild": "21.3.8", + "@nx/eslint": "21.3.8", + "@nx/eslint-plugin": "21.3.8", + "@nx/express": "21.3.8", + "@nx/js": "21.3.8", + "@nx/node": "21.3.8", + "@nx/playwright": "21.3.8", + "@nx/vite": "21.3.8", + "@nx/web": "21.3.8", "@playwright/test": "^1.36.0", "@triliumnext/server": "workspace:*", "@types/express": "^5.0.0", @@ -54,7 +54,7 @@ "jiti": "2.5.1", "jsdom": "~26.1.0", "jsonc-eslint-parser": "^2.1.0", - "nx": "21.3.7", + "nx": "21.3.8", "react-refresh": "^0.17.0", "rollup-plugin-webpack-stats": "2.1.1", "tslib": "^2.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cebed4aa7..37c3cbfd8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -43,35 +43,35 @@ importers: specifier: 4.0.1 version: 4.0.1 '@nx/devkit': - specifier: 21.3.7 - version: 21.3.7(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.8 + version: 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/esbuild': - specifier: 21.3.7 - version: 21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.8 + version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint': - specifier: 21.3.7 - version: 21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.8 + version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint-plugin': - specifier: 21.3.7 - version: 21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.3.8 + version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/express': - specifier: 21.3.7 - version: 21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.3.8 + version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) '@nx/js': - specifier: 21.3.7 - version: 21.3.7(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.8 + version: 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/node': - specifier: 21.3.7 - version: 21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.3.8 + version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) '@nx/playwright': - specifier: 21.3.7 - version: 21.3.7(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.3.8 + version: 21.3.8(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/vite': - specifier: 21.3.7 - version: 21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) + specifier: 21.3.8 + version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) '@nx/web': - specifier: 21.3.7 - version: 21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.8 + version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@playwright/test': specifier: ^1.36.0 version: 1.54.1 @@ -124,8 +124,8 @@ importers: specifier: ^2.1.0 version: 2.4.0 nx: - specifier: 21.3.7 - version: 21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + specifier: 21.3.8 + version: 21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) react-refresh: specifier: ^0.17.0 version: 0.17.0 @@ -2779,21 +2779,12 @@ packages: engines: {node: '>=14.14'} hasBin: true - '@emnapi/core@1.4.4': - resolution: {integrity: sha512-A9CnAbC6ARNMKcIcrQwq6HeHCjpcBZ5wSx4U01WXCqEKlrzB9F9315WDNHkrs2xbx7YjjSxbUYxuN6EQzpcY2g==} - '@emnapi/core@1.4.5': resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} - '@emnapi/runtime@1.4.4': - resolution: {integrity: sha512-hHyapA4A3gPaDCNfiqyZUStTMqIkKRshqPIuDOXv1hcBnD4U3l8cP0T1HMCfGRxQ6V64TGCcoswChANyOAwbQg==} - '@emnapi/runtime@1.4.5': resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} - '@emnapi/wasi-threads@1.0.3': - resolution: {integrity: sha512-8K5IFFsQqF9wQNJptGbS6FNKgUTsSRYnTqNCG1vPP8jFdjSv18n2mQfJpkt2Oibo9iBEzcDnDxNwKTzC7svlJw==} - '@emnapi/wasi-threads@1.0.4': resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} @@ -3982,21 +3973,21 @@ packages: resolution: {integrity: sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==} engines: {node: ^18.17.0 || >=20.5.0} - '@nx/devkit@21.3.7': - resolution: {integrity: sha512-clqOhLHvGXelJDq0blfrPMvJ88TTMhlxKvbuj+mxpfXCcHIYlhuHeH63u99eO4wEbVtSopOG4szpABSjRXJESw==} + '@nx/devkit@21.3.8': + resolution: {integrity: sha512-KjjHXAAINzhmb6vsoAqrlLlfvLWMybo284Rz0esAmCWjajoWB+QRJA6cQrPgXVyByXJ+kCkDZYh1EBCAYpxNjg==} peerDependencies: - nx: 21.3.7 + nx: 21.3.8 - '@nx/esbuild@21.3.7': - resolution: {integrity: sha512-RhVwDJJDKhtVArjkvJqk9/iOdQIhkYhN7Sen3fHogJjj8KBnKx7fNBdjHm7Ox7Amc0JfRjgBPx5CDeDKvQHDcQ==} + '@nx/esbuild@21.3.8': + resolution: {integrity: sha512-iM+UZprPZMMazCREm+QOANQ2XkR1SBQYebukS8ELdH8j87uPaODlIHI3wEv92dH6QlVMUu7jqdgCd3SIrrpu6A==} peerDependencies: esbuild: '>=0.25.0' peerDependenciesMeta: esbuild: optional: true - '@nx/eslint-plugin@21.3.7': - resolution: {integrity: sha512-j4Qf9uhUJs2S7WM0VSS4gA4s4s/83sjSBMVv1IZtAjonw7WVzobBAz0kyFAsmk0TdL9Pk/FqHOdL9hM4VmvoPA==} + '@nx/eslint-plugin@21.3.8': + resolution: {integrity: sha512-/uFujO+9AB1Z1ROs64lHnk7S/Fog73V6D4ulK8sTySHYHgbBM9gEp4pofabO02VDo4g1iXXqF6cuwJRb4cxuqg==} peerDependencies: '@typescript-eslint/parser': ^6.13.2 || ^7.0.0 || ^8.0.0 eslint-config-prettier: ^10.0.0 @@ -4004,8 +3995,8 @@ packages: eslint-config-prettier: optional: true - '@nx/eslint@21.3.7': - resolution: {integrity: sha512-YYxPkohOjUYpbYXgDbrgbgoyA7DlxK8pDYasVYcyEGwf9M5H5KIacgkK2EdBBcIfEzFiASKbVm817tjhKT5ndQ==} + '@nx/eslint@21.3.8': + resolution: {integrity: sha512-VoUALlAxgOo9ogeV1X/4lH8RhvTc7R+XcgruuLc77/82YpV5rr5f3Av5Y7bKlYWqstOIU2Wo3AI5W9sW0wBwBw==} peerDependencies: '@zkochan/js-yaml': 0.0.7 eslint: ^8.0.0 || ^9.0.0 @@ -4013,97 +4004,97 @@ packages: '@zkochan/js-yaml': optional: true - '@nx/express@21.3.7': - resolution: {integrity: sha512-bC7QDN8XvxMgdz/8rYfNXphn/EedP1HOp/RrFL1pED3eEavck9ql4oeuCbMRoTbNJe+uUMCO375Fat0m8XWj2w==} + '@nx/express@21.3.8': + resolution: {integrity: sha512-XPrOYNW7T6QGlyKtcAxVomn9K7iZwqd6V5hQYQY9bf3gxrtZTNXyXGrVG3GBqDdA1gyXDDQgp/kSmKKrD4xtCw==} peerDependencies: express: ^4.21.2 peerDependenciesMeta: express: optional: true - '@nx/jest@21.3.7': - resolution: {integrity: sha512-77r1cV2AYzxkEsa4qKrMn5TuijfSR52Lwu7t8aSj7rdi1MYQoWhkW6sEgoh9+XnJ+yoksYjc3K9vKyco6R488w==} + '@nx/jest@21.3.8': + resolution: {integrity: sha512-BgM8blqmWnMwh2bupc1bm4XI9mmT154stxUvC8uVCnSsNrz9A2/BjOWoG1oRNOMWQP1A4Q15ekiq9faiKxZL1g==} - '@nx/js@21.3.7': - resolution: {integrity: sha512-oy+WcZqfYvOzhO+cefgwYVRIBULfVQk8J8prgw9kMuFcJRgOYXkkfB1HLdkxx+OrHGDPqs7Oe0+8KS1lilnumA==} + '@nx/js@21.3.8': + resolution: {integrity: sha512-F4p4XnxyokArO94ESglBHKi25tMsBEp3MIeFOpVF3ckWmNdKPZL/N53F4dNHhBEbqkSCjyG5j21Qt9HI5pnj1w==} peerDependencies: verdaccio: ^6.0.5 peerDependenciesMeta: verdaccio: optional: true - '@nx/node@21.3.7': - resolution: {integrity: sha512-Btdopcf8EIXGSjSCz+QyFi9V3jUQ9X1cQb3h4575mmDxhGfP1zlghk61l/6FI5ug8jHhqYSHoXP1AcCErZqlVA==} + '@nx/node@21.3.8': + resolution: {integrity: sha512-sRxNTP+W7ta3tcOVGq8k2IRFXwO3psqIjRhkese//wxzV4B/iZ3ZwK1PW2zXFch6bgrrp17gTZefGTe4xDr4Qg==} - '@nx/nx-darwin-arm64@21.3.7': - resolution: {integrity: sha512-/I8tpxDNZ3Xq9DnC5Y0q7II0e+1dV+vWwGTj/hxTM6oVo9wv9hBVkzA5F+UL2AJ20BrlPe34EKtIxaRfkd7SHQ==} + '@nx/nx-darwin-arm64@21.3.8': + resolution: {integrity: sha512-S1IUA8LIgCJRGyYVMzm/pABhb8Z/vod1ZwVrfK4ilGgjp5fpw4Dv5AVxlTGq1+nMpofB6K5jEZTOGSIe0K0g2Q==} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@21.3.7': - resolution: {integrity: sha512-l5P6wmrnFz3zY+AnDCf2PqqlrDnDMULl5E58KC3ax49kqkWc/1umauJJeP/tzWRYGd4yHL4/SbtKU0HRT91l7Q==} + '@nx/nx-darwin-x64@21.3.8': + resolution: {integrity: sha512-loflwVEhMY4oqTTASFR+xNqKi7zod+5flBE/bdd/sEwgSAie4Hdx+arYPnqVxlzHhApVtXUfrwiZBRoXI3Avlw==} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@21.3.7': - resolution: {integrity: sha512-JJq4t8mcR1t5WyX8RvAthGlkun+Uyx3c4WA8hemLbqNCHnR/oQ5tIapRldp1FPBYJEzRzTgtk8Ov+rAjLuXqqQ==} + '@nx/nx-freebsd-x64@21.3.8': + resolution: {integrity: sha512-Bv9tAyPiL2a/PwQlXueKlzgFLFuUkBjJRcKUHlHzK+YvFqUn+Cfd2kcL3SjoM+dENZ9SZOzyZP3yx+Az71O0gQ==} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@21.3.7': - resolution: {integrity: sha512-9F5YVjJH/N8bqfVySTL8UY8PwdEGv4tjax6LSz5wByM6ThQtGqZreDqBectmgz4Uj1q1P+7zu5ra9hrBAr3Mww==} + '@nx/nx-linux-arm-gnueabihf@21.3.8': + resolution: {integrity: sha512-zOQNnHeKrFiocGVBK1rDSahvPi1YhIjfvujXs9GXTdLPXo9tjmcmMo31HWko8sBzy5U3VSniKw3+oOe2JOmh9A==} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@21.3.7': - resolution: {integrity: sha512-+YnuF9lwffzCsLrP0sCuDZKhbb5nFSV6hSwd8rCCZmzU35mqs0X4Mo8vjwHDZTCzIuDxzLK7Nl7ZeWQuAMxcJQ==} + '@nx/nx-linux-arm64-gnu@21.3.8': + resolution: {integrity: sha512-8QPj/W6rF1ItKDaatNdE8jGpYlaJnqR5p1+Jc8KJeyqM8XqJ3kH48/gNxCfb2qIEPRlaztfj7LnZGs2wHh2fyQ==} cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@21.3.7': - resolution: {integrity: sha512-g1SmaC4uHkaLS58FMYnxLKkecASdM+B/G3GH3vPS9LDYdHuFukqwLBvVlvueno6CuIAHc+7bW+TH3xVadnUOvw==} + '@nx/nx-linux-arm64-musl@21.3.8': + resolution: {integrity: sha512-s/JCpVpkpna8pcw2nMaHBz1Vjxz7/R1LhGEY3K7ozknd65dxMKOqoMXGpfLGY96vXYWxEs5GDu9qSJZyoRVAXw==} cpu: [arm64] os: [linux] - '@nx/nx-linux-x64-gnu@21.3.7': - resolution: {integrity: sha512-zupCkCiH2KKqdy/XcFwwQdyck2foX8H6W1mXfTPV94LqEOjfz8j0nfVuTT4WlZAaWcfwzszzdgKy6Rls65i9HA==} + '@nx/nx-linux-x64-gnu@21.3.8': + resolution: {integrity: sha512-fRkpjfwIoSxX0udddIA5CRSrhsQCfhULQX5HXsQvR6CWipb0hQIHZyZe4AAXV2MieqxCKgLfgNmZVf4fHdH6TA==} cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@21.3.7': - resolution: {integrity: sha512-Lhk/q/qb4HFaESR5KLCDPfGWh3Vp0x4bYTILIQ1mBTyqe3zJl1CMtAZp2L43gT7Zt41mz4ZiohavdDyFhIaUgA==} + '@nx/nx-linux-x64-musl@21.3.8': + resolution: {integrity: sha512-kaaZP9Ts2pOi7lzGD2SYVCI6lhPs8CEYinnnT6vAQt45inXk5pRvaZzX3pEjtw/pjqCMxs1H/ubXMtdW0JYAbg==} cpu: [x64] os: [linux] - '@nx/nx-win32-arm64-msvc@21.3.7': - resolution: {integrity: sha512-fk1edw6PNfUiKHDCHqe0WHVJgWiDUU1DoWDhJji5ZY0w8nT89AfTDDxt4YZptcFwAuuwPA/98K0fjQYcenlgTg==} + '@nx/nx-win32-arm64-msvc@21.3.8': + resolution: {integrity: sha512-ujnEDya6VvjBnaa/ke7xbRm2t4R2qC4bHM2JgW31efsmHKWXLzSc8uRJUgiUY5yOVb4ZDOQV8PBK+9PIcugiOQ==} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@21.3.7': - resolution: {integrity: sha512-riVFPTcYseYpzONDvlO/RbdYp/q8R0NGD9J2f/N8/ucqmZcoa3ABx6BvGIStMgmUVxNnIkHNPNnm8Hor+BHFYA==} + '@nx/nx-win32-x64-msvc@21.3.8': + resolution: {integrity: sha512-26Gt1chSA1i4zMZL9ijdPpKBt8VoHwZwGeqKcTm3RJGtloM5n/T/jDThVuH/cUeq/DcuEMWEPcIdz/fp/TVhbQ==} cpu: [x64] os: [win32] - '@nx/playwright@21.3.7': - resolution: {integrity: sha512-O4xJx677dTdqDM97fs0ExYuyx+f+sGsjbwKWBXuuCSz0VCza1W7JvNp+F14AZszoGhhpXIHa3MJwfoIaNJQdwA==} + '@nx/playwright@21.3.8': + resolution: {integrity: sha512-fPr7KQVhwLQth4v2vAWJYbxv+62p1I9i6n0BKoad2NylGVbLQslb7NWJdHQEPNhNw1/MKoIXElp7F8PzFd8SAQ==} peerDependencies: '@playwright/test': ^1.36.0 peerDependenciesMeta: '@playwright/test': optional: true - '@nx/vite@21.3.7': - resolution: {integrity: sha512-D2t8sJDimqvFI7TZaa2o9UNWUI/xJQ7wTVQ9n7B6EiHfCUCRBy6Uo9d6K1uyqrHMXMXBiEP4XznAoSBSJROALg==} + '@nx/vite@21.3.8': + resolution: {integrity: sha512-BlxUsuAs4E1dJ7Fwo5KHv4CVT2ODIHQaCcBvJ3YaVKQ9OnpKrpRkYM5irBy+ijFZUjhdQ1iYhOfpixQHZ6E15g==} peerDependencies: vite: ^5.0.0 || ^6.0.0 vitest: ^1.3.1 || ^2.0.0 || ^3.0.0 - '@nx/web@21.3.7': - resolution: {integrity: sha512-21MR49GXalIA37yB1ufNichUW8UiKT5xxGE+uUltktkcRjLAl2rk1xZDj1Ni0YVPMHzpsmLOE6QdFo3T92SpUw==} + '@nx/web@21.3.8': + resolution: {integrity: sha512-4bLZzKLRszOgBsxx8m4mue8mRxnGsiEz1bz0aaYdG2QVpbGG0MYPXUP2pUQwyFcsfapx03kjwXesunclPfsYyQ==} - '@nx/workspace@21.3.7': - resolution: {integrity: sha512-DIMb9Ts6w0FtKIglNEkAQ22w+b/4kx97MJDdK3tU1t0o0hG64XbYZ9xyVjnENVEkSKnSInAid/dBg+pMTgwxhA==} + '@nx/workspace@21.3.8': + resolution: {integrity: sha512-TH3n9poFMnKHn0Ohyn5rtbynCouw8UWJVus3JkCDhvHaJFyop2hfQ12jxfFucfCk+ZUQwNzPeSeBNGCiBwXTTQ==} '@open-draft/deferred-promise@2.2.0': resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} @@ -11375,8 +11366,8 @@ packages: nwsapi@2.2.20: resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} - nx@21.3.7: - resolution: {integrity: sha512-/PwRGg6wH10V8pJHe3RJnizbxjNL0owLARCegup39sk0+m/G/qOfot5KqReWQR4YrtDpreSE7+tRWGCCovyE1A==} + nx@21.3.8: + resolution: {integrity: sha512-tQJ9aQwYLqN8Zc5sq+3i97jyFfJ1usBEl/sJsqsI8Bl62NKkN0scEY+BAz9wT81bEQ5YKSlvAF4d4CpVDH0oyA==} hasBin: true peerDependencies: '@swc-node/register': ^1.8.0 @@ -16833,8 +16824,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -17087,6 +17076,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -17109,6 +17100,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17580,8 +17573,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -17778,8 +17769,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -18423,34 +18412,18 @@ snapshots: transitivePeerDependencies: - supports-color - '@emnapi/core@1.4.4': - dependencies: - '@emnapi/wasi-threads': 1.0.3 - tslib: 2.8.1 - '@emnapi/core@1.4.5': dependencies: '@emnapi/wasi-threads': 1.0.4 tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.4.4': - dependencies: - tslib: 2.8.1 '@emnapi/runtime@1.4.5': dependencies: tslib: 2.8.1 - optional: true - - '@emnapi/wasi-threads@1.0.3': - dependencies: - tslib: 2.8.1 '@emnapi/wasi-threads@1.0.4': dependencies: tslib: 2.8.1 - optional: true '@epic-web/invariant@1.0.0': {} @@ -19702,15 +19675,15 @@ snapshots: '@napi-rs/wasm-runtime@0.2.12': dependencies: - '@emnapi/core': 1.4.4 - '@emnapi/runtime': 1.4.4 + '@emnapi/core': 1.4.5 + '@emnapi/runtime': 1.4.5 '@tybys/wasm-util': 0.10.0 optional: true '@napi-rs/wasm-runtime@0.2.4': dependencies: - '@emnapi/core': 1.4.4 - '@emnapi/runtime': 1.4.4 + '@emnapi/core': 1.4.5 + '@emnapi/runtime': 1.4.5 '@tybys/wasm-util': 0.9.0 '@napi-rs/wasm-runtime@1.0.1': @@ -19813,22 +19786,22 @@ snapshots: transitivePeerDependencies: - supports-color - '@nx/devkit@21.3.7(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/devkit@21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 minimatch: 9.0.3 - nx: 21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) semver: 7.7.2 tmp: 0.2.3 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/esbuild@21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/esbuild@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.7(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.7(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) picocolors: 1.1.1 tinyglobby: 0.2.14 tsconfig-paths: 4.2.0 @@ -19844,10 +19817,10 @@ snapshots: - supports-color - verdaccio - '@nx/eslint-plugin@21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/eslint-plugin@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.7(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.7(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) '@typescript-eslint/parser': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) '@typescript-eslint/type-utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) @@ -19871,10 +19844,10 @@ snapshots: - typescript - verdaccio - '@nx/eslint@21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/eslint@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.7(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.7(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) eslint: 9.32.0(jiti@2.5.1) semver: 7.7.2 tslib: 2.8.1 @@ -19890,11 +19863,11 @@ snapshots: - supports-color - verdaccio - '@nx/express@21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/express@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.7(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.7(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/node': 21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/node': 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) tslib: 2.8.1 optionalDependencies: express: 4.21.2 @@ -19915,12 +19888,12 @@ snapshots: - typescript - verdaccio - '@nx/jest@21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/jest@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@jest/reporters': 30.0.5 '@jest/test-result': 30.0.5 - '@nx/devkit': 21.3.7(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.7(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) identity-obj-proxy: 3.0.0 jest-config: 30.0.5(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3)) @@ -19947,7 +19920,7 @@ snapshots: - typescript - verdaccio - '@nx/js@21.3.7(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/js@21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.28.0) @@ -19956,8 +19929,8 @@ snapshots: '@babel/preset-env': 7.26.9(@babel/core@7.28.0) '@babel/preset-typescript': 7.27.0(@babel/core@7.28.0) '@babel/runtime': 7.27.6 - '@nx/devkit': 21.3.7(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/workspace': 21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/workspace': 21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) '@zkochan/js-yaml': 0.0.7 babel-plugin-const-enum: 1.2.0(@babel/core@7.28.0) babel-plugin-macros: 3.1.0 @@ -19986,12 +19959,12 @@ snapshots: - nx - supports-color - '@nx/node@21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/node@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.7(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/jest': 21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) - '@nx/js': 21.3.7(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/jest': 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) kill-port: 1.6.1 tcp-port-used: 1.0.2 tslib: 2.8.1 @@ -20012,41 +19985,41 @@ snapshots: - typescript - verdaccio - '@nx/nx-darwin-arm64@21.3.7': + '@nx/nx-darwin-arm64@21.3.8': optional: true - '@nx/nx-darwin-x64@21.3.7': + '@nx/nx-darwin-x64@21.3.8': optional: true - '@nx/nx-freebsd-x64@21.3.7': + '@nx/nx-freebsd-x64@21.3.8': optional: true - '@nx/nx-linux-arm-gnueabihf@21.3.7': + '@nx/nx-linux-arm-gnueabihf@21.3.8': optional: true - '@nx/nx-linux-arm64-gnu@21.3.7': + '@nx/nx-linux-arm64-gnu@21.3.8': optional: true - '@nx/nx-linux-arm64-musl@21.3.7': + '@nx/nx-linux-arm64-musl@21.3.8': optional: true - '@nx/nx-linux-x64-gnu@21.3.7': + '@nx/nx-linux-x64-gnu@21.3.8': optional: true - '@nx/nx-linux-x64-musl@21.3.7': + '@nx/nx-linux-x64-musl@21.3.8': optional: true - '@nx/nx-win32-arm64-msvc@21.3.7': + '@nx/nx-win32-arm64-msvc@21.3.8': optional: true - '@nx/nx-win32-x64-msvc@21.3.7': + '@nx/nx-win32-x64-msvc@21.3.8': optional: true - '@nx/playwright@21.3.7(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/playwright@21.3.8(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.7(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.7(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) minimatch: 9.0.3 tslib: 2.8.1 @@ -20064,10 +20037,10 @@ snapshots: - typescript - verdaccio - '@nx/vite@21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': + '@nx/vite@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': dependencies: - '@nx/devkit': 21.3.7(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.7(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) '@swc/helpers': 0.5.17 ajv: 8.17.1 @@ -20087,10 +20060,10 @@ snapshots: - typescript - verdaccio - '@nx/web@21.3.7(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/web@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.7(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.7(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) detect-port: 1.6.1 http-server: 14.1.1 picocolors: 1.1.1 @@ -20104,13 +20077,13 @@ snapshots: - supports-color - verdaccio - '@nx/workspace@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': + '@nx/workspace@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': dependencies: - '@nx/devkit': 21.3.7(nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@zkochan/js-yaml': 0.0.7 chalk: 4.1.2 enquirer: 2.3.6 - nx: 21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) picomatch: 4.0.2 tslib: 2.8.1 yargs-parser: 21.1.1 @@ -28958,7 +28931,7 @@ snapshots: nwsapi@2.2.20: {} - nx@21.3.7(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): + nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 @@ -28996,16 +28969,16 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 21.3.7 - '@nx/nx-darwin-x64': 21.3.7 - '@nx/nx-freebsd-x64': 21.3.7 - '@nx/nx-linux-arm-gnueabihf': 21.3.7 - '@nx/nx-linux-arm64-gnu': 21.3.7 - '@nx/nx-linux-arm64-musl': 21.3.7 - '@nx/nx-linux-x64-gnu': 21.3.7 - '@nx/nx-linux-x64-musl': 21.3.7 - '@nx/nx-win32-arm64-msvc': 21.3.7 - '@nx/nx-win32-x64-msvc': 21.3.7 + '@nx/nx-darwin-arm64': 21.3.8 + '@nx/nx-darwin-x64': 21.3.8 + '@nx/nx-freebsd-x64': 21.3.8 + '@nx/nx-linux-arm-gnueabihf': 21.3.8 + '@nx/nx-linux-arm64-gnu': 21.3.8 + '@nx/nx-linux-arm64-musl': 21.3.8 + '@nx/nx-linux-x64-gnu': 21.3.8 + '@nx/nx-linux-x64-musl': 21.3.8 + '@nx/nx-win32-arm64-msvc': 21.3.8 + '@nx/nx-win32-x64-msvc': 21.3.8 '@swc-node/register': 1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3) '@swc/core': 1.11.29(@swc/helpers@0.5.17) transitivePeerDependencies: From 5ea8c94d189c9c87d490273d78eed752f79b8e1f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Jul 2025 01:29:37 +0000 Subject: [PATCH 215/505] fix(deps): update dependency preact to v10.27.0 --- apps/client/package.json | 2 +- package.json | 2 +- pnpm-lock.yaml | 28 ++++++++++++---------------- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index 2fad4b5bf..6839431e8 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -52,7 +52,7 @@ "mind-elixir": "5.0.4", "normalize.css": "8.0.1", "panzoom": "9.4.3", - "preact": "10.26.9", + "preact": "10.27.0", "split.js": "1.6.5", "svg-pan-zoom": "3.6.2", "tabulator-tables": "6.3.1", diff --git a/package.json b/package.json index 27dcf595b..75d72f359 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ }, "overrides": { "mermaid": "11.9.0", - "preact": "10.26.9", + "preact": "10.27.0", "roughjs": "4.6.6", "@types/express-serve-static-core": "5.0.7", "flat@<5.0.1": ">=5.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cebed4aa7..741f9bea0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,7 @@ settings: overrides: mermaid: 11.9.0 - preact: 10.26.9 + preact: 10.27.0 roughjs: 4.6.6 '@types/express-serve-static-core': 5.0.7 flat@<5.0.1: '>=5.0.1' @@ -286,8 +286,8 @@ importers: specifier: 9.4.3 version: 9.4.3 preact: - specifier: 10.26.9 - version: 10.26.9 + specifier: 10.27.0 + version: 10.27.0 split.js: specifier: 1.6.5 version: 1.6.5 @@ -12656,8 +12656,8 @@ packages: potpack@2.1.0: resolution: {integrity: sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ==} - preact@10.26.9: - resolution: {integrity: sha512-SSjF9vcnF27mJK1XyFMNJzFd5u3pQiATFqoaDy03XuN00u4ziveVVEGt5RKJrDR8MHE/wJo9Nnad56RLzS2RMA==} + preact@10.27.0: + resolution: {integrity: sha512-/DTYoB6mwwgPytiqQTh/7SFRL98ZdiD8Sk8zIUVOxtwq4oWcwrcd1uno9fE/zZmUaUrFNYzbH14CPebOz9tZQw==} prebuild-install@7.1.3: resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} @@ -16833,8 +16833,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -16894,8 +16892,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-watchdog': 46.0.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.8.3)': dependencies: @@ -17087,6 +17083,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -17109,6 +17107,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17580,8 +17580,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -17778,8 +17776,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -18922,7 +18918,7 @@ snapshots: '@fullcalendar/core@6.1.18': dependencies: - preact: 10.26.9 + preact: 10.27.0 '@fullcalendar/daygrid@6.1.18(@fullcalendar/core@6.1.18)': dependencies: @@ -25820,7 +25816,7 @@ snapshots: dependencies: d3-selection: 3.0.0 kapsule: 1.16.3 - preact: 10.26.9 + preact: 10.27.0 flora-colossus@2.0.0: dependencies: @@ -30295,7 +30291,7 @@ snapshots: potpack@2.1.0: {} - preact@10.26.9: {} + preact@10.27.0: {} prebuild-install@7.1.3: dependencies: From 5e28df883d5b1ec0262c70fb6e06ea7c42c1bf70 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 29 Jul 2025 23:25:42 +0300 Subject: [PATCH 216/505] fix(server): migration failing due to geomap in protected mode (closes #6489) --- ...233__migrate_geo_map_to_collection.spec.ts | 299 ++++++++++++++++++ .../0233__migrate_geo_map_to_collection.ts | 37 ++- 2 files changed, 319 insertions(+), 17 deletions(-) create mode 100644 apps/server/src/migrations/0233__migrate_geo_map_to_collection.spec.ts diff --git a/apps/server/src/migrations/0233__migrate_geo_map_to_collection.spec.ts b/apps/server/src/migrations/0233__migrate_geo_map_to_collection.spec.ts new file mode 100644 index 000000000..1ce4fd2bd --- /dev/null +++ b/apps/server/src/migrations/0233__migrate_geo_map_to_collection.spec.ts @@ -0,0 +1,299 @@ +import { describe, expect, it, beforeEach } from "vitest"; +import cls from "../services/cls.js"; +import sql from "../services/sql.js"; +import becca from "../becca/becca.js"; +import becca_loader from "../becca/becca_loader.js"; +import migration from "./0233__migrate_geo_map_to_collection.js"; + +/** + * Test suite for migration 0233 which converts geoMap notes to book type with viewConfig attachments. + * + * This migration: + * 1. Changes note type from "geoMap" to "book" + * 2. Clears the mime type + * 3. Moves the note content to a viewConfig attachment named "geoMap.json" + * 4. Clears the note content + * 5. Sets a template relation to "_template_geo_map" + * + * The test simulates the database state before migration by directly inserting + * test data into the database, then verifies the migration transforms the data correctly. + */ +describe("Migration 0233: Migrate geoMap to collection", () => { + beforeEach(async () => { + // Set up a clean in-memory database for each test + sql.rebuildIntegrationTestDatabase(); + + await new Promise((resolve) => { + cls.init(() => { + becca_loader.load(); + resolve(); + }); + }); + }); + + it("should migrate geoMap notes to book type with viewConfig attachment", async () => { + await new Promise((resolve) => { + cls.init(() => { + // Create a test geoMap note with content + const geoMapContent = JSON.stringify({ + markers: [ + { lat: 40.7128, lng: -74.0060, title: "New York" }, + { lat: 34.0522, lng: -118.2437, title: "Los Angeles" } + ], + center: { lat: 39.8283, lng: -98.5795 }, + zoom: 4 + }); + + // Insert test data directly into the database + const testNoteId = "test_geo_note_1"; + const testBlobId = "test_blob_geo_1"; + + // Insert note record + sql.execute(/*sql*/` + INSERT INTO notes (noteId, title, type, mime, blobId, dateCreated, dateModified, utcDateCreated, utcDateModified) + VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'), datetime('now'), datetime('now')) + `, [testNoteId, "Test GeoMap Note", "geoMap", "application/json", testBlobId]); + + // Insert blob content + sql.execute(/*sql*/` + INSERT INTO blobs (blobId, content, dateModified, utcDateModified) + VALUES (?, ?, datetime('now'), datetime('now')) + `, [testBlobId, geoMapContent]); + + // Create a note without content to test edge case + const testNoteId2 = "test_geo_note_2"; + const testBlobId2 = "test_blob_geo_2"; + + sql.execute(/*sql*/` + INSERT INTO notes (noteId, title, type, mime, blobId, dateCreated, dateModified, utcDateCreated, utcDateModified) + VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'), datetime('now'), datetime('now')) + `, [testNoteId2, "Empty GeoMap Note", "geoMap", "application/json", testBlobId2]); + + sql.execute(/*sql*/` + INSERT INTO blobs (blobId, content, dateModified, utcDateModified) + VALUES (?, ?, datetime('now'), datetime('now')) + `, [testBlobId2, ""]); + + // Also create a non-geoMap note to ensure it's not affected + const regularNoteId = "test_regular_note"; + const regularBlobId = "test_blob_regular"; + + sql.execute(/*sql*/` + INSERT INTO notes (noteId, title, type, mime, blobId, dateCreated, dateModified, utcDateCreated, utcDateModified) + VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'), datetime('now'), datetime('now')) + `, [regularNoteId, "Regular Text Note", "text", "text/html", regularBlobId]); + + sql.execute(/*sql*/` + INSERT INTO blobs (blobId, content, dateModified, utcDateModified) + VALUES (?, ?, datetime('now'), datetime('now')) + `, [regularBlobId, "

Regular content

"]); + + // Reload becca to include our test data + becca_loader.load(); + + // Verify initial state + const geoMapNote1 = becca.getNote(testNoteId); + const geoMapNote2 = becca.getNote(testNoteId2); + const regularNote = becca.getNote(regularNoteId); + + expect(geoMapNote1).toBeTruthy(); + expect(geoMapNote1?.type).toBe("geoMap"); + expect(geoMapNote2).toBeTruthy(); + expect(geoMapNote2?.type).toBe("geoMap"); + expect(regularNote).toBeTruthy(); + expect(regularNote?.type).toBe("text"); + + // Run the migration + migration(); + + // Reload becca after migration + becca_loader.load(); + + // Verify migration results + const migratedNote1 = becca.getNote(testNoteId); + const migratedNote2 = becca.getNote(testNoteId2); + const unchangedNote = becca.getNote(regularNoteId); + + // Check that geoMap notes were converted to book type + expect(migratedNote1).toBeTruthy(); + expect(migratedNote1?.type).toBe("book"); + expect(migratedNote1?.mime).toBe(""); + + expect(migratedNote2).toBeTruthy(); + expect(migratedNote2?.type).toBe("book"); + expect(migratedNote2?.mime).toBe(""); + + // Check that regular note was not affected + expect(unchangedNote).toBeTruthy(); + expect(unchangedNote?.type).toBe("text"); + + // Check that content was moved to viewConfig attachment for note with content + if (migratedNote1) { + const viewConfigAttachments = migratedNote1.getAttachmentsByRole("viewConfig"); + expect(viewConfigAttachments).toHaveLength(1); + + const attachment = viewConfigAttachments[0]; + expect(attachment.title).toBe("geoMap.json"); + expect(attachment.mime).toBe("application/json"); + expect(attachment.getContent()).toBe(geoMapContent); + + // Check that note content was cleared + expect(migratedNote1.getContent()).toBe(""); + + // Check that template relation was set + const templateRelations = migratedNote1.getRelations("template"); + expect(templateRelations).toHaveLength(1); + expect(templateRelations[0].value).toBe("_template_geo_map"); + } + + // Check that note without content doesn't have viewConfig attachment + if (migratedNote2) { + const viewConfigAttachments = migratedNote2.getAttachmentsByRole("viewConfig"); + expect(viewConfigAttachments).toHaveLength(0); + + // Check that template relation was still set + const templateRelations = migratedNote2.getRelations("template"); + expect(templateRelations).toHaveLength(1); + expect(templateRelations[0].value).toBe("_template_geo_map"); + } + + resolve(); + }); + }); + }); + + it("should handle existing viewConfig attachments with same title", async () => { + await new Promise((resolve) => { + cls.init(() => { + const geoMapContent = JSON.stringify({ test: "data" }); + const testNoteId = "test_geo_note_existing"; + const testBlobId = "test_blob_geo_existing"; + + // Insert note record + sql.execute(/*sql*/` + INSERT INTO notes (noteId, title, type, mime, blobId, dateCreated, dateModified, utcDateCreated, utcDateModified) + VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'), datetime('now'), datetime('now')) + `, [testNoteId, "Test GeoMap with Existing Attachment", "geoMap", "application/json", testBlobId]); + + // Insert blob content + sql.execute(/*sql*/` + INSERT INTO blobs (blobId, content, dateModified, utcDateModified) + VALUES (?, ?, datetime('now'), datetime('now')) + `, [testBlobId, geoMapContent]); + + // Reload becca + becca_loader.load(); + + const note = becca.getNote(testNoteId); + expect(note).toBeTruthy(); + + // Create an existing viewConfig attachment with the same title + const existingContent = JSON.stringify({ existing: "data" }); + note?.saveAttachment({ + role: "viewConfig", + title: "geoMap.json", + mime: "application/json", + content: existingContent, + position: 0 + }); + + // Verify existing attachment was created + let attachments = note?.getAttachmentsByRole("viewConfig") || []; + expect(attachments).toHaveLength(1); + expect(attachments[0].getContent()).toBe(existingContent); + + // Run migration + migration(); + + // Reload becca after migration + becca_loader.load(); + const migratedNote = becca.getNote(testNoteId); + + // Verify that existing attachment was updated, not duplicated + if (migratedNote) { + const viewConfigAttachments = migratedNote.getAttachmentsByRole("viewConfig"); + expect(viewConfigAttachments).toHaveLength(1); + + const attachment = viewConfigAttachments[0]; + expect(attachment.title).toBe("geoMap.json"); + expect(attachment.getContent()).toBe(geoMapContent); // Should be updated with note content + } + + resolve(); + }); + }); + }); + + it("should handle protected geoMap notes appropriately", async () => { + await new Promise((resolve, reject) => { + cls.init(() => { + const geoMapContent = JSON.stringify({ + markers: [{ lat: 51.5074, lng: -0.1278, title: "London" }], + center: { lat: 51.5074, lng: -0.1278 }, + zoom: 10 + }); + + const testNoteId = "protected_geo_note"; + const testBlobId = "protected_blob_geo"; + + // Insert protected geoMap note + sql.execute(/*sql*/` + INSERT INTO notes (noteId, title, type, mime, blobId, isProtected, dateCreated, dateModified, utcDateCreated, utcDateModified) + VALUES (?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'), datetime('now'), datetime('now')) + `, [testNoteId, "Protected GeoMap Note", "geoMap", "application/json", testBlobId, 1]); + + // Insert encrypted blob content (in reality this would be encrypted, but for test we use plain text) + sql.execute(/*sql*/` + INSERT INTO blobs (blobId, content, dateModified, utcDateModified) + VALUES (?, ?, datetime('now'), datetime('now')) + `, [testBlobId, geoMapContent]); + + // Reload becca + becca_loader.load(); + + // Verify initial state + const protectedNote = becca.getNote(testNoteId); + expect(protectedNote).toBeTruthy(); + expect(protectedNote?.type).toBe("geoMap"); + expect(protectedNote?.isProtected).toBe(true); + + // Run migration - this should either handle protected notes gracefully or throw an error + try { + migration(); + } catch (error) { + reject(error); + } + + // Reload becca after migration attempt + becca_loader.load(); + const noteAfterMigration = becca.getNote(testNoteId); + + // If migration succeeds, verify the transformation + expect(noteAfterMigration).toBeTruthy(); + expect(noteAfterMigration?.type).toBe("book"); + expect(noteAfterMigration?.mime).toBe(""); + expect(noteAfterMigration?.isProtected).toBe(true); // Should remain protected + + // Check if content migration worked or was skipped for protected notes + const viewConfigAttachments = noteAfterMigration?.getAttachmentsByRole("viewConfig") || []; + + // Document the behavior - either content was migrated or it was skipped + if (viewConfigAttachments.length > 0) { + const attachment = viewConfigAttachments[0]; + expect(attachment.title).toBe("geoMap.json"); + console.log("Protected note content was successfully migrated to attachment"); + } else { + console.log("Protected note content migration was skipped (expected behavior)"); + } + + // Template relation should still be set regardless + const templateRelations = noteAfterMigration?.getRelations("template") || []; + expect(templateRelations).toHaveLength(1); + expect(templateRelations[0].value).toBe("_template_geo_map"); + + resolve(); + }); + }); + }); + +}); diff --git a/apps/server/src/migrations/0233__migrate_geo_map_to_collection.ts b/apps/server/src/migrations/0233__migrate_geo_map_to_collection.ts index bd692a736..7bcf55ebe 100644 --- a/apps/server/src/migrations/0233__migrate_geo_map_to_collection.ts +++ b/apps/server/src/migrations/0233__migrate_geo_map_to_collection.ts @@ -21,25 +21,28 @@ export default () => { note.mime = ""; note.save(); - const content = note.getContent(); - if (content) { - const title = "geoMap.json"; - const existingAttachment = note.getAttachmentsByRole("viewConfig") - .filter(a => a.title === title)[0]; - if (existingAttachment) { - existingAttachment.setContent(content); - } else { - note.saveAttachment({ - role: "viewConfig", - title, - mime: "application/json", - content, - position: 0 - }); - } + if (!note.isProtected) { + const content = note.getContent(); + if (content) { + const title = "geoMap.json"; + const existingAttachment = note.getAttachmentsByRole("viewConfig") + .filter(a => a.title === title)[0]; + if (existingAttachment) { + existingAttachment.setContent(content); + } else { + note.saveAttachment({ + role: "viewConfig", + title, + mime: "application/json", + content, + position: 0 + }); + } + } + note.setContent(""); } - note.setContent(""); + note.setRelation("template", "_template_geo_map"); } }); From 5bc4bdaeef1a7078f55e7fd57da370ac0ac55b12 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 08:38:06 +0300 Subject: [PATCH 217/505] fix(server/test): problematic cyclic dependency --- apps/server/src/becca/becca_loader.ts | 6 +++--- apps/server/src/services/sql_init.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/server/src/becca/becca_loader.ts b/apps/server/src/becca/becca_loader.ts index cef89b43f..81498519a 100644 --- a/apps/server/src/becca/becca_loader.ts +++ b/apps/server/src/becca/becca_loader.ts @@ -14,13 +14,13 @@ import entityConstructor from "../becca/entity_constructor.js"; import type { AttributeRow, BranchRow, EtapiTokenRow, NoteRow, OptionRow } from "@triliumnext/commons"; import type AbstractBeccaEntity from "./entities/abstract_becca_entity.js"; import ws from "../services/ws.js"; +import sql_init from "../services/sql_init.js"; -const beccaLoaded = new Promise(async (res, rej) => { - const sqlInit = (await import("../services/sql_init.js")).default; +export const beccaLoaded = new Promise(async (res, rej) => { // We have to import async since options init requires keyboard actions which require translations. const options_init = (await import("../services/options_init.js")).default; - sqlInit.dbReady.then(() => { + sql_init.dbReady.then(() => { cls.init(() => { load(); diff --git a/apps/server/src/services/sql_init.ts b/apps/server/src/services/sql_init.ts index 5fb0bd573..a77a58009 100644 --- a/apps/server/src/services/sql_init.ts +++ b/apps/server/src/services/sql_init.ts @@ -19,7 +19,7 @@ import password from "./encryption/password.js"; import backup from "./backup.js"; import eventService from "./events.js"; -const dbReady = deferred(); +export const dbReady = deferred(); function schemaExists() { return !!sql.getValue(/*sql*/`SELECT name FROM sqlite_master From 37a79aeeab13910f535178510043a090401d4249 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 08:42:51 +0300 Subject: [PATCH 218/505] fix(server/test): non-platform agnostic test --- apps/server/src/services/llm/chat_storage_service.spec.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/server/src/services/llm/chat_storage_service.spec.ts b/apps/server/src/services/llm/chat_storage_service.spec.ts index 3fe2f1639..d820d7497 100644 --- a/apps/server/src/services/llm/chat_storage_service.spec.ts +++ b/apps/server/src/services/llm/chat_storage_service.spec.ts @@ -55,7 +55,7 @@ describe('ChatStorageService', () => { beforeEach(async () => { vi.clearAllMocks(); chatStorageService = new ChatStorageService(); - + // Get mocked modules mockNotes = (await import('../notes.js')).default; mockSql = (await import('../sql.js')).default; @@ -177,7 +177,7 @@ describe('ChatStorageService', () => { const result = await chatStorageService.createChat(''); expect(result.title).toContain('New Chat'); - expect(result.title).toMatch(/\d{1,2}\/\d{1,2}\/\d{4}/); // Date pattern + expect(result.title).toMatch(/\d{4}/); }); }); @@ -622,4 +622,4 @@ describe('ChatStorageService', () => { expect(toolExecutions[0].arguments).toEqual({ query: 'existing' }); }); }); -}); \ No newline at end of file +}); From aefa2315b7cf0849a4835b0779a5c5c39a3d44b7 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 09:19:02 +0300 Subject: [PATCH 219/505] fix(server/test): yet another cyclic import issue due to becca_loader --- apps/server/src/becca/becca_loader.ts | 4 ++-- apps/server/src/services/sql_init.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/server/src/becca/becca_loader.ts b/apps/server/src/becca/becca_loader.ts index 81498519a..f7faf1309 100644 --- a/apps/server/src/becca/becca_loader.ts +++ b/apps/server/src/becca/becca_loader.ts @@ -14,13 +14,13 @@ import entityConstructor from "../becca/entity_constructor.js"; import type { AttributeRow, BranchRow, EtapiTokenRow, NoteRow, OptionRow } from "@triliumnext/commons"; import type AbstractBeccaEntity from "./entities/abstract_becca_entity.js"; import ws from "../services/ws.js"; -import sql_init from "../services/sql_init.js"; +import { dbReady } from "../services/sql_init.js"; export const beccaLoaded = new Promise(async (res, rej) => { // We have to import async since options init requires keyboard actions which require translations. const options_init = (await import("../services/options_init.js")).default; - sql_init.dbReady.then(() => { + dbReady.then(() => { cls.init(() => { load(); diff --git a/apps/server/src/services/sql_init.ts b/apps/server/src/services/sql_init.ts index a77a58009..9fc9ba2e5 100644 --- a/apps/server/src/services/sql_init.ts +++ b/apps/server/src/services/sql_init.ts @@ -14,7 +14,6 @@ import type { OptionRow } from "@triliumnext/commons"; import BNote from "../becca/entities/bnote.js"; import BBranch from "../becca/entities/bbranch.js"; import zipImportService from "./import/zip.js"; -import becca_loader from "../becca/becca_loader.js"; import password from "./encryption/password.js"; import backup from "./backup.js"; import eventService from "./events.js"; @@ -83,6 +82,7 @@ async function createInitialDatabase(skipDemoDb?: boolean) { // We have to import async since options init requires keyboard actions which require translations. const optionsInitService = (await import("./options_init.js")).default; + const becca_loader = (await import("../becca/becca_loader.js")).default; sql.transactional(() => { log.info("Creating database schema ..."); From a7752a8421d49db3d6a40689b48aa7c2292c3939 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Jul 2025 06:48:57 +0000 Subject: [PATCH 220/505] chore(deps): update dependency @types/express-http-proxy to v1.6.7 --- apps/server/package.json | 2 +- pnpm-lock.yaml | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/apps/server/package.json b/apps/server/package.json index 315cc2a51..175b5d622 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -16,7 +16,7 @@ "@types/debounce": "1.2.4", "@types/ejs": "3.1.5", "@types/escape-html": "1.0.4", - "@types/express-http-proxy": "1.6.6", + "@types/express-http-proxy": "1.6.7", "@types/express-session": "1.18.2", "@types/fs-extra": "11.0.4", "@types/html": "1.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b7e7c6129..9d9025e8b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -528,8 +528,8 @@ importers: specifier: 1.0.4 version: 1.0.4 '@types/express-http-proxy': - specifier: 1.6.6 - version: 1.6.6 + specifier: 1.6.7 + version: 1.6.7 '@types/express-session': specifier: 1.18.2 version: 1.18.2 @@ -5759,8 +5759,8 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/express-http-proxy@1.6.6': - resolution: {integrity: sha512-J8ZqHG76rq1UB716IZ3RCmUhg406pbWxsM3oFCFccl5xlWUPzoR4if6Og/cE4juK8emH0H9quZa5ltn6ZdmQJg==} + '@types/express-http-proxy@1.6.7': + resolution: {integrity: sha512-CEp9pbnwVI1RzN9PXc+KESMxwUW5r1O7tkWb5h7Wg/YAIf+KulD/zKev8fbbn+Ljt0Yvs8MXwV2W6Id+cKxe2Q==} '@types/express-serve-static-core@5.0.7': resolution: {integrity: sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==} @@ -16824,6 +16824,8 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -16883,6 +16885,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-watchdog': 46.0.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.8.3)': dependencies: @@ -17571,6 +17575,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -21762,7 +21768,7 @@ snapshots: '@types/estree@1.0.8': {} - '@types/express-http-proxy@1.6.6': + '@types/express-http-proxy@1.6.7': dependencies: '@types/express': 5.0.3 @@ -21995,7 +22001,7 @@ snapshots: '@types/serve-index@1.9.4': dependencies: - '@types/express': 4.17.23 + '@types/express': 5.0.3 '@types/serve-static@1.15.8': dependencies: From 60a9428b8b889d9f651053e076a02740bd9713fc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Jul 2025 06:51:34 +0000 Subject: [PATCH 221/505] fix(deps): update dependency @maplibre/maplibre-gl-leaflet to v0.1.3 --- apps/client/package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index 6839431e8..6e5c0d17f 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -18,7 +18,7 @@ "@fullcalendar/list": "6.1.18", "@fullcalendar/multimonth": "6.1.18", "@fullcalendar/timegrid": "6.1.18", - "@maplibre/maplibre-gl-leaflet": "0.1.2", + "@maplibre/maplibre-gl-leaflet": "0.1.3", "@mermaid-js/layout-elk": "0.1.8", "@mind-elixir/node-menu": "5.0.0", "@popperjs/core": "2.11.8", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b7e7c6129..fe7aac84d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -184,8 +184,8 @@ importers: specifier: 6.1.18 version: 6.1.18(@fullcalendar/core@6.1.18) '@maplibre/maplibre-gl-leaflet': - specifier: 0.1.2 - version: 0.1.2(@types/leaflet@1.9.20)(leaflet@1.9.4)(maplibre-gl@5.6.1) + specifier: 0.1.3 + version: 0.1.3(@types/leaflet@1.9.20)(leaflet@1.9.4)(maplibre-gl@5.6.1) '@mermaid-js/layout-elk': specifier: 0.1.8 version: 0.1.8(mermaid@11.9.0) @@ -3847,8 +3847,8 @@ packages: resolution: {integrity: sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==} engines: {node: '>=6.0.0'} - '@maplibre/maplibre-gl-leaflet@0.1.2': - resolution: {integrity: sha512-3BzJlaqtWxXZdK+dTjuQ/0ayOwpcT0JPNaGgnbApm5itPBENotMcZoJhRdLKljmTRyXM9/v2+eOyv/xWYVd78A==} + '@maplibre/maplibre-gl-leaflet@0.1.3': + resolution: {integrity: sha512-9+hp1PSJcxuuj5/Zta9zbQ8+ZvN4doWXPtlY7ikNtUZY1VbkamY0uTqzHp9kxRPqpgeKGrI7MjzXvwzU88wWCw==} peerDependencies: '@types/leaflet': ^1.9.0 leaflet: ^1.9.3 @@ -19592,7 +19592,7 @@ snapshots: '@mapbox/whoots-js@3.1.0': {} - '@maplibre/maplibre-gl-leaflet@0.1.2(@types/leaflet@1.9.20)(leaflet@1.9.4)(maplibre-gl@5.6.1)': + '@maplibre/maplibre-gl-leaflet@0.1.3(@types/leaflet@1.9.20)(leaflet@1.9.4)(maplibre-gl@5.6.1)': dependencies: '@types/leaflet': 1.9.20 leaflet: 1.9.4 From 772e6f5ebcb54f9676e00a6e00a5ea887c5d1a08 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Jul 2025 06:52:25 +0000 Subject: [PATCH 222/505] chore(deps): update dependency @types/node to v22.17.0 --- _regroup/package.json | 2 +- package.json | 2 +- pnpm-lock.yaml | 245 ++++++++++++++++++++++-------------------- 3 files changed, 129 insertions(+), 120 deletions(-) diff --git a/_regroup/package.json b/_regroup/package.json index e97a450d7..5b00715eb 100644 --- a/_regroup/package.json +++ b/_regroup/package.json @@ -38,7 +38,7 @@ "@playwright/test": "1.54.1", "@stylistic/eslint-plugin": "5.2.2", "@types/express": "5.0.3", - "@types/node": "22.16.5", + "@types/node": "22.17.0", "@types/yargs": "17.0.33", "@vitest/coverage-v8": "3.2.4", "eslint": "9.32.0", diff --git a/package.json b/package.json index 5be0f841d..6492bd521 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "@playwright/test": "^1.36.0", "@triliumnext/server": "workspace:*", "@types/express": "^5.0.0", - "@types/node": "22.16.5", + "@types/node": "22.17.0", "@vitest/coverage-v8": "^3.0.5", "@vitest/ui": "^3.0.0", "chalk": "5.4.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b7e7c6129..29c4a64cb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -56,19 +56,19 @@ importers: version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/express': specifier: 21.3.8 - version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) '@nx/js': specifier: 21.3.8 version: 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/node': specifier: 21.3.8 - version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) '@nx/playwright': specifier: 21.3.8 version: 21.3.8(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/vite': specifier: 21.3.8 - version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) + version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) '@nx/web': specifier: 21.3.8 version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) @@ -82,8 +82,8 @@ importers: specifier: ^5.0.0 version: 5.0.3 '@types/node': - specifier: 22.16.5 - version: 22.16.5 + specifier: 22.17.0 + version: 22.17.0 '@vitest/coverage-v8': specifier: ^3.0.5 version: 3.2.4(@vitest/browser@3.2.4)(vitest@3.2.4) @@ -131,7 +131,7 @@ importers: version: 0.17.0 rollup-plugin-webpack-stats: specifier: 2.1.1 - version: 2.1.1(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.1.1(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) tslib: specifier: ^2.3.0 version: 2.8.1 @@ -149,13 +149,13 @@ importers: version: 2.0.1 vite: specifier: ^7.0.0 - version: 7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vite-plugin-dts: specifier: ~4.5.0 - version: 4.5.4(@types/node@22.16.5)(rollup@4.45.1)(typescript@5.8.3)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 4.5.4(@types/node@22.17.0)(rollup@4.45.1)(typescript@5.8.3)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.0 - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.17.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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@22.17.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) apps/client: dependencies: @@ -5900,6 +5900,9 @@ packages: '@types/node@22.16.5': resolution: {integrity: sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==} + '@types/node@22.17.0': + resolution: {integrity: sha512-bbAKTCqX5aNVryi7qXVMi+OkB3w/OyblodicMbvE38blyAz7GxXf6XYhklokijuPwwVg9sDLKRxt0ZHXQwZVfQ==} + '@types/node@24.1.0': resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} @@ -16883,6 +16886,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-watchdog': 46.0.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.8.3)': dependencies: @@ -18979,12 +18984,12 @@ snapshots: transitivePeerDependencies: - babel-plugin-macros - '@inquirer/confirm@5.1.14(@types/node@22.16.5)': + '@inquirer/confirm@5.1.14(@types/node@22.17.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@22.16.5) - '@inquirer/type': 3.0.8(@types/node@22.16.5) + '@inquirer/core': 10.1.15(@types/node@22.17.0) + '@inquirer/type': 3.0.8(@types/node@22.17.0) optionalDependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 optional: true '@inquirer/confirm@5.1.14(@types/node@24.1.0)': @@ -18995,10 +19000,10 @@ snapshots: '@types/node': 24.1.0 optional: true - '@inquirer/core@10.1.15(@types/node@22.16.5)': + '@inquirer/core@10.1.15(@types/node@22.17.0)': dependencies: '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@22.16.5) + '@inquirer/type': 3.0.8(@types/node@22.17.0) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -19006,7 +19011,7 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 optional: true '@inquirer/core@10.1.15(@types/node@24.1.0)': @@ -19026,9 +19031,9 @@ snapshots: '@inquirer/figures@1.0.13': optional: true - '@inquirer/type@3.0.8(@types/node@22.16.5)': + '@inquirer/type@3.0.8(@types/node@22.17.0)': optionalDependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 optional: true '@inquirer/type@3.0.8(@types/node@24.1.0)': @@ -19068,7 +19073,7 @@ snapshots: '@jest/console@30.0.5': dependencies: '@jest/types': 30.0.5 - '@types/node': 22.16.5 + '@types/node': 22.17.0 chalk: 4.1.2 jest-message-util: 30.0.5 jest-util: 30.0.5 @@ -19080,7 +19085,7 @@ snapshots: dependencies: '@jest/fake-timers': 30.0.5 '@jest/types': 30.0.5 - '@types/node': 22.16.5 + '@types/node': 22.17.0 jest-mock: 30.0.5 '@jest/expect-utils@30.0.5': @@ -19098,7 +19103,7 @@ snapshots: dependencies: '@jest/types': 30.0.5 '@sinonjs/fake-timers': 13.0.5 - '@types/node': 22.16.5 + '@types/node': 22.17.0 jest-message-util: 30.0.5 jest-mock: 30.0.5 jest-util: 30.0.5 @@ -19116,7 +19121,7 @@ snapshots: '@jest/pattern@30.0.1': dependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 jest-regex-util: 30.0.1 '@jest/reporters@30.0.5': @@ -19127,7 +19132,7 @@ snapshots: '@jest/transform': 30.0.5 '@jest/types': 30.0.5 '@jridgewell/trace-mapping': 0.3.29 - '@types/node': 22.16.5 + '@types/node': 22.17.0 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit-x: 0.2.2 @@ -19204,7 +19209,7 @@ snapshots: '@jest/schemas': 30.0.5 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.16.5 + '@types/node': 22.17.0 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -19620,23 +19625,23 @@ snapshots: dependencies: langium: 3.3.1 - '@microsoft/api-extractor-model@7.30.6(@types/node@22.16.5)': + '@microsoft/api-extractor-model@7.30.6(@types/node@22.17.0)': dependencies: '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1(@types/node@22.16.5) + '@rushstack/node-core-library': 5.13.1(@types/node@22.17.0) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.52.8(@types/node@22.16.5)': + '@microsoft/api-extractor@7.52.8(@types/node@22.17.0)': dependencies: - '@microsoft/api-extractor-model': 7.30.6(@types/node@22.16.5) + '@microsoft/api-extractor-model': 7.30.6(@types/node@22.17.0) '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1(@types/node@22.16.5) + '@rushstack/node-core-library': 5.13.1(@types/node@22.17.0) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.15.3(@types/node@22.16.5) - '@rushstack/ts-command-line': 5.0.1(@types/node@22.16.5) + '@rushstack/terminal': 0.15.3(@types/node@22.17.0) + '@rushstack/ts-command-line': 5.0.1(@types/node@22.17.0) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.10 @@ -19861,11 +19866,11 @@ snapshots: - supports-color - verdaccio - '@nx/express@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/express@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/node': 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + '@nx/node': 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) tslib: 2.8.1 optionalDependencies: express: 4.21.2 @@ -19886,7 +19891,7 @@ snapshots: - typescript - verdaccio - '@nx/jest@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/jest@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@jest/reporters': 30.0.5 '@jest/test-result': 30.0.5 @@ -19894,7 +19899,7 @@ snapshots: '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) identity-obj-proxy: 3.0.0 - jest-config: 30.0.5(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3)) + jest-config: 30.0.5(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3)) jest-resolve: 30.0.5 jest-util: 30.0.5 minimatch: 9.0.3 @@ -19957,11 +19962,11 @@ snapshots: - nx - supports-color - '@nx/node@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/node@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint': 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/jest': 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3))(typescript@5.8.3) + '@nx/jest': 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) kill-port: 1.6.1 tcp-port-used: 1.0.2 @@ -20035,7 +20040,7 @@ snapshots: - typescript - verdaccio - '@nx/vite@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': + '@nx/vite@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': dependencies: '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) @@ -20046,8 +20051,8 @@ snapshots: picomatch: 4.0.2 semver: 7.7.2 tsconfig-paths: 4.2.0 - vite: 7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.17.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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@22.17.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -20815,7 +20820,7 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.45.1': optional: true - '@rushstack/node-core-library@5.13.1(@types/node@22.16.5)': + '@rushstack/node-core-library@5.13.1(@types/node@22.17.0)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -20826,23 +20831,23 @@ snapshots: resolve: 1.22.10 semver: 7.5.4 optionalDependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.10 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.15.3(@types/node@22.16.5)': + '@rushstack/terminal@0.15.3(@types/node@22.17.0)': dependencies: - '@rushstack/node-core-library': 5.13.1(@types/node@22.16.5) + '@rushstack/node-core-library': 5.13.1(@types/node@22.17.0) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 - '@rushstack/ts-command-line@5.0.1(@types/node@22.16.5)': + '@rushstack/ts-command-line@5.0.1(@types/node@22.17.0)': dependencies: - '@rushstack/terminal': 0.15.3(@types/node@22.16.5) + '@rushstack/terminal': 0.15.3(@types/node@22.17.0) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -21519,7 +21524,7 @@ snapshots: '@types/appdmg@0.5.5': dependencies: - '@types/node': 24.1.0 + '@types/node': 22.17.0 optional: true '@types/archiver@6.0.3': @@ -21558,11 +21563,11 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.16.5 + '@types/node': 22.17.0 '@types/bonjour@3.5.13': dependencies: - '@types/node': 24.1.0 + '@types/node': 22.17.0 '@types/bootstrap@5.2.10': dependencies: @@ -21572,7 +21577,7 @@ snapshots: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 22.16.5 + '@types/node': 22.17.0 '@types/responselike': 1.0.3 '@types/chai@5.2.2': @@ -21597,11 +21602,11 @@ snapshots: '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 5.0.7 - '@types/node': 24.1.0 + '@types/node': 22.17.0 '@types/connect@3.4.38': dependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 '@types/cookie-parser@1.4.9(@types/express@5.0.3)': dependencies: @@ -21768,7 +21773,7 @@ snapshots: '@types/express-serve-static-core@5.0.7': dependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 0.17.5 @@ -21797,7 +21802,7 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 optional: true '@types/geojson-vt@3.2.5': @@ -21809,7 +21814,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 24.1.0 + '@types/node': 22.17.0 '@types/hast@3.0.4': dependencies: @@ -21823,7 +21828,7 @@ snapshots: '@types/http-proxy@1.17.16': dependencies: - '@types/node': 24.1.0 + '@types/node': 22.17.0 '@types/ini@4.1.1': {} @@ -21853,11 +21858,11 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 '@types/keyv@3.1.4': dependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 '@types/leaflet-gpx@1.3.7': dependencies: @@ -21907,7 +21912,7 @@ snapshots: '@types/node-forge@1.3.13': dependencies: - '@types/node': 24.1.0 + '@types/node': 22.17.0 '@types/node@16.9.1': {} @@ -21931,6 +21936,10 @@ snapshots: dependencies: undici-types: 6.21.0 + '@types/node@22.17.0': + dependencies: + undici-types: 6.21.0 + '@types/node@24.1.0': dependencies: undici-types: 7.8.0 @@ -21959,13 +21968,13 @@ snapshots: '@types/readdir-glob@1.1.5': dependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 '@types/resolve@1.20.2': {} '@types/responselike@1.0.3': dependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 '@types/retry@0.12.2': {} @@ -21982,12 +21991,12 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.16.5 + '@types/node': 22.17.0 '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.16.5 + '@types/node': 22.17.0 '@types/serve-favicon@2.5.7': dependencies: @@ -22014,7 +22023,7 @@ snapshots: '@types/sockjs@0.3.36': dependencies: - '@types/node': 24.1.0 + '@types/node': 22.17.0 '@types/stack-utils@2.0.3': {} @@ -22029,7 +22038,7 @@ snapshots: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 22.16.5 + '@types/node': 22.17.0 form-data: 4.0.4 '@types/supercluster@7.1.3': @@ -22052,7 +22061,7 @@ snapshots: '@types/through2@2.0.41': dependencies: - '@types/node': 24.1.0 + '@types/node': 22.17.0 '@types/tmp@0.2.6': {} @@ -22089,7 +22098,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 optional: true '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': @@ -22266,16 +22275,16 @@ snapshots: - bufferutil - utf-8-validate - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.17.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.17.0)(typescript@5.8.3))(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/utils': 3.2.4 magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.17.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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@22.17.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.54.1 @@ -22358,9 +22367,9 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.17.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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@22.17.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) optionalDependencies: - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.17.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) transitivePeerDependencies: - supports-color @@ -22372,23 +22381,23 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.0(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.17.0)(typescript@5.8.3))(vite@7.0.0(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.5(@types/node@22.16.5)(typescript@5.8.3) - vite: 7.0.0(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + msw: 2.7.5(@types/node@22.17.0)(typescript@5.8.3) + vite: 7.0.0(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.17.0)(typescript@5.8.3))(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - msw: 2.7.5(@types/node@22.16.5)(typescript@5.8.3) - vite: 7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + msw: 2.7.5(@types/node@22.17.0)(typescript@5.8.3) + vite: 7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) optional: true '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.8.3))(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': @@ -27047,7 +27056,7 @@ snapshots: '@jest/expect': 30.0.5 '@jest/test-result': 30.0.5 '@jest/types': 30.0.5 - '@types/node': 22.16.5 + '@types/node': 22.17.0 chalk: 4.1.2 co: 4.6.0 dedent: 1.6.0(babel-plugin-macros@3.1.0) @@ -27067,7 +27076,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@30.0.5(@types/node@22.16.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3)): + jest-config@30.0.5(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3)): dependencies: '@babel/core': 7.28.0 '@jest/get-type': 30.0.1 @@ -27094,8 +27103,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.16.5 - ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3) + '@types/node': 22.17.0 + ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -27124,7 +27133,7 @@ snapshots: '@jest/environment': 30.0.5 '@jest/fake-timers': 30.0.5 '@jest/types': 30.0.5 - '@types/node': 22.16.5 + '@types/node': 22.17.0 jest-mock: 30.0.5 jest-util: 30.0.5 jest-validate: 30.0.5 @@ -27132,7 +27141,7 @@ snapshots: jest-haste-map@30.0.5: dependencies: '@jest/types': 30.0.5 - '@types/node': 22.16.5 + '@types/node': 22.17.0 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -27171,7 +27180,7 @@ snapshots: jest-mock@30.0.5: dependencies: '@jest/types': 30.0.5 - '@types/node': 22.16.5 + '@types/node': 22.17.0 jest-util: 30.0.5 jest-pnp-resolver@1.2.3(jest-resolve@30.0.5): @@ -27198,7 +27207,7 @@ snapshots: '@jest/test-result': 30.0.5 '@jest/transform': 30.0.5 '@jest/types': 30.0.5 - '@types/node': 22.16.5 + '@types/node': 22.17.0 chalk: 4.1.2 emittery: 0.13.1 exit-x: 0.2.2 @@ -27227,7 +27236,7 @@ snapshots: '@jest/test-result': 30.0.5 '@jest/transform': 30.0.5 '@jest/types': 30.0.5 - '@types/node': 22.16.5 + '@types/node': 22.17.0 chalk: 4.1.2 cjs-module-lexer: 2.1.0 collect-v8-coverage: 1.0.2 @@ -27274,7 +27283,7 @@ snapshots: jest-util@30.0.5: dependencies: '@jest/types': 30.0.5 - '@types/node': 22.16.5 + '@types/node': 22.17.0 chalk: 4.1.2 ci-info: 4.3.0 graceful-fs: 4.2.11 @@ -27293,7 +27302,7 @@ snapshots: dependencies: '@jest/test-result': 30.0.5 '@jest/types': 30.0.5 - '@types/node': 22.16.5 + '@types/node': 22.17.0 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -27302,19 +27311,19 @@ snapshots: jest-worker@26.6.2: dependencies: - '@types/node': 24.1.0 + '@types/node': 22.17.0 merge-stream: 2.0.0 supports-color: 7.2.0 jest-worker@27.5.1: dependencies: - '@types/node': 24.1.0 + '@types/node': 22.17.0 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@30.0.5: dependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 '@ungap/structured-clone': 1.3.0 jest-util: 30.0.5 merge-stream: 2.0.0 @@ -28632,12 +28641,12 @@ snapshots: ms@2.1.3: {} - msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3): + msw@2.7.5(@types/node@22.17.0)(typescript@5.8.3): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.14(@types/node@22.16.5) + '@inquirer/confirm': 5.1.14(@types/node@22.17.0) '@mswjs/interceptors': 0.37.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -30342,7 +30351,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 24.1.0 + '@types/node': 22.17.0 long: 5.3.2 protocol-buffers-schema@3.6.0: {} @@ -30855,11 +30864,11 @@ snapshots: '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.29 '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.29 - rollup-plugin-stats@1.4.2(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + rollup-plugin-stats@1.4.2(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): optionalDependencies: rolldown: 1.0.0-beta.29 rollup: 4.45.1 - vite: 7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) rollup-plugin-styles@4.0.0(rollup@4.40.0): dependencies: @@ -30888,13 +30897,13 @@ snapshots: '@rollup/pluginutils': 5.1.4(rollup@4.40.0) rollup: 4.40.0 - rollup-plugin-webpack-stats@2.1.1(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + rollup-plugin-webpack-stats@2.1.1(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: rolldown: 1.0.0-beta.29 - rollup-plugin-stats: 1.4.2(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + rollup-plugin-stats: 1.4.2(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) optionalDependencies: rollup: 4.45.1 - vite: 7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) rollup@4.40.0: dependencies: @@ -32417,14 +32426,14 @@ snapshots: typescript: 5.0.4 webpack: 5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8) - ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.16.5)(typescript@5.8.3): + ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.16.5 + '@types/node': 22.17.0 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -32897,13 +32906,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@3.2.4(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite-node@3.2.4(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@6.0.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.0.0(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -32939,9 +32948,9 @@ snapshots: - tsx - yaml - vite-plugin-dts@4.5.4(@types/node@22.16.5)(rollup@4.45.1)(typescript@5.8.3)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + vite-plugin-dts@4.5.4(@types/node@22.17.0)(rollup@4.45.1)(typescript@5.8.3)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: - '@microsoft/api-extractor': 7.52.8(@types/node@22.16.5) + '@microsoft/api-extractor': 7.52.8(@types/node@22.17.0) '@rollup/pluginutils': 5.1.4(rollup@4.45.1) '@volar/typescript': 2.4.13 '@vue/language-core': 2.2.0(typescript@5.8.3) @@ -32952,7 +32961,7 @@ snapshots: magic-string: 0.30.17 typescript: 5.8.3 optionalDependencies: - vite: 7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - rollup @@ -32979,7 +32988,7 @@ snapshots: typescript: 5.8.3 vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite@7.0.0(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.0(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.2) @@ -32988,7 +32997,7 @@ snapshots: rollup: 4.40.0 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 fsevents: 2.3.3 jiti: 2.5.1 less: 4.1.3 @@ -33019,7 +33028,7 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) @@ -33028,7 +33037,7 @@ snapshots: rollup: 4.45.1 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 22.16.5 + '@types/node': 22.17.0 fsevents: 2.3.3 jiti: 2.5.1 less: 4.1.3 @@ -33063,11 +33072,11 @@ snapshots: optionalDependencies: vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.16.5)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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@22.16.5)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.17.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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@22.17.0)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(vite@7.0.0(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.17.0)(typescript@5.8.3))(vite@7.0.0(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -33085,13 +33094,13 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.0.0(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.0.0(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 22.16.5 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.16.5)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.6(@types/node@22.16.5)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@types/node': 22.17.0 + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.17.0)(typescript@5.8.3))(playwright@1.54.1)(utf-8-validate@6.0.5)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) From 5b4e81cf18b85e7a1b931b331b4df2f4cdf0fbd3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Jul 2025 06:53:17 +0000 Subject: [PATCH 223/505] chore(deps): update dependency stylelint to v16.23.0 --- pnpm-lock.yaml | 76 +++++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b7e7c6129..572502814 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -921,10 +921,10 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.22.0(typescript@5.8.3) + version: 16.23.0(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.1.0(stylelint@16.22.0(typescript@5.8.3)) + version: 12.1.0(stylelint@16.23.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) @@ -981,10 +981,10 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.22.0(typescript@5.8.3) + version: 16.23.0(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.1.0(stylelint@16.22.0(typescript@5.8.3)) + version: 12.1.0(stylelint@16.23.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) @@ -1041,10 +1041,10 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.22.0(typescript@5.8.3) + version: 16.23.0(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.1.0(stylelint@16.22.0(typescript@5.8.3)) + version: 12.1.0(stylelint@16.23.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) @@ -1108,10 +1108,10 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.22.0(typescript@5.8.3) + version: 16.23.0(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.1.0(stylelint@16.22.0(typescript@5.8.3)) + version: 12.1.0(stylelint@16.23.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) @@ -1175,10 +1175,10 @@ importers: version: 16.1.2 stylelint: specifier: ^16.0.0 - version: 16.22.0(typescript@5.8.3) + version: 16.23.0(typescript@5.8.3) stylelint-config-ckeditor5: specifier: '>=9.1.0' - version: 12.1.0(stylelint@16.22.0(typescript@5.8.3)) + version: 12.1.0(stylelint@16.23.0(typescript@5.8.3)) ts-node: specifier: ^10.9.1 version: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.8.3) @@ -9404,8 +9404,8 @@ packages: hoist-non-react-statics@2.5.5: resolution: {integrity: sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==} - hookified@1.10.0: - resolution: {integrity: sha512-dJw0492Iddsj56U1JsSTm9E/0B/29a1AuoSLRAte8vQg/kaTGF3IgjEWT8c8yG4cC10+HisE1x5QAwR0Xwc+DA==} + hookified@1.11.0: + resolution: {integrity: sha512-aDdIN3GyU5I6wextPplYdfmWCo+aLmjjVbntmX6HLD5RCi/xKsivYEBhnRD+d9224zFf008ZpLMPlWF0ZodYZw==} hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -13997,8 +13997,8 @@ packages: peerDependencies: stylelint: '>=16.0.0' - stylelint@16.22.0: - resolution: {integrity: sha512-SVEMTdjKNV4ollUrIY9ordZ36zHv2/PHzPjfPMau370MlL2VYXeLgSNMMiEbLGRO8RmD2R8/BVUeF2DfnfkC0w==} + stylelint@16.23.0: + resolution: {integrity: sha512-69T5aS2LUY306ekt1Q1oaSPwz/jaG9HjyMix3UMrai1iEbuOafBe2Dh8xlyczrxFAy89qcKyZWWtc42XLx3Bbw==} engines: {node: '>=18.12.0'} hasBin: true @@ -16587,7 +16587,7 @@ snapshots: '@babel/template@7.27.0': dependencies: - '@babel/code-frame': 7.27.1 + '@babel/code-frame': 7.26.2 '@babel/parser': 7.28.0 '@babel/types': 7.28.1 @@ -17477,8 +17477,8 @@ snapshots: process: 0.11.10 raw-loader: 4.0.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) style-loader: 2.0.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - stylelint: 16.22.0(typescript@5.0.4) - stylelint-config-ckeditor5: 2.0.1(stylelint@16.22.0(typescript@5.8.3)) + stylelint: 16.23.0(typescript@5.0.4) + stylelint-config-ckeditor5: 2.0.1(stylelint@16.23.0(typescript@5.8.3)) terser-webpack-plugin: 5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) ts-node: 10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(typescript@5.0.4) @@ -21228,7 +21228,7 @@ snapshots: - supports-color - typescript - '@stylistic/stylelint-plugin@3.1.3(stylelint@16.22.0(typescript@5.8.3))': + '@stylistic/stylelint-plugin@3.1.3(stylelint@16.23.0(typescript@5.8.3))': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 @@ -21238,7 +21238,7 @@ snapshots: postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 style-search: 0.1.0 - stylelint: 16.22.0(typescript@5.8.3) + stylelint: 16.23.0(typescript@5.8.3) '@sveltejs/acorn-typescript@1.0.5(acorn@8.15.0)': dependencies: @@ -23360,7 +23360,7 @@ snapshots: cacheable@1.10.3: dependencies: - hookified: 1.10.0 + hookified: 1.11.0 keyv: 5.4.0 call-bind-apply-helpers@1.0.2: @@ -25781,7 +25781,7 @@ snapshots: dependencies: cacheable: 1.10.3 flatted: 3.3.3 - hookified: 1.10.0 + hookified: 1.11.0 flat@5.0.2: {} @@ -26418,7 +26418,7 @@ snapshots: hoist-non-react-statics@2.5.5: {} - hookified@1.10.0: {} + hookified@1.11.0: {} hosted-git-info@2.8.9: {} @@ -31834,31 +31834,31 @@ snapshots: postcss: 8.5.6 postcss-selector-parser: 7.1.0 - stylelint-config-ckeditor5@12.1.0(stylelint@16.22.0(typescript@5.8.3)): + stylelint-config-ckeditor5@12.1.0(stylelint@16.23.0(typescript@5.8.3)): dependencies: - '@stylistic/stylelint-plugin': 3.1.3(stylelint@16.22.0(typescript@5.8.3)) - stylelint: 16.22.0(typescript@5.8.3) - stylelint-config-recommended: 16.0.0(stylelint@16.22.0(typescript@5.8.3)) - stylelint-plugin-ckeditor5-rules: 12.1.0(stylelint@16.22.0(typescript@5.8.3)) + '@stylistic/stylelint-plugin': 3.1.3(stylelint@16.23.0(typescript@5.8.3)) + stylelint: 16.23.0(typescript@5.8.3) + stylelint-config-recommended: 16.0.0(stylelint@16.23.0(typescript@5.8.3)) + stylelint-plugin-ckeditor5-rules: 12.1.0(stylelint@16.23.0(typescript@5.8.3)) - stylelint-config-ckeditor5@2.0.1(stylelint@16.22.0(typescript@5.8.3)): + stylelint-config-ckeditor5@2.0.1(stylelint@16.23.0(typescript@5.8.3)): dependencies: - stylelint: 16.22.0(typescript@5.8.3) - stylelint-config-recommended: 3.0.0(stylelint@16.22.0(typescript@5.8.3)) + stylelint: 16.23.0(typescript@5.8.3) + stylelint-config-recommended: 3.0.0(stylelint@16.23.0(typescript@5.8.3)) - stylelint-config-recommended@16.0.0(stylelint@16.22.0(typescript@5.8.3)): + stylelint-config-recommended@16.0.0(stylelint@16.23.0(typescript@5.8.3)): dependencies: - stylelint: 16.22.0(typescript@5.8.3) + stylelint: 16.23.0(typescript@5.8.3) - stylelint-config-recommended@3.0.0(stylelint@16.22.0(typescript@5.8.3)): + stylelint-config-recommended@3.0.0(stylelint@16.23.0(typescript@5.8.3)): dependencies: - stylelint: 16.22.0(typescript@5.8.3) + stylelint: 16.23.0(typescript@5.8.3) - stylelint-plugin-ckeditor5-rules@12.1.0(stylelint@16.22.0(typescript@5.8.3)): + stylelint-plugin-ckeditor5-rules@12.1.0(stylelint@16.23.0(typescript@5.8.3)): dependencies: - stylelint: 16.22.0(typescript@5.8.3) + stylelint: 16.23.0(typescript@5.8.3) - stylelint@16.22.0(typescript@5.0.4): + stylelint@16.23.0(typescript@5.0.4): dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 @@ -31902,7 +31902,7 @@ snapshots: - supports-color - typescript - stylelint@16.22.0(typescript@5.8.3): + stylelint@16.23.0(typescript@5.8.3): dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 From a3ba5ca1097cf6d324284b4400335e04ad89163a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 10:34:38 +0300 Subject: [PATCH 224/505] test(server/e2e): flaky test --- apps/server-e2e/src/layout/tab_bar.spec.ts | 1 + apps/server-e2e/src/support/app.ts | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/server-e2e/src/layout/tab_bar.spec.ts b/apps/server-e2e/src/layout/tab_bar.spec.ts index cb82f8f82..4ac282e71 100644 --- a/apps/server-e2e/src/layout/tab_bar.spec.ts +++ b/apps/server-e2e/src/layout/tab_bar.spec.ts @@ -72,6 +72,7 @@ test("Tabs are restored in right order", async ({ page, context }) => { // Select the mid one. await app.getTab(1).click(); + await expect(app.noteTreeActiveNote).toContainText("Text notes"); // Refresh the page and check the order. await app.goto( { preserveTabs: true }); diff --git a/apps/server-e2e/src/support/app.ts b/apps/server-e2e/src/support/app.ts index 137c026e9..391d458c5 100644 --- a/apps/server-e2e/src/support/app.ts +++ b/apps/server-e2e/src/support/app.ts @@ -65,9 +65,12 @@ export default class App { async goToNoteInNewTab(noteTitle: string) { const autocomplete = this.currentNoteSplit.locator(".note-autocomplete"); await autocomplete.fill(noteTitle); - await expect(this.currentNoteSplit.locator(".note-detail-empty-results")).toContainText(noteTitle); - await autocomplete.press("ArrowDown"); - await autocomplete.press("Enter"); + + const resultsSelector = this.currentNoteSplit.locator(".note-detail-empty-results"); + await expect(resultsSelector).toContainText(noteTitle); + await resultsSelector.locator(".aa-suggestion", { hasText: noteTitle }) + .nth(1) // Select the second one, as the first one is "Create a new note" + .click(); } async goToSettings() { From 62c5b8b1fc24d2e4f97e76078251ce9f9e68a93c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Jul 2025 07:41:02 +0000 Subject: [PATCH 225/505] chore(deps): update nx monorepo to v21.3.9 --- package.json | 22 ++--- pnpm-lock.yaml | 260 ++++++++++++++++++++++++------------------------- 2 files changed, 141 insertions(+), 141 deletions(-) diff --git a/package.json b/package.json index 6492bd521..40c2ee005 100644 --- a/package.json +++ b/package.json @@ -27,16 +27,16 @@ "private": true, "devDependencies": { "@electron/rebuild": "4.0.1", - "@nx/devkit": "21.3.8", - "@nx/esbuild": "21.3.8", - "@nx/eslint": "21.3.8", - "@nx/eslint-plugin": "21.3.8", - "@nx/express": "21.3.8", - "@nx/js": "21.3.8", - "@nx/node": "21.3.8", - "@nx/playwright": "21.3.8", - "@nx/vite": "21.3.8", - "@nx/web": "21.3.8", + "@nx/devkit": "21.3.9", + "@nx/esbuild": "21.3.9", + "@nx/eslint": "21.3.9", + "@nx/eslint-plugin": "21.3.9", + "@nx/express": "21.3.9", + "@nx/js": "21.3.9", + "@nx/node": "21.3.9", + "@nx/playwright": "21.3.9", + "@nx/vite": "21.3.9", + "@nx/web": "21.3.9", "@playwright/test": "^1.36.0", "@triliumnext/server": "workspace:*", "@types/express": "^5.0.0", @@ -54,7 +54,7 @@ "jiti": "2.5.1", "jsdom": "~26.1.0", "jsonc-eslint-parser": "^2.1.0", - "nx": "21.3.8", + "nx": "21.3.9", "react-refresh": "^0.17.0", "rollup-plugin-webpack-stats": "2.1.1", "tslib": "^2.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 098b5d793..ee74a0850 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -43,35 +43,35 @@ importers: specifier: 4.0.1 version: 4.0.1 '@nx/devkit': - specifier: 21.3.8 - version: 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.9 + version: 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/esbuild': - specifier: 21.3.8 - version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.9 + version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint': - specifier: 21.3.8 - version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.9 + version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint-plugin': - specifier: 21.3.8 - version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.3.9 + version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/express': - specifier: 21.3.8 - version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.3.9 + version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) '@nx/js': - specifier: 21.3.8 - version: 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.9 + version: 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/node': - specifier: 21.3.8 - version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.3.9 + version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) '@nx/playwright': - specifier: 21.3.8 - version: 21.3.8(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.3.9 + version: 21.3.9(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/vite': - specifier: 21.3.8 - version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) + specifier: 21.3.9 + version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) '@nx/web': - specifier: 21.3.8 - version: 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.9 + version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@playwright/test': specifier: ^1.36.0 version: 1.54.1 @@ -124,8 +124,8 @@ importers: specifier: ^2.1.0 version: 2.4.0 nx: - specifier: 21.3.8 - version: 21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + specifier: 21.3.9 + version: 21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) react-refresh: specifier: ^0.17.0 version: 0.17.0 @@ -3973,21 +3973,21 @@ packages: resolution: {integrity: sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==} engines: {node: ^18.17.0 || >=20.5.0} - '@nx/devkit@21.3.8': - resolution: {integrity: sha512-KjjHXAAINzhmb6vsoAqrlLlfvLWMybo284Rz0esAmCWjajoWB+QRJA6cQrPgXVyByXJ+kCkDZYh1EBCAYpxNjg==} + '@nx/devkit@21.3.9': + resolution: {integrity: sha512-Z9Lz8VsDKy8Eb6PBqpdd3YZ6pJcCA/Hjt/8Li1VSsO2CyMfGFpm2pnCtdEc9wvBuIogEMisF4yVnMujKW1dHHw==} peerDependencies: - nx: 21.3.8 + nx: 21.3.9 - '@nx/esbuild@21.3.8': - resolution: {integrity: sha512-iM+UZprPZMMazCREm+QOANQ2XkR1SBQYebukS8ELdH8j87uPaODlIHI3wEv92dH6QlVMUu7jqdgCd3SIrrpu6A==} + '@nx/esbuild@21.3.9': + resolution: {integrity: sha512-3XpORNof6Y/Z6SHmvjNyDxBr89sqvupVlEfkH5GpjGGa7NKFo9LaBzFAR1XyX6aN5unAl+k/7LTahByuMYajXA==} peerDependencies: esbuild: '>=0.25.0' peerDependenciesMeta: esbuild: optional: true - '@nx/eslint-plugin@21.3.8': - resolution: {integrity: sha512-/uFujO+9AB1Z1ROs64lHnk7S/Fog73V6D4ulK8sTySHYHgbBM9gEp4pofabO02VDo4g1iXXqF6cuwJRb4cxuqg==} + '@nx/eslint-plugin@21.3.9': + resolution: {integrity: sha512-2Btr+njq8owkJERAsVnJhAJMZgSjvAkFcpD3k2pmhPXg59YuvJElEqndmRKrWo8239CjaxPDVcBm0C/JnlEiXw==} peerDependencies: '@typescript-eslint/parser': ^6.13.2 || ^7.0.0 || ^8.0.0 eslint-config-prettier: ^10.0.0 @@ -3995,8 +3995,8 @@ packages: eslint-config-prettier: optional: true - '@nx/eslint@21.3.8': - resolution: {integrity: sha512-VoUALlAxgOo9ogeV1X/4lH8RhvTc7R+XcgruuLc77/82YpV5rr5f3Av5Y7bKlYWqstOIU2Wo3AI5W9sW0wBwBw==} + '@nx/eslint@21.3.9': + resolution: {integrity: sha512-R1C4zNJmbkSU3BpQ7Jbz6yg9RgdTrkUmrldWe/BH9D1tmiA8lMOVMm9rLthixQFIqf9V8sSoye/4SmWgImVekA==} peerDependencies: '@zkochan/js-yaml': 0.0.7 eslint: ^8.0.0 || ^9.0.0 @@ -4004,97 +4004,97 @@ packages: '@zkochan/js-yaml': optional: true - '@nx/express@21.3.8': - resolution: {integrity: sha512-XPrOYNW7T6QGlyKtcAxVomn9K7iZwqd6V5hQYQY9bf3gxrtZTNXyXGrVG3GBqDdA1gyXDDQgp/kSmKKrD4xtCw==} + '@nx/express@21.3.9': + resolution: {integrity: sha512-3zIqeizGoZgYOLQVuq1ZY+QECkoyNKMXloOE7ChnMMZ+BQGYEF/pv6YEB2sWl2VuwS7qGKYy7kK2dBeaccz7Fw==} peerDependencies: express: ^4.21.2 peerDependenciesMeta: express: optional: true - '@nx/jest@21.3.8': - resolution: {integrity: sha512-BgM8blqmWnMwh2bupc1bm4XI9mmT154stxUvC8uVCnSsNrz9A2/BjOWoG1oRNOMWQP1A4Q15ekiq9faiKxZL1g==} + '@nx/jest@21.3.9': + resolution: {integrity: sha512-RLqXUDXabuUzpcupqCx+BNBuj7z+d6695DakCqmNj8Xbni4tm/00+kP2vI1ZnbXkd5OumDBYl52P1lqbhxx4lQ==} - '@nx/js@21.3.8': - resolution: {integrity: sha512-F4p4XnxyokArO94ESglBHKi25tMsBEp3MIeFOpVF3ckWmNdKPZL/N53F4dNHhBEbqkSCjyG5j21Qt9HI5pnj1w==} + '@nx/js@21.3.9': + resolution: {integrity: sha512-F9xpGgi9e0LQjqmdugPdfxqvCkgtm7dXsTAoidy7okPdWiwZZuzNUzRmxAWEEViAdENWOVG8s0KKb/fmJsZ6DQ==} peerDependencies: verdaccio: ^6.0.5 peerDependenciesMeta: verdaccio: optional: true - '@nx/node@21.3.8': - resolution: {integrity: sha512-sRxNTP+W7ta3tcOVGq8k2IRFXwO3psqIjRhkese//wxzV4B/iZ3ZwK1PW2zXFch6bgrrp17gTZefGTe4xDr4Qg==} + '@nx/node@21.3.9': + resolution: {integrity: sha512-Gmj3pybFv5MlRkq5e9iLx+OAPRS36eJZy694hCr8FEqEsaIzIROSP/5rKqWg17/LnCD8o/IRgARXwch27ImZiA==} - '@nx/nx-darwin-arm64@21.3.8': - resolution: {integrity: sha512-S1IUA8LIgCJRGyYVMzm/pABhb8Z/vod1ZwVrfK4ilGgjp5fpw4Dv5AVxlTGq1+nMpofB6K5jEZTOGSIe0K0g2Q==} + '@nx/nx-darwin-arm64@21.3.9': + resolution: {integrity: sha512-VJ90g79qnr7AXVn/trP8D5LphVb/zavqoZ8PVLkouiSHccPKTFrIVP5UGTDktBS6G7anzERM79xpAEU5RpzCpg==} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@21.3.8': - resolution: {integrity: sha512-loflwVEhMY4oqTTASFR+xNqKi7zod+5flBE/bdd/sEwgSAie4Hdx+arYPnqVxlzHhApVtXUfrwiZBRoXI3Avlw==} + '@nx/nx-darwin-x64@21.3.9': + resolution: {integrity: sha512-S/CO76zHBRnzWfSqCx0mflhx6nx3NFbL77Ufz0bJKo5JqxhZLQuCnzwTmth2psXMG4hyiQbXWChOL4SiLk6I+Q==} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@21.3.8': - resolution: {integrity: sha512-Bv9tAyPiL2a/PwQlXueKlzgFLFuUkBjJRcKUHlHzK+YvFqUn+Cfd2kcL3SjoM+dENZ9SZOzyZP3yx+Az71O0gQ==} + '@nx/nx-freebsd-x64@21.3.9': + resolution: {integrity: sha512-U8znPCa3ib9EU2njSxG/HRFp6ilQB4nRvgV/bw0jZGB95OU/oF5shY10DYjrLHLNtwRhJDK5oKfsr33QJjtH3w==} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@21.3.8': - resolution: {integrity: sha512-zOQNnHeKrFiocGVBK1rDSahvPi1YhIjfvujXs9GXTdLPXo9tjmcmMo31HWko8sBzy5U3VSniKw3+oOe2JOmh9A==} + '@nx/nx-linux-arm-gnueabihf@21.3.9': + resolution: {integrity: sha512-oa+Gc0JU/feiSWTs9v9Jcd9NIVz18LZS6E8Ogqa6kc1e6CUxSxlqWbXLseBRzYsjU4M+PbzeOWuXiYICOySlWg==} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@21.3.8': - resolution: {integrity: sha512-8QPj/W6rF1ItKDaatNdE8jGpYlaJnqR5p1+Jc8KJeyqM8XqJ3kH48/gNxCfb2qIEPRlaztfj7LnZGs2wHh2fyQ==} + '@nx/nx-linux-arm64-gnu@21.3.9': + resolution: {integrity: sha512-DNIxMJWHYSCfLJ+pQbXJNdDwheWth4gyTLIZjSXa7pTjszceucv8aF06CFBtkZ9fUCYN64tPS9B/WKFi2DjkoQ==} cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@21.3.8': - resolution: {integrity: sha512-s/JCpVpkpna8pcw2nMaHBz1Vjxz7/R1LhGEY3K7ozknd65dxMKOqoMXGpfLGY96vXYWxEs5GDu9qSJZyoRVAXw==} + '@nx/nx-linux-arm64-musl@21.3.9': + resolution: {integrity: sha512-7OOrKD2IiS5YEhcQOUCrwkPTv3UjCIAO6yIZrJLYaT8AYeaIZiqZ9oCZYTUBgPbFT0P5oS8Hp2HAEFC/M+uhbw==} cpu: [arm64] os: [linux] - '@nx/nx-linux-x64-gnu@21.3.8': - resolution: {integrity: sha512-fRkpjfwIoSxX0udddIA5CRSrhsQCfhULQX5HXsQvR6CWipb0hQIHZyZe4AAXV2MieqxCKgLfgNmZVf4fHdH6TA==} + '@nx/nx-linux-x64-gnu@21.3.9': + resolution: {integrity: sha512-p3OWdUOYtfBqfcJPY+wMRWR44/4wDeaGd+LpXRdW5hWa6H5elncKkMLmRj4AmQpCRSRfoqWFuyfJfzy4wiEprA==} cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@21.3.8': - resolution: {integrity: sha512-kaaZP9Ts2pOi7lzGD2SYVCI6lhPs8CEYinnnT6vAQt45inXk5pRvaZzX3pEjtw/pjqCMxs1H/ubXMtdW0JYAbg==} + '@nx/nx-linux-x64-musl@21.3.9': + resolution: {integrity: sha512-WmRYmtmgIpJamy/4QHjVB3gdiMnFCGmV778aFGO/MorEgWQdqqz7q+8Pem9jWnjMYHo7Y+Mlm6ydcvM/HsXXUw==} cpu: [x64] os: [linux] - '@nx/nx-win32-arm64-msvc@21.3.8': - resolution: {integrity: sha512-ujnEDya6VvjBnaa/ke7xbRm2t4R2qC4bHM2JgW31efsmHKWXLzSc8uRJUgiUY5yOVb4ZDOQV8PBK+9PIcugiOQ==} + '@nx/nx-win32-arm64-msvc@21.3.9': + resolution: {integrity: sha512-IbeNxE1ShbNZ80JKzRCr+yIKlQoD+bfek4Pmehw3qlewjQ1DcbjZIEgg99G6ZYAzpKUNMewKrLGCW+P7Hb7Uaw==} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@21.3.8': - resolution: {integrity: sha512-26Gt1chSA1i4zMZL9ijdPpKBt8VoHwZwGeqKcTm3RJGtloM5n/T/jDThVuH/cUeq/DcuEMWEPcIdz/fp/TVhbQ==} + '@nx/nx-win32-x64-msvc@21.3.9': + resolution: {integrity: sha512-xr85m3xGVwfeLbGxliGNXG6jlyTGMy/vE5tbLk6yyzg+wUdoAZzdRvhpZZqfT9QkUZxI8SASahFen3SiQt5VWw==} cpu: [x64] os: [win32] - '@nx/playwright@21.3.8': - resolution: {integrity: sha512-fPr7KQVhwLQth4v2vAWJYbxv+62p1I9i6n0BKoad2NylGVbLQslb7NWJdHQEPNhNw1/MKoIXElp7F8PzFd8SAQ==} + '@nx/playwright@21.3.9': + resolution: {integrity: sha512-6OnLJ5VFtLEaKPg8gZLdXlCLB2OeMITkFVw1g+RxypTBMu1GdlB3TCM4VhSBzgLujG4VycmPVjUAu73aw8TwuA==} peerDependencies: '@playwright/test': ^1.36.0 peerDependenciesMeta: '@playwright/test': optional: true - '@nx/vite@21.3.8': - resolution: {integrity: sha512-BlxUsuAs4E1dJ7Fwo5KHv4CVT2ODIHQaCcBvJ3YaVKQ9OnpKrpRkYM5irBy+ijFZUjhdQ1iYhOfpixQHZ6E15g==} + '@nx/vite@21.3.9': + resolution: {integrity: sha512-H9O9QIAt+J5YP9j6yzZhKfjr5/tNRmYt9bwEvZnCRotiI4PFW636L18fwDtwp3B4RMchTTdp7aUon1nxzKqI2A==} peerDependencies: vite: ^5.0.0 || ^6.0.0 vitest: ^1.3.1 || ^2.0.0 || ^3.0.0 - '@nx/web@21.3.8': - resolution: {integrity: sha512-4bLZzKLRszOgBsxx8m4mue8mRxnGsiEz1bz0aaYdG2QVpbGG0MYPXUP2pUQwyFcsfapx03kjwXesunclPfsYyQ==} + '@nx/web@21.3.9': + resolution: {integrity: sha512-nunIcyYr5JQRR6obb9pPBKiVq/94w+S0KebXXFs99/Z4H9Mdi0j8hVtzQ35bBg71SjHQJuRZN2lCkA5aOdlZVg==} - '@nx/workspace@21.3.8': - resolution: {integrity: sha512-TH3n9poFMnKHn0Ohyn5rtbynCouw8UWJVus3JkCDhvHaJFyop2hfQ12jxfFucfCk+ZUQwNzPeSeBNGCiBwXTTQ==} + '@nx/workspace@21.3.9': + resolution: {integrity: sha512-JmCK3PQ2xaZo9n+XpP9A/Y5U4bmnkxwOU+aFMhopC/JpKiWJF9ltbUlryu8ZqCd/oqeE+cZPIVsPwIVa7vbpdg==} '@open-draft/deferred-promise@2.2.0': resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} @@ -11369,8 +11369,8 @@ packages: nwsapi@2.2.20: resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} - nx@21.3.8: - resolution: {integrity: sha512-tQJ9aQwYLqN8Zc5sq+3i97jyFfJ1usBEl/sJsqsI8Bl62NKkN0scEY+BAz9wT81bEQ5YKSlvAF4d4CpVDH0oyA==} + nx@21.3.9: + resolution: {integrity: sha512-humOjQvzsWe7z8vx2JwpmxZfwDxHmoD5DyveqnUm8t7yIFJEf8/LzjNDVLSth0rSdCJe+VsoL26s4mRdx/oU1w==} hasBin: true peerDependencies: '@swc-node/register': ^1.8.0 @@ -16590,7 +16590,7 @@ snapshots: '@babel/template@7.27.0': dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.27.1 '@babel/parser': 7.28.0 '@babel/types': 7.28.1 @@ -19789,22 +19789,22 @@ snapshots: transitivePeerDependencies: - supports-color - '@nx/devkit@21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/devkit@21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 minimatch: 9.0.3 - nx: 21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) semver: 7.7.2 tmp: 0.2.3 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/esbuild@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/esbuild@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) picocolors: 1.1.1 tinyglobby: 0.2.14 tsconfig-paths: 4.2.0 @@ -19820,10 +19820,10 @@ snapshots: - supports-color - verdaccio - '@nx/eslint-plugin@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/eslint-plugin@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) '@typescript-eslint/parser': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) '@typescript-eslint/type-utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) @@ -19847,10 +19847,10 @@ snapshots: - typescript - verdaccio - '@nx/eslint@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/eslint@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) eslint: 9.32.0(jiti@2.5.1) semver: 7.7.2 tslib: 2.8.1 @@ -19866,11 +19866,11 @@ snapshots: - supports-color - verdaccio - '@nx/express@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/express@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/node': 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) + '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/node': 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) tslib: 2.8.1 optionalDependencies: express: 4.21.2 @@ -19891,12 +19891,12 @@ snapshots: - typescript - verdaccio - '@nx/jest@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/jest@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@jest/reporters': 30.0.5 '@jest/test-result': 30.0.5 - '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) identity-obj-proxy: 3.0.0 jest-config: 30.0.5(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3)) @@ -19923,7 +19923,7 @@ snapshots: - typescript - verdaccio - '@nx/js@21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/js@21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.28.0) @@ -19932,8 +19932,8 @@ snapshots: '@babel/preset-env': 7.26.9(@babel/core@7.28.0) '@babel/preset-typescript': 7.27.0(@babel/core@7.28.0) '@babel/runtime': 7.27.6 - '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/workspace': 21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/workspace': 21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) '@zkochan/js-yaml': 0.0.7 babel-plugin-const-enum: 1.2.0(@babel/core@7.28.0) babel-plugin-macros: 3.1.0 @@ -19962,12 +19962,12 @@ snapshots: - nx - supports-color - '@nx/node@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/node@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/jest': 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) - '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/jest': 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) + '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) kill-port: 1.6.1 tcp-port-used: 1.0.2 tslib: 2.8.1 @@ -19988,41 +19988,41 @@ snapshots: - typescript - verdaccio - '@nx/nx-darwin-arm64@21.3.8': + '@nx/nx-darwin-arm64@21.3.9': optional: true - '@nx/nx-darwin-x64@21.3.8': + '@nx/nx-darwin-x64@21.3.9': optional: true - '@nx/nx-freebsd-x64@21.3.8': + '@nx/nx-freebsd-x64@21.3.9': optional: true - '@nx/nx-linux-arm-gnueabihf@21.3.8': + '@nx/nx-linux-arm-gnueabihf@21.3.9': optional: true - '@nx/nx-linux-arm64-gnu@21.3.8': + '@nx/nx-linux-arm64-gnu@21.3.9': optional: true - '@nx/nx-linux-arm64-musl@21.3.8': + '@nx/nx-linux-arm64-musl@21.3.9': optional: true - '@nx/nx-linux-x64-gnu@21.3.8': + '@nx/nx-linux-x64-gnu@21.3.9': optional: true - '@nx/nx-linux-x64-musl@21.3.8': + '@nx/nx-linux-x64-musl@21.3.9': optional: true - '@nx/nx-win32-arm64-msvc@21.3.8': + '@nx/nx-win32-arm64-msvc@21.3.9': optional: true - '@nx/nx-win32-x64-msvc@21.3.8': + '@nx/nx-win32-x64-msvc@21.3.9': optional: true - '@nx/playwright@21.3.8(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/playwright@21.3.9(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) minimatch: 9.0.3 tslib: 2.8.1 @@ -20040,10 +20040,10 @@ snapshots: - typescript - verdaccio - '@nx/vite@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': + '@nx/vite@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': dependencies: - '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) '@swc/helpers': 0.5.17 ajv: 8.17.1 @@ -20063,10 +20063,10 @@ snapshots: - typescript - verdaccio - '@nx/web@21.3.8(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/web@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.8(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) detect-port: 1.6.1 http-server: 14.1.1 picocolors: 1.1.1 @@ -20080,13 +20080,13 @@ snapshots: - supports-color - verdaccio - '@nx/workspace@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': + '@nx/workspace@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': dependencies: - '@nx/devkit': 21.3.8(nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@zkochan/js-yaml': 0.0.7 chalk: 4.1.2 enquirer: 2.3.6 - nx: 21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) picomatch: 4.0.2 tslib: 2.8.1 yargs-parser: 21.1.1 @@ -28938,7 +28938,7 @@ snapshots: nwsapi@2.2.20: {} - nx@21.3.8(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): + nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 @@ -28976,16 +28976,16 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 21.3.8 - '@nx/nx-darwin-x64': 21.3.8 - '@nx/nx-freebsd-x64': 21.3.8 - '@nx/nx-linux-arm-gnueabihf': 21.3.8 - '@nx/nx-linux-arm64-gnu': 21.3.8 - '@nx/nx-linux-arm64-musl': 21.3.8 - '@nx/nx-linux-x64-gnu': 21.3.8 - '@nx/nx-linux-x64-musl': 21.3.8 - '@nx/nx-win32-arm64-msvc': 21.3.8 - '@nx/nx-win32-x64-msvc': 21.3.8 + '@nx/nx-darwin-arm64': 21.3.9 + '@nx/nx-darwin-x64': 21.3.9 + '@nx/nx-freebsd-x64': 21.3.9 + '@nx/nx-linux-arm-gnueabihf': 21.3.9 + '@nx/nx-linux-arm64-gnu': 21.3.9 + '@nx/nx-linux-arm64-musl': 21.3.9 + '@nx/nx-linux-x64-gnu': 21.3.9 + '@nx/nx-linux-x64-musl': 21.3.9 + '@nx/nx-win32-arm64-msvc': 21.3.9 + '@nx/nx-win32-x64-msvc': 21.3.9 '@swc-node/register': 1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3) '@swc/core': 1.11.29(@swc/helpers@0.5.17) transitivePeerDependencies: From f25a1fb865cbb53ebbe563a131abceb7bd49bd5f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Jul 2025 07:43:22 +0000 Subject: [PATCH 226/505] chore(deps): update electron-forge monorepo to v7.8.2 --- apps/desktop/package.json | 16 +-- pnpm-lock.yaml | 248 +++++++++++++++++++------------------- 2 files changed, 130 insertions(+), 134 deletions(-) diff --git a/apps/desktop/package.json b/apps/desktop/package.json index af17db6c8..950aba061 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -18,14 +18,14 @@ "@triliumnext/server": "workspace:*", "copy-webpack-plugin": "13.0.0", "electron": "37.2.4", - "@electron-forge/cli": "7.8.1", - "@electron-forge/maker-deb": "7.8.1", - "@electron-forge/maker-dmg": "7.8.1", - "@electron-forge/maker-flatpak": "7.8.1", - "@electron-forge/maker-rpm": "7.8.1", - "@electron-forge/maker-squirrel": "7.8.1", - "@electron-forge/maker-zip": "7.8.1", - "@electron-forge/plugin-auto-unpack-natives": "7.8.1", + "@electron-forge/cli": "7.8.2", + "@electron-forge/maker-deb": "7.8.2", + "@electron-forge/maker-dmg": "7.8.2", + "@electron-forge/maker-flatpak": "7.8.2", + "@electron-forge/maker-rpm": "7.8.2", + "@electron-forge/maker-squirrel": "7.8.2", + "@electron-forge/maker-zip": "7.8.2", + "@electron-forge/plugin-auto-unpack-natives": "7.8.2", "prebuild-install": "^7.1.1" }, "config": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9775193d0..6df3406fd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -375,29 +375,29 @@ importers: version: 2.38.5(jquery@3.7.1) devDependencies: '@electron-forge/cli': - specifier: 7.8.1 - version: 7.8.1(encoding@0.1.13) + specifier: 7.8.2 + version: 7.8.2(encoding@0.1.13) '@electron-forge/maker-deb': - specifier: 7.8.1 - version: 7.8.1 + specifier: 7.8.2 + version: 7.8.2 '@electron-forge/maker-dmg': - specifier: 7.8.1 - version: 7.8.1 + specifier: 7.8.2 + version: 7.8.2 '@electron-forge/maker-flatpak': - specifier: 7.8.1 - version: 7.8.1 + specifier: 7.8.2 + version: 7.8.2 '@electron-forge/maker-rpm': - specifier: 7.8.1 - version: 7.8.1 + specifier: 7.8.2 + version: 7.8.2 '@electron-forge/maker-squirrel': - specifier: 7.8.1 - version: 7.8.1 + specifier: 7.8.2 + version: 7.8.2 '@electron-forge/maker-zip': - specifier: 7.8.1 - version: 7.8.1 + specifier: 7.8.2 + version: 7.8.2 '@electron-forge/plugin-auto-unpack-natives': - specifier: 7.8.1 - version: 7.8.1 + specifier: 7.8.2 + version: 7.8.2 '@triliumnext/server': specifier: workspace:* version: link:../server @@ -2641,85 +2641,85 @@ packages: '@dual-bundle/import-meta-resolve@4.1.0': resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==} - '@electron-forge/cli@7.8.1': - resolution: {integrity: sha512-QI3EShutfq9Y+2TWWrPjm4JZM3eSAKzoQvRZdVhAfVpUbyJ8K23VqJShg3kGKlPf9BXHAGvE+8LyH5s2yDr1qA==} + '@electron-forge/cli@7.8.2': + resolution: {integrity: sha512-5QA81eLTFaBji3RBuTAqGQ0DNJ6iPFdCNalJK4ItDT0UyoCIRUiGOILPdH0Z+JngWucPruVVxY9VYUfFR/LSXA==} engines: {node: '>= 16.4.0'} hasBin: true - '@electron-forge/core-utils@7.8.1': - resolution: {integrity: sha512-mRoPLDNZgmjyOURE/K0D3Op53XGFmFRgfIvFC7c9S/BqsRpovVblrqI4XxPRdNmH9dvhd8On9gGz+XIYAKD3aQ==} + '@electron-forge/core-utils@7.8.2': + resolution: {integrity: sha512-trOgh26Ri/V1MTCSaVAZlfRX5CSioM42+q6xunpkMZMgSwLoALZdp0/uFj43xw8rustsdgdWjStjx2427LG7xA==} engines: {node: '>= 16.4.0'} - '@electron-forge/core@7.8.1': - resolution: {integrity: sha512-jkh0QPW5p0zmruu1E8+2XNufc4UMxy13WLJcm7hn9jbaXKLkMbKuEvhrN1tH/9uGp1mhr/t8sC4N67gP+gS87w==} + '@electron-forge/core@7.8.2': + resolution: {integrity: sha512-+/GuR8ckccQL9ptJPKwFYc/PrH9OZt4wRCLk931NSrEKiegmasnMoDCoH/QACjkioho8MFA80lom3TDNOGZUAQ==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-base@7.8.1': - resolution: {integrity: sha512-GUZqschGuEBzSzE0bMeDip65IDds48DZXzldlRwQ+85SYVA6RMU2AwDDqx3YiYsvP2OuxKruuqIJZtOF5ps4FQ==} + '@electron-forge/maker-base@7.8.2': + resolution: {integrity: sha512-+OK+9vxD+YAH6V77NCokE/mRNn6AX6pE7AKZ3mUvl3a11/GKhuO7Nz8AhshTnvC75F1WYs6TmGBag7fSUZZulA==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-deb@7.8.1': - resolution: {integrity: sha512-tjjeesQtCP5Xht1X7gl4+K9bwoETPmQfBkOVAY/FZIxPj40uQh/hOUtLX2tYENNGNVZ1ryDYRs8TuPi+I41Vfw==} + '@electron-forge/maker-deb@7.8.2': + resolution: {integrity: sha512-CaQtCxVa1tAJRj5OO9Q33xX8wv2g8Hb7RYUqds4/cim8+aGBxVvRm7RQG+UwrzUEj0Gc0H3Wsbz2MyLURwh4DA==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-dmg@7.8.1': - resolution: {integrity: sha512-l449QvY2Teu+J9rHnjkTHEm/wOJ1LRfmrQ2QkGtFoTRcqvFWdUAEN8nK2/08w3j2h6tvOY3QSUjRzXrhJZRNRA==} + '@electron-forge/maker-dmg@7.8.2': + resolution: {integrity: sha512-hF/6W28mduFPw/7Yooj6QRbVc0fhGLYgEYafIs+sHnN3o3OBPtsd82fkJufjYoxOwSTxEZBI5VkgouQ29++NLg==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-flatpak@7.8.1': - resolution: {integrity: sha512-lp1R+G+3dfFJUMHUMIeDzhNhD1NsRcVlGjVUTP8NAaPEkcK8aSclXBEEHcKCIOsknhHIN+Odhpf3zAqTvAWdwg==} + '@electron-forge/maker-flatpak@7.8.2': + resolution: {integrity: sha512-OsGS8/t8vJY1EuIn/CvQm2Nz6MoS/D67Vxae8wHU5VGPmgNGlMY8mohf84Wog8EwpD8C5g0f9MEqX5KLAAM2+A==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-rpm@7.8.1': - resolution: {integrity: sha512-TF6wylft3BHkw9zdHcxmjEPBZYgTIc0jE31skFnMEQ/aExbNRiNaCZvsXy+7ptTWZxhxUKRc9KHhLFRMCmOK8g==} + '@electron-forge/maker-rpm@7.8.2': + resolution: {integrity: sha512-1jfvUAtfhOXG4+K6gMBdZZDWibD5odtHiB6olb39Lb6+YQAzDIarNV2HT27K7jwcH8AngzfC13C0FY0X8MrQjg==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-squirrel@7.8.1': - resolution: {integrity: sha512-qT1PMvT7ALF0ONOkxlA0oc0PiFuKCAKgoMPoxYo9gGOqFvnAb+TBcnLxflQ4ashE/ZkrHpykr4LcDJxqythQTA==} + '@electron-forge/maker-squirrel@7.8.2': + resolution: {integrity: sha512-PDuzzOfTqW4n4UuC9NdaXVG1Frqs0+QYbOJqntFCcG+CkSv+wQeTaiJpG3JkMFJ4F/Y8r7WnZk8VJ/uyFjXgqg==} engines: {node: '>= 16.4.0'} - '@electron-forge/maker-zip@7.8.1': - resolution: {integrity: sha512-unIxEoV1lnK4BLVqCy3L2y897fTyg8nKY1WT4rrpv0MUKnQG4qmigDfST5zZNNHHaulEn/ElAic2GEiP7d6bhQ==} + '@electron-forge/maker-zip@7.8.2': + resolution: {integrity: sha512-1Bck3fGJLTWRKBcgZCFRaRRB9LJuccbge3pDbBQem0RulkiszlMd+8Jko1zY/OpJRKX5oHE7bQmptYklbBu1GA==} engines: {node: '>= 16.4.0'} - '@electron-forge/plugin-auto-unpack-natives@7.8.1': - resolution: {integrity: sha512-4URAgWX9qqqKe6Bfad0VmpFRrwINYMODfKGd2nFQrfHxmBtdpXnsWlLwVGE/wGssIQaTMI5bWQ6F2RNeXTgnhA==} + '@electron-forge/plugin-auto-unpack-natives@7.8.2': + resolution: {integrity: sha512-la3YgXCB7GtaU2lzVYKze/hr/Zbz1HD/XKv3Jf54oMQ4I9vlIgIZ8fcYm1J4RwJNjqbxPgw1EaPEhU0x41w6HA==} engines: {node: '>= 16.4.0'} - '@electron-forge/plugin-base@7.8.1': - resolution: {integrity: sha512-iCZC2d7CbsZ9l6j5d+KPIiyQx0U1QBfWAbKnnQhWCSizjcrZ7A9V4sMFZeTO6+PVm48b/r9GFPm+slpgZtYQLg==} + '@electron-forge/plugin-base@7.8.2': + resolution: {integrity: sha512-KY5j3gT0VsPNqVlAWchJLxMT+jcUozkI2Z/nsDymaqVGGfJix29H2CcvulVbfr8aqiLGNw8K/qhWL911ScEm4g==} engines: {node: '>= 16.4.0'} - '@electron-forge/publisher-base@7.8.1': - resolution: {integrity: sha512-z2C+C4pcFxyCXIFwXGDcxhU8qtVUPZa3sPL6tH5RuMxJi77768chLw2quDWk2/dfupcSELXcOMYCs7aLysCzeQ==} + '@electron-forge/publisher-base@7.8.2': + resolution: {integrity: sha512-Ap9fN83pA4/09RJEGYY0Vk2mdmbvx7kuTS+hTS91Xz+330Ju3j+8g9/HcBGUlvqF2F3t6HAvgpz434UM7Ui47w==} engines: {node: '>= 16.4.0'} - '@electron-forge/shared-types@7.8.1': - resolution: {integrity: sha512-guLyGjIISKQQRWHX+ugmcjIOjn2q/BEzCo3ioJXFowxiFwmZw/oCZ2KlPig/t6dMqgUrHTH5W/F0WKu0EY4M+Q==} + '@electron-forge/shared-types@7.8.2': + resolution: {integrity: sha512-1JnWaJs5vtiT51WxcXrDVFGls5UUOpAUNX5pT0j3/RJuq/CEfVQmH62tUo6ORbBasNLRgRgphXg6n8BfRte5/w==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-base@7.8.1': - resolution: {integrity: sha512-k8jEUr0zWFWb16ZGho+Es2OFeKkcbTgbC6mcH4eNyF/sumh/4XZMcwRtX1i7EiZAYiL9sVxyI6KVwGu254g+0g==} + '@electron-forge/template-base@7.8.2': + resolution: {integrity: sha512-tba5yMu2V9IXXvVzjd/2CcLSFvA/j/E9bHVstIbN2M62jF1CPABvylDFeNuNnx/zcqigZQeLhWoafz2Jp6iv6g==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-vite-typescript@7.8.1': - resolution: {integrity: sha512-CccQhwUjZcc6svzuOi3BtbDal591DzyX2J5GPa6mwVutDP8EMtqJL1VyOHdcWO/7XjI6GNAD0fiXySOJiUAECA==} + '@electron-forge/template-vite-typescript@7.8.2': + resolution: {integrity: sha512-GBT52WB3VzhUNM6lSzA1WbK/xihL9yWkegLdNq7I3LbTCPr/3BWfXhXI84hyPrMXw2ZCjY4kmfyN5K7B4bJzVA==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-vite@7.8.1': - resolution: {integrity: sha512-qzSlJaBYYqQAbBdLk4DqAE3HCNz4yXbpkb+VC74ddL4JGwPdPU57DjCthr6YetKJ2FsOVy9ipovA8HX5UbXpAg==} + '@electron-forge/template-vite@7.8.2': + resolution: {integrity: sha512-7ORxTpTFlfiGNNjsBHFjpuWSMDKMGBE1CN97nIsFIZhBsTjM/vix4FZirfO8Mdd+J3a9b71wqZ9VDGkSifXL0g==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-webpack-typescript@7.8.1': - resolution: {integrity: sha512-h922E+6zWwym1RT6WKD79BLTc4H8YxEMJ7wPWkBX59kw/exsTB/KFdiJq6r82ON5jSJ+Q8sDGqSmDWdyCfo+Gg==} + '@electron-forge/template-webpack-typescript@7.8.2': + resolution: {integrity: sha512-8i0P5KD6FF1pT7Qru0pz0gcQtn6k/v0Ld4kQ6FVarDUBI5aMllyIVgs9XcoU5RGuBrPoVKJze37Efh4o1A1Vfg==} engines: {node: '>= 16.4.0'} - '@electron-forge/template-webpack@7.8.1': - resolution: {integrity: sha512-DA77o9kTCHrq+W211pyNP49DyAt0d1mzMp2gisyNz7a+iKvlv2DsMAeRieLoCQ44akb/z8ZsL0YLteSjKLy4AA==} + '@electron-forge/template-webpack@7.8.2': + resolution: {integrity: sha512-Hpwtb5kIbtwQTZ3idCybC1b6go158mTk2ktBxJryjYgcc7bXQBV36J1dXfl6iONXvGE1y4/s2EiRORsh/qtDPA==} engines: {node: '>= 16.4.0'} - '@electron-forge/tracer@7.8.1': - resolution: {integrity: sha512-r2i7aHVp2fylGQSPDw3aTcdNfVX9cpL1iL2MKHrCRNwgrfR+nryGYg434T745GGm1rNQIv5Egdkh5G9xf00oWA==} + '@electron-forge/tracer@7.8.2': + resolution: {integrity: sha512-59M5PJT9otyVBtenZnOvjZLyB5H1JPqvrY4r9n9V7uFyuAI52a0TYyaCIcfzLchb/k+aDyeozfrqNFwvS6wTSA==} engines: {node: '>= 14.17.5'} '@electron/asar@3.4.1': @@ -16827,8 +16827,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -17578,8 +17576,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -17776,6 +17772,8 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -18030,11 +18028,11 @@ snapshots: '@dual-bundle/import-meta-resolve@4.1.0': {} - '@electron-forge/cli@7.8.1(encoding@0.1.13)': + '@electron-forge/cli@7.8.2(encoding@0.1.13)': dependencies: - '@electron-forge/core': 7.8.1(encoding@0.1.13) - '@electron-forge/core-utils': 7.8.1 - '@electron-forge/shared-types': 7.8.1 + '@electron-forge/core': 7.8.2(encoding@0.1.13) + '@electron-forge/core-utils': 7.8.2 + '@electron-forge/shared-types': 7.8.2 '@electron/get': 3.1.0 chalk: 4.1.2 commander: 11.1.0 @@ -18042,15 +18040,15 @@ snapshots: fs-extra: 10.1.0 listr2: 7.0.2 log-symbols: 4.1.0 - semver: 7.7.1 + semver: 7.7.2 transitivePeerDependencies: - bluebird - encoding - supports-color - '@electron-forge/core-utils@7.8.1': + '@electron-forge/core-utils@7.8.2': dependencies: - '@electron-forge/shared-types': 7.8.1 + '@electron-forge/shared-types': 7.8.2 '@electron/rebuild': 3.7.2 '@malept/cross-spawn-promise': 2.0.0 chalk: 4.1.2 @@ -18063,19 +18061,19 @@ snapshots: - bluebird - supports-color - '@electron-forge/core@7.8.1(encoding@0.1.13)': + '@electron-forge/core@7.8.2(encoding@0.1.13)': dependencies: - '@electron-forge/core-utils': 7.8.1 - '@electron-forge/maker-base': 7.8.1 - '@electron-forge/plugin-base': 7.8.1 - '@electron-forge/publisher-base': 7.8.1 - '@electron-forge/shared-types': 7.8.1 - '@electron-forge/template-base': 7.8.1 - '@electron-forge/template-vite': 7.8.1 - '@electron-forge/template-vite-typescript': 7.8.1 - '@electron-forge/template-webpack': 7.8.1 - '@electron-forge/template-webpack-typescript': 7.8.1 - '@electron-forge/tracer': 7.8.1 + '@electron-forge/core-utils': 7.8.2 + '@electron-forge/maker-base': 7.8.2 + '@electron-forge/plugin-base': 7.8.2 + '@electron-forge/publisher-base': 7.8.2 + '@electron-forge/shared-types': 7.8.2 + '@electron-forge/template-base': 7.8.2 + '@electron-forge/template-vite': 7.8.2 + '@electron-forge/template-vite-typescript': 7.8.2 + '@electron-forge/template-webpack': 7.8.2 + '@electron-forge/template-webpack-typescript': 7.8.2 + '@electron-forge/tracer': 7.8.2 '@electron/get': 3.1.0 '@electron/packager': 18.3.6 '@electron/rebuild': 3.7.2 @@ -18104,29 +18102,29 @@ snapshots: - encoding - supports-color - '@electron-forge/maker-base@7.8.1': + '@electron-forge/maker-base@7.8.2': dependencies: - '@electron-forge/shared-types': 7.8.1 + '@electron-forge/shared-types': 7.8.2 fs-extra: 10.1.0 which: 2.0.2 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/maker-deb@7.8.1': + '@electron-forge/maker-deb@7.8.2': dependencies: - '@electron-forge/maker-base': 7.8.1 - '@electron-forge/shared-types': 7.8.1 + '@electron-forge/maker-base': 7.8.2 + '@electron-forge/shared-types': 7.8.2 optionalDependencies: electron-installer-debian: 3.2.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/maker-dmg@7.8.1': + '@electron-forge/maker-dmg@7.8.2': dependencies: - '@electron-forge/maker-base': 7.8.1 - '@electron-forge/shared-types': 7.8.1 + '@electron-forge/maker-base': 7.8.2 + '@electron-forge/shared-types': 7.8.2 fs-extra: 10.1.0 optionalDependencies: electron-installer-dmg: 5.0.1 @@ -18134,10 +18132,10 @@ snapshots: - bluebird - supports-color - '@electron-forge/maker-flatpak@7.8.1': + '@electron-forge/maker-flatpak@7.8.2': dependencies: - '@electron-forge/maker-base': 7.8.1 - '@electron-forge/shared-types': 7.8.1 + '@electron-forge/maker-base': 7.8.2 + '@electron-forge/shared-types': 7.8.2 fs-extra: 10.1.0 optionalDependencies: '@malept/electron-installer-flatpak': 0.11.4 @@ -18145,20 +18143,20 @@ snapshots: - bluebird - supports-color - '@electron-forge/maker-rpm@7.8.1': + '@electron-forge/maker-rpm@7.8.2': dependencies: - '@electron-forge/maker-base': 7.8.1 - '@electron-forge/shared-types': 7.8.1 + '@electron-forge/maker-base': 7.8.2 + '@electron-forge/shared-types': 7.8.2 optionalDependencies: electron-installer-redhat: 3.4.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/maker-squirrel@7.8.1': + '@electron-forge/maker-squirrel@7.8.2': dependencies: - '@electron-forge/maker-base': 7.8.1 - '@electron-forge/shared-types': 7.8.1 + '@electron-forge/maker-base': 7.8.2 + '@electron-forge/shared-types': 7.8.2 fs-extra: 10.1.0 optionalDependencies: electron-winstaller: 5.4.0 @@ -18166,10 +18164,10 @@ snapshots: - bluebird - supports-color - '@electron-forge/maker-zip@7.8.1': + '@electron-forge/maker-zip@7.8.2': dependencies: - '@electron-forge/maker-base': 7.8.1 - '@electron-forge/shared-types': 7.8.1 + '@electron-forge/maker-base': 7.8.2 + '@electron-forge/shared-types': 7.8.2 cross-zip: 4.0.1 fs-extra: 10.1.0 got: 11.8.6 @@ -18177,31 +18175,31 @@ snapshots: - bluebird - supports-color - '@electron-forge/plugin-auto-unpack-natives@7.8.1': + '@electron-forge/plugin-auto-unpack-natives@7.8.2': dependencies: - '@electron-forge/plugin-base': 7.8.1 - '@electron-forge/shared-types': 7.8.1 + '@electron-forge/plugin-base': 7.8.2 + '@electron-forge/shared-types': 7.8.2 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/plugin-base@7.8.1': + '@electron-forge/plugin-base@7.8.2': dependencies: - '@electron-forge/shared-types': 7.8.1 + '@electron-forge/shared-types': 7.8.2 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/publisher-base@7.8.1': + '@electron-forge/publisher-base@7.8.2': dependencies: - '@electron-forge/shared-types': 7.8.1 + '@electron-forge/shared-types': 7.8.2 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/shared-types@7.8.1': + '@electron-forge/shared-types@7.8.2': dependencies: - '@electron-forge/tracer': 7.8.1 + '@electron-forge/tracer': 7.8.2 '@electron/packager': 18.3.6 '@electron/rebuild': 3.7.2 listr2: 7.0.2 @@ -18209,10 +18207,10 @@ snapshots: - bluebird - supports-color - '@electron-forge/template-base@7.8.1': + '@electron-forge/template-base@7.8.2': dependencies: - '@electron-forge/core-utils': 7.8.1 - '@electron-forge/shared-types': 7.8.1 + '@electron-forge/core-utils': 7.8.2 + '@electron-forge/shared-types': 7.8.2 '@malept/cross-spawn-promise': 2.0.0 debug: 4.4.1(supports-color@6.0.0) fs-extra: 10.1.0 @@ -18221,43 +18219,43 @@ snapshots: - bluebird - supports-color - '@electron-forge/template-vite-typescript@7.8.1': + '@electron-forge/template-vite-typescript@7.8.2': dependencies: - '@electron-forge/shared-types': 7.8.1 - '@electron-forge/template-base': 7.8.1 + '@electron-forge/shared-types': 7.8.2 + '@electron-forge/template-base': 7.8.2 fs-extra: 10.1.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/template-vite@7.8.1': + '@electron-forge/template-vite@7.8.2': dependencies: - '@electron-forge/shared-types': 7.8.1 - '@electron-forge/template-base': 7.8.1 + '@electron-forge/shared-types': 7.8.2 + '@electron-forge/template-base': 7.8.2 fs-extra: 10.1.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/template-webpack-typescript@7.8.1': + '@electron-forge/template-webpack-typescript@7.8.2': dependencies: - '@electron-forge/shared-types': 7.8.1 - '@electron-forge/template-base': 7.8.1 + '@electron-forge/shared-types': 7.8.2 + '@electron-forge/template-base': 7.8.2 fs-extra: 10.1.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/template-webpack@7.8.1': + '@electron-forge/template-webpack@7.8.2': dependencies: - '@electron-forge/shared-types': 7.8.1 - '@electron-forge/template-base': 7.8.1 + '@electron-forge/shared-types': 7.8.2 + '@electron-forge/template-base': 7.8.2 fs-extra: 10.1.0 transitivePeerDependencies: - bluebird - supports-color - '@electron-forge/tracer@7.8.1': + '@electron-forge/tracer@7.8.2': dependencies: chrome-trace-event: 1.0.4 @@ -23554,8 +23552,6 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 - transitivePeerDependencies: - - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: From 66364f5ce0e4548263e8b3415c24bc6fe4a51484 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 11:03:12 +0300 Subject: [PATCH 227/505] test(server/e2e): add more assertions to try to avoid flaky test --- apps/server-e2e/src/layout/tab_bar.spec.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/server-e2e/src/layout/tab_bar.spec.ts b/apps/server-e2e/src/layout/tab_bar.spec.ts index 4ac282e71..3f81eb26a 100644 --- a/apps/server-e2e/src/layout/tab_bar.spec.ts +++ b/apps/server-e2e/src/layout/tab_bar.spec.ts @@ -73,6 +73,9 @@ test("Tabs are restored in right order", async ({ page, context }) => { // Select the mid one. await app.getTab(1).click(); await expect(app.noteTreeActiveNote).toContainText("Text notes"); + await expect(app.getTab(0)).toContainText("Code notes"); + await expect(app.getTab(1)).toContainText("Text notes"); + await expect(app.getTab(2)).toContainText("Mermaid"); // Refresh the page and check the order. await app.goto( { preserveTabs: true }); From 2ef9009384cb11ae094093c98304f62bf9a63134 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 14:11:41 +0300 Subject: [PATCH 228/505] refactor(hotkeys): use own (rough) implementation --- apps/client/src/desktop.ts | 1 - apps/client/src/services/shortcuts.ts | 150 ++++++++++++++++++++++---- apps/client/src/setup.ts | 1 - 3 files changed, 132 insertions(+), 20 deletions(-) diff --git a/apps/client/src/desktop.ts b/apps/client/src/desktop.ts index 65e2e285a..2791f0577 100644 --- a/apps/client/src/desktop.ts +++ b/apps/client/src/desktop.ts @@ -13,7 +13,6 @@ import type ElectronRemote from "@electron/remote"; import type Electron from "electron"; import "./stylesheets/bootstrap.scss"; import "boxicons/css/boxicons.min.css"; -import "jquery-hotkeys"; import "autocomplete.js/index_jquery.js"; await appContext.earlyInit(); diff --git a/apps/client/src/services/shortcuts.ts b/apps/client/src/services/shortcuts.ts index d19e434d1..a4bfa2909 100644 --- a/apps/client/src/services/shortcuts.ts +++ b/apps/client/src/services/shortcuts.ts @@ -1,7 +1,18 @@ import utils from "./utils.js"; type ElementType = HTMLElement | Document; -type Handler = (e: JQuery.TriggeredEvent) => void; +type Handler = () => void; + +interface ShortcutBinding { + element: HTMLElement | Document; + shortcut: string; + handler: Handler; + namespace: string | null; + listener: (evt: Event) => void; +} + +// Store all active shortcut bindings for management +const activeBindings: Map = new Map(); function removeGlobalShortcut(namespace: string) { bindGlobalShortcut("", null, namespace); @@ -15,38 +26,141 @@ function bindElShortcut($el: JQuery, keyboardShortcut: st if (utils.isDesktop()) { keyboardShortcut = normalizeShortcut(keyboardShortcut); - let eventName = "keydown"; - + // If namespace is provided, remove all previous bindings for this namespace if (namespace) { - eventName += `.${namespace}`; - - // if there's a namespace, then we replace the existing event handler with the new one - $el.off(eventName); + removeNamespaceBindings(namespace); } - // method can be called to remove the shortcut (e.g. when keyboardShortcut label is deleted) - if (keyboardShortcut) { - $el.bind(eventName, keyboardShortcut, (e) => { - if (handler) { - handler(e); - } + // Method can be called to remove the shortcut (e.g. when keyboardShortcut label is deleted) + if (keyboardShortcut && handler) { + const element = $el.length > 0 ? $el[0] as (HTMLElement | Document) : document; - e.preventDefault(); - e.stopPropagation(); - }); + const listener = (evt: Event) => { + const e = evt as KeyboardEvent; + if (matchesShortcut(e, keyboardShortcut)) { + e.preventDefault(); + e.stopPropagation(); + handler(); + } + }; + + // Add the event listener + element.addEventListener('keydown', listener); + + // Store the binding for later cleanup + const binding: ShortcutBinding = { + element, + shortcut: keyboardShortcut, + handler, + namespace, + listener + }; + + const key = namespace || 'global'; + if (!activeBindings.has(key)) { + activeBindings.set(key, []); + } + activeBindings.get(key)!.push(binding); } } } +function removeNamespaceBindings(namespace: string) { + const bindings = activeBindings.get(namespace); + if (bindings) { + // Remove all event listeners for this namespace + bindings.forEach(binding => { + binding.element.removeEventListener('keydown', binding.listener); + }); + activeBindings.delete(namespace); + } +} + +function matchesShortcut(e: KeyboardEvent, shortcut: string): boolean { + if (!shortcut) return false; + + const parts = shortcut.toLowerCase().split('+'); + const key = parts[parts.length - 1]; // Last part is the actual key + const modifiers = parts.slice(0, -1); // Everything before is modifiers + + // Check if the main key matches + if (!keyMatches(e, key)) { + return false; + } + + // Check modifiers + const expectedCtrl = modifiers.includes('ctrl') || modifiers.includes('control'); + const expectedAlt = modifiers.includes('alt'); + const expectedShift = modifiers.includes('shift'); + const expectedMeta = modifiers.includes('meta') || modifiers.includes('cmd') || modifiers.includes('command'); + + return e.ctrlKey === expectedCtrl && + e.altKey === expectedAlt && + e.shiftKey === expectedShift && + e.metaKey === expectedMeta; +} + +function keyMatches(e: KeyboardEvent, key: string): boolean { + // Handle special key mappings + const keyMap: { [key: string]: string[] } = { + 'return': ['Enter'], + 'del': ['Delete'], + 'esc': ['Escape'], + 'space': [' ', 'Space'], + 'tab': ['Tab'], + 'backspace': ['Backspace'], + 'home': ['Home'], + 'end': ['End'], + 'pageup': ['PageUp'], + 'pagedown': ['PageDown'], + 'up': ['ArrowUp'], + 'down': ['ArrowDown'], + 'left': ['ArrowLeft'], + 'right': ['ArrowRight'] + }; + + // Function keys + for (let i = 1; i <= 19; i++) { + keyMap[`f${i}`] = [`F${i}`]; + } + + const mappedKeys = keyMap[key.toLowerCase()]; + if (mappedKeys) { + return mappedKeys.includes(e.key) || mappedKeys.includes(e.code); + } + + // For regular keys, check both key and code + return e.key.toLowerCase() === key.toLowerCase() || + e.code.toLowerCase() === key.toLowerCase(); +} + /** - * Normalize to the form expected by the jquery.hotkeys.js + * Normalize to a consistent format for our custom shortcut parser */ function normalizeShortcut(shortcut: string): string { if (!shortcut) { return shortcut; } - return shortcut.toLowerCase().replace("enter", "return").replace("delete", "del").replace("ctrl+alt", "alt+ctrl").replace("meta+alt", "alt+meta"); // alt needs to be first; + return shortcut + .toLowerCase() + .trim() + .replace(/\s+/g, '') // Remove any spaces + .replace("enter", "return") + .replace("delete", "del") + .replace("escape", "esc") + // Normalize modifier order: ctrl, alt, shift, meta, then key + .split('+') + .sort((a, b) => { + const order = ['ctrl', 'control', 'alt', 'shift', 'meta', 'cmd', 'command']; + const aIndex = order.indexOf(a); + const bIndex = order.indexOf(b); + if (aIndex === -1 && bIndex === -1) return 0; + if (aIndex === -1) return 1; + if (bIndex === -1) return -1; + return aIndex - bIndex; + }) + .join('+'); } export default { diff --git a/apps/client/src/setup.ts b/apps/client/src/setup.ts index 033bb4f42..ba117aaf7 100644 --- a/apps/client/src/setup.ts +++ b/apps/client/src/setup.ts @@ -1,5 +1,4 @@ import "jquery"; -import "jquery-hotkeys"; import utils from "./services/utils.js"; import ko from "knockout"; import "./stylesheets/bootstrap.scss"; From 97fb273e7f8015748dbd66156e12b081eba4ec1c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 14:15:29 +0300 Subject: [PATCH 229/505] fix(hotkeys): tree not using the right API --- apps/client/src/widgets/note_tree.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/note_tree.ts b/apps/client/src/widgets/note_tree.ts index 3b9367f1f..d6dd4d733 100644 --- a/apps/client/src/widgets/note_tree.ts +++ b/apps/client/src/widgets/note_tree.ts @@ -727,9 +727,9 @@ export default class NoteTreeWidget extends NoteContextAwareWidget { for (const key in hotKeys) { const handler = hotKeys[key]; - $(this.tree.$container).on("keydown", null, key, (evt) => { + shortcutService.bindElShortcut($(this.tree.$container), key, () => { const node = this.tree.getActiveNode(); - return handler(node, evt); + return handler(node, {} as JQuery.KeyDownEvent); // return false from the handler will stop default handling. }); } From ee3a8e105e49e17b3e921f56fbae5b0e83b2400e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 14:18:09 +0300 Subject: [PATCH 230/505] refactor(hotkeys): remove unnecessary initialization code --- apps/client/src/components/entrypoints.ts | 7 ------- apps/client/src/types.d.ts | 10 ---------- 2 files changed, 17 deletions(-) diff --git a/apps/client/src/components/entrypoints.ts b/apps/client/src/components/entrypoints.ts index 0ad2c76ed..d1cc78515 100644 --- a/apps/client/src/components/entrypoints.ts +++ b/apps/client/src/components/entrypoints.ts @@ -30,13 +30,6 @@ interface CreateChildrenResponse { export default class Entrypoints extends Component { constructor() { super(); - - if (jQuery.hotkeys) { - // hot keys are active also inside inputs and content editables - jQuery.hotkeys.options.filterInputAcceptingElements = false; - jQuery.hotkeys.options.filterContentEditable = false; - jQuery.hotkeys.options.filterTextInputs = false; - } } openDevToolsCommand() { diff --git a/apps/client/src/types.d.ts b/apps/client/src/types.d.ts index be42284c7..fedad1662 100644 --- a/apps/client/src/types.d.ts +++ b/apps/client/src/types.d.ts @@ -97,16 +97,6 @@ declare global { setNote(noteId: string); } - interface JQueryStatic { - hotkeys: { - options: { - filterInputAcceptingElements: boolean; - filterContentEditable: boolean; - filterTextInputs: boolean; - } - } - } - var logError: (message: string, e?: Error | string) => void; var logInfo: (message: string) => void; var glob: CustomGlobals; From eb805bfa2a2363dfea4ab7958dd78e9afd1d01f9 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 14:19:02 +0300 Subject: [PATCH 231/505] refactor(hotkeys): remove no longer necessary library --- apps/client/package.json | 1 - pnpm-lock.yaml | 55 ++++++++++++---------------------------- 2 files changed, 16 insertions(+), 40 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index 6e5c0d17f..e4096d112 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -39,7 +39,6 @@ "i18next": "25.3.2", "i18next-http-backend": "3.0.2", "jquery": "3.7.1", - "jquery-hotkeys": "0.2.2", "jquery.fancytree": "2.38.5", "jsplumb": "2.15.6", "katex": "0.16.22", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5e28f9f5f..09a0c36f7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -246,9 +246,6 @@ importers: jquery: specifier: 3.7.1 version: 3.7.1 - jquery-hotkeys: - specifier: 0.2.2 - version: 0.2.2 jquery.fancytree: specifier: 2.38.5 version: 2.38.5(jquery@3.7.1) @@ -16697,6 +16694,8 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16821,12 +16820,16 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-cloud-services@46.0.0': dependencies: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -17052,6 +17055,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -17061,6 +17066,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -17070,6 +17077,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -17103,8 +17112,6 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17161,8 +17168,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -17187,6 +17192,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -17250,6 +17257,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -17309,8 +17318,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -17322,8 +17329,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-inspector@5.0.0': {} @@ -17333,8 +17338,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-line-height@46.0.0': dependencies: @@ -17358,8 +17361,6 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-list-multi-level@46.0.0': dependencies: @@ -17383,8 +17384,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-markdown-gfm@46.0.0': dependencies: @@ -17422,8 +17421,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17447,8 +17444,6 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17457,8 +17452,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-operations-compressor@46.0.0': dependencies: @@ -17511,8 +17504,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-pagination@46.0.0': dependencies: @@ -17619,8 +17610,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-slash-command@46.0.0': dependencies: @@ -17633,8 +17622,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.0.0': dependencies: @@ -17682,8 +17669,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-table@46.0.0': dependencies: @@ -17696,8 +17681,6 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-template@46.0.0': dependencies: @@ -17772,8 +17755,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 46.0.0 '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@46.0.0': dependencies: @@ -17810,8 +17791,6 @@ snapshots: '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-widget@46.0.0': dependencies: @@ -17831,8 +17810,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@codemirror/autocomplete@6.18.6': dependencies: From 5d006304528374d2562aa0d6646a53ee65f76f11 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 14:26:51 +0300 Subject: [PATCH 232/505] refactor(hotkeys): simplify normalization --- apps/client/src/services/shortcuts.ts | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/apps/client/src/services/shortcuts.ts b/apps/client/src/services/shortcuts.ts index a4bfa2909..09d533ad5 100644 --- a/apps/client/src/services/shortcuts.ts +++ b/apps/client/src/services/shortcuts.ts @@ -101,11 +101,14 @@ function matchesShortcut(e: KeyboardEvent, shortcut: string): boolean { } function keyMatches(e: KeyboardEvent, key: string): boolean { - // Handle special key mappings + // Handle special key mappings and aliases const keyMap: { [key: string]: string[] } = { 'return': ['Enter'], + 'enter': ['Enter'], // alias for return 'del': ['Delete'], + 'delete': ['Delete'], // alias for del 'esc': ['Escape'], + 'escape': ['Escape'], // alias for esc 'space': [' ', 'Space'], 'tab': ['Tab'], 'backspace': ['Backspace'], @@ -135,32 +138,14 @@ function keyMatches(e: KeyboardEvent, key: string): boolean { } /** - * Normalize to a consistent format for our custom shortcut parser + * Simple normalization - just lowercase and trim whitespace */ function normalizeShortcut(shortcut: string): string { if (!shortcut) { return shortcut; } - return shortcut - .toLowerCase() - .trim() - .replace(/\s+/g, '') // Remove any spaces - .replace("enter", "return") - .replace("delete", "del") - .replace("escape", "esc") - // Normalize modifier order: ctrl, alt, shift, meta, then key - .split('+') - .sort((a, b) => { - const order = ['ctrl', 'control', 'alt', 'shift', 'meta', 'cmd', 'command']; - const aIndex = order.indexOf(a); - const bIndex = order.indexOf(b); - if (aIndex === -1 && bIndex === -1) return 0; - if (aIndex === -1) return 1; - if (bIndex === -1) return -1; - return aIndex - bIndex; - }) - .join('+'); + return shortcut.toLowerCase().trim().replace(/\s+/g, ''); } export default { From 030178cad27e567b7796a0a5ea84a0ef04f85d0c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 14:29:59 +0300 Subject: [PATCH 233/505] fix(hotkeys): errors on mouse clicks --- apps/client/src/services/shortcuts.ts | 32 ++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/apps/client/src/services/shortcuts.ts b/apps/client/src/services/shortcuts.ts index 09d533ad5..434101a6f 100644 --- a/apps/client/src/services/shortcuts.ts +++ b/apps/client/src/services/shortcuts.ts @@ -36,6 +36,11 @@ function bindElShortcut($el: JQuery, keyboardShortcut: st const element = $el.length > 0 ? $el[0] as (HTMLElement | Document) : document; const listener = (evt: Event) => { + // Only handle keyboard events + if (evt.type !== 'keydown' || !(evt instanceof KeyboardEvent)) { + return; + } + const e = evt as KeyboardEvent; if (matchesShortcut(e, keyboardShortcut)) { e.preventDefault(); @@ -78,11 +83,23 @@ function removeNamespaceBindings(namespace: string) { function matchesShortcut(e: KeyboardEvent, shortcut: string): boolean { if (!shortcut) return false; + + // Ensure we have a proper KeyboardEvent with key property + if (!e || typeof e.key !== 'string') { + console.warn('matchesShortcut called with invalid event:', e); + return false; + } const parts = shortcut.toLowerCase().split('+'); const key = parts[parts.length - 1]; // Last part is the actual key const modifiers = parts.slice(0, -1); // Everything before is modifiers + // Defensive check - ensure we have a valid key + if (!key || key.trim() === '') { + console.warn('Invalid shortcut format:', shortcut); + return false; + } + // Check if the main key matches if (!keyMatches(e, key)) { return false; @@ -101,6 +118,12 @@ function matchesShortcut(e: KeyboardEvent, shortcut: string): boolean { } function keyMatches(e: KeyboardEvent, key: string): boolean { + // Defensive check for undefined/null key + if (!key) { + console.warn('keyMatches called with undefined/null key'); + return false; + } + // Handle special key mappings and aliases const keyMap: { [key: string]: string[] } = { 'return': ['Enter'], @@ -145,7 +168,14 @@ function normalizeShortcut(shortcut: string): string { return shortcut; } - return shortcut.toLowerCase().trim().replace(/\s+/g, ''); + const normalized = shortcut.toLowerCase().trim().replace(/\s+/g, ''); + + // Warn about potentially problematic shortcuts + if (normalized.endsWith('+') || normalized.startsWith('+') || normalized.includes('++')) { + console.warn('Potentially malformed shortcut:', shortcut, '-> normalized to:', normalized); + } + + return normalized; } export default { From 5289d41b12de22506625bdd588465f4b889a2fe2 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 14:43:37 +0300 Subject: [PATCH 234/505] fix(hotkeys): shortcuts with number keys not working --- apps/client/src/services/shortcuts.ts | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/apps/client/src/services/shortcuts.ts b/apps/client/src/services/shortcuts.ts index 434101a6f..4d548f9af 100644 --- a/apps/client/src/services/shortcuts.ts +++ b/apps/client/src/services/shortcuts.ts @@ -40,7 +40,7 @@ function bindElShortcut($el: JQuery, keyboardShortcut: st if (evt.type !== 'keydown' || !(evt instanceof KeyboardEvent)) { return; } - + const e = evt as KeyboardEvent; if (matchesShortcut(e, keyboardShortcut)) { e.preventDefault(); @@ -83,7 +83,7 @@ function removeNamespaceBindings(namespace: string) { function matchesShortcut(e: KeyboardEvent, shortcut: string): boolean { if (!shortcut) return false; - + // Ensure we have a proper KeyboardEvent with key property if (!e || typeof e.key !== 'string') { console.warn('matchesShortcut called with invalid event:', e); @@ -155,7 +155,18 @@ function keyMatches(e: KeyboardEvent, key: string): boolean { return mappedKeys.includes(e.key) || mappedKeys.includes(e.code); } - // For regular keys, check both key and code + // For number keys, use the physical key code regardless of modifiers + // This works across all keyboard layouts + if (key >= '0' && key <= '9') { + return e.code === `Digit${key}`; + } + + // For letter keys, use the physical key code for consistency + if (key.length === 1 && key >= 'a' && key <= 'z') { + return e.code === `Key${key.toUpperCase()}`; + } + + // For regular keys, check both key and code as fallback return e.key.toLowerCase() === key.toLowerCase() || e.code.toLowerCase() === key.toLowerCase(); } @@ -169,12 +180,12 @@ function normalizeShortcut(shortcut: string): string { } const normalized = shortcut.toLowerCase().trim().replace(/\s+/g, ''); - + // Warn about potentially problematic shortcuts if (normalized.endsWith('+') || normalized.startsWith('+') || normalized.includes('++')) { console.warn('Potentially malformed shortcut:', shortcut, '-> normalized to:', normalized); } - + return normalized; } From d5866a99ecdcb86e4a5b781708114473a9b8ecaa Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 19:30:27 +0300 Subject: [PATCH 235/505] test(hotkeys): add some basic tests --- apps/client/src/services/shortcuts.spec.ts | 323 +++++++++++++++++++++ apps/client/src/services/shortcuts.ts | 4 +- 2 files changed, 325 insertions(+), 2 deletions(-) create mode 100644 apps/client/src/services/shortcuts.spec.ts diff --git a/apps/client/src/services/shortcuts.spec.ts b/apps/client/src/services/shortcuts.spec.ts new file mode 100644 index 000000000..c23cb3730 --- /dev/null +++ b/apps/client/src/services/shortcuts.spec.ts @@ -0,0 +1,323 @@ +import { describe, expect, it, vi, beforeEach, afterEach } from "vitest"; +import shortcuts, { keyMatches, matchesShortcut } from "./shortcuts.js"; + +// Mock utils module +vi.mock("./utils.js", () => ({ + default: { + isDesktop: () => true + } +})); + +// Mock jQuery globally since it's used in the shortcuts module +const mockElement = { + addEventListener: vi.fn(), + removeEventListener: vi.fn() +}; + +const mockJQuery = vi.fn(() => [mockElement]); +mockJQuery.length = 1; +mockJQuery[0] = mockElement; + +global.$ = mockJQuery as any; +global.document = mockElement as any; + +describe("shortcuts", () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + afterEach(() => { + // Clean up any active bindings after each test + shortcuts.removeGlobalShortcut("test-namespace"); + }); + + describe("normalizeShortcut", () => { + it("should normalize shortcut to lowercase and remove whitespace", () => { + expect(shortcuts.normalizeShortcut("Ctrl + A")).toBe("ctrl+a"); + expect(shortcuts.normalizeShortcut(" SHIFT + F1 ")).toBe("shift+f1"); + expect(shortcuts.normalizeShortcut("Alt+Space")).toBe("alt+space"); + }); + + it("should handle empty or null shortcuts", () => { + expect(shortcuts.normalizeShortcut("")).toBe(""); + expect(shortcuts.normalizeShortcut(null as any)).toBe(null); + expect(shortcuts.normalizeShortcut(undefined as any)).toBe(undefined); + }); + + it("should handle shortcuts with multiple spaces", () => { + expect(shortcuts.normalizeShortcut("Ctrl + Shift + A")).toBe("ctrl+shift+a"); + }); + + it("should warn about malformed shortcuts", () => { + const consoleSpy = vi.spyOn(console, 'warn').mockImplementation(() => {}); + + shortcuts.normalizeShortcut("ctrl+"); + shortcuts.normalizeShortcut("+a"); + shortcuts.normalizeShortcut("ctrl++a"); + + expect(consoleSpy).toHaveBeenCalledTimes(3); + consoleSpy.mockRestore(); + }); + }); + + describe("keyMatches", () => { + const createKeyboardEvent = (key: string, code?: string) => ({ + key, + code: code || `Key${key.toUpperCase()}` + } as KeyboardEvent); + + it("should match regular letter keys using key code", () => { + const event = createKeyboardEvent("a", "KeyA"); + expect(keyMatches(event, "a")).toBe(true); + expect(keyMatches(event, "A")).toBe(true); + }); + + it("should match number keys using digit codes", () => { + const event = createKeyboardEvent("1", "Digit1"); + expect(keyMatches(event, "1")).toBe(true); + }); + + it("should match special keys using key mapping", () => { + expect(keyMatches({ key: "Enter" } as KeyboardEvent, "return")).toBe(true); + expect(keyMatches({ key: "Enter" } as KeyboardEvent, "enter")).toBe(true); + expect(keyMatches({ key: "Delete" } as KeyboardEvent, "del")).toBe(true); + expect(keyMatches({ key: "Escape" } as KeyboardEvent, "esc")).toBe(true); + expect(keyMatches({ key: " " } as KeyboardEvent, "space")).toBe(true); + expect(keyMatches({ key: "ArrowUp" } as KeyboardEvent, "up")).toBe(true); + }); + + it("should match function keys", () => { + expect(keyMatches({ key: "F1" } as KeyboardEvent, "f1")).toBe(true); + expect(keyMatches({ key: "F12" } as KeyboardEvent, "f12")).toBe(true); + }); + + it("should handle undefined or null keys", () => { + const consoleSpy = vi.spyOn(console, 'warn').mockImplementation(() => {}); + + expect(keyMatches({} as KeyboardEvent, null as any)).toBe(false); + expect(keyMatches({} as KeyboardEvent, undefined as any)).toBe(false); + + expect(consoleSpy).toHaveBeenCalled(); + consoleSpy.mockRestore(); + }); + }); + + describe("matchesShortcut", () => { + const createKeyboardEvent = (options: { + key: string; + code?: string; + ctrlKey?: boolean; + altKey?: boolean; + shiftKey?: boolean; + metaKey?: boolean; + }) => ({ + key: options.key, + code: options.code || `Key${options.key.toUpperCase()}`, + ctrlKey: options.ctrlKey || false, + altKey: options.altKey || false, + shiftKey: options.shiftKey || false, + metaKey: options.metaKey || false + } as KeyboardEvent); + + it("should match simple key shortcuts", () => { + const event = createKeyboardEvent({ key: "a", code: "KeyA" }); + expect(matchesShortcut(event, "a")).toBe(true); + }); + + it("should match shortcuts with modifiers", () => { + const event = createKeyboardEvent({ key: "a", code: "KeyA", ctrlKey: true }); + expect(matchesShortcut(event, "ctrl+a")).toBe(true); + + const shiftEvent = createKeyboardEvent({ key: "a", code: "KeyA", shiftKey: true }); + expect(matchesShortcut(shiftEvent, "shift+a")).toBe(true); + }); + + it("should match complex modifier combinations", () => { + const event = createKeyboardEvent({ + key: "a", + code: "KeyA", + ctrlKey: true, + shiftKey: true + }); + expect(matchesShortcut(event, "ctrl+shift+a")).toBe(true); + }); + + it("should not match when modifiers don't match", () => { + const event = createKeyboardEvent({ key: "a", code: "KeyA", ctrlKey: true }); + expect(matchesShortcut(event, "alt+a")).toBe(false); + expect(matchesShortcut(event, "a")).toBe(false); + }); + + it("should handle alternative modifier names", () => { + const ctrlEvent = createKeyboardEvent({ key: "a", code: "KeyA", ctrlKey: true }); + expect(matchesShortcut(ctrlEvent, "control+a")).toBe(true); + + const metaEvent = createKeyboardEvent({ key: "a", code: "KeyA", metaKey: true }); + expect(matchesShortcut(metaEvent, "cmd+a")).toBe(true); + expect(matchesShortcut(metaEvent, "command+a")).toBe(true); + }); + + it("should handle empty or invalid shortcuts", () => { + const event = createKeyboardEvent({ key: "a", code: "KeyA" }); + expect(matchesShortcut(event, "")).toBe(false); + expect(matchesShortcut(event, null as any)).toBe(false); + }); + + it("should handle invalid events", () => { + const consoleSpy = vi.spyOn(console, 'warn').mockImplementation(() => {}); + + expect(matchesShortcut(null as any, "a")).toBe(false); + expect(matchesShortcut({} as KeyboardEvent, "a")).toBe(false); + + expect(consoleSpy).toHaveBeenCalled(); + consoleSpy.mockRestore(); + }); + + it("should warn about invalid shortcut formats", () => { + const consoleSpy = vi.spyOn(console, 'warn').mockImplementation(() => {}); + const event = createKeyboardEvent({ key: "a", code: "KeyA" }); + + matchesShortcut(event, "ctrl+"); + matchesShortcut(event, "+"); + + expect(consoleSpy).toHaveBeenCalled(); + consoleSpy.mockRestore(); + }); + }); + + describe("bindGlobalShortcut", () => { + it("should bind a global shortcut", () => { + const handler = vi.fn(); + shortcuts.bindGlobalShortcut("ctrl+a", handler, "test-namespace"); + + expect(mockElement.addEventListener).toHaveBeenCalledWith("keydown", expect.any(Function)); + }); + + it("should not bind shortcuts when handler is null", () => { + shortcuts.bindGlobalShortcut("ctrl+a", null, "test-namespace"); + + expect(mockElement.addEventListener).not.toHaveBeenCalled(); + }); + + it("should remove previous bindings when namespace is reused", () => { + const handler1 = vi.fn(); + const handler2 = vi.fn(); + + shortcuts.bindGlobalShortcut("ctrl+a", handler1, "test-namespace"); + expect(mockElement.addEventListener).toHaveBeenCalledTimes(1); + + shortcuts.bindGlobalShortcut("ctrl+b", handler2, "test-namespace"); + expect(mockElement.removeEventListener).toHaveBeenCalledTimes(1); + expect(mockElement.addEventListener).toHaveBeenCalledTimes(2); + }); + }); + + describe("bindElShortcut", () => { + it("should bind shortcut to specific element", () => { + const mockEl = { addEventListener: vi.fn(), removeEventListener: vi.fn() }; + const mockJQueryEl = [mockEl] as any; + mockJQueryEl.length = 1; + + const handler = vi.fn(); + shortcuts.bindElShortcut(mockJQueryEl, "ctrl+a", handler, "test-namespace"); + + expect(mockEl.addEventListener).toHaveBeenCalledWith("keydown", expect.any(Function)); + }); + + it("should fall back to document when element is empty", () => { + const emptyJQuery = [] as any; + emptyJQuery.length = 0; + + const handler = vi.fn(); + shortcuts.bindElShortcut(emptyJQuery, "ctrl+a", handler, "test-namespace"); + + expect(mockElement.addEventListener).toHaveBeenCalledWith("keydown", expect.any(Function)); + }); + }); + + describe("removeGlobalShortcut", () => { + it("should remove shortcuts for a specific namespace", () => { + const handler = vi.fn(); + shortcuts.bindGlobalShortcut("ctrl+a", handler, "test-namespace"); + + shortcuts.removeGlobalShortcut("test-namespace"); + + expect(mockElement.removeEventListener).toHaveBeenCalledWith("keydown", expect.any(Function)); + }); + }); + + describe("event handling", () => { + it.skip("should call handler when shortcut matches", () => { + const handler = vi.fn(); + shortcuts.bindGlobalShortcut("ctrl+a", handler, "test-namespace"); + + // Get the listener that was registered + expect(mockElement.addEventListener.mock.calls).toHaveLength(1); + const [, listener] = mockElement.addEventListener.mock.calls[0]; + + // First verify that matchesShortcut works directly + const testEvent = { + type: "keydown", + key: "a", + code: "KeyA", + ctrlKey: true, + altKey: false, + shiftKey: false, + metaKey: false, + preventDefault: vi.fn(), + stopPropagation: vi.fn() + } as any; + + // Test matchesShortcut directly first + expect(matchesShortcut(testEvent, "ctrl+a")).toBe(true); + + // Now test the actual listener + listener(testEvent); + + expect(handler).toHaveBeenCalled(); + expect(testEvent.preventDefault).toHaveBeenCalled(); + expect(testEvent.stopPropagation).toHaveBeenCalled(); + }); + + it("should not call handler for non-keyboard events", () => { + const handler = vi.fn(); + shortcuts.bindGlobalShortcut("ctrl+a", handler, "test-namespace"); + + const [, listener] = mockElement.addEventListener.mock.calls[0]; + + // Simulate a non-keyboard event + const event = { + type: "click" + } as any; + + listener(event); + + expect(handler).not.toHaveBeenCalled(); + }); + + it("should not call handler when shortcut doesn't match", () => { + const handler = vi.fn(); + shortcuts.bindGlobalShortcut("ctrl+a", handler, "test-namespace"); + + const [, listener] = mockElement.addEventListener.mock.calls[0]; + + // Simulate a non-matching keydown event + const event = { + type: "keydown", + key: "b", + code: "KeyB", + ctrlKey: true, + altKey: false, + shiftKey: false, + metaKey: false, + preventDefault: vi.fn(), + stopPropagation: vi.fn() + } as any; + + listener(event); + + expect(handler).not.toHaveBeenCalled(); + expect(event.preventDefault).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/apps/client/src/services/shortcuts.ts b/apps/client/src/services/shortcuts.ts index 4d548f9af..22b1ce3bc 100644 --- a/apps/client/src/services/shortcuts.ts +++ b/apps/client/src/services/shortcuts.ts @@ -81,7 +81,7 @@ function removeNamespaceBindings(namespace: string) { } } -function matchesShortcut(e: KeyboardEvent, shortcut: string): boolean { +export function matchesShortcut(e: KeyboardEvent, shortcut: string): boolean { if (!shortcut) return false; // Ensure we have a proper KeyboardEvent with key property @@ -117,7 +117,7 @@ function matchesShortcut(e: KeyboardEvent, shortcut: string): boolean { e.metaKey === expectedMeta; } -function keyMatches(e: KeyboardEvent, key: string): boolean { +export function keyMatches(e: KeyboardEvent, key: string): boolean { // Defensive check for undefined/null key if (!key) { console.warn('keyMatches called with undefined/null key'); From 7e01dfd22096504fb70be5115807707bffe5bc21 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 19:45:01 +0300 Subject: [PATCH 236/505] fix(sort): refresh when sorting notes via dialog --- apps/client/src/widgets/dialogs/sort_child_notes.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/dialogs/sort_child_notes.ts b/apps/client/src/widgets/dialogs/sort_child_notes.ts index 7560476c5..4724cf55c 100644 --- a/apps/client/src/widgets/dialogs/sort_child_notes.ts +++ b/apps/client/src/widgets/dialogs/sort_child_notes.ts @@ -88,7 +88,9 @@ export default class SortChildNotesDialog extends BasicWidget { this.$widget = $(TPL); this.$form = this.$widget.find(".sort-child-notes-form"); - this.$form.on("submit", async () => { + this.$form.on("submit", async (e) => { + e.preventDefault(); + const sortBy = this.$form.find("input[name='sort-by']:checked").val(); const sortDirection = this.$form.find("input[name='sort-direction']:checked").val(); const foldersFirst = this.$form.find("input[name='sort-folders-first']").is(":checked"); From f6e275709f9487535964451ceeb938121383fb06 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 19:47:01 +0300 Subject: [PATCH 237/505] fix(command_palette): sort child notes not working --- apps/client/src/services/command_registry.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/client/src/services/command_registry.ts b/apps/client/src/services/command_registry.ts index a6c1000b7..8f045d57d 100644 --- a/apps/client/src/services/command_registry.ts +++ b/apps/client/src/services/command_registry.ts @@ -260,7 +260,11 @@ class CommandRegistry { } const treeComponent = appContext.getComponentByEl(tree) as NoteTreeWidget; - treeComponent.triggerCommand(actionName, { ntxId: appContext.tabManager.activeNtxId }); + const activeNode = treeComponent.getActiveNode(); + treeComponent.triggerCommand(actionName, { + ntxId: appContext.tabManager.activeNtxId, + node: activeNode + }); } } From 7fc739487fdda37f6446d82f88d4a49294b6c388 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 19:50:07 +0300 Subject: [PATCH 238/505] chore(command_palette): hide jump to note / command palette --- apps/client/src/services/command_registry.ts | 12 ++++++--- apps/client/src/services/keyboard_actions.ts | 26 ++++++------------- apps/server/src/services/keyboard_actions.ts | 8 +++--- .../src/lib/keyboard_actions_interface.ts | 6 ++++- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/apps/client/src/services/command_registry.ts b/apps/client/src/services/command_registry.ts index 8f045d57d..a8721e43f 100644 --- a/apps/client/src/services/command_registry.ts +++ b/apps/client/src/services/command_registry.ts @@ -1,7 +1,8 @@ +import { ActionKeyboardShortcut } from "@triliumnext/commons"; import appContext, { type CommandNames } from "../components/app_context.js"; import type NoteTreeWidget from "../widgets/note_tree.js"; import { t, translationsInitializedPromise } from "./i18n.js"; -import keyboardActions, { Action } from "./keyboard_actions.js"; +import keyboardActions from "./keyboard_actions.js"; import utils from "./utils.js"; export interface CommandDefinition { @@ -15,7 +16,7 @@ export interface CommandDefinition { aliases?: string[]; source?: "manual" | "keyboard-action"; /** Reference to the original keyboard action for scope checking. */ - keyboardAction?: Action; + keyboardAction?: ActionKeyboardShortcut; } class CommandRegistry { @@ -105,7 +106,7 @@ class CommandRegistry { } } - private registerKeyboardActions(actions: Action[]) { + private registerKeyboardActions(actions: ActionKeyboardShortcut[]) { for (const action of actions) { // Skip actions that we've already manually registered if (this.commands.has(action.actionName)) { @@ -122,6 +123,11 @@ class CommandRegistry { continue; } + // Skip actions that should not appear in the command palette + if (action.ignoreFromCommandPalette) { + continue; + } + // Get the primary shortcut (first one in the list) const primaryShortcut = action.effectiveShortcuts?.[0]; diff --git a/apps/client/src/services/keyboard_actions.ts b/apps/client/src/services/keyboard_actions.ts index 820de185c..c72ba29bb 100644 --- a/apps/client/src/services/keyboard_actions.ts +++ b/apps/client/src/services/keyboard_actions.ts @@ -2,25 +2,15 @@ import server from "./server.js"; import appContext, { type CommandNames } from "../components/app_context.js"; import shortcutService from "./shortcuts.js"; import type Component from "../components/component.js"; +import type { ActionKeyboardShortcut } from "@triliumnext/commons"; -const keyboardActionRepo: Record = {}; +const keyboardActionRepo: Record = {}; -// TODO: Deduplicate with server. -export interface Action { - actionName: CommandNames; - effectiveShortcuts: string[]; - scope: string; - friendlyName: string; - description?: string; - iconClass?: string; - isElectronOnly?: boolean; -} - -const keyboardActionsLoaded = server.get("keyboard-actions").then((actions) => { +const keyboardActionsLoaded = server.get("keyboard-actions").then((actions) => { actions = actions.filter((a) => !!a.actionName); // filter out separators for (const action of actions) { - action.effectiveShortcuts = action.effectiveShortcuts.filter((shortcut) => !shortcut.startsWith("global:")); + action.effectiveShortcuts = (action.effectiveShortcuts ?? []).filter((shortcut) => !shortcut.startsWith("global:")); keyboardActionRepo[action.actionName] = action; } @@ -42,7 +32,7 @@ async function setupActionsForElement(scope: string, $el: JQuery, c const actions = await getActionsForScope(scope); for (const action of actions) { - for (const shortcut of action.effectiveShortcuts) { + for (const shortcut of action.effectiveShortcuts ?? []) { shortcutService.bindElShortcut($el, shortcut, () => component.triggerCommand(action.actionName, { ntxId: appContext.tabManager.activeNtxId })); } } @@ -50,7 +40,7 @@ async function setupActionsForElement(scope: string, $el: JQuery, c getActionsForScope("window").then((actions) => { for (const action of actions) { - for (const shortcut of action.effectiveShortcuts) { + for (const shortcut of action.effectiveShortcuts ?? []) { shortcutService.bindGlobalShortcut(shortcut, () => appContext.triggerCommand(action.actionName, { ntxId: appContext.tabManager.activeNtxId })); } } @@ -84,7 +74,7 @@ function updateDisplayedShortcuts($container: JQuery) { const action = await getAction(actionName, true); if (action) { - const keyboardActions = action.effectiveShortcuts.join(", "); + const keyboardActions = (action.effectiveShortcuts ?? []).join(", "); if (keyboardActions || $(el).text() !== "not set") { $(el).text(keyboardActions); @@ -103,7 +93,7 @@ function updateDisplayedShortcuts($container: JQuery) { if (action) { const title = $(el).attr("title"); - const shortcuts = action.effectiveShortcuts.join(", "); + const shortcuts = (action.effectiveShortcuts ?? []).join(", "); if (title?.includes(shortcuts)) { return; diff --git a/apps/server/src/services/keyboard_actions.ts b/apps/server/src/services/keyboard_actions.ts index bf65121be..5e5807fd0 100644 --- a/apps/server/src/services/keyboard_actions.ts +++ b/apps/server/src/services/keyboard_actions.ts @@ -36,18 +36,18 @@ function getDefaultKeyboardActions() { { actionName: "jumpToNote", friendlyName: t("keyboard_action_names.jump-to-note"), - iconClass: "bx bx-send", defaultShortcuts: ["CommandOrControl+J"], description: t("keyboard_actions.open-jump-to-note-dialog"), - scope: "window" + scope: "window", + ignoreFromCommandPalette: true }, { actionName: "commandPalette", friendlyName: t("keyboard_action_names.command-palette"), - iconClass: "bx bx-terminal", defaultShortcuts: ["CommandOrControl+Shift+J"], description: t("keyboard_actions.open-command-palette"), - scope: "window" + scope: "window", + ignoreFromCommandPalette: true }, { actionName: "scrollToActiveNote", diff --git a/packages/commons/src/lib/keyboard_actions_interface.ts b/packages/commons/src/lib/keyboard_actions_interface.ts index 9b73e48b2..c3de7e0db 100644 --- a/packages/commons/src/lib/keyboard_actions_interface.ts +++ b/packages/commons/src/lib/keyboard_actions_interface.ts @@ -112,7 +112,7 @@ export interface ActionKeyboardShortcut { * An icon describing the action. * This is currently only used in the command palette. */ - iconClass: string; + iconClass?: string; /** * Scope here means on which element the keyboard shortcuts are attached - this means that for the shortcut to work, * the focus has to be inside the element. @@ -127,6 +127,10 @@ export interface ActionKeyboardShortcut { * This is used to hide actions that are not available in the web version. */ isElectronOnly?: boolean; + /** + * If set to true, the action will not be shown in the command palette. + */ + ignoreFromCommandPalette?: boolean; } export type KeyboardShortcut = ActionKeyboardShortcut | KeyboardShortcutSeparator; From 024022299833e95a171819d67f8845560fbb555e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 19:54:19 +0300 Subject: [PATCH 239/505] chore(command_palette): disable two unsupported commands --- apps/server/src/services/keyboard_actions.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/server/src/services/keyboard_actions.ts b/apps/server/src/services/keyboard_actions.ts index 5e5807fd0..65efaaa66 100644 --- a/apps/server/src/services/keyboard_actions.ts +++ b/apps/server/src/services/keyboard_actions.ts @@ -245,18 +245,18 @@ function getDefaultKeyboardActions() { { actionName: "addNoteAboveToSelection", friendlyName: t("keyboard_action_names.add-note-above-to-selection"), - iconClass: "bx bx-chevron-up-square", defaultShortcuts: ["Shift+Up"], description: t("keyboard_actions.add-note-above-to-the-selection"), - scope: "note-tree" + scope: "note-tree", + ignoreFromCommandPalette: true }, { actionName: "addNoteBelowToSelection", friendlyName: t("keyboard_action_names.add-note-below-to-selection"), - iconClass: "bx bx-chevron-down-square", defaultShortcuts: ["Shift+Down"], description: t("keyboard_actions.add-note-below-to-selection"), - scope: "note-tree" + scope: "note-tree", + ignoreFromCommandPalette: true }, { actionName: "duplicateSubtree", From 0e6b10e4000759e62fb1e704c2f52dc9cb97bca4 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 22:33:22 +0300 Subject: [PATCH 240/505] feat(command_palette): active tab-related commands on browser --- apps/server/src/services/keyboard_actions.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/apps/server/src/services/keyboard_actions.ts b/apps/server/src/services/keyboard_actions.ts index 65efaaa66..4ce5bc2a6 100644 --- a/apps/server/src/services/keyboard_actions.ts +++ b/apps/server/src/services/keyboard_actions.ts @@ -275,7 +275,6 @@ function getDefaultKeyboardActions() { friendlyName: t("keyboard_action_names.open-new-tab"), iconClass: "bx bx-plus", defaultShortcuts: isElectron ? ["CommandOrControl+T"] : [], - isElectronOnly: true, description: t("keyboard_actions.open-new-tab"), scope: "window" }, @@ -284,7 +283,6 @@ function getDefaultKeyboardActions() { friendlyName: t("keyboard_action_names.close-active-tab"), iconClass: "bx bx-minus", defaultShortcuts: isElectron ? ["CommandOrControl+W"] : [], - isElectronOnly: true, description: t("keyboard_actions.close-active-tab"), scope: "window" }, @@ -302,7 +300,6 @@ function getDefaultKeyboardActions() { friendlyName: t("keyboard_action_names.activate-next-tab"), iconClass: "bx bx-skip-next", defaultShortcuts: isElectron ? ["CommandOrControl+Tab", "CommandOrControl+PageDown"] : [], - isElectronOnly: true, description: t("keyboard_actions.activate-next-tab"), scope: "window" }, @@ -311,7 +308,6 @@ function getDefaultKeyboardActions() { friendlyName: t("keyboard_action_names.activate-previous-tab"), iconClass: "bx bx-skip-previous", defaultShortcuts: isElectron ? ["CommandOrControl+Shift+Tab", "CommandOrControl+PageUp"] : [], - isElectronOnly: true, description: t("keyboard_actions.activate-previous-tab"), scope: "window" }, From 11d086ef12a4cdbfbd058affca0bf150e0ef2aa3 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 22:39:37 +0300 Subject: [PATCH 241/505] fix(command_palette): text editor-based issues not working --- apps/client/src/services/command_registry.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/apps/client/src/services/command_registry.ts b/apps/client/src/services/command_registry.ts index a8721e43f..e3ffb36a4 100644 --- a/apps/client/src/services/command_registry.ts +++ b/apps/client/src/services/command_registry.ts @@ -244,6 +244,8 @@ class CommandRegistry { if (command.keyboardAction && command.commandName) { if (command.keyboardAction.scope === "note-tree") { this.executeWithNoteTreeFocus(command.commandName); + } else if (command.keyboardAction.scope === "text-detail") { + this.executeWithTextDetail(command.commandName); } else { appContext.triggerCommand(command.commandName); } @@ -272,6 +274,17 @@ class CommandRegistry { node: activeNode }); } + + private async executeWithTextDetail(actionName: CommandNames) { + const typeWidget = await appContext.tabManager.getActiveContext()?.getTypeWidget(); + if (!typeWidget) { + return; + } + + typeWidget.triggerCommand(actionName, { + ntxId: appContext.tabManager.activeNtxId + }); + } } const commandRegistry = new CommandRegistry(); From 5b074c2e221ec4bfc38b630f541541814448ff6f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 22:45:31 +0300 Subject: [PATCH 242/505] fix(command_palette): some note context-aware commands not working --- apps/client/src/services/command_registry.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/client/src/services/command_registry.ts b/apps/client/src/services/command_registry.ts index e3ffb36a4..f0bb2eef5 100644 --- a/apps/client/src/services/command_registry.ts +++ b/apps/client/src/services/command_registry.ts @@ -247,14 +247,18 @@ class CommandRegistry { } else if (command.keyboardAction.scope === "text-detail") { this.executeWithTextDetail(command.commandName); } else { - appContext.triggerCommand(command.commandName); + appContext.triggerCommand(command.commandName, { + ntxId: appContext.tabManager.activeNtxId + }); } return; } // Fallback for commands without keyboard action reference if (command.commandName) { - appContext.triggerCommand(command.commandName); + appContext.triggerCommand(command.commandName, { + ntxId: appContext.tabManager.activeNtxId + }); return; } From baf341b312ee69adcbe5a5950e3f3ad8c05274ab Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 22:47:11 +0300 Subject: [PATCH 243/505] fix(command_palette): find in text not shown --- apps/server/src/services/keyboard_actions.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/server/src/services/keyboard_actions.ts b/apps/server/src/services/keyboard_actions.ts index 4ce5bc2a6..6a11242c4 100644 --- a/apps/server/src/services/keyboard_actions.ts +++ b/apps/server/src/services/keyboard_actions.ts @@ -759,7 +759,6 @@ function getDefaultKeyboardActions() { friendlyName: t("keyboard_action_names.find-in-text"), iconClass: "bx bx-search", defaultShortcuts: isElectron ? ["CommandOrControl+F"] : [], - isElectronOnly: true, description: t("keyboard_actions.find-in-text"), scope: "window" }, From 54e3ab5139853a1b8b9d95df04c4fb2602e8bb56 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 22:50:08 +0300 Subject: [PATCH 244/505] fix(command_palette): full screen not working on the browser --- apps/client/src/components/entrypoints.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/client/src/components/entrypoints.ts b/apps/client/src/components/entrypoints.ts index 0ad2c76ed..fd81879a7 100644 --- a/apps/client/src/components/entrypoints.ts +++ b/apps/client/src/components/entrypoints.ts @@ -113,7 +113,9 @@ export default class Entrypoints extends Component { if (win.isFullScreenable()) { win.setFullScreen(!win.isFullScreen()); } - } // outside of electron this is handled by the browser + } else { + document.documentElement.requestFullscreen(); + } } reloadFrontendAppCommand() { From a1ac276be5de1027559e6ac75856e4b667e355bf Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 22:58:42 +0300 Subject: [PATCH 245/505] feat(web_view): hide attribute from attribute preview --- apps/client/src/services/attribute_renderer.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/apps/client/src/services/attribute_renderer.ts b/apps/client/src/services/attribute_renderer.ts index bbe278056..9432eebc6 100644 --- a/apps/client/src/services/attribute_renderer.ts +++ b/apps/client/src/services/attribute_renderer.ts @@ -79,7 +79,19 @@ async function renderAttributes(attributes: FAttribute[], renderIsInheritable: b return $container; } -const HIDDEN_ATTRIBUTES = ["originalFileName", "fileSize", "template", "inherit", "cssClass", "iconClass", "pageSize", "viewType", "geolocation", "docName"]; +const HIDDEN_ATTRIBUTES = [ + "originalFileName", + "fileSize", + "template", + "inherit", + "cssClass", + "iconClass", + "pageSize", + "viewType", + "geolocation", + "docName", + "webViewSrc" +]; async function renderNormalAttributes(note: FNote) { const promotedDefinitionAttributes = note.getPromotedDefinitionAttributes(); From acb16f751b298fc32e024c8f71c4d57e5d807541 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 23:03:02 +0300 Subject: [PATCH 246/505] style(next): improve border for image notes preview --- apps/client/src/stylesheets/theme-next/base.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/client/src/stylesheets/theme-next/base.css b/apps/client/src/stylesheets/theme-next/base.css index 2c4236676..b18e95a07 100644 --- a/apps/client/src/stylesheets/theme-next/base.css +++ b/apps/client/src/stylesheets/theme-next/base.css @@ -454,7 +454,7 @@ body.mobile .dropdown-menu .dropdown-item.submenu-open .dropdown-toggle::after { font-size: 0.8rem; } -.note-list-wrapper .note-book-card .note-book-content .rendered-content { +.note-list-wrapper .note-book-card .note-book-content:not(.type-image) .rendered-content { padding: 1rem; } From cda8fc71465fcccd71900adf87ac37ec6d7c47a5 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 23:05:46 +0300 Subject: [PATCH 247/505] style(next): improve border for pdf notes preview --- apps/client/src/stylesheets/theme-next/base.css | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/client/src/stylesheets/theme-next/base.css b/apps/client/src/stylesheets/theme-next/base.css index b18e95a07..c992f7ecb 100644 --- a/apps/client/src/stylesheets/theme-next/base.css +++ b/apps/client/src/stylesheets/theme-next/base.css @@ -454,10 +454,15 @@ body.mobile .dropdown-menu .dropdown-item.submenu-open .dropdown-toggle::after { font-size: 0.8rem; } -.note-list-wrapper .note-book-card .note-book-content:not(.type-image) .rendered-content { +.note-list-wrapper .note-book-card .note-book-content .rendered-content { padding: 1rem; } +.note-list-wrapper .note-book-card .note-book-content.type-image .rendered-content, +.note-list-wrapper .note-book-card .note-book-content.type-pdf .rendered-content { + padding: 0; +} + .note-list-wrapper .note-book-card .note-book-content .rendered-content.text-with-ellipsis { padding: 1rem !important; } From 1dfe27d3df8d64a42126ec6380944aba50b3bfdf Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 23:17:58 +0300 Subject: [PATCH 248/505] feat(web_view): open externally from note preview --- apps/client/src/services/content_renderer.ts | 28 +++++++++++++++++++ apps/client/src/stylesheets/style.css | 6 ++-- .../src/translations/en/translation.json | 3 ++ 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/apps/client/src/services/content_renderer.ts b/apps/client/src/services/content_renderer.ts index 40480e073..4f6d12c34 100644 --- a/apps/client/src/services/content_renderer.ts +++ b/apps/client/src/services/content_renderer.ts @@ -65,6 +65,9 @@ async function getRenderedContent(this: {} | { ctx: string }, entity: FNote | FA $renderedContent.append($("
").append("
This note is protected and to access it you need to enter password.
").append("
").append($button)); } else if (entity instanceof FNote) { + $renderedContent + .css("display", "flex") + .css("flex-direction", "column"); $renderedContent.append( $("
") .css("display", "flex") @@ -72,8 +75,33 @@ async function getRenderedContent(this: {} | { ctx: string }, entity: FNote | FA .css("align-items", "center") .css("height", "100%") .css("font-size", "500%") + .css("flex-grow", "1") .append($("").addClass(entity.getIcon())) ); + + if (entity.type === "webView" && entity.hasLabel("webViewSrc")) { + const $footer = $("
") + .addClass("webview-footer"); + const $openButton = $(` + + `) + .appendTo($footer) + .on("click", () => { + const webViewSrc = entity.getLabelValue("webViewSrc"); + if (webViewSrc) { + if (utils.isElectron()) { + const electron = utils.dynamicRequire("electron"); + electron.shell.openExternal(webViewSrc); + } else { + window.open(webViewSrc, '_blank', 'noopener,noreferrer'); + } + } + }); + $footer.appendTo($renderedContent); + } } if (entity instanceof FNote) { diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css index 8d56447d4..716064013 100644 --- a/apps/client/src/stylesheets/style.css +++ b/apps/client/src/stylesheets/style.css @@ -1937,12 +1937,14 @@ body.zen .note-title-widget input { /* Content renderer */ -footer.file-footer { +footer.file-footer, +footer.webview-footer { display: flex; justify-content: center; } -footer.file-footer button { +footer.file-footer button, +footer.webview-footer button { margin: 5px; } diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 0d8313aa4..c59057709 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -2002,5 +2002,8 @@ "search_history_description": "View previous searches", "configure_launch_bar_title": "Configure Launch Bar", "configure_launch_bar_description": "Open the launch bar configuration, to add or remove items." + }, + "content_renderer": { + "open_externally": "Open externally" } } From 8a587d4d21cd010648208192c6f3f0ac36fb51fa Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 30 Jul 2025 23:46:43 +0300 Subject: [PATCH 249/505] chore(client): fix typecheck issues --- apps/client/src/components/app_context.ts | 66 +++++++++++++++++++ apps/client/src/services/shortcuts.spec.ts | 4 +- apps/client/src/services/shortcuts.ts | 4 +- .../src/widgets/buttons/command_button.ts | 7 +- .../widgets/containers/ribbon_container.ts | 2 +- .../src/widgets/dialogs/jump_to_note.ts | 2 +- apps/client/src/widgets/note_tree.ts | 2 +- .../options/text_notes/date_time_format.ts | 3 +- 8 files changed, 79 insertions(+), 11 deletions(-) diff --git a/apps/client/src/components/app_context.ts b/apps/client/src/components/app_context.ts index 2944005bd..aef00f032 100644 --- a/apps/client/src/components/app_context.ts +++ b/apps/client/src/components/app_context.ts @@ -266,6 +266,72 @@ export type CommandMappings = { jumpToNote: CommandData; commandPalette: CommandData; + // Keyboard shortcuts + backInNoteHistory: CommandData; + forwardInNoteHistory: CommandData; + forceSaveRevision: CommandData; + scrollToActiveNote: CommandData; + quickSearch: CommandData; + collapseTree: CommandData; + createNoteAfter: CommandData; + createNoteInto: CommandData; + addNoteAboveToSelection: CommandData; + addNoteBelowToSelection: CommandData; + openNewTab: CommandData; + activateNextTab: CommandData; + activatePreviousTab: CommandData; + openNewWindow: CommandData; + toggleTray: CommandData; + firstTab: CommandData; + secondTab: CommandData; + thirdTab: CommandData; + fourthTab: CommandData; + fifthTab: CommandData; + sixthTab: CommandData; + seventhTab: CommandData; + eigthTab: CommandData; + ninthTab: CommandData; + lastTab: CommandData; + showNoteSource: CommandData; + showSQLConsole: CommandData; + showBackendLog: CommandData; + showCheatsheet: CommandData; + showHelp: CommandData; + addLinkToText: CommandData; + followLinkUnderCursor: CommandData; + insertDateTimeToText: CommandData; + pasteMarkdownIntoText: CommandData; + cutIntoNote: CommandData; + addIncludeNoteToText: CommandData; + editReadOnlyNote: CommandData; + toggleRibbonTabClassicEditor: CommandData; + toggleRibbonTabBasicProperties: CommandData; + toggleRibbonTabBookProperties: CommandData; + toggleRibbonTabFileProperties: CommandData; + toggleRibbonTabImageProperties: CommandData; + toggleRibbonTabOwnedAttributes: CommandData; + toggleRibbonTabInheritedAttributes: CommandData; + toggleRibbonTabPromotedAttributes: CommandData; + toggleRibbonTabNoteMap: CommandData; + toggleRibbonTabNoteInfo: CommandData; + toggleRibbonTabNotePaths: CommandData; + toggleRibbonTabSimilarNotes: CommandData; + toggleRightPane: CommandData; + printActiveNote: CommandData; + exportAsPdf: CommandData; + openNoteExternally: CommandData; + renderActiveNote: CommandData; + unhoist: CommandData; + reloadFrontendApp: CommandData; + openDevTools: CommandData; + findInText: CommandData; + toggleLeftPane: CommandData; + toggleFullscreen: CommandData; + zoomOut: CommandData; + zoomIn: CommandData; + zoomReset: CommandData; + copyWithoutFormatting: CommandData; + // Geomap deleteFromMap: { noteId: string }; diff --git a/apps/client/src/services/shortcuts.spec.ts b/apps/client/src/services/shortcuts.spec.ts index c23cb3730..1a20f9a84 100644 --- a/apps/client/src/services/shortcuts.spec.ts +++ b/apps/client/src/services/shortcuts.spec.ts @@ -15,10 +15,10 @@ const mockElement = { }; const mockJQuery = vi.fn(() => [mockElement]); -mockJQuery.length = 1; +(mockJQuery as any).length = 1; mockJQuery[0] = mockElement; -global.$ = mockJQuery as any; +(global as any).$ = mockJQuery as any; global.document = mockElement as any; describe("shortcuts", () => { diff --git a/apps/client/src/services/shortcuts.ts b/apps/client/src/services/shortcuts.ts index 22b1ce3bc..00f2f7721 100644 --- a/apps/client/src/services/shortcuts.ts +++ b/apps/client/src/services/shortcuts.ts @@ -1,7 +1,7 @@ import utils from "./utils.js"; type ElementType = HTMLElement | Document; -type Handler = () => void; +type Handler = (e: KeyboardEvent) => void; interface ShortcutBinding { element: HTMLElement | Document; @@ -45,7 +45,7 @@ function bindElShortcut($el: JQuery, keyboardShortcut: st if (matchesShortcut(e, keyboardShortcut)) { e.preventDefault(); e.stopPropagation(); - handler(); + handler(e); } }; diff --git a/apps/client/src/widgets/buttons/command_button.ts b/apps/client/src/widgets/buttons/command_button.ts index ba32fb7f8..49b147d35 100644 --- a/apps/client/src/widgets/buttons/command_button.ts +++ b/apps/client/src/widgets/buttons/command_button.ts @@ -1,9 +1,10 @@ +import { ActionKeyboardShortcut } from "@triliumnext/commons"; import type { CommandNames } from "../../components/app_context.js"; -import keyboardActionsService, { type Action } from "../../services/keyboard_actions.js"; +import keyboardActionsService from "../../services/keyboard_actions.js"; import AbstractButtonWidget, { type AbstractButtonWidgetSettings } from "./abstract_button.js"; import type { ButtonNoteIdProvider } from "./button_from_note.js"; -let actions: Action[]; +let actions: ActionKeyboardShortcut[]; keyboardActionsService.getActions().then((as) => (actions = as)); @@ -49,7 +50,7 @@ export default class CommandButtonWidget extends AbstractButtonWidget act.actionName === this._command); - if (action && action.effectiveShortcuts.length > 0) { + if (action?.effectiveShortcuts && action.effectiveShortcuts.length > 0) { return `${title} (${action.effectiveShortcuts.join(", ")})`; } else { return title; diff --git a/apps/client/src/widgets/containers/ribbon_container.ts b/apps/client/src/widgets/containers/ribbon_container.ts index 7563e2a2b..9aee7bb67 100644 --- a/apps/client/src/widgets/containers/ribbon_container.ts +++ b/apps/client/src/widgets/containers/ribbon_container.ts @@ -268,7 +268,7 @@ export default class RibbonContainer extends NoteContextAwareWidget { const action = actions.find((act) => act.actionName === toggleCommandName); const title = $(this).attr("data-title"); - if (action && action.effectiveShortcuts.length > 0) { + if (action?.effectiveShortcuts && action.effectiveShortcuts.length > 0) { return `${title} (${action.effectiveShortcuts.join(", ")})`; } else { return title ?? ""; diff --git a/apps/client/src/widgets/dialogs/jump_to_note.ts b/apps/client/src/widgets/dialogs/jump_to_note.ts index 6c9b78d84..70676f696 100644 --- a/apps/client/src/widgets/dialogs/jump_to_note.ts +++ b/apps/client/src/widgets/dialogs/jump_to_note.ts @@ -187,7 +187,7 @@ export default class JumpToNoteDialog extends BasicWidget { } } - showInFullText(e: JQuery.TriggeredEvent) { + showInFullText(e: JQuery.TriggeredEvent | KeyboardEvent) { // stop from propagating upwards (dangerous, especially with ctrl+enter executable javascript notes) e.preventDefault(); e.stopPropagation(); diff --git a/apps/client/src/widgets/note_tree.ts b/apps/client/src/widgets/note_tree.ts index d6dd4d733..301a61b6b 100644 --- a/apps/client/src/widgets/note_tree.ts +++ b/apps/client/src/widgets/note_tree.ts @@ -1552,7 +1552,7 @@ export default class NoteTreeWidget extends NoteContextAwareWidget { const hotKeyMap: Record boolean> = {}; for (const action of actions) { - for (const shortcut of action.effectiveShortcuts) { + for (const shortcut of action.effectiveShortcuts ?? []) { hotKeyMap[shortcutService.normalizeShortcut(shortcut)] = (node) => { const notePath = treeService.getNotePath(node); diff --git a/apps/client/src/widgets/type_widgets/options/text_notes/date_time_format.ts b/apps/client/src/widgets/type_widgets/options/text_notes/date_time_format.ts index 467bd4a78..c5fd6876c 100644 --- a/apps/client/src/widgets/type_widgets/options/text_notes/date_time_format.ts +++ b/apps/client/src/widgets/type_widgets/options/text_notes/date_time_format.ts @@ -52,7 +52,8 @@ export default class DateTimeFormatOptions extends OptionsWidget { } async optionsLoaded(options: OptionMap) { - const shortcutKey = (await keyboardActionsService.getAction("insertDateTimeToText")).effectiveShortcuts.join(", "); + const action = await keyboardActionsService.getAction("insertDateTimeToText"); + const shortcutKey = (action.effectiveShortcuts ?? []).join(", "); const $link = await linkService.createLink("_hidden/_options/_optionsShortcuts", { "title": shortcutKey, "showTooltip": false From fb7a397bf97887c56ba4da18c0ca43b3491dcac2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 31 Jul 2025 01:15:39 +0000 Subject: [PATCH 250/505] chore(deps): update dependency @types/tabulator-tables to v6.2.9 --- apps/client/package.json | 2 +- pnpm-lock.yaml | 60 ++++++++++++++++++++++++++++------------ 2 files changed, 44 insertions(+), 18 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index e4096d112..10aea6411 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -64,7 +64,7 @@ "@types/leaflet": "1.9.20", "@types/leaflet-gpx": "1.3.7", "@types/mark.js": "8.11.12", - "@types/tabulator-tables": "6.2.8", + "@types/tabulator-tables": "6.2.9", "copy-webpack-plugin": "13.0.0", "happy-dom": "18.0.1", "script-loader": "0.7.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 09a0c36f7..2b2916bb3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -317,8 +317,8 @@ importers: specifier: 8.11.12 version: 8.11.12 '@types/tabulator-tables': - specifier: 6.2.8 - version: 6.2.8 + specifier: 6.2.9 + version: 6.2.9 copy-webpack-plugin: specifier: 13.0.0 version: 13.0.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) @@ -5998,8 +5998,8 @@ packages: '@types/swagger-ui@5.21.1': resolution: {integrity: sha512-DUmUH59eeOtvAqcWwBduH2ws0cc5i95KHsXCS4FsOfbUq/clW8TN+HqRBj7q5p9MSsSNK43RziIGItNbrAGLxg==} - '@types/tabulator-tables@6.2.8': - resolution: {integrity: sha512-AhyqabOXLW3k8685sOWtNAY6hrUZqabysGvEsdIuIXpFViSK/cFziiafztsP/Tveh03qqIKsXu60Mw145o9g4w==} + '@types/tabulator-tables@6.2.9': + resolution: {integrity: sha512-u4AlO6z54njaeeLFSlwuqpKSCdUko0O0x47UolLNmwA8AhamSl9x7wziN+mo6Q0ca4g/V0FuhqIO9yXvaBh69A==} '@types/through2@2.0.41': resolution: {integrity: sha512-ryQ0tidWkb1O1JuYvWKyMLYEtOWDqF5mHerJzKz/gQpoAaJq2l/dsMPBF0B5BNVT34rbARYJ5/tsZwLfUi2kwQ==} @@ -16694,8 +16694,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16820,8 +16818,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-cloud-services@46.0.0': dependencies: @@ -17077,8 +17073,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -17112,6 +17106,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17137,6 +17133,8 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-essentials@46.0.0': dependencies: @@ -17168,6 +17166,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -17192,8 +17192,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -17224,8 +17222,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-heading@46.0.0': dependencies: @@ -17257,8 +17253,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -17318,6 +17312,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -17329,6 +17325,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-inspector@5.0.0': {} @@ -17338,6 +17336,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-line-height@46.0.0': dependencies: @@ -17361,6 +17361,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-list-multi-level@46.0.0': dependencies: @@ -17384,6 +17386,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-markdown-gfm@46.0.0': dependencies: @@ -17421,6 +17425,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17452,6 +17458,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-operations-compressor@46.0.0': dependencies: @@ -17504,6 +17512,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-pagination@46.0.0': dependencies: @@ -17567,6 +17577,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -17610,6 +17622,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@46.0.0': dependencies: @@ -17622,6 +17636,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.0.0': dependencies: @@ -17669,6 +17685,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-table@46.0.0': dependencies: @@ -17681,6 +17699,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-template@46.0.0': dependencies: @@ -17791,6 +17811,8 @@ snapshots: '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-widget@46.0.0': dependencies: @@ -17810,6 +17832,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@codemirror/autocomplete@6.18.6': dependencies: @@ -22036,7 +22060,7 @@ snapshots: '@types/swagger-ui@5.21.1': {} - '@types/tabulator-tables@6.2.8': {} + '@types/tabulator-tables@6.2.9': {} '@types/through2@2.0.41': dependencies: @@ -23529,6 +23553,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: From 1b6c95733402508faa52d7f5a9c2c2116b0152ee Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 31 Jul 2025 01:16:19 +0000 Subject: [PATCH 251/505] chore(deps): update dependency eslint-plugin-playwright to v2.2.2 --- pnpm-lock.yaml | 60 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 09a0c36f7..27dd93bec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -110,7 +110,7 @@ importers: version: 10.1.8(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-playwright: specifier: ^2.0.0 - version: 2.2.1(eslint@9.32.0(jiti@2.5.1)) + version: 2.2.2(eslint@9.32.0(jiti@2.5.1)) happy-dom: specifier: ~18.0.0 version: 18.0.1 @@ -8555,8 +8555,8 @@ packages: peerDependencies: eslint: '>=9.0.0' - eslint-plugin-playwright@2.2.1: - resolution: {integrity: sha512-vYGKs9Y0H2A7tvvuKBF11w2aJa7diS9JRJbo/3Y5nU12RRgZummSUKvfZbickRdNVmt65R4lSrWn8Nyali2a3w==} + eslint-plugin-playwright@2.2.2: + resolution: {integrity: sha512-j0jKpndIPOXRRP9uMkwb9l/nSmModOU3452nrFdgFJoEv/435J1onk8+aITzjDW8DfypxgmVaDMdmVIa6F7I0w==} engines: {node: '>=16.6.0'} peerDependencies: eslint: '>=8.40.0' @@ -16694,8 +16694,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16820,16 +16818,12 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-cloud-services@46.0.0': dependencies: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -17055,8 +17049,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -17066,8 +17058,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -17077,8 +17067,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -17112,6 +17100,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17168,6 +17158,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -17192,8 +17184,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -17257,8 +17247,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -17318,6 +17306,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -17329,6 +17319,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-inspector@5.0.0': {} @@ -17338,6 +17330,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-line-height@46.0.0': dependencies: @@ -17361,6 +17355,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-list-multi-level@46.0.0': dependencies: @@ -17384,6 +17380,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-markdown-gfm@46.0.0': dependencies: @@ -17421,6 +17419,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17444,6 +17444,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17452,6 +17454,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-operations-compressor@46.0.0': dependencies: @@ -17504,6 +17508,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-pagination@46.0.0': dependencies: @@ -17610,6 +17616,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@46.0.0': dependencies: @@ -17622,6 +17630,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.0.0': dependencies: @@ -17669,6 +17679,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-table@46.0.0': dependencies: @@ -17681,6 +17693,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-template@46.0.0': dependencies: @@ -17791,6 +17805,8 @@ snapshots: '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-widget@46.0.0': dependencies: @@ -17810,6 +17826,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@codemirror/autocomplete@6.18.6': dependencies: @@ -23529,6 +23547,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -25281,7 +25301,7 @@ snapshots: eslint: 9.32.0(jiti@2.5.1) globals: 15.15.0 - eslint-plugin-playwright@2.2.1(eslint@9.32.0(jiti@2.5.1)): + eslint-plugin-playwright@2.2.2(eslint@9.32.0(jiti@2.5.1)): dependencies: eslint: 9.32.0(jiti@2.5.1) globals: 13.24.0 From 30197ba7ce82be18090f31ca4cd185c6406051dc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 31 Jul 2025 01:17:03 +0000 Subject: [PATCH 252/505] chore(deps): update nx monorepo to v21.3.10 --- package.json | 22 ++-- pnpm-lock.yaml | 310 ++++++++++++++++++++++++++----------------------- 2 files changed, 176 insertions(+), 156 deletions(-) diff --git a/package.json b/package.json index 40c2ee005..91a87baeb 100644 --- a/package.json +++ b/package.json @@ -27,16 +27,16 @@ "private": true, "devDependencies": { "@electron/rebuild": "4.0.1", - "@nx/devkit": "21.3.9", - "@nx/esbuild": "21.3.9", - "@nx/eslint": "21.3.9", - "@nx/eslint-plugin": "21.3.9", - "@nx/express": "21.3.9", - "@nx/js": "21.3.9", - "@nx/node": "21.3.9", - "@nx/playwright": "21.3.9", - "@nx/vite": "21.3.9", - "@nx/web": "21.3.9", + "@nx/devkit": "21.3.10", + "@nx/esbuild": "21.3.10", + "@nx/eslint": "21.3.10", + "@nx/eslint-plugin": "21.3.10", + "@nx/express": "21.3.10", + "@nx/js": "21.3.10", + "@nx/node": "21.3.10", + "@nx/playwright": "21.3.10", + "@nx/vite": "21.3.10", + "@nx/web": "21.3.10", "@playwright/test": "^1.36.0", "@triliumnext/server": "workspace:*", "@types/express": "^5.0.0", @@ -54,7 +54,7 @@ "jiti": "2.5.1", "jsdom": "~26.1.0", "jsonc-eslint-parser": "^2.1.0", - "nx": "21.3.9", + "nx": "21.3.10", "react-refresh": "^0.17.0", "rollup-plugin-webpack-stats": "2.1.1", "tslib": "^2.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 09a0c36f7..932a7189b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -43,35 +43,35 @@ importers: specifier: 4.0.1 version: 4.0.1 '@nx/devkit': - specifier: 21.3.9 - version: 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.10 + version: 21.3.10(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/esbuild': - specifier: 21.3.9 - version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.10 + version: 21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint': - specifier: 21.3.9 - version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.10 + version: 21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint-plugin': - specifier: 21.3.9 - version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.3.10 + version: 21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/express': - specifier: 21.3.9 - version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.3.10 + version: 21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) '@nx/js': - specifier: 21.3.9 - version: 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.10 + version: 21.3.10(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/node': - specifier: 21.3.9 - version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) + specifier: 21.3.10 + version: 21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) '@nx/playwright': - specifier: 21.3.9 - version: 21.3.9(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) + specifier: 21.3.10 + version: 21.3.10(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) '@nx/vite': - specifier: 21.3.9 - version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) + specifier: 21.3.10 + version: 21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) '@nx/web': - specifier: 21.3.9 - version: 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + specifier: 21.3.10 + version: 21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@playwright/test': specifier: ^1.36.0 version: 1.54.1 @@ -124,8 +124,8 @@ importers: specifier: ^2.1.0 version: 2.4.0 nx: - specifier: 21.3.9 - version: 21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + specifier: 21.3.10 + version: 21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) react-refresh: specifier: ^0.17.0 version: 0.17.0 @@ -3970,21 +3970,21 @@ packages: resolution: {integrity: sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==} engines: {node: ^18.17.0 || >=20.5.0} - '@nx/devkit@21.3.9': - resolution: {integrity: sha512-Z9Lz8VsDKy8Eb6PBqpdd3YZ6pJcCA/Hjt/8Li1VSsO2CyMfGFpm2pnCtdEc9wvBuIogEMisF4yVnMujKW1dHHw==} + '@nx/devkit@21.3.10': + resolution: {integrity: sha512-4g7A5iKE+3WwxtmdoBPLcEV5gyBn2Kix10WviMgA42DPGdYRrek2QJU6CmgXOCg4sK9EHIUQOthiQkpIjD1smg==} peerDependencies: - nx: 21.3.9 + nx: 21.3.10 - '@nx/esbuild@21.3.9': - resolution: {integrity: sha512-3XpORNof6Y/Z6SHmvjNyDxBr89sqvupVlEfkH5GpjGGa7NKFo9LaBzFAR1XyX6aN5unAl+k/7LTahByuMYajXA==} + '@nx/esbuild@21.3.10': + resolution: {integrity: sha512-eyWbjUGPliY8gmbsskKiSEzNUi7LvEG674XCSht9gLGnTTgJDkVlpl1mKgH7TNy/Hy0MYFOsyUpmpd6mwja9mw==} peerDependencies: esbuild: '>=0.25.0' peerDependenciesMeta: esbuild: optional: true - '@nx/eslint-plugin@21.3.9': - resolution: {integrity: sha512-2Btr+njq8owkJERAsVnJhAJMZgSjvAkFcpD3k2pmhPXg59YuvJElEqndmRKrWo8239CjaxPDVcBm0C/JnlEiXw==} + '@nx/eslint-plugin@21.3.10': + resolution: {integrity: sha512-vWHCn1VzJ4kyL/ObzOyCUHmSpmE/bM3A8rAs/5yt1gjsYIdxRgpWN5uMu3LKS98z8agzET/2yOCcdQ88lpMQ8A==} peerDependencies: '@typescript-eslint/parser': ^6.13.2 || ^7.0.0 || ^8.0.0 eslint-config-prettier: ^10.0.0 @@ -3992,8 +3992,8 @@ packages: eslint-config-prettier: optional: true - '@nx/eslint@21.3.9': - resolution: {integrity: sha512-R1C4zNJmbkSU3BpQ7Jbz6yg9RgdTrkUmrldWe/BH9D1tmiA8lMOVMm9rLthixQFIqf9V8sSoye/4SmWgImVekA==} + '@nx/eslint@21.3.10': + resolution: {integrity: sha512-X4CAPf653kBqeA+qrP1+a22CdbtuOqJaEvhrvE5A1ap9ZmLtBg87xO73YG+VJWDT16fuAwUGWRTwRjmOPSft3w==} peerDependencies: '@zkochan/js-yaml': 0.0.7 eslint: ^8.0.0 || ^9.0.0 @@ -4001,97 +4001,97 @@ packages: '@zkochan/js-yaml': optional: true - '@nx/express@21.3.9': - resolution: {integrity: sha512-3zIqeizGoZgYOLQVuq1ZY+QECkoyNKMXloOE7ChnMMZ+BQGYEF/pv6YEB2sWl2VuwS7qGKYy7kK2dBeaccz7Fw==} + '@nx/express@21.3.10': + resolution: {integrity: sha512-5Ba4W5L6WB7GrwQ0o+F/lM55da6G5dpJmtAjytq4nH1CGFjZdrvZOfG+t8nyEoRarAaiUI7dzeGUeA2nt0lOEQ==} peerDependencies: express: ^4.21.2 peerDependenciesMeta: express: optional: true - '@nx/jest@21.3.9': - resolution: {integrity: sha512-RLqXUDXabuUzpcupqCx+BNBuj7z+d6695DakCqmNj8Xbni4tm/00+kP2vI1ZnbXkd5OumDBYl52P1lqbhxx4lQ==} + '@nx/jest@21.3.10': + resolution: {integrity: sha512-aeWOk+j5DxwEkdOskfwivHsO4sCzTgoKJS7hrXP4E8GZYjz09ANaluSThETsEAGiuyxkyznKRYVj51P/ZHCU+A==} - '@nx/js@21.3.9': - resolution: {integrity: sha512-F9xpGgi9e0LQjqmdugPdfxqvCkgtm7dXsTAoidy7okPdWiwZZuzNUzRmxAWEEViAdENWOVG8s0KKb/fmJsZ6DQ==} + '@nx/js@21.3.10': + resolution: {integrity: sha512-KgUJVPKCOg2z6OliCsdrxR+Q+28+whGAYWGvu8B0gyWWIRsgcvFtq33O1+/DP3A9oKI5f5ALkMBmiYsD90P5aQ==} peerDependencies: verdaccio: ^6.0.5 peerDependenciesMeta: verdaccio: optional: true - '@nx/node@21.3.9': - resolution: {integrity: sha512-Gmj3pybFv5MlRkq5e9iLx+OAPRS36eJZy694hCr8FEqEsaIzIROSP/5rKqWg17/LnCD8o/IRgARXwch27ImZiA==} + '@nx/node@21.3.10': + resolution: {integrity: sha512-oheMdW4UDoqZ5BE5TCWvtnZ6p6vj9GMZX+/gAe4aZx9mUdta8zAujjCvU5xkHqXgWW/IL75DO6M0w+biG5QT3Q==} - '@nx/nx-darwin-arm64@21.3.9': - resolution: {integrity: sha512-VJ90g79qnr7AXVn/trP8D5LphVb/zavqoZ8PVLkouiSHccPKTFrIVP5UGTDktBS6G7anzERM79xpAEU5RpzCpg==} + '@nx/nx-darwin-arm64@21.3.10': + resolution: {integrity: sha512-umYmO5xE9e7BtVzOYWurjeZEpqO/KnFDl+sLf58EzKOBf+tWDp1PVTpmuYhPxjlH6WkVaYCTA62L3SkIahKZ+w==} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@21.3.9': - resolution: {integrity: sha512-S/CO76zHBRnzWfSqCx0mflhx6nx3NFbL77Ufz0bJKo5JqxhZLQuCnzwTmth2psXMG4hyiQbXWChOL4SiLk6I+Q==} + '@nx/nx-darwin-x64@21.3.10': + resolution: {integrity: sha512-f2vl8ba5IyG/3fhvrUARg/xKviONhg5FHmev5krSIRYdFXsCNgI8qX251/Wxr7zjABnARdwfEZcWMTY4QRXovA==} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@21.3.9': - resolution: {integrity: sha512-U8znPCa3ib9EU2njSxG/HRFp6ilQB4nRvgV/bw0jZGB95OU/oF5shY10DYjrLHLNtwRhJDK5oKfsr33QJjtH3w==} + '@nx/nx-freebsd-x64@21.3.10': + resolution: {integrity: sha512-Tl0haFCRj+1Updj+KZYOxdhNlrp0CUiGIGo0n3S4ruuwtqSmSdwPb7ZGIvIHSQloX2k7CP/oRQw68HoUmsnIyA==} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@21.3.9': - resolution: {integrity: sha512-oa+Gc0JU/feiSWTs9v9Jcd9NIVz18LZS6E8Ogqa6kc1e6CUxSxlqWbXLseBRzYsjU4M+PbzeOWuXiYICOySlWg==} + '@nx/nx-linux-arm-gnueabihf@21.3.10': + resolution: {integrity: sha512-3siCCKhlaBp3a56KbkPyixoW7m/H1Cx6vfMxBHro3qqG8m7NYQ5Iy/Ih8G1ghAhr1KoKeXMPAoEglZVbFXDypQ==} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@21.3.9': - resolution: {integrity: sha512-DNIxMJWHYSCfLJ+pQbXJNdDwheWth4gyTLIZjSXa7pTjszceucv8aF06CFBtkZ9fUCYN64tPS9B/WKFi2DjkoQ==} + '@nx/nx-linux-arm64-gnu@21.3.10': + resolution: {integrity: sha512-9Phr9FBVDr86QQ32Qxf7GyfBpgPfYDf0TWkWZe/EhR3UijoCM3a2WMyoLWxhl+oTkjxQVBP7adqToh7Da0hyuQ==} cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@21.3.9': - resolution: {integrity: sha512-7OOrKD2IiS5YEhcQOUCrwkPTv3UjCIAO6yIZrJLYaT8AYeaIZiqZ9oCZYTUBgPbFT0P5oS8Hp2HAEFC/M+uhbw==} + '@nx/nx-linux-arm64-musl@21.3.10': + resolution: {integrity: sha512-TxgwIXOFrCbBz3xlP+aCil+KaHH6pRLA+JW4RD0ZMes/iP+99R+/+gKznw7CEkpXkzX194gGTe2NlM45129uEg==} cpu: [arm64] os: [linux] - '@nx/nx-linux-x64-gnu@21.3.9': - resolution: {integrity: sha512-p3OWdUOYtfBqfcJPY+wMRWR44/4wDeaGd+LpXRdW5hWa6H5elncKkMLmRj4AmQpCRSRfoqWFuyfJfzy4wiEprA==} + '@nx/nx-linux-x64-gnu@21.3.10': + resolution: {integrity: sha512-UNIEt/i4OpGvjS8ds/m2lv/4C6SmaWTzIfok59TL/8BG0ab5x/lADdKd6OBbvhmDiBdz+As3uLiCN03uRsz95Q==} cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@21.3.9': - resolution: {integrity: sha512-WmRYmtmgIpJamy/4QHjVB3gdiMnFCGmV778aFGO/MorEgWQdqqz7q+8Pem9jWnjMYHo7Y+Mlm6ydcvM/HsXXUw==} + '@nx/nx-linux-x64-musl@21.3.10': + resolution: {integrity: sha512-/ETUG3auZjQmWliaHQQFr/cqb493HGShDrcJYa0Zd67TZeUHsYY5lc71u6pA7d+aP/r51RToamxpDK0cGmqINQ==} cpu: [x64] os: [linux] - '@nx/nx-win32-arm64-msvc@21.3.9': - resolution: {integrity: sha512-IbeNxE1ShbNZ80JKzRCr+yIKlQoD+bfek4Pmehw3qlewjQ1DcbjZIEgg99G6ZYAzpKUNMewKrLGCW+P7Hb7Uaw==} + '@nx/nx-win32-arm64-msvc@21.3.10': + resolution: {integrity: sha512-xBOzmfjB695KkFZ3a2IblN/Vb6I9LlDbIV2I1X/Ks8jdK0q1Fh+mqZWDfOUuBr5oKcUPD5pZiH/vpr5mBssLig==} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@21.3.9': - resolution: {integrity: sha512-xr85m3xGVwfeLbGxliGNXG6jlyTGMy/vE5tbLk6yyzg+wUdoAZzdRvhpZZqfT9QkUZxI8SASahFen3SiQt5VWw==} + '@nx/nx-win32-x64-msvc@21.3.10': + resolution: {integrity: sha512-TZPwjF1adI8FCJp7MmgXNtnwuW1AOBSiPEHLz2RM8cJKBc7rlmXw/MWhnYhz2lkZQ+vpndoLGtpinYo5cp/NQA==} cpu: [x64] os: [win32] - '@nx/playwright@21.3.9': - resolution: {integrity: sha512-6OnLJ5VFtLEaKPg8gZLdXlCLB2OeMITkFVw1g+RxypTBMu1GdlB3TCM4VhSBzgLujG4VycmPVjUAu73aw8TwuA==} + '@nx/playwright@21.3.10': + resolution: {integrity: sha512-N/cNYEs7WyDtWgaem+IpuNbBkdtef8kxht58tSlhZXPQV8vjFiXhWt5qqIEWUCLWfCfMXZOpaO7qm3NlbfMvwg==} peerDependencies: '@playwright/test': ^1.36.0 peerDependenciesMeta: '@playwright/test': optional: true - '@nx/vite@21.3.9': - resolution: {integrity: sha512-H9O9QIAt+J5YP9j6yzZhKfjr5/tNRmYt9bwEvZnCRotiI4PFW636L18fwDtwp3B4RMchTTdp7aUon1nxzKqI2A==} + '@nx/vite@21.3.10': + resolution: {integrity: sha512-/vX37ReiYkcmsQxBB3fHohik/EORxWp3DBejKjtckemx+j1AZQqZUvYvDCG/njDCbkVlhrYfZ9sxPyvZFREFdA==} peerDependencies: vite: ^5.0.0 || ^6.0.0 vitest: ^1.3.1 || ^2.0.0 || ^3.0.0 - '@nx/web@21.3.9': - resolution: {integrity: sha512-nunIcyYr5JQRR6obb9pPBKiVq/94w+S0KebXXFs99/Z4H9Mdi0j8hVtzQ35bBg71SjHQJuRZN2lCkA5aOdlZVg==} + '@nx/web@21.3.10': + resolution: {integrity: sha512-fadm1T3XvK182TIDG4r1mipUFfy0p1Ad8GpFb2608UTsbBdEkOPPoBqQTe70LcnX3/7nMtJWU5W/FkYizEct9w==} - '@nx/workspace@21.3.9': - resolution: {integrity: sha512-JmCK3PQ2xaZo9n+XpP9A/Y5U4bmnkxwOU+aFMhopC/JpKiWJF9ltbUlryu8ZqCd/oqeE+cZPIVsPwIVa7vbpdg==} + '@nx/workspace@21.3.10': + resolution: {integrity: sha512-pMT3gqU1KsLcSSUpq+W80d61WrjoDKvbj8/8c26F4BbZt7y9QGzwPS3ZAMdMm16h5SGKcRWxw+WE68yF2C2vtw==} '@open-draft/deferred-promise@2.2.0': resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} @@ -11366,8 +11366,8 @@ packages: nwsapi@2.2.20: resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} - nx@21.3.9: - resolution: {integrity: sha512-humOjQvzsWe7z8vx2JwpmxZfwDxHmoD5DyveqnUm8t7yIFJEf8/LzjNDVLSth0rSdCJe+VsoL26s4mRdx/oU1w==} + nx@21.3.10: + resolution: {integrity: sha512-am85Vntk1UQVzGjFltNzrb9b7Lhz8nPDRXkC0BJXBoG6w0T9Qf8k/3bwbo8nzZgREdVIUFO5dvOZ6gWUZw/UFA==} hasBin: true peerDependencies: '@swc-node/register': ^1.8.0 @@ -16694,8 +16694,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16820,16 +16818,12 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-cloud-services@46.0.0': dependencies: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -17055,8 +17049,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -17066,8 +17058,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -17077,8 +17067,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -17112,6 +17100,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17168,6 +17158,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -17192,8 +17184,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -17257,8 +17247,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -17318,6 +17306,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -17329,6 +17319,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-inspector@5.0.0': {} @@ -17338,6 +17330,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-line-height@46.0.0': dependencies: @@ -17361,6 +17355,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-list-multi-level@46.0.0': dependencies: @@ -17384,6 +17380,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-markdown-gfm@46.0.0': dependencies: @@ -17421,6 +17419,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17444,6 +17444,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17452,6 +17454,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-operations-compressor@46.0.0': dependencies: @@ -17504,6 +17508,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-pagination@46.0.0': dependencies: @@ -17610,6 +17616,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@46.0.0': dependencies: @@ -17622,6 +17630,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.0.0': dependencies: @@ -17669,6 +17679,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-table@46.0.0': dependencies: @@ -17681,6 +17693,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-template@46.0.0': dependencies: @@ -17791,6 +17805,8 @@ snapshots: '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-widget@46.0.0': dependencies: @@ -17810,6 +17826,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@codemirror/autocomplete@6.18.6': dependencies: @@ -19768,22 +19786,22 @@ snapshots: transitivePeerDependencies: - supports-color - '@nx/devkit@21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/devkit@21.3.10(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 minimatch: 9.0.3 - nx: 21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) semver: 7.7.2 tmp: 0.2.3 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/esbuild@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/esbuild@21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.10(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.10(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) picocolors: 1.1.1 tinyglobby: 0.2.14 tsconfig-paths: 4.2.0 @@ -19799,10 +19817,10 @@ snapshots: - supports-color - verdaccio - '@nx/eslint-plugin@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/eslint-plugin@21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.10(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.10(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) '@typescript-eslint/parser': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) '@typescript-eslint/type-utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) @@ -19826,10 +19844,10 @@ snapshots: - typescript - verdaccio - '@nx/eslint@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/eslint@21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.10(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.10(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) eslint: 9.32.0(jiti@2.5.1) semver: 7.7.2 tslib: 2.8.1 @@ -19845,11 +19863,11 @@ snapshots: - supports-color - verdaccio - '@nx/express@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/express@21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/node': 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) + '@nx/devkit': 21.3.10(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.10(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/node': 21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) tslib: 2.8.1 optionalDependencies: express: 4.21.2 @@ -19870,12 +19888,12 @@ snapshots: - typescript - verdaccio - '@nx/jest@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/jest@21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@jest/reporters': 30.0.5 '@jest/test-result': 30.0.5 - '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.10(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.10(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) identity-obj-proxy: 3.0.0 jest-config: 30.0.5(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3)) @@ -19902,7 +19920,7 @@ snapshots: - typescript - verdaccio - '@nx/js@21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/js@21.3.10(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.28.0) @@ -19911,8 +19929,8 @@ snapshots: '@babel/preset-env': 7.26.9(@babel/core@7.28.0) '@babel/preset-typescript': 7.27.0(@babel/core@7.28.0) '@babel/runtime': 7.27.6 - '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/workspace': 21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + '@nx/devkit': 21.3.10(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/workspace': 21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) '@zkochan/js-yaml': 0.0.7 babel-plugin-const-enum: 1.2.0(@babel/core@7.28.0) babel-plugin-macros: 3.1.0 @@ -19941,12 +19959,12 @@ snapshots: - nx - supports-color - '@nx/node@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': + '@nx/node@21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/jest': 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) - '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.10(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/jest': 21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(babel-plugin-macros@3.1.0)(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.8.3))(typescript@5.8.3) + '@nx/js': 21.3.10(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) kill-port: 1.6.1 tcp-port-used: 1.0.2 tslib: 2.8.1 @@ -19967,41 +19985,41 @@ snapshots: - typescript - verdaccio - '@nx/nx-darwin-arm64@21.3.9': + '@nx/nx-darwin-arm64@21.3.10': optional: true - '@nx/nx-darwin-x64@21.3.9': + '@nx/nx-darwin-x64@21.3.10': optional: true - '@nx/nx-freebsd-x64@21.3.9': + '@nx/nx-freebsd-x64@21.3.10': optional: true - '@nx/nx-linux-arm-gnueabihf@21.3.9': + '@nx/nx-linux-arm-gnueabihf@21.3.10': optional: true - '@nx/nx-linux-arm64-gnu@21.3.9': + '@nx/nx-linux-arm64-gnu@21.3.10': optional: true - '@nx/nx-linux-arm64-musl@21.3.9': + '@nx/nx-linux-arm64-musl@21.3.10': optional: true - '@nx/nx-linux-x64-gnu@21.3.9': + '@nx/nx-linux-x64-gnu@21.3.10': optional: true - '@nx/nx-linux-x64-musl@21.3.9': + '@nx/nx-linux-x64-musl@21.3.10': optional: true - '@nx/nx-win32-arm64-msvc@21.3.9': + '@nx/nx-win32-arm64-msvc@21.3.10': optional: true - '@nx/nx-win32-x64-msvc@21.3.9': + '@nx/nx-win32-x64-msvc@21.3.10': optional: true - '@nx/playwright@21.3.9(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': + '@nx/playwright@21.3.10(@babel/traverse@7.28.0)(@playwright/test@1.54.1)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)': dependencies: - '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/eslint': 21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.10(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/eslint': 21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.10(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) minimatch: 9.0.3 tslib: 2.8.1 @@ -20019,10 +20037,10 @@ snapshots: - typescript - verdaccio - '@nx/vite@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': + '@nx/vite@21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': dependencies: - '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.10(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.10(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) '@swc/helpers': 0.5.17 ajv: 8.17.1 @@ -20042,10 +20060,10 @@ snapshots: - typescript - verdaccio - '@nx/web@21.3.9(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': + '@nx/web@21.3.10(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))': dependencies: - '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) - '@nx/js': 21.3.9(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.10(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/js': 21.3.10(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) detect-port: 1.6.1 http-server: 14.1.1 picocolors: 1.1.1 @@ -20059,13 +20077,13 @@ snapshots: - supports-color - verdaccio - '@nx/workspace@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': + '@nx/workspace@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))': dependencies: - '@nx/devkit': 21.3.9(nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) + '@nx/devkit': 21.3.10(nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@zkochan/js-yaml': 0.0.7 chalk: 4.1.2 enquirer: 2.3.6 - nx: 21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) + nx: 21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)) picomatch: 4.0.2 tslib: 2.8.1 yargs-parser: 21.1.1 @@ -23529,6 +23547,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -28915,7 +28935,7 @@ snapshots: nwsapi@2.2.20: {} - nx@21.3.9(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): + nx@21.3.10(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 @@ -28953,16 +28973,16 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 21.3.9 - '@nx/nx-darwin-x64': 21.3.9 - '@nx/nx-freebsd-x64': 21.3.9 - '@nx/nx-linux-arm-gnueabihf': 21.3.9 - '@nx/nx-linux-arm64-gnu': 21.3.9 - '@nx/nx-linux-arm64-musl': 21.3.9 - '@nx/nx-linux-x64-gnu': 21.3.9 - '@nx/nx-linux-x64-musl': 21.3.9 - '@nx/nx-win32-arm64-msvc': 21.3.9 - '@nx/nx-win32-x64-msvc': 21.3.9 + '@nx/nx-darwin-arm64': 21.3.10 + '@nx/nx-darwin-x64': 21.3.10 + '@nx/nx-freebsd-x64': 21.3.10 + '@nx/nx-linux-arm-gnueabihf': 21.3.10 + '@nx/nx-linux-arm64-gnu': 21.3.10 + '@nx/nx-linux-arm64-musl': 21.3.10 + '@nx/nx-linux-x64-gnu': 21.3.10 + '@nx/nx-linux-x64-musl': 21.3.10 + '@nx/nx-win32-arm64-msvc': 21.3.10 + '@nx/nx-win32-x64-msvc': 21.3.10 '@swc-node/register': 1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3) '@swc/core': 1.11.29(@swc/helpers@0.5.17) transitivePeerDependencies: From d61981033f93039492ba1956ea784c4f3c628298 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 31 Jul 2025 01:17:46 +0000 Subject: [PATCH 253/505] chore(deps): update dependency openai to v5.11.0 --- apps/server/package.json | 2 +- pnpm-lock.yaml | 62 ++++++++++++++++++++++++++-------------- 2 files changed, 42 insertions(+), 22 deletions(-) diff --git a/apps/server/package.json b/apps/server/package.json index 175b5d622..1e78997ab 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -88,7 +88,7 @@ "multer": "2.0.2", "normalize-strings": "1.1.1", "ollama": "0.5.16", - "openai": "5.10.2", + "openai": "5.11.0", "rand-token": "1.0.1", "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 09a0c36f7..77736b2ab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -726,8 +726,8 @@ importers: specifier: 0.5.16 version: 0.5.16 openai: - specifier: 5.10.2 - version: 5.10.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4) + specifier: 5.11.0 + version: 5.11.0(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4) rand-token: specifier: 1.0.1 version: 1.0.1 @@ -11456,8 +11456,8 @@ packages: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} - openai@5.10.2: - resolution: {integrity: sha512-n+vi74LzHtvlKcDPn9aApgELGiu5CwhaLG40zxLTlFQdoSJCLACORIPC2uVQ3JEYAbqapM+XyRKFy2Thej7bIw==} + openai@5.11.0: + resolution: {integrity: sha512-+AuTc5pVjlnTuA9zvn8rA/k+1RluPIx9AD4eDcnutv6JNwHHZxIhkFy+tmMKCvmMFDQzfA/r1ujvPWB19DQkYg==} hasBin: true peerDependencies: ws: ^8.18.0 @@ -16694,8 +16694,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-upload': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-ai@46.0.0': dependencies: @@ -16820,16 +16818,12 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-cloud-services@46.0.0': dependencies: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -17055,8 +17049,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-classic@46.0.0': dependencies: @@ -17066,8 +17058,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-decoupled@46.0.0': dependencies: @@ -17077,8 +17067,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-inline@46.0.0': dependencies: @@ -17112,6 +17100,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17168,6 +17158,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@46.0.0': dependencies: @@ -17192,8 +17184,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-font@46.0.0': dependencies: @@ -17257,8 +17247,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-html-embed@46.0.0': dependencies: @@ -17318,6 +17306,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@46.0.0': dependencies: @@ -17329,6 +17319,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-inspector@5.0.0': {} @@ -17338,6 +17330,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-line-height@46.0.0': dependencies: @@ -17361,6 +17355,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-list-multi-level@46.0.0': dependencies: @@ -17384,6 +17380,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-markdown-gfm@46.0.0': dependencies: @@ -17421,6 +17419,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-mention@46.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': dependencies: @@ -17444,6 +17444,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@46.0.0': dependencies: @@ -17452,6 +17454,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-operations-compressor@46.0.0': dependencies: @@ -17504,6 +17508,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-pagination@46.0.0': dependencies: @@ -17610,6 +17616,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-slash-command@46.0.0': dependencies: @@ -17622,6 +17630,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.0.0': dependencies: @@ -17669,6 +17679,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-table@46.0.0': dependencies: @@ -17681,6 +17693,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-template@46.0.0': dependencies: @@ -17791,6 +17805,8 @@ snapshots: '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-widget@46.0.0': dependencies: @@ -17810,6 +17826,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@codemirror/autocomplete@6.18.6': dependencies: @@ -23529,6 +23547,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -29052,7 +29072,7 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - openai@5.10.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4): + openai@5.11.0(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4): optionalDependencies: ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) zod: 3.24.4 From cc6688ea009ff3411632aed08ca6406495ea51c4 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 31 Jul 2025 08:09:52 +0200 Subject: [PATCH 254/505] Update translation files Updated by "Remove blank strings" add-on in Weblate. Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/ --- .../src/translations/cn/translation.json | 3437 ++++++++------- .../src/translations/de/translation.json | 3304 +++++++------- .../src/translations/es/translation.json | 3851 ++++++++--------- .../src/translations/fr/translation.json | 3338 +++++++------- .../src/translations/pt_br/translation.json | 13 +- .../src/translations/ro/translation.json | 3437 ++++++++------- .../src/translations/tw/translation.json | 3100 +++++++------ 7 files changed, 10219 insertions(+), 10261 deletions(-) diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index 691ecd6a5..6a9bcf1e3 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -1,1726 +1,1723 @@ { - "about": { - "title": "关于 Trilium Notes", - "close": "关闭", - "homepage": "项目主页:", - "app_version": "应用版本:", - "db_version": "数据库版本:", - "sync_version": "同步版本:", - "build_date": "编译日期:", - "build_revision": "编译版本:", - "data_directory": "数据目录:" - }, - "toast": { - "critical-error": { - "title": "严重错误", - "message": "发生了严重错误,导致客户端应用程序无法启动:\n\n{{message}}\n\n这很可能是由于脚本以意外的方式失败引起的。请尝试以安全模式启动应用程序并解决问题。" + "about": { + "title": "关于 Trilium Notes", + "close": "关闭", + "homepage": "项目主页:", + "app_version": "应用版本:", + "db_version": "数据库版本:", + "sync_version": "同步版本:", + "build_date": "编译日期:", + "build_revision": "编译版本:", + "data_directory": "数据目录:" }, - "widget-error": { - "title": "小部件初始化失败", - "message-custom": "来自 ID 为 \"{{id}}\"、标题为 \"{{title}}\" 的笔记的自定义小部件因以下原因无法初始化:\n\n{{message}}", - "message-unknown": "未知小部件因以下原因无法初始化:\n\n{{message}}" + "toast": { + "critical-error": { + "title": "严重错误", + "message": "发生了严重错误,导致客户端应用程序无法启动:\n\n{{message}}\n\n这很可能是由于脚本以意外的方式失败引起的。请尝试以安全模式启动应用程序并解决问题。" + }, + "widget-error": { + "title": "小部件初始化失败", + "message-custom": "来自 ID 为 \"{{id}}\"、标题为 \"{{title}}\" 的笔记的自定义小部件因以下原因无法初始化:\n\n{{message}}", + "message-unknown": "未知小部件因以下原因无法初始化:\n\n{{message}}" + }, + "bundle-error": { + "title": "加载自定义脚本失败", + "message": "来自 ID 为 \"{{id}}\"、标题为 \"{{title}}\" 的笔记的脚本因以下原因无法执行:\n\n{{message}}" + } }, - "bundle-error": { - "title": "加载自定义脚本失败", - "message": "来自 ID 为 \"{{id}}\"、标题为 \"{{title}}\" 的笔记的脚本因以下原因无法执行:\n\n{{message}}" - } - }, - "add_link": { - "add_link": "添加链接", - "help_on_links": "链接帮助", - "close": "关闭", - "note": "笔记", - "search_note": "按名称搜索笔记", - "link_title_mirrors": "链接标题跟随笔记标题变化", - "link_title_arbitrary": "链接标题可随意修改", - "link_title": "链接标题", - "button_add_link": "添加链接 回车" - }, - "branch_prefix": { - "edit_branch_prefix": "编辑分支前缀", - "help_on_tree_prefix": "有关树前缀的帮助", - "close": "关闭", - "prefix": "前缀:", - "save": "保存", - "branch_prefix_saved": "分支前缀已保存。" - }, - "bulk_actions": { - "bulk_actions": "批量操作", - "close": "关闭", - "affected_notes": "受影响的笔记", - "include_descendants": "包括所选笔记的子笔记", - "available_actions": "可用操作", - "chosen_actions": "选择的操作", - "execute_bulk_actions": "执行批量操作", - "bulk_actions_executed": "批量操作已成功执行。", - "none_yet": "暂无操作 ... 通过点击上方的可用操作添加一个操作。", - "labels": "标签", - "relations": "关联关系", - "notes": "笔记", - "other": "其它" - }, - "clone_to": { - "clone_notes_to": "克隆笔记到...", - "close": "关闭", - "help_on_links": "链接帮助", - "notes_to_clone": "要克隆的笔记", - "target_parent_note": "目标父笔记", - "search_for_note_by_its_name": "按名称搜索笔记", - "cloned_note_prefix_title": "克隆的笔记将在笔记树中显示给定的前缀", - "prefix_optional": "前缀(可选)", - "clone_to_selected_note": "克隆到选定的笔记 回车", - "no_path_to_clone_to": "没有克隆路径。", - "note_cloned": "笔记 \"{{clonedTitle}}\" 已克隆到 \"{{targetTitle}}\"" - }, - "confirm": { - "confirmation": "确认", - "close": "关闭", - "cancel": "取消", - "ok": "确定", - "are_you_sure_remove_note": "确定要从关系图中移除笔记 \"{{title}}\" ?", - "if_you_dont_check": "如果不选中此项,笔记将仅从关系图中移除。", - "also_delete_note": "同时删除笔记" - }, - "delete_notes": { - "delete_notes_preview": "删除笔记预览", - "close": "关闭", - "delete_all_clones_description": "同时删除所有克隆(可以在最近修改中撤消)", - "erase_notes_description": "通常(软)删除仅标记笔记为已删除,可以在一段时间内通过最近修改对话框撤消。选中此选项将立即擦除笔记,不可撤销。", - "erase_notes_warning": "永久擦除笔记(无法撤销),包括所有克隆。这将强制应用程序重载。", - "notes_to_be_deleted": "将删除以下笔记 ({{- noteCount}})", - "no_note_to_delete": "没有笔记将被删除(仅克隆)。", - "broken_relations_to_be_deleted": "将删除以下关系并断开连接 ({{- relationCount}})", - "cancel": "取消", - "ok": "确定", - "deleted_relation_text": "笔记 {{- note}} (将被删除的笔记) 被以下关系 {{- relation}} 引用, 来自 {{- source}}。" - }, - "export": { - "export_note_title": "导出笔记", - "close": "关闭", - "export_type_subtree": "此笔记及其所有子笔记", - "format_html": "HTML - 推荐,因为它保留所有格式", - "format_html_zip": "HTML ZIP 归档 - 建议使用此选项,因为它保留了所有格式。", - "format_markdown": "Markdown - 保留大部分格式。", - "format_opml": "OPML - 大纲交换格式,仅限文本。不包括格式、图像和文件。", - "opml_version_1": "OPML v1.0 - 仅限纯文本", - "opml_version_2": "OPML v2.0 - 还允许 HTML", - "export_type_single": "仅此笔记,不包括子笔记", - "export": "导出", - "choose_export_type": "请先选择导出类型", - "export_status": "导出状态", - "export_in_progress": "导出进行中:{{progressCount}}", - "export_finished_successfully": "导出成功完成。", - "format_pdf": "PDF - 用于打印或共享目的。" - }, - "help": { - "fullDocumentation": "帮助(完整在线文档)", - "close": "关闭", - "noteNavigation": "笔记导航", - "goUpDown": "UP, DOWN - 在笔记列表中向上/向下移动", - "collapseExpand": "LEFT, RIGHT - 折叠/展开节点", - "notSet": "未设置", - "goBackForwards": "在历史记录中前后移动", - "showJumpToNoteDialog": "显示\"跳转到\" 对话框", - "scrollToActiveNote": "滚动到活跃笔记", - "jumpToParentNote": "Backspace - 跳转到父笔记", - "collapseWholeTree": "折叠整个笔记树", - "collapseSubTree": "折叠子树", - "tabShortcuts": "标签页快捷键", - "newTabNoteLink": "CTRL+click - 在笔记链接上使用CTRL+点击(或中键点击)在新标签页中打开笔记", - "onlyInDesktop": "仅在桌面版(电子构建)中", - "openEmptyTab": "打开空白标签页", - "closeActiveTab": "关闭活跃标签页", - "activateNextTab": "激活下一个标签页", - "activatePreviousTab": "激活上一个标签页", - "creatingNotes": "创建笔记", - "createNoteAfter": "在活跃笔记后创建新笔记", - "createNoteInto": "在活跃笔记中创建新子笔记", - "editBranchPrefix": "编辑活跃笔记克隆的前缀", - "movingCloningNotes": "移动/克隆笔记", - "moveNoteUpDown": "在笔记列表中向上/向下移动笔记", - "moveNoteUpHierarchy": "在层级结构中向上移动笔记", - "multiSelectNote": "多选上/下笔记", - "selectAllNotes": "选择当前级别的所有笔记", - "selectNote": "Shift+click - 选择笔记", - "copyNotes": "将活跃笔记(或当前选择)复制到剪贴板(用于克隆)", - "cutNotes": "将当前笔记(或当前选择)剪切到剪贴板(用于移动笔记)", - "pasteNotes": "将笔记粘贴为活跃笔记的子笔记(根据是复制还是剪切到剪贴板来决定是移动还是克隆)", - "deleteNotes": "删除笔记/子树", - "editingNotes": "编辑笔记", - "editNoteTitle": "在树形笔记树中,焦点会从笔记树切换到笔记标题。按下 Enter 键会将焦点从笔记标题切换到文本编辑器。按下 Ctrl+. 会将焦点从编辑器切换回笔记树。", - "createEditLink": "Ctrl+K - 创建/编辑外部链接", - "createInternalLink": "创建内部链接", - "followLink": "跟随光标下的链接", - "insertDateTime": "在插入点插入当前日期和时间", - "jumpToTreePane": "跳转到树面板并滚动到活跃笔记", - "markdownAutoformat": "类 Markdown 自动格式化", - "headings": "##, ###, #### 等,后跟空格,自动转换为标题", - "bulletList": "*- 后跟空格,自动转换为项目符号列表", - "numberedList": "1. or 1) 后跟空格,自动转换为编号列表", - "blockQuote": "一行以 > 开头并后跟空格,自动转换为块引用", - "troubleshooting": "故障排除", - "reloadFrontend": "重载 Trilium 前端", - "showDevTools": "显示开发者工具", - "showSQLConsole": "显示 SQL 控制台", - "other": "其他", - "quickSearch": "定位到快速搜索框", - "inPageSearch": "页面内搜索" - }, - "import": { - "importIntoNote": "导入到笔记", - "close": "关闭", - "chooseImportFile": "选择导入文件", - "importDescription": "所选文件的内容将作为子笔记导入到", - "options": "选项", - "safeImportTooltip": "Trilium .zip 导出文件可能包含可能有害的可执行脚本。安全导入将停用所有导入脚本的自动执行。仅当您完全信任导入的可执行脚本的内容时,才取消选中“安全导入”。", - "safeImport": "安全导入", - "explodeArchivesTooltip": "如果选中此项,则Trilium将读取.zip.enex.opml文件,并从这些归档文件内部的文件创建笔记。如果未选中,则Trilium会将这些归档文件本身附加到笔记中。", - "explodeArchives": "读取.zip.enex.opml归档文件的内容。", - "shrinkImagesTooltip": "

如果选中此选项,Trilium将尝试通过缩放和优化来缩小导入的图像,这可能会影响图像的感知质量。如果未选中,图像将不做修改地导入。

这不适用于带有元数据的.zip导入,因为这些文件已被假定为已优化。

", - "shrinkImages": "压缩图像", - "textImportedAsText": "如果元数据不明确,将 HTML、Markdown 和 TXT 导入为文本笔记", - "codeImportedAsCode": "如果元数据不明确,将识别的代码文件(例如.json)导入为代码笔记", - "replaceUnderscoresWithSpaces": "在导入的笔记名称中将下划线替换为空格", - "import": "导入", - "failed": "导入失败: {{message}}.", - "html_import_tags": { - "title": "HTML 导入标签", - "description": "配置在导入笔记时应保留的 HTML 标签。不在此列表中的标签将在导入过程中被移除。一些标签(例如 'script')为了安全性会始终被移除。", - "placeholder": "输入 HTML 标签,每行一个", - "reset_button": "重置为默认列表" + "add_link": { + "add_link": "添加链接", + "help_on_links": "链接帮助", + "close": "关闭", + "note": "笔记", + "search_note": "按名称搜索笔记", + "link_title_mirrors": "链接标题跟随笔记标题变化", + "link_title_arbitrary": "链接标题可随意修改", + "link_title": "链接标题", + "button_add_link": "添加链接 回车" }, - "import-status": "导入状态", - "in-progress": "导入进行中:{{progress}}", - "successful": "导入成功完成。" - }, - "include_note": { - "dialog_title": "包含笔记", - "close": "关闭", - "label_note": "笔记", - "placeholder_search": "按名称搜索笔记", - "box_size_prompt": "包含笔记的框大小:", - "box_size_small": "小型 (显示大约10行)", - "box_size_medium": "中型 (显示大约30行)", - "box_size_full": "完整显示(完整文本框)", - "button_include": "包含笔记 回车" - }, - "info": { - "modalTitle": "信息消息", - "closeButton": "关闭", - "okButton": "确定" - }, - "jump_to_note": { - "search_placeholder": "", - "close": "关闭", - "search_button": "全文搜索 Ctrl+回车" - }, - "markdown_import": { - "dialog_title": "Markdown 导入", - "close": "关闭", - "modal_body_text": "由于浏览器沙箱的限制,无法直接从 JavaScript 读取剪贴板内容。请将要导入的 Markdown 文本粘贴到下面的文本框中,然后点击导入按钮", - "import_button": "导入 Ctrl+回车", - "import_success": "Markdown 内容已成功导入文档。" - }, - "move_to": { - "dialog_title": "移动笔记到...", - "close": "关闭", - "notes_to_move": "需要移动的笔记", - "target_parent_note": "目标父笔记", - "search_placeholder": "通过名称搜索笔记", - "move_button": "移动到选定的笔记 回车", - "error_no_path": "没有可以移动到的路径。", - "move_success_message": "所选笔记已移动到" - }, - "note_type_chooser": { - "modal_title": "选择笔记类型", - "close": "关闭", - "modal_body": "选择新笔记的类型或模板:", - "templates": "模板:" - }, - "password_not_set": { - "title": "密码未设置", - "close": "关闭", - "body1": "受保护的笔记使用用户密码加密,但密码尚未设置。", - "body2": "点击这里打开选项对话框并设置您的密码。" - }, - "prompt": { - "title": "提示", - "close": "关闭", - "ok": "确定 回车", - "defaultTitle": "提示" - }, - "protected_session_password": { - "modal_title": "保护会话", - "help_title": "关于保护笔记的帮助", - "close_label": "关闭", - "form_label": "输入密码进入保护会话以继续:", - "start_button": "开始保护会话 回车" - }, - "recent_changes": { - "title": "最近修改", - "erase_notes_button": "立即清理已删除的笔记", - "close": "关闭", - "deleted_notes_message": "已删除的笔记已清理。", - "no_changes_message": "暂无修改...", - "undelete_link": "恢复删除", - "confirm_undelete": "您确定要恢复此笔记及其子笔记吗?" - }, - "revisions": { - "note_revisions": "笔记历史版本", - "delete_all_revisions": "删除此笔记的所有修订版本", - "delete_all_button": "删除所有修订版本", - "help_title": "关于笔记修订版本的帮助", - "close": "关闭", - "revision_last_edited": "此修订版本上次编辑于 {{date}}", - "confirm_delete_all": "您是否要删除此笔记的所有修订版本?", - "no_revisions": "此笔记暂无修订版本...", - "restore_button": "恢复", - "confirm_restore": "您是否要恢复此修订版本?这将使用此修订版本覆盖笔记的当前标题和内容。", - "delete_button": "删除", - "confirm_delete": "您是否要删除此修订版本?", - "revisions_deleted": "笔记修订版本已删除。", - "revision_restored": "笔记修订版本已恢复。", - "revision_deleted": "笔记修订版本已删除。", - "snapshot_interval": "笔记快照保存间隔: {{seconds}}秒。", - "maximum_revisions": "当前笔记的最大历史数量: {{number}}。", - "settings": "笔记修订设置", - "download_button": "下载", - "mime": "MIME 类型:", - "file_size": "文件大小:", - "preview": "预览:", - "preview_not_available": "无法预览此类型的笔记。" - }, - "sort_child_notes": { - "sort_children_by": "按...排序子笔记", - "close": "关闭", - "sorting_criteria": "排序条件", - "title": "标题", - "date_created": "创建日期", - "date_modified": "修改日期", - "sorting_direction": "排序方向", - "ascending": "升序", - "descending": "降序", - "folders": "文件夹", - "sort_folders_at_top": "将文件夹置顶排序", - "natural_sort": "自然排序", - "sort_with_respect_to_different_character_sorting": "根据不同语言或地区的字符排序和排序规则排序。", - "natural_sort_language": "自然排序语言", - "the_language_code_for_natural_sort": "自然排序的语言代码,例如中文的 \"zh-CN\"。", - "sort": "排序 Enter" - }, - "upload_attachments": { - "upload_attachments_to_note": "上传附件到笔记", - "close": "关闭", - "choose_files": "选择文件", - "files_will_be_uploaded": "文件将作为附件上传到", - "options": "选项", - "shrink_images": "缩小图片", - "upload": "上传", - "tooltip": "如果您勾选此选项,Trilium 将尝试通过缩放和优化来缩小上传的图像,这可能会影响感知的图像质量。如果未选中,则将以不进行修改的方式上传图像。" - }, - "attribute_detail": { - "attr_detail_title": "属性详情标题", - "close_button_title": "取消修改并关闭", - "attr_is_owned_by": "属性所有者", - "attr_name_title": "属性名称只能由字母数字字符、冒号和下划线组成", - "name": "名称", - "value": "值", - "target_note_title": "关系是源笔记和目标笔记之间的命名连接。", - "target_note": "目标笔记", - "promoted_title": "升级属性在笔记上突出显示。", - "promoted": "升级", - "promoted_alias_title": "在升级属性界面中显示的名称。", - "promoted_alias": "别名", - "multiplicity_title": "多重性定义了可以创建的含有相同名称的属性的数量 - 最多为1或多于1。", - "multiplicity": "多重性", - "single_value": "单值", - "multi_value": "多值", - "label_type_title": "标签类型将帮助 Trilium 选择适合的界面来输入标签值。", - "label_type": "类型", - "text": "文本", - "number": "数字", - "boolean": "布尔值", - "date": "日期", - "date_time": "日期和时间", - "time": "时间", - "url": "网址", - "precision_title": "值设置界面中浮点数后的位数。", - "precision": "精度", - "digits": "位数", - "inverse_relation_title": "可选设置,定义此关系与哪个关系相反。例如:父 - 子是彼此的反向关系。", - "inverse_relation": "反向关系", - "inheritable_title": "可继承属性将被继承到此树下的所有后代。", - "inheritable": "可继承", - "save_and_close": "保存并关闭 Ctrl+回车", - "delete": "删除", - "related_notes_title": "含有此标签的其他笔记", - "more_notes": "更多笔记", - "label": "标签详情", - "label_definition": "标签定义详情", - "relation": "关系详情", - "relation_definition": "关系定义详情", - "disable_versioning": "禁用自动版本控制。适用于例如大型但不重要的笔记 - 例如用于脚本编写的大型JS库", - "calendar_root": "标记应用作为每日笔记的根。只应标记一个笔记。", - "archived": "含有此标签的笔记默认在搜索结果中不可见(也适用于跳转到、添加链接对话框等)。", - "exclude_from_export": "笔记(及其子树)不会包含在任何笔记导出中", - "run": "定义脚本应运行的事件。可能的值包括:\n
    \n
  • frontendStartup - Trilium前端启动时(或刷新时),但不会在移动端执行。
  • \n
  • mobileStartup - Trilium前端启动时(或刷新时), 在移动端会执行。
  • \n
  • backendStartup - Trilium后端启动时
  • \n
  • hourly - 每小时运行一次。您可以使用附加标签runAtHour指定小时。
  • \n
  • daily - 每天运行一次
  • \n
", - "run_on_instance": "定义应在哪个Trilium实例上运行。默认为所有实例。", - "run_at_hour": "应在哪个小时运行。应与#run=hourly一起使用。可以多次定义,以便一天内运行多次。", - "disable_inclusion": "含有此标签的脚本不会包含在父脚本执行中。", - "sorted": "按标题字母顺序保持子笔记排序", - "sort_direction": "ASC(默认)或DESC", - "sort_folders_first": "文件夹(含有子笔记的笔记)应排在顶部", - "top": "在其父级中保留给定笔记在顶部(仅适用于排序的父级)", - "hide_promoted_attributes": "隐藏此笔记上的升级属性", - "read_only": "编辑器处于只读模式。仅适用于文本和代码笔记。", - "auto_read_only_disabled": "文本/代码笔记可以在太大时自动设置为只读模式。您可以通过向笔记添加此标签来对单个笔记单独设置禁用只读。", - "app_css": "标记加载到 Trilium 应用程序中的 CSS 笔记,因此可以用于修改 Trilium 的外观。", - "app_theme": "标记为完整的 Trilium 主题的 CSS 笔记,因此可以在 Trilium 选项中使用。", - "app_theme_base": "设置为“next”,以便使用 TriliumNext 主题而不是旧主题作为自定义主题的基础。", - "css_class": "该标签的值将作为 CSS 类添加到树中表示给定笔记的节点。这对于高级主题设置非常有用。可用于模板笔记。", - "icon_class": "该标签的值将作为 CSS 类添加到树中图标上,有助于从视觉上区分笔记树里的笔记。比如可以是 bx bx-home - 图标来自 boxicons。可用于模板笔记。", - "page_size": "笔记列表中每页的项目数", - "custom_request_handler": "请参阅自定义请求处理程序", - "custom_resource_provider": "请参阅自定义请求处理程序", - "widget": "将此笔记标记为将添加到 Trilium 组件树中的自定义小部件", - "workspace": "将此笔记标记为允许轻松聚焦的工作区", - "workspace_icon_class": "定义在选项卡中聚焦到此笔记时将使用的框图图标 CSS 类", - "workspace_tab_background_color": "聚焦到此笔记时在笔记标签页中使用的 CSS 颜色", - "workspace_calendar_root": "定义每个工作区的日历根", - "workspace_template": "在创建新笔记时,此笔记将出现在可用模板的选择中,但仅当聚焦到包含此模板的工作区时", - "search_home": "新的搜索笔记将作为此笔记的子笔记创建", - "workspace_search_home": "当聚焦到此工作区笔记的某个上级笔记时,新的搜索笔记将作为此笔记的子笔记创建", - "inbox": "使用侧边栏中的“新建笔记”按钮创建笔记时,默认收件箱位置。笔记将作为标有 #inbox 标签的笔记的子笔记创建。", - "workspace_inbox": "当聚焦到此工作区笔记的某个上级笔记时,新的笔记的默认收件箱位置", - "sql_console_home": "SQL 控制台笔记的默认位置", - "bookmark_folder": "含有此标签的笔记将作为文件夹出现在书签中(允许访问其子笔记)", - "share_hidden_from_tree": "此笔记从左侧导航树中隐藏,但仍可通过其 URL 访问", - "share_external_link": "笔记将在分享树中作为指向外部网站的链接", - "share_alias": "使用此别名定义将在 https://您的trilium域名/share/[别名] 下可用的笔记", - "share_omit_default_css": "将省略默认的分享页面 CSS。当您进行广泛的样式修改时使用。", - "share_root": "标记作为在 /share 地址分享的根节点笔记。", - "share_description": "定义要添加到 HTML meta 标签以供描述的文本", - "share_raw": "笔记将以其原始格式提供,不带 HTML 包装器", - "share_disallow_robot_indexing": "将通过 X-Robots-Tag: noindex 标头禁止爬虫机器人索引此笔记", - "share_credentials": "需要凭据才能访问此分享笔记。值应以 'username:password' 格式提供。请勿忘记使其可继承以应用于子笔记/图像。", - "share_index": "含有此标签的笔记将列出所有分享笔记的根", - "display_relations": "应显示的逗号分隔关系名称。将隐藏所有其他关系。", - "hide_relations": "应隐藏的逗号分隔关系名称。将显示所有其他关系。", - "title_template": "创建为此笔记的子笔记时的默认标题。该值将作为 JavaScript 字符串评估\n 并因此可以通过注入的 nowparentNote 变量丰富动态内容。示例:\n \n
    \n
  • ${parentNote.getLabelValue('authorName')} 的文学作品
  • \n
  • ${now.format('YYYY-MM-DD HH:mm:ss')} 的日志
  • \n
\n \n 有关详细信息,请参见含有详细信息的 wikiparentNotenow 的 API 文档以获取详情。", - "template": "此笔记在创建新笔记时,将出现在可用模板的可选列表中", - "toc": "#toc#toc=show 将强制显示目录。#toc=hide 将强制隐藏它。如果标签不存在,则遵守全局设置", - "color": "定义笔记树、链接等中笔记的颜色。使用任何有效的 CSS 颜色值,如 'red' 或 #a13d5f", - "keyboard_shortcut": "定义立即跳转到此笔记的键盘快捷键。示例:'ctrl+alt+e'。需要前端重载才能生效。", - "keep_current_hoisting": "即使笔记不在当前聚焦的子树中显示,打开此链接也不会改变聚焦。", - "execute_button": "将执行当前代码笔记的按钮标题", - "execute_description": "显示与执行按钮一起显示的当前代码笔记的更长描述", - "exclude_from_note_map": "含有此标签的笔记将从笔记地图中隐藏", - "new_notes_on_top": "新笔记将创建在父笔记的顶部,而不是底部。", - "hide_highlight_widget": "隐藏高亮列表小部件", - "run_on_note_creation": "在后端创建笔记时执行。如果要为在特定子树下创建的所有笔记运行脚本,请使用此关系。在这种情况下,在子树根笔记上创建它并使其可继承。在子树中的任何深度创建新笔记都会触发脚本。", - "run_on_child_note_creation": "当创建新的子笔记时执行", - "run_on_note_title_change": "当笔记标题修改时执行(包括笔记创建)", - "run_on_note_content_change": "当笔记内容修改时执行(包括笔记创建)。", - "run_on_note_change": "当笔记修改时执行(包括笔记创建)。不包括内容修改", - "run_on_note_deletion": "在删除笔记时执行", - "run_on_branch_creation": "在创建分支时执行。分支是父笔记和子笔记之间的链接,并且在克隆或移动笔记时创建。", - "run_on_branch_change": "在分支更新时执行。", - "run_on_branch_deletion": "在删除分支时执行。分支是父笔记和子笔记之间的链接,例如在移动笔记时删除(删除旧的分支/链接)。", - "run_on_attribute_creation": "在为定义此关系的笔记创建新属性时执行", - "run_on_attribute_change": "当修改定义此关系的笔记的属性时执行。删除属性时也会触发此操作。", - "relation_template": "即使没有父子关系,笔记的属性也将继承。如果空,则笔记的内容和子树将添加到实例笔记中。有关详细信息,请参见文档。", - "inherit": "即使没有父子关系,笔记的属性也将继承。有关类似概念的模板关系,请参见模板关系。请参阅文档中的属性继承。", - "render_note": "“渲染 HTML 笔记”类型的笔记将使用代码笔记(HTML 或脚本)进行呈现,因此需要指定要渲染的笔记", - "widget_relation": "此关系的目标将作为侧边栏中的小部件执行和呈现", - "share_css": "将注入分享页面的 CSS 笔记。CSS 笔记也必须位于分享子树中。可以考虑一并使用 'share_hidden_from_tree' 和 'share_omit_default_css'。", - "share_js": "将注入分享页面的 JavaScript 笔记。JS 笔记也必须位于分享子树中。可以考虑一并使用 'share_hidden_from_tree'。", - "share_template": "用作显示分享笔记的模板的嵌入式 JavaScript 笔记。如果没有,将回退到默认模板。可以考虑一并使用 'share_hidden_from_tree'。", - "share_favicon": "在分享页面中设置的 favicon 笔记。一般需要将它设置为分享和可继承。Favicon 笔记也必须位于分享子树中。可以考虑一并使用 'share_hidden_from_tree'。", - "is_owned_by_note": "由此笔记所有", - "other_notes_with_name": "其它含有 {{attributeType}} 名为 \"{{attributeName}}\" 的的笔记", - "and_more": "... 以及另外 {{count}} 个", - "print_landscape": "导出为 PDF 时,将页面方向更改为横向而不是纵向。", - "print_page_size": "导出为 PDF 时,更改页面大小。支持的值:A0A1A2A3A4A5A6LegalLetterTabloidLedger。" - }, - "attribute_editor": { - "help_text_body1": "要添加标签,只需输入例如 #rock 或者如果您还想添加值,则例如 #year = 2020", - "help_text_body2": "对于关系,请输入 ~author = @,这将显示一个自动完成列表,您可以查找所需的笔记。", - "help_text_body3": "您也可以使用右侧的 + 按钮添加标签和关系。

", - "save_attributes": "保存属性 ", - "add_a_new_attribute": "添加新属性", - "add_new_label": "添加新标签 ", - "add_new_relation": "添加新关系 ", - "add_new_label_definition": "添加新标签定义", - "add_new_relation_definition": "添加新关系定义", - "placeholder": "在此输入标签和关系" - }, - "abstract_bulk_action": { - "remove_this_search_action": "删除此搜索操作" - }, - "execute_script": { - "execute_script": "执行脚本", - "help_text": "您可以在匹配的笔记上执行简单的脚本。", - "example_1": "例如,要在笔记标题后附加字符串,请使用以下脚本:", - "example_2": "更复杂的例子,删除所有匹配的笔记属性:" - }, - "add_label": { - "add_label": "添加标签", - "label_name_placeholder": "标签名称", - "label_name_title": "允许使用字母、数字、下划线和冒号。", - "to_value": "值为", - "new_value_placeholder": "新值", - "help_text": "在所有匹配的笔记上:", - "help_text_item1": "如果笔记尚无此标签,则创建给定的标签", - "help_text_item2": "或更改现有标签的值", - "help_text_note": "您也可以在不指定值的情况下调用此方法,这种情况下,标签将分配给没有值的笔记。" - }, - "delete_label": { - "delete_label": "删除标签", - "label_name_placeholder": "标签名称", - "label_name_title": "允许使用字母、数字、下划线和冒号。" - }, - "rename_label": { - "rename_label": "重命名标签", - "rename_label_from": "重命名标签从", - "old_name_placeholder": "旧名称", - "to": "改为", - "new_name_placeholder": "新名称", - "name_title": "允许使用字母、数字、下划线和冒号。" - }, - "update_label_value": { - "update_label_value": "更新标签值", - "label_name_placeholder": "标签名称", - "label_name_title": "允许使用字母、数字、下划线和冒号。", - "to_value": "值为", - "new_value_placeholder": "新值", - "help_text": "在所有匹配的笔记上,更改现有标签的值。", - "help_text_note": "您也可以在不指定值的情况下调用此方法,这种情况下,标签将分配给没有值的笔记。" - }, - "delete_note": { - "delete_note": "删除笔记", - "delete_matched_notes": "删除匹配的笔记", - "delete_matched_notes_description": "这将删除匹配的笔记。", - "undelete_notes_instruction": "删除后,可以从“最近修改”对话框中恢复它们。", - "erase_notes_instruction": "要永久擦除笔记,您可以在删除后转到“选项”->“其他”,然后单击“立即擦除已删除的笔记”按钮。" - }, - "delete_revisions": { - "delete_note_revisions": "删除笔记修订版本", - "all_past_note_revisions": "所有匹配笔记的过去修订版本都将被删除。笔记本身将完全保留。换句话说,笔记的历史将被删除。" - }, - "move_note": { - "move_note": "移动笔记", - "to": "到", - "target_parent_note": "目标父笔记", - "on_all_matched_notes": "对于所有匹配的笔记", - "move_note_new_parent": "如果笔记只有一个父级(即旧分支被移除并创建新分支到新父级),则将笔记移动到新父级", - "clone_note_new_parent": "如果笔记有多个克隆/分支(不清楚应该移除哪个分支),则将笔记克隆到新父级", - "nothing_will_happen": "如果笔记无法移动到目标笔记(即这会创建一个树循环),则不会发生任何事情" - }, - "rename_note": { - "rename_note": "重命名笔记", - "rename_note_title_to": "重命名笔记标题为", - "new_note_title": "新笔记标题", - "click_help_icon": "点击右侧的帮助图标查看所有选项", - "evaluated_as_js_string": "给定的值被评估为 JavaScript 字符串,因此可以通过注入的 note 变量(正在重命名的笔记)丰富动态内容。 例如:", - "example_note": "Note - 所有匹配的笔记都被重命名为“Note”", - "example_new_title": "NEW: ${note.title} - 匹配的笔记标题以“NEW: ”为前缀", - "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - 匹配的笔记以笔记的创建月份-日期为前缀", - "api_docs": "有关详细信息,请参阅笔记及其dateCreatedObj / utcDateCreatedObj 属性的API文档。" - }, - "add_relation": { - "add_relation": "添加关系", - "relation_name": "关系名称", - "allowed_characters": "允许的字符为字母数字、下划线和冒号。", - "to": "到", - "target_note": "目标笔记", - "create_relation_on_all_matched_notes": "在所有匹配的笔记上创建指定的关系。" - }, - "delete_relation": { - "delete_relation": "删除关系", - "relation_name": "关系名称", - "allowed_characters": "允许的字符为字母数字、下划线和冒号。" - }, - "rename_relation": { - "rename_relation": "重命名关系", - "rename_relation_from": "重命名关系,从", - "old_name": "旧名称", - "to": "改为", - "new_name": "新名称", - "allowed_characters": "允许的字符为字母数字、下划线和冒号。" - }, - "update_relation_target": { - "update_relation": "更新关系", - "relation_name": "关系名称", - "allowed_characters": "允许的字符为字母数字、下划线和冒号。", - "to": "到", - "target_note": "目标笔记", - "on_all_matched_notes": "在所有匹配的笔记上", - "change_target_note": "或更改现有关系的目标笔记", - "update_relation_target": "更新关系目标" - }, - "attachments_actions": { - "open_externally": "用外部程序打开", - "open_externally_title": "文件将会在外部应用程序中打开,并监视其更改。然后您可以将修改后的版本上传回 Trilium。", - "open_custom": "自定义打开方式", - "open_custom_title": "文件将会在外部应用程序中打开,并监视其更改。然后您可以将修改后的版本上传回 Trilium。", - "download": "下载", - "rename_attachment": "重命名附件", - "upload_new_revision": "上传新版本", - "copy_link_to_clipboard": "复制链接到剪贴板", - "convert_attachment_into_note": "将附件转换为笔记", - "delete_attachment": "删除附件", - "upload_success": "新附件修订版本已上传。", - "upload_failed": "新附件修订版本上传失败。", - "open_externally_detail_page": "外部打开附件仅在详细页面中可用,请首先点击附件详细信息,然后重复此操作。", - "open_custom_client_only": "自定义打开附件只能通过客户端完成。", - "delete_confirm": "您确定要删除附件 '{{title}}' 吗?", - "delete_success": "附件 '{{title}}' 已被删除。", - "convert_confirm": "您确定要将附件 '{{title}}' 转换为单独的笔记吗?", - "convert_success": "附件 '{{title}}' 已转换为笔记。", - "enter_new_name": "请输入附件的新名称" - }, - "calendar": { - "mon": "一", - "tue": "二", - "wed": "三", - "thu": "四", - "fri": "五", - "sat": "六", - "sun": "日", - "cannot_find_day_note": "无法找到日记", - "cannot_find_week_note": "无法找到周记", - "january": "一月", - "febuary": "二月", - "march": "三月", - "april": "四月", - "may": "五月", - "june": "六月", - "july": "七月", - "august": "八月", - "september": "九月", - "october": "十月", - "november": "十一月", - "december": "十二月" - }, - "close_pane_button": { - "close_this_pane": "关闭此面板" - }, - "create_pane_button": { - "create_new_split": "拆分面板" - }, - "edit_button": { - "edit_this_note": "编辑此笔记" - }, - "show_toc_widget_button": { - "show_toc": "显示目录" - }, - "show_highlights_list_widget_button": { - "show_highlights_list": "显示高亮列表" - }, - "global_menu": { - "menu": "菜单", - "options": "选项", - "open_new_window": "打开新窗口", - "switch_to_mobile_version": "切换到移动版", - "switch_to_desktop_version": "切换到桌面版", - "zoom": "缩放", - "toggle_fullscreen": "切换全屏", - "zoom_out": "缩小", - "reset_zoom_level": "重置缩放级别", - "zoom_in": "放大", - "configure_launchbar": "配置启动栏", - "show_shared_notes_subtree": "显示分享笔记子树", - "advanced": "高级", - "open_dev_tools": "打开开发工具", - "open_sql_console": "打开 SQL 控制台", - "open_sql_console_history": "打开 SQL 控制台历史记录", - "open_search_history": "打开搜索历史", - "show_backend_log": "显示后台日志", - "reload_hint": "重载可以帮助解决一些视觉故障,而无需重启整个应用程序。", - "reload_frontend": "重载前端", - "show_hidden_subtree": "显示隐藏子树", - "show_help": "显示帮助", - "about": "关于 TriliumNext 笔记", - "logout": "登出", - "show-cheatsheet": "显示快捷帮助", - "toggle-zen-mode": "禅模式" - }, - "zen_mode": { - "button_exit": "退出禅模式" - }, - "sync_status": { - "unknown": "

同步状态将在下一次同步尝试开始后显示。

点击以立即触发同步。

", - "connected_with_changes": "

已连接到同步服务器。
有一些未同步的变更。

点击以触发同步。

", - "connected_no_changes": "

已连接到同步服务器。
所有变更均已同步。

点击以触发同步。

", - "disconnected_with_changes": "

连接同步服务器失败。
有一些未同步的变更。

点击以触发同步。

", - "disconnected_no_changes": "

连接同步服务器失败。
所有已知变更均已同步。

点击以触发同步。

", - "in_progress": "正在与服务器进行同步。" - }, - "left_pane_toggle": { - "show_panel": "显示面板", - "hide_panel": "隐藏面板" - }, - "move_pane_button": { - "move_left": "向左移动", - "move_right": "向右移动" - }, - "note_actions": { - "convert_into_attachment": "转换为附件", - "re_render_note": "重新渲染笔记", - "search_in_note": "在笔记中搜索", - "note_source": "笔记源代码", - "note_attachments": "笔记附件", - "open_note_externally": "用外部程序打开笔记", - "open_note_externally_title": "文件将在外部应用程序中打开,并监视其更改。然后您可以将修改后的版本上传回 Trilium。", - "open_note_custom": "使用自定义程序打开笔记", - "import_files": "导入文件", - "export_note": "导出笔记", - "delete_note": "删除笔记", - "print_note": "打印笔记", - "save_revision": "保存笔记修订", - "convert_into_attachment_failed": "笔记 '{{title}}' 转换失败。", - "convert_into_attachment_successful": "笔记 '{{title}}' 已成功转换为附件。", - "convert_into_attachment_prompt": "确定要将笔记 '{{title}}' 转换为父笔记的附件吗?", - "print_pdf": "导出为 PDF..." - }, - "onclick_button": { - "no_click_handler": "按钮组件'{{componentId}}'没有定义点击处理程序" - }, - "protected_session_status": { - "active": "受保护的会话已激活。点击退出受保护的会话。", - "inactive": "点击进入受保护的会话" - }, - "revisions_button": { - "note_revisions": "笔记修订版本" - }, - "update_available": { - "update_available": "有更新可用" - }, - "note_launcher": { - "this_launcher_doesnt_define_target_note": "此启动器未定义目标笔记。" - }, - "code_buttons": { - "execute_button_title": "执行脚本", - "trilium_api_docs_button_title": "打开 Trilium API 文档", - "save_to_note_button_title": "保存到笔记", - "opening_api_docs_message": "正在打开 API 文档...", - "sql_console_saved_message": "SQL 控制台已保存到 {{note_path}}" - }, - "copy_image_reference_button": { - "button_title": "复制图片引用到剪贴板,可粘贴到文本笔记中。" - }, - "hide_floating_buttons_button": { - "button_title": "隐藏按钮" - }, - "show_floating_buttons_button": { - "button_title": "显示按钮" - }, - "svg_export_button": { - "button_title": "导出SVG格式图片" - }, - "relation_map_buttons": { - "create_child_note_title": "创建新的子笔记并添加到关系图", - "reset_pan_zoom_title": "重置平移和缩放到初始坐标和放大倍率", - "zoom_in_title": "放大", - "zoom_out_title": "缩小" - }, - "zpetne_odkazy": { - "backlink": "{{count}} 个反链", - "backlinks": "{{count}} 个反链", - "relation": "关系" - }, - "mobile_detail_menu": { - "insert_child_note": "插入子笔记", - "delete_this_note": "删除此笔记", - "error_cannot_get_branch_id": "无法获取 notePath '{{notePath}}' 的 branchId", - "error_unrecognized_command": "无法识别的命令 {{command}}" - }, - "note_icon": { - "change_note_icon": "更改笔记图标", - "category": "类别:", - "search": "搜索:", - "reset-default": "重置为默认图标" - }, - "basic_properties": { - "note_type": "笔记类型", - "editable": "可编辑", - "basic_properties": "基本属性" - }, - "book_properties": { - "view_type": "视图类型", - "grid": "网格", - "list": "列表", - "collapse_all_notes": "折叠所有笔记", - "expand_all_children": "展开所有子项", - "collapse": "折叠", - "expand": "展开", - "book_properties": "", - "invalid_view_type": "无效的查看类型 '{{type}}'", - "calendar": "日历" - }, - "edited_notes": { - "no_edited_notes_found": "今天还没有编辑过的笔记...", - "title": "编辑过的笔记", - "deleted": "(已删除)" - }, - "file_properties": { - "note_id": "笔记 ID", - "original_file_name": "原始文件名", - "file_type": "文件类型", - "file_size": "文件大小", - "download": "下载", - "open": "打开", - "upload_new_revision": "上传新修订版本", - "upload_success": "新文件修订版本已上传。", - "upload_failed": "新文件修订版本上传失败。", - "title": "文件" - }, - "image_properties": { - "original_file_name": "原始文件名", - "file_type": "文件类型", - "file_size": "文件大小", - "download": "下载", - "open": "打开", - "copy_reference_to_clipboard": "复制引用到剪贴板", - "upload_new_revision": "上传新修订版本", - "upload_success": "新图像修订版本已上传。", - "upload_failed": "新图像修订版本上传失败:{{message}}", - "title": "图像" - }, - "inherited_attribute_list": { - "title": "继承的属性", - "no_inherited_attributes": "没有继承的属性。" - }, - "note_info_widget": { - "note_id": "笔记 ID", - "created": "创建时间", - "modified": "修改时间", - "type": "类型", - "note_size": "笔记大小", - "note_size_info": "笔记大小提供了该笔记存储需求的粗略估计。它考虑了笔记的内容及其笔记修订历史的内容。", - "calculate": "计算", - "subtree_size": "(子树大小: {{size}}, 共计 {{count}} 个笔记)", - "title": "笔记信息" - }, - "note_map": { - "open_full": "展开显示", - "collapse": "折叠到正常大小", - "title": "笔记地图", - "fix-nodes": "固定节点", - "link-distance": "链接距离" - }, - "note_paths": { - "title": "笔记路径", - "clone_button": "克隆笔记到新位置...", - "intro_placed": "此笔记放置在以下路径中:", - "intro_not_placed": "此笔记尚未放入笔记树中。", - "outside_hoisted": "此路径在提升的笔记之外,您需要取消聚焦。", - "archived": "已归档", - "search": "搜索" - }, - "note_properties": { - "this_note_was_originally_taken_from": "笔记来源:", - "info": "信息" - }, - "owned_attribute_list": { - "owned_attributes": "拥有的属性" - }, - "promoted_attributes": { - "promoted_attributes": "升级属性", - "unset-field-placeholder": "未设置", - "url_placeholder": "http://www...", - "open_external_link": "打开外部链接", - "unknown_label_type": "未知的标签类型 '{{type}}'", - "unknown_attribute_type": "未知的属性类型 '{{type}}'", - "add_new_attribute": "添加新属性", - "remove_this_attribute": "移除此属性" - }, - "script_executor": { - "query": "查询", - "script": "脚本", - "execute_query": "执行查询", - "execute_script": "执行脚本" - }, - "search_definition": { - "add_search_option": "添加搜索选项:", - "search_string": "搜索字符串", - "search_script": "搜索脚本", - "ancestor": "上级笔记", - "fast_search": "快速搜索", - "fast_search_description": "快速搜索选项禁用笔记内容的全文搜索,这可能会加速大数据库中的搜索。", - "include_archived": "包含归档", - "include_archived_notes_description": "归档的笔记默认不包含在搜索结果中,使用此选项将包含它们。", - "order_by": "排序方式", - "limit": "限制", - "limit_description": "限制结果数量", - "debug": "调试", - "debug_description": "调试将打印额外的调试信息到控制台,以帮助调试复杂查询", - "action": "操作", - "search_button": "搜索 回车", - "search_execute": "搜索并执行操作", - "save_to_note": "保存到笔记", - "search_parameters": "搜索参数", - "unknown_search_option": "未知的搜索选项 {{searchOptionName}}", - "search_note_saved": "搜索笔记已保存到 {{- notePathTitle}}", - "actions_executed": "操作已执行。" - }, - "similar_notes": { - "title": "相似笔记", - "no_similar_notes_found": "未找到相似的笔记。" - }, - "abstract_search_option": { - "remove_this_search_option": "删除此搜索选项", - "failed_rendering": "渲染搜索选项失败:{{dto}},错误信息:{{error}},堆栈:{{stack}}" - }, - "ancestor": { - "label": "上级笔记", - "placeholder": "按名称搜索笔记", - "depth_label": "深度", - "depth_doesnt_matter": "任意", - "depth_eq": "正好是 {{count}}", - "direct_children": "直接子代", - "depth_gt": "大于 {{count}}", - "depth_lt": "小于 {{count}}" - }, - "debug": { - "debug": "调试", - "debug_info": "调试将打印额外的调试信息到控制台,以帮助调试复杂的查询。", - "access_info": "要访问调试信息,请执行查询并点击左上角的“显示后端日志”。" - }, - "fast_search": { - "fast_search": "快速搜索", - "description": "快速搜索选项禁用笔记内容的全文搜索,这可能会加快在大型数据库中的搜索速度。" - }, - "include_archived_notes": { - "include_archived_notes": "包括已归档的笔记" - }, - "limit": { - "limit": "限制", - "take_first_x_results": "仅取前 X 个指定结果。" - }, - "order_by": { - "order_by": "排序依据", - "relevancy": "相关性(默认)", - "title": "标题", - "date_created": "创建日期", - "date_modified": "最后修改日期", - "content_size": "笔记内容大小", - "content_and_attachments_size": "笔记内容大小(包括附件)", - "content_and_attachments_and_revisions_size": "笔记内容大小(包括附件和笔记修订历史)", - "revision_count": "修订版本数量", - "children_count": "子笔记数量", - "parent_count": "克隆数量", - "owned_label_count": "标签数量", - "owned_relation_count": "关系数量", - "target_relation_count": "指向笔记的关系数量", - "random": "随机顺序", - "asc": "升序(默认)", - "desc": "降序" - }, - "search_script": { - "title": "搜索脚本:", - "placeholder": "按名称搜索笔记", - "description1": "搜索脚本允许通过运行脚本来定义搜索结果。这在标准搜索不足时提供了最大的灵活性。", - "description2": "搜索脚本必须是类型为“代码”和子类型为“JavaScript 后端”。脚本需要返回一个 noteIds 或 notes 数组。", - "example_title": "请看这个例子:", - "example_code": "// 1. 使用标准搜索进行预过滤\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. 应用自定义搜索条件\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", - "note": "注意,搜索脚本和搜索字符串不能相互结合使用。" - }, - "search_string": { - "title_column": "搜索字符串:", - "placeholder": "全文关键词,#标签 = 值 ...", - "search_syntax": "搜索语法", - "also_see": "另见", - "complete_help": "完整的搜索语法帮助", - "full_text_search": "只需输入任何文本进行全文搜索", - "label_abc": "返回带有标签 abc 的笔记", - "label_year": "匹配带有标签年份且值为 2019 的笔记", - "label_rock_pop": "匹配同时具有 rock 和 pop 标签的笔记", - "label_rock_or_pop": "只需一个标签存在即可", - "label_year_comparison": "数字比较(也包括>,>=,<)。", - "label_date_created": "上个月创建的笔记", - "error": "搜索错误:{{error}}", - "search_prefix": "搜索:" - }, - "attachment_detail": { - "open_help_page": "打开附件帮助页面", - "owning_note": "所属笔记:", - "you_can_also_open": ",您还可以打开", - "list_of_all_attachments": "所有附件列表", - "attachment_deleted": "该附件已被删除。" - }, - "attachment_list": { - "open_help_page": "打开附件帮助页面", - "owning_note": "所属笔记:", - "upload_attachments": "上传附件", - "no_attachments": "此笔记没有附件。" - }, - "book": { - "no_children_help": "此类型为书籍的笔记没有任何子笔记,因此没有内容显示。请参阅 wiki 了解详情" - }, - "editable_code": { - "placeholder": "在这里输入您的代码笔记内容..." - }, - "editable_text": { - "placeholder": "在这里输入您的笔记内容..." - }, - "empty": { - "open_note_instruction": "通过在下面的输入框中输入笔记标题或在树中选择笔记来打开笔记。", - "search_placeholder": "按名称搜索笔记", - "enter_workspace": "进入工作区 {{title}}" - }, - "file": { - "file_preview_not_available": "此文件格式不支持预览。", - "too_big": "预览仅显示文件的前 {{maxNumChars}} 个字符以提高性能。下载文件并在外部打开以查看完整内容。" - }, - "protected_session": { - "enter_password_instruction": "显示受保护的笔记需要输入您的密码:", - "start_session_button": "开始受保护的会话", - "started": "受保护的会话已启动。", - "wrong_password": "密码错误。", - "protecting-finished-successfully": "保护操作已成功完成。", - "unprotecting-finished-successfully": "解除保护操作已成功完成。", - "protecting-in-progress": "保护进行中:{{count}}", - "unprotecting-in-progress-count": "解除保护进行中:{{count}}", - "protecting-title": "保护状态", - "unprotecting-title": "解除保护状态" - }, - "relation_map": { - "open_in_new_tab": "在新标签页中打开", - "remove_note": "删除笔记", - "edit_title": "编辑标题", - "rename_note": "重命名笔记", - "enter_new_title": "输入新的笔记标题:", - "remove_relation": "删除关系", - "confirm_remove_relation": "您确定要删除这个关系吗?", - "specify_new_relation_name": "指定新的关系名称(允许的字符:字母数字、冒号和下划线):", - "connection_exists": "笔记之间的连接 '{{name}}' 已经存在。", - "start_dragging_relations": "从这里开始拖动关系,并将其放置到另一个笔记上。", - "note_not_found": "笔记 {{noteId}} 未找到!", - "cannot_match_transform": "无法匹配变换:{{transform}}", - "note_already_in_diagram": "笔记 \"{{title}}\" 已经在图中。", - "enter_title_of_new_note": "输入新笔记的标题", - "default_new_note_title": "新笔记", - "click_on_canvas_to_place_new_note": "点击画布以放置新笔记" - }, - "render": { - "note_detail_render_help_1": "之所以显示此帮助说明,是因为这个类型为渲染 HTML 的笔记没有正常工作所需的关系。", - "note_detail_render_help_2": "渲染 HTML 笔记类型用于编写脚本。简而言之,您有一份 HTML 代码笔记(可包含一些 JavaScript),然后这个笔记会把页面渲染出来。要使其正常工作,您需要定义一个名为 \"renderNote\" 的关系指向要渲染的 HTML 笔记。" - }, - "web_view": { - "web_view": "网页视图", - "embed_websites": "网页视图类型的笔记允许您将网站嵌入到 Trilium 中。", - "create_label": "首先,请创建一个带有您要嵌入的 URL 地址的标签,例如 #webViewSrc=\"https://www.bing.com\"" - }, - "backend_log": { - "refresh": "刷新" - }, - "consistency_checks": { - "title": "检查一致性", - "find_and_fix_button": "查找并修复一致性问题", - "finding_and_fixing_message": "正在查找并修复一致性问题...", - "issues_fixed_message": "一致性问题应该已被修复。" - }, - "database_anonymization": { - "title": "数据库匿名化", - "full_anonymization": "完全匿名化", - "full_anonymization_description": "此操作将创建一个新的数据库副本并进行匿名化处理(删除所有笔记内容,仅保留结构和一些非敏感元数据),用来分享到网上做调试而不用担心泄漏您的个人资料。", - "save_fully_anonymized_database": "保存完全匿名化的数据库", - "light_anonymization": "轻度匿名化", - "light_anonymization_description": "此操作将创建一个新的数据库副本,并对其进行轻度匿名化处理——仅删除所有笔记的内容,但保留标题和属性。此外,自定义 JS 前端/后端脚本笔记和自定义小部件将保留。这提供了更多上下文以调试问题。", - "choose_anonymization": "您可以自行决定是提供完全匿名化还是轻度匿名化的数据库。即使是完全匿名化的数据库也非常有用,但在某些情况下,轻度匿名化的数据库可以加快错误识别和修复的过程。", - "save_lightly_anonymized_database": "保存轻度匿名化的数据库", - "existing_anonymized_databases": "现有的匿名化数据库", - "creating_fully_anonymized_database": "正在创建完全匿名化的数据库...", - "creating_lightly_anonymized_database": "正在创建轻度匿名化的数据库...", - "error_creating_anonymized_database": "无法创建匿名化数据库,请检查后端日志以获取详细信息", - "successfully_created_fully_anonymized_database": "成功创建完全匿名化的数据库,路径为 {{anonymizedFilePath}}", - "successfully_created_lightly_anonymized_database": "成功创建轻度匿名化的数据库,路径为 {{anonymizedFilePath}}", - "no_anonymized_database_yet": "尚无匿名化数据库" - }, - "database_integrity_check": { - "title": "数据库完整性检查", - "description": "检查 SQLite 数据库是否损坏。根据数据库的大小,可能会需要一些时间。", - "check_button": "检查数据库完整性", - "checking_integrity": "正在检查数据库完整性...", - "integrity_check_succeeded": "完整性检查成功 - 未发现问题。", - "integrity_check_failed": "完整性检查失败: {{results}}" - }, - "sync": { - "title": "同步", - "force_full_sync_button": "强制全量同步", - "fill_entity_changes_button": "填充实体变更记录", - "full_sync_triggered": "全量同步已触发", - "filling_entity_changes": "正在填充实体变更行...", - "sync_rows_filled_successfully": "同步行填充成功", - "finished-successfully": "同步已完成。", - "failed": "同步失败:{{message}}" - }, - "vacuum_database": { - "title": "数据库清理", - "description": "这会重建数据库,通常会减少占用空间,不会删除数据。", - "button_text": "清理数据库", - "vacuuming_database": "正在清理数据库...", - "database_vacuumed": "数据库已清理" - }, - "fonts": { - "theme_defined": "跟随主题", - "fonts": "字体", - "main_font": "主字体", - "font_family": "字体系列", - "size": "大小", - "note_tree_font": "笔记树字体", - "note_detail_font": "笔记详情字体", - "monospace_font": "等宽(代码)字体", - "note_tree_and_detail_font_sizing": "请注意,笔记树字体和详细字体的大小相对于主字体大小设置。", - "not_all_fonts_available": "并非所有列出的字体都可能在您的系统上可用。", - "apply_font_changes": "要应用字体更改,请点击", - "reload_frontend": "重载前端", - "generic-fonts": "通用字体", - "sans-serif-system-fonts": "无衬线系统字体", - "serif-system-fonts": "衬线系统字体", - "monospace-system-fonts": "等宽系统字体", - "handwriting-system-fonts": "手写系统字体", - "serif": "衬线", - "sans-serif": "无衬线", - "monospace": "等宽", - "system-default": "系统默认" - }, - "max_content_width": { - "title": "内容宽度", - "default_description": "Trilium默认会限制内容的最大宽度以提高在宽屏中全屏时的可读性。", - "max_width_label": "内容最大宽度(像素)", - "apply_changes_description": "要应用内容宽度更改,请点击", - "reload_button": "重载前端", - "reload_description": "来自外观选项的更改" - }, - "native_title_bar": { - "title": "原生标题栏(需要重新启动应用)", - "enabled": "启用", - "disabled": "禁用" - }, - "ribbon": { - "widgets": "功能选项组件", - "promoted_attributes_message": "如果笔记中存在升级属性,则自动打开升级属性功能区标签页", - "edited_notes_message": "日记笔记自动打开编辑过的笔记功能区标签页" - }, - "theme": { - "title": "主题", - "theme_label": "主题", - "override_theme_fonts_label": "覆盖主题字体", - "auto_theme": "自动", - "light_theme": "浅色", - "dark_theme": "深色", - "triliumnext": "TriliumNext Beta(跟随系统颜色方案)", - "triliumnext-light": "TriliumNext Beta(浅色)", - "triliumnext-dark": "TriliumNext Beta(深色)", - "layout": "布局", - "layout-vertical-title": "垂直", - "layout-horizontal-title": "水平", - "layout-vertical-description": "启动栏位于左侧(默认)", - "layout-horizontal-description": "启动栏位于标签页栏下方,标签页栏现在是全宽的。" - }, - "zoom_factor": { - "title": "缩放系数(仅桌面客户端有效)", - "description": "缩放也可以通过 CTRL+- 和 CTRL+= 快捷键进行控制。" - }, - "code_auto_read_only_size": { - "title": "自动只读大小", - "description": "自动只读大小是指笔记超过设置的大小后自动设置为只读模式(为性能考虑)。", - "label": "自动只读大小(代码笔记)" - }, - "code_mime_types": { - "title": "下拉菜单可用的MIME文件类型" - }, - "vim_key_bindings": { - "use_vim_keybindings_in_code_notes": "Vim 快捷键", - "enable_vim_keybindings": "在代码笔记中启用 Vim 快捷键(不包含 ex 模式)" - }, - "wrap_lines": { - "wrap_lines_in_code_notes": "代码笔记自动换行", - "enable_line_wrap": "启用自动换行(需要重载前端才会生效)" - }, - "images": { - "images_section_title": "图片", - "download_images_automatically": "自动下载图片以供离线使用。", - "download_images_description": "粘贴的 HTML 可能包含在线图片的引用,Trilium 会找到这些引用并下载图片,以便它们可以离线使用。", - "enable_image_compression": "启用图片压缩", - "max_image_dimensions": "图片的最大宽度/高度(超过此限制的图像将会被缩放)。", - "jpeg_quality_description": "JPEG 质量(10 - 最差质量,100 最佳质量,建议为 50 - 85)" - }, - "attachment_erasure_timeout": { - "attachment_erasure_timeout": "附件清理超时", - "attachment_auto_deletion_description": "如果附件在一段时间后不再被笔记引用,它们将自动被删除(并被清理)。", - "erase_attachments_after": "在此时间后删除未使用的附件:", - "manual_erasing_description": "您还可以手动触发清理(而不考虑上述定义的超时时间):", - "erase_unused_attachments_now": "立即清理未使用的附件笔记", - "unused_attachments_erased": "未使用的附件已被删除。" - }, - "network_connections": { - "network_connections_title": "网络连接", - "check_for_updates": "自动检查更新" - }, - "note_erasure_timeout": { - "note_erasure_timeout_title": "笔记清理超时", - "note_erasure_description": "被删除的笔记(以及属性、修订历史等)最初仅被标记为“删除”,可以从“最近修改”对话框中恢复它们。经过一段时间后,已删除的笔记会被“清理”,这意味着它们的内容将无法恢复。此设置允许您配置从删除到清除笔记之间的时间长度。", - "erase_notes_after": "在此时间后删除笔记:", - "manual_erasing_description": "您还可以手动触发清理(不考虑上述定义的超时):", - "erase_deleted_notes_now": "立即清理已删除的笔记", - "deleted_notes_erased": "已删除的笔记已被清理。" - }, - "revisions_snapshot_interval": { - "note_revisions_snapshot_interval_title": "笔记修订快照间隔", - "note_revisions_snapshot_description": "笔记修订快照间隔是创建新笔记修订的时间。有关更多信息,请参见 wiki。", - "snapshot_time_interval_label": "笔记修订快照时间间隔:" - }, - "revisions_snapshot_limit": { - "note_revisions_snapshot_limit_title": "笔记修订快照限制", - "note_revisions_snapshot_limit_description": "笔记修订快照数限制指的是每个笔记可以保存的最大历史记录数量。其中 -1 表示没有限制,0 表示删除所有历史记录。您可以通过 #versioningLimit 标签设置单个笔记的最大修订记录数量。", - "snapshot_number_limit_label": "笔记修订快照数量限制:", - "erase_excess_revision_snapshots": "立即删除多余的修订快照", - "erase_excess_revision_snapshots_prompt": "多余的修订快照已被删除。" - }, - "search_engine": { - "title": "搜索引擎", - "custom_search_engine_info": "自定义搜索引擎需要设置名称和 URL。如果这两者之一未设置,将默认使用 DuckDuckGo 作为搜索引擎。", - "predefined_templates_label": "预定义搜索引擎模板", - "bing": "必应", - "baidu": "百度", - "duckduckgo": "DuckDuckGo", - "google": "谷歌", - "custom_name_label": "自定义搜索引擎名称", - "custom_name_placeholder": "自定义搜索引擎名称", - "custom_url_label": "自定义搜索引擎 URL 应包含 {keyword} 作为搜索词的占位符。", - "custom_url_placeholder": "自定义搜索引擎 URL", - "save_button": "保存" - }, - "tray": { - "title": "系统托盘", - "enable_tray": "启用托盘图标(需要重启 Trilium 以生效)" - }, - "heading_style": { - "title": "标题风格", - "plain": "纯文本", - "underline": "下划线", - "markdown": "Markdown 风格" - }, - "highlights_list": { - "title": "高亮列表", - "description": "您可以自定义右侧面板中显示的高亮列表:", - "bold": "粗体", - "italic": "斜体", - "underline": "下划线", - "color": "字体颜色", - "bg_color": "背景颜色", - "visibility_title": "高亮列表可见性", - "visibility_description": "您可以通过添加 #hideHighlightWidget 标签来隐藏单个笔记的高亮小部件。", - "shortcut_info": "您可以在选项 -> 快捷键中为快速切换右侧面板(包括高亮列表)配置键盘快捷键(名称为 'toggleRightPane')。" - }, - "table_of_contents": { - "title": "目录", - "description": "当笔记中有超过一定数量的标题时,显示目录。您可以自定义此数量:", - "disable_info": "您可以设置一个非常大的数来禁用目录。", - "shortcut_info": "您可以在 “选项” -> “快捷键” 中配置一个键盘快捷键,以便快速切换右侧面板(包括目录)(名称为 'toggleRightPane')。" - }, - "text_auto_read_only_size": { - "title": "自动只读大小", - "description": "自动只读笔记大小是超过该大小后,笔记将以只读模式显示(出于性能考虑)。", - "label": "自动只读大小(文本笔记)" - }, - "i18n": { - "title": "本地化", - "language": "语言", - "first-day-of-the-week": "一周的第一天", - "sunday": "周日", - "monday": "周一", - "first-week-of-the-year": "一年的第一周", - "first-week-contains-first-day": "第一周包含一年的第一天", - "first-week-contains-first-thursday": "第一周包含一年的第一个周四", - "first-week-has-minimum-days": "第一周有最小天数", - "min-days-in-first-week": "第一周的最小天数", - "first-week-info": "第一周包含一年的第一个周四,基于 ISO 8601 标准。", - "first-week-warning": "更改第一周选项可能会导致与现有周笔记重复,已创建的周笔记将不会相应更新。", - "formatting-locale": "日期和数字格式" - }, - "backup": { - "automatic_backup": "自动备份", - "automatic_backup_description": "Trilium 可以自动备份数据库:", - "enable_daily_backup": "启用每日备份", - "enable_weekly_backup": "启用每周备份", - "enable_monthly_backup": "启用每月备份", - "backup_recommendation": "建议打开备份功能,但这可能会使大型数据库和/或慢速存储设备的应用程序启动变慢。", - "backup_now": "立即备份", - "backup_database_now": "立即备份数据库", - "existing_backups": "现有备份", - "date-and-time": "日期和时间", - "path": "路径", - "database_backed_up_to": "数据库已备份到 {{backupFilePath}}", - "no_backup_yet": "尚无备份" - }, - "etapi": { - "title": "ETAPI", - "description": "ETAPI 是一个 REST API,用于以编程方式访问 Trilium 实例,而无需 UI。", - "see_more": "有关更多详细信息,请参见 {{- link_to_wiki}} 和 {{- link_to_openapi_spec}} 或 {{- link_to_swagger_ui}}。", - "wiki": "维基", - "openapi_spec": "ETAPI OpenAPI 规范", - "swagger_ui": "ETAPI Swagger UI", - "create_token": "创建新的 ETAPI 令牌", - "existing_tokens": "现有令牌", - "no_tokens_yet": "目前还没有令牌。点击上面的按钮创建一个。", - "token_name": "令牌名称", - "created": "创建时间", - "actions": "操作", - "new_token_title": "新 ETAPI 令牌", - "new_token_message": "请输入新的令牌名称", - "default_token_name": "新令牌", - "error_empty_name": "令牌名称不能为空", - "token_created_title": "ETAPI 令牌已创建", - "token_created_message": "将创建的令牌复制到剪贴板。Trilium 存储了令牌的哈希值,这是您最后一次看到它。", - "rename_token": "重命名此令牌", - "delete_token": "删除/停用此令牌", - "rename_token_title": "重命名令牌", - "rename_token_message": "请输入新的令牌名称", - "delete_token_confirmation": "您确定要删除 ETAPI 令牌 \"{{name}}\" 吗?" - }, - "options_widget": { - "options_status": "选项状态", - "options_change_saved": "选项更改已保存。" - }, - "password": { - "heading": "密码", - "alert_message": "请务必记住您的新密码。密码用于登录 Web 界面和加密保护的笔记。如果您忘记了密码,所有保护的笔记将永久丢失。", - "reset_link": "点击这里重置。", - "old_password": "旧密码", - "new_password": "新密码", - "new_password_confirmation": "新密码确认", - "change_password": "更改密码", - "protected_session_timeout": "受保护会话超时", - "protected_session_timeout_description": "受保护会话超时是一个时间段,超时后受保护会话会从浏览器内存中清除。这是从最后一次与受保护笔记的交互开始计时的。更多信息请见", - "wiki": "维基", - "for_more_info": "更多信息。", - "protected_session_timeout_label": "受保护的会话超时:", - "reset_confirmation": "重置密码将永久丧失对所有现受保护笔记的访问。您真的要重置密码吗?", - "reset_success_message": "密码已重置。请设置新密码", - "change_password_heading": "更改密码", - "set_password_heading": "设置密码", - "set_password": "设置密码", - "password_mismatch": "新密码不一致。", - "password_changed_success": "密码已更改。按 OK 后 Trilium 将重载。" - }, - "multi_factor_authentication": { - "title": "多因素认证(MFA)", - "description": "多因素认证(MFA)为您的账户添加了额外的安全层。除了输入密码登录外,MFA还要求您提供一个或多个额外的验证信息来验证您的身份。这样,即使有人获得了您的密码,没有第二个验证信息他们也无法访问您的账户。这就像给您的门添加了一把额外的锁,让他人更难闯入。

请按照以下说明启用 MFA。如果您配置不正确,登录将仅使用密码。", - "mfa_enabled": "启用多因素认证", - "mfa_method": "MFA 方法", - "electron_disabled": "当前桌面版本不支持多因素认证。", - "totp_title": "基于时间的一次性密码(TOTP)", - "totp_description": "TOTP(基于时间的一次性密码)是一种安全功能,它会生成一个每30秒变化的唯一临时代码。您需要使用这个代码和您的密码一起登录账户,这使得他人更难访问您的账户。", - "totp_secret_title": "生成 TOTP 密钥", - "totp_secret_generate": "生成 TOTP 密钥", - "totp_secret_regenerate": "重新生成 TOTP 密钥", - "no_totp_secret_warning": "要启用 TOTP,您需要先生成一个 TOTP 密钥。", - "totp_secret_description_warning": "生成新的 TOTP 密钥后,您需要使用新的 TOTP 密钥重新登录。", - "totp_secret_generated": "TOTP 密钥已生成", - "totp_secret_warning": "请将生成的密钥保存在安全的地方。它将不会再次显示。", - "totp_secret_regenerate_confirm": "您确定要重新生成 TOTP 密钥吗?这将使之前的 TOTP 密钥失效,并使所有现有的恢复代码失效。请将生成的密钥保存在安全的地方。它将不会再次显示。", - "recovery_keys_title": "单点登录恢复密钥", - "recovery_keys_description": "单点登录恢复密钥用于在您无法访问您的认证器代码时登录。离开页面后,恢复密钥将不会再次显示。请将它们保存在安全的地方。", - "recovery_keys_description_warning": "离开页面后,恢复密钥将不会再次显示。请将它们保存在安全的地方。
一旦恢复密钥被使用,它将无法再次使用。", - "recovery_keys_error": "生成恢复代码时出错", - "recovery_keys_no_key_set": "未设置恢复代码", - "recovery_keys_generate": "生成恢复代码", - "recovery_keys_regenerate": "重新生成恢复代码", - "recovery_keys_used": "已使用: {{date}}", - "recovery_keys_unused": "恢复代码 {{index}} 未使用", - "oauth_title": "OAuth/OpenID 认证", - "oauth_description": "OpenID 是一种标准化方式,允许您使用其他服务(如 Google)的账号登录网站来验证您的身份。默认的身份提供者是 Google,但您可以更改为任何其他 OpenID 提供者。点击这里了解更多信息。请参阅这些 指南 通过 Google 设置 OpenID 服务。", - "oauth_description_warning": "要启用 OAuth/OpenID,您需要设置 config.ini 文件中的 OAuth/OpenID 基础 URL、客户端 ID 和客户端密钥,并重新启动应用程序。如果要从环境变量设置,请设置 TRILIUM_OAUTH_BASE_URL、TRILIUM_OAUTH_CLIENT_ID 和 TRILIUM_OAUTH_CLIENT_SECRET 环境变量。", - "oauth_missing_vars": "缺少以下设置项: {{missingVars}}", - "oauth_user_account": "用户账号:", - "oauth_user_email": "用户邮箱:", - "oauth_user_not_logged_in": "未登录!" - }, - "shortcuts": { - "keyboard_shortcuts": "快捷键", - "multiple_shortcuts": "同一操作的多个快捷键可以用逗号分隔。", - "electron_documentation": "请参阅 Electron 文档,了解可用的修饰符和键码。", - "type_text_to_filter": "输入文字以过滤快捷键...", - "action_name": "操作名称", - "shortcuts": "快捷键", - "default_shortcuts": "默认快捷键", - "description": "描述", - "reload_app": "重载应用以应用更改", - "set_all_to_default": "将所有快捷键重置为默认值", - "confirm_reset": "您确定要将所有键盘快捷键重置为默认值吗?" - }, - "spellcheck": { - "title": "拼写检查", - "description": "这些选项仅适用于桌面版本,浏览器将使用其原生的拼写检查功能。", - "enable": "启用拼写检查", - "language_code_label": "语言代码", - "language_code_placeholder": "例如 \"en-US\", \"de-AT\"", - "multiple_languages_info": "多种语言可以用逗号分隔,例如 \"en-US, de-DE, cs\"。", - "available_language_codes_label": "可用的语言代码:", - "restart-required": "拼写检查选项的更改将在应用重启后生效。" - }, - "sync_2": { - "config_title": "同步配置", - "server_address": "服务器实例地址", - "timeout": "同步超时(单位:毫秒)", - "proxy_label": "同步代理服务器(可选)", - "note": "注意", - "note_description": "代理设置留空则使用系统代理(仅桌面客户端有效)。", - "special_value_description": "另一个特殊值是 noproxy,它强制忽略系统代理并遵守 NODE_TLS_REJECT_UNAUTHORIZED。", - "save": "保存", - "help": "帮助", - "test_title": "同步测试", - "test_description": "测试和同步服务器之间的连接。如果同步服务器没有初始化,会将本地文档同步到同步服务器上。", - "test_button": "测试同步", - "handshake_failed": "同步服务器握手失败,错误:{{message}}" - }, - "api_log": { - "close": "关闭" - }, - "attachment_detail_2": { - "will_be_deleted_in": "此附件将在 {{time}} 后自动删除", - "will_be_deleted_soon": "该附件在不久后将被自动删除", - "deletion_reason": ",因为该附件未链接在笔记的内容中。为防止被删除,请将附件链接重新添加到内容中或将附件转换为笔记。", - "role_and_size": "角色:{{role}},大小:{{size}}", - "link_copied": "附件链接已复制到剪贴板。", - "unrecognized_role": "无法识别的附件角色 '{{role}}'。" - }, - "bookmark_switch": { - "bookmark": "书签", - "bookmark_this_note": "将此笔记添加到左侧面板的书签", - "remove_bookmark": "移除书签" - }, - "editability_select": { - "auto": "自动", - "read_only": "只读", - "always_editable": "始终可编辑", - "note_is_editable": "笔记如果不太长则可编辑。", - "note_is_read_only": "笔记为只读,但可以通过点击按钮进行编辑。", - "note_is_always_editable": "无论笔记长度如何,始终可编辑。" - }, - "note-map": { - "button-link-map": "链接地图", - "button-tree-map": "树形地图" - }, - "tree-context-menu": { - "open-in-a-new-tab": "在新标签页中打开 Ctrl+Click", - "open-in-a-new-split": "在新分栏中打开", - "insert-note-after": "在后面插入笔记", - "insert-child-note": "插入子笔记", - "delete": "删除", - "search-in-subtree": "在子树中搜索", - "hoist-note": "聚焦笔记", - "unhoist-note": "取消聚焦笔记", - "edit-branch-prefix": "编辑分支前缀", - "advanced": "高级", - "expand-subtree": "展开子树", - "collapse-subtree": "折叠子树", - "sort-by": "排序方式...", - "recent-changes-in-subtree": "子树中的最近更改", - "convert-to-attachment": "转换为附件", - "copy-note-path-to-clipboard": "复制笔记路径到剪贴板", - "protect-subtree": "保护子树", - "unprotect-subtree": "取消保护子树", - "copy-clone": "复制 / 克隆", - "clone-to": "克隆到...", - "cut": "剪切", - "move-to": "移动到...", - "paste-into": "粘贴到里面", - "paste-after": "粘贴到后面", - "export": "导出", - "import-into-note": "导入到笔记", - "apply-bulk-actions": "应用批量操作", - "converted-to-attachments": "{{count}} 个笔记已被转换为附件。", - "convert-to-attachment-confirm": "确定要将选中的笔记转换为其父笔记的附件吗?" - }, - "shared_info": { - "shared_publicly": "此笔记已公开分享于", - "shared_locally": "此笔记已在本地分享于", - "help_link": "访问 wiki 获取帮助。" - }, - "note_types": { - "text": "文本", - "code": "代码", - "saved-search": "保存的搜索", - "relation-map": "关系图", - "note-map": "笔记地图", - "render-note": "渲染笔记", - "book": "", - "mermaid-diagram": "Mermaid 图", - "canvas": "画布", - "web-view": "网页视图", - "mind-map": "思维导图", - "file": "文件", - "image": "图片", - "launcher": "启动器", - "doc": "文档", - "widget": "小部件", - "confirm-change": "当笔记内容不为空时,不建议更改笔记类型。您仍然要继续吗?", - "geo-map": "地理地图", - "beta-feature": "测试版", - "task-list": "待办事项列表" - }, - "protect_note": { - "toggle-on": "保护笔记", - "toggle-off": "取消保护笔记", - "toggle-on-hint": "笔记未受保护,点击以保护", - "toggle-off-hint": "笔记已受保护,点击以取消保护" - }, - "shared_switch": { - "shared": "已分享", - "toggle-on-title": "分享笔记", - "toggle-off-title": "取消分享笔记", - "shared-branch": "此笔记仅作为共享笔记存在,取消共享将删除它。您确定要继续并删除此笔记吗?", - "inherited": "此笔记无法在此处取消共享,因为它通过继承自上级笔记共享。" - }, - "template_switch": { - "template": "模板", - "toggle-on-hint": "将此笔记设为模板", - "toggle-off-hint": "取消笔记模板设置" - }, - "open-help-page": "打开帮助页面", - "find": { - "case_sensitive": "区分大小写", - "match_words": "匹配单词", - "find_placeholder": "在文本中查找...", - "replace_placeholder": "替换为...", - "replace": "替换", - "replace_all": "全部替换" - }, - "highlights_list_2": { - "title": "高亮列表", - "options": "选项" - }, - "quick-search": { - "placeholder": "快速搜索", - "searching": "正在搜索...", - "no-results": "未找到结果", - "more-results": "... 以及另外 {{number}} 个结果。", - "show-in-full-search": "在完整的搜索界面中显示" - }, - "note_tree": { - "collapse-title": "折叠笔记树", - "scroll-active-title": "滚动到活跃笔记", - "tree-settings-title": "树设置", - "hide-archived-notes": "隐藏已归档笔记", - "automatically-collapse-notes": "自动折叠笔记", - "automatically-collapse-notes-title": "笔记在一段时间内未使用将被折叠,以减少树形结构的杂乱。", - "save-changes": "保存并应用更改", - "auto-collapsing-notes-after-inactivity": "在不活跃后自动折叠笔记...", - "saved-search-note-refreshed": "已保存的搜索笔记已刷新。", - "hoist-this-note-workspace": "聚焦此笔记(工作区)", - "refresh-saved-search-results": "刷新保存的搜索结果", - "create-child-note": "创建子笔记", - "unhoist": "取消聚焦" - }, - "title_bar_buttons": { - "window-on-top": "保持此窗口置顶" - }, - "note_detail": { - "could_not_find_typewidget": "找不到类型为 '{{type}}' 的 typeWidget" - }, - "note_title": { - "placeholder": "请输入笔记标题..." - }, - "search_result": { - "no_notes_found": "没有找到符合搜索条件的笔记。", - "search_not_executed": "尚未执行搜索。请点击上方的\"搜索\"按钮查看结果。" - }, - "spacer": { - "configure_launchbar": "配置启动栏" - }, - "sql_result": { - "no_rows": "此查询没有返回任何数据" - }, - "sql_table_schemas": { - "tables": "表" - }, - "tab_row": { - "close_tab": "关闭标签页", - "add_new_tab": "添加新标签页", - "close": "关闭", - "close_other_tabs": "关闭其他标签页", - "close_right_tabs": "关闭右侧标签页", - "close_all_tabs": "关闭所有标签页", - "reopen_last_tab": "重新打开关闭的标签页", - "move_tab_to_new_window": "将此标签页移动到新窗口", - "copy_tab_to_new_window": "将此标签页复制到新窗口", - "new_tab": "新标签页" - }, - "toc": { - "table_of_contents": "目录", - "options": "选项" - }, - "watched_file_update_status": { - "file_last_modified": "文件 最后修改时间为 。", - "upload_modified_file": "上传修改的文件", - "ignore_this_change": "忽略此更改" - }, - "app_context": { - "please_wait_for_save": "请等待几秒钟以完成保存,然后您可以尝试再操作一次。" - }, - "note_create": { - "duplicated": "笔记 \"{{title}}\" 已被复制。" - }, - "image": { - "copied-to-clipboard": "图片的引用已复制到剪贴板,可以粘贴到任何文本笔记中。", - "cannot-copy": "无法将图片引用复制到剪贴板。" - }, - "clipboard": { - "cut": "笔记已剪切到剪贴板。", - "copied": "笔记已复制到剪贴板。" - }, - "entrypoints": { - "note-revision-created": "笔记修订已创建。", - "note-executed": "笔记已执行。", - "sql-error": "执行 SQL 查询时发生错误:{{message}}" - }, - "branches": { - "cannot-move-notes-here": "无法将笔记移动到这里。", - "delete-status": "删除状态", - "delete-notes-in-progress": "正在删除笔记:{{count}}", - "delete-finished-successfully": "删除成功完成。", - "undeleting-notes-in-progress": "正在恢复删除的笔记:{{count}}", - "undeleting-notes-finished-successfully": "恢复删除的笔记已成功完成。" - }, - "frontend_script_api": { - "async_warning": "您正在将一个异步函数传递给 `api.runOnBackend()`,这可能无法按预期工作。\\n要么使该函数同步(通过移除 `async` 关键字),要么使用 `api.runAsyncOnBackendWithManualTransactionHandling()`。", - "sync_warning": "您正在将一个同步函数传递给 `api.runAsyncOnBackendWithManualTransactionHandling()`,\\n而您可能应该使用 `api.runOnBackend()`。" - }, - "ws": { - "sync-check-failed": "同步检查失败!", - "consistency-checks-failed": "一致性检查失败!请查看日志了解详细信息。", - "encountered-error": "遇到错误 \"{{message}}\",请查看控制台。" - }, - "hoisted_note": { - "confirm_unhoisting": "请求的笔记 '{{requestedNote}}' 位于聚焦的笔记 '{{hoistedNote}}' 的子树之外,您必须取消聚焦才能访问该笔记。是否继续取消聚焦?" - }, - "launcher_context_menu": { - "reset_launcher_confirm": "您确定要重置 \"{{title}}\" 吗?此笔记(及其子项)中的所有数据/设置将丢失,且启动器将恢复到其原始位置。", - "add-note-launcher": "添加笔记启动器", - "add-script-launcher": "添加脚本启动器", - "add-custom-widget": "添加自定义小部件", - "add-spacer": "添加间隔", - "delete": "删除 ", - "reset": "重置", - "move-to-visible-launchers": "移动到可见启动器", - "move-to-available-launchers": "移动到可用启动器", - "duplicate-launcher": "复制启动器 " - }, - "editable-text": { - "auto-detect-language": "自动检测" - }, - "highlighting": { - "title": "代码块", - "description": "控制文本笔记中代码块的语法高亮,代码笔记不会受到影响。", - "color-scheme": "颜色方案" - }, - "code_block": { - "word_wrapping": "自动换行", - "theme_none": "无语法高亮", - "theme_group_light": "浅色主题", - "theme_group_dark": "深色主题" - }, - "classic_editor_toolbar": { - "title": "格式" - }, - "editor": { - "title": "编辑器" - }, - "editing": { - "editor_type": { - "label": "格式工具栏", - "floating": { - "title": "浮动", - "description": "编辑工具出现在光标附近;" - }, - "fixed": { - "title": "固定", - "description": "编辑工具出现在 \"格式\" 功能区标签中。" - }, - "multiline-toolbar": "如果工具栏无法完全显示,则分多行显示。" + "branch_prefix": { + "edit_branch_prefix": "编辑分支前缀", + "help_on_tree_prefix": "有关树前缀的帮助", + "close": "关闭", + "prefix": "前缀:", + "save": "保存", + "branch_prefix_saved": "分支前缀已保存。" + }, + "bulk_actions": { + "bulk_actions": "批量操作", + "close": "关闭", + "affected_notes": "受影响的笔记", + "include_descendants": "包括所选笔记的子笔记", + "available_actions": "可用操作", + "chosen_actions": "选择的操作", + "execute_bulk_actions": "执行批量操作", + "bulk_actions_executed": "批量操作已成功执行。", + "none_yet": "暂无操作 ... 通过点击上方的可用操作添加一个操作。", + "labels": "标签", + "relations": "关联关系", + "notes": "笔记", + "other": "其它" + }, + "clone_to": { + "clone_notes_to": "克隆笔记到...", + "close": "关闭", + "help_on_links": "链接帮助", + "notes_to_clone": "要克隆的笔记", + "target_parent_note": "目标父笔记", + "search_for_note_by_its_name": "按名称搜索笔记", + "cloned_note_prefix_title": "克隆的笔记将在笔记树中显示给定的前缀", + "prefix_optional": "前缀(可选)", + "clone_to_selected_note": "克隆到选定的笔记 回车", + "no_path_to_clone_to": "没有克隆路径。", + "note_cloned": "笔记 \"{{clonedTitle}}\" 已克隆到 \"{{targetTitle}}\"" + }, + "confirm": { + "confirmation": "确认", + "close": "关闭", + "cancel": "取消", + "ok": "确定", + "are_you_sure_remove_note": "确定要从关系图中移除笔记 \"{{title}}\" ?", + "if_you_dont_check": "如果不选中此项,笔记将仅从关系图中移除。", + "also_delete_note": "同时删除笔记" + }, + "delete_notes": { + "delete_notes_preview": "删除笔记预览", + "close": "关闭", + "delete_all_clones_description": "同时删除所有克隆(可以在最近修改中撤消)", + "erase_notes_description": "通常(软)删除仅标记笔记为已删除,可以在一段时间内通过最近修改对话框撤消。选中此选项将立即擦除笔记,不可撤销。", + "erase_notes_warning": "永久擦除笔记(无法撤销),包括所有克隆。这将强制应用程序重载。", + "notes_to_be_deleted": "将删除以下笔记 ({{- noteCount}})", + "no_note_to_delete": "没有笔记将被删除(仅克隆)。", + "broken_relations_to_be_deleted": "将删除以下关系并断开连接 ({{- relationCount}})", + "cancel": "取消", + "ok": "确定", + "deleted_relation_text": "笔记 {{- note}} (将被删除的笔记) 被以下关系 {{- relation}} 引用, 来自 {{- source}}。" + }, + "export": { + "export_note_title": "导出笔记", + "close": "关闭", + "export_type_subtree": "此笔记及其所有子笔记", + "format_html": "HTML - 推荐,因为它保留所有格式", + "format_html_zip": "HTML ZIP 归档 - 建议使用此选项,因为它保留了所有格式。", + "format_markdown": "Markdown - 保留大部分格式。", + "format_opml": "OPML - 大纲交换格式,仅限文本。不包括格式、图像和文件。", + "opml_version_1": "OPML v1.0 - 仅限纯文本", + "opml_version_2": "OPML v2.0 - 还允许 HTML", + "export_type_single": "仅此笔记,不包括子笔记", + "export": "导出", + "choose_export_type": "请先选择导出类型", + "export_status": "导出状态", + "export_in_progress": "导出进行中:{{progressCount}}", + "export_finished_successfully": "导出成功完成。", + "format_pdf": "PDF - 用于打印或共享目的。" + }, + "help": { + "fullDocumentation": "帮助(完整在线文档)", + "close": "关闭", + "noteNavigation": "笔记导航", + "goUpDown": "UP, DOWN - 在笔记列表中向上/向下移动", + "collapseExpand": "LEFT, RIGHT - 折叠/展开节点", + "notSet": "未设置", + "goBackForwards": "在历史记录中前后移动", + "showJumpToNoteDialog": "显示\"跳转到\" 对话框", + "scrollToActiveNote": "滚动到活跃笔记", + "jumpToParentNote": "Backspace - 跳转到父笔记", + "collapseWholeTree": "折叠整个笔记树", + "collapseSubTree": "折叠子树", + "tabShortcuts": "标签页快捷键", + "newTabNoteLink": "CTRL+click - 在笔记链接上使用CTRL+点击(或中键点击)在新标签页中打开笔记", + "onlyInDesktop": "仅在桌面版(电子构建)中", + "openEmptyTab": "打开空白标签页", + "closeActiveTab": "关闭活跃标签页", + "activateNextTab": "激活下一个标签页", + "activatePreviousTab": "激活上一个标签页", + "creatingNotes": "创建笔记", + "createNoteAfter": "在活跃笔记后创建新笔记", + "createNoteInto": "在活跃笔记中创建新子笔记", + "editBranchPrefix": "编辑活跃笔记克隆的前缀", + "movingCloningNotes": "移动/克隆笔记", + "moveNoteUpDown": "在笔记列表中向上/向下移动笔记", + "moveNoteUpHierarchy": "在层级结构中向上移动笔记", + "multiSelectNote": "多选上/下笔记", + "selectAllNotes": "选择当前级别的所有笔记", + "selectNote": "Shift+click - 选择笔记", + "copyNotes": "将活跃笔记(或当前选择)复制到剪贴板(用于克隆)", + "cutNotes": "将当前笔记(或当前选择)剪切到剪贴板(用于移动笔记)", + "pasteNotes": "将笔记粘贴为活跃笔记的子笔记(根据是复制还是剪切到剪贴板来决定是移动还是克隆)", + "deleteNotes": "删除笔记/子树", + "editingNotes": "编辑笔记", + "editNoteTitle": "在树形笔记树中,焦点会从笔记树切换到笔记标题。按下 Enter 键会将焦点从笔记标题切换到文本编辑器。按下 Ctrl+. 会将焦点从编辑器切换回笔记树。", + "createEditLink": "Ctrl+K - 创建/编辑外部链接", + "createInternalLink": "创建内部链接", + "followLink": "跟随光标下的链接", + "insertDateTime": "在插入点插入当前日期和时间", + "jumpToTreePane": "跳转到树面板并滚动到活跃笔记", + "markdownAutoformat": "类 Markdown 自动格式化", + "headings": "##, ###, #### 等,后跟空格,自动转换为标题", + "bulletList": "*- 后跟空格,自动转换为项目符号列表", + "numberedList": "1. or 1) 后跟空格,自动转换为编号列表", + "blockQuote": "一行以 > 开头并后跟空格,自动转换为块引用", + "troubleshooting": "故障排除", + "reloadFrontend": "重载 Trilium 前端", + "showDevTools": "显示开发者工具", + "showSQLConsole": "显示 SQL 控制台", + "other": "其他", + "quickSearch": "定位到快速搜索框", + "inPageSearch": "页面内搜索" + }, + "import": { + "importIntoNote": "导入到笔记", + "close": "关闭", + "chooseImportFile": "选择导入文件", + "importDescription": "所选文件的内容将作为子笔记导入到", + "options": "选项", + "safeImportTooltip": "Trilium .zip 导出文件可能包含可能有害的可执行脚本。安全导入将停用所有导入脚本的自动执行。仅当您完全信任导入的可执行脚本的内容时,才取消选中“安全导入”。", + "safeImport": "安全导入", + "explodeArchivesTooltip": "如果选中此项,则Trilium将读取.zip.enex.opml文件,并从这些归档文件内部的文件创建笔记。如果未选中,则Trilium会将这些归档文件本身附加到笔记中。", + "explodeArchives": "读取.zip.enex.opml归档文件的内容。", + "shrinkImagesTooltip": "

如果选中此选项,Trilium将尝试通过缩放和优化来缩小导入的图像,这可能会影响图像的感知质量。如果未选中,图像将不做修改地导入。

这不适用于带有元数据的.zip导入,因为这些文件已被假定为已优化。

", + "shrinkImages": "压缩图像", + "textImportedAsText": "如果元数据不明确,将 HTML、Markdown 和 TXT 导入为文本笔记", + "codeImportedAsCode": "如果元数据不明确,将识别的代码文件(例如.json)导入为代码笔记", + "replaceUnderscoresWithSpaces": "在导入的笔记名称中将下划线替换为空格", + "import": "导入", + "failed": "导入失败: {{message}}.", + "html_import_tags": { + "title": "HTML 导入标签", + "description": "配置在导入笔记时应保留的 HTML 标签。不在此列表中的标签将在导入过程中被移除。一些标签(例如 'script')为了安全性会始终被移除。", + "placeholder": "输入 HTML 标签,每行一个", + "reset_button": "重置为默认列表" + }, + "import-status": "导入状态", + "in-progress": "导入进行中:{{progress}}", + "successful": "导入成功完成。" + }, + "include_note": { + "dialog_title": "包含笔记", + "close": "关闭", + "label_note": "笔记", + "placeholder_search": "按名称搜索笔记", + "box_size_prompt": "包含笔记的框大小:", + "box_size_small": "小型 (显示大约10行)", + "box_size_medium": "中型 (显示大约30行)", + "box_size_full": "完整显示(完整文本框)", + "button_include": "包含笔记 回车" + }, + "info": { + "modalTitle": "信息消息", + "closeButton": "关闭", + "okButton": "确定" + }, + "jump_to_note": { + "close": "关闭", + "search_button": "全文搜索 Ctrl+回车" + }, + "markdown_import": { + "dialog_title": "Markdown 导入", + "close": "关闭", + "modal_body_text": "由于浏览器沙箱的限制,无法直接从 JavaScript 读取剪贴板内容。请将要导入的 Markdown 文本粘贴到下面的文本框中,然后点击导入按钮", + "import_button": "导入 Ctrl+回车", + "import_success": "Markdown 内容已成功导入文档。" + }, + "move_to": { + "dialog_title": "移动笔记到...", + "close": "关闭", + "notes_to_move": "需要移动的笔记", + "target_parent_note": "目标父笔记", + "search_placeholder": "通过名称搜索笔记", + "move_button": "移动到选定的笔记 回车", + "error_no_path": "没有可以移动到的路径。", + "move_success_message": "所选笔记已移动到" + }, + "note_type_chooser": { + "modal_title": "选择笔记类型", + "close": "关闭", + "modal_body": "选择新笔记的类型或模板:", + "templates": "模板:" + }, + "password_not_set": { + "title": "密码未设置", + "close": "关闭", + "body1": "受保护的笔记使用用户密码加密,但密码尚未设置。", + "body2": "点击这里打开选项对话框并设置您的密码。" + }, + "prompt": { + "title": "提示", + "close": "关闭", + "ok": "确定 回车", + "defaultTitle": "提示" + }, + "protected_session_password": { + "modal_title": "保护会话", + "help_title": "关于保护笔记的帮助", + "close_label": "关闭", + "form_label": "输入密码进入保护会话以继续:", + "start_button": "开始保护会话 回车" + }, + "recent_changes": { + "title": "最近修改", + "erase_notes_button": "立即清理已删除的笔记", + "close": "关闭", + "deleted_notes_message": "已删除的笔记已清理。", + "no_changes_message": "暂无修改...", + "undelete_link": "恢复删除", + "confirm_undelete": "您确定要恢复此笔记及其子笔记吗?" + }, + "revisions": { + "note_revisions": "笔记历史版本", + "delete_all_revisions": "删除此笔记的所有修订版本", + "delete_all_button": "删除所有修订版本", + "help_title": "关于笔记修订版本的帮助", + "close": "关闭", + "revision_last_edited": "此修订版本上次编辑于 {{date}}", + "confirm_delete_all": "您是否要删除此笔记的所有修订版本?", + "no_revisions": "此笔记暂无修订版本...", + "restore_button": "恢复", + "confirm_restore": "您是否要恢复此修订版本?这将使用此修订版本覆盖笔记的当前标题和内容。", + "delete_button": "删除", + "confirm_delete": "您是否要删除此修订版本?", + "revisions_deleted": "笔记修订版本已删除。", + "revision_restored": "笔记修订版本已恢复。", + "revision_deleted": "笔记修订版本已删除。", + "snapshot_interval": "笔记快照保存间隔: {{seconds}}秒。", + "maximum_revisions": "当前笔记的最大历史数量: {{number}}。", + "settings": "笔记修订设置", + "download_button": "下载", + "mime": "MIME 类型:", + "file_size": "文件大小:", + "preview": "预览:", + "preview_not_available": "无法预览此类型的笔记。" + }, + "sort_child_notes": { + "sort_children_by": "按...排序子笔记", + "close": "关闭", + "sorting_criteria": "排序条件", + "title": "标题", + "date_created": "创建日期", + "date_modified": "修改日期", + "sorting_direction": "排序方向", + "ascending": "升序", + "descending": "降序", + "folders": "文件夹", + "sort_folders_at_top": "将文件夹置顶排序", + "natural_sort": "自然排序", + "sort_with_respect_to_different_character_sorting": "根据不同语言或地区的字符排序和排序规则排序。", + "natural_sort_language": "自然排序语言", + "the_language_code_for_natural_sort": "自然排序的语言代码,例如中文的 \"zh-CN\"。", + "sort": "排序 Enter" + }, + "upload_attachments": { + "upload_attachments_to_note": "上传附件到笔记", + "close": "关闭", + "choose_files": "选择文件", + "files_will_be_uploaded": "文件将作为附件上传到", + "options": "选项", + "shrink_images": "缩小图片", + "upload": "上传", + "tooltip": "如果您勾选此选项,Trilium 将尝试通过缩放和优化来缩小上传的图像,这可能会影响感知的图像质量。如果未选中,则将以不进行修改的方式上传图像。" + }, + "attribute_detail": { + "attr_detail_title": "属性详情标题", + "close_button_title": "取消修改并关闭", + "attr_is_owned_by": "属性所有者", + "attr_name_title": "属性名称只能由字母数字字符、冒号和下划线组成", + "name": "名称", + "value": "值", + "target_note_title": "关系是源笔记和目标笔记之间的命名连接。", + "target_note": "目标笔记", + "promoted_title": "升级属性在笔记上突出显示。", + "promoted": "升级", + "promoted_alias_title": "在升级属性界面中显示的名称。", + "promoted_alias": "别名", + "multiplicity_title": "多重性定义了可以创建的含有相同名称的属性的数量 - 最多为1或多于1。", + "multiplicity": "多重性", + "single_value": "单值", + "multi_value": "多值", + "label_type_title": "标签类型将帮助 Trilium 选择适合的界面来输入标签值。", + "label_type": "类型", + "text": "文本", + "number": "数字", + "boolean": "布尔值", + "date": "日期", + "date_time": "日期和时间", + "time": "时间", + "url": "网址", + "precision_title": "值设置界面中浮点数后的位数。", + "precision": "精度", + "digits": "位数", + "inverse_relation_title": "可选设置,定义此关系与哪个关系相反。例如:父 - 子是彼此的反向关系。", + "inverse_relation": "反向关系", + "inheritable_title": "可继承属性将被继承到此树下的所有后代。", + "inheritable": "可继承", + "save_and_close": "保存并关闭 Ctrl+回车", + "delete": "删除", + "related_notes_title": "含有此标签的其他笔记", + "more_notes": "更多笔记", + "label": "标签详情", + "label_definition": "标签定义详情", + "relation": "关系详情", + "relation_definition": "关系定义详情", + "disable_versioning": "禁用自动版本控制。适用于例如大型但不重要的笔记 - 例如用于脚本编写的大型JS库", + "calendar_root": "标记应用作为每日笔记的根。只应标记一个笔记。", + "archived": "含有此标签的笔记默认在搜索结果中不可见(也适用于跳转到、添加链接对话框等)。", + "exclude_from_export": "笔记(及其子树)不会包含在任何笔记导出中", + "run": "定义脚本应运行的事件。可能的值包括:\n
    \n
  • frontendStartup - Trilium前端启动时(或刷新时),但不会在移动端执行。
  • \n
  • mobileStartup - Trilium前端启动时(或刷新时), 在移动端会执行。
  • \n
  • backendStartup - Trilium后端启动时
  • \n
  • hourly - 每小时运行一次。您可以使用附加标签runAtHour指定小时。
  • \n
  • daily - 每天运行一次
  • \n
", + "run_on_instance": "定义应在哪个Trilium实例上运行。默认为所有实例。", + "run_at_hour": "应在哪个小时运行。应与#run=hourly一起使用。可以多次定义,以便一天内运行多次。", + "disable_inclusion": "含有此标签的脚本不会包含在父脚本执行中。", + "sorted": "按标题字母顺序保持子笔记排序", + "sort_direction": "ASC(默认)或DESC", + "sort_folders_first": "文件夹(含有子笔记的笔记)应排在顶部", + "top": "在其父级中保留给定笔记在顶部(仅适用于排序的父级)", + "hide_promoted_attributes": "隐藏此笔记上的升级属性", + "read_only": "编辑器处于只读模式。仅适用于文本和代码笔记。", + "auto_read_only_disabled": "文本/代码笔记可以在太大时自动设置为只读模式。您可以通过向笔记添加此标签来对单个笔记单独设置禁用只读。", + "app_css": "标记加载到 Trilium 应用程序中的 CSS 笔记,因此可以用于修改 Trilium 的外观。", + "app_theme": "标记为完整的 Trilium 主题的 CSS 笔记,因此可以在 Trilium 选项中使用。", + "app_theme_base": "设置为“next”,以便使用 TriliumNext 主题而不是旧主题作为自定义主题的基础。", + "css_class": "该标签的值将作为 CSS 类添加到树中表示给定笔记的节点。这对于高级主题设置非常有用。可用于模板笔记。", + "icon_class": "该标签的值将作为 CSS 类添加到树中图标上,有助于从视觉上区分笔记树里的笔记。比如可以是 bx bx-home - 图标来自 boxicons。可用于模板笔记。", + "page_size": "笔记列表中每页的项目数", + "custom_request_handler": "请参阅自定义请求处理程序", + "custom_resource_provider": "请参阅自定义请求处理程序", + "widget": "将此笔记标记为将添加到 Trilium 组件树中的自定义小部件", + "workspace": "将此笔记标记为允许轻松聚焦的工作区", + "workspace_icon_class": "定义在选项卡中聚焦到此笔记时将使用的框图图标 CSS 类", + "workspace_tab_background_color": "聚焦到此笔记时在笔记标签页中使用的 CSS 颜色", + "workspace_calendar_root": "定义每个工作区的日历根", + "workspace_template": "在创建新笔记时,此笔记将出现在可用模板的选择中,但仅当聚焦到包含此模板的工作区时", + "search_home": "新的搜索笔记将作为此笔记的子笔记创建", + "workspace_search_home": "当聚焦到此工作区笔记的某个上级笔记时,新的搜索笔记将作为此笔记的子笔记创建", + "inbox": "使用侧边栏中的“新建笔记”按钮创建笔记时,默认收件箱位置。笔记将作为标有 #inbox 标签的笔记的子笔记创建。", + "workspace_inbox": "当聚焦到此工作区笔记的某个上级笔记时,新的笔记的默认收件箱位置", + "sql_console_home": "SQL 控制台笔记的默认位置", + "bookmark_folder": "含有此标签的笔记将作为文件夹出现在书签中(允许访问其子笔记)", + "share_hidden_from_tree": "此笔记从左侧导航树中隐藏,但仍可通过其 URL 访问", + "share_external_link": "笔记将在分享树中作为指向外部网站的链接", + "share_alias": "使用此别名定义将在 https://您的trilium域名/share/[别名] 下可用的笔记", + "share_omit_default_css": "将省略默认的分享页面 CSS。当您进行广泛的样式修改时使用。", + "share_root": "标记作为在 /share 地址分享的根节点笔记。", + "share_description": "定义要添加到 HTML meta 标签以供描述的文本", + "share_raw": "笔记将以其原始格式提供,不带 HTML 包装器", + "share_disallow_robot_indexing": "将通过 X-Robots-Tag: noindex 标头禁止爬虫机器人索引此笔记", + "share_credentials": "需要凭据才能访问此分享笔记。值应以 'username:password' 格式提供。请勿忘记使其可继承以应用于子笔记/图像。", + "share_index": "含有此标签的笔记将列出所有分享笔记的根", + "display_relations": "应显示的逗号分隔关系名称。将隐藏所有其他关系。", + "hide_relations": "应隐藏的逗号分隔关系名称。将显示所有其他关系。", + "title_template": "创建为此笔记的子笔记时的默认标题。该值将作为 JavaScript 字符串评估\n 并因此可以通过注入的 nowparentNote 变量丰富动态内容。示例:\n \n
    \n
  • ${parentNote.getLabelValue('authorName')} 的文学作品
  • \n
  • ${now.format('YYYY-MM-DD HH:mm:ss')} 的日志
  • \n
\n \n 有关详细信息,请参见含有详细信息的 wikiparentNotenow 的 API 文档以获取详情。", + "template": "此笔记在创建新笔记时,将出现在可用模板的可选列表中", + "toc": "#toc#toc=show 将强制显示目录。#toc=hide 将强制隐藏它。如果标签不存在,则遵守全局设置", + "color": "定义笔记树、链接等中笔记的颜色。使用任何有效的 CSS 颜色值,如 'red' 或 #a13d5f", + "keyboard_shortcut": "定义立即跳转到此笔记的键盘快捷键。示例:'ctrl+alt+e'。需要前端重载才能生效。", + "keep_current_hoisting": "即使笔记不在当前聚焦的子树中显示,打开此链接也不会改变聚焦。", + "execute_button": "将执行当前代码笔记的按钮标题", + "execute_description": "显示与执行按钮一起显示的当前代码笔记的更长描述", + "exclude_from_note_map": "含有此标签的笔记将从笔记地图中隐藏", + "new_notes_on_top": "新笔记将创建在父笔记的顶部,而不是底部。", + "hide_highlight_widget": "隐藏高亮列表小部件", + "run_on_note_creation": "在后端创建笔记时执行。如果要为在特定子树下创建的所有笔记运行脚本,请使用此关系。在这种情况下,在子树根笔记上创建它并使其可继承。在子树中的任何深度创建新笔记都会触发脚本。", + "run_on_child_note_creation": "当创建新的子笔记时执行", + "run_on_note_title_change": "当笔记标题修改时执行(包括笔记创建)", + "run_on_note_content_change": "当笔记内容修改时执行(包括笔记创建)。", + "run_on_note_change": "当笔记修改时执行(包括笔记创建)。不包括内容修改", + "run_on_note_deletion": "在删除笔记时执行", + "run_on_branch_creation": "在创建分支时执行。分支是父笔记和子笔记之间的链接,并且在克隆或移动笔记时创建。", + "run_on_branch_change": "在分支更新时执行。", + "run_on_branch_deletion": "在删除分支时执行。分支是父笔记和子笔记之间的链接,例如在移动笔记时删除(删除旧的分支/链接)。", + "run_on_attribute_creation": "在为定义此关系的笔记创建新属性时执行", + "run_on_attribute_change": "当修改定义此关系的笔记的属性时执行。删除属性时也会触发此操作。", + "relation_template": "即使没有父子关系,笔记的属性也将继承。如果空,则笔记的内容和子树将添加到实例笔记中。有关详细信息,请参见文档。", + "inherit": "即使没有父子关系,笔记的属性也将继承。有关类似概念的模板关系,请参见模板关系。请参阅文档中的属性继承。", + "render_note": "“渲染 HTML 笔记”类型的笔记将使用代码笔记(HTML 或脚本)进行呈现,因此需要指定要渲染的笔记", + "widget_relation": "此关系的目标将作为侧边栏中的小部件执行和呈现", + "share_css": "将注入分享页面的 CSS 笔记。CSS 笔记也必须位于分享子树中。可以考虑一并使用 'share_hidden_from_tree' 和 'share_omit_default_css'。", + "share_js": "将注入分享页面的 JavaScript 笔记。JS 笔记也必须位于分享子树中。可以考虑一并使用 'share_hidden_from_tree'。", + "share_template": "用作显示分享笔记的模板的嵌入式 JavaScript 笔记。如果没有,将回退到默认模板。可以考虑一并使用 'share_hidden_from_tree'。", + "share_favicon": "在分享页面中设置的 favicon 笔记。一般需要将它设置为分享和可继承。Favicon 笔记也必须位于分享子树中。可以考虑一并使用 'share_hidden_from_tree'。", + "is_owned_by_note": "由此笔记所有", + "other_notes_with_name": "其它含有 {{attributeType}} 名为 \"{{attributeName}}\" 的的笔记", + "and_more": "... 以及另外 {{count}} 个", + "print_landscape": "导出为 PDF 时,将页面方向更改为横向而不是纵向。", + "print_page_size": "导出为 PDF 时,更改页面大小。支持的值:A0A1A2A3A4A5A6LegalLetterTabloidLedger。" + }, + "attribute_editor": { + "help_text_body1": "要添加标签,只需输入例如 #rock 或者如果您还想添加值,则例如 #year = 2020", + "help_text_body2": "对于关系,请输入 ~author = @,这将显示一个自动完成列表,您可以查找所需的笔记。", + "help_text_body3": "您也可以使用右侧的 + 按钮添加标签和关系。

", + "save_attributes": "保存属性 ", + "add_a_new_attribute": "添加新属性", + "add_new_label": "添加新标签 ", + "add_new_relation": "添加新关系 ", + "add_new_label_definition": "添加新标签定义", + "add_new_relation_definition": "添加新关系定义", + "placeholder": "在此输入标签和关系" + }, + "abstract_bulk_action": { + "remove_this_search_action": "删除此搜索操作" + }, + "execute_script": { + "execute_script": "执行脚本", + "help_text": "您可以在匹配的笔记上执行简单的脚本。", + "example_1": "例如,要在笔记标题后附加字符串,请使用以下脚本:", + "example_2": "更复杂的例子,删除所有匹配的笔记属性:" + }, + "add_label": { + "add_label": "添加标签", + "label_name_placeholder": "标签名称", + "label_name_title": "允许使用字母、数字、下划线和冒号。", + "to_value": "值为", + "new_value_placeholder": "新值", + "help_text": "在所有匹配的笔记上:", + "help_text_item1": "如果笔记尚无此标签,则创建给定的标签", + "help_text_item2": "或更改现有标签的值", + "help_text_note": "您也可以在不指定值的情况下调用此方法,这种情况下,标签将分配给没有值的笔记。" + }, + "delete_label": { + "delete_label": "删除标签", + "label_name_placeholder": "标签名称", + "label_name_title": "允许使用字母、数字、下划线和冒号。" + }, + "rename_label": { + "rename_label": "重命名标签", + "rename_label_from": "重命名标签从", + "old_name_placeholder": "旧名称", + "to": "改为", + "new_name_placeholder": "新名称", + "name_title": "允许使用字母、数字、下划线和冒号。" + }, + "update_label_value": { + "update_label_value": "更新标签值", + "label_name_placeholder": "标签名称", + "label_name_title": "允许使用字母、数字、下划线和冒号。", + "to_value": "值为", + "new_value_placeholder": "新值", + "help_text": "在所有匹配的笔记上,更改现有标签的值。", + "help_text_note": "您也可以在不指定值的情况下调用此方法,这种情况下,标签将分配给没有值的笔记。" + }, + "delete_note": { + "delete_note": "删除笔记", + "delete_matched_notes": "删除匹配的笔记", + "delete_matched_notes_description": "这将删除匹配的笔记。", + "undelete_notes_instruction": "删除后,可以从“最近修改”对话框中恢复它们。", + "erase_notes_instruction": "要永久擦除笔记,您可以在删除后转到“选项”->“其他”,然后单击“立即擦除已删除的笔记”按钮。" + }, + "delete_revisions": { + "delete_note_revisions": "删除笔记修订版本", + "all_past_note_revisions": "所有匹配笔记的过去修订版本都将被删除。笔记本身将完全保留。换句话说,笔记的历史将被删除。" + }, + "move_note": { + "move_note": "移动笔记", + "to": "到", + "target_parent_note": "目标父笔记", + "on_all_matched_notes": "对于所有匹配的笔记", + "move_note_new_parent": "如果笔记只有一个父级(即旧分支被移除并创建新分支到新父级),则将笔记移动到新父级", + "clone_note_new_parent": "如果笔记有多个克隆/分支(不清楚应该移除哪个分支),则将笔记克隆到新父级", + "nothing_will_happen": "如果笔记无法移动到目标笔记(即这会创建一个树循环),则不会发生任何事情" + }, + "rename_note": { + "rename_note": "重命名笔记", + "rename_note_title_to": "重命名笔记标题为", + "new_note_title": "新笔记标题", + "click_help_icon": "点击右侧的帮助图标查看所有选项", + "evaluated_as_js_string": "给定的值被评估为 JavaScript 字符串,因此可以通过注入的 note 变量(正在重命名的笔记)丰富动态内容。 例如:", + "example_note": "Note - 所有匹配的笔记都被重命名为“Note”", + "example_new_title": "NEW: ${note.title} - 匹配的笔记标题以“NEW: ”为前缀", + "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - 匹配的笔记以笔记的创建月份-日期为前缀", + "api_docs": "有关详细信息,请参阅笔记及其dateCreatedObj / utcDateCreatedObj 属性的API文档。" + }, + "add_relation": { + "add_relation": "添加关系", + "relation_name": "关系名称", + "allowed_characters": "允许的字符为字母数字、下划线和冒号。", + "to": "到", + "target_note": "目标笔记", + "create_relation_on_all_matched_notes": "在所有匹配的笔记上创建指定的关系。" + }, + "delete_relation": { + "delete_relation": "删除关系", + "relation_name": "关系名称", + "allowed_characters": "允许的字符为字母数字、下划线和冒号。" + }, + "rename_relation": { + "rename_relation": "重命名关系", + "rename_relation_from": "重命名关系,从", + "old_name": "旧名称", + "to": "改为", + "new_name": "新名称", + "allowed_characters": "允许的字符为字母数字、下划线和冒号。" + }, + "update_relation_target": { + "update_relation": "更新关系", + "relation_name": "关系名称", + "allowed_characters": "允许的字符为字母数字、下划线和冒号。", + "to": "到", + "target_note": "目标笔记", + "on_all_matched_notes": "在所有匹配的笔记上", + "change_target_note": "或更改现有关系的目标笔记", + "update_relation_target": "更新关系目标" + }, + "attachments_actions": { + "open_externally": "用外部程序打开", + "open_externally_title": "文件将会在外部应用程序中打开,并监视其更改。然后您可以将修改后的版本上传回 Trilium。", + "open_custom": "自定义打开方式", + "open_custom_title": "文件将会在外部应用程序中打开,并监视其更改。然后您可以将修改后的版本上传回 Trilium。", + "download": "下载", + "rename_attachment": "重命名附件", + "upload_new_revision": "上传新版本", + "copy_link_to_clipboard": "复制链接到剪贴板", + "convert_attachment_into_note": "将附件转换为笔记", + "delete_attachment": "删除附件", + "upload_success": "新附件修订版本已上传。", + "upload_failed": "新附件修订版本上传失败。", + "open_externally_detail_page": "外部打开附件仅在详细页面中可用,请首先点击附件详细信息,然后重复此操作。", + "open_custom_client_only": "自定义打开附件只能通过客户端完成。", + "delete_confirm": "您确定要删除附件 '{{title}}' 吗?", + "delete_success": "附件 '{{title}}' 已被删除。", + "convert_confirm": "您确定要将附件 '{{title}}' 转换为单独的笔记吗?", + "convert_success": "附件 '{{title}}' 已转换为笔记。", + "enter_new_name": "请输入附件的新名称" + }, + "calendar": { + "mon": "一", + "tue": "二", + "wed": "三", + "thu": "四", + "fri": "五", + "sat": "六", + "sun": "日", + "cannot_find_day_note": "无法找到日记", + "cannot_find_week_note": "无法找到周记", + "january": "一月", + "febuary": "二月", + "march": "三月", + "april": "四月", + "may": "五月", + "june": "六月", + "july": "七月", + "august": "八月", + "september": "九月", + "october": "十月", + "november": "十一月", + "december": "十二月" + }, + "close_pane_button": { + "close_this_pane": "关闭此面板" + }, + "create_pane_button": { + "create_new_split": "拆分面板" + }, + "edit_button": { + "edit_this_note": "编辑此笔记" + }, + "show_toc_widget_button": { + "show_toc": "显示目录" + }, + "show_highlights_list_widget_button": { + "show_highlights_list": "显示高亮列表" + }, + "global_menu": { + "menu": "菜单", + "options": "选项", + "open_new_window": "打开新窗口", + "switch_to_mobile_version": "切换到移动版", + "switch_to_desktop_version": "切换到桌面版", + "zoom": "缩放", + "toggle_fullscreen": "切换全屏", + "zoom_out": "缩小", + "reset_zoom_level": "重置缩放级别", + "zoom_in": "放大", + "configure_launchbar": "配置启动栏", + "show_shared_notes_subtree": "显示分享笔记子树", + "advanced": "高级", + "open_dev_tools": "打开开发工具", + "open_sql_console": "打开 SQL 控制台", + "open_sql_console_history": "打开 SQL 控制台历史记录", + "open_search_history": "打开搜索历史", + "show_backend_log": "显示后台日志", + "reload_hint": "重载可以帮助解决一些视觉故障,而无需重启整个应用程序。", + "reload_frontend": "重载前端", + "show_hidden_subtree": "显示隐藏子树", + "show_help": "显示帮助", + "about": "关于 TriliumNext 笔记", + "logout": "登出", + "show-cheatsheet": "显示快捷帮助", + "toggle-zen-mode": "禅模式" + }, + "zen_mode": { + "button_exit": "退出禅模式" + }, + "sync_status": { + "unknown": "

同步状态将在下一次同步尝试开始后显示。

点击以立即触发同步。

", + "connected_with_changes": "

已连接到同步服务器。
有一些未同步的变更。

点击以触发同步。

", + "connected_no_changes": "

已连接到同步服务器。
所有变更均已同步。

点击以触发同步。

", + "disconnected_with_changes": "

连接同步服务器失败。
有一些未同步的变更。

点击以触发同步。

", + "disconnected_no_changes": "

连接同步服务器失败。
所有已知变更均已同步。

点击以触发同步。

", + "in_progress": "正在与服务器进行同步。" + }, + "left_pane_toggle": { + "show_panel": "显示面板", + "hide_panel": "隐藏面板" + }, + "move_pane_button": { + "move_left": "向左移动", + "move_right": "向右移动" + }, + "note_actions": { + "convert_into_attachment": "转换为附件", + "re_render_note": "重新渲染笔记", + "search_in_note": "在笔记中搜索", + "note_source": "笔记源代码", + "note_attachments": "笔记附件", + "open_note_externally": "用外部程序打开笔记", + "open_note_externally_title": "文件将在外部应用程序中打开,并监视其更改。然后您可以将修改后的版本上传回 Trilium。", + "open_note_custom": "使用自定义程序打开笔记", + "import_files": "导入文件", + "export_note": "导出笔记", + "delete_note": "删除笔记", + "print_note": "打印笔记", + "save_revision": "保存笔记修订", + "convert_into_attachment_failed": "笔记 '{{title}}' 转换失败。", + "convert_into_attachment_successful": "笔记 '{{title}}' 已成功转换为附件。", + "convert_into_attachment_prompt": "确定要将笔记 '{{title}}' 转换为父笔记的附件吗?", + "print_pdf": "导出为 PDF..." + }, + "onclick_button": { + "no_click_handler": "按钮组件'{{componentId}}'没有定义点击处理程序" + }, + "protected_session_status": { + "active": "受保护的会话已激活。点击退出受保护的会话。", + "inactive": "点击进入受保护的会话" + }, + "revisions_button": { + "note_revisions": "笔记修订版本" + }, + "update_available": { + "update_available": "有更新可用" + }, + "note_launcher": { + "this_launcher_doesnt_define_target_note": "此启动器未定义目标笔记。" + }, + "code_buttons": { + "execute_button_title": "执行脚本", + "trilium_api_docs_button_title": "打开 Trilium API 文档", + "save_to_note_button_title": "保存到笔记", + "opening_api_docs_message": "正在打开 API 文档...", + "sql_console_saved_message": "SQL 控制台已保存到 {{note_path}}" + }, + "copy_image_reference_button": { + "button_title": "复制图片引用到剪贴板,可粘贴到文本笔记中。" + }, + "hide_floating_buttons_button": { + "button_title": "隐藏按钮" + }, + "show_floating_buttons_button": { + "button_title": "显示按钮" + }, + "svg_export_button": { + "button_title": "导出SVG格式图片" + }, + "relation_map_buttons": { + "create_child_note_title": "创建新的子笔记并添加到关系图", + "reset_pan_zoom_title": "重置平移和缩放到初始坐标和放大倍率", + "zoom_in_title": "放大", + "zoom_out_title": "缩小" + }, + "zpetne_odkazy": { + "backlink": "{{count}} 个反链", + "backlinks": "{{count}} 个反链", + "relation": "关系" + }, + "mobile_detail_menu": { + "insert_child_note": "插入子笔记", + "delete_this_note": "删除此笔记", + "error_cannot_get_branch_id": "无法获取 notePath '{{notePath}}' 的 branchId", + "error_unrecognized_command": "无法识别的命令 {{command}}" + }, + "note_icon": { + "change_note_icon": "更改笔记图标", + "category": "类别:", + "search": "搜索:", + "reset-default": "重置为默认图标" + }, + "basic_properties": { + "note_type": "笔记类型", + "editable": "可编辑", + "basic_properties": "基本属性" + }, + "book_properties": { + "view_type": "视图类型", + "grid": "网格", + "list": "列表", + "collapse_all_notes": "折叠所有笔记", + "expand_all_children": "展开所有子项", + "collapse": "折叠", + "expand": "展开", + "invalid_view_type": "无效的查看类型 '{{type}}'", + "calendar": "日历" + }, + "edited_notes": { + "no_edited_notes_found": "今天还没有编辑过的笔记...", + "title": "编辑过的笔记", + "deleted": "(已删除)" + }, + "file_properties": { + "note_id": "笔记 ID", + "original_file_name": "原始文件名", + "file_type": "文件类型", + "file_size": "文件大小", + "download": "下载", + "open": "打开", + "upload_new_revision": "上传新修订版本", + "upload_success": "新文件修订版本已上传。", + "upload_failed": "新文件修订版本上传失败。", + "title": "文件" + }, + "image_properties": { + "original_file_name": "原始文件名", + "file_type": "文件类型", + "file_size": "文件大小", + "download": "下载", + "open": "打开", + "copy_reference_to_clipboard": "复制引用到剪贴板", + "upload_new_revision": "上传新修订版本", + "upload_success": "新图像修订版本已上传。", + "upload_failed": "新图像修订版本上传失败:{{message}}", + "title": "图像" + }, + "inherited_attribute_list": { + "title": "继承的属性", + "no_inherited_attributes": "没有继承的属性。" + }, + "note_info_widget": { + "note_id": "笔记 ID", + "created": "创建时间", + "modified": "修改时间", + "type": "类型", + "note_size": "笔记大小", + "note_size_info": "笔记大小提供了该笔记存储需求的粗略估计。它考虑了笔记的内容及其笔记修订历史的内容。", + "calculate": "计算", + "subtree_size": "(子树大小: {{size}}, 共计 {{count}} 个笔记)", + "title": "笔记信息" + }, + "note_map": { + "open_full": "展开显示", + "collapse": "折叠到正常大小", + "title": "笔记地图", + "fix-nodes": "固定节点", + "link-distance": "链接距离" + }, + "note_paths": { + "title": "笔记路径", + "clone_button": "克隆笔记到新位置...", + "intro_placed": "此笔记放置在以下路径中:", + "intro_not_placed": "此笔记尚未放入笔记树中。", + "outside_hoisted": "此路径在提升的笔记之外,您需要取消聚焦。", + "archived": "已归档", + "search": "搜索" + }, + "note_properties": { + "this_note_was_originally_taken_from": "笔记来源:", + "info": "信息" + }, + "owned_attribute_list": { + "owned_attributes": "拥有的属性" + }, + "promoted_attributes": { + "promoted_attributes": "升级属性", + "unset-field-placeholder": "未设置", + "url_placeholder": "http://www...", + "open_external_link": "打开外部链接", + "unknown_label_type": "未知的标签类型 '{{type}}'", + "unknown_attribute_type": "未知的属性类型 '{{type}}'", + "add_new_attribute": "添加新属性", + "remove_this_attribute": "移除此属性" + }, + "script_executor": { + "query": "查询", + "script": "脚本", + "execute_query": "执行查询", + "execute_script": "执行脚本" + }, + "search_definition": { + "add_search_option": "添加搜索选项:", + "search_string": "搜索字符串", + "search_script": "搜索脚本", + "ancestor": "上级笔记", + "fast_search": "快速搜索", + "fast_search_description": "快速搜索选项禁用笔记内容的全文搜索,这可能会加速大数据库中的搜索。", + "include_archived": "包含归档", + "include_archived_notes_description": "归档的笔记默认不包含在搜索结果中,使用此选项将包含它们。", + "order_by": "排序方式", + "limit": "限制", + "limit_description": "限制结果数量", + "debug": "调试", + "debug_description": "调试将打印额外的调试信息到控制台,以帮助调试复杂查询", + "action": "操作", + "search_button": "搜索 回车", + "search_execute": "搜索并执行操作", + "save_to_note": "保存到笔记", + "search_parameters": "搜索参数", + "unknown_search_option": "未知的搜索选项 {{searchOptionName}}", + "search_note_saved": "搜索笔记已保存到 {{- notePathTitle}}", + "actions_executed": "操作已执行。" + }, + "similar_notes": { + "title": "相似笔记", + "no_similar_notes_found": "未找到相似的笔记。" + }, + "abstract_search_option": { + "remove_this_search_option": "删除此搜索选项", + "failed_rendering": "渲染搜索选项失败:{{dto}},错误信息:{{error}},堆栈:{{stack}}" + }, + "ancestor": { + "label": "上级笔记", + "placeholder": "按名称搜索笔记", + "depth_label": "深度", + "depth_doesnt_matter": "任意", + "depth_eq": "正好是 {{count}}", + "direct_children": "直接子代", + "depth_gt": "大于 {{count}}", + "depth_lt": "小于 {{count}}" + }, + "debug": { + "debug": "调试", + "debug_info": "调试将打印额外的调试信息到控制台,以帮助调试复杂的查询。", + "access_info": "要访问调试信息,请执行查询并点击左上角的“显示后端日志”。" + }, + "fast_search": { + "fast_search": "快速搜索", + "description": "快速搜索选项禁用笔记内容的全文搜索,这可能会加快在大型数据库中的搜索速度。" + }, + "include_archived_notes": { + "include_archived_notes": "包括已归档的笔记" + }, + "limit": { + "limit": "限制", + "take_first_x_results": "仅取前 X 个指定结果。" + }, + "order_by": { + "order_by": "排序依据", + "relevancy": "相关性(默认)", + "title": "标题", + "date_created": "创建日期", + "date_modified": "最后修改日期", + "content_size": "笔记内容大小", + "content_and_attachments_size": "笔记内容大小(包括附件)", + "content_and_attachments_and_revisions_size": "笔记内容大小(包括附件和笔记修订历史)", + "revision_count": "修订版本数量", + "children_count": "子笔记数量", + "parent_count": "克隆数量", + "owned_label_count": "标签数量", + "owned_relation_count": "关系数量", + "target_relation_count": "指向笔记的关系数量", + "random": "随机顺序", + "asc": "升序(默认)", + "desc": "降序" + }, + "search_script": { + "title": "搜索脚本:", + "placeholder": "按名称搜索笔记", + "description1": "搜索脚本允许通过运行脚本来定义搜索结果。这在标准搜索不足时提供了最大的灵活性。", + "description2": "搜索脚本必须是类型为“代码”和子类型为“JavaScript 后端”。脚本需要返回一个 noteIds 或 notes 数组。", + "example_title": "请看这个例子:", + "example_code": "// 1. 使用标准搜索进行预过滤\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. 应用自定义搜索条件\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", + "note": "注意,搜索脚本和搜索字符串不能相互结合使用。" + }, + "search_string": { + "title_column": "搜索字符串:", + "placeholder": "全文关键词,#标签 = 值 ...", + "search_syntax": "搜索语法", + "also_see": "另见", + "complete_help": "完整的搜索语法帮助", + "full_text_search": "只需输入任何文本进行全文搜索", + "label_abc": "返回带有标签 abc 的笔记", + "label_year": "匹配带有标签年份且值为 2019 的笔记", + "label_rock_pop": "匹配同时具有 rock 和 pop 标签的笔记", + "label_rock_or_pop": "只需一个标签存在即可", + "label_year_comparison": "数字比较(也包括>,>=,<)。", + "label_date_created": "上个月创建的笔记", + "error": "搜索错误:{{error}}", + "search_prefix": "搜索:" + }, + "attachment_detail": { + "open_help_page": "打开附件帮助页面", + "owning_note": "所属笔记:", + "you_can_also_open": ",您还可以打开", + "list_of_all_attachments": "所有附件列表", + "attachment_deleted": "该附件已被删除。" + }, + "attachment_list": { + "open_help_page": "打开附件帮助页面", + "owning_note": "所属笔记:", + "upload_attachments": "上传附件", + "no_attachments": "此笔记没有附件。" + }, + "book": { + "no_children_help": "此类型为书籍的笔记没有任何子笔记,因此没有内容显示。请参阅 wiki 了解详情" + }, + "editable_code": { + "placeholder": "在这里输入您的代码笔记内容..." + }, + "editable_text": { + "placeholder": "在这里输入您的笔记内容..." + }, + "empty": { + "open_note_instruction": "通过在下面的输入框中输入笔记标题或在树中选择笔记来打开笔记。", + "search_placeholder": "按名称搜索笔记", + "enter_workspace": "进入工作区 {{title}}" + }, + "file": { + "file_preview_not_available": "此文件格式不支持预览。", + "too_big": "预览仅显示文件的前 {{maxNumChars}} 个字符以提高性能。下载文件并在外部打开以查看完整内容。" + }, + "protected_session": { + "enter_password_instruction": "显示受保护的笔记需要输入您的密码:", + "start_session_button": "开始受保护的会话", + "started": "受保护的会话已启动。", + "wrong_password": "密码错误。", + "protecting-finished-successfully": "保护操作已成功完成。", + "unprotecting-finished-successfully": "解除保护操作已成功完成。", + "protecting-in-progress": "保护进行中:{{count}}", + "unprotecting-in-progress-count": "解除保护进行中:{{count}}", + "protecting-title": "保护状态", + "unprotecting-title": "解除保护状态" + }, + "relation_map": { + "open_in_new_tab": "在新标签页中打开", + "remove_note": "删除笔记", + "edit_title": "编辑标题", + "rename_note": "重命名笔记", + "enter_new_title": "输入新的笔记标题:", + "remove_relation": "删除关系", + "confirm_remove_relation": "您确定要删除这个关系吗?", + "specify_new_relation_name": "指定新的关系名称(允许的字符:字母数字、冒号和下划线):", + "connection_exists": "笔记之间的连接 '{{name}}' 已经存在。", + "start_dragging_relations": "从这里开始拖动关系,并将其放置到另一个笔记上。", + "note_not_found": "笔记 {{noteId}} 未找到!", + "cannot_match_transform": "无法匹配变换:{{transform}}", + "note_already_in_diagram": "笔记 \"{{title}}\" 已经在图中。", + "enter_title_of_new_note": "输入新笔记的标题", + "default_new_note_title": "新笔记", + "click_on_canvas_to_place_new_note": "点击画布以放置新笔记" + }, + "render": { + "note_detail_render_help_1": "之所以显示此帮助说明,是因为这个类型为渲染 HTML 的笔记没有正常工作所需的关系。", + "note_detail_render_help_2": "渲染 HTML 笔记类型用于编写脚本。简而言之,您有一份 HTML 代码笔记(可包含一些 JavaScript),然后这个笔记会把页面渲染出来。要使其正常工作,您需要定义一个名为 \"renderNote\" 的关系指向要渲染的 HTML 笔记。" + }, + "web_view": { + "web_view": "网页视图", + "embed_websites": "网页视图类型的笔记允许您将网站嵌入到 Trilium 中。", + "create_label": "首先,请创建一个带有您要嵌入的 URL 地址的标签,例如 #webViewSrc=\"https://www.bing.com\"" + }, + "backend_log": { + "refresh": "刷新" + }, + "consistency_checks": { + "title": "检查一致性", + "find_and_fix_button": "查找并修复一致性问题", + "finding_and_fixing_message": "正在查找并修复一致性问题...", + "issues_fixed_message": "一致性问题应该已被修复。" + }, + "database_anonymization": { + "title": "数据库匿名化", + "full_anonymization": "完全匿名化", + "full_anonymization_description": "此操作将创建一个新的数据库副本并进行匿名化处理(删除所有笔记内容,仅保留结构和一些非敏感元数据),用来分享到网上做调试而不用担心泄漏您的个人资料。", + "save_fully_anonymized_database": "保存完全匿名化的数据库", + "light_anonymization": "轻度匿名化", + "light_anonymization_description": "此操作将创建一个新的数据库副本,并对其进行轻度匿名化处理——仅删除所有笔记的内容,但保留标题和属性。此外,自定义 JS 前端/后端脚本笔记和自定义小部件将保留。这提供了更多上下文以调试问题。", + "choose_anonymization": "您可以自行决定是提供完全匿名化还是轻度匿名化的数据库。即使是完全匿名化的数据库也非常有用,但在某些情况下,轻度匿名化的数据库可以加快错误识别和修复的过程。", + "save_lightly_anonymized_database": "保存轻度匿名化的数据库", + "existing_anonymized_databases": "现有的匿名化数据库", + "creating_fully_anonymized_database": "正在创建完全匿名化的数据库...", + "creating_lightly_anonymized_database": "正在创建轻度匿名化的数据库...", + "error_creating_anonymized_database": "无法创建匿名化数据库,请检查后端日志以获取详细信息", + "successfully_created_fully_anonymized_database": "成功创建完全匿名化的数据库,路径为 {{anonymizedFilePath}}", + "successfully_created_lightly_anonymized_database": "成功创建轻度匿名化的数据库,路径为 {{anonymizedFilePath}}", + "no_anonymized_database_yet": "尚无匿名化数据库" + }, + "database_integrity_check": { + "title": "数据库完整性检查", + "description": "检查 SQLite 数据库是否损坏。根据数据库的大小,可能会需要一些时间。", + "check_button": "检查数据库完整性", + "checking_integrity": "正在检查数据库完整性...", + "integrity_check_succeeded": "完整性检查成功 - 未发现问题。", + "integrity_check_failed": "完整性检查失败: {{results}}" + }, + "sync": { + "title": "同步", + "force_full_sync_button": "强制全量同步", + "fill_entity_changes_button": "填充实体变更记录", + "full_sync_triggered": "全量同步已触发", + "filling_entity_changes": "正在填充实体变更行...", + "sync_rows_filled_successfully": "同步行填充成功", + "finished-successfully": "同步已完成。", + "failed": "同步失败:{{message}}" + }, + "vacuum_database": { + "title": "数据库清理", + "description": "这会重建数据库,通常会减少占用空间,不会删除数据。", + "button_text": "清理数据库", + "vacuuming_database": "正在清理数据库...", + "database_vacuumed": "数据库已清理" + }, + "fonts": { + "theme_defined": "跟随主题", + "fonts": "字体", + "main_font": "主字体", + "font_family": "字体系列", + "size": "大小", + "note_tree_font": "笔记树字体", + "note_detail_font": "笔记详情字体", + "monospace_font": "等宽(代码)字体", + "note_tree_and_detail_font_sizing": "请注意,笔记树字体和详细字体的大小相对于主字体大小设置。", + "not_all_fonts_available": "并非所有列出的字体都可能在您的系统上可用。", + "apply_font_changes": "要应用字体更改,请点击", + "reload_frontend": "重载前端", + "generic-fonts": "通用字体", + "sans-serif-system-fonts": "无衬线系统字体", + "serif-system-fonts": "衬线系统字体", + "monospace-system-fonts": "等宽系统字体", + "handwriting-system-fonts": "手写系统字体", + "serif": "衬线", + "sans-serif": "无衬线", + "monospace": "等宽", + "system-default": "系统默认" + }, + "max_content_width": { + "title": "内容宽度", + "default_description": "Trilium默认会限制内容的最大宽度以提高在宽屏中全屏时的可读性。", + "max_width_label": "内容最大宽度(像素)", + "apply_changes_description": "要应用内容宽度更改,请点击", + "reload_button": "重载前端", + "reload_description": "来自外观选项的更改" + }, + "native_title_bar": { + "title": "原生标题栏(需要重新启动应用)", + "enabled": "启用", + "disabled": "禁用" + }, + "ribbon": { + "widgets": "功能选项组件", + "promoted_attributes_message": "如果笔记中存在升级属性,则自动打开升级属性功能区标签页", + "edited_notes_message": "日记笔记自动打开编辑过的笔记功能区标签页" + }, + "theme": { + "title": "主题", + "theme_label": "主题", + "override_theme_fonts_label": "覆盖主题字体", + "auto_theme": "自动", + "light_theme": "浅色", + "dark_theme": "深色", + "triliumnext": "TriliumNext Beta(跟随系统颜色方案)", + "triliumnext-light": "TriliumNext Beta(浅色)", + "triliumnext-dark": "TriliumNext Beta(深色)", + "layout": "布局", + "layout-vertical-title": "垂直", + "layout-horizontal-title": "水平", + "layout-vertical-description": "启动栏位于左侧(默认)", + "layout-horizontal-description": "启动栏位于标签页栏下方,标签页栏现在是全宽的。" + }, + "zoom_factor": { + "title": "缩放系数(仅桌面客户端有效)", + "description": "缩放也可以通过 CTRL+- 和 CTRL+= 快捷键进行控制。" + }, + "code_auto_read_only_size": { + "title": "自动只读大小", + "description": "自动只读大小是指笔记超过设置的大小后自动设置为只读模式(为性能考虑)。", + "label": "自动只读大小(代码笔记)" + }, + "code_mime_types": { + "title": "下拉菜单可用的MIME文件类型" + }, + "vim_key_bindings": { + "use_vim_keybindings_in_code_notes": "Vim 快捷键", + "enable_vim_keybindings": "在代码笔记中启用 Vim 快捷键(不包含 ex 模式)" + }, + "wrap_lines": { + "wrap_lines_in_code_notes": "代码笔记自动换行", + "enable_line_wrap": "启用自动换行(需要重载前端才会生效)" + }, + "images": { + "images_section_title": "图片", + "download_images_automatically": "自动下载图片以供离线使用。", + "download_images_description": "粘贴的 HTML 可能包含在线图片的引用,Trilium 会找到这些引用并下载图片,以便它们可以离线使用。", + "enable_image_compression": "启用图片压缩", + "max_image_dimensions": "图片的最大宽度/高度(超过此限制的图像将会被缩放)。", + "jpeg_quality_description": "JPEG 质量(10 - 最差质量,100 最佳质量,建议为 50 - 85)" + }, + "attachment_erasure_timeout": { + "attachment_erasure_timeout": "附件清理超时", + "attachment_auto_deletion_description": "如果附件在一段时间后不再被笔记引用,它们将自动被删除(并被清理)。", + "erase_attachments_after": "在此时间后删除未使用的附件:", + "manual_erasing_description": "您还可以手动触发清理(而不考虑上述定义的超时时间):", + "erase_unused_attachments_now": "立即清理未使用的附件笔记", + "unused_attachments_erased": "未使用的附件已被删除。" + }, + "network_connections": { + "network_connections_title": "网络连接", + "check_for_updates": "自动检查更新" + }, + "note_erasure_timeout": { + "note_erasure_timeout_title": "笔记清理超时", + "note_erasure_description": "被删除的笔记(以及属性、修订历史等)最初仅被标记为“删除”,可以从“最近修改”对话框中恢复它们。经过一段时间后,已删除的笔记会被“清理”,这意味着它们的内容将无法恢复。此设置允许您配置从删除到清除笔记之间的时间长度。", + "erase_notes_after": "在此时间后删除笔记:", + "manual_erasing_description": "您还可以手动触发清理(不考虑上述定义的超时):", + "erase_deleted_notes_now": "立即清理已删除的笔记", + "deleted_notes_erased": "已删除的笔记已被清理。" + }, + "revisions_snapshot_interval": { + "note_revisions_snapshot_interval_title": "笔记修订快照间隔", + "note_revisions_snapshot_description": "笔记修订快照间隔是创建新笔记修订的时间。有关更多信息,请参见 wiki。", + "snapshot_time_interval_label": "笔记修订快照时间间隔:" + }, + "revisions_snapshot_limit": { + "note_revisions_snapshot_limit_title": "笔记修订快照限制", + "note_revisions_snapshot_limit_description": "笔记修订快照数限制指的是每个笔记可以保存的最大历史记录数量。其中 -1 表示没有限制,0 表示删除所有历史记录。您可以通过 #versioningLimit 标签设置单个笔记的最大修订记录数量。", + "snapshot_number_limit_label": "笔记修订快照数量限制:", + "erase_excess_revision_snapshots": "立即删除多余的修订快照", + "erase_excess_revision_snapshots_prompt": "多余的修订快照已被删除。" + }, + "search_engine": { + "title": "搜索引擎", + "custom_search_engine_info": "自定义搜索引擎需要设置名称和 URL。如果这两者之一未设置,将默认使用 DuckDuckGo 作为搜索引擎。", + "predefined_templates_label": "预定义搜索引擎模板", + "bing": "必应", + "baidu": "百度", + "duckduckgo": "DuckDuckGo", + "google": "谷歌", + "custom_name_label": "自定义搜索引擎名称", + "custom_name_placeholder": "自定义搜索引擎名称", + "custom_url_label": "自定义搜索引擎 URL 应包含 {keyword} 作为搜索词的占位符。", + "custom_url_placeholder": "自定义搜索引擎 URL", + "save_button": "保存" + }, + "tray": { + "title": "系统托盘", + "enable_tray": "启用托盘图标(需要重启 Trilium 以生效)" + }, + "heading_style": { + "title": "标题风格", + "plain": "纯文本", + "underline": "下划线", + "markdown": "Markdown 风格" + }, + "highlights_list": { + "title": "高亮列表", + "description": "您可以自定义右侧面板中显示的高亮列表:", + "bold": "粗体", + "italic": "斜体", + "underline": "下划线", + "color": "字体颜色", + "bg_color": "背景颜色", + "visibility_title": "高亮列表可见性", + "visibility_description": "您可以通过添加 #hideHighlightWidget 标签来隐藏单个笔记的高亮小部件。", + "shortcut_info": "您可以在选项 -> 快捷键中为快速切换右侧面板(包括高亮列表)配置键盘快捷键(名称为 'toggleRightPane')。" + }, + "table_of_contents": { + "title": "目录", + "description": "当笔记中有超过一定数量的标题时,显示目录。您可以自定义此数量:", + "disable_info": "您可以设置一个非常大的数来禁用目录。", + "shortcut_info": "您可以在 “选项” -> “快捷键” 中配置一个键盘快捷键,以便快速切换右侧面板(包括目录)(名称为 'toggleRightPane')。" + }, + "text_auto_read_only_size": { + "title": "自动只读大小", + "description": "自动只读笔记大小是超过该大小后,笔记将以只读模式显示(出于性能考虑)。", + "label": "自动只读大小(文本笔记)" + }, + "i18n": { + "title": "本地化", + "language": "语言", + "first-day-of-the-week": "一周的第一天", + "sunday": "周日", + "monday": "周一", + "first-week-of-the-year": "一年的第一周", + "first-week-contains-first-day": "第一周包含一年的第一天", + "first-week-contains-first-thursday": "第一周包含一年的第一个周四", + "first-week-has-minimum-days": "第一周有最小天数", + "min-days-in-first-week": "第一周的最小天数", + "first-week-info": "第一周包含一年的第一个周四,基于 ISO 8601 标准。", + "first-week-warning": "更改第一周选项可能会导致与现有周笔记重复,已创建的周笔记将不会相应更新。", + "formatting-locale": "日期和数字格式" + }, + "backup": { + "automatic_backup": "自动备份", + "automatic_backup_description": "Trilium 可以自动备份数据库:", + "enable_daily_backup": "启用每日备份", + "enable_weekly_backup": "启用每周备份", + "enable_monthly_backup": "启用每月备份", + "backup_recommendation": "建议打开备份功能,但这可能会使大型数据库和/或慢速存储设备的应用程序启动变慢。", + "backup_now": "立即备份", + "backup_database_now": "立即备份数据库", + "existing_backups": "现有备份", + "date-and-time": "日期和时间", + "path": "路径", + "database_backed_up_to": "数据库已备份到 {{backupFilePath}}", + "no_backup_yet": "尚无备份" + }, + "etapi": { + "title": "ETAPI", + "description": "ETAPI 是一个 REST API,用于以编程方式访问 Trilium 实例,而无需 UI。", + "see_more": "有关更多详细信息,请参见 {{- link_to_wiki}} 和 {{- link_to_openapi_spec}} 或 {{- link_to_swagger_ui}}。", + "wiki": "维基", + "openapi_spec": "ETAPI OpenAPI 规范", + "swagger_ui": "ETAPI Swagger UI", + "create_token": "创建新的 ETAPI 令牌", + "existing_tokens": "现有令牌", + "no_tokens_yet": "目前还没有令牌。点击上面的按钮创建一个。", + "token_name": "令牌名称", + "created": "创建时间", + "actions": "操作", + "new_token_title": "新 ETAPI 令牌", + "new_token_message": "请输入新的令牌名称", + "default_token_name": "新令牌", + "error_empty_name": "令牌名称不能为空", + "token_created_title": "ETAPI 令牌已创建", + "token_created_message": "将创建的令牌复制到剪贴板。Trilium 存储了令牌的哈希值,这是您最后一次看到它。", + "rename_token": "重命名此令牌", + "delete_token": "删除/停用此令牌", + "rename_token_title": "重命名令牌", + "rename_token_message": "请输入新的令牌名称", + "delete_token_confirmation": "您确定要删除 ETAPI 令牌 \"{{name}}\" 吗?" + }, + "options_widget": { + "options_status": "选项状态", + "options_change_saved": "选项更改已保存。" + }, + "password": { + "heading": "密码", + "alert_message": "请务必记住您的新密码。密码用于登录 Web 界面和加密保护的笔记。如果您忘记了密码,所有保护的笔记将永久丢失。", + "reset_link": "点击这里重置。", + "old_password": "旧密码", + "new_password": "新密码", + "new_password_confirmation": "新密码确认", + "change_password": "更改密码", + "protected_session_timeout": "受保护会话超时", + "protected_session_timeout_description": "受保护会话超时是一个时间段,超时后受保护会话会从浏览器内存中清除。这是从最后一次与受保护笔记的交互开始计时的。更多信息请见", + "wiki": "维基", + "for_more_info": "更多信息。", + "protected_session_timeout_label": "受保护的会话超时:", + "reset_confirmation": "重置密码将永久丧失对所有现受保护笔记的访问。您真的要重置密码吗?", + "reset_success_message": "密码已重置。请设置新密码", + "change_password_heading": "更改密码", + "set_password_heading": "设置密码", + "set_password": "设置密码", + "password_mismatch": "新密码不一致。", + "password_changed_success": "密码已更改。按 OK 后 Trilium 将重载。" + }, + "multi_factor_authentication": { + "title": "多因素认证(MFA)", + "description": "多因素认证(MFA)为您的账户添加了额外的安全层。除了输入密码登录外,MFA还要求您提供一个或多个额外的验证信息来验证您的身份。这样,即使有人获得了您的密码,没有第二个验证信息他们也无法访问您的账户。这就像给您的门添加了一把额外的锁,让他人更难闯入。

请按照以下说明启用 MFA。如果您配置不正确,登录将仅使用密码。", + "mfa_enabled": "启用多因素认证", + "mfa_method": "MFA 方法", + "electron_disabled": "当前桌面版本不支持多因素认证。", + "totp_title": "基于时间的一次性密码(TOTP)", + "totp_description": "TOTP(基于时间的一次性密码)是一种安全功能,它会生成一个每30秒变化的唯一临时代码。您需要使用这个代码和您的密码一起登录账户,这使得他人更难访问您的账户。", + "totp_secret_title": "生成 TOTP 密钥", + "totp_secret_generate": "生成 TOTP 密钥", + "totp_secret_regenerate": "重新生成 TOTP 密钥", + "no_totp_secret_warning": "要启用 TOTP,您需要先生成一个 TOTP 密钥。", + "totp_secret_description_warning": "生成新的 TOTP 密钥后,您需要使用新的 TOTP 密钥重新登录。", + "totp_secret_generated": "TOTP 密钥已生成", + "totp_secret_warning": "请将生成的密钥保存在安全的地方。它将不会再次显示。", + "totp_secret_regenerate_confirm": "您确定要重新生成 TOTP 密钥吗?这将使之前的 TOTP 密钥失效,并使所有现有的恢复代码失效。请将生成的密钥保存在安全的地方。它将不会再次显示。", + "recovery_keys_title": "单点登录恢复密钥", + "recovery_keys_description": "单点登录恢复密钥用于在您无法访问您的认证器代码时登录。离开页面后,恢复密钥将不会再次显示。请将它们保存在安全的地方。", + "recovery_keys_description_warning": "离开页面后,恢复密钥将不会再次显示。请将它们保存在安全的地方。
一旦恢复密钥被使用,它将无法再次使用。", + "recovery_keys_error": "生成恢复代码时出错", + "recovery_keys_no_key_set": "未设置恢复代码", + "recovery_keys_generate": "生成恢复代码", + "recovery_keys_regenerate": "重新生成恢复代码", + "recovery_keys_used": "已使用: {{date}}", + "recovery_keys_unused": "恢复代码 {{index}} 未使用", + "oauth_title": "OAuth/OpenID 认证", + "oauth_description": "OpenID 是一种标准化方式,允许您使用其他服务(如 Google)的账号登录网站来验证您的身份。默认的身份提供者是 Google,但您可以更改为任何其他 OpenID 提供者。点击这里了解更多信息。请参阅这些 指南 通过 Google 设置 OpenID 服务。", + "oauth_description_warning": "要启用 OAuth/OpenID,您需要设置 config.ini 文件中的 OAuth/OpenID 基础 URL、客户端 ID 和客户端密钥,并重新启动应用程序。如果要从环境变量设置,请设置 TRILIUM_OAUTH_BASE_URL、TRILIUM_OAUTH_CLIENT_ID 和 TRILIUM_OAUTH_CLIENT_SECRET 环境变量。", + "oauth_missing_vars": "缺少以下设置项: {{missingVars}}", + "oauth_user_account": "用户账号:", + "oauth_user_email": "用户邮箱:", + "oauth_user_not_logged_in": "未登录!" + }, + "shortcuts": { + "keyboard_shortcuts": "快捷键", + "multiple_shortcuts": "同一操作的多个快捷键可以用逗号分隔。", + "electron_documentation": "请参阅 Electron 文档,了解可用的修饰符和键码。", + "type_text_to_filter": "输入文字以过滤快捷键...", + "action_name": "操作名称", + "shortcuts": "快捷键", + "default_shortcuts": "默认快捷键", + "description": "描述", + "reload_app": "重载应用以应用更改", + "set_all_to_default": "将所有快捷键重置为默认值", + "confirm_reset": "您确定要将所有键盘快捷键重置为默认值吗?" + }, + "spellcheck": { + "title": "拼写检查", + "description": "这些选项仅适用于桌面版本,浏览器将使用其原生的拼写检查功能。", + "enable": "启用拼写检查", + "language_code_label": "语言代码", + "language_code_placeholder": "例如 \"en-US\", \"de-AT\"", + "multiple_languages_info": "多种语言可以用逗号分隔,例如 \"en-US, de-DE, cs\"。", + "available_language_codes_label": "可用的语言代码:", + "restart-required": "拼写检查选项的更改将在应用重启后生效。" + }, + "sync_2": { + "config_title": "同步配置", + "server_address": "服务器实例地址", + "timeout": "同步超时(单位:毫秒)", + "proxy_label": "同步代理服务器(可选)", + "note": "注意", + "note_description": "代理设置留空则使用系统代理(仅桌面客户端有效)。", + "special_value_description": "另一个特殊值是 noproxy,它强制忽略系统代理并遵守 NODE_TLS_REJECT_UNAUTHORIZED。", + "save": "保存", + "help": "帮助", + "test_title": "同步测试", + "test_description": "测试和同步服务器之间的连接。如果同步服务器没有初始化,会将本地文档同步到同步服务器上。", + "test_button": "测试同步", + "handshake_failed": "同步服务器握手失败,错误:{{message}}" + }, + "api_log": { + "close": "关闭" + }, + "attachment_detail_2": { + "will_be_deleted_in": "此附件将在 {{time}} 后自动删除", + "will_be_deleted_soon": "该附件在不久后将被自动删除", + "deletion_reason": ",因为该附件未链接在笔记的内容中。为防止被删除,请将附件链接重新添加到内容中或将附件转换为笔记。", + "role_and_size": "角色:{{role}},大小:{{size}}", + "link_copied": "附件链接已复制到剪贴板。", + "unrecognized_role": "无法识别的附件角色 '{{role}}'。" + }, + "bookmark_switch": { + "bookmark": "书签", + "bookmark_this_note": "将此笔记添加到左侧面板的书签", + "remove_bookmark": "移除书签" + }, + "editability_select": { + "auto": "自动", + "read_only": "只读", + "always_editable": "始终可编辑", + "note_is_editable": "笔记如果不太长则可编辑。", + "note_is_read_only": "笔记为只读,但可以通过点击按钮进行编辑。", + "note_is_always_editable": "无论笔记长度如何,始终可编辑。" + }, + "note-map": { + "button-link-map": "链接地图", + "button-tree-map": "树形地图" + }, + "tree-context-menu": { + "open-in-a-new-tab": "在新标签页中打开 Ctrl+Click", + "open-in-a-new-split": "在新分栏中打开", + "insert-note-after": "在后面插入笔记", + "insert-child-note": "插入子笔记", + "delete": "删除", + "search-in-subtree": "在子树中搜索", + "hoist-note": "聚焦笔记", + "unhoist-note": "取消聚焦笔记", + "edit-branch-prefix": "编辑分支前缀", + "advanced": "高级", + "expand-subtree": "展开子树", + "collapse-subtree": "折叠子树", + "sort-by": "排序方式...", + "recent-changes-in-subtree": "子树中的最近更改", + "convert-to-attachment": "转换为附件", + "copy-note-path-to-clipboard": "复制笔记路径到剪贴板", + "protect-subtree": "保护子树", + "unprotect-subtree": "取消保护子树", + "copy-clone": "复制 / 克隆", + "clone-to": "克隆到...", + "cut": "剪切", + "move-to": "移动到...", + "paste-into": "粘贴到里面", + "paste-after": "粘贴到后面", + "export": "导出", + "import-into-note": "导入到笔记", + "apply-bulk-actions": "应用批量操作", + "converted-to-attachments": "{{count}} 个笔记已被转换为附件。", + "convert-to-attachment-confirm": "确定要将选中的笔记转换为其父笔记的附件吗?" + }, + "shared_info": { + "shared_publicly": "此笔记已公开分享于", + "shared_locally": "此笔记已在本地分享于", + "help_link": "访问 wiki 获取帮助。" + }, + "note_types": { + "text": "文本", + "code": "代码", + "saved-search": "保存的搜索", + "relation-map": "关系图", + "note-map": "笔记地图", + "render-note": "渲染笔记", + "mermaid-diagram": "Mermaid 图", + "canvas": "画布", + "web-view": "网页视图", + "mind-map": "思维导图", + "file": "文件", + "image": "图片", + "launcher": "启动器", + "doc": "文档", + "widget": "小部件", + "confirm-change": "当笔记内容不为空时,不建议更改笔记类型。您仍然要继续吗?", + "geo-map": "地理地图", + "beta-feature": "测试版", + "task-list": "待办事项列表" + }, + "protect_note": { + "toggle-on": "保护笔记", + "toggle-off": "取消保护笔记", + "toggle-on-hint": "笔记未受保护,点击以保护", + "toggle-off-hint": "笔记已受保护,点击以取消保护" + }, + "shared_switch": { + "shared": "已分享", + "toggle-on-title": "分享笔记", + "toggle-off-title": "取消分享笔记", + "shared-branch": "此笔记仅作为共享笔记存在,取消共享将删除它。您确定要继续并删除此笔记吗?", + "inherited": "此笔记无法在此处取消共享,因为它通过继承自上级笔记共享。" + }, + "template_switch": { + "template": "模板", + "toggle-on-hint": "将此笔记设为模板", + "toggle-off-hint": "取消笔记模板设置" + }, + "open-help-page": "打开帮助页面", + "find": { + "case_sensitive": "区分大小写", + "match_words": "匹配单词", + "find_placeholder": "在文本中查找...", + "replace_placeholder": "替换为...", + "replace": "替换", + "replace_all": "全部替换" + }, + "highlights_list_2": { + "title": "高亮列表", + "options": "选项" + }, + "quick-search": { + "placeholder": "快速搜索", + "searching": "正在搜索...", + "no-results": "未找到结果", + "more-results": "... 以及另外 {{number}} 个结果。", + "show-in-full-search": "在完整的搜索界面中显示" + }, + "note_tree": { + "collapse-title": "折叠笔记树", + "scroll-active-title": "滚动到活跃笔记", + "tree-settings-title": "树设置", + "hide-archived-notes": "隐藏已归档笔记", + "automatically-collapse-notes": "自动折叠笔记", + "automatically-collapse-notes-title": "笔记在一段时间内未使用将被折叠,以减少树形结构的杂乱。", + "save-changes": "保存并应用更改", + "auto-collapsing-notes-after-inactivity": "在不活跃后自动折叠笔记...", + "saved-search-note-refreshed": "已保存的搜索笔记已刷新。", + "hoist-this-note-workspace": "聚焦此笔记(工作区)", + "refresh-saved-search-results": "刷新保存的搜索结果", + "create-child-note": "创建子笔记", + "unhoist": "取消聚焦" + }, + "title_bar_buttons": { + "window-on-top": "保持此窗口置顶" + }, + "note_detail": { + "could_not_find_typewidget": "找不到类型为 '{{type}}' 的 typeWidget" + }, + "note_title": { + "placeholder": "请输入笔记标题..." + }, + "search_result": { + "no_notes_found": "没有找到符合搜索条件的笔记。", + "search_not_executed": "尚未执行搜索。请点击上方的\"搜索\"按钮查看结果。" + }, + "spacer": { + "configure_launchbar": "配置启动栏" + }, + "sql_result": { + "no_rows": "此查询没有返回任何数据" + }, + "sql_table_schemas": { + "tables": "表" + }, + "tab_row": { + "close_tab": "关闭标签页", + "add_new_tab": "添加新标签页", + "close": "关闭", + "close_other_tabs": "关闭其他标签页", + "close_right_tabs": "关闭右侧标签页", + "close_all_tabs": "关闭所有标签页", + "reopen_last_tab": "重新打开关闭的标签页", + "move_tab_to_new_window": "将此标签页移动到新窗口", + "copy_tab_to_new_window": "将此标签页复制到新窗口", + "new_tab": "新标签页" + }, + "toc": { + "table_of_contents": "目录", + "options": "选项" + }, + "watched_file_update_status": { + "file_last_modified": "文件 最后修改时间为 。", + "upload_modified_file": "上传修改的文件", + "ignore_this_change": "忽略此更改" + }, + "app_context": { + "please_wait_for_save": "请等待几秒钟以完成保存,然后您可以尝试再操作一次。" + }, + "note_create": { + "duplicated": "笔记 \"{{title}}\" 已被复制。" + }, + "image": { + "copied-to-clipboard": "图片的引用已复制到剪贴板,可以粘贴到任何文本笔记中。", + "cannot-copy": "无法将图片引用复制到剪贴板。" + }, + "clipboard": { + "cut": "笔记已剪切到剪贴板。", + "copied": "笔记已复制到剪贴板。" + }, + "entrypoints": { + "note-revision-created": "笔记修订已创建。", + "note-executed": "笔记已执行。", + "sql-error": "执行 SQL 查询时发生错误:{{message}}" + }, + "branches": { + "cannot-move-notes-here": "无法将笔记移动到这里。", + "delete-status": "删除状态", + "delete-notes-in-progress": "正在删除笔记:{{count}}", + "delete-finished-successfully": "删除成功完成。", + "undeleting-notes-in-progress": "正在恢复删除的笔记:{{count}}", + "undeleting-notes-finished-successfully": "恢复删除的笔记已成功完成。" + }, + "frontend_script_api": { + "async_warning": "您正在将一个异步函数传递给 `api.runOnBackend()`,这可能无法按预期工作。\\n要么使该函数同步(通过移除 `async` 关键字),要么使用 `api.runAsyncOnBackendWithManualTransactionHandling()`。", + "sync_warning": "您正在将一个同步函数传递给 `api.runAsyncOnBackendWithManualTransactionHandling()`,\\n而您可能应该使用 `api.runOnBackend()`。" + }, + "ws": { + "sync-check-failed": "同步检查失败!", + "consistency-checks-failed": "一致性检查失败!请查看日志了解详细信息。", + "encountered-error": "遇到错误 \"{{message}}\",请查看控制台。" + }, + "hoisted_note": { + "confirm_unhoisting": "请求的笔记 '{{requestedNote}}' 位于聚焦的笔记 '{{hoistedNote}}' 的子树之外,您必须取消聚焦才能访问该笔记。是否继续取消聚焦?" + }, + "launcher_context_menu": { + "reset_launcher_confirm": "您确定要重置 \"{{title}}\" 吗?此笔记(及其子项)中的所有数据/设置将丢失,且启动器将恢复到其原始位置。", + "add-note-launcher": "添加笔记启动器", + "add-script-launcher": "添加脚本启动器", + "add-custom-widget": "添加自定义小部件", + "add-spacer": "添加间隔", + "delete": "删除 ", + "reset": "重置", + "move-to-visible-launchers": "移动到可见启动器", + "move-to-available-launchers": "移动到可用启动器", + "duplicate-launcher": "复制启动器 " + }, + "editable-text": { + "auto-detect-language": "自动检测" + }, + "highlighting": { + "title": "代码块", + "description": "控制文本笔记中代码块的语法高亮,代码笔记不会受到影响。", + "color-scheme": "颜色方案" + }, + "code_block": { + "word_wrapping": "自动换行", + "theme_none": "无语法高亮", + "theme_group_light": "浅色主题", + "theme_group_dark": "深色主题" + }, + "classic_editor_toolbar": { + "title": "格式" + }, + "editor": { + "title": "编辑器" + }, + "editing": { + "editor_type": { + "label": "格式工具栏", + "floating": { + "title": "浮动", + "description": "编辑工具出现在光标附近;" + }, + "fixed": { + "title": "固定", + "description": "编辑工具出现在 \"格式\" 功能区标签中。" + }, + "multiline-toolbar": "如果工具栏无法完全显示,则分多行显示。" + } + }, + "electron_context_menu": { + "add-term-to-dictionary": "将 \"{{term}}\" 添加到字典", + "cut": "剪切", + "copy": "复制", + "copy-link": "复制链接", + "paste": "粘贴", + "paste-as-plain-text": "以纯文本粘贴", + "search_online": "用 {{searchEngine}} 搜索 \"{{term}}\"" + }, + "image_context_menu": { + "copy_reference_to_clipboard": "复制引用到剪贴板", + "copy_image_to_clipboard": "复制图片到剪贴板" + }, + "link_context_menu": { + "open_note_in_new_tab": "在新标签页中打开笔记", + "open_note_in_new_split": "在新分屏中打开笔记", + "open_note_in_new_window": "在新窗口中打开笔记" + }, + "electron_integration": { + "desktop-application": "桌面应用程序", + "native-title-bar": "原生标题栏", + "native-title-bar-description": "对于 Windows 和 macOS,关闭原生标题栏可使应用程序看起来更紧凑。在 Linux 上,保留原生标题栏可以更好地与系统集成。", + "background-effects": "启用背景效果(仅适用于 Windows 11)", + "background-effects-description": "Mica 效果为应用窗口添加模糊且时尚的背景,营造出深度感和现代外观。", + "restart-app-button": "重启应用程序以查看更改", + "zoom-factor": "缩放系数" + }, + "note_autocomplete": { + "search-for": "搜索 \"{{term}}\"", + "create-note": "创建并链接子笔记 \"{{term}}\"", + "insert-external-link": "插入指向 \"{{term}}\" 的外部链接", + "clear-text-field": "清除文本字段", + "show-recent-notes": "显示最近的笔记", + "full-text-search": "全文搜索" + }, + "note_tooltip": { + "note-has-been-deleted": "笔记已被删除。" + }, + "geo-map": { + "create-child-note-title": "创建一个新的子笔记并将其添加到地图中", + "create-child-note-instruction": "单击地图以在该位置创建新笔记,或按 Escape 以取消。", + "unable-to-load-map": "无法加载地图。" + }, + "geo-map-context": { + "open-location": "打开位置", + "remove-from-map": "从地图中移除" + }, + "help-button": { + "title": "打开相关帮助页面" + }, + "duration": { + "seconds": "秒", + "minutes": "分钟", + "hours": "小时", + "days": "天" + }, + "share": { + "title": "共享设置", + "redirect_bare_domain": "将裸域重定向到共享页面", + "redirect_bare_domain_description": "将匿名用户重定向到共享页面,而不是显示登录", + "show_login_link": "在共享主题中显示登录链接", + "show_login_link_description": "在共享页面底部添加登录链接", + "check_share_root": "检查共享根状态", + "share_root_found": "共享根笔记 '{{noteTitle}}' 已准备好", + "share_root_not_found": "未找到带有 #shareRoot 标签的笔记", + "share_root_not_shared": "笔记 '{{noteTitle}}' 具有 #shareRoot 标签,但未共享" + }, + "time_selector": { + "invalid_input": "输入的时间值不是有效数字。", + "minimum_input": "输入的时间值需要至少 {{minimumSeconds}} 秒。" + }, + "tasks": { + "due": { + "today": "今天", + "tomorrow": "明天", + "yesterday": "昨天" + } } - }, - "electron_context_menu": { - "add-term-to-dictionary": "将 \"{{term}}\" 添加到字典", - "cut": "剪切", - "copy": "复制", - "copy-link": "复制链接", - "paste": "粘贴", - "paste-as-plain-text": "以纯文本粘贴", - "search_online": "用 {{searchEngine}} 搜索 \"{{term}}\"" - }, - "image_context_menu": { - "copy_reference_to_clipboard": "复制引用到剪贴板", - "copy_image_to_clipboard": "复制图片到剪贴板" - }, - "link_context_menu": { - "open_note_in_new_tab": "在新标签页中打开笔记", - "open_note_in_new_split": "在新分屏中打开笔记", - "open_note_in_new_window": "在新窗口中打开笔记" - }, - "electron_integration": { - "desktop-application": "桌面应用程序", - "native-title-bar": "原生标题栏", - "native-title-bar-description": "对于 Windows 和 macOS,关闭原生标题栏可使应用程序看起来更紧凑。在 Linux 上,保留原生标题栏可以更好地与系统集成。", - "background-effects": "启用背景效果(仅适用于 Windows 11)", - "background-effects-description": "Mica 效果为应用窗口添加模糊且时尚的背景,营造出深度感和现代外观。", - "restart-app-button": "重启应用程序以查看更改", - "zoom-factor": "缩放系数" - }, - "note_autocomplete": { - "search-for": "搜索 \"{{term}}\"", - "create-note": "创建并链接子笔记 \"{{term}}\"", - "insert-external-link": "插入指向 \"{{term}}\" 的外部链接", - "clear-text-field": "清除文本字段", - "show-recent-notes": "显示最近的笔记", - "full-text-search": "全文搜索" - }, - "note_tooltip": { - "note-has-been-deleted": "笔记已被删除。" - }, - "geo-map": { - "create-child-note-title": "创建一个新的子笔记并将其添加到地图中", - "create-child-note-instruction": "单击地图以在该位置创建新笔记,或按 Escape 以取消。", - "unable-to-load-map": "无法加载地图。" - }, - "geo-map-context": { - "open-location": "打开位置", - "remove-from-map": "从地图中移除" - }, - "help-button": { - "title": "打开相关帮助页面" - }, - "duration": { - "seconds": "秒", - "minutes": "分钟", - "hours": "小时", - "days": "天" - }, - "share": { - "title": "共享设置", - "redirect_bare_domain": "将裸域重定向到共享页面", - "redirect_bare_domain_description": "将匿名用户重定向到共享页面,而不是显示登录", - "show_login_link": "在共享主题中显示登录链接", - "show_login_link_description": "在共享页面底部添加登录链接", - "check_share_root": "检查共享根状态", - "share_root_found": "共享根笔记 '{{noteTitle}}' 已准备好", - "share_root_not_found": "未找到带有 #shareRoot 标签的笔记", - "share_root_not_shared": "笔记 '{{noteTitle}}' 具有 #shareRoot 标签,但未共享" - }, - "time_selector": { - "invalid_input": "输入的时间值不是有效数字。", - "minimum_input": "输入的时间值需要至少 {{minimumSeconds}} 秒。" - }, - "tasks": { - "due": { - "today": "今天", - "tomorrow": "明天", - "yesterday": "昨天" - } - } } diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index 76eeddc39..3e8629677 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -1,1660 +1,1654 @@ { - "about": { - "title": "Über Trilium Notes", - "close": "Schließen", - "homepage": "Startseite:", - "app_version": "App-Version:", - "db_version": "DB-Version:", - "sync_version": "Synch-version:", - "build_date": "Build-Datum:", - "build_revision": "Build-Revision:", - "data_directory": "Datenverzeichnis:" - }, - "toast": { - "critical-error": { - "title": "Kritischer Fehler", - "message": "Ein kritischer Fehler ist aufgetreten, der das Starten der Client-Anwendung verhindert:\n\n{{message}}\n\nDies wird höchstwahrscheinlich durch ein Skript verursacht, das auf unerwartete Weise fehlschlägt. Versuche, die Anwendung im abgesicherten Modus zu starten und das Problem zu lokalisieren." + "about": { + "title": "Über Trilium Notes", + "close": "Schließen", + "homepage": "Startseite:", + "app_version": "App-Version:", + "db_version": "DB-Version:", + "sync_version": "Synch-version:", + "build_date": "Build-Datum:", + "build_revision": "Build-Revision:", + "data_directory": "Datenverzeichnis:" }, - "widget-error": { - "title": "Ein Widget konnte nicht initialisiert werden", - "message-custom": "Benutzerdefiniertes Widget von der Notiz mit der ID \"{{id}}\", und dem Titel \"{{title}}\" konnte nicht initialisiert werden wegen:\n\n{{message}}", - "message-unknown": "Unbekanntes Widget konnte nicht initialisiert werden wegen:\n\n{{message}}" + "toast": { + "critical-error": { + "title": "Kritischer Fehler", + "message": "Ein kritischer Fehler ist aufgetreten, der das Starten der Client-Anwendung verhindert:\n\n{{message}}\n\nDies wird höchstwahrscheinlich durch ein Skript verursacht, das auf unerwartete Weise fehlschlägt. Versuche, die Anwendung im abgesicherten Modus zu starten und das Problem zu lokalisieren." + }, + "widget-error": { + "title": "Ein Widget konnte nicht initialisiert werden", + "message-custom": "Benutzerdefiniertes Widget von der Notiz mit der ID \"{{id}}\", und dem Titel \"{{title}}\" konnte nicht initialisiert werden wegen:\n\n{{message}}", + "message-unknown": "Unbekanntes Widget konnte nicht initialisiert werden wegen:\n\n{{message}}" + }, + "bundle-error": { + "title": "Benutzerdefiniertes Skript konnte nicht geladen werden", + "message": "Skript von der Notiz mit der ID \"{{id}}\", und dem Titel \"{{title}}\" konnte nicht ausgeführt werden wegen:\n\n{{message}}" + } }, - "bundle-error": { - "title": "Benutzerdefiniertes Skript konnte nicht geladen werden", - "message": "Skript von der Notiz mit der ID \"{{id}}\", und dem Titel \"{{title}}\" konnte nicht ausgeführt werden wegen:\n\n{{message}}" + "add_link": { + "add_link": "Link hinzufügen", + "help_on_links": "Hilfe zu Links", + "close": "Schließen", + "note": "Notiz", + "search_note": "Suche nach einer Notiz anhand ihres Namens", + "link_title_mirrors": "Der Linktitel spiegelt den aktuellen Titel der Notiz wider", + "link_title_arbitrary": "Der Linktitel kann beliebig geändert werden", + "link_title": "Linktitel", + "button_add_link": "Link hinzufügen Eingabetaste" + }, + "branch_prefix": { + "edit_branch_prefix": "Zweigpräfix bearbeiten", + "help_on_tree_prefix": "Hilfe zum Baumpräfix", + "close": "Schließen", + "prefix": "Präfix: ", + "save": "Speichern", + "branch_prefix_saved": "Zweigpräfix wurde gespeichert." + }, + "bulk_actions": { + "bulk_actions": "Massenaktionen", + "close": "Schließen", + "affected_notes": "Betroffene Notizen", + "include_descendants": "Unternotizen der ausgewählten Notizen einbeziehen", + "available_actions": "Verfügbare Aktionen", + "chosen_actions": "Ausgewählte Aktionen", + "execute_bulk_actions": "Massenaktionen ausführen", + "bulk_actions_executed": "Massenaktionen wurden erfolgreich ausgeführt.", + "none_yet": "Noch keine ... Füge eine Aktion hinzu, indem du oben auf eine der verfügbaren Aktionen klicken.", + "labels": "Labels", + "relations": "Beziehungen", + "notes": "Notizen", + "other": "Andere" + }, + "clone_to": { + "clone_notes_to": "Notizen klonen nach...", + "close": "Schließen", + "help_on_links": "Hilfe zu Links", + "notes_to_clone": "Notizen zum Klonen", + "target_parent_note": "Ziel-Übergeordnetenotiz", + "search_for_note_by_its_name": "Suche nach einer Notiz anhand ihres Namens", + "cloned_note_prefix_title": "Die geklonte Notiz wird im Notizbaum mit dem angegebenen Präfix angezeigt", + "prefix_optional": "Präfix (optional)", + "clone_to_selected_note": "Auf ausgewählte Notiz klonen Eingabe", + "no_path_to_clone_to": "Kein Pfad zum Klonen.", + "note_cloned": "Die Notiz \"{{clonedTitle}}\" wurde in \"{{targetTitle}}\" hinein geklont" + }, + "confirm": { + "confirmation": "Bestätigung", + "close": "Schließen", + "cancel": "Abbrechen", + "ok": "OK", + "are_you_sure_remove_note": "Bist du sicher, dass du \"{{title}}\" von der Beziehungskarte entfernen möchten? ", + "if_you_dont_check": "Wenn du dies nicht aktivierst, wird die Notiz nur aus der Beziehungskarte entfernt.", + "also_delete_note": "Auch die Notiz löschen" + }, + "delete_notes": { + "delete_notes_preview": "Vorschau der Notizen löschen", + "close": "Schließen", + "delete_all_clones_description": "auch alle Klone löschen (kann bei letzte Änderungen rückgängig gemacht werden)", + "erase_notes_description": "Beim normalen (vorläufigen) Löschen werden die Notizen nur als gelöscht markiert und sie können innerhalb eines bestimmten Zeitraums (im Dialogfeld „Letzte Änderungen“) wiederhergestellt werden. Wenn du diese Option aktivierst, werden die Notizen sofort gelöscht und es ist nicht möglich, die Notizen wiederherzustellen.", + "erase_notes_warning": "Notizen dauerhaft löschen (kann nicht rückgängig gemacht werden), einschließlich aller Klone. Dadurch wird ein Neuladen der Anwendung erzwungen.", + "notes_to_be_deleted": "Folgende Notizen werden gelöscht ()", + "no_note_to_delete": "Es werden keine Notizen gelöscht (nur Klone).", + "broken_relations_to_be_deleted": "Folgende Beziehungen werden gelöst und gelöscht ()", + "cancel": "Abbrechen", + "ok": "OK", + "deleted_relation_text": "Notiz {{- note}} (soll gelöscht werden) wird von Beziehung {{- relation}} ausgehend von {{- source}} referenziert." + }, + "export": { + "export_note_title": "Notiz exportieren", + "close": "Schließen", + "export_type_subtree": "Diese Notiz und alle ihre Unternotizen", + "format_html": "HTML - empfohlen, da dadurch alle Formatierungen erhalten bleiben", + "format_html_zip": "HTML im ZIP-Archiv – dies wird empfohlen, da dadurch die gesamte Formatierung erhalten bleibt.", + "format_markdown": "Markdown – dadurch bleiben die meisten Formatierungen erhalten.", + "format_opml": "OPML – Outliner-Austauschformat nur für Text. Formatierungen, Bilder und Dateien sind nicht enthalten.", + "opml_version_1": "OPML v1.0 – nur Klartext", + "opml_version_2": "OPML v2.0 – erlaubt auch HTML", + "export_type_single": "Nur diese Notiz ohne ihre Unternotizen", + "export": "Export", + "choose_export_type": "Bitte wähle zuerst den Exporttypen aus", + "export_status": "Exportstatus", + "export_in_progress": "Export läuft: {{progressCount}}", + "export_finished_successfully": "Der Export wurde erfolgreich abgeschlossen.", + "format_pdf": "PDF - für Ausdrucke oder Teilen." + }, + "help": { + "fullDocumentation": "Hilfe (gesamte Dokumentation ist online verfügbar)", + "close": "Schließen", + "noteNavigation": "Notiz Navigation", + "goUpDown": "Pfeil Hoch, Pfeil Runter - In der Liste der Notizen nach oben/unten gehen", + "collapseExpand": "LEFT, RIGHT - Knoten reduzieren/erweitern", + "notSet": "nicht eingestellt", + "goBackForwards": "in der Historie zurück/vorwärts gehen", + "showJumpToNoteDialog": "zeige \"Springe zu\" dialog", + "scrollToActiveNote": "Scrolle zur aktiven Notiz", + "jumpToParentNote": "Backspace - Zur übergeordneten Notiz springen", + "collapseWholeTree": "Reduziere den gesamten Notizbaum", + "collapseSubTree": "Teilbaum einklappen", + "tabShortcuts": "Tab-Tastenkürzel", + "newTabNoteLink": "Strg+Klick - (oder mittlerer Mausklick) auf den Notizlink öffnet die Notiz in einem neuen Tab", + "onlyInDesktop": "Nur im Desktop (Electron Build)", + "openEmptyTab": "Leeren Tab öffnen", + "closeActiveTab": "Aktiven Tab schließen", + "activateNextTab": "Nächsten Tab aktivieren", + "activatePreviousTab": "Vorherigen Tab aktivieren", + "creatingNotes": "Notizen erstellen", + "createNoteAfter": "Erstelle eine neue Notiz nach der aktiven Notiz", + "createNoteInto": "Neue Unternotiz in aktive Notiz erstellen", + "editBranchPrefix": "bearbeite Präfix vom aktiven Notizklon", + "movingCloningNotes": "Notizen verschieben/klonen", + "moveNoteUpDown": "Notiz in der Notizenliste nach oben/unten verschieben", + "moveNoteUpHierarchy": "Verschiebe die Notiz in der Hierarchie nach oben", + "multiSelectNote": "Mehrfachauswahl von Notizen oben/unten", + "selectAllNotes": "Wähle alle Notizen in der aktuellen Ebene aus", + "selectNote": "Umschalt+Klick - Notiz auswählen", + "copyNotes": "Kopiere aktive Notiz (oder aktuelle Auswahl) in den Zwischenspeicher (wird genutzt für Klonen)", + "cutNotes": "Aktuelle Notiz (oder aktuelle Auswahl) in die Zwischenablage ausschneiden (wird zum Verschieben von Notizen verwendet)", + "pasteNotes": "Notiz(en) als Unternotiz in die aktive Notiz einfügen (entweder verschieben oder klonen, je nachdem, ob sie kopiert oder in die Zwischenablag e ausgeschnitten wurde)", + "deleteNotes": "Notiz / Unterbaum löschen", + "editingNotes": "Notizen bearbeiten", + "editNoteTitle": "Im Baumbereich wird vom Baumbereich zum Notiztitel gewechselt. Beim Druck auf Eingabe im Notiztitel, wechselt der Fokus zum Texteditor. Strg+. wechselt vom Editor zurück zum Baumbereich.", + "createEditLink": "Strg+K - Externen Link erstellen/bearbeiten", + "createInternalLink": "Internen Link erstellen", + "followLink": "Folge dem Link unter dem Cursor", + "insertDateTime": "Gebe das aktuelle Datum und die aktuelle Uhrzeit an der Einfügemarke ein", + "jumpToTreePane": "Springe zum Baumbereich und scrolle zur aktiven Notiz", + "markdownAutoformat": "Markdown-ähnliche Autoformatierung", + "headings": "##, ###, #### usw. gefolgt von Platz für Überschriften", + "bulletList": "* oder - gefolgt von Leerzeichen für Aufzählungsliste", + "numberedList": "1. oder 1) gefolgt von Leerzeichen für nummerierte Liste", + "blockQuote": "Beginne eine Zeile mit > gefolgt von einem Leerzeichen für Blockzitate", + "troubleshooting": "Fehlerbehebung", + "reloadFrontend": "Trilium-Frontend neuladen", + "showDevTools": "Entwicklertools anzeigen", + "showSQLConsole": "SQL-Konsole anzeigen", + "other": "Andere", + "quickSearch": "Fokus auf schnelle Sucheingabe", + "inPageSearch": "Auf-der-Seite-Suche" + }, + "import": { + "importIntoNote": "In Notiz importieren", + "close": "Schließen", + "chooseImportFile": "Wähle Importdatei aus", + "importDescription": "Der Inhalt der ausgewählten Datei(en) wird als untergeordnete Notiz(en) importiert", + "options": "Optionen", + "safeImportTooltip": "Trilium .zip-Exportdateien können ausführbare Skripte enthalten, die möglicherweise schädliches Verhalten aufweisen. Der sichere Import deaktiviert die automatische Ausführung aller importierten Skripte. Deaktiviere 'Sicherer Import' nur, wenn das importierte Archiv ausführbare Skripte enthalten soll und du dem Inhalt der Importdatei vollständig vertraust.", + "safeImport": "Sicherer Import", + "explodeArchivesTooltip": "Wenn dies aktiviert ist, liest Trilium die Dateien .zip, .enex und .opml und erstellt Notizen aus Dateien in diesen Archiven. Wenn diese Option deaktiviert ist, hängt Trilium die Archive selbst an die Notiz an.", + "explodeArchives": "Lese den Inhalt der Archive .zip, .enex und .opml.", + "shrinkImagesTooltip": "

Wenn du diese Option aktivierst, versucht Trilium, die importierten Bilder durch Skalierung und Optimierung zu verkleinern, was sich auf die wahrgenommene Bildqualität auswirken kann. Wenn diese Option deaktiviert ist, werden Bilder ohne Änderungen importiert.

Dies gilt nicht für .zip-Importe mit Metadaten, da davon ausgegangen wird, dass diese Dateien bereits optimiert sind.

", + "shrinkImages": "Bilder verkleinern", + "textImportedAsText": "Importiere HTML, Markdown und TXT als Textnotizen, wenn die Metadaten unklar sind", + "codeImportedAsCode": "Importiere erkannte Codedateien (z. B. .json) als Codenotizen, wenn die Metadaten unklar sind", + "replaceUnderscoresWithSpaces": "Ersetze Unterstriche in importierten Notiznamen durch Leerzeichen", + "import": "Import", + "failed": "Import fehlgeschlagen: {{message}}.", + "html_import_tags": { + "title": "HTML Tag Import", + "description": "Festlegen, welche HTML tags beim Import von Notizen beibehalten werden sollen. Tags, die nicht in dieser Liste stehen, werden beim Import entfernt. Einige tags (wie bspw. 'script') werden aus Sicherheitsgründen immer entfernt.", + "placeholder": "HTML tags eintragen, pro Zeile nur einer pro Zeile", + "reset_button": "Zur Standardliste zurücksetzen" + }, + "import-status": "Importstatus", + "in-progress": "Import läuft: {{progress}}", + "successful": "Import erfolgreich abgeschlossen." + }, + "include_note": { + "dialog_title": "Notiz beifügen", + "close": "Schließen", + "label_note": "Notiz", + "placeholder_search": "Suche nach einer Notiz anhand ihres Namens", + "box_size_prompt": "Kartongröße des beigelegten Zettels:", + "box_size_small": "klein (~ 10 Zeilen)", + "box_size_medium": "mittel (~ 30 Zeilen)", + "box_size_full": "vollständig (Feld zeigt vollständigen Text)", + "button_include": "Notiz beifügen Eingabetaste" + }, + "info": { + "modalTitle": "Infonachricht", + "closeButton": "Schließen", + "okButton": "OK" + }, + "jump_to_note": { + "close": "Schließen", + "search_button": "Suche im Volltext: Strg+Eingabetaste" + }, + "markdown_import": { + "dialog_title": "Markdown-Import", + "close": "Schließen", + "modal_body_text": "Aufgrund der Browser-Sandbox ist es nicht möglich, die Zwischenablage direkt aus JavaScript zu lesen. Bitte füge den zu importierenden Markdown in den Textbereich unten ein und klicke auf die Schaltfläche „Importieren“.", + "import_button": "Importieren Strg+Eingabe", + "import_success": "Markdown-Inhalt wurde in das Dokument importiert." + }, + "move_to": { + "dialog_title": "Notizen verschieben nach ...", + "close": "Schließen", + "notes_to_move": "Notizen zum Verschieben", + "target_parent_note": "Ziel-Elternnotiz", + "search_placeholder": "Suche nach einer Notiz anhand ihres Namens", + "move_button": "Zur ausgewählten Notiz wechseln Eingabetaste", + "error_no_path": "Kein Weg, auf den man sich bewegen kann.", + "move_success_message": "Ausgewählte Notizen wurden verschoben" + }, + "note_type_chooser": { + "modal_title": "Wähle den Notiztyp aus", + "close": "Schließen", + "modal_body": "Wähle den Notiztyp / die Vorlage der neuen Notiz:", + "templates": "Vorlagen:" + }, + "password_not_set": { + "title": "Das Passwort ist nicht festgelegt", + "close": "Schließen", + "body1": "Geschützte Notizen werden mit einem Benutzerpasswort verschlüsselt, es wurde jedoch noch kein Passwort festgelegt.", + "body2": "Um Notizen verschlüsseln zu können, klicke hier um das Optionsmenu zu öffnen und ein Passwort zu setzen." + }, + "prompt": { + "title": "Prompt", + "close": "Schließen", + "ok": "OK Eingabe", + "defaultTitle": "Prompt" + }, + "protected_session_password": { + "modal_title": "Geschützte Sitzung", + "help_title": "Hilfe zu geschützten Notizen", + "close_label": "Schließen", + "form_label": "Um mit der angeforderten Aktion fortzufahren, musst du eine geschützte Sitzung starten, indem du ein Passwort eingibst:", + "start_button": "Geschützte Sitzung starten enter" + }, + "recent_changes": { + "title": "Aktuelle Änderungen", + "erase_notes_button": "Jetzt gelöschte Notizen löschen", + "close": "Schließen", + "deleted_notes_message": "Gelöschte Notizen wurden gelöscht.", + "no_changes_message": "Noch keine Änderungen...", + "undelete_link": "Wiederherstellen", + "confirm_undelete": "Möchten Sie diese Notiz und ihre Unternotizen wiederherstellen?" + }, + "revisions": { + "note_revisions": "Notizrevisionen", + "delete_all_revisions": "Lösche alle Revisionen dieser Notiz", + "delete_all_button": "Alle Revisionen löschen", + "help_title": "Hilfe zu Notizrevisionen", + "close": "Schließen", + "revision_last_edited": "Diese Revision wurde zuletzt am {{date}} bearbeitet", + "confirm_delete_all": "Möchtest du alle Revisionen dieser Notiz löschen?", + "no_revisions": "Für diese Notiz gibt es noch keine Revisionen...", + "confirm_restore": "Möchtest du diese Revision wiederherstellen? Dadurch werden der aktuelle Titel und Inhalt der Notiz mit dieser Revision überschrieben.", + "confirm_delete": "Möchtest du diese Revision löschen?", + "revisions_deleted": "Notizrevisionen wurden gelöscht.", + "revision_restored": "Die Notizrevision wurde wiederhergestellt.", + "revision_deleted": "Notizrevision wurde gelöscht.", + "snapshot_interval": "Notizrevisionen-Snapshot Intervall: {{seconds}}s.", + "maximum_revisions": "Maximale Revisionen für aktuelle Notiz: {{number}}.", + "settings": "Einstellungen für Notizrevisionen", + "download_button": "Herunterladen", + "mime": "MIME:", + "file_size": "Dateigröße:", + "preview": "Vorschau:", + "preview_not_available": "Für diesen Notiztyp ist keine Vorschau verfügbar." + }, + "sort_child_notes": { + "sort_children_by": "Unternotizen sortieren nach...", + "close": "Schließen", + "sorting_criteria": "Sortierkriterien", + "title": "Titel", + "date_created": "Erstellungsdatum", + "date_modified": "Änderungsdatum", + "sorting_direction": "Sortierrichtung", + "ascending": "aufsteigend", + "descending": "absteigend", + "folders": "Ordner", + "sort_folders_at_top": "Ordne die Ordner oben", + "natural_sort": "Natürliche Sortierung", + "sort_with_respect_to_different_character_sorting": "Sortierung im Hinblick auf unterschiedliche Sortier- und Sortierregeln für Zeichen in verschiedenen Sprachen oder Regionen.", + "natural_sort_language": "Natürliche Sortiersprache", + "the_language_code_for_natural_sort": "Der Sprachcode für die natürliche Sortierung, z. B. \"de-DE\" für Deutsch.", + "sort": "Sortieren Eingabetaste" + }, + "upload_attachments": { + "upload_attachments_to_note": "Lade Anhänge zur Notiz hoch", + "close": "Schließen", + "choose_files": "Wähle Dateien aus", + "files_will_be_uploaded": "Dateien werden als Anhänge in hochgeladen", + "options": "Optionen", + "shrink_images": "Bilder verkleinern", + "upload": "Hochladen", + "tooltip": "Wenn du diese Option aktivieren, versucht Trilium, die hochgeladenen Bilder durch Skalierung und Optimierung zu verkleinern, was sich auf die wahrgenommene Bildqualität auswirken kann. Wenn diese Option deaktiviert ist, werden die Bilder ohne Änderungen hochgeladen." + }, + "attribute_detail": { + "attr_detail_title": "Attributdetailtitel", + "close_button_title": "Änderungen verwerfen und schließen", + "attr_is_owned_by": "Das Attribut ist Eigentum von", + "attr_name_title": "Der Attributname darf nur aus alphanumerischen Zeichen, Doppelpunkten und Unterstrichen bestehen", + "name": "Name", + "value": "Wert", + "target_note_title": "Eine Beziehung ist eine benannte Verbindung zwischen Quellnotiz und Zielnotiz.", + "target_note": "Zielnotiz", + "promoted_title": "Das heraufgestufte Attribut wird deutlich in der Notiz angezeigt.", + "promoted": "Gefördert", + "promoted_alias_title": "Der Name, der in der Benutzeroberfläche für heraufgestufte Attribute angezeigt werden soll.", + "promoted_alias": "Alias", + "multiplicity_title": "Multiplizität definiert, wie viele Attribute mit demselben Namen erstellt werden können – maximal 1 oder mehr als 1.", + "multiplicity": "Vielzahl", + "single_value": "Einzelwert", + "multi_value": "Mehrfachwert", + "label_type_title": "Der Etikettentyp hilft Trilium bei der Auswahl einer geeigneten Schnittstelle zur Eingabe des Etikettenwerts.", + "label_type": "Typ", + "text": "Text", + "number": "Nummer", + "boolean": "Boolescher Wert", + "date": "Datum", + "date_time": "Datum und Uhrzeit", + "time": "Uhrzeit", + "url": "URL", + "precision_title": "Wie viele Nachkommastellen im Wert-Einstellungs-Interface verfügbar sein sollen.", + "precision": "Präzision", + "digits": "Ziffern", + "inverse_relation_title": "Optionale Einstellung, um zu definieren, zu welcher Beziehung diese entgegengesetzt ist. Beispiel: Vater – Sohn stehen in umgekehrter Beziehung zueinander.", + "inverse_relation": "Inverse Beziehung", + "inheritable_title": "Das vererbbare Attribut wird an alle Nachkommen unter diesem Baum vererbt.", + "inheritable": "Vererbbar", + "save_and_close": "Speichern und schließen Strg+Eingabetaste", + "delete": "Löschen", + "related_notes_title": "Weitere Notizen mit diesem Label", + "more_notes": "Weitere Notizen", + "label": "Labeldetail", + "label_definition": "Details zur Labeldefinition", + "relation": "Beziehungsdetails", + "relation_definition": "Details zur Beziehungsdefinition", + "disable_versioning": "deaktiviert die automatische Versionierung. Nützlich z.B. große, aber unwichtige Notizen – z.B. große JS-Bibliotheken, die für die Skripterstellung verwendet werden", + "calendar_root": "Markiert eine Notiz, die als Basis für Tagesnotizen verwendet werden soll. Nur einer sollte als solcher gekennzeichnet sein.", + "archived": "Notizen mit dieser Bezeichnung werden standardmäßig nicht in den Suchergebnissen angezeigt (auch nicht in den Dialogen „Springen zu“, „Link hinzufügen“ usw.).", + "exclude_from_export": "Notizen (mit ihrem Unterbaum) werden nicht in den Notizexport einbezogen", + "run": "Definiert, bei welchen Ereignissen das Skript ausgeführt werden soll. Mögliche Werte sind:\n
    \n
  • frontendStartup - wenn das Trilium-Frontend startet (oder aktualisiert wird), außer auf mobilen Geräten.
  • \n
  • mobileStartup - wenn das Trilium-Frontend auf einem mobilen Gerät startet (oder aktualisiert wird).
  • \n
  • backendStartup - wenn das Trilium-Backend startet
  • \n
  • hourly - einmal pro Stunde ausführen. Du kannst das zusätzliche Label runAtHour verwenden, um die genaue Stunde festzulegen.
  • \n
  • daily - einmal pro Tag ausführen
  • \n
", + "run_on_instance": "Definiere, auf welcher Trilium-Instanz dies ausgeführt werden soll. Standardmäßig alle Instanzen.", + "run_at_hour": "Zu welcher Stunde soll das laufen? Sollte zusammen mit #runu003dhourly verwendet werden. Kann für mehr Läufe im Laufe des Tages mehrfach definiert werden.", + "disable_inclusion": "Skripte mit dieser Bezeichnung werden nicht in die Ausführung des übergeordneten Skripts einbezogen.", + "sorted": "Hält untergeordnete Notizen alphabetisch nach Titel sortiert", + "sort_direction": "ASC (Standard) oder DESC", + "sort_folders_first": "Ordner (Notizen mit Unternotizen) sollten oben sortiert werden", + "top": "Behalte die angegebene Notiz oben in der übergeordneten Notiz (gilt nur für sortierte übergeordnete Notizen).", + "hide_promoted_attributes": "Heraufgestufte Attribute für diese Notiz ausblenden", + "read_only": "Der Editor befindet sich im schreibgeschützten Modus. Funktioniert nur für Text- und Codenotizen.", + "auto_read_only_disabled": "Text-/Codenotizen können automatisch in den Lesemodus versetzt werden, wenn sie zu groß sind. Du kannst dieses Verhalten für jede einzelne Notiz deaktivieren, indem du diese Beschriftung zur Notiz hinzufügst", + "app_css": "markiert CSS-Notizen, die in die Trilium-Anwendung geladen werden und somit zur Änderung des Aussehens von Trilium verwendet werden können.", + "app_theme": "markiert CSS-Notizen, die vollständige Trilium-Themen sind und daher in den Trilium-Optionen verfügbar sind.", + "app_theme_base": "markiert Notiz als \"nächste\" in der Reihe für ein Trilium-Theme als Grundlage für ein Custom-Theme. Ersetzt damit das Standard Theme.", + "css_class": "Der Wert dieser Bezeichnung wird dann als CSS-Klasse dem Knoten hinzugefügt, der die angegebene Notiz im Baum darstellt. Dies kann für fortgeschrittene Themen nützlich sein. Kann in Vorlagennotizen verwendet werden.", + "icon_class": "Der Wert dieser Bezeichnung wird als CSS-Klasse zum Symbol im Baum hinzugefügt, was dabei helfen kann, die Notizen im Baum visuell zu unterscheiden. Beispiel könnte bx bx-home sein – Symbole werden von Boxicons übernommen. Kann in Vorlagennotizen verwendet werden.", + "page_size": "Anzahl der Elemente pro Seite in der Notizliste", + "custom_request_handler": "siehe Custom request handler", + "custom_resource_provider": "siehe Custom request handler", + "widget": "Markiert diese Notiz als benutzerdefiniertes Widget, das dem Trilium-Komponentenbaum hinzugefügt wird", + "workspace": "Markiert diese Notiz als Arbeitsbereich, der ein einfaches Heben ermöglicht", + "workspace_icon_class": "Definiert die CSS-Klasse des Boxsymbols, die im Tab verwendet wird, wenn es zu dieser Notiz gehoben wird", + "workspace_tab_background_color": "CSS-Farbe, die in der Registerkarte „Notiz“ verwendet wird, wenn sie auf diese Notiz hochgezogen wird", + "workspace_calendar_root": "Definiert den Kalenderstamm pro Arbeitsbereich", + "workspace_template": "Diese Notiz wird beim Erstellen einer neuen Notiz in der Auswahl der verfügbaren Vorlage angezeigt, jedoch nur, wenn sie in einen Arbeitsbereich verschoben wird, der diese Vorlage enthält", + "search_home": "Neue Suchnotizen werden als untergeordnete Elemente dieser Notiz erstellt", + "workspace_search_home": "Neue Suchnotizen werden als untergeordnete Elemente dieser Notiz erstellt, wenn sie zu einem Vorgänger dieser Arbeitsbereichsnotiz verschoben werden", + "inbox": "Standard-Inbox-Position für neue Notizen – wenn du eine Notiz über den \"Neue Notiz\"-Button in der Seitenleiste erstellst, wird die Notiz als untergeordnete Notiz der Notiz erstellt, die mit dem #inbox-Label markiert ist.", + "workspace_inbox": "Standard-Posteingangsspeicherort für neue Notizen, wenn sie zu einem Vorgänger dieser Arbeitsbereichsnotiz verschoben werden", + "sql_console_home": "Standardspeicherort der SQL-Konsolennotizen", + "bookmark_folder": "Notizen mit dieser Bezeichnung werden in den Lesezeichen als Ordner angezeigt (und ermöglichen den Zugriff auf ihre untergeordneten Ordner).", + "share_hidden_from_tree": "Diese Notiz ist im linken Navigationsbaum ausgeblendet, kann aber weiterhin über ihre URL aufgerufen werden", + "share_external_link": "Die Notiz dient als Link zu einer externen Website im Freigabebaum", + "share_alias": "Lege einen Alias fest, unter dem die Notiz unter https://your_trilium_host/share/[dein_alias] verfügbar sein wird.", + "share_omit_default_css": "Das Standard-CSS für die Freigabeseite wird weggelassen. Verwende es, wenn du umfangreiche Stylingänderungen vornimmst.", + "share_root": "Markiert eine Notiz, die im /share-Root bereitgestellt wird.", + "share_description": "Definiere Text, der dem HTML-Meta-Tag zur Beschreibung hinzugefügt werden soll", + "share_raw": "Die Notiz wird im Rohformat ohne HTML-Wrapper bereitgestellt", + "share_disallow_robot_indexing": "verbietet die Robot-Indizierung dieser Notiz über den Header X-Robots-Tag: noindex", + "share_credentials": "Für den Zugriff auf diese freigegebene Notiz sind Anmeldeinformationen erforderlich. Es wird erwartet, dass der Wert das Format „Benutzername:Passwort“ hat. Vergiss nicht, dies vererbbar zu machen, um es auf untergeordnete Notizen/Bilder anzuwenden.", + "share_index": "Eine Notiz mit dieser Bezeichnung listet alle Wurzeln gemeinsamer Notizen auf", + "display_relations": "Durch Kommas getrennte Namen der Beziehungen, die angezeigt werden sollen. Alle anderen werden ausgeblendet.", + "hide_relations": "Durch Kommas getrennte Namen von Beziehungen, die ausgeblendet werden sollen. Alle anderen werden angezeigt.", + "title_template": "Standardtitel von Notizen, die als untergeordnete Notizen dieser Notiz erstellt werden. Der Wert wird als JavaScript-String ausgewertet \n und kann daher mit dynamischen Inhalten über die injizierten now und parentNote-Variablen angereichert werden. Beispiele:\n \n
    \n
  • ${parentNote.getLabelValue('authorName')}'s literarische Werke
  • \n
  • Logbuch für ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n Siehe Wiki mit Details, API-Dokumentation für parentNote und now für Details.", + "template": "Diese Notiz wird beim Erstellen einer neuen Notiz in der Auswahl der verfügbaren Vorlage angezeigt", + "toc": "#toc oder #tocu003dshow erzwingen die Anzeige des Inhaltsverzeichnisses, #tocu003dhide erzwingt das Ausblenden. Wenn die Bezeichnung nicht vorhanden ist, wird die globale Einstellung beachtet", + "color": "Definiert die Farbe der Notiz im Notizbaum, in Links usw. Verwende einen beliebigen gültigen CSS-Farbwert wie „rot“ oder #a13d5f", + "keyboard_shortcut": "Definiert eine Tastenkombination, die sofort zu dieser Notiz springt. Beispiel: „Strg+Alt+E“. Erfordert ein Neuladen des Frontends, damit die Änderung wirksam wird.", + "keep_current_hoisting": "Das Öffnen dieses Links ändert das Hochziehen nicht, selbst wenn die Notiz im aktuell hochgezogenen Unterbaum nicht angezeigt werden kann.", + "execute_button": "Titel der Schaltfläche, die die aktuelle Codenotiz ausführt", + "execute_description": "Längere Beschreibung der aktuellen Codenotiz, die zusammen mit der Schaltfläche „Ausführen“ angezeigt wird", + "exclude_from_note_map": "Notizen mit dieser Bezeichnung werden in der Notizenkarte ausgeblendet", + "new_notes_on_top": "Neue Notizen werden oben in der übergeordneten Notiz erstellt, nicht unten.", + "hide_highlight_widget": "Widget „Hervorhebungsliste“ ausblenden", + "run_on_note_creation": "Wird ausgeführt, wenn eine Notiz im Backend erstellt wird. Verwende diese Beziehung, wenn du das Skript für alle Notizen ausführen möchtest, die unter einer bestimmten Unternotiz erstellt wurden. Erstelle es in diesem Fall auf der Unternotiz-Stammnotiz und mache es vererbbar. Eine neue Notiz, die innerhalb der Unternotiz (beliebige Tiefe) erstellt wird, löst das Skript aus.", + "run_on_child_note_creation": "Wird ausgeführt, wenn eine neue Notiz unter der Notiz erstellt wird, in der diese Beziehung definiert ist", + "run_on_note_title_change": "Wird ausgeführt, wenn der Notiztitel geändert wird (einschließlich der Notizerstellung)", + "run_on_note_content_change": "Wird ausgeführt, wenn der Inhalt einer Notiz geändert wird (einschließlich der Erstellung von Notizen).", + "run_on_note_change": "Wird ausgeführt, wenn eine Notiz geändert wird (einschließlich der Erstellung von Notizen). Enthält keine Inhaltsänderungen", + "run_on_note_deletion": "Wird ausgeführt, wenn eine Notiz gelöscht wird", + "run_on_branch_creation": "wird ausgeführt, wenn ein Zweig erstellt wird. Der Zweig ist eine Verbindung zwischen der übergeordneten Notiz und der untergeordneten Notiz und wird z. B. erstellt. beim Klonen oder Verschieben von Notizen.", + "run_on_branch_change": "wird ausgeführt, wenn ein Zweig aktualisiert wird.", + "run_on_branch_deletion": "wird ausgeführt, wenn ein Zweig gelöscht wird. Der Zweig ist eine Verknüpfung zwischen der übergeordneten Notiz und der untergeordneten Notiz und wird z. B. gelöscht. beim Verschieben der Notiz (alter Zweig/Link wird gelöscht).", + "run_on_attribute_creation": "wird ausgeführt, wenn für die Notiz ein neues Attribut erstellt wird, das diese Beziehung definiert", + "run_on_attribute_change": "wird ausgeführt, wenn das Attribut einer Notiz geändert wird, die diese Beziehung definiert. Dies wird auch ausgelöst, wenn das Attribut gelöscht wird", + "relation_template": "Die Attribute der Notiz werden auch ohne eine Eltern-Kind-Beziehung vererbt. Der Inhalt und der Unterbaum der Notiz werden den Instanznotizen hinzugefügt, wenn sie leer sind. Einzelheiten findest du in der Dokumentation.", + "inherit": "Die Attribute einer Notiz werden auch ohne eine Eltern-Kind-Beziehung vererbt. Ein ähnliches Konzept findest du unter Vorlagenbeziehung. Siehe Attributvererbung in der Dokumentation.", + "render_note": "Notizen vom Typ \"HTML-Notiz rendern\" werden mit einer Code-Notiz (HTML oder Skript) gerendert, und es ist notwendig, über diese Beziehung anzugeben, welche Notiz gerendert werden soll.", + "widget_relation": "Das Ziel dieser Beziehung wird ausgeführt und als Widget in der Seitenleiste gerendert", + "share_css": "CSS-Hinweis, der in die Freigabeseite eingefügt wird. Die CSS-Notiz muss sich ebenfalls im gemeinsamen Unterbaum befinden. Erwäge auch die Verwendung von „share_hidden_from_tree“ und „share_omit_default_css“.", + "share_js": "JavaScript-Hinweis, der in die Freigabeseite eingefügt wird. Die JS-Notiz muss sich ebenfalls im gemeinsamen Unterbaum befinden. Erwäge die Verwendung von „share_hidden_from_tree“.", + "share_template": "Eingebettete JavaScript-Notiz, die als Vorlage für die Anzeige der geteilten Notiz verwendet wird. Greift auf die Standardvorlage zurück. Erwäge die Verwendung von „share_hidden_from_tree“.", + "share_favicon": "Favicon-Notiz, die auf der freigegebenen Seite festgelegt werden soll. Normalerweise möchtest du es so einstellen, dass es Root teilt und es vererbbar macht. Die Favicon-Notiz muss sich ebenfalls im freigegebenen Unterbaum befinden. Erwäge die Verwendung von „share_hidden_from_tree“.", + "is_owned_by_note": "ist Eigentum von Note", + "other_notes_with_name": "Other notes with {{attributeType}} name \"{{attributeName}}\"", + "and_more": "... und {{count}} mehr.", + "print_landscape": "Beim Export als PDF, wird die Seitenausrichtung Querformat anstatt Hochformat verwendet.", + "print_page_size": "Beim Export als PDF, wird die Größe der Seite angepasst. Unterstützte Größen: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." + }, + "attribute_editor": { + "help_text_body1": "Um ein Label hinzuzufügen, gebe einfach z.B. ein. #rock oder wenn du auch einen Wert hinzufügen möchten, dann z.B. #year = 2024", + "help_text_body2": "Gebe für die Beziehung ~author = @ ein, woraufhin eine automatische Vervollständigung angezeigt wird, in der du die gewünschte Notiz nachschlagen kannst.", + "help_text_body3": "Alternativ kannst du Label und Beziehung über die Schaltfläche + auf der rechten Seite hinzufügen.", + "save_attributes": "Attribute speichern ", + "add_a_new_attribute": "Füge ein neues Attribut hinzu", + "add_new_label": "Füge ein neues Label hinzu ", + "add_new_relation": "Füge eine neue Beziehung hinzu ", + "add_new_label_definition": "Füge eine neue Labeldefinition hinzu", + "add_new_relation_definition": "Füge eine neue Beziehungsdefinition hinzu", + "placeholder": "Gebe die Labels und Beziehungen hier ein" + }, + "abstract_bulk_action": { + "remove_this_search_action": "Entferne diese Suchaktion" + }, + "execute_script": { + "execute_script": "Skript ausführen", + "help_text": "Du kannst einfache Skripte für die übereinstimmenden Notizen ausführen.", + "example_1": "Um beispielsweise eine Zeichenfolge an den Titel einer Notiz anzuhängen, verwende dieses kleine Skript:", + "example_2": "Ein komplexeres Beispiel wäre das Löschen aller übereinstimmenden Notizattribute:" + }, + "add_label": { + "add_label": "Etikett hinzufügen", + "label_name_placeholder": "Labelname", + "label_name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", + "to_value": "zu schätzen", + "new_value_placeholder": "neuer Wert", + "help_text": "Auf allen übereinstimmenden Notizen:", + "help_text_item1": "Erstelle ein bestimmtes Label, wenn die Notiz noch keins hat", + "help_text_item2": "oder den Wert des vorhandenen Labels ändern", + "help_text_note": "Du kannst diese Methode auch ohne Wert aufrufen. In diesem Fall wird der Notiz ein Label ohne Wert zugewiesen." + }, + "delete_label": { + "delete_label": "Label löschen", + "label_name_placeholder": "Labelname", + "label_name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." + }, + "rename_label": { + "rename_label": "Label umbenennen", + "rename_label_from": "Label umbenennen von", + "old_name_placeholder": "alter Name", + "to": "zu", + "new_name_placeholder": "neuer Name", + "name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." + }, + "update_label_value": { + "update_label_value": "Labelwert aktualisieren", + "label_name_placeholder": "Labelname", + "label_name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", + "to_value": "zum Wert", + "new_value_placeholder": "neuer Wert", + "help_text": "Ändere bei allen übereinstimmenden Notizen den Wert des vorhandenen Labels.", + "help_text_note": "Du kannst diese Methode auch ohne Wert aufrufen. In diesem Fall wird der Notiz ein Label ohne Wert zugewiesen." + }, + "delete_note": { + "delete_note": "Notiz löschen", + "delete_matched_notes": "Übereinstimmende Notizen löschen", + "delete_matched_notes_description": "Dadurch werden übereinstimmende Notizen gelöscht.", + "undelete_notes_instruction": "Nach dem Löschen ist es möglich, sie im Dialogfeld „Letzte Änderungen“ wiederherzustellen.", + "erase_notes_instruction": "Um Notizen dauerhaft zu löschen, geh nach der Löschung zu Optionen -> Andere und klicke auf den Button \"Gelöschte Notizen jetzt löschen\"." + }, + "delete_revisions": { + "delete_note_revisions": "Notizrevisionen löschen", + "all_past_note_revisions": "Alle früheren Notizrevisionen übereinstimmender Notizen werden gelöscht. Die Notiz selbst bleibt vollständig erhalten. Mit anderen Worten: Der Verlauf der Notiz wird entfernt." + }, + "move_note": { + "move_note": "Notiz verschieben", + "to": "nach", + "target_parent_note": "Ziel-Übergeordnetenotiz", + "on_all_matched_notes": "Auf allen übereinstimmenden Notizen", + "move_note_new_parent": "Verschiebe die Notiz in die neue übergeordnete Notiz, wenn die Notiz nur eine übergeordnete Notiz hat (d. h. der alte Zweig wird entfernt und ein neuer Zweig in die neue übergeordnete Notiz erstellt).", + "clone_note_new_parent": "Notiz auf die neue übergeordnete Notiz klonen, wenn die Notiz mehrere Klone/Zweige hat (es ist nicht klar, welcher Zweig entfernt werden soll)", + "nothing_will_happen": "Es passiert nichts, wenn die Notiz nicht zur Zielnotiz verschoben werden kann (d. h. dies würde einen Baumzyklus erzeugen)." + }, + "rename_note": { + "rename_note": "Notiz umbenennen", + "rename_note_title_to": "Notiztitel umbenennen in", + "new_note_title": "neuer Notiztitel", + "click_help_icon": "Klicke rechts auf das Hilfesymbol, um alle Optionen anzuzeigen", + "evaluated_as_js_string": "Der angegebene Wert wird als JavaScript-String ausgewertet und kann somit über die injizierte note-Variable mit dynamischem Inhalt angereichert werden (Notiz wird umbenannt). Beispiele:", + "example_note": "Notiz – alle übereinstimmenden Notizen werden in „Notiz“ umbenannt.", + "example_new_title": "NEU: ${note.title} – Übereinstimmende Notiztitel erhalten das Präfix „NEU:“", + "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} – übereinstimmende Notizen werden mit dem Erstellungsmonat und -datum der Notiz vorangestellt", + "api_docs": "Siehe API-Dokumente für Notiz und seinen dateCreatedObj / utcDateCreatedObj-Eigenschaften für Details." + }, + "add_relation": { + "add_relation": "Beziehung hinzufügen", + "relation_name": "Beziehungsname", + "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", + "to": "zu", + "target_note": "Zielnotiz", + "create_relation_on_all_matched_notes": "Erstelle für alle übereinstimmenden Notizen eine bestimmte Beziehung." + }, + "delete_relation": { + "delete_relation": "Beziehung löschen", + "relation_name": "Beziehungsname", + "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." + }, + "rename_relation": { + "rename_relation": "Beziehung umbenennen", + "rename_relation_from": "Beziehung umbenennen von", + "old_name": "alter Name", + "to": "zu", + "new_name": "neuer Name", + "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." + }, + "update_relation_target": { + "update_relation": "Beziehung aktualisieren", + "relation_name": "Beziehungsname", + "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", + "to": "zu", + "target_note": "Zielnotiz", + "on_all_matched_notes": "Auf allen übereinstimmenden Notizen", + "change_target_note": "oder ändere die Zielnotiz der bestehenden Beziehung", + "update_relation_target": "Beziehungsziel aktualisieren" + }, + "attachments_actions": { + "open_externally": "Extern öffnen", + "open_externally_title": "Die Datei wird in einer externen Anwendung geöffnet und auf Änderungen überwacht. Anschließend kannst du die geänderte Version wieder auf Trilium hochladen.", + "open_custom": "Benutzerdefiniert öffnen", + "open_custom_title": "Die Datei wird in einer externen Anwendung geöffnet und auf Änderungen überwacht. Anschließend kannst du die geänderte Version wieder auf Trilium hochladen.", + "download": "Herunterladen", + "rename_attachment": "Anhang umbenennen", + "upload_new_revision": "Neue Revision hochladen", + "copy_link_to_clipboard": "Link in die Zwischenablage kopieren", + "convert_attachment_into_note": "Anhang in Notiz umwandeln", + "delete_attachment": "Anhang löschen", + "upload_success": "Eine neue Revision des Anhangs wurde hochgeladen.", + "upload_failed": "Das Hochladen einer neuen Anhangrevision ist fehlgeschlagen.", + "open_externally_detail_page": "Das externe Öffnen des Anhangs ist nur auf der Detailseite möglich. Klicke bitte zuerst auf Details des Anhangs und wiederhole den Vorgang.", + "open_custom_client_only": "Das benutzerdefinierte Öffnen von Anhängen kann nur über den Desktop-Client erfolgen.", + "delete_confirm": "Bist du sicher, dass du den Anhang „{{title}}“ löschen möchtest?", + "delete_success": "Anhang „{{title}}“ wurde gelöscht.", + "convert_confirm": "Bist du sicher, dass du den Anhang „{{title}}“ in eine separate Notiz umwandeln möchtest?", + "convert_success": "Anhang „{{title}}“ wurde in eine Notiz umgewandelt.", + "enter_new_name": "Bitte gebe den Namen des neuen Anhangs ein" + }, + "calendar": { + "mon": "Mo", + "tue": "Di", + "wed": "Mi", + "thu": "Do", + "fri": "Fr", + "sat": "Sa", + "sun": "So", + "cannot_find_day_note": "Tagesnotiz kann nicht gefunden werden", + "january": "Januar", + "febuary": "Februar", + "march": "März", + "april": "April", + "may": "Mai", + "june": "Juni", + "july": "Juli", + "august": "August", + "september": "September", + "october": "Oktober", + "november": "November", + "december": "Dezember" + }, + "close_pane_button": { + "close_this_pane": "Schließe diesen Bereich" + }, + "create_pane_button": { + "create_new_split": "Neuen Split erstellen" + }, + "edit_button": { + "edit_this_note": "Bearbeite diese Notiz" + }, + "show_toc_widget_button": { + "show_toc": "Inhaltsverzeichnis anzeigen" + }, + "show_highlights_list_widget_button": { + "show_highlights_list": "Hervorhebungen anzeigen" + }, + "global_menu": { + "menu": "Menü", + "options": "Optionen", + "open_new_window": "Öffne ein neues Fenster", + "switch_to_mobile_version": "Zur mobilen Ansicht wechseln", + "switch_to_desktop_version": "Zur Desktop-Ansicht wechseln", + "zoom": "Zoom", + "toggle_fullscreen": "Vollbild umschalten", + "zoom_out": "Herauszoomen", + "reset_zoom_level": "Zoomstufe zurücksetzen", + "zoom_in": "Hineinzoomen", + "configure_launchbar": "Konfiguriere die Launchbar", + "show_shared_notes_subtree": "Unterbaum „Freigegebene Notizen“ anzeigen", + "advanced": "Erweitert", + "open_dev_tools": "Öffne die Entwicklungstools", + "open_sql_console": "Öffne die SQL-Konsole", + "open_sql_console_history": "Öffne den SQL-Konsolenverlauf", + "open_search_history": "Öffne den Suchverlauf", + "show_backend_log": "Backend-Protokoll anzeigen", + "reload_hint": "Ein Neuladen kann bei einigen visuellen Störungen Abhilfe schaffen, ohne die gesamte App neu starten zu müssen.", + "reload_frontend": "Frontend neu laden", + "show_hidden_subtree": "Versteckten Teilbaum anzeigen", + "show_help": "Hilfe anzeigen", + "about": "Über Trilium Notes", + "logout": "Abmelden", + "show-cheatsheet": "Cheatsheet anzeigen", + "toggle-zen-mode": "Zen Modus" + }, + "sync_status": { + "unknown": "

Der Synchronisations-Status wird bekannt, sobald der nächste Synchronisierungsversuch gestartet wird.

Klicke, um eine Synchronisierung jetzt auszulösen.

", + "connected_with_changes": "

Mit dem Synchronisations-Server verbunden.
Es gibt noch ausstehende Änderungen, die synchronisiert werden müssen.

Klicke, um eine Synchronisierung jetzt auszulösen.

", + "connected_no_changes": "

Mit dem Synchronisations-Server verbunden.
Alle Änderungen wurden bereits synchronisiert.

Klicke, um eine Synchronisierung jetzt auszulösen.

", + "disconnected_with_changes": "

Die Verbindung zum Synchronisations-Server konnte nicht hergestellt werden.
Es gibt noch ausstehende Änderungen, die synchronisiert werden müssen.

Klicke, um eine Synchronisierung jetzt auszulösen.

", + "disconnected_no_changes": "

Die Verbindung zum SySynchronisationsnc-Server konnte nicht hergestellt werden.
Alle bekannten Änderungen wurden synchronisiert.

Klicke, um eine Synchronisierung jetzt auszulösen.

", + "in_progress": "Der Synchronisierungsvorgang mit dem Server ist im Gange." + }, + "left_pane_toggle": { + "show_panel": "Panel anzeigen", + "hide_panel": "Panel ausblenden" + }, + "move_pane_button": { + "move_left": "Nach links bewegen", + "move_right": "Nach rechts bewegen" + }, + "note_actions": { + "convert_into_attachment": "In Anhang umwandeln", + "re_render_note": "Notiz erneut rendern", + "search_in_note": "In Notiz suchen", + "note_source": "Notizquelle", + "note_attachments": "Notizanhänge", + "open_note_externally": "Notiz extern öffnen", + "open_note_externally_title": "Die Datei wird in einer externen Anwendung geöffnet und auf Änderungen überwacht. Anschließend kannst du die geänderte Version wieder auf Trilium hochladen.", + "open_note_custom": "Benutzerdefiniert Notiz öffnen", + "import_files": "Dateien importieren", + "export_note": "Notiz exportieren", + "delete_note": "Notiz löschen", + "print_note": "Notiz drucken", + "save_revision": "Revision speichern", + "convert_into_attachment_failed": "Konvertierung der Notiz '{{title}}' fehlgeschlagen.", + "convert_into_attachment_successful": "Notiz '{{title}}' wurde als Anhang konvertiert.", + "convert_into_attachment_prompt": "Bist du dir sicher, dass du die Notiz '{{title}}' in ein Anhang der übergeordneten Notiz konvertieren möchtest?", + "print_pdf": "Export als PDF..." + }, + "onclick_button": { + "no_click_handler": "Das Schaltflächen-Widget „{{componentId}}“ hat keinen definierten Klick-Handler" + }, + "protected_session_status": { + "active": "Die geschützte Sitzung ist aktiv. Klicke hier, um die geschützte Sitzung zu verlassen.", + "inactive": "Klicke hier, um die geschützte Sitzung aufzurufen" + }, + "revisions_button": { + "note_revisions": "Notizrevisionen" + }, + "update_available": { + "update_available": "Update verfügbar" + }, + "note_launcher": { + "this_launcher_doesnt_define_target_note": "Dieser Launcher definiert keine Zielnotiz." + }, + "code_buttons": { + "execute_button_title": "Skript ausführen", + "trilium_api_docs_button_title": "Öffne die Trilium-API-Dokumentation", + "save_to_note_button_title": "In die Notiz speichern", + "opening_api_docs_message": "API-Dokumentation wird geöffnet...", + "sql_console_saved_message": "SQL-Konsolennotiz wurde in {{note_path}} gespeichert" + }, + "copy_image_reference_button": { + "button_title": "Bildreferenz in die Zwischenablage kopieren, kann in eine Textnotiz eingefügt werden." + }, + "hide_floating_buttons_button": { + "button_title": "Schaltflächen ausblenden" + }, + "show_floating_buttons_button": { + "button_title": "Schaltflächen einblenden" + }, + "svg_export_button": { + "button_title": "Diagramm als SVG exportieren" + }, + "relation_map_buttons": { + "create_child_note_title": "Erstelle eine neue untergeordnete Notiz und füge sie dieser Beziehungskarte hinzu", + "reset_pan_zoom_title": "Schwenken und Zoomen auf die ursprünglichen Koordinaten und Vergrößerung zurücksetzen", + "zoom_in_title": "Hineinzoom", + "zoom_out_title": "Herauszoomen" + }, + "zpetne_odkazy": { + "backlink": "{{count}} Backlink", + "backlinks": "{{count}} Backlinks", + "relation": "Beziehung" + }, + "mobile_detail_menu": { + "insert_child_note": "Untergeordnete Notiz einfügen", + "delete_this_note": "Diese Notiz löschen", + "error_cannot_get_branch_id": "BranchId für notePath „{{notePath}}“ kann nicht abgerufen werden.", + "error_unrecognized_command": "Unbekannter Befehl {{command}}" + }, + "note_icon": { + "change_note_icon": "Notiz-Icon ändern", + "category": "Kategorie:", + "search": "Suche:", + "reset-default": "Standard wiederherstellen" + }, + "basic_properties": { + "note_type": "Notiztyp", + "editable": "Bearbeitbar", + "basic_properties": "Grundlegende Eigenschaften" + }, + "book_properties": { + "view_type": "Ansichtstyp", + "grid": "Gitter", + "list": "Liste", + "collapse_all_notes": "Alle Notizen einklappen", + "expand_all_children": "Unternotizen ausklappen", + "collapse": "Einklappen", + "expand": "Ausklappen", + "invalid_view_type": "Ungültiger Ansichtstyp „{{type}}“", + "calendar": "Kalender" + }, + "edited_notes": { + "no_edited_notes_found": "An diesem Tag wurden noch keine Notizen bearbeitet...", + "title": "Bearbeitete Notizen", + "deleted": "(gelöscht)" + }, + "file_properties": { + "note_id": "Notiz-ID", + "original_file_name": "Ursprünglicher Dateiname", + "file_type": "Dateityp", + "file_size": "Dateigröße", + "download": "Herunterladen", + "open": "Offen", + "upload_new_revision": "Neue Revision hochladen", + "upload_success": "Neue Dateirevision wurde hochgeladen.", + "upload_failed": "Das Hochladen einer neuen Dateirevision ist fehlgeschlagen.", + "title": "Datei" + }, + "image_properties": { + "original_file_name": "Ursprünglicher Dateiname", + "file_type": "Dateityp", + "file_size": "Dateigröße", + "download": "Herunterladen", + "open": "Offen", + "copy_reference_to_clipboard": "Verweis in die Zwischenablage kopieren", + "upload_new_revision": "Neue Revision hochladen", + "upload_success": "Neue Bildrevision wurde hochgeladen.", + "upload_failed": "Das Hochladen einer neuen Bildrevision ist fehlgeschlagen: {{message}}", + "title": "Bild" + }, + "inherited_attribute_list": { + "title": "Geerbte Attribute", + "no_inherited_attributes": "Keine geerbten Attribute." + }, + "note_info_widget": { + "note_id": "Notiz-ID", + "created": "Erstellt", + "modified": "Geändert", + "type": "Typ", + "note_size": "Notengröße", + "note_size_info": "Die Notizgröße bietet eine grobe Schätzung des Speicherbedarfs für diese Notiz. Es berücksichtigt den Inhalt der Notiz und den Inhalt ihrer Notizrevisionen.", + "calculate": "berechnen", + "subtree_size": "(Teilbaumgröße: {{size}} in {{count}} Notizen)", + "title": "Notizinfo" + }, + "note_map": { + "open_full": "Vollständig erweitern", + "collapse": "Auf normale Größe reduzieren", + "title": "Notizkarte", + "fix-nodes": "Knoten fixieren", + "link-distance": "Verbindungslänge" + }, + "note_paths": { + "title": "Notizpfade", + "clone_button": "Notiz an neuen Speicherort klonen...", + "intro_placed": "Diese Notiz wird in den folgenden Pfaden abgelegt:", + "intro_not_placed": "Diese Notiz ist noch nicht im Notizbaum platziert.", + "outside_hoisted": "Dieser Pfad liegt außerhalb der fokusierten Notiz und du müssten den Fokus aufheben.", + "archived": "Archiviert", + "search": "Suchen" + }, + "note_properties": { + "this_note_was_originally_taken_from": "Diese Notiz stammt ursprünglich aus:", + "info": "Info" + }, + "owned_attribute_list": { + "owned_attributes": "Eigene Attribute" + }, + "promoted_attributes": { + "promoted_attributes": "Übergebene Attribute", + "url_placeholder": "http://website...", + "open_external_link": "Externen Link öffnen", + "unknown_label_type": "Unbekannter Labeltyp „{{type}}“", + "unknown_attribute_type": "Unbekannter Attributtyp „{{type}}“", + "add_new_attribute": "Neues Attribut hinzufügen", + "remove_this_attribute": "Entferne dieses Attribut" + }, + "script_executor": { + "query": "Abfrage", + "script": "Skript", + "execute_query": "Abfrage ausführen", + "execute_script": "Skript ausführen" + }, + "search_definition": { + "add_search_option": "Suchoption hinzufügen:", + "search_string": "Suchzeichenfolge", + "search_script": "Suchskript", + "ancestor": "Vorfahr", + "fast_search": "schnelle Suche", + "fast_search_description": "Die Option „Schnellsuche“ deaktiviert die Volltextsuche von Notizinhalten, was die Suche in großen Datenbanken beschleunigen könnte.", + "include_archived": "archiviert einschließen", + "include_archived_notes_description": "Archivierte Notizen sind standardmäßig von den Suchergebnissen ausgeschlossen, mit dieser Option werden sie einbezogen.", + "order_by": "Bestellen nach", + "limit": "Limit", + "limit_description": "Begrenze die Anzahl der Ergebnisse", + "debug": "debuggen", + "debug_description": "Debug gibt zusätzliche Debuginformationen in die Konsole aus, um das Debuggen komplexer Abfragen zu erleichtern", + "action": "Aktion", + "search_button": "Suchen Eingabetaste", + "search_execute": "Aktionen suchen und ausführen", + "save_to_note": "Als Notiz speichern", + "search_parameters": "Suchparameter", + "unknown_search_option": "Unbekannte Suchoption {{searchOptionName}}", + "search_note_saved": "Suchnotiz wurde in {{-notePathTitle}} gespeichert", + "actions_executed": "Aktionen wurden ausgeführt." + }, + "similar_notes": { + "title": "Ähnliche Notizen", + "no_similar_notes_found": "Keine ähnlichen Notizen gefunden." + }, + "abstract_search_option": { + "remove_this_search_option": "Entferne diese Suchoption", + "failed_rendering": "Fehler beim Rendern der Suchoption: {{dto}} mit Fehler: {{error}} {{stack}}" + }, + "ancestor": { + "label": "Vorfahre", + "placeholder": "Suche nach einer Notiz anhand ihres Namens", + "depth_label": "Tiefe", + "depth_doesnt_matter": "spielt keine Rolle", + "depth_eq": "ist genau {{count}}", + "direct_children": "direkte Kinder", + "depth_gt": "ist größer als {{count}}", + "depth_lt": "ist kleiner als {{count}}" + }, + "debug": { + "debug": "Debuggen", + "debug_info": "Debug gibt zusätzliche Debuginformationen in die Konsole aus, um das Debuggen komplexer Abfragen zu erleichtern.", + "access_info": "Um auf die Debug-Informationen zuzugreifen, führe die Abfrage aus und klicke oben links auf \"Backend-Log anzeigen\"." + }, + "fast_search": { + "fast_search": "Schnelle Suche", + "description": "Die Option „Schnellsuche“ deaktiviert die Volltextsuche von Notizinhalten, was die Suche in großen Datenbanken beschleunigen könnte." + }, + "include_archived_notes": { + "include_archived_notes": "Füge archivierte Notizen hinzu" + }, + "limit": { + "limit": "Limit", + "take_first_x_results": "Nehmen Sie nur die ersten X angegebenen Ergebnisse." + }, + "order_by": { + "order_by": "Bestellen nach", + "relevancy": "Relevanz (Standard)", + "title": "Titel", + "date_created": "Erstellungsdatum", + "date_modified": "Datum der letzten Änderung", + "content_size": "Beachte die Inhaltsgröße", + "content_and_attachments_size": "Beachte die Inhaltsgröße einschließlich der Anhänge", + "content_and_attachments_and_revisions_size": "Beachte die Inhaltsgröße einschließlich Anhängen und Revisionen", + "revision_count": "Anzahl der Revisionen", + "children_count": "Anzahl der Unternotizen", + "parent_count": "Anzahl der Klone", + "owned_label_count": "Anzahl der Etiketten", + "owned_relation_count": "Anzahl der Beziehungen", + "target_relation_count": "Anzahl der Beziehungen, die auf die Notiz abzielen", + "random": "Zufällige Reihenfolge", + "asc": "Aufsteigend (Standard)", + "desc": "Absteigend" + }, + "search_script": { + "title": "Suchskript:", + "placeholder": "Suche nach einer Notiz anhand ihres Namens", + "description1": "Das Suchskript ermöglicht das Definieren von Suchergebnissen durch Ausführen eines Skripts. Dies bietet maximale Flexibilität, wenn die Standardsuche nicht ausreicht.", + "description2": "Das Suchskript muss vom Typ \"Code\" und dem Subtyp \"JavaScript Backend\" sein. Das Skript muss ein Array von noteIds oder Notizen zurückgeben.", + "example_title": "Siehe dir dieses Beispiel an:", + "example_code": "// 1. Vorfiltern mit der Standardsuche\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. Anwenden benutzerdefinierter Suchkriterien\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", + "note": "Beachte, dass Suchskript und Suchzeichenfolge nicht miteinander kombiniert werden können." + }, + "search_string": { + "title_column": "Suchbegriff:", + "placeholder": "Volltextschlüsselwörter, #tag u003d Wert...", + "search_syntax": "Suchsyntax", + "also_see": "siehe auch", + "complete_help": "Vollständige Hilfe zur Suchsyntax", + "full_text_search": "Gebe einfach einen beliebigen Text für die Volltextsuche ein", + "label_abc": "gibt Notizen mit der Bezeichnung abc zurück", + "label_year": "Entspricht Notizen mit der Beschriftung Jahr und dem Wert 2019", + "label_rock_pop": "Entspricht Noten, die sowohl Rock- als auch Pop-Bezeichnungen haben", + "label_rock_or_pop": "Es darf nur eines der Labels vorhanden sein", + "label_year_comparison": "numerischer Vergleich (auch >, >u003d, <).", + "label_date_created": "Notizen, die im letzten Monat erstellt wurden", + "error": "Suchfehler: {{error}}", + "search_prefix": "Suche:" + }, + "attachment_detail": { + "open_help_page": "Hilfeseite zu Anhängen öffnen", + "owning_note": "Eigentümernotiz: ", + "you_can_also_open": ", Du kannst auch das öffnen", + "list_of_all_attachments": "Liste aller Anhänge", + "attachment_deleted": "Dieser Anhang wurde gelöscht." + }, + "attachment_list": { + "open_help_page": "Hilfeseite zu Anhängen öffnen", + "owning_note": "Eigentümernotiz: ", + "upload_attachments": "Anhänge hochladen", + "no_attachments": "Diese Notiz enthält keine Anhänge." + }, + "book": { + "no_children_help": "Diese Notiz mit dem Notiztyp Buch besitzt keine Unternotizen, deshalb ist nichts zum Anzeigen vorhanden. Siehe Wiki für mehr Details." + }, + "editable_code": { + "placeholder": "Gebe hier den Inhalt deiner Codenotiz ein..." + }, + "editable_text": { + "placeholder": "Gebe hier den Inhalt deiner Notiz ein..." + }, + "empty": { + "open_note_instruction": "Öffne eine Notiz, indem du den Titel der Notiz in die Eingabe unten eingibst oder eine Notiz in der Baumstruktur auswählst.", + "search_placeholder": "Suche nach einer Notiz anhand ihres Namens", + "enter_workspace": "Betrete den Arbeitsbereich {{title}}" + }, + "file": { + "file_preview_not_available": "Für dieses Dateiformat ist keine Dateivorschau verfügbar." + }, + "protected_session": { + "enter_password_instruction": "Um die geschützte Notiz anzuzeigen, musst du dein Passwort eingeben:", + "start_session_button": "Starte eine geschützte Sitzung Eingabetaste", + "started": "Geschützte Sitzung gestartet.", + "wrong_password": "Passwort flasch.", + "protecting-finished-successfully": "Geschützt erfolgreich beendet.", + "unprotecting-finished-successfully": "Ungeschützt erfolgreich beendet.", + "protecting-in-progress": "Schützen läuft: {{count}}", + "unprotecting-in-progress-count": "Entschützen läuft: {{count}}", + "protecting-title": "Geschützt-Status", + "unprotecting-title": "Ungeschützt-Status" + }, + "relation_map": { + "open_in_new_tab": "In neuem Tab öffnen", + "remove_note": "Notiz entfernen", + "edit_title": "Titel bearbeiten", + "rename_note": "Notiz umbenennen", + "enter_new_title": "Gebe einen neuen Notiztitel ein:", + "remove_relation": "Beziehung entfernen", + "confirm_remove_relation": "Bist du sicher, dass du die Beziehung entfernen möchtest?", + "specify_new_relation_name": "Gebe den neuen Beziehungsnamen an (erlaubte Zeichen: alphanumerisch, Doppelpunkt und Unterstrich):", + "connection_exists": "Die Verbindung „{{name}}“ zwischen diesen Notizen besteht bereits.", + "start_dragging_relations": "Beginne hier mit dem Ziehen von Beziehungen und lege sie auf einer anderen Notiz ab.", + "note_not_found": "Notiz {{noteId}} nicht gefunden!", + "cannot_match_transform": "Transformation kann nicht übereinstimmen: {{transform}}", + "note_already_in_diagram": "Die Notiz \"{{title}}\" ist schon im Diagram.", + "enter_title_of_new_note": "Gebe den Titel der neuen Notiz ein", + "default_new_note_title": "neue Notiz", + "click_on_canvas_to_place_new_note": "Klicke auf den Canvas, um eine neue Notiz zu platzieren" + }, + "render": { + "note_detail_render_help_1": "Diese Hilfesnotiz wird angezeigt, da diese Notiz vom Typ „HTML rendern“ nicht über die erforderliche Beziehung verfügt, um ordnungsgemäß zu funktionieren.", + "note_detail_render_help_2": "Render-HTML-Notiztyp wird benutzt für scripting. Kurzgesagt, du hast ein HTML-Code-Notiz (optional mit JavaScript) und diese Notiz rendert es. Damit es funktioniert, musst du eine a Beziehung namens \"renderNote\" zeigend auf die HTML-Notiz zum rendern definieren." + }, + "web_view": { + "web_view": "Webansicht", + "embed_websites": "Notiz vom Typ Web View ermöglicht das Einbetten von Websites in Trilium.", + "create_label": "To start, please create a label with a URL address you want to embed, e.g. #webViewSrc=\"https://www.google.com\"" + }, + "backend_log": { + "refresh": "Aktualisieren" + }, + "consistency_checks": { + "title": "Konsistenzprüfungen", + "find_and_fix_button": "Finde und behebe die Konsistenzprobleme", + "finding_and_fixing_message": "Konsistenzprobleme finden und beheben...", + "issues_fixed_message": "Konsistenzprobleme sollten behoben werden." + }, + "database_anonymization": { + "title": "Datenbankanonymisierung", + "full_anonymization": "Vollständige Anonymisierung", + "full_anonymization_description": "Durch diese Aktion wird eine neue Kopie der Datenbank erstellt und anonymisiert (der gesamte Notizinhalt wird entfernt und nur die Struktur und einige nicht vertrauliche Metadaten bleiben übrig), sodass sie zu Debugging-Zwecken online geteilt werden kann, ohne befürchten zu müssen, dass Ihre persönlichen Daten verloren gehen.", + "save_fully_anonymized_database": "Speichere eine vollständig anonymisierte Datenbank", + "light_anonymization": "Leichte Anonymisierung", + "light_anonymization_description": "Durch diese Aktion wird eine neue Kopie der Datenbank erstellt und eine leichte Anonymisierung vorgenommen – insbesondere wird nur der Inhalt aller Notizen entfernt, Titel und Attribute bleiben jedoch erhalten. Darüber hinaus bleiben benutzerdefinierte JS-Frontend-/Backend-Skriptnotizen und benutzerdefinierte Widgets erhalten. Dies bietet mehr Kontext zum Debuggen der Probleme.", + "choose_anonymization": "Du kannst selbst entscheiden, ob du eine vollständig oder leicht anonymisierte Datenbank bereitstellen möchten. Selbst eine vollständig anonymisierte Datenbank ist sehr nützlich. In einigen Fällen kann jedoch eine leicht anonymisierte Datenbank den Prozess der Fehlererkennung und -behebung beschleunigen.", + "save_lightly_anonymized_database": "Speichere eine leicht anonymisierte Datenbank", + "existing_anonymized_databases": "Vorhandene anonymisierte Datenbanken", + "creating_fully_anonymized_database": "Vollständig anonymisierte Datenbank erstellen...", + "creating_lightly_anonymized_database": "Erstellen einer leicht anonymisierten Datenbank...", + "error_creating_anonymized_database": "Die anonymisierte Datenbank konnte nicht erstellt werden. Überprüfe die Backend-Protokolle auf Details", + "successfully_created_fully_anonymized_database": "Vollständig anonymisierte Datenbank in {{anonymizedFilePath}} erstellt", + "successfully_created_lightly_anonymized_database": "Leicht anonymisierte Datenbank in {{anonymizedFilePath}} erstellt", + "no_anonymized_database_yet": "Noch keine anonymisierte Datenbank" + }, + "database_integrity_check": { + "title": "Datenbankintegritätsprüfung", + "description": "Dadurch wird überprüft, ob die Datenbank auf SQLite-Ebene nicht beschädigt ist. Abhängig von der DB-Größe kann es einige Zeit dauern.", + "check_button": "Überprüfe die Datenbankintegrität", + "checking_integrity": "Datenbankintegrität prüfen...", + "integrity_check_succeeded": "Integritätsprüfung erfolgreich – keine Probleme gefunden.", + "integrity_check_failed": "Integritätsprüfung fehlgeschlagen: {{results}}" + }, + "sync": { + "title": "Synchronisieren", + "force_full_sync_button": "Vollständige Synchronisierung erzwingen", + "fill_entity_changes_button": "Entitätsänderungsdatensätze füllen", + "full_sync_triggered": "Vollständige Synchronisierung ausgelöst", + "filling_entity_changes": "Entitätsänderungszeilen werden gefüllt...", + "sync_rows_filled_successfully": "Synchronisierungszeilen erfolgreich gefüllt", + "finished-successfully": "Synchronisierung erfolgreich beendet.", + "failed": "Synchronisierung fehlgeschlagen: {{message}}" + }, + "vacuum_database": { + "title": "Vakuumdatenbank", + "description": "Dadurch wird die Datenbank neu erstellt, was normalerweise zu einer kleineren Datenbankdatei führt. Es werden keine Daten tatsächlich geändert.", + "button_text": "Vakuumdatenbank", + "vacuuming_database": "Datenbank wird geleert...", + "database_vacuumed": "Die Datenbank wurde geleert" + }, + "fonts": { + "theme_defined": "Thema definiert", + "fonts": "Schriftarten", + "main_font": "Handschrift", + "font_family": "Schriftfamilie", + "size": "Größe", + "note_tree_font": "Notizbaum-Schriftart", + "note_detail_font": "Notiz-Detail-Schriftart", + "monospace_font": "Minivan (Code) Schriftart", + "note_tree_and_detail_font_sizing": "Beachte, dass die Größe der Baum- und Detailschriftarten relativ zur Hauptschriftgrößeneinstellung ist.", + "not_all_fonts_available": "Möglicherweise sind nicht alle aufgelisteten Schriftarten auf Ihrem System verfügbar.", + "apply_font_changes": "Um Schriftartänderungen zu übernehmen, klicke auf", + "reload_frontend": "Frontend neu laden", + "generic-fonts": "Generische Schriftarten", + "sans-serif-system-fonts": "Sans-serif Systemschriftarten", + "serif-system-fonts": "Serif Systemschriftarten", + "monospace-system-fonts": "Monospace Systemschriftarten", + "handwriting-system-fonts": "Handschrift Systemschriftarten", + "serif": "Serif", + "sans-serif": "Sans Serif", + "monospace": "Monospace", + "system-default": "System Standard" + }, + "max_content_width": { + "title": "Inhaltsbreite", + "default_description": "Trilium begrenzt standardmäßig die maximale Inhaltsbreite, um die Lesbarkeit für maximierte Bildschirme auf Breitbildschirmen zu verbessern.", + "max_width_label": "Maximale Inhaltsbreite in Pixel", + "apply_changes_description": "Um Änderungen an der Inhaltsbreite anzuwenden, klicke auf", + "reload_button": "Frontend neu laden", + "reload_description": "Änderungen an den Darstellungsoptionen" + }, + "native_title_bar": { + "title": "Native Titelleiste (App-Neustart erforderlich)", + "enabled": "ermöglicht", + "disabled": "deaktiviert" + }, + "ribbon": { + "widgets": "Multifunktionsleisten-Widgets", + "promoted_attributes_message": "Die Multifunktionsleisten-Registerkarte „Heraufgestufte Attribute“ wird automatisch geöffnet, wenn in der Notiz heraufgestufte Attribute vorhanden sind", + "edited_notes_message": "Die Multifunktionsleisten-Registerkarte „Bearbeitete Notizen“ wird bei Tagesnotizen automatisch geöffnet" + }, + "theme": { + "title": "Thema", + "theme_label": "Thema", + "override_theme_fonts_label": "Theme-Schriftarten überschreiben", + "auto_theme": "Auto", + "light_theme": "Hell", + "dark_theme": "Dunkel", + "triliumnext": "TriliumNext Beta (Systemfarbschema folgend)", + "triliumnext-light": "TriliumNext Beta (Hell)", + "triliumnext-dark": "TriliumNext Beta (Dunkel)", + "layout": "Layout", + "layout-vertical-title": "Vertikal", + "layout-horizontal-title": "Horizontal", + "layout-vertical-description": "Startleiste ist auf der linken Seite (standard)", + "layout-horizontal-description": "Startleiste ist unter der Tableiste. Die Tableiste wird dadurch auf die ganze Breite erweitert." + }, + "zoom_factor": { + "title": "Zoomfaktor (nur Desktop-Build)", + "description": "Das Zoomen kann auch mit den Tastenkombinationen STRG+- und STRG+u003d gesteuert werden." + }, + "code_auto_read_only_size": { + "title": "Automatische schreibgeschützte Größe", + "description": "Die automatische schreibgeschützte Notizgröße ist die Größe, ab der Notizen im schreibgeschützten Modus angezeigt werden (aus Leistungsgründen).", + "label": "Automatische schreibgeschützte Größe (Codenotizen)" + }, + "code_mime_types": { + "title": "Verfügbare MIME-Typen im Dropdown-Menü" + }, + "vim_key_bindings": { + "use_vim_keybindings_in_code_notes": "Verwende VIM-Tastenkombinationen in Codenotizen (kein Ex-Modus)", + "enable_vim_keybindings": "Aktiviere Vim-Tastenkombinationen" + }, + "wrap_lines": { + "wrap_lines_in_code_notes": "Zeilen in Codenotizen umbrechen", + "enable_line_wrap": "Zeilenumbruch aktivieren (Änderung erfordert möglicherweise ein Neuladen des Frontends, um wirksam zu werden)" + }, + "images": { + "images_section_title": "Bilder", + "download_images_automatically": "Lade Bilder automatisch herunter, um sie offline zu verwenden.", + "download_images_description": "Eingefügter HTML-Code kann Verweise auf Online-Bilder enthalten. Trilium findet diese Verweise und lädt die Bilder herunter, sodass sie offline verfügbar sind.", + "enable_image_compression": "Bildkomprimierung aktivieren", + "max_image_dimensions": "Maximale Breite/Höhe eines Bildes in Pixel (die Größe des Bildes wird geändert, wenn es diese Einstellung überschreitet).", + "jpeg_quality_description": "JPEG-Qualität (10 – schlechteste Qualität, 100 – beste Qualität, 50 – 85 wird empfohlen)" + }, + "attachment_erasure_timeout": { + "attachment_erasure_timeout": "Zeitüberschreitung beim Löschen von Anhängen", + "attachment_auto_deletion_description": "Anhänge werden automatisch gelöscht (und gelöscht), wenn sie nach einer definierten Zeitspanne nicht mehr in ihrer Notiz referenziert werden.", + "erase_attachments_after": "Erase unused attachments after:", + "manual_erasing_description": "Du kannst das Löschen auch manuell auslösen (ohne Berücksichtigung des oben definierten Timeouts):", + "erase_unused_attachments_now": "Lösche jetzt nicht verwendete Anhangnotizen", + "unused_attachments_erased": "Nicht verwendete Anhänge wurden gelöscht." + }, + "network_connections": { + "network_connections_title": "Netzwerkverbindungen", + "check_for_updates": "Suche automatisch nach Updates" + }, + "note_erasure_timeout": { + "note_erasure_timeout_title": "Beachte das Zeitlimit für die Löschung", + "note_erasure_description": "Deleted notes (and attributes, revisions...) are at first only marked as deleted and it is possible to recover them from Recent Notes dialog. After a period of time, deleted notes are \"erased\" which means their content is not recoverable anymore. This setting allows you to configure the length of the period between deleting and erasing the note.", + "erase_notes_after": "Notizen löschen nach:", + "manual_erasing_description": "Du kannst das Löschen auch manuell auslösen (ohne Berücksichtigung des oben definierten Timeouts):", + "erase_deleted_notes_now": "Jetzt gelöschte Notizen löschen", + "deleted_notes_erased": "Gelöschte Notizen wurden gelöscht." + }, + "revisions_snapshot_interval": { + "note_revisions_snapshot_interval_title": "Snapshot-Intervall für Notizrevisionen", + "note_revisions_snapshot_description": "Das Snapshot-Zeitintervall für Notizrevisionen ist die Zeit, nach der eine neue Notizrevision erstellt wird. Weitere Informationen findest du im Wiki.", + "snapshot_time_interval_label": "Zeitintervall für Notiz-Revisions-Snapshot:" + }, + "revisions_snapshot_limit": { + "note_revisions_snapshot_limit_title": "Limit für Notizrevision-Snapshots", + "note_revisions_snapshot_limit_description": "Das Limit für Notizrevision-Snapshots bezieht sich auf die maximale Anzahl von Revisionen, die für jede Notiz gespeichert werden können. Dabei bedeutet -1, dass es kein Limit gibt, und 0 bedeutet, dass alle Revisionen gelöscht werden. Du kannst das maximale Limit für Revisionen einer einzelnen Notiz über das Label #versioningLimit festlegen.", + "snapshot_number_limit_label": "Limit der Notizrevision-Snapshots:", + "erase_excess_revision_snapshots": "Überschüssige Revision-Snapshots jetzt löschen", + "erase_excess_revision_snapshots_prompt": "Überschüssige Revision-Snapshots wurden gelöscht." + }, + "search_engine": { + "title": "Suchmaschine", + "custom_search_engine_info": "Für eine benutzerdefinierte Suchmaschine müssen sowohl ein Name als auch eine URL festgelegt werden. Wenn keine dieser Optionen festgelegt ist, wird DuckDuckGo als Standardsuchmaschine verwendet.", + "predefined_templates_label": "Vordefinierte Suchmaschinenvorlagen", + "bing": "Bing", + "baidu": "Baidu", + "duckduckgo": "DuckDuckGo", + "google": "Google", + "custom_name_label": "Benutzerdefinierter Suchmaschinenname", + "custom_name_placeholder": "Passe den Suchmaschinennamen an", + "custom_url_label": "Die benutzerdefinierte Suchmaschinen-URL sollte {keyword} als Platzhalter für den Suchbegriff enthalten.", + "custom_url_placeholder": "Passe die Suchmaschinen-URL an", + "save_button": "Speichern" + }, + "tray": { + "title": "Systemablage", + "enable_tray": "Tray aktivieren (Trilium muss neu gestartet werden, damit diese Änderung wirksam wird)" + }, + "heading_style": { + "title": "Überschriftenstil", + "plain": "Schmucklos", + "underline": "Unterstreichen", + "markdown": "Markdown-Stil" + }, + "highlights_list": { + "title": "Highlights-Liste", + "description": "Du kannst die im rechten Bereich angezeigte Highlights-Liste anpassen:", + "bold": "Fettgedruckter Text", + "italic": "Kursiver Text", + "underline": "Unterstrichener Text", + "color": "Farbiger Text", + "bg_color": "Text mit Hintergrundfarbe", + "visibility_title": "Sichtbarkeit der Highlights-Liste", + "visibility_description": "Du kannst das Hervorhebungs-Widget pro Notiz ausblenden, indem du die Beschriftung #hideHighlightWidget hinzufügst.", + "shortcut_info": "Du kannst eine Tastenkombination zum schnellen Umschalten des rechten Bereichs (einschließlich Hervorhebungen) in den Optionen -> Tastenkombinationen konfigurieren (Name „toggleRightPane“)." + }, + "table_of_contents": { + "title": "Inhaltsverzeichnis", + "description": "Das Inhaltsverzeichnis wird in Textnotizen angezeigt, wenn die Notiz mehr als eine definierte Anzahl von Überschriften enthält. Du kannst diese Nummer anpassen:", + "disable_info": "Du kannst diese Option auch verwenden, um TOC effektiv zu deaktivieren, indem du eine sehr hohe Zahl festlegst.", + "shortcut_info": "Du kannst eine Tastenkombination zum schnellen Umschalten des rechten Bereichs (einschließlich Inhaltsverzeichnis) unter Optionen -> Tastenkombinationen konfigurieren (Name „toggleRightPane“)." + }, + "text_auto_read_only_size": { + "title": "Automatische schreibgeschützte Größe", + "description": "Die automatische schreibgeschützte Notizgröße ist die Größe, ab der Notizen im schreibgeschützten Modus angezeigt werden (aus Leistungsgründen).", + "label": "Automatische schreibgeschützte Größe (Textnotizen)" + }, + "i18n": { + "title": "Lokalisierung", + "language": "Sprache", + "first-day-of-the-week": "Erster Tag der Woche", + "sunday": "Sonntag", + "monday": "Montag" + }, + "backup": { + "automatic_backup": "Automatische Sicherung", + "automatic_backup_description": "Trilium kann die Datenbank automatisch sichern:", + "enable_daily_backup": "Aktiviere die tägliche Sicherung", + "enable_weekly_backup": "Aktiviere die wöchentliche Sicherung", + "enable_monthly_backup": "Aktiviere die monatliche Sicherung", + "backup_recommendation": "Es wird empfohlen, die Sicherung aktiviert zu lassen. Dies kann jedoch bei großen Datenbanken und/oder langsamen Speichergeräten den Anwendungsstart verlangsamen.", + "backup_now": "Jetzt sichern", + "backup_database_now": "Jetzt Datenbank sichern", + "existing_backups": "Vorhandene Backups", + "date-and-time": "Datum & Uhrzeit", + "path": "Pfad", + "database_backed_up_to": "Die Datenbank wurde gesichert unter {{backupFilePath}}", + "no_backup_yet": "noch kein Backup" + }, + "etapi": { + "title": "ETAPI", + "description": "ETAPI ist eine REST-API, die für den programmgesteuerten Zugriff auf die Trilium-Instanz ohne Benutzeroberfläche verwendet wird.", + "see_more": "Weitere Details können im {{- link_to_wiki}} und in der {{- link_to_openapi_spec}} oder der {{- link_to_swagger_ui }} gefunden werden.", + "wiki": "Wiki", + "openapi_spec": "ETAPI OpenAPI-Spezifikation", + "swagger_ui": "ETAPI Swagger UI", + "create_token": "Erstelle ein neues ETAPI-Token", + "existing_tokens": "Vorhandene Token", + "no_tokens_yet": "Es sind noch keine Token vorhanden. Klicke auf die Schaltfläche oben, um eine zu erstellen.", + "token_name": "Tokenname", + "created": "Erstellt", + "actions": "Aktionen", + "new_token_title": "Neuer ETAPI-Token", + "new_token_message": "Bitte gebe en Namen des neuen Tokens ein", + "default_token_name": "neues Token", + "error_empty_name": "Der Tokenname darf nicht leer sein", + "token_created_title": "ETAPI-Token erstellt", + "token_created_message": "Kopiere den erstellten Token in die Zwischenablage. Trilium speichert den Token gehasht und dies ist das letzte Mal, dass du ihn siehst.", + "rename_token": "Benenne dieses Token um", + "delete_token": "Dieses Token löschen/deaktivieren", + "rename_token_title": "Token umbenennen", + "rename_token_message": "Bitte gebe den Namen des neuen Tokens ein", + "delete_token_confirmation": "Bist du sicher, dass den ETAPI token \"{{name}}\" löschen möchstest?" + }, + "options_widget": { + "options_status": "Optionsstatus", + "options_change_saved": "Die Änderung der Optionen wurde gespeichert." + }, + "password": { + "heading": "Passwort", + "alert_message": "Bitte merke dir dein neues Passwort gut. Das Passwort wird zum Anmelden bei der Weboberfläche und zum Verschlüsseln geschützter Notizen verwendet. Wenn du dein Passwort vergisst, gehen alle deine geschützten Notizen für immer verloren.", + "reset_link": "Klicke hier, um es zurückzusetzen.", + "old_password": "Altes Passwort", + "new_password": "Neues Passwort", + "new_password_confirmation": "Neue Passwortbestätigung", + "change_password": "Kennwort ändern", + "protected_session_timeout": "Zeitüberschreitung der geschützten Sitzung", + "protected_session_timeout_description": "Das Zeitlimit für geschützte Sitzungen ist ein Zeitraum, nach dem die geschützte Sitzung aus dem Speicher des Browsers gelöscht wird. Dies wird ab der letzten Interaktion mit geschützten Notizen gemessen. Sehen", + "wiki": "Wiki", + "for_more_info": "für weitere Informationen.", + "protected_session_timeout_label": "Zeitüberschreitung der geschützten Sitzung:", + "reset_confirmation": "Durch das Zurücksetzen des Passworts verlierst du für immer den Zugriff auf alle Ihre bestehenden geschützten Notizen. Möchtest du das Passwort wirklich zurücksetzen?", + "reset_success_message": "Das Passwort wurde zurückgesetzt. Bitte lege ein neues Passwort fest", + "change_password_heading": "Kennwort ändern", + "set_password_heading": "Passwort festlegen", + "set_password": "Passwort festlegen", + "password_mismatch": "Neue Passwörter sind nicht dasselbe.", + "password_changed_success": "Das Passwort wurde geändert. Trilium wird neu geladen, nachdem du auf OK geklickt hast." + }, + "shortcuts": { + "keyboard_shortcuts": "Tastaturkürzel", + "multiple_shortcuts": "Mehrere Tastenkombinationen für dieselbe Aktion können durch Komma getrennt werden.", + "electron_documentation": "Siehe Electron documentation für verfügbare Modifier und key codes.", + "type_text_to_filter": "Gebe Text ein, um Verknüpfungen zu filtern...", + "action_name": "Aktionsname", + "shortcuts": "Tastenkürzel", + "default_shortcuts": "Standardtastenkürzel", + "description": "Beschreibung", + "reload_app": "Lade die App neu, um die Änderungen zu übernehmen", + "set_all_to_default": "Setze alle Verknüpfungen auf die Standardeinstellungen", + "confirm_reset": "Möchtest du wirklich alle Tastaturkürzel auf die Standardeinstellungen zurücksetzen?" + }, + "spellcheck": { + "title": "Rechtschreibprüfung", + "description": "Diese Optionen gelten nur für Desktop-Builds. Browser verwenden ihre eigene native Rechtschreibprüfung.", + "enable": "Aktiviere die Rechtschreibprüfung", + "language_code_label": "Sprachcode(s)", + "language_code_placeholder": "zum Beispiel \"en-US\", \"de-AT\"", + "multiple_languages_info": "Mehrere Sprachen können mit einem Komma getrennt werden z.B. \"en-US, de-DE, cs\". ", + "available_language_codes_label": "Verfügbare Sprachcodes:", + "restart-required": "Änderungen an den Rechtschreibprüfungsoptionen werden nach dem Neustart der Anwendung wirksam." + }, + "sync_2": { + "config_title": "Synchronisierungskonfiguration", + "server_address": "Adresse der Serverinstanz", + "timeout": "Synchronisierungs-Timeout (Millisekunden)", + "proxy_label": "Proxyserver synchronisieren (optional)", + "note": "Notiz", + "note_description": "Wenn du die Proxy-Einstellung leer lässt, wird der System-Proxy verwendet (gilt nur für Desktop-/Electron-Build).", + "special_value_description": "Ein weiterer besonderer Wert ist noproxy, der das Ignorieren sogar des System-Proxys erzwingt und NODE_TLS_REJECT_UNAUTHORIZED respektiert.", + "save": "Speichern", + "help": "Helfen", + "test_title": "Synchronisierungstest", + "test_description": "Dadurch werden die Verbindung und der Handshake zum Synchronisierungsserver getestet. Wenn der Synchronisierungsserver nicht initialisiert ist, wird er dadurch für die Synchronisierung mit dem lokalen Dokument eingerichtet.", + "test_button": "Teste die Synchronisierung", + "handshake_failed": "Handshake des Synchronisierungsservers fehlgeschlagen, Fehler: {{message}}" + }, + "api_log": { + "close": "Schließen" + }, + "attachment_detail_2": { + "will_be_deleted_in": "Dieser Anhang wird in {{time}} automatisch gelöscht", + "will_be_deleted_soon": "Dieser Anhang wird bald automatisch gelöscht", + "deletion_reason": ", da der Anhang nicht im Inhalt der Notiz verlinkt ist. Um das Löschen zu verhindern, füge den Anhangslink wieder in den Inhalt ein oder wandel den Anhang in eine Notiz um.", + "role_and_size": "Rolle: {{role}}, Größe: {{size}}", + "link_copied": "Anhangslink in die Zwischenablage kopiert.", + "unrecognized_role": "Unbekannte Anhangsrolle „{{role}}“." + }, + "bookmark_switch": { + "bookmark": "Lesezeichen", + "bookmark_this_note": "Setze ein Lesezeichen für diese Notiz im linken Seitenbereich", + "remove_bookmark": "Lesezeichen entfernen" + }, + "editability_select": { + "auto": "Auto", + "read_only": "Schreibgeschützt", + "always_editable": "Immer editierbar", + "note_is_editable": "Die Notiz kann bearbeitet werden, wenn sie nicht zu lang ist.", + "note_is_read_only": "Die Notiz ist schreibgeschützt, kann aber per Knopfdruck bearbeitet werden.", + "note_is_always_editable": "Die Notiz kann immer bearbeitet werden, unabhängig von ihrer Länge." + }, + "note-map": { + "button-link-map": "Beziehungskarte", + "button-tree-map": "Baumkarte" + }, + "tree-context-menu": { + "open-in-a-new-tab": "In neuem Tab öffnen Strg+Klick", + "open-in-a-new-split": "In neuem Split öffnen", + "insert-note-after": "Notiz dahinter einfügen", + "insert-child-note": "Unternotiz einfügen", + "delete": "Löschen", + "search-in-subtree": "Im Notizbaum suchen", + "hoist-note": "Notiz-Fokus setzen", + "unhoist-note": "Notiz-Fokus aufheben", + "edit-branch-prefix": "Zweig-Präfix bearbeiten", + "advanced": "Erweitert", + "expand-subtree": "Notizbaum ausklappen", + "collapse-subtree": "Notizbaum einklappen", + "sort-by": "Sortieren nach...", + "recent-changes-in-subtree": "Kürzliche Änderungen im Notizbaum", + "convert-to-attachment": "Als Anhang konvertieren", + "copy-note-path-to-clipboard": "Notiz-Pfad in die Zwischenablage kopieren", + "protect-subtree": "Notizbaum schützen", + "unprotect-subtree": "Notizenbaum-Schutz aufheben", + "copy-clone": "Kopieren / Klonen", + "clone-to": "Klonen nach...", + "cut": "Ausschneiden", + "move-to": "Verschieben nach...", + "paste-into": "Als Unternotiz einfügen", + "paste-after": "Danach einfügen", + "duplicate": "Duplizieren", + "export": "Exportieren", + "import-into-note": "In Notiz importieren", + "apply-bulk-actions": "Massenaktionen ausführen", + "converted-to-attachments": "{{count}} Notizen wurden als Anhang konvertiert.", + "convert-to-attachment-confirm": "Bist du sicher, dass du die ausgewählten Notizen in Anhänge ihrer übergeordneten Notizen umwandeln möchtest?" + }, + "shared_info": { + "shared_publicly": "Diese Notiz ist öffentlich geteilt auf", + "shared_locally": "Diese Notiz ist lokal geteilt auf", + "help_link": "Für Hilfe besuche wiki." + }, + "note_types": { + "text": "Text", + "code": "Code", + "saved-search": "Gespeicherte Such-Notiz", + "relation-map": "Beziehungskarte", + "note-map": "Notizkarte", + "render-note": "Render Notiz", + "mermaid-diagram": "Mermaid Diagram", + "canvas": "Canvas", + "web-view": "Webansicht", + "mind-map": "Mind Map", + "file": "Datei", + "image": "Bild", + "launcher": "Launcher", + "doc": "Dokument", + "widget": "Widget", + "confirm-change": "Es is nicht empfehlenswert den Notiz-Typ zu ändern, wenn der Inhalt der Notiz nicht leer ist. Möchtest du dennoch fortfahren?", + "geo-map": "Geo Map", + "beta-feature": "Beta" + }, + "protect_note": { + "toggle-on": "Notiz schützen", + "toggle-off": "Notizschutz aufheben", + "toggle-on-hint": "Notiz ist ungeschützt, klicken, um sie zu schützen", + "toggle-off-hint": "Notiz ist geschützt, klicken, um den Schutz aufzuheben" + }, + "shared_switch": { + "shared": "Teilen", + "toggle-on-title": "Notiz teilen", + "toggle-off-title": "Notiz-Freigabe aufheben", + "shared-branch": "Diese Notiz existiert nur als geteilte Notiz, das Aufheben der Freigabe würde sie löschen. Möchtest du fortfahren und die Notiz damit löschen?", + "inherited": "Die Notiz kann hier nicht von der Freigabe entfernt werden, da sie über Vererbung von einer übergeordneten Notiz geteilt wird." + }, + "template_switch": { + "template": "Vorlage", + "toggle-on-hint": "Notiz zu einer Vorlage machen", + "toggle-off-hint": "Entferne die Notiz als Vorlage" + }, + "open-help-page": "Hilfeseite öffnen", + "find": { + "case_sensitive": "Groß-/Kleinschreibung beachten", + "match_words": "Wörter genau übereinstimmen", + "find_placeholder": "Finde in Text...", + "replace_placeholder": "Ersetze mit...", + "replace": "Ersetzen", + "replace_all": "Alle Ersetzen" + }, + "highlights_list_2": { + "title": "Hervorhebungs-Liste", + "options": "Optionen" + }, + "quick-search": { + "placeholder": "Schnellsuche", + "searching": "Suche läuft…", + "no-results": "Keine Ergebnisse gefunden", + "more-results": "... und {{number}} weitere Ergebnisse.", + "show-in-full-search": "In der vollständigen Suche anzeigen" + }, + "note_tree": { + "collapse-title": "Notizbaum zusammenklappen", + "scroll-active-title": "Zur aktiven Notiz scrollen", + "tree-settings-title": "Baum-Einstellungen", + "hide-archived-notes": "Archivierte Notizen ausblenden", + "automatically-collapse-notes": "Notizen automatisch zusammenklappen", + "automatically-collapse-notes-title": "Notizen werden nach einer Inaktivitätsperiode automatisch zusammengeklappt, um den Baum zu entlasten.", + "save-changes": "Änderungen speichern und anwenden", + "auto-collapsing-notes-after-inactivity": "Automatisches Zusammenklappen von Notizen nach Inaktivität…", + "saved-search-note-refreshed": "Gespeicherte Such-Notiz wurde aktualisiert.", + "hoist-this-note-workspace": "Diese Notiz fokussieren (Arbeitsbereich)", + "refresh-saved-search-results": "Gespeicherte Suchergebnisse aktualisieren", + "create-child-note": "Unternotiz anlegen", + "unhoist": "Entfokussieren" + }, + "title_bar_buttons": { + "window-on-top": "Dieses Fenster immer oben halten" + }, + "note_detail": { + "could_not_find_typewidget": "Konnte typeWidget für Typ ‚{{type}}‘ nicht finden" + }, + "note_title": { + "placeholder": "Titel der Notiz hier eingeben…" + }, + "search_result": { + "no_notes_found": "Es wurden keine Notizen mit den angegebenen Suchparametern gefunden.", + "search_not_executed": "Die Suche wurde noch nicht ausgeführt. Klicke oben auf „Suchen“, um die Ergebnisse anzuzeigen." + }, + "spacer": { + "configure_launchbar": "Startleiste konfigurieren" + }, + "sql_result": { + "no_rows": "Es wurden keine Zeilen für diese Abfrage zurückgegeben" + }, + "sql_table_schemas": { + "tables": "Tabellen" + }, + "tab_row": { + "close_tab": "Tab schließen", + "add_new_tab": "Neuen Tab hinzufügen", + "close": "Schließen", + "close_other_tabs": "Andere Tabs schließen", + "close_right_tabs": "Tabs rechts schließen", + "close_all_tabs": "Alle Tabs schließen", + "reopen_last_tab": "Zuletzt geschlossenen Tab erneut öffnen", + "move_tab_to_new_window": "Tab in neues Fenster verschieben", + "copy_tab_to_new_window": "Tab in neues Fenster kopieren", + "new_tab": "Neuer Tab" + }, + "toc": { + "table_of_contents": "Inhaltsverzeichnis", + "options": "Optionen" + }, + "watched_file_update_status": { + "file_last_modified": "Datei wurde zuletzt geändert am .", + "upload_modified_file": "Modifizierte Datei hochladen", + "ignore_this_change": "Diese Änderung ignorieren" + }, + "app_context": { + "please_wait_for_save": "Bitte warte ein paar Sekunden, bis das Speichern abgeschlossen ist, und versuche es dann erneut." + }, + "note_create": { + "duplicated": "Notiz ‚{{title}}‘ wurde dupliziert." + }, + "image": { + "copied-to-clipboard": "Ein Verweis auf das Bild wurde in die Zwischenablage kopiert. Dieser kann in eine beliebige Textnotiz eingefügt werden.", + "cannot-copy": "Das Bild konnte nicht in die Zwischenablage kopiert werden." + }, + "clipboard": { + "cut": "Notiz(en) wurden in die Zwischenablage ausgeschnitten.", + "copied": "Notiz(en) wurden in die Zwischenablage kopiert." + }, + "entrypoints": { + "note-revision-created": "Notizrevision wurde erstellt.", + "note-executed": "Notiz wurde ausgeführt.", + "sql-error": "Fehler bei der Ausführung der SQL-Abfrage: {{message}}" + }, + "branches": { + "cannot-move-notes-here": "Notizen können hier nicht verschoben werden.", + "delete-status": "Löschstatus", + "delete-notes-in-progress": "Löschen von Notizen in Bearbeitung: {{count}}", + "delete-finished-successfully": "Löschen erfolgreich abgeschlossen.", + "undeleting-notes-in-progress": "Wiederherstellen von Notizen in Bearbeitung: {{count}}", + "undeleting-notes-finished-successfully": "Wiederherstellen von Notizen erfolgreich abgeschlossen." + }, + "frontend_script_api": { + "async_warning": "Du übergibst eine asynchrone Funktion an `api.runOnBackend()`, was wahrscheinlich nicht wie beabsichtigt funktioniert.\\nEntweder mach die Funktion synchron (indem du das `async`-Schlüsselwort entfernst) oder benutze `api.runAsyncOnBackendWithManualTransactionHandling()`.", + "sync_warning": "Du übergibst eine synchrone Funktion an `api.runAsyncOnBackendWithManualTransactionHandling()`,\\nobwohl du wahrscheinlich `api.runOnBackend()` verwenden solltest." + }, + "ws": { + "sync-check-failed": "Synchronisationsprüfung fehlgeschlagen!", + "consistency-checks-failed": "Konsistenzprüfung fehlgeschlagen! Siehe Logs für Details.", + "encountered-error": "Fehler „{{message}}“ aufgetreten, siehe Konsole für Details." + }, + "hoisted_note": { + "confirm_unhoisting": "Die angeforderte Notiz ‚{{requestedNote}}‘ befindet sich außerhalb des hoisted Bereichs der Notiz ‚{{hoistedNote}}‘. Du musst sie unhoisten, um auf die Notiz zuzugreifen. Möchtest du mit dem Unhoisting fortfahren?" + }, + "launcher_context_menu": { + "reset_launcher_confirm": "Möchtest du „{{title}}“ wirklich zurücksetzen? Alle Daten / Einstellungen in dieser Notiz (und ihren Unternotizen) gehen verloren und der Launcher wird an seinen ursprünglichen Standort zurückgesetzt.", + "add-note-launcher": "Launcher für Notiz hinzufügen", + "add-script-launcher": "Launcher für Skript hinzufügen", + "add-custom-widget": "Benutzerdefiniertes Widget hinzufügen", + "add-spacer": "Spacer hinzufügen", + "delete": "Löschen ", + "reset": "Zurücksetzen", + "move-to-visible-launchers": "Zu sichtbaren Launchern verschieben", + "move-to-available-launchers": "Zu verfügbaren Launchern verschieben", + "duplicate-launcher": "Launcher duplizieren " + }, + "editable-text": { + "auto-detect-language": "Automatisch erkannt" + }, + "highlighting": { + "description": "Steuert die Syntaxhervorhebung für Codeblöcke in Textnotizen, Code-Notizen sind nicht betroffen.", + "color-scheme": "Farbschema" + }, + "code_block": { + "word_wrapping": "Wortumbruch", + "theme_none": "Keine Syntax-Hervorhebung", + "theme_group_light": "Helle Themen", + "theme_group_dark": "Dunkle Themen" + }, + "classic_editor_toolbar": { + "title": "Format" + }, + "editor": { + "title": "Editor" + }, + "editing": { + "editor_type": { + "label": "Format Toolbar", + "floating": { + "title": "Schwebend", + "description": "Werkzeuge erscheinen in Cursornähe" + }, + "fixed": { + "title": "Fixiert", + "description": "Werkzeuge erscheinen im \"Format\" Tab" + }, + "multiline-toolbar": "Toolbar wenn nötig in mehreren Zeilen darstellen." + } + }, + "electron_context_menu": { + "add-term-to-dictionary": "Begriff \"{{term}}\" zum Wörterbuch hinzufügen", + "cut": "Ausschneiden", + "copy": "Kopieren", + "copy-link": "Link opieren", + "paste": "Einfügen", + "paste-as-plain-text": "Als unformatierten Text einfügen", + "search_online": "Suche nach \"{{term}}\" mit {{searchEngine}} starten" + }, + "image_context_menu": { + "copy_reference_to_clipboard": "Referenz in Zwischenablage kopieren", + "copy_image_to_clipboard": "Bild in die Zwischenablage kopieren" + }, + "link_context_menu": { + "open_note_in_new_tab": "Notiz in neuen Tab öffnen", + "open_note_in_new_split": "Notiz in neuen geteilten Tab öffnen", + "open_note_in_new_window": "Notiz in neuen Fenster öffnen" + }, + "electron_integration": { + "desktop-application": "Desktop Anwendung", + "native-title-bar": "Native Anwendungsleiste", + "native-title-bar-description": "In Windows und macOS, sorgt das Deaktivieren der nativen Anwendungsleiste für ein kompakteres Aussehen. Unter Linux, sorgt das Aktivieren der nativen Anwendungsleiste für eine bessere Integration mit anderen Teilen des Systems.", + "background-effects": "Hintergrundeffekte aktivieren (nur Windows 11)", + "background-effects-description": "Der Mica Effekt fügt einen unscharfen, stylischen Hintergrund in Anwendungsfenstern ein. Dieser erzeugt Tiefe und ein modernes Auftreten.", + "restart-app-button": "Anwendung neustarten um Änderungen anzuwenden", + "zoom-factor": "Zoomfaktor" + }, + "note_autocomplete": { + "search-for": "Suche nach \"{{term}}\"", + "create-note": "Erstelle und verlinke Unternotiz \"{{term}}\"", + "insert-external-link": "Einfügen von Externen Link zu \"{{term}}\"", + "clear-text-field": "Textfeldinhalt löschen", + "show-recent-notes": "Aktuelle Notizen anzeigen", + "full-text-search": "Volltextsuche" + }, + "note_tooltip": { + "note-has-been-deleted": "Notiz wurde gelöscht." + }, + "geo-map": { + "create-child-note-title": "Neue Unternotiz anlegen und zur Karte hinzufügen", + "create-child-note-instruction": "Auf die Karte klicken, um eine neue Notiz an der Stelle zu erstellen oder Escape drücken um abzubrechen.", + "unable-to-load-map": "Karte konnte nicht geladen werden." + }, + "geo-map-context": { + "open-location": "Ort öffnen", + "remove-from-map": "Von Karte entfernen" + }, + "help-button": { + "title": "Relevante Hilfeseite öffnen" + }, + "duration": { + "seconds": "Sekunden", + "minutes": "Minuten", + "hours": "Stunden", + "days": "Tage" + }, + "time_selector": { + "invalid_input": "Die eingegebene Zeit ist keine valide Zahl." } - }, - "add_link": { - "add_link": "Link hinzufügen", - "help_on_links": "Hilfe zu Links", - "close": "Schließen", - "note": "Notiz", - "search_note": "Suche nach einer Notiz anhand ihres Namens", - "link_title_mirrors": "Der Linktitel spiegelt den aktuellen Titel der Notiz wider", - "link_title_arbitrary": "Der Linktitel kann beliebig geändert werden", - "link_title": "Linktitel", - "button_add_link": "Link hinzufügen Eingabetaste" - }, - "branch_prefix": { - "edit_branch_prefix": "Zweigpräfix bearbeiten", - "help_on_tree_prefix": "Hilfe zum Baumpräfix", - "close": "Schließen", - "prefix": "Präfix: ", - "save": "Speichern", - "branch_prefix_saved": "Zweigpräfix wurde gespeichert." - }, - "bulk_actions": { - "bulk_actions": "Massenaktionen", - "close": "Schließen", - "affected_notes": "Betroffene Notizen", - "include_descendants": "Unternotizen der ausgewählten Notizen einbeziehen", - "available_actions": "Verfügbare Aktionen", - "chosen_actions": "Ausgewählte Aktionen", - "execute_bulk_actions": "Massenaktionen ausführen", - "bulk_actions_executed": "Massenaktionen wurden erfolgreich ausgeführt.", - "none_yet": "Noch keine ... Füge eine Aktion hinzu, indem du oben auf eine der verfügbaren Aktionen klicken.", - "labels": "Labels", - "relations": "Beziehungen", - "notes": "Notizen", - "other": "Andere" - }, - "clone_to": { - "clone_notes_to": "Notizen klonen nach...", - "close": "Schließen", - "help_on_links": "Hilfe zu Links", - "notes_to_clone": "Notizen zum Klonen", - "target_parent_note": "Ziel-Übergeordnetenotiz", - "search_for_note_by_its_name": "Suche nach einer Notiz anhand ihres Namens", - "cloned_note_prefix_title": "Die geklonte Notiz wird im Notizbaum mit dem angegebenen Präfix angezeigt", - "prefix_optional": "Präfix (optional)", - "clone_to_selected_note": "Auf ausgewählte Notiz klonen Eingabe", - "no_path_to_clone_to": "Kein Pfad zum Klonen.", - "note_cloned": "Die Notiz \"{{clonedTitle}}\" wurde in \"{{targetTitle}}\" hinein geklont" - }, - "confirm": { - "confirmation": "Bestätigung", - "close": "Schließen", - "cancel": "Abbrechen", - "ok": "OK", - "are_you_sure_remove_note": "Bist du sicher, dass du \"{{title}}\" von der Beziehungskarte entfernen möchten? ", - "if_you_dont_check": "Wenn du dies nicht aktivierst, wird die Notiz nur aus der Beziehungskarte entfernt.", - "also_delete_note": "Auch die Notiz löschen" - }, - "delete_notes": { - "delete_notes_preview": "Vorschau der Notizen löschen", - "close": "Schließen", - "delete_all_clones_description": "auch alle Klone löschen (kann bei letzte Änderungen rückgängig gemacht werden)", - "erase_notes_description": "Beim normalen (vorläufigen) Löschen werden die Notizen nur als gelöscht markiert und sie können innerhalb eines bestimmten Zeitraums (im Dialogfeld „Letzte Änderungen“) wiederhergestellt werden. Wenn du diese Option aktivierst, werden die Notizen sofort gelöscht und es ist nicht möglich, die Notizen wiederherzustellen.", - "erase_notes_warning": "Notizen dauerhaft löschen (kann nicht rückgängig gemacht werden), einschließlich aller Klone. Dadurch wird ein Neuladen der Anwendung erzwungen.", - "notes_to_be_deleted": "Folgende Notizen werden gelöscht ()", - "no_note_to_delete": "Es werden keine Notizen gelöscht (nur Klone).", - "broken_relations_to_be_deleted": "Folgende Beziehungen werden gelöst und gelöscht ()", - "cancel": "Abbrechen", - "ok": "OK", - "deleted_relation_text": "Notiz {{- note}} (soll gelöscht werden) wird von Beziehung {{- relation}} ausgehend von {{- source}} referenziert." - }, - "export": { - "export_note_title": "Notiz exportieren", - "close": "Schließen", - "export_type_subtree": "Diese Notiz und alle ihre Unternotizen", - "format_html": "HTML - empfohlen, da dadurch alle Formatierungen erhalten bleiben", - "format_html_zip": "HTML im ZIP-Archiv – dies wird empfohlen, da dadurch die gesamte Formatierung erhalten bleibt.", - "format_markdown": "Markdown – dadurch bleiben die meisten Formatierungen erhalten.", - "format_opml": "OPML – Outliner-Austauschformat nur für Text. Formatierungen, Bilder und Dateien sind nicht enthalten.", - "opml_version_1": "OPML v1.0 – nur Klartext", - "opml_version_2": "OPML v2.0 – erlaubt auch HTML", - "export_type_single": "Nur diese Notiz ohne ihre Unternotizen", - "export": "Export", - "choose_export_type": "Bitte wähle zuerst den Exporttypen aus", - "export_status": "Exportstatus", - "export_in_progress": "Export läuft: {{progressCount}}", - "export_finished_successfully": "Der Export wurde erfolgreich abgeschlossen.", - "format_pdf": "PDF - für Ausdrucke oder Teilen." - }, - "help": { - "fullDocumentation": "Hilfe (gesamte Dokumentation ist online verfügbar)", - "close": "Schließen", - "noteNavigation": "Notiz Navigation", - "goUpDown": "Pfeil Hoch, Pfeil Runter - In der Liste der Notizen nach oben/unten gehen", - "collapseExpand": "LEFT, RIGHT - Knoten reduzieren/erweitern", - "notSet": "nicht eingestellt", - "goBackForwards": "in der Historie zurück/vorwärts gehen", - "showJumpToNoteDialog": "zeige \"Springe zu\" dialog", - "scrollToActiveNote": "Scrolle zur aktiven Notiz", - "jumpToParentNote": "Backspace - Zur übergeordneten Notiz springen", - "collapseWholeTree": "Reduziere den gesamten Notizbaum", - "collapseSubTree": "Teilbaum einklappen", - "tabShortcuts": "Tab-Tastenkürzel", - "newTabNoteLink": "Strg+Klick - (oder mittlerer Mausklick) auf den Notizlink öffnet die Notiz in einem neuen Tab", - "onlyInDesktop": "Nur im Desktop (Electron Build)", - "openEmptyTab": "Leeren Tab öffnen", - "closeActiveTab": "Aktiven Tab schließen", - "activateNextTab": "Nächsten Tab aktivieren", - "activatePreviousTab": "Vorherigen Tab aktivieren", - "creatingNotes": "Notizen erstellen", - "createNoteAfter": "Erstelle eine neue Notiz nach der aktiven Notiz", - "createNoteInto": "Neue Unternotiz in aktive Notiz erstellen", - "editBranchPrefix": "bearbeite Präfix vom aktiven Notizklon", - "movingCloningNotes": "Notizen verschieben/klonen", - "moveNoteUpDown": "Notiz in der Notizenliste nach oben/unten verschieben", - "moveNoteUpHierarchy": "Verschiebe die Notiz in der Hierarchie nach oben", - "multiSelectNote": "Mehrfachauswahl von Notizen oben/unten", - "selectAllNotes": "Wähle alle Notizen in der aktuellen Ebene aus", - "selectNote": "Umschalt+Klick - Notiz auswählen", - "copyNotes": "Kopiere aktive Notiz (oder aktuelle Auswahl) in den Zwischenspeicher (wird genutzt für Klonen)", - "cutNotes": "Aktuelle Notiz (oder aktuelle Auswahl) in die Zwischenablage ausschneiden (wird zum Verschieben von Notizen verwendet)", - "pasteNotes": "Notiz(en) als Unternotiz in die aktive Notiz einfügen (entweder verschieben oder klonen, je nachdem, ob sie kopiert oder in die Zwischenablag e ausgeschnitten wurde)", - "deleteNotes": "Notiz / Unterbaum löschen", - "editingNotes": "Notizen bearbeiten", - "editNoteTitle": "Im Baumbereich wird vom Baumbereich zum Notiztitel gewechselt. Beim Druck auf Eingabe im Notiztitel, wechselt der Fokus zum Texteditor. Strg+. wechselt vom Editor zurück zum Baumbereich.", - "createEditLink": "Strg+K - Externen Link erstellen/bearbeiten", - "createInternalLink": "Internen Link erstellen", - "followLink": "Folge dem Link unter dem Cursor", - "insertDateTime": "Gebe das aktuelle Datum und die aktuelle Uhrzeit an der Einfügemarke ein", - "jumpToTreePane": "Springe zum Baumbereich und scrolle zur aktiven Notiz", - "markdownAutoformat": "Markdown-ähnliche Autoformatierung", - "headings": "##, ###, #### usw. gefolgt von Platz für Überschriften", - "bulletList": "* oder - gefolgt von Leerzeichen für Aufzählungsliste", - "numberedList": "1. oder 1) gefolgt von Leerzeichen für nummerierte Liste", - "blockQuote": "Beginne eine Zeile mit > gefolgt von einem Leerzeichen für Blockzitate", - "troubleshooting": "Fehlerbehebung", - "reloadFrontend": "Trilium-Frontend neuladen", - "showDevTools": "Entwicklertools anzeigen", - "showSQLConsole": "SQL-Konsole anzeigen", - "other": "Andere", - "quickSearch": "Fokus auf schnelle Sucheingabe", - "inPageSearch": "Auf-der-Seite-Suche" - }, - "import": { - "importIntoNote": "In Notiz importieren", - "close": "Schließen", - "chooseImportFile": "Wähle Importdatei aus", - "importDescription": "Der Inhalt der ausgewählten Datei(en) wird als untergeordnete Notiz(en) importiert", - "options": "Optionen", - "safeImportTooltip": "Trilium .zip-Exportdateien können ausführbare Skripte enthalten, die möglicherweise schädliches Verhalten aufweisen. Der sichere Import deaktiviert die automatische Ausführung aller importierten Skripte. Deaktiviere 'Sicherer Import' nur, wenn das importierte Archiv ausführbare Skripte enthalten soll und du dem Inhalt der Importdatei vollständig vertraust.", - "safeImport": "Sicherer Import", - "explodeArchivesTooltip": "Wenn dies aktiviert ist, liest Trilium die Dateien .zip, .enex und .opml und erstellt Notizen aus Dateien in diesen Archiven. Wenn diese Option deaktiviert ist, hängt Trilium die Archive selbst an die Notiz an.", - "explodeArchives": "Lese den Inhalt der Archive .zip, .enex und .opml.", - "shrinkImagesTooltip": "

Wenn du diese Option aktivierst, versucht Trilium, die importierten Bilder durch Skalierung und Optimierung zu verkleinern, was sich auf die wahrgenommene Bildqualität auswirken kann. Wenn diese Option deaktiviert ist, werden Bilder ohne Änderungen importiert.

Dies gilt nicht für .zip-Importe mit Metadaten, da davon ausgegangen wird, dass diese Dateien bereits optimiert sind.

", - "shrinkImages": "Bilder verkleinern", - "textImportedAsText": "Importiere HTML, Markdown und TXT als Textnotizen, wenn die Metadaten unklar sind", - "codeImportedAsCode": "Importiere erkannte Codedateien (z. B. .json) als Codenotizen, wenn die Metadaten unklar sind", - "replaceUnderscoresWithSpaces": "Ersetze Unterstriche in importierten Notiznamen durch Leerzeichen", - "import": "Import", - "failed": "Import fehlgeschlagen: {{message}}.", - "html_import_tags": { - "title": "HTML Tag Import", - "description": "Festlegen, welche HTML tags beim Import von Notizen beibehalten werden sollen. Tags, die nicht in dieser Liste stehen, werden beim Import entfernt. Einige tags (wie bspw. 'script') werden aus Sicherheitsgründen immer entfernt.", - "placeholder": "HTML tags eintragen, pro Zeile nur einer pro Zeile", - "reset_button": "Zur Standardliste zurücksetzen" - }, - "import-status": "Importstatus", - "in-progress": "Import läuft: {{progress}}", - "successful": "Import erfolgreich abgeschlossen." - }, - "include_note": { - "dialog_title": "Notiz beifügen", - "close": "Schließen", - "label_note": "Notiz", - "placeholder_search": "Suche nach einer Notiz anhand ihres Namens", - "box_size_prompt": "Kartongröße des beigelegten Zettels:", - "box_size_small": "klein (~ 10 Zeilen)", - "box_size_medium": "mittel (~ 30 Zeilen)", - "box_size_full": "vollständig (Feld zeigt vollständigen Text)", - "button_include": "Notiz beifügen Eingabetaste" - }, - "info": { - "modalTitle": "Infonachricht", - "closeButton": "Schließen", - "okButton": "OK" - }, - "jump_to_note": { - "search_placeholder": "", - "close": "Schließen", - "search_button": "Suche im Volltext: Strg+Eingabetaste" - }, - "markdown_import": { - "dialog_title": "Markdown-Import", - "close": "Schließen", - "modal_body_text": "Aufgrund der Browser-Sandbox ist es nicht möglich, die Zwischenablage direkt aus JavaScript zu lesen. Bitte füge den zu importierenden Markdown in den Textbereich unten ein und klicke auf die Schaltfläche „Importieren“.", - "import_button": "Importieren Strg+Eingabe", - "import_success": "Markdown-Inhalt wurde in das Dokument importiert." - }, - "move_to": { - "dialog_title": "Notizen verschieben nach ...", - "close": "Schließen", - "notes_to_move": "Notizen zum Verschieben", - "target_parent_note": "Ziel-Elternnotiz", - "search_placeholder": "Suche nach einer Notiz anhand ihres Namens", - "move_button": "Zur ausgewählten Notiz wechseln Eingabetaste", - "error_no_path": "Kein Weg, auf den man sich bewegen kann.", - "move_success_message": "Ausgewählte Notizen wurden verschoben" - }, - "note_type_chooser": { - "modal_title": "Wähle den Notiztyp aus", - "close": "Schließen", - "modal_body": "Wähle den Notiztyp / die Vorlage der neuen Notiz:", - "templates": "Vorlagen:" - }, - "password_not_set": { - "title": "Das Passwort ist nicht festgelegt", - "close": "Schließen", - "body1": "Geschützte Notizen werden mit einem Benutzerpasswort verschlüsselt, es wurde jedoch noch kein Passwort festgelegt.", - "body2": "Um Notizen verschlüsseln zu können, klicke hier um das Optionsmenu zu öffnen und ein Passwort zu setzen." - }, - "prompt": { - "title": "Prompt", - "close": "Schließen", - "ok": "OK Eingabe", - "defaultTitle": "Prompt" - }, - "protected_session_password": { - "modal_title": "Geschützte Sitzung", - "help_title": "Hilfe zu geschützten Notizen", - "close_label": "Schließen", - "form_label": "Um mit der angeforderten Aktion fortzufahren, musst du eine geschützte Sitzung starten, indem du ein Passwort eingibst:", - "start_button": "Geschützte Sitzung starten enter" - }, - "recent_changes": { - "title": "Aktuelle Änderungen", - "erase_notes_button": "Jetzt gelöschte Notizen löschen", - "close": "Schließen", - "deleted_notes_message": "Gelöschte Notizen wurden gelöscht.", - "no_changes_message": "Noch keine Änderungen...", - "undelete_link": "Wiederherstellen", - "confirm_undelete": "Möchten Sie diese Notiz und ihre Unternotizen wiederherstellen?" - }, - "revisions": { - "note_revisions": "Notizrevisionen", - "delete_all_revisions": "Lösche alle Revisionen dieser Notiz", - "delete_all_button": "Alle Revisionen löschen", - "help_title": "Hilfe zu Notizrevisionen", - "close": "Schließen", - "revision_last_edited": "Diese Revision wurde zuletzt am {{date}} bearbeitet", - "confirm_delete_all": "Möchtest du alle Revisionen dieser Notiz löschen?", - "no_revisions": "Für diese Notiz gibt es noch keine Revisionen...", - "restore_button": "", - "confirm_restore": "Möchtest du diese Revision wiederherstellen? Dadurch werden der aktuelle Titel und Inhalt der Notiz mit dieser Revision überschrieben.", - "delete_button": "", - "confirm_delete": "Möchtest du diese Revision löschen?", - "revisions_deleted": "Notizrevisionen wurden gelöscht.", - "revision_restored": "Die Notizrevision wurde wiederhergestellt.", - "revision_deleted": "Notizrevision wurde gelöscht.", - "snapshot_interval": "Notizrevisionen-Snapshot Intervall: {{seconds}}s.", - "maximum_revisions": "Maximale Revisionen für aktuelle Notiz: {{number}}.", - "settings": "Einstellungen für Notizrevisionen", - "download_button": "Herunterladen", - "mime": "MIME:", - "file_size": "Dateigröße:", - "preview": "Vorschau:", - "preview_not_available": "Für diesen Notiztyp ist keine Vorschau verfügbar." - }, - "sort_child_notes": { - "sort_children_by": "Unternotizen sortieren nach...", - "close": "Schließen", - "sorting_criteria": "Sortierkriterien", - "title": "Titel", - "date_created": "Erstellungsdatum", - "date_modified": "Änderungsdatum", - "sorting_direction": "Sortierrichtung", - "ascending": "aufsteigend", - "descending": "absteigend", - "folders": "Ordner", - "sort_folders_at_top": "Ordne die Ordner oben", - "natural_sort": "Natürliche Sortierung", - "sort_with_respect_to_different_character_sorting": "Sortierung im Hinblick auf unterschiedliche Sortier- und Sortierregeln für Zeichen in verschiedenen Sprachen oder Regionen.", - "natural_sort_language": "Natürliche Sortiersprache", - "the_language_code_for_natural_sort": "Der Sprachcode für die natürliche Sortierung, z. B. \"de-DE\" für Deutsch.", - "sort": "Sortieren Eingabetaste" - }, - "upload_attachments": { - "upload_attachments_to_note": "Lade Anhänge zur Notiz hoch", - "close": "Schließen", - "choose_files": "Wähle Dateien aus", - "files_will_be_uploaded": "Dateien werden als Anhänge in hochgeladen", - "options": "Optionen", - "shrink_images": "Bilder verkleinern", - "upload": "Hochladen", - "tooltip": "Wenn du diese Option aktivieren, versucht Trilium, die hochgeladenen Bilder durch Skalierung und Optimierung zu verkleinern, was sich auf die wahrgenommene Bildqualität auswirken kann. Wenn diese Option deaktiviert ist, werden die Bilder ohne Änderungen hochgeladen." - }, - "attribute_detail": { - "attr_detail_title": "Attributdetailtitel", - "close_button_title": "Änderungen verwerfen und schließen", - "attr_is_owned_by": "Das Attribut ist Eigentum von", - "attr_name_title": "Der Attributname darf nur aus alphanumerischen Zeichen, Doppelpunkten und Unterstrichen bestehen", - "name": "Name", - "value": "Wert", - "target_note_title": "Eine Beziehung ist eine benannte Verbindung zwischen Quellnotiz und Zielnotiz.", - "target_note": "Zielnotiz", - "promoted_title": "Das heraufgestufte Attribut wird deutlich in der Notiz angezeigt.", - "promoted": "Gefördert", - "promoted_alias_title": "Der Name, der in der Benutzeroberfläche für heraufgestufte Attribute angezeigt werden soll.", - "promoted_alias": "Alias", - "multiplicity_title": "Multiplizität definiert, wie viele Attribute mit demselben Namen erstellt werden können – maximal 1 oder mehr als 1.", - "multiplicity": "Vielzahl", - "single_value": "Einzelwert", - "multi_value": "Mehrfachwert", - "label_type_title": "Der Etikettentyp hilft Trilium bei der Auswahl einer geeigneten Schnittstelle zur Eingabe des Etikettenwerts.", - "label_type": "Typ", - "text": "Text", - "number": "Nummer", - "boolean": "Boolescher Wert", - "date": "Datum", - "date_time": "Datum und Uhrzeit", - "time": "Uhrzeit", - "url": "URL", - "precision_title": "Wie viele Nachkommastellen im Wert-Einstellungs-Interface verfügbar sein sollen.", - "precision": "Präzision", - "digits": "Ziffern", - "inverse_relation_title": "Optionale Einstellung, um zu definieren, zu welcher Beziehung diese entgegengesetzt ist. Beispiel: Vater – Sohn stehen in umgekehrter Beziehung zueinander.", - "inverse_relation": "Inverse Beziehung", - "inheritable_title": "Das vererbbare Attribut wird an alle Nachkommen unter diesem Baum vererbt.", - "inheritable": "Vererbbar", - "save_and_close": "Speichern und schließen Strg+Eingabetaste", - "delete": "Löschen", - "related_notes_title": "Weitere Notizen mit diesem Label", - "more_notes": "Weitere Notizen", - "label": "Labeldetail", - "label_definition": "Details zur Labeldefinition", - "relation": "Beziehungsdetails", - "relation_definition": "Details zur Beziehungsdefinition", - "disable_versioning": "deaktiviert die automatische Versionierung. Nützlich z.B. große, aber unwichtige Notizen – z.B. große JS-Bibliotheken, die für die Skripterstellung verwendet werden", - "calendar_root": "Markiert eine Notiz, die als Basis für Tagesnotizen verwendet werden soll. Nur einer sollte als solcher gekennzeichnet sein.", - "archived": "Notizen mit dieser Bezeichnung werden standardmäßig nicht in den Suchergebnissen angezeigt (auch nicht in den Dialogen „Springen zu“, „Link hinzufügen“ usw.).", - "exclude_from_export": "Notizen (mit ihrem Unterbaum) werden nicht in den Notizexport einbezogen", - "run": "Definiert, bei welchen Ereignissen das Skript ausgeführt werden soll. Mögliche Werte sind:\n
    \n
  • frontendStartup - wenn das Trilium-Frontend startet (oder aktualisiert wird), außer auf mobilen Geräten.
  • \n
  • mobileStartup - wenn das Trilium-Frontend auf einem mobilen Gerät startet (oder aktualisiert wird).
  • \n
  • backendStartup - wenn das Trilium-Backend startet
  • \n
  • hourly - einmal pro Stunde ausführen. Du kannst das zusätzliche Label runAtHour verwenden, um die genaue Stunde festzulegen.
  • \n
  • daily - einmal pro Tag ausführen
  • \n
", - "run_on_instance": "Definiere, auf welcher Trilium-Instanz dies ausgeführt werden soll. Standardmäßig alle Instanzen.", - "run_at_hour": "Zu welcher Stunde soll das laufen? Sollte zusammen mit #runu003dhourly verwendet werden. Kann für mehr Läufe im Laufe des Tages mehrfach definiert werden.", - "disable_inclusion": "Skripte mit dieser Bezeichnung werden nicht in die Ausführung des übergeordneten Skripts einbezogen.", - "sorted": "Hält untergeordnete Notizen alphabetisch nach Titel sortiert", - "sort_direction": "ASC (Standard) oder DESC", - "sort_folders_first": "Ordner (Notizen mit Unternotizen) sollten oben sortiert werden", - "top": "Behalte die angegebene Notiz oben in der übergeordneten Notiz (gilt nur für sortierte übergeordnete Notizen).", - "hide_promoted_attributes": "Heraufgestufte Attribute für diese Notiz ausblenden", - "read_only": "Der Editor befindet sich im schreibgeschützten Modus. Funktioniert nur für Text- und Codenotizen.", - "auto_read_only_disabled": "Text-/Codenotizen können automatisch in den Lesemodus versetzt werden, wenn sie zu groß sind. Du kannst dieses Verhalten für jede einzelne Notiz deaktivieren, indem du diese Beschriftung zur Notiz hinzufügst", - "app_css": "markiert CSS-Notizen, die in die Trilium-Anwendung geladen werden und somit zur Änderung des Aussehens von Trilium verwendet werden können.", - "app_theme": "markiert CSS-Notizen, die vollständige Trilium-Themen sind und daher in den Trilium-Optionen verfügbar sind.", - "app_theme_base": "markiert Notiz als \"nächste\" in der Reihe für ein Trilium-Theme als Grundlage für ein Custom-Theme. Ersetzt damit das Standard Theme.", - "css_class": "Der Wert dieser Bezeichnung wird dann als CSS-Klasse dem Knoten hinzugefügt, der die angegebene Notiz im Baum darstellt. Dies kann für fortgeschrittene Themen nützlich sein. Kann in Vorlagennotizen verwendet werden.", - "icon_class": "Der Wert dieser Bezeichnung wird als CSS-Klasse zum Symbol im Baum hinzugefügt, was dabei helfen kann, die Notizen im Baum visuell zu unterscheiden. Beispiel könnte bx bx-home sein – Symbole werden von Boxicons übernommen. Kann in Vorlagennotizen verwendet werden.", - "page_size": "Anzahl der Elemente pro Seite in der Notizliste", - "custom_request_handler": "siehe Custom request handler", - "custom_resource_provider": "siehe Custom request handler", - "widget": "Markiert diese Notiz als benutzerdefiniertes Widget, das dem Trilium-Komponentenbaum hinzugefügt wird", - "workspace": "Markiert diese Notiz als Arbeitsbereich, der ein einfaches Heben ermöglicht", - "workspace_icon_class": "Definiert die CSS-Klasse des Boxsymbols, die im Tab verwendet wird, wenn es zu dieser Notiz gehoben wird", - "workspace_tab_background_color": "CSS-Farbe, die in der Registerkarte „Notiz“ verwendet wird, wenn sie auf diese Notiz hochgezogen wird", - "workspace_calendar_root": "Definiert den Kalenderstamm pro Arbeitsbereich", - "workspace_template": "Diese Notiz wird beim Erstellen einer neuen Notiz in der Auswahl der verfügbaren Vorlage angezeigt, jedoch nur, wenn sie in einen Arbeitsbereich verschoben wird, der diese Vorlage enthält", - "search_home": "Neue Suchnotizen werden als untergeordnete Elemente dieser Notiz erstellt", - "workspace_search_home": "Neue Suchnotizen werden als untergeordnete Elemente dieser Notiz erstellt, wenn sie zu einem Vorgänger dieser Arbeitsbereichsnotiz verschoben werden", - "inbox": "Standard-Inbox-Position für neue Notizen – wenn du eine Notiz über den \"Neue Notiz\"-Button in der Seitenleiste erstellst, wird die Notiz als untergeordnete Notiz der Notiz erstellt, die mit dem #inbox-Label markiert ist.", - "workspace_inbox": "Standard-Posteingangsspeicherort für neue Notizen, wenn sie zu einem Vorgänger dieser Arbeitsbereichsnotiz verschoben werden", - "sql_console_home": "Standardspeicherort der SQL-Konsolennotizen", - "bookmark_folder": "Notizen mit dieser Bezeichnung werden in den Lesezeichen als Ordner angezeigt (und ermöglichen den Zugriff auf ihre untergeordneten Ordner).", - "share_hidden_from_tree": "Diese Notiz ist im linken Navigationsbaum ausgeblendet, kann aber weiterhin über ihre URL aufgerufen werden", - "share_external_link": "Die Notiz dient als Link zu einer externen Website im Freigabebaum", - "share_alias": "Lege einen Alias fest, unter dem die Notiz unter https://your_trilium_host/share/[dein_alias] verfügbar sein wird.", - "share_omit_default_css": "Das Standard-CSS für die Freigabeseite wird weggelassen. Verwende es, wenn du umfangreiche Stylingänderungen vornimmst.", - "share_root": "Markiert eine Notiz, die im /share-Root bereitgestellt wird.", - "share_description": "Definiere Text, der dem HTML-Meta-Tag zur Beschreibung hinzugefügt werden soll", - "share_raw": "Die Notiz wird im Rohformat ohne HTML-Wrapper bereitgestellt", - "share_disallow_robot_indexing": "verbietet die Robot-Indizierung dieser Notiz über den Header X-Robots-Tag: noindex", - "share_credentials": "Für den Zugriff auf diese freigegebene Notiz sind Anmeldeinformationen erforderlich. Es wird erwartet, dass der Wert das Format „Benutzername:Passwort“ hat. Vergiss nicht, dies vererbbar zu machen, um es auf untergeordnete Notizen/Bilder anzuwenden.", - "share_index": "Eine Notiz mit dieser Bezeichnung listet alle Wurzeln gemeinsamer Notizen auf", - "display_relations": "Durch Kommas getrennte Namen der Beziehungen, die angezeigt werden sollen. Alle anderen werden ausgeblendet.", - "hide_relations": "Durch Kommas getrennte Namen von Beziehungen, die ausgeblendet werden sollen. Alle anderen werden angezeigt.", - "title_template": "Standardtitel von Notizen, die als untergeordnete Notizen dieser Notiz erstellt werden. Der Wert wird als JavaScript-String ausgewertet \n und kann daher mit dynamischen Inhalten über die injizierten now und parentNote-Variablen angereichert werden. Beispiele:\n \n
    \n
  • ${parentNote.getLabelValue('authorName')}'s literarische Werke
  • \n
  • Logbuch für ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n Siehe Wiki mit Details, API-Dokumentation für parentNote und now für Details.", - "template": "Diese Notiz wird beim Erstellen einer neuen Notiz in der Auswahl der verfügbaren Vorlage angezeigt", - "toc": "#toc oder #tocu003dshow erzwingen die Anzeige des Inhaltsverzeichnisses, #tocu003dhide erzwingt das Ausblenden. Wenn die Bezeichnung nicht vorhanden ist, wird die globale Einstellung beachtet", - "color": "Definiert die Farbe der Notiz im Notizbaum, in Links usw. Verwende einen beliebigen gültigen CSS-Farbwert wie „rot“ oder #a13d5f", - "keyboard_shortcut": "Definiert eine Tastenkombination, die sofort zu dieser Notiz springt. Beispiel: „Strg+Alt+E“. Erfordert ein Neuladen des Frontends, damit die Änderung wirksam wird.", - "keep_current_hoisting": "Das Öffnen dieses Links ändert das Hochziehen nicht, selbst wenn die Notiz im aktuell hochgezogenen Unterbaum nicht angezeigt werden kann.", - "execute_button": "Titel der Schaltfläche, die die aktuelle Codenotiz ausführt", - "execute_description": "Längere Beschreibung der aktuellen Codenotiz, die zusammen mit der Schaltfläche „Ausführen“ angezeigt wird", - "exclude_from_note_map": "Notizen mit dieser Bezeichnung werden in der Notizenkarte ausgeblendet", - "new_notes_on_top": "Neue Notizen werden oben in der übergeordneten Notiz erstellt, nicht unten.", - "hide_highlight_widget": "Widget „Hervorhebungsliste“ ausblenden", - "run_on_note_creation": "Wird ausgeführt, wenn eine Notiz im Backend erstellt wird. Verwende diese Beziehung, wenn du das Skript für alle Notizen ausführen möchtest, die unter einer bestimmten Unternotiz erstellt wurden. Erstelle es in diesem Fall auf der Unternotiz-Stammnotiz und mache es vererbbar. Eine neue Notiz, die innerhalb der Unternotiz (beliebige Tiefe) erstellt wird, löst das Skript aus.", - "run_on_child_note_creation": "Wird ausgeführt, wenn eine neue Notiz unter der Notiz erstellt wird, in der diese Beziehung definiert ist", - "run_on_note_title_change": "Wird ausgeführt, wenn der Notiztitel geändert wird (einschließlich der Notizerstellung)", - "run_on_note_content_change": "Wird ausgeführt, wenn der Inhalt einer Notiz geändert wird (einschließlich der Erstellung von Notizen).", - "run_on_note_change": "Wird ausgeführt, wenn eine Notiz geändert wird (einschließlich der Erstellung von Notizen). Enthält keine Inhaltsänderungen", - "run_on_note_deletion": "Wird ausgeführt, wenn eine Notiz gelöscht wird", - "run_on_branch_creation": "wird ausgeführt, wenn ein Zweig erstellt wird. Der Zweig ist eine Verbindung zwischen der übergeordneten Notiz und der untergeordneten Notiz und wird z. B. erstellt. beim Klonen oder Verschieben von Notizen.", - "run_on_branch_change": "wird ausgeführt, wenn ein Zweig aktualisiert wird.", - "run_on_branch_deletion": "wird ausgeführt, wenn ein Zweig gelöscht wird. Der Zweig ist eine Verknüpfung zwischen der übergeordneten Notiz und der untergeordneten Notiz und wird z. B. gelöscht. beim Verschieben der Notiz (alter Zweig/Link wird gelöscht).", - "run_on_attribute_creation": "wird ausgeführt, wenn für die Notiz ein neues Attribut erstellt wird, das diese Beziehung definiert", - "run_on_attribute_change": "wird ausgeführt, wenn das Attribut einer Notiz geändert wird, die diese Beziehung definiert. Dies wird auch ausgelöst, wenn das Attribut gelöscht wird", - "relation_template": "Die Attribute der Notiz werden auch ohne eine Eltern-Kind-Beziehung vererbt. Der Inhalt und der Unterbaum der Notiz werden den Instanznotizen hinzugefügt, wenn sie leer sind. Einzelheiten findest du in der Dokumentation.", - "inherit": "Die Attribute einer Notiz werden auch ohne eine Eltern-Kind-Beziehung vererbt. Ein ähnliches Konzept findest du unter Vorlagenbeziehung. Siehe Attributvererbung in der Dokumentation.", - "render_note": "Notizen vom Typ \"HTML-Notiz rendern\" werden mit einer Code-Notiz (HTML oder Skript) gerendert, und es ist notwendig, über diese Beziehung anzugeben, welche Notiz gerendert werden soll.", - "widget_relation": "Das Ziel dieser Beziehung wird ausgeführt und als Widget in der Seitenleiste gerendert", - "share_css": "CSS-Hinweis, der in die Freigabeseite eingefügt wird. Die CSS-Notiz muss sich ebenfalls im gemeinsamen Unterbaum befinden. Erwäge auch die Verwendung von „share_hidden_from_tree“ und „share_omit_default_css“.", - "share_js": "JavaScript-Hinweis, der in die Freigabeseite eingefügt wird. Die JS-Notiz muss sich ebenfalls im gemeinsamen Unterbaum befinden. Erwäge die Verwendung von „share_hidden_from_tree“.", - "share_template": "Eingebettete JavaScript-Notiz, die als Vorlage für die Anzeige der geteilten Notiz verwendet wird. Greift auf die Standardvorlage zurück. Erwäge die Verwendung von „share_hidden_from_tree“.", - "share_favicon": "Favicon-Notiz, die auf der freigegebenen Seite festgelegt werden soll. Normalerweise möchtest du es so einstellen, dass es Root teilt und es vererbbar macht. Die Favicon-Notiz muss sich ebenfalls im freigegebenen Unterbaum befinden. Erwäge die Verwendung von „share_hidden_from_tree“.", - "is_owned_by_note": "ist Eigentum von Note", - "other_notes_with_name": "Other notes with {{attributeType}} name \"{{attributeName}}\"", - "and_more": "... und {{count}} mehr.", - "print_landscape": "Beim Export als PDF, wird die Seitenausrichtung Querformat anstatt Hochformat verwendet.", - "print_page_size": "Beim Export als PDF, wird die Größe der Seite angepasst. Unterstützte Größen: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." - }, - "attribute_editor": { - "help_text_body1": "Um ein Label hinzuzufügen, gebe einfach z.B. ein. #rock oder wenn du auch einen Wert hinzufügen möchten, dann z.B. #year = 2024", - "help_text_body2": "Gebe für die Beziehung ~author = @ ein, woraufhin eine automatische Vervollständigung angezeigt wird, in der du die gewünschte Notiz nachschlagen kannst.", - "help_text_body3": "Alternativ kannst du Label und Beziehung über die Schaltfläche + auf der rechten Seite hinzufügen.", - "save_attributes": "Attribute speichern ", - "add_a_new_attribute": "Füge ein neues Attribut hinzu", - "add_new_label": "Füge ein neues Label hinzu ", - "add_new_relation": "Füge eine neue Beziehung hinzu ", - "add_new_label_definition": "Füge eine neue Labeldefinition hinzu", - "add_new_relation_definition": "Füge eine neue Beziehungsdefinition hinzu", - "placeholder": "Gebe die Labels und Beziehungen hier ein" - }, - "abstract_bulk_action": { - "remove_this_search_action": "Entferne diese Suchaktion" - }, - "execute_script": { - "execute_script": "Skript ausführen", - "help_text": "Du kannst einfache Skripte für die übereinstimmenden Notizen ausführen.", - "example_1": "Um beispielsweise eine Zeichenfolge an den Titel einer Notiz anzuhängen, verwende dieses kleine Skript:", - "example_2": "Ein komplexeres Beispiel wäre das Löschen aller übereinstimmenden Notizattribute:" - }, - "add_label": { - "add_label": "Etikett hinzufügen", - "label_name_placeholder": "Labelname", - "label_name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", - "to_value": "zu schätzen", - "new_value_placeholder": "neuer Wert", - "help_text": "Auf allen übereinstimmenden Notizen:", - "help_text_item1": "Erstelle ein bestimmtes Label, wenn die Notiz noch keins hat", - "help_text_item2": "oder den Wert des vorhandenen Labels ändern", - "help_text_note": "Du kannst diese Methode auch ohne Wert aufrufen. In diesem Fall wird der Notiz ein Label ohne Wert zugewiesen." - }, - "delete_label": { - "delete_label": "Label löschen", - "label_name_placeholder": "Labelname", - "label_name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." - }, - "rename_label": { - "rename_label": "Label umbenennen", - "rename_label_from": "Label umbenennen von", - "old_name_placeholder": "alter Name", - "to": "zu", - "new_name_placeholder": "neuer Name", - "name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." - }, - "update_label_value": { - "update_label_value": "Labelwert aktualisieren", - "label_name_placeholder": "Labelname", - "label_name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", - "to_value": "zum Wert", - "new_value_placeholder": "neuer Wert", - "help_text": "Ändere bei allen übereinstimmenden Notizen den Wert des vorhandenen Labels.", - "help_text_note": "Du kannst diese Methode auch ohne Wert aufrufen. In diesem Fall wird der Notiz ein Label ohne Wert zugewiesen." - }, - "delete_note": { - "delete_note": "Notiz löschen", - "delete_matched_notes": "Übereinstimmende Notizen löschen", - "delete_matched_notes_description": "Dadurch werden übereinstimmende Notizen gelöscht.", - "undelete_notes_instruction": "Nach dem Löschen ist es möglich, sie im Dialogfeld „Letzte Änderungen“ wiederherzustellen.", - "erase_notes_instruction": "Um Notizen dauerhaft zu löschen, geh nach der Löschung zu Optionen -> Andere und klicke auf den Button \"Gelöschte Notizen jetzt löschen\"." - }, - "delete_revisions": { - "delete_note_revisions": "Notizrevisionen löschen", - "all_past_note_revisions": "Alle früheren Notizrevisionen übereinstimmender Notizen werden gelöscht. Die Notiz selbst bleibt vollständig erhalten. Mit anderen Worten: Der Verlauf der Notiz wird entfernt." - }, - "move_note": { - "move_note": "Notiz verschieben", - "to": "nach", - "target_parent_note": "Ziel-Übergeordnetenotiz", - "on_all_matched_notes": "Auf allen übereinstimmenden Notizen", - "move_note_new_parent": "Verschiebe die Notiz in die neue übergeordnete Notiz, wenn die Notiz nur eine übergeordnete Notiz hat (d. h. der alte Zweig wird entfernt und ein neuer Zweig in die neue übergeordnete Notiz erstellt).", - "clone_note_new_parent": "Notiz auf die neue übergeordnete Notiz klonen, wenn die Notiz mehrere Klone/Zweige hat (es ist nicht klar, welcher Zweig entfernt werden soll)", - "nothing_will_happen": "Es passiert nichts, wenn die Notiz nicht zur Zielnotiz verschoben werden kann (d. h. dies würde einen Baumzyklus erzeugen)." - }, - "rename_note": { - "rename_note": "Notiz umbenennen", - "rename_note_title_to": "Notiztitel umbenennen in", - "new_note_title": "neuer Notiztitel", - "click_help_icon": "Klicke rechts auf das Hilfesymbol, um alle Optionen anzuzeigen", - "evaluated_as_js_string": "Der angegebene Wert wird als JavaScript-String ausgewertet und kann somit über die injizierte note-Variable mit dynamischem Inhalt angereichert werden (Notiz wird umbenannt). Beispiele:", - "example_note": "Notiz – alle übereinstimmenden Notizen werden in „Notiz“ umbenannt.", - "example_new_title": "NEU: ${note.title} – Übereinstimmende Notiztitel erhalten das Präfix „NEU:“", - "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} – übereinstimmende Notizen werden mit dem Erstellungsmonat und -datum der Notiz vorangestellt", - "api_docs": "Siehe API-Dokumente für Notiz und seinen dateCreatedObj / utcDateCreatedObj-Eigenschaften für Details." - }, - "add_relation": { - "add_relation": "Beziehung hinzufügen", - "relation_name": "Beziehungsname", - "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", - "to": "zu", - "target_note": "Zielnotiz", - "create_relation_on_all_matched_notes": "Erstelle für alle übereinstimmenden Notizen eine bestimmte Beziehung." - }, - "delete_relation": { - "delete_relation": "Beziehung löschen", - "relation_name": "Beziehungsname", - "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." - }, - "rename_relation": { - "rename_relation": "Beziehung umbenennen", - "rename_relation_from": "Beziehung umbenennen von", - "old_name": "alter Name", - "to": "zu", - "new_name": "neuer Name", - "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." - }, - "update_relation_target": { - "update_relation": "Beziehung aktualisieren", - "relation_name": "Beziehungsname", - "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", - "to": "zu", - "target_note": "Zielnotiz", - "on_all_matched_notes": "Auf allen übereinstimmenden Notizen", - "change_target_note": "oder ändere die Zielnotiz der bestehenden Beziehung", - "update_relation_target": "Beziehungsziel aktualisieren" - }, - "attachments_actions": { - "open_externally": "Extern öffnen", - "open_externally_title": "Die Datei wird in einer externen Anwendung geöffnet und auf Änderungen überwacht. Anschließend kannst du die geänderte Version wieder auf Trilium hochladen.", - "open_custom": "Benutzerdefiniert öffnen", - "open_custom_title": "Die Datei wird in einer externen Anwendung geöffnet und auf Änderungen überwacht. Anschließend kannst du die geänderte Version wieder auf Trilium hochladen.", - "download": "Herunterladen", - "rename_attachment": "Anhang umbenennen", - "upload_new_revision": "Neue Revision hochladen", - "copy_link_to_clipboard": "Link in die Zwischenablage kopieren", - "convert_attachment_into_note": "Anhang in Notiz umwandeln", - "delete_attachment": "Anhang löschen", - "upload_success": "Eine neue Revision des Anhangs wurde hochgeladen.", - "upload_failed": "Das Hochladen einer neuen Anhangrevision ist fehlgeschlagen.", - "open_externally_detail_page": "Das externe Öffnen des Anhangs ist nur auf der Detailseite möglich. Klicke bitte zuerst auf Details des Anhangs und wiederhole den Vorgang.", - "open_custom_client_only": "Das benutzerdefinierte Öffnen von Anhängen kann nur über den Desktop-Client erfolgen.", - "delete_confirm": "Bist du sicher, dass du den Anhang „{{title}}“ löschen möchtest?", - "delete_success": "Anhang „{{title}}“ wurde gelöscht.", - "convert_confirm": "Bist du sicher, dass du den Anhang „{{title}}“ in eine separate Notiz umwandeln möchtest?", - "convert_success": "Anhang „{{title}}“ wurde in eine Notiz umgewandelt.", - "enter_new_name": "Bitte gebe den Namen des neuen Anhangs ein" - }, - "calendar": { - "mon": "Mo", - "tue": "Di", - "wed": "Mi", - "thu": "Do", - "fri": "Fr", - "sat": "Sa", - "sun": "So", - "cannot_find_day_note": "Tagesnotiz kann nicht gefunden werden", - "january": "Januar", - "febuary": "Februar", - "march": "März", - "april": "April", - "may": "Mai", - "june": "Juni", - "july": "Juli", - "august": "August", - "september": "September", - "october": "Oktober", - "november": "November", - "december": "Dezember" - }, - "close_pane_button": { - "close_this_pane": "Schließe diesen Bereich" - }, - "create_pane_button": { - "create_new_split": "Neuen Split erstellen" - }, - "edit_button": { - "edit_this_note": "Bearbeite diese Notiz" - }, - "show_toc_widget_button": { - "show_toc": "Inhaltsverzeichnis anzeigen" - }, - "show_highlights_list_widget_button": { - "show_highlights_list": "Hervorhebungen anzeigen" - }, - "global_menu": { - "menu": "Menü", - "options": "Optionen", - "open_new_window": "Öffne ein neues Fenster", - "switch_to_mobile_version": "Zur mobilen Ansicht wechseln", - "switch_to_desktop_version": "Zur Desktop-Ansicht wechseln", - "zoom": "Zoom", - "toggle_fullscreen": "Vollbild umschalten", - "zoom_out": "Herauszoomen", - "reset_zoom_level": "Zoomstufe zurücksetzen", - "zoom_in": "Hineinzoomen", - "configure_launchbar": "Konfiguriere die Launchbar", - "show_shared_notes_subtree": "Unterbaum „Freigegebene Notizen“ anzeigen", - "advanced": "Erweitert", - "open_dev_tools": "Öffne die Entwicklungstools", - "open_sql_console": "Öffne die SQL-Konsole", - "open_sql_console_history": "Öffne den SQL-Konsolenverlauf", - "open_search_history": "Öffne den Suchverlauf", - "show_backend_log": "Backend-Protokoll anzeigen", - "reload_hint": "Ein Neuladen kann bei einigen visuellen Störungen Abhilfe schaffen, ohne die gesamte App neu starten zu müssen.", - "reload_frontend": "Frontend neu laden", - "show_hidden_subtree": "Versteckten Teilbaum anzeigen", - "show_help": "Hilfe anzeigen", - "about": "Über Trilium Notes", - "logout": "Abmelden", - "show-cheatsheet": "Cheatsheet anzeigen", - "toggle-zen-mode": "Zen Modus" - }, - "sync_status": { - "unknown": "

Der Synchronisations-Status wird bekannt, sobald der nächste Synchronisierungsversuch gestartet wird.

Klicke, um eine Synchronisierung jetzt auszulösen.

", - "connected_with_changes": "

Mit dem Synchronisations-Server verbunden.
Es gibt noch ausstehende Änderungen, die synchronisiert werden müssen.

Klicke, um eine Synchronisierung jetzt auszulösen.

", - "connected_no_changes": "

Mit dem Synchronisations-Server verbunden.
Alle Änderungen wurden bereits synchronisiert.

Klicke, um eine Synchronisierung jetzt auszulösen.

", - "disconnected_with_changes": "

Die Verbindung zum Synchronisations-Server konnte nicht hergestellt werden.
Es gibt noch ausstehende Änderungen, die synchronisiert werden müssen.

Klicke, um eine Synchronisierung jetzt auszulösen.

", - "disconnected_no_changes": "

Die Verbindung zum SySynchronisationsnc-Server konnte nicht hergestellt werden.
Alle bekannten Änderungen wurden synchronisiert.

Klicke, um eine Synchronisierung jetzt auszulösen.

", - "in_progress": "Der Synchronisierungsvorgang mit dem Server ist im Gange." - }, - "left_pane_toggle": { - "show_panel": "Panel anzeigen", - "hide_panel": "Panel ausblenden" - }, - "move_pane_button": { - "move_left": "Nach links bewegen", - "move_right": "Nach rechts bewegen" - }, - "note_actions": { - "convert_into_attachment": "In Anhang umwandeln", - "re_render_note": "Notiz erneut rendern", - "search_in_note": "In Notiz suchen", - "note_source": "Notizquelle", - "note_attachments": "Notizanhänge", - "open_note_externally": "Notiz extern öffnen", - "open_note_externally_title": "Die Datei wird in einer externen Anwendung geöffnet und auf Änderungen überwacht. Anschließend kannst du die geänderte Version wieder auf Trilium hochladen.", - "open_note_custom": "Benutzerdefiniert Notiz öffnen", - "import_files": "Dateien importieren", - "export_note": "Notiz exportieren", - "delete_note": "Notiz löschen", - "print_note": "Notiz drucken", - "save_revision": "Revision speichern", - "convert_into_attachment_failed": "Konvertierung der Notiz '{{title}}' fehlgeschlagen.", - "convert_into_attachment_successful": "Notiz '{{title}}' wurde als Anhang konvertiert.", - "convert_into_attachment_prompt": "Bist du dir sicher, dass du die Notiz '{{title}}' in ein Anhang der übergeordneten Notiz konvertieren möchtest?", - "print_pdf": "Export als PDF..." - }, - "onclick_button": { - "no_click_handler": "Das Schaltflächen-Widget „{{componentId}}“ hat keinen definierten Klick-Handler" - }, - "protected_session_status": { - "active": "Die geschützte Sitzung ist aktiv. Klicke hier, um die geschützte Sitzung zu verlassen.", - "inactive": "Klicke hier, um die geschützte Sitzung aufzurufen" - }, - "revisions_button": { - "note_revisions": "Notizrevisionen" - }, - "update_available": { - "update_available": "Update verfügbar" - }, - "note_launcher": { - "this_launcher_doesnt_define_target_note": "Dieser Launcher definiert keine Zielnotiz." - }, - "code_buttons": { - "execute_button_title": "Skript ausführen", - "trilium_api_docs_button_title": "Öffne die Trilium-API-Dokumentation", - "save_to_note_button_title": "In die Notiz speichern", - "opening_api_docs_message": "API-Dokumentation wird geöffnet...", - "sql_console_saved_message": "SQL-Konsolennotiz wurde in {{note_path}} gespeichert" - }, - "copy_image_reference_button": { - "button_title": "Bildreferenz in die Zwischenablage kopieren, kann in eine Textnotiz eingefügt werden." - }, - "hide_floating_buttons_button": { - "button_title": "Schaltflächen ausblenden" - }, - "show_floating_buttons_button": { - "button_title": "Schaltflächen einblenden" - }, - "svg_export_button": { - "button_title": "Diagramm als SVG exportieren" - }, - "relation_map_buttons": { - "create_child_note_title": "Erstelle eine neue untergeordnete Notiz und füge sie dieser Beziehungskarte hinzu", - "reset_pan_zoom_title": "Schwenken und Zoomen auf die ursprünglichen Koordinaten und Vergrößerung zurücksetzen", - "zoom_in_title": "Hineinzoom", - "zoom_out_title": "Herauszoomen" - }, - "zpetne_odkazy": { - "backlink": "{{count}} Backlink", - "backlinks": "{{count}} Backlinks", - "relation": "Beziehung" - }, - "mobile_detail_menu": { - "insert_child_note": "Untergeordnete Notiz einfügen", - "delete_this_note": "Diese Notiz löschen", - "error_cannot_get_branch_id": "BranchId für notePath „{{notePath}}“ kann nicht abgerufen werden.", - "error_unrecognized_command": "Unbekannter Befehl {{command}}" - }, - "note_icon": { - "change_note_icon": "Notiz-Icon ändern", - "category": "Kategorie:", - "search": "Suche:", - "reset-default": "Standard wiederherstellen" - }, - "basic_properties": { - "note_type": "Notiztyp", - "editable": "Bearbeitbar", - "basic_properties": "Grundlegende Eigenschaften" - }, - "book_properties": { - "view_type": "Ansichtstyp", - "grid": "Gitter", - "list": "Liste", - "collapse_all_notes": "Alle Notizen einklappen", - "expand_all_children": "Unternotizen ausklappen", - "collapse": "Einklappen", - "expand": "Ausklappen", - "book_properties": "", - "invalid_view_type": "Ungültiger Ansichtstyp „{{type}}“", - "calendar": "Kalender" - }, - "edited_notes": { - "no_edited_notes_found": "An diesem Tag wurden noch keine Notizen bearbeitet...", - "title": "Bearbeitete Notizen", - "deleted": "(gelöscht)" - }, - "file_properties": { - "note_id": "Notiz-ID", - "original_file_name": "Ursprünglicher Dateiname", - "file_type": "Dateityp", - "file_size": "Dateigröße", - "download": "Herunterladen", - "open": "Offen", - "upload_new_revision": "Neue Revision hochladen", - "upload_success": "Neue Dateirevision wurde hochgeladen.", - "upload_failed": "Das Hochladen einer neuen Dateirevision ist fehlgeschlagen.", - "title": "Datei" - }, - "image_properties": { - "original_file_name": "Ursprünglicher Dateiname", - "file_type": "Dateityp", - "file_size": "Dateigröße", - "download": "Herunterladen", - "open": "Offen", - "copy_reference_to_clipboard": "Verweis in die Zwischenablage kopieren", - "upload_new_revision": "Neue Revision hochladen", - "upload_success": "Neue Bildrevision wurde hochgeladen.", - "upload_failed": "Das Hochladen einer neuen Bildrevision ist fehlgeschlagen: {{message}}", - "title": "Bild" - }, - "inherited_attribute_list": { - "title": "Geerbte Attribute", - "no_inherited_attributes": "Keine geerbten Attribute." - }, - "note_info_widget": { - "note_id": "Notiz-ID", - "created": "Erstellt", - "modified": "Geändert", - "type": "Typ", - "note_size": "Notengröße", - "note_size_info": "Die Notizgröße bietet eine grobe Schätzung des Speicherbedarfs für diese Notiz. Es berücksichtigt den Inhalt der Notiz und den Inhalt ihrer Notizrevisionen.", - "calculate": "berechnen", - "subtree_size": "(Teilbaumgröße: {{size}} in {{count}} Notizen)", - "title": "Notizinfo" - }, - "note_map": { - "open_full": "Vollständig erweitern", - "collapse": "Auf normale Größe reduzieren", - "title": "Notizkarte", - "fix-nodes": "Knoten fixieren", - "link-distance": "Verbindungslänge" - }, - "note_paths": { - "title": "Notizpfade", - "clone_button": "Notiz an neuen Speicherort klonen...", - "intro_placed": "Diese Notiz wird in den folgenden Pfaden abgelegt:", - "intro_not_placed": "Diese Notiz ist noch nicht im Notizbaum platziert.", - "outside_hoisted": "Dieser Pfad liegt außerhalb der fokusierten Notiz und du müssten den Fokus aufheben.", - "archived": "Archiviert", - "search": "Suchen" - }, - "note_properties": { - "this_note_was_originally_taken_from": "Diese Notiz stammt ursprünglich aus:", - "info": "Info" - }, - "owned_attribute_list": { - "owned_attributes": "Eigene Attribute" - }, - "promoted_attributes": { - "promoted_attributes": "Übergebene Attribute", - "url_placeholder": "http://website...", - "open_external_link": "Externen Link öffnen", - "unknown_label_type": "Unbekannter Labeltyp „{{type}}“", - "unknown_attribute_type": "Unbekannter Attributtyp „{{type}}“", - "add_new_attribute": "Neues Attribut hinzufügen", - "remove_this_attribute": "Entferne dieses Attribut" - }, - "script_executor": { - "query": "Abfrage", - "script": "Skript", - "execute_query": "Abfrage ausführen", - "execute_script": "Skript ausführen" - }, - "search_definition": { - "add_search_option": "Suchoption hinzufügen:", - "search_string": "Suchzeichenfolge", - "search_script": "Suchskript", - "ancestor": "Vorfahr", - "fast_search": "schnelle Suche", - "fast_search_description": "Die Option „Schnellsuche“ deaktiviert die Volltextsuche von Notizinhalten, was die Suche in großen Datenbanken beschleunigen könnte.", - "include_archived": "archiviert einschließen", - "include_archived_notes_description": "Archivierte Notizen sind standardmäßig von den Suchergebnissen ausgeschlossen, mit dieser Option werden sie einbezogen.", - "order_by": "Bestellen nach", - "limit": "Limit", - "limit_description": "Begrenze die Anzahl der Ergebnisse", - "debug": "debuggen", - "debug_description": "Debug gibt zusätzliche Debuginformationen in die Konsole aus, um das Debuggen komplexer Abfragen zu erleichtern", - "action": "Aktion", - "search_button": "Suchen Eingabetaste", - "search_execute": "Aktionen suchen und ausführen", - "save_to_note": "Als Notiz speichern", - "search_parameters": "Suchparameter", - "unknown_search_option": "Unbekannte Suchoption {{searchOptionName}}", - "search_note_saved": "Suchnotiz wurde in {{-notePathTitle}} gespeichert", - "actions_executed": "Aktionen wurden ausgeführt." - }, - "similar_notes": { - "title": "Ähnliche Notizen", - "no_similar_notes_found": "Keine ähnlichen Notizen gefunden." - }, - "abstract_search_option": { - "remove_this_search_option": "Entferne diese Suchoption", - "failed_rendering": "Fehler beim Rendern der Suchoption: {{dto}} mit Fehler: {{error}} {{stack}}" - }, - "ancestor": { - "label": "Vorfahre", - "placeholder": "Suche nach einer Notiz anhand ihres Namens", - "depth_label": "Tiefe", - "depth_doesnt_matter": "spielt keine Rolle", - "depth_eq": "ist genau {{count}}", - "direct_children": "direkte Kinder", - "depth_gt": "ist größer als {{count}}", - "depth_lt": "ist kleiner als {{count}}" - }, - "debug": { - "debug": "Debuggen", - "debug_info": "Debug gibt zusätzliche Debuginformationen in die Konsole aus, um das Debuggen komplexer Abfragen zu erleichtern.", - "access_info": "Um auf die Debug-Informationen zuzugreifen, führe die Abfrage aus und klicke oben links auf \"Backend-Log anzeigen\"." - }, - "fast_search": { - "fast_search": "Schnelle Suche", - "description": "Die Option „Schnellsuche“ deaktiviert die Volltextsuche von Notizinhalten, was die Suche in großen Datenbanken beschleunigen könnte." - }, - "include_archived_notes": { - "include_archived_notes": "Füge archivierte Notizen hinzu" - }, - "limit": { - "limit": "Limit", - "take_first_x_results": "Nehmen Sie nur die ersten X angegebenen Ergebnisse." - }, - "order_by": { - "order_by": "Bestellen nach", - "relevancy": "Relevanz (Standard)", - "title": "Titel", - "date_created": "Erstellungsdatum", - "date_modified": "Datum der letzten Änderung", - "content_size": "Beachte die Inhaltsgröße", - "content_and_attachments_size": "Beachte die Inhaltsgröße einschließlich der Anhänge", - "content_and_attachments_and_revisions_size": "Beachte die Inhaltsgröße einschließlich Anhängen und Revisionen", - "revision_count": "Anzahl der Revisionen", - "children_count": "Anzahl der Unternotizen", - "parent_count": "Anzahl der Klone", - "owned_label_count": "Anzahl der Etiketten", - "owned_relation_count": "Anzahl der Beziehungen", - "target_relation_count": "Anzahl der Beziehungen, die auf die Notiz abzielen", - "random": "Zufällige Reihenfolge", - "asc": "Aufsteigend (Standard)", - "desc": "Absteigend" - }, - "search_script": { - "title": "Suchskript:", - "placeholder": "Suche nach einer Notiz anhand ihres Namens", - "description1": "Das Suchskript ermöglicht das Definieren von Suchergebnissen durch Ausführen eines Skripts. Dies bietet maximale Flexibilität, wenn die Standardsuche nicht ausreicht.", - "description2": "Das Suchskript muss vom Typ \"Code\" und dem Subtyp \"JavaScript Backend\" sein. Das Skript muss ein Array von noteIds oder Notizen zurückgeben.", - "example_title": "Siehe dir dieses Beispiel an:", - "example_code": "// 1. Vorfiltern mit der Standardsuche\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. Anwenden benutzerdefinierter Suchkriterien\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", - "note": "Beachte, dass Suchskript und Suchzeichenfolge nicht miteinander kombiniert werden können." - }, - "search_string": { - "title_column": "Suchbegriff:", - "placeholder": "Volltextschlüsselwörter, #tag u003d Wert...", - "search_syntax": "Suchsyntax", - "also_see": "siehe auch", - "complete_help": "Vollständige Hilfe zur Suchsyntax", - "full_text_search": "Gebe einfach einen beliebigen Text für die Volltextsuche ein", - "label_abc": "gibt Notizen mit der Bezeichnung abc zurück", - "label_year": "Entspricht Notizen mit der Beschriftung Jahr und dem Wert 2019", - "label_rock_pop": "Entspricht Noten, die sowohl Rock- als auch Pop-Bezeichnungen haben", - "label_rock_or_pop": "Es darf nur eines der Labels vorhanden sein", - "label_year_comparison": "numerischer Vergleich (auch >, >u003d, <).", - "label_date_created": "Notizen, die im letzten Monat erstellt wurden", - "error": "Suchfehler: {{error}}", - "search_prefix": "Suche:" - }, - "attachment_detail": { - "open_help_page": "Hilfeseite zu Anhängen öffnen", - "owning_note": "Eigentümernotiz: ", - "you_can_also_open": ", Du kannst auch das öffnen", - "list_of_all_attachments": "Liste aller Anhänge", - "attachment_deleted": "Dieser Anhang wurde gelöscht." - }, - "attachment_list": { - "open_help_page": "Hilfeseite zu Anhängen öffnen", - "owning_note": "Eigentümernotiz: ", - "upload_attachments": "Anhänge hochladen", - "no_attachments": "Diese Notiz enthält keine Anhänge." - }, - "book": { - "no_children_help": "Diese Notiz mit dem Notiztyp Buch besitzt keine Unternotizen, deshalb ist nichts zum Anzeigen vorhanden. Siehe Wiki für mehr Details." - }, - "editable_code": { - "placeholder": "Gebe hier den Inhalt deiner Codenotiz ein..." - }, - "editable_text": { - "placeholder": "Gebe hier den Inhalt deiner Notiz ein..." - }, - "empty": { - "open_note_instruction": "Öffne eine Notiz, indem du den Titel der Notiz in die Eingabe unten eingibst oder eine Notiz in der Baumstruktur auswählst.", - "search_placeholder": "Suche nach einer Notiz anhand ihres Namens", - "enter_workspace": "Betrete den Arbeitsbereich {{title}}" - }, - "file": { - "file_preview_not_available": "Für dieses Dateiformat ist keine Dateivorschau verfügbar." - }, - "protected_session": { - "enter_password_instruction": "Um die geschützte Notiz anzuzeigen, musst du dein Passwort eingeben:", - "start_session_button": "Starte eine geschützte Sitzung Eingabetaste", - "started": "Geschützte Sitzung gestartet.", - "wrong_password": "Passwort flasch.", - "protecting-finished-successfully": "Geschützt erfolgreich beendet.", - "unprotecting-finished-successfully": "Ungeschützt erfolgreich beendet.", - "protecting-in-progress": "Schützen läuft: {{count}}", - "unprotecting-in-progress-count": "Entschützen läuft: {{count}}", - "protecting-title": "Geschützt-Status", - "unprotecting-title": "Ungeschützt-Status" - }, - "relation_map": { - "open_in_new_tab": "In neuem Tab öffnen", - "remove_note": "Notiz entfernen", - "edit_title": "Titel bearbeiten", - "rename_note": "Notiz umbenennen", - "enter_new_title": "Gebe einen neuen Notiztitel ein:", - "remove_relation": "Beziehung entfernen", - "confirm_remove_relation": "Bist du sicher, dass du die Beziehung entfernen möchtest?", - "specify_new_relation_name": "Gebe den neuen Beziehungsnamen an (erlaubte Zeichen: alphanumerisch, Doppelpunkt und Unterstrich):", - "connection_exists": "Die Verbindung „{{name}}“ zwischen diesen Notizen besteht bereits.", - "start_dragging_relations": "Beginne hier mit dem Ziehen von Beziehungen und lege sie auf einer anderen Notiz ab.", - "note_not_found": "Notiz {{noteId}} nicht gefunden!", - "cannot_match_transform": "Transformation kann nicht übereinstimmen: {{transform}}", - "note_already_in_diagram": "Die Notiz \"{{title}}\" ist schon im Diagram.", - "enter_title_of_new_note": "Gebe den Titel der neuen Notiz ein", - "default_new_note_title": "neue Notiz", - "click_on_canvas_to_place_new_note": "Klicke auf den Canvas, um eine neue Notiz zu platzieren" - }, - "render": { - "note_detail_render_help_1": "Diese Hilfesnotiz wird angezeigt, da diese Notiz vom Typ „HTML rendern“ nicht über die erforderliche Beziehung verfügt, um ordnungsgemäß zu funktionieren.", - "note_detail_render_help_2": "Render-HTML-Notiztyp wird benutzt für scripting. Kurzgesagt, du hast ein HTML-Code-Notiz (optional mit JavaScript) und diese Notiz rendert es. Damit es funktioniert, musst du eine a Beziehung namens \"renderNote\" zeigend auf die HTML-Notiz zum rendern definieren." - }, - "web_view": { - "web_view": "Webansicht", - "embed_websites": "Notiz vom Typ Web View ermöglicht das Einbetten von Websites in Trilium.", - "create_label": "To start, please create a label with a URL address you want to embed, e.g. #webViewSrc=\"https://www.google.com\"" - }, - "backend_log": { - "refresh": "Aktualisieren" - }, - "consistency_checks": { - "title": "Konsistenzprüfungen", - "find_and_fix_button": "Finde und behebe die Konsistenzprobleme", - "finding_and_fixing_message": "Konsistenzprobleme finden und beheben...", - "issues_fixed_message": "Konsistenzprobleme sollten behoben werden." - }, - "database_anonymization": { - "title": "Datenbankanonymisierung", - "full_anonymization": "Vollständige Anonymisierung", - "full_anonymization_description": "Durch diese Aktion wird eine neue Kopie der Datenbank erstellt und anonymisiert (der gesamte Notizinhalt wird entfernt und nur die Struktur und einige nicht vertrauliche Metadaten bleiben übrig), sodass sie zu Debugging-Zwecken online geteilt werden kann, ohne befürchten zu müssen, dass Ihre persönlichen Daten verloren gehen.", - "save_fully_anonymized_database": "Speichere eine vollständig anonymisierte Datenbank", - "light_anonymization": "Leichte Anonymisierung", - "light_anonymization_description": "Durch diese Aktion wird eine neue Kopie der Datenbank erstellt und eine leichte Anonymisierung vorgenommen – insbesondere wird nur der Inhalt aller Notizen entfernt, Titel und Attribute bleiben jedoch erhalten. Darüber hinaus bleiben benutzerdefinierte JS-Frontend-/Backend-Skriptnotizen und benutzerdefinierte Widgets erhalten. Dies bietet mehr Kontext zum Debuggen der Probleme.", - "choose_anonymization": "Du kannst selbst entscheiden, ob du eine vollständig oder leicht anonymisierte Datenbank bereitstellen möchten. Selbst eine vollständig anonymisierte Datenbank ist sehr nützlich. In einigen Fällen kann jedoch eine leicht anonymisierte Datenbank den Prozess der Fehlererkennung und -behebung beschleunigen.", - "save_lightly_anonymized_database": "Speichere eine leicht anonymisierte Datenbank", - "existing_anonymized_databases": "Vorhandene anonymisierte Datenbanken", - "creating_fully_anonymized_database": "Vollständig anonymisierte Datenbank erstellen...", - "creating_lightly_anonymized_database": "Erstellen einer leicht anonymisierten Datenbank...", - "error_creating_anonymized_database": "Die anonymisierte Datenbank konnte nicht erstellt werden. Überprüfe die Backend-Protokolle auf Details", - "successfully_created_fully_anonymized_database": "Vollständig anonymisierte Datenbank in {{anonymizedFilePath}} erstellt", - "successfully_created_lightly_anonymized_database": "Leicht anonymisierte Datenbank in {{anonymizedFilePath}} erstellt", - "no_anonymized_database_yet": "Noch keine anonymisierte Datenbank" - }, - "database_integrity_check": { - "title": "Datenbankintegritätsprüfung", - "description": "Dadurch wird überprüft, ob die Datenbank auf SQLite-Ebene nicht beschädigt ist. Abhängig von der DB-Größe kann es einige Zeit dauern.", - "check_button": "Überprüfe die Datenbankintegrität", - "checking_integrity": "Datenbankintegrität prüfen...", - "integrity_check_succeeded": "Integritätsprüfung erfolgreich – keine Probleme gefunden.", - "integrity_check_failed": "Integritätsprüfung fehlgeschlagen: {{results}}" - }, - "sync": { - "title": "Synchronisieren", - "force_full_sync_button": "Vollständige Synchronisierung erzwingen", - "fill_entity_changes_button": "Entitätsänderungsdatensätze füllen", - "full_sync_triggered": "Vollständige Synchronisierung ausgelöst", - "filling_entity_changes": "Entitätsänderungszeilen werden gefüllt...", - "sync_rows_filled_successfully": "Synchronisierungszeilen erfolgreich gefüllt", - "finished-successfully": "Synchronisierung erfolgreich beendet.", - "failed": "Synchronisierung fehlgeschlagen: {{message}}" - }, - "vacuum_database": { - "title": "Vakuumdatenbank", - "description": "Dadurch wird die Datenbank neu erstellt, was normalerweise zu einer kleineren Datenbankdatei führt. Es werden keine Daten tatsächlich geändert.", - "button_text": "Vakuumdatenbank", - "vacuuming_database": "Datenbank wird geleert...", - "database_vacuumed": "Die Datenbank wurde geleert" - }, - "fonts": { - "theme_defined": "Thema definiert", - "fonts": "Schriftarten", - "main_font": "Handschrift", - "font_family": "Schriftfamilie", - "size": "Größe", - "note_tree_font": "Notizbaum-Schriftart", - "note_detail_font": "Notiz-Detail-Schriftart", - "monospace_font": "Minivan (Code) Schriftart", - "note_tree_and_detail_font_sizing": "Beachte, dass die Größe der Baum- und Detailschriftarten relativ zur Hauptschriftgrößeneinstellung ist.", - "not_all_fonts_available": "Möglicherweise sind nicht alle aufgelisteten Schriftarten auf Ihrem System verfügbar.", - "apply_font_changes": "Um Schriftartänderungen zu übernehmen, klicke auf", - "reload_frontend": "Frontend neu laden", - "generic-fonts": "Generische Schriftarten", - "sans-serif-system-fonts": "Sans-serif Systemschriftarten", - "serif-system-fonts": "Serif Systemschriftarten", - "monospace-system-fonts": "Monospace Systemschriftarten", - "handwriting-system-fonts": "Handschrift Systemschriftarten", - "serif": "Serif", - "sans-serif": "Sans Serif", - "monospace": "Monospace", - "system-default": "System Standard" - }, - "max_content_width": { - "title": "Inhaltsbreite", - "default_description": "Trilium begrenzt standardmäßig die maximale Inhaltsbreite, um die Lesbarkeit für maximierte Bildschirme auf Breitbildschirmen zu verbessern.", - "max_width_label": "Maximale Inhaltsbreite in Pixel", - "apply_changes_description": "Um Änderungen an der Inhaltsbreite anzuwenden, klicke auf", - "reload_button": "Frontend neu laden", - "reload_description": "Änderungen an den Darstellungsoptionen" - }, - "native_title_bar": { - "title": "Native Titelleiste (App-Neustart erforderlich)", - "enabled": "ermöglicht", - "disabled": "deaktiviert" - }, - "ribbon": { - "widgets": "Multifunktionsleisten-Widgets", - "promoted_attributes_message": "Die Multifunktionsleisten-Registerkarte „Heraufgestufte Attribute“ wird automatisch geöffnet, wenn in der Notiz heraufgestufte Attribute vorhanden sind", - "edited_notes_message": "Die Multifunktionsleisten-Registerkarte „Bearbeitete Notizen“ wird bei Tagesnotizen automatisch geöffnet" - }, - "theme": { - "title": "Thema", - "theme_label": "Thema", - "override_theme_fonts_label": "Theme-Schriftarten überschreiben", - "auto_theme": "Auto", - "light_theme": "Hell", - "dark_theme": "Dunkel", - "triliumnext": "TriliumNext Beta (Systemfarbschema folgend)", - "triliumnext-light": "TriliumNext Beta (Hell)", - "triliumnext-dark": "TriliumNext Beta (Dunkel)", - "layout": "Layout", - "layout-vertical-title": "Vertikal", - "layout-horizontal-title": "Horizontal", - "layout-vertical-description": "Startleiste ist auf der linken Seite (standard)", - "layout-horizontal-description": "Startleiste ist unter der Tableiste. Die Tableiste wird dadurch auf die ganze Breite erweitert." - }, - "zoom_factor": { - "title": "Zoomfaktor (nur Desktop-Build)", - "description": "Das Zoomen kann auch mit den Tastenkombinationen STRG+- und STRG+u003d gesteuert werden." - }, - "code_auto_read_only_size": { - "title": "Automatische schreibgeschützte Größe", - "description": "Die automatische schreibgeschützte Notizgröße ist die Größe, ab der Notizen im schreibgeschützten Modus angezeigt werden (aus Leistungsgründen).", - "label": "Automatische schreibgeschützte Größe (Codenotizen)" - }, - "code_mime_types": { - "title": "Verfügbare MIME-Typen im Dropdown-Menü" - }, - "vim_key_bindings": { - "use_vim_keybindings_in_code_notes": "Verwende VIM-Tastenkombinationen in Codenotizen (kein Ex-Modus)", - "enable_vim_keybindings": "Aktiviere Vim-Tastenkombinationen" - }, - "wrap_lines": { - "wrap_lines_in_code_notes": "Zeilen in Codenotizen umbrechen", - "enable_line_wrap": "Zeilenumbruch aktivieren (Änderung erfordert möglicherweise ein Neuladen des Frontends, um wirksam zu werden)" - }, - "images": { - "images_section_title": "Bilder", - "download_images_automatically": "Lade Bilder automatisch herunter, um sie offline zu verwenden.", - "download_images_description": "Eingefügter HTML-Code kann Verweise auf Online-Bilder enthalten. Trilium findet diese Verweise und lädt die Bilder herunter, sodass sie offline verfügbar sind.", - "enable_image_compression": "Bildkomprimierung aktivieren", - "max_image_dimensions": "Maximale Breite/Höhe eines Bildes in Pixel (die Größe des Bildes wird geändert, wenn es diese Einstellung überschreitet).", - "jpeg_quality_description": "JPEG-Qualität (10 – schlechteste Qualität, 100 – beste Qualität, 50 – 85 wird empfohlen)" - }, - "attachment_erasure_timeout": { - "attachment_erasure_timeout": "Zeitüberschreitung beim Löschen von Anhängen", - "attachment_auto_deletion_description": "Anhänge werden automatisch gelöscht (und gelöscht), wenn sie nach einer definierten Zeitspanne nicht mehr in ihrer Notiz referenziert werden.", - "erase_attachments_after": "Erase unused attachments after:", - "manual_erasing_description": "Du kannst das Löschen auch manuell auslösen (ohne Berücksichtigung des oben definierten Timeouts):", - "erase_unused_attachments_now": "Lösche jetzt nicht verwendete Anhangnotizen", - "unused_attachments_erased": "Nicht verwendete Anhänge wurden gelöscht." - }, - "network_connections": { - "network_connections_title": "Netzwerkverbindungen", - "check_for_updates": "Suche automatisch nach Updates" - }, - "note_erasure_timeout": { - "note_erasure_timeout_title": "Beachte das Zeitlimit für die Löschung", - "note_erasure_description": "Deleted notes (and attributes, revisions...) are at first only marked as deleted and it is possible to recover them from Recent Notes dialog. After a period of time, deleted notes are \"erased\" which means their content is not recoverable anymore. This setting allows you to configure the length of the period between deleting and erasing the note.", - "erase_notes_after": "Notizen löschen nach:", - "manual_erasing_description": "Du kannst das Löschen auch manuell auslösen (ohne Berücksichtigung des oben definierten Timeouts):", - "erase_deleted_notes_now": "Jetzt gelöschte Notizen löschen", - "deleted_notes_erased": "Gelöschte Notizen wurden gelöscht." - }, - "revisions_snapshot_interval": { - "note_revisions_snapshot_interval_title": "Snapshot-Intervall für Notizrevisionen", - "note_revisions_snapshot_description": "Das Snapshot-Zeitintervall für Notizrevisionen ist die Zeit, nach der eine neue Notizrevision erstellt wird. Weitere Informationen findest du im Wiki.", - "snapshot_time_interval_label": "Zeitintervall für Notiz-Revisions-Snapshot:" - }, - "revisions_snapshot_limit": { - "note_revisions_snapshot_limit_title": "Limit für Notizrevision-Snapshots", - "note_revisions_snapshot_limit_description": "Das Limit für Notizrevision-Snapshots bezieht sich auf die maximale Anzahl von Revisionen, die für jede Notiz gespeichert werden können. Dabei bedeutet -1, dass es kein Limit gibt, und 0 bedeutet, dass alle Revisionen gelöscht werden. Du kannst das maximale Limit für Revisionen einer einzelnen Notiz über das Label #versioningLimit festlegen.", - "snapshot_number_limit_label": "Limit der Notizrevision-Snapshots:", - "erase_excess_revision_snapshots": "Überschüssige Revision-Snapshots jetzt löschen", - "erase_excess_revision_snapshots_prompt": "Überschüssige Revision-Snapshots wurden gelöscht." - }, - "search_engine": { - "title": "Suchmaschine", - "custom_search_engine_info": "Für eine benutzerdefinierte Suchmaschine müssen sowohl ein Name als auch eine URL festgelegt werden. Wenn keine dieser Optionen festgelegt ist, wird DuckDuckGo als Standardsuchmaschine verwendet.", - "predefined_templates_label": "Vordefinierte Suchmaschinenvorlagen", - "bing": "Bing", - "baidu": "Baidu", - "duckduckgo": "DuckDuckGo", - "google": "Google", - "custom_name_label": "Benutzerdefinierter Suchmaschinenname", - "custom_name_placeholder": "Passe den Suchmaschinennamen an", - "custom_url_label": "Die benutzerdefinierte Suchmaschinen-URL sollte {keyword} als Platzhalter für den Suchbegriff enthalten.", - "custom_url_placeholder": "Passe die Suchmaschinen-URL an", - "save_button": "Speichern" - }, - "tray": { - "title": "Systemablage", - "enable_tray": "Tray aktivieren (Trilium muss neu gestartet werden, damit diese Änderung wirksam wird)" - }, - "heading_style": { - "title": "Überschriftenstil", - "plain": "Schmucklos", - "underline": "Unterstreichen", - "markdown": "Markdown-Stil" - }, - "highlights_list": { - "title": "Highlights-Liste", - "description": "Du kannst die im rechten Bereich angezeigte Highlights-Liste anpassen:", - "bold": "Fettgedruckter Text", - "italic": "Kursiver Text", - "underline": "Unterstrichener Text", - "color": "Farbiger Text", - "bg_color": "Text mit Hintergrundfarbe", - "visibility_title": "Sichtbarkeit der Highlights-Liste", - "visibility_description": "Du kannst das Hervorhebungs-Widget pro Notiz ausblenden, indem du die Beschriftung #hideHighlightWidget hinzufügst.", - "shortcut_info": "Du kannst eine Tastenkombination zum schnellen Umschalten des rechten Bereichs (einschließlich Hervorhebungen) in den Optionen -> Tastenkombinationen konfigurieren (Name „toggleRightPane“)." - }, - "table_of_contents": { - "title": "Inhaltsverzeichnis", - "description": "Das Inhaltsverzeichnis wird in Textnotizen angezeigt, wenn die Notiz mehr als eine definierte Anzahl von Überschriften enthält. Du kannst diese Nummer anpassen:", - "disable_info": "Du kannst diese Option auch verwenden, um TOC effektiv zu deaktivieren, indem du eine sehr hohe Zahl festlegst.", - "shortcut_info": "Du kannst eine Tastenkombination zum schnellen Umschalten des rechten Bereichs (einschließlich Inhaltsverzeichnis) unter Optionen -> Tastenkombinationen konfigurieren (Name „toggleRightPane“)." - }, - "text_auto_read_only_size": { - "title": "Automatische schreibgeschützte Größe", - "description": "Die automatische schreibgeschützte Notizgröße ist die Größe, ab der Notizen im schreibgeschützten Modus angezeigt werden (aus Leistungsgründen).", - "label": "Automatische schreibgeschützte Größe (Textnotizen)" - }, - "i18n": { - "title": "Lokalisierung", - "language": "Sprache", - "first-day-of-the-week": "Erster Tag der Woche", - "sunday": "Sonntag", - "monday": "Montag" - }, - "backup": { - "automatic_backup": "Automatische Sicherung", - "automatic_backup_description": "Trilium kann die Datenbank automatisch sichern:", - "enable_daily_backup": "Aktiviere die tägliche Sicherung", - "enable_weekly_backup": "Aktiviere die wöchentliche Sicherung", - "enable_monthly_backup": "Aktiviere die monatliche Sicherung", - "backup_recommendation": "Es wird empfohlen, die Sicherung aktiviert zu lassen. Dies kann jedoch bei großen Datenbanken und/oder langsamen Speichergeräten den Anwendungsstart verlangsamen.", - "backup_now": "Jetzt sichern", - "backup_database_now": "Jetzt Datenbank sichern", - "existing_backups": "Vorhandene Backups", - "date-and-time": "Datum & Uhrzeit", - "path": "Pfad", - "database_backed_up_to": "Die Datenbank wurde gesichert unter {{backupFilePath}}", - "no_backup_yet": "noch kein Backup" - }, - "etapi": { - "title": "ETAPI", - "description": "ETAPI ist eine REST-API, die für den programmgesteuerten Zugriff auf die Trilium-Instanz ohne Benutzeroberfläche verwendet wird.", - "see_more": "Weitere Details können im {{- link_to_wiki}} und in der {{- link_to_openapi_spec}} oder der {{- link_to_swagger_ui }} gefunden werden.", - "wiki": "Wiki", - "openapi_spec": "ETAPI OpenAPI-Spezifikation", - "swagger_ui": "ETAPI Swagger UI", - "create_token": "Erstelle ein neues ETAPI-Token", - "existing_tokens": "Vorhandene Token", - "no_tokens_yet": "Es sind noch keine Token vorhanden. Klicke auf die Schaltfläche oben, um eine zu erstellen.", - "token_name": "Tokenname", - "created": "Erstellt", - "actions": "Aktionen", - "new_token_title": "Neuer ETAPI-Token", - "new_token_message": "Bitte gebe en Namen des neuen Tokens ein", - "default_token_name": "neues Token", - "error_empty_name": "Der Tokenname darf nicht leer sein", - "token_created_title": "ETAPI-Token erstellt", - "token_created_message": "Kopiere den erstellten Token in die Zwischenablage. Trilium speichert den Token gehasht und dies ist das letzte Mal, dass du ihn siehst.", - "rename_token": "Benenne dieses Token um", - "delete_token": "Dieses Token löschen/deaktivieren", - "rename_token_title": "Token umbenennen", - "rename_token_message": "Bitte gebe den Namen des neuen Tokens ein", - "delete_token_confirmation": "Bist du sicher, dass den ETAPI token \"{{name}}\" löschen möchstest?" - }, - "options_widget": { - "options_status": "Optionsstatus", - "options_change_saved": "Die Änderung der Optionen wurde gespeichert." - }, - "password": { - "heading": "Passwort", - "alert_message": "Bitte merke dir dein neues Passwort gut. Das Passwort wird zum Anmelden bei der Weboberfläche und zum Verschlüsseln geschützter Notizen verwendet. Wenn du dein Passwort vergisst, gehen alle deine geschützten Notizen für immer verloren.", - "reset_link": "Klicke hier, um es zurückzusetzen.", - "old_password": "Altes Passwort", - "new_password": "Neues Passwort", - "new_password_confirmation": "Neue Passwortbestätigung", - "change_password": "Kennwort ändern", - "protected_session_timeout": "Zeitüberschreitung der geschützten Sitzung", - "protected_session_timeout_description": "Das Zeitlimit für geschützte Sitzungen ist ein Zeitraum, nach dem die geschützte Sitzung aus dem Speicher des Browsers gelöscht wird. Dies wird ab der letzten Interaktion mit geschützten Notizen gemessen. Sehen", - "wiki": "Wiki", - "for_more_info": "für weitere Informationen.", - "protected_session_timeout_label": "Zeitüberschreitung der geschützten Sitzung:", - "reset_confirmation": "Durch das Zurücksetzen des Passworts verlierst du für immer den Zugriff auf alle Ihre bestehenden geschützten Notizen. Möchtest du das Passwort wirklich zurücksetzen?", - "reset_success_message": "Das Passwort wurde zurückgesetzt. Bitte lege ein neues Passwort fest", - "change_password_heading": "Kennwort ändern", - "set_password_heading": "Passwort festlegen", - "set_password": "Passwort festlegen", - "password_mismatch": "Neue Passwörter sind nicht dasselbe.", - "password_changed_success": "Das Passwort wurde geändert. Trilium wird neu geladen, nachdem du auf OK geklickt hast." - }, - "shortcuts": { - "keyboard_shortcuts": "Tastaturkürzel", - "multiple_shortcuts": "Mehrere Tastenkombinationen für dieselbe Aktion können durch Komma getrennt werden.", - "electron_documentation": "Siehe Electron documentation für verfügbare Modifier und key codes.", - "type_text_to_filter": "Gebe Text ein, um Verknüpfungen zu filtern...", - "action_name": "Aktionsname", - "shortcuts": "Tastenkürzel", - "default_shortcuts": "Standardtastenkürzel", - "description": "Beschreibung", - "reload_app": "Lade die App neu, um die Änderungen zu übernehmen", - "set_all_to_default": "Setze alle Verknüpfungen auf die Standardeinstellungen", - "confirm_reset": "Möchtest du wirklich alle Tastaturkürzel auf die Standardeinstellungen zurücksetzen?" - }, - "spellcheck": { - "title": "Rechtschreibprüfung", - "description": "Diese Optionen gelten nur für Desktop-Builds. Browser verwenden ihre eigene native Rechtschreibprüfung.", - "enable": "Aktiviere die Rechtschreibprüfung", - "language_code_label": "Sprachcode(s)", - "language_code_placeholder": "zum Beispiel \"en-US\", \"de-AT\"", - "multiple_languages_info": "Mehrere Sprachen können mit einem Komma getrennt werden z.B. \"en-US, de-DE, cs\". ", - "available_language_codes_label": "Verfügbare Sprachcodes:", - "restart-required": "Änderungen an den Rechtschreibprüfungsoptionen werden nach dem Neustart der Anwendung wirksam." - }, - "sync_2": { - "config_title": "Synchronisierungskonfiguration", - "server_address": "Adresse der Serverinstanz", - "timeout": "Synchronisierungs-Timeout (Millisekunden)", - "proxy_label": "Proxyserver synchronisieren (optional)", - "note": "Notiz", - "note_description": "Wenn du die Proxy-Einstellung leer lässt, wird der System-Proxy verwendet (gilt nur für Desktop-/Electron-Build).", - "special_value_description": "Ein weiterer besonderer Wert ist noproxy, der das Ignorieren sogar des System-Proxys erzwingt und NODE_TLS_REJECT_UNAUTHORIZED respektiert.", - "save": "Speichern", - "help": "Helfen", - "test_title": "Synchronisierungstest", - "test_description": "Dadurch werden die Verbindung und der Handshake zum Synchronisierungsserver getestet. Wenn der Synchronisierungsserver nicht initialisiert ist, wird er dadurch für die Synchronisierung mit dem lokalen Dokument eingerichtet.", - "test_button": "Teste die Synchronisierung", - "handshake_failed": "Handshake des Synchronisierungsservers fehlgeschlagen, Fehler: {{message}}" - }, - "api_log": { - "close": "Schließen" - }, - "attachment_detail_2": { - "will_be_deleted_in": "Dieser Anhang wird in {{time}} automatisch gelöscht", - "will_be_deleted_soon": "Dieser Anhang wird bald automatisch gelöscht", - "deletion_reason": ", da der Anhang nicht im Inhalt der Notiz verlinkt ist. Um das Löschen zu verhindern, füge den Anhangslink wieder in den Inhalt ein oder wandel den Anhang in eine Notiz um.", - "role_and_size": "Rolle: {{role}}, Größe: {{size}}", - "link_copied": "Anhangslink in die Zwischenablage kopiert.", - "unrecognized_role": "Unbekannte Anhangsrolle „{{role}}“." - }, - "bookmark_switch": { - "bookmark": "Lesezeichen", - "bookmark_this_note": "Setze ein Lesezeichen für diese Notiz im linken Seitenbereich", - "remove_bookmark": "Lesezeichen entfernen" - }, - "editability_select": { - "auto": "Auto", - "read_only": "Schreibgeschützt", - "always_editable": "Immer editierbar", - "note_is_editable": "Die Notiz kann bearbeitet werden, wenn sie nicht zu lang ist.", - "note_is_read_only": "Die Notiz ist schreibgeschützt, kann aber per Knopfdruck bearbeitet werden.", - "note_is_always_editable": "Die Notiz kann immer bearbeitet werden, unabhängig von ihrer Länge." - }, - "note-map": { - "button-link-map": "Beziehungskarte", - "button-tree-map": "Baumkarte" - }, - "tree-context-menu": { - "open-in-a-new-tab": "In neuem Tab öffnen Strg+Klick", - "open-in-a-new-split": "In neuem Split öffnen", - "insert-note-after": "Notiz dahinter einfügen", - "insert-child-note": "Unternotiz einfügen", - "delete": "Löschen", - "search-in-subtree": "Im Notizbaum suchen", - "hoist-note": "Notiz-Fokus setzen", - "unhoist-note": "Notiz-Fokus aufheben", - "edit-branch-prefix": "Zweig-Präfix bearbeiten", - "advanced": "Erweitert", - "expand-subtree": "Notizbaum ausklappen", - "collapse-subtree": "Notizbaum einklappen", - "sort-by": "Sortieren nach...", - "recent-changes-in-subtree": "Kürzliche Änderungen im Notizbaum", - "convert-to-attachment": "Als Anhang konvertieren", - "copy-note-path-to-clipboard": "Notiz-Pfad in die Zwischenablage kopieren", - "protect-subtree": "Notizbaum schützen", - "unprotect-subtree": "Notizenbaum-Schutz aufheben", - "copy-clone": "Kopieren / Klonen", - "clone-to": "Klonen nach...", - "cut": "Ausschneiden", - "move-to": "Verschieben nach...", - "paste-into": "Als Unternotiz einfügen", - "paste-after": "Danach einfügen", - "duplicate": "Duplizieren", - "export": "Exportieren", - "import-into-note": "In Notiz importieren", - "apply-bulk-actions": "Massenaktionen ausführen", - "converted-to-attachments": "{{count}} Notizen wurden als Anhang konvertiert.", - "convert-to-attachment-confirm": "Bist du sicher, dass du die ausgewählten Notizen in Anhänge ihrer übergeordneten Notizen umwandeln möchtest?" - }, - "shared_info": { - "shared_publicly": "Diese Notiz ist öffentlich geteilt auf", - "shared_locally": "Diese Notiz ist lokal geteilt auf", - "help_link": "Für Hilfe besuche wiki." - }, - "note_types": { - "text": "Text", - "code": "Code", - "saved-search": "Gespeicherte Such-Notiz", - "relation-map": "Beziehungskarte", - "note-map": "Notizkarte", - "render-note": "Render Notiz", - "book": "", - "mermaid-diagram": "Mermaid Diagram", - "canvas": "Canvas", - "web-view": "Webansicht", - "mind-map": "Mind Map", - "file": "Datei", - "image": "Bild", - "launcher": "Launcher", - "doc": "Dokument", - "widget": "Widget", - "confirm-change": "Es is nicht empfehlenswert den Notiz-Typ zu ändern, wenn der Inhalt der Notiz nicht leer ist. Möchtest du dennoch fortfahren?", - "geo-map": "Geo Map", - "beta-feature": "Beta" - }, - "protect_note": { - "toggle-on": "Notiz schützen", - "toggle-off": "Notizschutz aufheben", - "toggle-on-hint": "Notiz ist ungeschützt, klicken, um sie zu schützen", - "toggle-off-hint": "Notiz ist geschützt, klicken, um den Schutz aufzuheben" - }, - "shared_switch": { - "shared": "Teilen", - "toggle-on-title": "Notiz teilen", - "toggle-off-title": "Notiz-Freigabe aufheben", - "shared-branch": "Diese Notiz existiert nur als geteilte Notiz, das Aufheben der Freigabe würde sie löschen. Möchtest du fortfahren und die Notiz damit löschen?", - "inherited": "Die Notiz kann hier nicht von der Freigabe entfernt werden, da sie über Vererbung von einer übergeordneten Notiz geteilt wird." - }, - "template_switch": { - "template": "Vorlage", - "toggle-on-hint": "Notiz zu einer Vorlage machen", - "toggle-off-hint": "Entferne die Notiz als Vorlage" - }, - "open-help-page": "Hilfeseite öffnen", - "find": { - "case_sensitive": "Groß-/Kleinschreibung beachten", - "match_words": "Wörter genau übereinstimmen", - "find_placeholder": "Finde in Text...", - "replace_placeholder": "Ersetze mit...", - "replace": "Ersetzen", - "replace_all": "Alle Ersetzen" - }, - "highlights_list_2": { - "title": "Hervorhebungs-Liste", - "options": "Optionen" - }, - "quick-search": { - "placeholder": "Schnellsuche", - "searching": "Suche läuft…", - "no-results": "Keine Ergebnisse gefunden", - "more-results": "... und {{number}} weitere Ergebnisse.", - "show-in-full-search": "In der vollständigen Suche anzeigen" - }, - "note_tree": { - "collapse-title": "Notizbaum zusammenklappen", - "scroll-active-title": "Zur aktiven Notiz scrollen", - "tree-settings-title": "Baum-Einstellungen", - "hide-archived-notes": "Archivierte Notizen ausblenden", - "automatically-collapse-notes": "Notizen automatisch zusammenklappen", - "automatically-collapse-notes-title": "Notizen werden nach einer Inaktivitätsperiode automatisch zusammengeklappt, um den Baum zu entlasten.", - "save-changes": "Änderungen speichern und anwenden", - "auto-collapsing-notes-after-inactivity": "Automatisches Zusammenklappen von Notizen nach Inaktivität…", - "saved-search-note-refreshed": "Gespeicherte Such-Notiz wurde aktualisiert.", - "hoist-this-note-workspace": "Diese Notiz fokussieren (Arbeitsbereich)", - "refresh-saved-search-results": "Gespeicherte Suchergebnisse aktualisieren", - "create-child-note": "Unternotiz anlegen", - "unhoist": "Entfokussieren" - }, - "title_bar_buttons": { - "window-on-top": "Dieses Fenster immer oben halten" - }, - "note_detail": { - "could_not_find_typewidget": "Konnte typeWidget für Typ ‚{{type}}‘ nicht finden" - }, - "note_title": { - "placeholder": "Titel der Notiz hier eingeben…" - }, - "search_result": { - "no_notes_found": "Es wurden keine Notizen mit den angegebenen Suchparametern gefunden.", - "search_not_executed": "Die Suche wurde noch nicht ausgeführt. Klicke oben auf „Suchen“, um die Ergebnisse anzuzeigen." - }, - "spacer": { - "configure_launchbar": "Startleiste konfigurieren" - }, - "sql_result": { - "no_rows": "Es wurden keine Zeilen für diese Abfrage zurückgegeben" - }, - "sql_table_schemas": { - "tables": "Tabellen" - }, - "tab_row": { - "close_tab": "Tab schließen", - "add_new_tab": "Neuen Tab hinzufügen", - "close": "Schließen", - "close_other_tabs": "Andere Tabs schließen", - "close_right_tabs": "Tabs rechts schließen", - "close_all_tabs": "Alle Tabs schließen", - "reopen_last_tab": "Zuletzt geschlossenen Tab erneut öffnen", - "move_tab_to_new_window": "Tab in neues Fenster verschieben", - "copy_tab_to_new_window": "Tab in neues Fenster kopieren", - "new_tab": "Neuer Tab" - }, - "toc": { - "table_of_contents": "Inhaltsverzeichnis", - "options": "Optionen" - }, - "watched_file_update_status": { - "file_last_modified": "Datei wurde zuletzt geändert am .", - "upload_modified_file": "Modifizierte Datei hochladen", - "ignore_this_change": "Diese Änderung ignorieren" - }, - "app_context": { - "please_wait_for_save": "Bitte warte ein paar Sekunden, bis das Speichern abgeschlossen ist, und versuche es dann erneut." - }, - "note_create": { - "duplicated": "Notiz ‚{{title}}‘ wurde dupliziert." - }, - "image": { - "copied-to-clipboard": "Ein Verweis auf das Bild wurde in die Zwischenablage kopiert. Dieser kann in eine beliebige Textnotiz eingefügt werden.", - "cannot-copy": "Das Bild konnte nicht in die Zwischenablage kopiert werden." - }, - "clipboard": { - "cut": "Notiz(en) wurden in die Zwischenablage ausgeschnitten.", - "copied": "Notiz(en) wurden in die Zwischenablage kopiert." - }, - "entrypoints": { - "note-revision-created": "Notizrevision wurde erstellt.", - "note-executed": "Notiz wurde ausgeführt.", - "sql-error": "Fehler bei der Ausführung der SQL-Abfrage: {{message}}" - }, - "branches": { - "cannot-move-notes-here": "Notizen können hier nicht verschoben werden.", - "delete-status": "Löschstatus", - "delete-notes-in-progress": "Löschen von Notizen in Bearbeitung: {{count}}", - "delete-finished-successfully": "Löschen erfolgreich abgeschlossen.", - "undeleting-notes-in-progress": "Wiederherstellen von Notizen in Bearbeitung: {{count}}", - "undeleting-notes-finished-successfully": "Wiederherstellen von Notizen erfolgreich abgeschlossen." - }, - "frontend_script_api": { - "async_warning": "Du übergibst eine asynchrone Funktion an `api.runOnBackend()`, was wahrscheinlich nicht wie beabsichtigt funktioniert.\\nEntweder mach die Funktion synchron (indem du das `async`-Schlüsselwort entfernst) oder benutze `api.runAsyncOnBackendWithManualTransactionHandling()`.", - "sync_warning": "Du übergibst eine synchrone Funktion an `api.runAsyncOnBackendWithManualTransactionHandling()`,\\nobwohl du wahrscheinlich `api.runOnBackend()` verwenden solltest." - }, - "ws": { - "sync-check-failed": "Synchronisationsprüfung fehlgeschlagen!", - "consistency-checks-failed": "Konsistenzprüfung fehlgeschlagen! Siehe Logs für Details.", - "encountered-error": "Fehler „{{message}}“ aufgetreten, siehe Konsole für Details." - }, - "hoisted_note": { - "confirm_unhoisting": "Die angeforderte Notiz ‚{{requestedNote}}‘ befindet sich außerhalb des hoisted Bereichs der Notiz ‚{{hoistedNote}}‘. Du musst sie unhoisten, um auf die Notiz zuzugreifen. Möchtest du mit dem Unhoisting fortfahren?" - }, - "launcher_context_menu": { - "reset_launcher_confirm": "Möchtest du „{{title}}“ wirklich zurücksetzen? Alle Daten / Einstellungen in dieser Notiz (und ihren Unternotizen) gehen verloren und der Launcher wird an seinen ursprünglichen Standort zurückgesetzt.", - "add-note-launcher": "Launcher für Notiz hinzufügen", - "add-script-launcher": "Launcher für Skript hinzufügen", - "add-custom-widget": "Benutzerdefiniertes Widget hinzufügen", - "add-spacer": "Spacer hinzufügen", - "delete": "Löschen ", - "reset": "Zurücksetzen", - "move-to-visible-launchers": "Zu sichtbaren Launchern verschieben", - "move-to-available-launchers": "Zu verfügbaren Launchern verschieben", - "duplicate-launcher": "Launcher duplizieren " - }, - "editable-text": { - "auto-detect-language": "Automatisch erkannt" - }, - "highlighting": { - "title": "", - "description": "Steuert die Syntaxhervorhebung für Codeblöcke in Textnotizen, Code-Notizen sind nicht betroffen.", - "color-scheme": "Farbschema" - }, - "code_block": { - "word_wrapping": "Wortumbruch", - "theme_none": "Keine Syntax-Hervorhebung", - "theme_group_light": "Helle Themen", - "theme_group_dark": "Dunkle Themen" - }, - "classic_editor_toolbar": { - "title": "Format" - }, - "editor": { - "title": "Editor" - }, - "editing": { - "editor_type": { - "label": "Format Toolbar", - "floating": { - "title": "Schwebend", - "description": "Werkzeuge erscheinen in Cursornähe" - }, - "fixed": { - "title": "Fixiert", - "description": "Werkzeuge erscheinen im \"Format\" Tab" - }, - "multiline-toolbar": "Toolbar wenn nötig in mehreren Zeilen darstellen." - } - }, - "electron_context_menu": { - "add-term-to-dictionary": "Begriff \"{{term}}\" zum Wörterbuch hinzufügen", - "cut": "Ausschneiden", - "copy": "Kopieren", - "copy-link": "Link opieren", - "paste": "Einfügen", - "paste-as-plain-text": "Als unformatierten Text einfügen", - "search_online": "Suche nach \"{{term}}\" mit {{searchEngine}} starten" - }, - "image_context_menu": { - "copy_reference_to_clipboard": "Referenz in Zwischenablage kopieren", - "copy_image_to_clipboard": "Bild in die Zwischenablage kopieren" - }, - "link_context_menu": { - "open_note_in_new_tab": "Notiz in neuen Tab öffnen", - "open_note_in_new_split": "Notiz in neuen geteilten Tab öffnen", - "open_note_in_new_window": "Notiz in neuen Fenster öffnen" - }, - "electron_integration": { - "desktop-application": "Desktop Anwendung", - "native-title-bar": "Native Anwendungsleiste", - "native-title-bar-description": "In Windows und macOS, sorgt das Deaktivieren der nativen Anwendungsleiste für ein kompakteres Aussehen. Unter Linux, sorgt das Aktivieren der nativen Anwendungsleiste für eine bessere Integration mit anderen Teilen des Systems.", - "background-effects": "Hintergrundeffekte aktivieren (nur Windows 11)", - "background-effects-description": "Der Mica Effekt fügt einen unscharfen, stylischen Hintergrund in Anwendungsfenstern ein. Dieser erzeugt Tiefe und ein modernes Auftreten.", - "restart-app-button": "Anwendung neustarten um Änderungen anzuwenden", - "zoom-factor": "Zoomfaktor" - }, - "note_autocomplete": { - "search-for": "Suche nach \"{{term}}\"", - "create-note": "Erstelle und verlinke Unternotiz \"{{term}}\"", - "insert-external-link": "Einfügen von Externen Link zu \"{{term}}\"", - "clear-text-field": "Textfeldinhalt löschen", - "show-recent-notes": "Aktuelle Notizen anzeigen", - "full-text-search": "Volltextsuche" - }, - "note_tooltip": { - "note-has-been-deleted": "Notiz wurde gelöscht." - }, - "geo-map": { - "create-child-note-title": "Neue Unternotiz anlegen und zur Karte hinzufügen", - "create-child-note-instruction": "Auf die Karte klicken, um eine neue Notiz an der Stelle zu erstellen oder Escape drücken um abzubrechen.", - "unable-to-load-map": "Karte konnte nicht geladen werden." - }, - "geo-map-context": { - "open-location": "Ort öffnen", - "remove-from-map": "Von Karte entfernen" - }, - "help-button": { - "title": "Relevante Hilfeseite öffnen" - }, - "duration": { - "seconds": "Sekunden", - "minutes": "Minuten", - "hours": "Stunden", - "days": "Tage" - }, - "time_selector": { - "invalid_input": "Die eingegebene Zeit ist keine valide Zahl." - } } diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json index 951228cdf..f7864e95b 100644 --- a/apps/client/src/translations/es/translation.json +++ b/apps/client/src/translations/es/translation.json @@ -1,1932 +1,1929 @@ { - "about": { - "title": "Acerca de Trilium Notes", - "close": "Cerrar", - "homepage": "Página principal:", - "app_version": "Versión de la aplicación:", - "db_version": "Versión de base de datos:", - "sync_version": "Versión de sincronización:", - "build_date": "Fecha de creación:", - "build_revision": "Revisión de compilación:", - "data_directory": "Directorio de datos:" - }, - "toast": { - "critical-error": { - "title": "Error crítico", - "message": "Ha ocurrido un error crítico que previene que el cliente de la aplicación inicie:\n\n{{message}}\n\nMuy probablemente es causado por un script que falla de forma inesperada. Intente iniciar la aplicación en modo seguro y atienda el error." + "about": { + "title": "Acerca de Trilium Notes", + "close": "Cerrar", + "homepage": "Página principal:", + "app_version": "Versión de la aplicación:", + "db_version": "Versión de base de datos:", + "sync_version": "Versión de sincronización:", + "build_date": "Fecha de creación:", + "build_revision": "Revisión de compilación:", + "data_directory": "Directorio de datos:" }, - "widget-error": { - "title": "Hubo un fallo al inicializar un widget", - "message-custom": "El widget personalizado de la nota con ID \"{{id}}\", titulada \"{{title}}\" no pudo ser inicializado debido a:\n\n{{message}}", - "message-unknown": "Un widget no pudo ser inicializado debido a:\n\n{{message}}" + "toast": { + "critical-error": { + "title": "Error crítico", + "message": "Ha ocurrido un error crítico que previene que el cliente de la aplicación inicie:\n\n{{message}}\n\nMuy probablemente es causado por un script que falla de forma inesperada. Intente iniciar la aplicación en modo seguro y atienda el error." + }, + "widget-error": { + "title": "Hubo un fallo al inicializar un widget", + "message-custom": "El widget personalizado de la nota con ID \"{{id}}\", titulada \"{{title}}\" no pudo ser inicializado debido a:\n\n{{message}}", + "message-unknown": "Un widget no pudo ser inicializado debido a:\n\n{{message}}" + }, + "bundle-error": { + "title": "Hubo un fallo al cargar un script personalizado", + "message": "El script de la nota con ID \"{{id}}\", titulado \"{{title}}\" no pudo ser ejecutado debido a:\n\n{{message}}" + } }, - "bundle-error": { - "title": "Hubo un fallo al cargar un script personalizado", - "message": "El script de la nota con ID \"{{id}}\", titulado \"{{title}}\" no pudo ser ejecutado debido a:\n\n{{message}}" + "add_link": { + "add_link": "Agregar enlace", + "help_on_links": "Ayuda sobre enlaces", + "close": "Cerrar", + "note": "Nota", + "search_note": "buscar nota por su nombre", + "link_title_mirrors": "el título del enlace replica el título actual de la nota", + "link_title_arbitrary": "el título del enlace se puede cambiar arbitrariamente", + "link_title": "Título del enlace", + "button_add_link": "Agregar enlace Enter" + }, + "branch_prefix": { + "edit_branch_prefix": "Editar prefijo de rama", + "help_on_tree_prefix": "Ayuda sobre el prefijo del árbol", + "close": "Cerrar", + "prefix": "Prefijo: ", + "save": "Guardar", + "branch_prefix_saved": "Se ha guardado el prefijo de rama." + }, + "bulk_actions": { + "bulk_actions": "Acciones en bloque", + "close": "Cerrar", + "affected_notes": "Notas afectadas", + "include_descendants": "Incluir descendientes de las notas seleccionadas", + "available_actions": "Acciones disponibles", + "chosen_actions": "Acciones elegidas", + "execute_bulk_actions": "Ejecutar acciones en bloque", + "bulk_actions_executed": "Las acciones en bloque se han ejecutado con éxito.", + "none_yet": "Ninguna todavía... agregue una acción haciendo clic en una de las disponibles arriba.", + "labels": "Etiquetas", + "relations": "Relaciones", + "notes": "Notas", + "other": "Otro" + }, + "clone_to": { + "clone_notes_to": "Clonar notas a...", + "close": "Cerrar", + "help_on_links": "Ayuda sobre enlaces", + "notes_to_clone": "Notas a clonar", + "target_parent_note": "Nota padre de destino", + "search_for_note_by_its_name": "buscar nota por su nombre", + "cloned_note_prefix_title": "La nota clonada se mostrará en el árbol de notas con el prefijo dado", + "prefix_optional": "Prefijo (opcional)", + "clone_to_selected_note": "Clonar a nota seleccionada enter", + "no_path_to_clone_to": "No hay ruta para clonar.", + "note_cloned": "La nota \"{{clonedTitle}}\" a sido clonada en \"{{targetTitle}}\"" + }, + "confirm": { + "confirmation": "Confirmación", + "close": "Cerrar", + "cancel": "Cancelar", + "ok": "Aceptar", + "are_you_sure_remove_note": "¿Está seguro que desea eliminar la nota \"{{title}}\" del mapa de relaciones? ", + "if_you_dont_check": "Si no marca esto, la nota solo se eliminará del mapa de relaciones.", + "also_delete_note": "También eliminar la nota" + }, + "delete_notes": { + "delete_notes_preview": "Eliminar vista previa de notas", + "close": "Cerrar", + "delete_all_clones_description": "Eliminar también todos los clones (se puede deshacer en cambios recientes)", + "erase_notes_description": "La eliminación normal (suave) solo marca las notas como eliminadas y se pueden recuperar (en el cuadro de diálogo de cambios recientes) dentro de un periodo de tiempo. Al marcar esta opción se borrarán las notas inmediatamente y no será posible recuperarlas.", + "erase_notes_warning": "Eliminar notas permanentemente (no se puede deshacer), incluidos todos los clones. Esto forzará la recarga de la aplicación.", + "notes_to_be_deleted": "Las siguientes notas serán eliminadas ({{- noteCount}})", + "no_note_to_delete": "No se eliminará ninguna nota (solo clones).", + "broken_relations_to_be_deleted": "Las siguientes relaciones se romperán y serán eliminadas ({{- relationCount}})", + "cancel": "Cancelar", + "ok": "Aceptar", + "deleted_relation_text": "Nota {{- note}} (para ser eliminada) está referenciado por la relación {{- relation}} que se origina en {{- source}}." + }, + "export": { + "export_note_title": "Exportar nota", + "close": "Cerrar", + "export_type_subtree": "Esta nota y todos sus descendientes", + "format_html": "HTML - ya que preserva todo el formato", + "format_html_zip": "HTML en un archivo ZIP: se recomienda ya que conserva todo el formato.", + "format_markdown": "Markdown: esto conserva la mayor parte del formato.", + "format_opml": "OPML: formato de intercambio de esquemas solo para texto. El formato, las imágenes y los archivos no están incluidos.", + "opml_version_1": "OPML v1.0: solo texto sin formato", + "opml_version_2": "OPML v2.0 - también permite HTML", + "export_type_single": "Sólo esta nota sin sus descendientes", + "export": "Exportar", + "choose_export_type": "Por favor, elija primero el tipo de exportación", + "export_status": "Estado de exportación", + "export_in_progress": "Exportación en curso: {{progressCount}}", + "export_finished_successfully": "La exportación finalizó exitosamente.", + "format_pdf": "PDF - para propósitos de impresión o compartición." + }, + "help": { + "fullDocumentation": "Ayuda (la documentación completa está disponible online)", + "close": "Cerrar", + "noteNavigation": "Navegación de notas", + "goUpDown": "UP, DOWN - subir/bajar en la lista de notas", + "collapseExpand": "LEFT, RIGHT - colapsar/expandir nodo", + "notSet": "no establecido", + "goBackForwards": "retroceder / avanzar en la historia", + "showJumpToNoteDialog": "mostrar \"Saltar a\" diálogo", + "scrollToActiveNote": "desplazarse hasta la nota activa", + "jumpToParentNote": "Backspace - saltar a la nota padre", + "collapseWholeTree": "colapsar todo el árbol de notas", + "collapseSubTree": "colapsar subárbol", + "tabShortcuts": "Atajos de pestañas", + "newTabNoteLink": "CTRL+clic - (o clic central del mouse) en el enlace de la nota abre la nota en una nueva pestaña", + "newTabWithActivationNoteLink": "Ctrl+Shift+clic - (o Shift+clic de rueda de ratón) en el enlace de la nota abre y activa la nota en una nueva pestaña", + "onlyInDesktop": "Solo en escritorio (compilación con Electron)", + "openEmptyTab": "abrir pestaña vacía", + "closeActiveTab": "cerrar pestaña activa", + "activateNextTab": "activar pestaña siguiente", + "activatePreviousTab": "activar pestaña anterior", + "creatingNotes": "Creando notas", + "createNoteAfter": "crear una nueva nota después de la nota activa", + "createNoteInto": "crear una nueva subnota en la nota activa", + "editBranchPrefix": "edición prefix de clon de nota activa", + "movingCloningNotes": "Moviendo/clonando notas", + "moveNoteUpDown": "mover nota arriba/abajo en la lista de notas", + "moveNoteUpHierarchy": "mover nota hacia arriba en la jerarquía", + "multiSelectNote": "selección múltiple de nota hacia arriba/abajo", + "selectAllNotes": "seleccionar todas las notas en el nivel actual", + "selectNote": "Shift+click - seleccionar nota", + "copyNotes": "copiar nota activa (o selección actual) al portapapeles (usado para clonar)", + "cutNotes": "cortar la nota actual (o la selección actual) en el portapapeles (usado para mover notas)", + "pasteNotes": "pegar notas como subnotas en la nota activa (que se puede mover o clonar dependiendo de si se copió o cortó en el portapapeles)", + "deleteNotes": "eliminar nota/subárbol", + "editingNotes": "Editando notas", + "editNoteTitle": "en el panel de árbol cambiará del panel de árbol al título de la nota. Ingresar desde el título de la nota cambiará el foco al editor de texto. Ctrl+. cambiará de nuevo del editor al panel de árbol.", + "createEditLink": "Ctrl+K - crear/editar enlace externo", + "createInternalLink": "crear enlace interno", + "followLink": "siga el enlace debajo del cursor", + "insertDateTime": "insertar la fecha y hora actuales en la posición del cursor", + "jumpToTreePane": "saltar al panel de árbol y desplazarse hasta la nota activa", + "markdownAutoformat": "Autoformato tipo Markdown", + "headings": "##, ###, #### etc. seguido de espacio para encabezados", + "bulletList": "* o - seguido de espacio para la lista de viñetas", + "numberedList": "1. o 1) seguido de espacio para la lista numerada", + "blockQuote": "comience una línea con > seguido de espacio para el bloque de cita", + "troubleshooting": "Solución de problemas", + "reloadFrontend": "recargar la interfaz de Trilium", + "showDevTools": "mostrar herramientas de desarrollador", + "showSQLConsole": "mostrar consola SQL", + "other": "Otro", + "quickSearch": "centrarse en la entrada de búsqueda rápida", + "inPageSearch": "búsqueda en la página" + }, + "import": { + "importIntoNote": "Importar a nota", + "close": "Cerrar", + "chooseImportFile": "Elija el archivo de importación", + "importDescription": "El contenido de los archivos seleccionados se importará como notas secundarias en", + "options": "Opciones", + "safeImportTooltip": "Los archivos .zip de Trilium pueden contener scripts ejecutables que pudieran tener un comportamiento peligroso. La importación segura va a desactivar la ejecución automática de todos los scripts importados. Desmarque \"Importación segura\" solo si el archivo importado contiene scripts ejecutables y usted confía totalmente en el contenido del archivo importado.", + "safeImport": "Importación segura", + "explodeArchivesTooltip": "Si esto está marcado, Trilium leerá los archivos .zip, .enex y .opml y creará notas a partir de archivos dentro de esos archivos. Si no está marcado, Trilium adjuntará los archivos a la nota.", + "explodeArchives": "Leer el contenido de los archivos .zip, .enex y .opml.", + "shrinkImagesTooltip": "

Si marca esta opción, Trilium intentará reducir las imágenes importadas mediante escalado y optimización, lo que puede afectar la calidad de la imagen percibida. Si no está marcada, las imágenes se importarán sin cambios.

Esto no se aplica a las importaciones .zip con metadatos, ya que se supone que estos archivos ya están optimizados.

", + "shrinkImages": "Reducir imágenes", + "textImportedAsText": "Importar HTML, Markdown y TXT como notas de texto si no está claro en los metadatos", + "codeImportedAsCode": "Importar archivos de código reconocidos (por ejemplo, .json) como notas de código si no están claros en los metadatos", + "replaceUnderscoresWithSpaces": "Reemplazar guiones bajos con espacios en nombres de notas importadas", + "import": "Importar", + "failed": "La importación falló: {{message}}.", + "html_import_tags": { + "title": "HTML Importar Etiquetas", + "description": "Configurar que etiquetas HTML deben ser preservadas al importar notas. Las etiquetas que no estén en esta lista serán eliminadas durante la importación. Algunas etiquetas (como 'script') siempre son eliminadas por seguridad.", + "placeholder": "Ingrese las etiquetas HTML, una por línea", + "reset_button": "Restablecer a lista por defecto" + }, + "import-status": "Estado de importación", + "in-progress": "Importación en progreso: {{progress}}", + "successful": "Importación finalizada exitosamente." + }, + "include_note": { + "dialog_title": "Incluir nota", + "close": "Cerrar", + "label_note": "Nota", + "placeholder_search": "buscar nota por su nombre", + "box_size_prompt": "Tamaño de caja de la nota incluida:", + "box_size_small": "pequeño (~ 10 líneas)", + "box_size_medium": "medio (~ 30 líneas)", + "box_size_full": "completo (el cuadro muestra el texto completo)", + "button_include": "Incluir nota Enter" + }, + "info": { + "modalTitle": "Mensaje informativo", + "closeButton": "Cerrar", + "okButton": "Aceptar" + }, + "jump_to_note": { + "close": "Cerrar", + "search_button": "Buscar en texto completo Ctrl+Enter" + }, + "markdown_import": { + "dialog_title": "Importación de Markdown", + "close": "Cerrar", + "modal_body_text": "Debido al entorno limitado del navegador, no es posible leer directamente el portapapeles desde JavaScript. Por favor, pegue el código Markdown para importar en el área de texto a continuación y haga clic en el botón Importar", + "import_button": "Importar Ctrl+Enter", + "import_success": "El contenido de Markdown se ha importado al documento." + }, + "move_to": { + "dialog_title": "Mover notas a...", + "close": "Cerrar", + "notes_to_move": "Notas a mover", + "target_parent_note": "Nota padre de destino", + "search_placeholder": "buscar nota por su nombre", + "move_button": "Mover a la nota seleccionada enter", + "error_no_path": "No hay ruta a donde mover.", + "move_success_message": "Las notas seleccionadas se han movido a " + }, + "note_type_chooser": { + "change_path_prompt": "Cambiar donde se creará la nueva nota:", + "search_placeholder": "ruta de búsqueda por nombre (por defecto si está vacío)", + "modal_title": "Elija el tipo de nota", + "close": "Cerrar", + "modal_body": "Elija el tipo de nota/plantilla de la nueva nota:", + "templates": "Plantillas:" + }, + "password_not_set": { + "title": "La contraseña no está establecida", + "close": "Cerrar", + "body1": "Las notas protegidas se cifran mediante una contraseña de usuario, pero la contraseña aún no se ha establecido.", + "body2": "Para poder proteger notas, dé clic aquí para abrir el diálogo de Opciones y establecer tu contraseña." + }, + "prompt": { + "title": "Aviso", + "close": "Cerrar", + "ok": "Aceptar enter", + "defaultTitle": "Aviso" + }, + "protected_session_password": { + "modal_title": "Sesión protegida", + "help_title": "Ayuda sobre notas protegidas", + "close_label": "Cerrar", + "form_label": "Para continuar con la acción solicitada, debe iniciar en la sesión protegida ingresando la contraseña:", + "start_button": "Iniciar sesión protegida entrar" + }, + "recent_changes": { + "title": "Cambios recientes", + "erase_notes_button": "Borrar notas eliminadas ahora", + "close": "Cerrar", + "deleted_notes_message": "Las notas eliminadas han sido borradas.", + "no_changes_message": "Aún no hay cambios...", + "undelete_link": "recuperar", + "confirm_undelete": "¿Quiere recuperar esta nota y sus subnotas?" + }, + "revisions": { + "note_revisions": "Revisiones de nota", + "delete_all_revisions": "Eliminar todas las revisiones de esta nota", + "delete_all_button": "Eliminar todas las revisiones", + "help_title": "Ayuda sobre revisiones de notas", + "close": "Cerrar", + "revision_last_edited": "Esta revisión se editó por última vez en {{date}}", + "confirm_delete_all": "¿Quiere eliminar todas las revisiones de esta nota?", + "no_revisions": "Aún no hay revisiones para esta nota...", + "restore_button": "Restaurar", + "confirm_restore": "¿Quiere restaurar esta revisión? Esto sobrescribirá el título actual y el contenido de la nota con esta revisión.", + "delete_button": "Eliminar", + "confirm_delete": "¿Quieres eliminar esta revisión?", + "revisions_deleted": "Se han eliminado las revisiones de nota.", + "revision_restored": "Se ha restaurado la revisión de nota.", + "revision_deleted": "Se ha eliminado la revisión de la nota.", + "snapshot_interval": "Intervalo de respaldo de revisiones de nota: {{seconds}}s.", + "maximum_revisions": "Máximo de revisiones para la nota actual: {{number}}.", + "settings": "Ajustes para revisiones de nota", + "download_button": "Descargar", + "mime": "MIME: ", + "file_size": "Tamaño del archivo:", + "preview": "Vista previa:", + "preview_not_available": "La vista previa no está disponible para este tipo de notas." + }, + "sort_child_notes": { + "sort_children_by": "Ordenar hijos por...", + "close": "Cerrar", + "sorting_criteria": "Criterios de ordenamiento", + "title": "título", + "date_created": "fecha de creación", + "date_modified": "fecha de modificación", + "sorting_direction": "Dirección de ordenamiento", + "ascending": "ascendente", + "descending": "descendente", + "folders": "Carpetas", + "sort_folders_at_top": "ordenar carpetas en la parte superior", + "natural_sort": "Ordenamiento natural", + "sort_with_respect_to_different_character_sorting": "ordenar con respecto a diferentes reglas de ordenamiento y clasificación de caracteres en diferentes idiomas o regiones.", + "natural_sort_language": "Idioma de clasificación natural", + "the_language_code_for_natural_sort": "El código del idioma para el ordenamiento natural, ej. \"zh-CN\" para Chino.", + "sort": "Ordenar Enter" + }, + "upload_attachments": { + "upload_attachments_to_note": "Cargar archivos adjuntos a nota", + "close": "Cerrar", + "choose_files": "Elija los archivos", + "files_will_be_uploaded": "Los archivos se cargarán como archivos adjuntos en", + "options": "Opciones", + "shrink_images": "Reducir imágenes", + "upload": "Subir", + "tooltip": "Si marca esta opción, Trilium intentará reducir las imágenes cargadas mediante escalado y optimización, lo que puede afectar la calidad de la imagen percibida. Si no está marcada, las imágenes se cargarán sin cambios." + }, + "attribute_detail": { + "attr_detail_title": "Título del detalle del atributo", + "close_button_title": "Cancelar cambios y cerrar", + "attr_is_owned_by": "El atributo es propiedad de", + "attr_name_title": "El nombre del atributo solo puede estar compuesto de caracteres alfanuméricos, dos puntos y guión bajo", + "name": "Nombre", + "value": "Valor", + "target_note_title": "La relación es una conexión con nombre entre la nota de origen y la nota de destino.", + "target_note": "Nota de destino", + "promoted_title": "El atributo promovido se muestra de forma destacada en la nota.", + "promoted": "Promovido", + "promoted_alias_title": "El nombre que se mostrará en la interfaz de usuario de atributos promovidos.", + "promoted_alias": "Alias", + "multiplicity_title": "La multiplicidad define cuántos atributos del mismo nombre se pueden crear - como máximo 1 o más de 1.", + "multiplicity": "Multiplicidad", + "single_value": "Valor único", + "multi_value": "Valor múltiple", + "label_type_title": "El tipo de etiqueta ayudará a Trilium a elegir la interfaz adecuada para ingresar el valor de la etiqueta.", + "label_type": "Tipo", + "text": "Texto", + "number": "Número", + "boolean": "Booleano", + "date": "Fecha", + "date_time": "Fecha y hora", + "time": "Hora", + "url": "URL", + "precision_title": "Cantidad de dígitos después del punto flotante que deben estar disponibles en la interfaz de configuración del valor.", + "precision": "Precisión", + "digits": "dígitos", + "inverse_relation_title": "Configuración opcional para definir a qué relación es ésta opuesta. Ejemplo: Padre - Hijo son relaciones inversas entre sí.", + "inverse_relation": "Relación inversa", + "inheritable_title": "El atributo heredable se heredará a todos los descendientes de este árbol.", + "inheritable": "Heredable", + "save_and_close": "Guardar y cerrar Ctrl+Enter", + "delete": "Eliminar", + "related_notes_title": "Otras notas con esta etiqueta", + "more_notes": "Más notas", + "label": "Detalle de etiqueta", + "label_definition": "Detalle de definición de etiqueta", + "relation": "Detalle de relación", + "relation_definition": "Detalle de definición de relación", + "disable_versioning": "deshabilita el control de versiones automático. Útil para, por ejemplo. notas grandes pero sin importancia, p. grandes bibliotecas JS utilizadas para secuencias de comandos (scripts)", + "calendar_root": "marca la nota que debe usarse como raíz para las notas del día. Sólo uno debe estar marcado como tal.", + "archived": "las notas con esta etiqueta no serán visibles de forma predeterminada en los resultados de búsqueda (tampoco en los cuadros de diálogo Saltar a, Agregar vínculo, etc.).", + "exclude_from_export": "las notas (con su subárbol) no se incluirán en ninguna exportación de notas", + "run": "define en qué eventos debe ejecutarse el script. Los valores posibles son:\n
    \n
  • frontendStartup - cuando el frontend de Trilium inicia (o es recargado), pero no en dispositivos móviles.
  • \n
  • backendStartup - cuando el backend de Trilium se inicia
  • \n
  • hourly - se ejecuta una vez cada hora. Puede usar etiqueta adicional runAtHour para especificar a la hora.
  • \n
  • daily - ejecutar una vez al día
  • \n
", + "run_on_instance": "Definir en qué instancia de Trilium se debe ejecutar esto. Predeterminado para todas las instancias.", + "run_at_hour": "¿A qué hora debería funcionar? Debe usarse junto con #run=hourly. Se puede definir varias veces para varias ejecuciones durante el día.", + "disable_inclusion": "los scripts con esta etiqueta no se incluirán en la ejecución del script principal.", + "sorted": "mantiene las subnotas ordenadas alfabéticamente por título", + "sort_direction": "ASC (el valor predeterminado) o DESC", + "sort_folders_first": "Las carpetas (notas con subnotas) deben ordenarse en la parte superior", + "top": "mantener la nota dada en la parte superior de su padre (se aplica solo en padres ordenados)", + "hide_promoted_attributes": "Ocultar atributos promovidos en esta nota", + "read_only": "el editor está en modo de sólo lectura. Funciona sólo para notas de texto y código.", + "auto_read_only_disabled": "las notas de texto/código se pueden configurar automáticamente en modo lectura cuando son muy grandes. Puede desactivar este comportamiento por nota agregando esta etiqueta a la nota", + "app_css": "marca notas CSS que se cargan en la aplicación Trilium y, por lo tanto, se pueden usar para modificar la apariencia de Trilium.", + "app_theme": "marca notas CSS que son temas completos de Trilium y, por lo tanto, están disponibles en las opciones de Trilium.", + "app_theme_base": "establecer a \"siguiente\" para utilizar el tema TriliumNext como base para un tema personalizado en lugar del tema anterior.", + "css_class": "el valor de esta etiqueta se agrega como clase CSS al nodo que representa la nota dada en el árbol. Esto puede resultar útil para temas avanzados. Se puede utilizar en notas de plantilla.", + "icon_class": "el valor de esta etiqueta se agrega como una clase CSS al icono en el árbol, lo que puede ayudar a distinguir visualmente las notas en el árbol. El ejemplo podría ser bx bx-home: los iconos se toman de boxicons. Se puede utilizar en notas de plantilla.", + "page_size": "número de elementos por página en el listado de notas", + "custom_request_handler": "véa Manejador de solicitudes personalizado", + "custom_resource_provider": "véa Manejador de solicitudes personalizado", + "widget": "marca esta nota como un widget personalizado que se agregará al árbol de componentes de Trilium", + "workspace": "marca esta nota como un espacio de trabajo que permite un fácil levantamiento", + "workspace_icon_class": "define la clase CSS del icono de cuadro que se usará en la pestaña cuando se levante a esta nota", + "workspace_tab_background_color": "color CSS utilizado en la pestaña de nota cuando se ancla a esta nota", + "workspace_calendar_root": "Define la raíz del calendario por cada espacio de trabajo", + "workspace_template": "Esta nota aparecerá en la selección de plantillas disponibles al crear una nueva nota, pero solo cuando se levante a un espacio de trabajo que contenga esta plantilla", + "search_home": "se crearán nuevas notas de búsqueda como subnotas de esta nota", + "workspace_search_home": "se crearán nuevas notas de búsqueda como subnotas de esta nota cuando se anclan a algún antecesor de esta nota del espacio de trabajo", + "inbox": "ubicación predeterminada de la bandeja de entrada para nuevas notas - cuando crea una nota usando el botón \"nueva nota\" en la barra lateral, las notas serán creadas como subnotas de la nota marcada con la etiqueta #inbox.", + "workspace_inbox": "ubicación predeterminada de la bandeja de entrada para nuevas notas cuando se anclan a algún antecesor de esta nota del espacio de trabajo", + "sql_console_home": "ubicación predeterminada de las notas de la consola SQL", + "bookmark_folder": "la nota con esta etiqueta aparecerá en los marcadores como carpeta (permitiendo el acceso a sus elementos hijos).", + "share_hidden_from_tree": "esta nota está oculta en el árbol de navegación izquierdo, pero aún se puede acceder a ella con su URL", + "share_external_link": "la nota actuará como un enlace a un sitio web externo en el árbol compartido", + "share_alias": "define un alias que al usar la nota va a estar disponible en https://your_trilium_host/share/[tu_alias]", + "share_omit_default_css": "se omitirá el CSS de la página para compartir predeterminada. Úselo cuando realice cambios importantes de estilo.", + "share_root": "marca la nota que se publica en /share root.", + "share_description": "definir el texto que se agregará a la etiqueta HTML meta para la descripción", + "share_raw": "la nota se entregará en su formato original, sin contenedor HTML", + "share_disallow_robot_indexing": "prohibirá la indexación por robots de esta nota a través del encabezado X-Robots-Tag: noindex", + "share_credentials": "requiere credenciales para acceder a esta nota compartida. Se espera que el valor tenga el formato 'nombre_de_usuario:contraseña'. No olvide hacer que esto sea heredable para aplicarlo a notas/imágenes hijo.", + "share_index": "tenga en cuenta que con esto esta etiqueta enumerará todas las raíces de las notas compartidas", + "display_relations": "nombres de relaciones delimitados por comas que deben mostrarse. Todos los demás estarán ocultos.", + "hide_relations": "nombres de relaciones delimitados por comas que deben ocultarse. Se mostrarán todos los demás.", + "title_template": "título por defecto de notas creadas como subnota de esta nota. El valor es evaluado como una cadena de JavaScript \n y por lo tanto puede ser enriquecida con contenido dinámico vía las variables inyectadas now y parentNote. Ejemplos:\n \n
    \n
  • trabajos literarios de ${parentNote.getLabelValue('authorName')}
  • \n
  • Registro para ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n Consulte la wiki para obtener más detalles, documentación de la API para parentNote y now para más detalles.", + "template": "Esta nota aparecerá en la selección de plantillas disponibles al crear una nueva nota", + "toc": "#toc o #toc=show forzará que se muestre la tabla de contenido, #toc=hide forzará a ocultarla. Si la etiqueta no existe, se observa la configuración global", + "color": "define el color de la nota en el árbol de notas, enlaces, etc. Utilice cualquier valor de color CSS válido como 'red' o #a13d5f", + "keyboard_shortcut": "Define un atajo de teclado que saltará inmediatamente a esta nota. Ejemplo: 'ctrl+alt+e'. Es necesario recargar la interfaz para que el cambio surta efecto.", + "keep_current_hoisting": "Abrir este enlace no cambiará el anclaje incluso si la nota no se puede mostrar en el subárbol anclado actualmente.", + "execute_button": "Título del botón que ejecutará la nota de código actual", + "execute_description": "Descripción más larga de la nota de código actual que se muestra junto con el botón de ejecución", + "exclude_from_note_map": "Las notas con esta etiqueta se ocultarán del Mapa de notas", + "new_notes_on_top": "Las notas nuevas se crearán en la parte superior de la nota principal, no en la parte inferior.", + "hide_highlight_widget": "Ocultar widget de lista destacada", + "run_on_note_creation": "se ejecuta cuando se crea la nota en el backend. Utilice esta relación si desea ejecutar el script para todas las notas creadas en un subárbol específico. En ese caso, créela en la nota raíz del subárbol y hágala heredable. Una nueva nota creada dentro del subárbol (cualquier profundidad) activará el script.", + "run_on_child_note_creation": "se ejecuta cuando se crea una nueva nota bajo la nota donde se define esta relación", + "run_on_note_title_change": "se ejecuta cuando se cambia el título de la nota (también incluye la creación de notas)", + "run_on_note_content_change": "se ejecuta cuando se cambia el contenido de la nota (también incluye la creación de notas).", + "run_on_note_change": "se ejecuta cuando se cambia la nota (incluye también la creación de notas). No incluye cambios de contenido", + "run_on_note_deletion": "se ejecuta cuando se elimina la nota", + "run_on_branch_creation": "se ejecuta cuando se crea una rama. Una rama es un vínculo entre la nota principal y la nota secundaria y se crea, por ejemplo, al clonar o mover una nota.", + "run_on_branch_change": "se ejecuta cuando se actualiza una rama.", + "run_on_branch_deletion": "se ejecuta cuando se elimina una rama. Una rama es un vínculo entre la nota principal y la nota secundaria y se elimina, por ejemplo, al mover la nota (se elimina la rama/enlace antiguo).", + "run_on_attribute_creation": "se ejecuta cuando se crea un nuevo atributo para la nota que define esta relación", + "run_on_attribute_change": " se ejecuta cuando se cambia el atributo de una nota que define esta relación. Esto también se activa cuando se elimina el atributo", + "relation_template": "los atributos de la nota se heredarán incluso sin una relación padre-hijo, el contenido y el subárbol de la nota se agregarán a las notas de instancia si están vacíos. Consulte la documentación para obtener más detalles.", + "inherit": "los atributos de la nota se heredarán incluso sin una relación padre-hijo. Consulte la relación de plantilla para conocer un concepto similar. Consulte herencia de atributos en la documentación.", + "render_note": "notas de tipo \"render HTML note\" serán renderizadas usando una nota de código (HTML o script) y es necesario apuntar usando esta relación con la nota que debe de ser renderizada", + "widget_relation": "el objetivo de esta relación se ejecutará y representará como un widget en la barra lateral", + "share_css": "Nota CSS que se inyectará en la página para compartir. La nota CSS también debe estar en el subárbol compartido. Considere usar también 'share_hidden_from_tree' y 'share_omit_default_css'.", + "share_js": "Nota de JavaScript que se inyectará en la página para compartir. La nota JS también debe estar en el subárbol compartido. Considere usar 'share_hidden_from_tree'.", + "share_template": "Nota de JavaScript integrada que se utilizará como plantilla para mostrar la nota compartida. Su no existe se usa la plantilla predeterminada. Considere usar 'share_hidden_from_tree'.", + "share_favicon": "La nota de favicon se configurará en la página compartida. Por lo general, se desea configurarlo para que comparta la raíz y lo haga heredable. La nota de Favicon también debe estar en el subárbol compartido. Considere usar 'share_hidden_from_tree'.", + "is_owned_by_note": "es propiedad de una nota", + "other_notes_with_name": "Otras notas con nombre de {{attributeType}} \"{{attributeName}}\"", + "and_more": "... y {{count}} más.", + "print_landscape": "Al exportar a PDF, cambia la orientación de la página a paisaje en lugar de retrato.", + "print_page_size": "Al exportar a PDF, cambia el tamaño de la página. Valores soportados: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." + }, + "attribute_editor": { + "help_text_body1": "Para agregar una etiqueta, simplemente escriba, por ejemplo. #rock o si desea agregar también valor, p.e. #año = 2020", + "help_text_body2": "Para relación, escriba ~author = @, lo que debería abrir un autocompletado donde podrá buscar la nota deseada.", + "help_text_body3": "Alternativamente, puede agregar una etiqueta y una relación usando el botón + en el lado derecho.", + "save_attributes": "Guardar atributos ", + "add_a_new_attribute": "Agregar un nuevo atributo", + "add_new_label": "Agregar nueva etiqueta ", + "add_new_relation": "Agregar nueva relación ", + "add_new_label_definition": "Agregar nueva definición de etiqueta", + "add_new_relation_definition": "Agregar nueva definición de relación", + "placeholder": "Ingrese las etiquetas y relaciones aquí" + }, + "abstract_bulk_action": { + "remove_this_search_action": "Eliminar esta acción de búsqueda" + }, + "execute_script": { + "execute_script": "Ejecutar script", + "help_text": "Puede ejecutar scripts simples en las notas coincidentes.", + "example_1": "Por ejemplo, para agregar una cadena al título de una nota, use este pequeño script:", + "example_2": "Un ejemplo más complejo sería eliminar todos los atributos de las notas coincidentes:" + }, + "add_label": { + "add_label": "Agregar etiqueta", + "label_name_placeholder": "nombre de la etiqueta", + "label_name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", + "to_value": "a valor", + "new_value_placeholder": "nuevo valor", + "help_text": "Sobre todas las notas coincidentes:", + "help_text_item1": "crear una etiqueta dada si la nota aún no tiene una", + "help_text_item2": "o cambiar el valor de la etiqueta existente", + "help_text_note": "También puede llamar a este método sin valor, en tal caso se asignará una etiqueta a la nota sin valor." + }, + "delete_label": { + "delete_label": "Eliminar etiqueta", + "label_name_placeholder": "nombre de la etiqueta", + "label_name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." + }, + "rename_label": { + "rename_label": "Renombrar etiqueta", + "rename_label_from": "Renombrar etiqueta de", + "old_name_placeholder": "antiguo nombre", + "to": "A", + "new_name_placeholder": "nuevo nombre", + "name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." + }, + "update_label_value": { + "update_label_value": "Actualizar valor de etiqueta", + "label_name_placeholder": "nombre de la etiqueta", + "label_name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", + "to_value": "a valor", + "new_value_placeholder": "nuevo valor", + "help_text": "En todas las notas coincidentes, cambie el valor de la etiqueta existente.", + "help_text_note": "También puede llamar a este método sin valor, en tal caso se asignará una etiqueta a la nota sin valor." + }, + "delete_note": { + "delete_note": "Eliminar nota", + "delete_matched_notes": "Eliminar notas coincidentes", + "delete_matched_notes_description": "Esto eliminará las notas coincidentes.", + "undelete_notes_instruction": "Después de la eliminación, es posible recuperarlos desde el cuadro de diálogo Cambios recientes.", + "erase_notes_instruction": "Para eliminar las notas permanentemente, puede ir después de la eliminación a Opción -> Otro y dar clic en el botón \"Borrar notas eliminadas ahora\"." + }, + "delete_revisions": { + "delete_note_revisions": "Eliminar revisiones de notas", + "all_past_note_revisions": "Se eliminarán todas las revisiones anteriores de notas coincidentes. La nota en sí se conservará por completo. En otros términos, se eliminará el historial de la nota." + }, + "move_note": { + "move_note": "Mover nota", + "to": "a", + "target_parent_note": "nota padre objetivo", + "on_all_matched_notes": "En todas las notas coincidentes", + "move_note_new_parent": "mover nota al nuevo padre si la nota solo tiene un padre (es decir, la rama anterior es eliminada y una nueva rama es creada en el nuevo padre)", + "clone_note_new_parent": "clonar la nota al nuevo padre si la nota tiene múltiples clones/ramas (no es claro que rama debe de ser eliminada)", + "nothing_will_happen": "no pasará nada si la nota no se puede mover a la nota de destino (es decir, esto crearía un ciclo de árbol)" + }, + "rename_note": { + "rename_note": "Renombrar nota", + "rename_note_title_to": "Renombrar título de la nota a", + "new_note_title": "nuevo título de nota", + "click_help_icon": "Haga clic en el icono de ayuda a la derecha para ver todas las opciones", + "evaluated_as_js_string": "El valor dado se evalúa como una cadena de JavaScript y, por lo tanto, se puede enriquecer con contenido dinámico a través de la variable note inyectada (se cambia el nombre de la nota). Ejemplos:", + "example_note": "Nota: todas las notas coincidentes son renombradas a 'Nota'", + "example_new_title": "NUEVO: ${note.title} - los títulos de las notas coincidentes tienen el prefijo 'NUEVO: '", + "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - las notas coincidentes tienen el prefijo fecha-mes de creación de la nota", + "api_docs": "Consulte los documentos de API para nota y su propiedades dateCreatedObj/utcDateCreatedObj para obtener más detalles." + }, + "add_relation": { + "add_relation": "Agregar relación", + "relation_name": "nombre de relación", + "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", + "to": "a", + "target_note": "nota de destino", + "create_relation_on_all_matched_notes": "En todas las notas coincidentes, cree una relación determinada." + }, + "delete_relation": { + "delete_relation": "Eliminar relación", + "relation_name": "nombre de relación", + "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." + }, + "rename_relation": { + "rename_relation": "Renombrar relación", + "rename_relation_from": "Renombrar relación de", + "old_name": "antiguo nombre", + "to": "A", + "new_name": "nuevo nombre", + "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." + }, + "update_relation_target": { + "update_relation": "Relación de actualización", + "relation_name": "nombre de la relación", + "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", + "to": "a", + "target_note": "nota de destino", + "on_all_matched_notes": "En todas las notas coincidentes", + "change_target_note": "o cambiar la nota de destino de la relación existente", + "update_relation_target": "Actualizar destino de relación" + }, + "attachments_actions": { + "open_externally": "Abrir externamente", + "open_externally_title": "El archivo se abrirá en una aplicación externa y se observará en busca de cambios. Luego podrá volver a cargar la versión modificada en Trilium.", + "open_custom": "Abrir de forma personalizada", + "open_custom_title": "El archivo se abrirá en una aplicación externa y se observará en busca de cambios. Luego podrá volver a cargar la versión modificada en Trilium.", + "download": "Descargar", + "rename_attachment": "Renombrar archivo adjunto", + "upload_new_revision": "Subir nueva revisión", + "copy_link_to_clipboard": "Copiar enlace al portapapeles", + "convert_attachment_into_note": "Convertir archivo adjunto en nota", + "delete_attachment": "Eliminar archivo adjunto", + "upload_success": "Se ha subido una nueva revisión del archivo adjunto.", + "upload_failed": "Error al cargar una nueva revisión del archivo adjunto.", + "open_externally_detail_page": "Abrir un archivo adjunto externamente solo está disponible desde la página de detalles; primero haga clic en el detalle del archivo adjunto y repita la acción.", + "open_custom_client_only": "La apertura personalizada de archivos adjuntos solo se puede realizar desde el cliente.", + "delete_confirm": "¿Está seguro de que desea eliminar el archivo adjunto '{{title}}'?", + "delete_success": "El archivo adjunto '{{title}}' ha sido eliminado.", + "convert_confirm": "¿Está seguro de que desea convertir el archivo adjunto '{{title}}' en una nota separada?", + "convert_success": "El archivo adjunto '{{title}}' se ha convertido en una nota.", + "enter_new_name": "Por favor ingresa el nombre del nuevo archivo adjunto" + }, + "calendar": { + "mon": "Lun", + "tue": "Mar", + "wed": "Mié", + "thu": "Jue", + "fri": "Vie", + "sat": "Sáb", + "sun": "Dom", + "cannot_find_day_note": "No se puede encontrar la nota del día", + "cannot_find_week_note": "No se puede encontrar la nota de la semana", + "january": "Enero", + "febuary": "Febrero", + "march": "Marzo", + "april": "Abril", + "may": "Mayo", + "june": "Junio", + "july": "Julio", + "august": "Agosto", + "september": "Septiembre", + "october": "Octubre", + "november": "Noviembre", + "december": "Diciembre" + }, + "close_pane_button": { + "close_this_pane": "Cerrar este panel" + }, + "create_pane_button": { + "create_new_split": "Crear nueva división" + }, + "edit_button": { + "edit_this_note": "Editar esta nota" + }, + "show_toc_widget_button": { + "show_toc": "Mostrar tabla de contenido" + }, + "show_highlights_list_widget_button": { + "show_highlights_list": "Mostrar lista de destacados" + }, + "global_menu": { + "menu": "Menú", + "options": "Opciones", + "open_new_window": "Abrir nueva ventana", + "switch_to_mobile_version": "Cambiar a la versión móvil", + "switch_to_desktop_version": "Cambiar a la versión de escritorio", + "zoom": "Zoom", + "toggle_fullscreen": "Alternar pantalla completa", + "zoom_out": "Alejar", + "reset_zoom_level": "Restablecer nivel de zoom", + "zoom_in": "Acercar", + "configure_launchbar": "Configurar la barra de inicio", + "show_shared_notes_subtree": "Mostrar subárbol de notas compartidas", + "advanced": "Avanzado", + "open_dev_tools": "Abrir herramientas de desarrollo", + "open_sql_console": "Abrir la consola SQL", + "open_sql_console_history": "Abrir el historial de la consola SQL", + "open_search_history": "Abrir historial de búsqueda", + "show_backend_log": "Mostrar registro de backend", + "reload_hint": "Recargar puede ayudar con algunos fallos visuales sin reiniciar toda la aplicación.", + "reload_frontend": "Recargar interfaz", + "show_hidden_subtree": "Mostrar subárbol oculto", + "show_help": "Mostrar ayuda", + "about": "Acerca de Trilium Notes", + "logout": "Cerrar sesión", + "show-cheatsheet": "Mostrar hoja de trucos", + "toggle-zen-mode": "Modo Zen" + }, + "zen_mode": { + "button_exit": "Salir del modo Zen" + }, + "sync_status": { + "unknown": "

El estado de sincronización será conocido una vez que el siguiente intento de sincronización comience.

Dé clic para activar la sincronización ahora

", + "connected_with_changes": "

Conectado al servidor de sincronización.
Hay cambios pendientes que aún no se han sincronizado.

Dé clic para activar la sincronización.

", + "connected_no_changes": "

Conectado al servidor de sincronización.
Todos los cambios ya han sido sincronizados.

Dé clic para activar la sincronización.

", + "disconnected_with_changes": "

El establecimiento de la conexión con el servidor de sincronización no ha tenido éxito.
Hay algunos cambios pendientes que aún no se han sincronizado.

Dé clic para activar la sincronización.

", + "disconnected_no_changes": "

El establecimiento de la conexión con el servidor de sincronización no ha tenido éxito.
Todos los cambios conocidos han sido sincronizados.

Dé clic para activar la sincronización.

", + "in_progress": "La sincronización con el servidor está en progreso." + }, + "left_pane_toggle": { + "show_panel": "Mostrar panel", + "hide_panel": "Ocultar panel" + }, + "move_pane_button": { + "move_left": "Mover a la izquierda", + "move_right": "Mover a la derecha" + }, + "note_actions": { + "convert_into_attachment": "Convertir en archivo adjunto", + "re_render_note": "Volver a renderizar nota", + "search_in_note": "Buscar en nota", + "note_source": "Fuente de la nota", + "note_attachments": "Notas adjuntas", + "open_note_externally": "Abrir nota externamente", + "open_note_externally_title": "El archivo se abrirá en una aplicación externa y se observará en busca de cambios. Luego podrá volver a cargar la versión modificada en Trilium.", + "open_note_custom": "Abrir nota personalizada", + "import_files": "Importar archivos", + "export_note": "Exportar nota", + "delete_note": "Eliminar nota", + "print_note": "Imprimir nota", + "save_revision": "Guardar revisión", + "convert_into_attachment_failed": "La conversión de nota '{{title}}' falló.", + "convert_into_attachment_successful": "La nota '{{title}}' ha sido convertida a un archivo adjunto.", + "convert_into_attachment_prompt": "¿Está seguro que desea convertir la nota '{{title}}' en un archivo adjunto de la nota padre?", + "print_pdf": "Exportar como PDF..." + }, + "onclick_button": { + "no_click_handler": "El widget de botón '{{componentId}}' no tiene un controlador de clics definido" + }, + "protected_session_status": { + "active": "La sesión protegida está activa. Dé clic para salir de la sesión protegida.", + "inactive": "Dé clic para ingresar a la sesión protegida" + }, + "revisions_button": { + "note_revisions": "Revisiones de nota" + }, + "update_available": { + "update_available": "Actualización disponible" + }, + "note_launcher": { + "this_launcher_doesnt_define_target_note": "Este lanzador no define la nota de destino." + }, + "code_buttons": { + "execute_button_title": "Ejecutar script", + "trilium_api_docs_button_title": "Abrir documentación de la API de Trilium", + "save_to_note_button_title": "Guardar en nota", + "opening_api_docs_message": "Abriendo documentación API...", + "sql_console_saved_message": "La nota de la consola SQL se ha guardado en {{note_path}}" + }, + "copy_image_reference_button": { + "button_title": "Copiar la referencia de la imagen al portapapeles; se puede pegar en una nota de texto." + }, + "hide_floating_buttons_button": { + "button_title": "Ocultar botones" + }, + "show_floating_buttons_button": { + "button_title": "Mostrar botones" + }, + "svg_export_button": { + "button_title": "Exportar diagrama como SVG" + }, + "relation_map_buttons": { + "create_child_note_title": "Crear una nueva subnota y agregarla a este mapa de relaciones", + "reset_pan_zoom_title": "Restablecer la panorámica y el zoom a las coordenadas y ampliación iniciales", + "zoom_in_title": "Acercar", + "zoom_out_title": "Alejar" + }, + "zpetne_odkazy": { + "backlink": "{{count}} Vínculo de retroceso", + "backlinks": "{{count}} vínculos de retroceso", + "relation": "relación" + }, + "mobile_detail_menu": { + "insert_child_note": "Insertar subnota", + "delete_this_note": "Eliminar esta nota", + "error_cannot_get_branch_id": "No se puede obtener el branchID del notePath '{{notePath}}'", + "error_unrecognized_command": "Comando no reconocido {{command}}" + }, + "note_icon": { + "change_note_icon": "Cambiar icono de nota", + "category": "Categoría:", + "search": "Búsqueda:", + "reset-default": "Restablecer a icono por defecto" + }, + "basic_properties": { + "note_type": "Tipo de nota", + "editable": "Editable", + "basic_properties": "Propiedades básicas", + "language": "Idioma" + }, + "book_properties": { + "view_type": "Tipo de vista", + "grid": "Cuadrícula", + "list": "Lista", + "collapse_all_notes": "Contraer todas las notas", + "expand_all_children": "Ampliar todas las subnotas", + "collapse": "Colapsar", + "expand": "Expandir", + "invalid_view_type": "Tipo de vista inválida '{{type}}'", + "calendar": "Calendario" + }, + "edited_notes": { + "no_edited_notes_found": "Aún no hay notas editadas en este día...", + "title": "Notas editadas", + "deleted": "(eliminado)" + }, + "file_properties": { + "note_id": "ID de nota", + "original_file_name": "Nombre del archivo original", + "file_type": "Tipo de archivo", + "file_size": "Tamaño del archivo", + "download": "Descargar", + "open": "Abrir", + "upload_new_revision": "Subir nueva revisión", + "upload_success": "Se ha subido una nueva revisión de archivo.", + "upload_failed": "Error al cargar una nueva revisión de archivo.", + "title": "Archivo" + }, + "image_properties": { + "original_file_name": "Nombre del archivo original", + "file_type": "Tipo de archivo", + "file_size": "Tamaño del archivo", + "download": "Descargar", + "open": "Abrir", + "copy_reference_to_clipboard": "Copiar referencia al portapapeles", + "upload_new_revision": "Subir nueva revisión", + "upload_success": "Se ha subido una nueva revisión de imagen.", + "upload_failed": "Error al cargar una nueva revisión de imagen: {{message}}", + "title": "Imagen" + }, + "inherited_attribute_list": { + "title": "Atributos heredados", + "no_inherited_attributes": "Sin atributos heredados." + }, + "note_info_widget": { + "note_id": "ID de nota", + "created": "Creado", + "modified": "Modificado", + "type": "Tipo", + "note_size": "Tamaño de nota", + "note_size_info": "El tamaño de la nota proporciona una estimación aproximada de los requisitos de almacenamiento para esta nota. Toma en cuenta el contenido de la nota y el contenido de sus revisiones de nota.", + "calculate": "calcular", + "subtree_size": "(tamaño del subárbol: {{size}} en {{count}} notas)", + "title": "Información de nota" + }, + "note_map": { + "open_full": "Ampliar al máximo", + "collapse": "Contraer al tamaño normal", + "title": "Mapa de notas", + "fix-nodes": "Fijar nodos", + "link-distance": "Distancia de enlace" + }, + "note_paths": { + "title": "Rutas de nota", + "clone_button": "Clonar nota a nueva ubicación...", + "intro_placed": "Esta nota está colocada en las siguientes rutas:", + "intro_not_placed": "Esta nota aún no se ha colocado en el árbol de notas.", + "outside_hoisted": "Esta ruta está fuera de la nota anclada y habría que bajarla.", + "archived": "Archivado", + "search": "Buscar" + }, + "note_properties": { + "this_note_was_originally_taken_from": "Esta nota fue tomada originalmente de:", + "info": "Información" + }, + "owned_attribute_list": { + "owned_attributes": "Atributos propios" + }, + "promoted_attributes": { + "promoted_attributes": "Atributos promovidos", + "unset-field-placeholder": "no establecido", + "url_placeholder": "http://sitioweb...", + "open_external_link": "Abrir enlace externo", + "unknown_label_type": "Tipo de etiqueta desconocido '{{type}}'", + "unknown_attribute_type": "Tipo de atributo desconocido '{{type}}'", + "add_new_attribute": "Agregar nuevo atributo", + "remove_this_attribute": "Eliminar este atributo" + }, + "script_executor": { + "query": "Consulta", + "script": "Script", + "execute_query": "Ejecutar consulta", + "execute_script": "Ejecutar script" + }, + "search_definition": { + "add_search_option": "Agregar opción de búsqueda:", + "search_string": "cadena de búsqueda", + "search_script": "script de búsqueda", + "ancestor": "antepasado", + "fast_search": "búsqueda rápida", + "fast_search_description": "La opción de búsqueda rápida desactiva la búsqueda de texto completo del contenido de las notas, lo que podría acelerar la búsqueda en bases de datos grandes.", + "include_archived": "incluir notas archivadas", + "include_archived_notes_description": "Las notas archivadas se excluyen por defecto de los resultados de búsqueda; con esta opción se incluirán.", + "order_by": "ordenar por", + "limit": "límite", + "limit_description": "Limitar el número de resultados", + "debug": "depurar", + "debug_description": "La depuración imprimirá información de depuración adicional en la consola para ayudar a depurar consultas complejas", + "action": "acción", + "search_button": "Buscar Enter", + "search_execute": "Buscar y ejecutar acciones", + "save_to_note": "Guardar en nota", + "search_parameters": "Parámetros de búsqueda", + "unknown_search_option": "Opción de búsqueda desconocida {{searchOptionName}}", + "search_note_saved": "La nota de búsqueda se ha guardado en {{- notePathTitle}}", + "actions_executed": "Las acciones han sido ejecutadas." + }, + "similar_notes": { + "title": "Notas similares", + "no_similar_notes_found": "No se encontraron notas similares." + }, + "abstract_search_option": { + "remove_this_search_option": "Eliminar esta opción de búsqueda", + "failed_rendering": "Error al renderizar opción de búsqueda: {{dto}} con error: {{error}} {{stack}}" + }, + "ancestor": { + "label": "Antepasado", + "placeholder": "buscar nota por su nombre", + "depth_label": "profundidad", + "depth_doesnt_matter": "no importa", + "depth_eq": "es exactamente {{count}}", + "direct_children": "hijos directos", + "depth_gt": "es mayor que {{count}}", + "depth_lt": "es menor que {{count}}" + }, + "debug": { + "debug": "Depurar", + "debug_info": "Al depurar se imprimirá información de depuración adicional en la consola para ayudar a depurar consultas complejas.", + "access_info": "Para acceder a la información de depuración, ejecute la consulta y dé clic en \"Mostrar registro de backend\" en la esquina superior izquierda." + }, + "fast_search": { + "fast_search": "Búsqueda rápida", + "description": "La opción de búsqueda rápida desactiva la búsqueda de texto completo del contenido de las notas, lo que podría acelerar la búsqueda en bases de datos grandes." + }, + "include_archived_notes": { + "include_archived_notes": "Incluir notas archivadas" + }, + "limit": { + "limit": "Límite", + "take_first_x_results": "Tomar solo los primeros X resultados especificados." + }, + "order_by": { + "order_by": "Ordenar por", + "relevancy": "Relevancia (predeterminado)", + "title": "Título", + "date_created": "Fecha de creación", + "date_modified": "Fecha de la última modificación", + "content_size": "Tamaño del contenido de la nota", + "content_and_attachments_size": "Tenga en cuenta el tamaño del contenido, incluidos los archivos adjuntos", + "content_and_attachments_and_revisions_size": "Tenga en cuenta el tamaño del contenido, incluidos los archivos adjuntos y las revisiones", + "revision_count": "Número de revisiones", + "children_count": "Número de subnotas", + "parent_count": "Número de clones", + "owned_label_count": "Número de etiquetas", + "owned_relation_count": "Número de relaciones", + "target_relation_count": "Número de relaciones dirigidas a la nota", + "random": "Orden aleatorio", + "asc": "Ascendente (predeterminado)", + "desc": "Descendente" + }, + "search_script": { + "title": "Script de búsqueda:", + "placeholder": "buscar nota por su nombre", + "description1": "El script de búsqueda permite definir los resultados de la búsqueda ejecutando un script. Esto proporciona la máxima flexibilidad cuando la búsqueda estándar no es suficiente.", + "description2": "El script de búsqueda debe ser de tipo \"código\" y subtipo \"JavaScript backend\". El script tiene que devolver un arreglo de noteIds o notas.", + "example_title": "Véa este ejemplo:", + "example_code": "// 1. prefiltro usando búsqueda estandar\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. aplicar criterios de búsqueda personalizada\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", + "note": "Tenga en cuenta que el script de búsqueda y la cadena de búsqueda no se pueden combinar entre sí." + }, + "search_string": { + "title_column": "Cadena de búsqueda:", + "placeholder": "palabras clave de texto completo, #etiqueta = valor...", + "search_syntax": "Sintaxis de búsqueda", + "also_see": "ver también", + "complete_help": "ayuda completa sobre la sintaxis de búsqueda", + "full_text_search": "Simplemente ingrese cualquier texto para realizar una búsqueda de texto completo", + "label_abc": "devuelve notas con etiqueta abc", + "label_year": "coincide con las notas con el año de la etiqueta que tiene valor 2019", + "label_rock_pop": "coincide con notas que tienen etiquetas tanto de rock como de pop", + "label_rock_or_pop": "sólo una de las etiquetas debe estar presente", + "label_year_comparison": "comparación numérica (también >, >=, <).", + "label_date_created": "notas creadas en el último mes", + "error": "Error de búsqueda: {{error}}", + "search_prefix": "Buscar:" + }, + "attachment_detail": { + "open_help_page": "Abrir página de ayuda en archivos adjuntos", + "owning_note": "Nota dueña: ", + "you_can_also_open": ", también puede abrir el ", + "list_of_all_attachments": "Lista de todos los archivos adjuntos", + "attachment_deleted": "Este archivo adjunto ha sido eliminado." + }, + "attachment_list": { + "open_help_page": "Abrir página de ayuda en archivos adjuntos", + "owning_note": "Nota dueña: ", + "upload_attachments": "Subir archivos adjuntos", + "no_attachments": "Esta nota no tiene archivos adjuntos." + }, + "book": { + "no_children_help": "Esta nota de tipo libro no tiene ninguna subnota así que no hay nada que mostrar. Véa la wiki para más detalles." + }, + "editable_code": { + "placeholder": "Escriba el contenido de su nota de código aquí..." + }, + "editable_text": { + "placeholder": "Escribe aquí el contenido de tu nota..." + }, + "empty": { + "open_note_instruction": "Abra una nota escribiendo el título de la nota en la entrada a continuación o elija una nota en el árbol.", + "search_placeholder": "buscar una nota por su nombre", + "enter_workspace": "Ingresar al espacio de trabajo {{title}}" + }, + "file": { + "file_preview_not_available": "La vista previa del archivo no está disponible para este formato de archivo.", + "too_big": "La vista previa solo muestra los primeros {{maxNumChars}} caracteres del archivo por razones de rendimiento. Descargue el archivo y ábralo externamente para poder ver todo el contenido." + }, + "protected_session": { + "enter_password_instruction": "Para mostrar una nota protegida es necesario ingresar su contraseña:", + "start_session_button": "Iniciar sesión protegida Enter", + "started": "La sesión protegida ha iniciado.", + "wrong_password": "Contraseña incorrecta.", + "protecting-finished-successfully": "La protección finalizó exitosamente.", + "unprotecting-finished-successfully": "La desprotección finalizó exitosamente.", + "protecting-in-progress": "Protección en progreso: {{count}}", + "unprotecting-in-progress-count": "Desprotección en progreso: {{count}}", + "protecting-title": "Estado de protección", + "unprotecting-title": "Estado de desprotección" + }, + "relation_map": { + "open_in_new_tab": "Abrir en nueva pestaña", + "remove_note": "Quitar nota", + "edit_title": "Editar título", + "rename_note": "Cambiar nombre de nota", + "enter_new_title": "Ingrese el nuevo título de la nota:", + "remove_relation": "Eliminar relación", + "confirm_remove_relation": "¿Estás seguro de que deseas eliminar la relación?", + "specify_new_relation_name": "Especifique el nuevo nombre de la relación (caracteres permitidos: alfanuméricos, dos puntos y guión bajo):", + "connection_exists": "La conexión '{{name}}' entre estas notas ya existe.", + "start_dragging_relations": "Empiece a arrastrar relaciones desde aquí y suéltelas en otra nota.", + "note_not_found": "¡Nota {{noteId}} no encontrada!", + "cannot_match_transform": "No se puede coincidir con la transformación: {{transform}}", + "note_already_in_diagram": "Note \"{{title}}\" is already in the diagram.", + "enter_title_of_new_note": "Ingrese el título de la nueva nota", + "default_new_note_title": "nueva nota", + "click_on_canvas_to_place_new_note": "Haga clic en el lienzo para colocar una nueva nota" + }, + "render": { + "note_detail_render_help_1": "Esta nota de ayuda se muestra porque esta nota de tipo Renderizar HTML no tiene la relación requerida para funcionar correctamente.", + "note_detail_render_help_2": "El tipo de nota Render HTML es usado para scripting. De forma resumida, tiene una nota con código HTML (opcionalmente con algo de JavaScript) y esta nota la renderizará. Para que funcione, es necesario definir una relación llamada \"renderNote\" apuntando a la nota HTML nota a renderizar." + }, + "web_view": { + "web_view": "Vista web", + "embed_websites": "La nota de tipo Web View le permite insertar sitios web en Trilium.", + "create_label": "Para comenzar, por favor cree una etiqueta con una dirección URL que desee empotrar, e.g. #webViewSrc=\"https://www.google.com\"" + }, + "backend_log": { + "refresh": "Refrescar" + }, + "consistency_checks": { + "title": "Comprobación de coherencia", + "find_and_fix_button": "Buscar y solucionar problemas de coherencia", + "finding_and_fixing_message": "Buscando y solucionando problemas de coherencia...", + "issues_fixed_message": "Los problemas de coherencia han sido solucionados." + }, + "database_anonymization": { + "title": "Anonimización de bases de datos", + "full_anonymization": "Anonimización total", + "full_anonymization_description": "Esta acción creará una nueva copia de la base de datos y la anonimizará (eliminará todo el contenido de las notas y dejará solo la estructura y algunos metadatos no confidenciales) para compartirla en línea con fines de depuración sin temor a filtrar sus datos personales.", + "save_fully_anonymized_database": "Guarde la base de datos completamente anónima", + "light_anonymization": "Anonimización ligera", + "light_anonymization_description": "Esta acción creará una nueva copia de la base de datos y realizará una ligera anonimización en ella; específicamente, solo se eliminará el contenido de todas las notas, pero los títulos y atributos permanecerán. Además, se mantendrán las notas de script JS frontend/backend personalizadas y los widgets personalizados. Esto proporciona más contexto para depurar los problemas.", + "choose_anonymization": "Puede decidir usted mismo si desea proporcionar una base de datos total o ligeramente anónima. Incluso una base de datos totalmente anónima es muy útil; sin embargo, en algunos casos, una base de datos ligeramente anónima puede acelerar el proceso de identificación y corrección de errores.", + "save_lightly_anonymized_database": "Guarde una base de datos ligeramente anónima", + "existing_anonymized_databases": "Bases de datos anónimas existentes", + "creating_fully_anonymized_database": "Creando una base de datos totalmente anónima...", + "creating_lightly_anonymized_database": "Creando una base de datos ligeramente anónima...", + "error_creating_anonymized_database": "No se pudo crear una base de datos anónima; consulte los registros de backend para obtener más detalles", + "successfully_created_fully_anonymized_database": "Se creó una base de datos completamente anónima en {{anonymizedFilePath}}", + "successfully_created_lightly_anonymized_database": "Se creó una base de datos ligeramente anónima en {{anonymizedFilePath}}", + "no_anonymized_database_yet": "Aún no hay base de datos anónima." + }, + "database_integrity_check": { + "title": "Verificación de integridad de la base de datos", + "description": "Esto verificará que la base de datos no esté dañada en el nivel SQLite. Puede que tarde algún tiempo, dependiendo del tamaño de la base de datos.", + "check_button": "Verificar la integridad de la base de datos", + "checking_integrity": "Comprobando la integridad de la base de datos...", + "integrity_check_succeeded": "La verificación de integridad fue exitosa; no se encontraron problemas.", + "integrity_check_failed": "La verificación de integridad falló: {{results}}" + }, + "sync": { + "title": "Sincronizar", + "force_full_sync_button": "Forzar sincronización completa", + "fill_entity_changes_button": "Llenar registros de cambios de entidad", + "full_sync_triggered": "Sincronización completa activada", + "filling_entity_changes": "Rellenar filas de cambios de entidad...", + "sync_rows_filled_successfully": "Sincronizar filas completadas correctamente", + "finished-successfully": "La sincronización finalizó exitosamente.", + "failed": "La sincronización falló: {{message}}" + }, + "vacuum_database": { + "title": "Limpiar base de datos", + "description": "Esto reconstruirá la base de datos, lo que normalmente dará como resultado un archivo de base de datos más pequeño. En realidad, no se cambiará ningún dato.", + "button_text": "Limpiar base de datos", + "vacuuming_database": "Limpiando base de datos...", + "database_vacuumed": "La base de datos ha sido limpiada" + }, + "fonts": { + "theme_defined": "Tema definido", + "fonts": "Fuentes", + "main_font": "Fuente principal", + "font_family": "Familia de fuentes", + "size": "Tamaño", + "note_tree_font": "Fuente del árbol de notas", + "note_detail_font": "Fuente de detalle de nota", + "monospace_font": "Fuente Monospace (código)", + "note_tree_and_detail_font_sizing": "Tenga en cuenta que el tamaño de fuente del árbol y de los detalles es relativo a la configuración del tamaño de fuente principal.", + "not_all_fonts_available": "Es posible que no todas las fuentes enumeradas estén disponibles en su sistema.", + "apply_font_changes": "Para aplicar cambios de fuente, haga clic en", + "reload_frontend": "recargar la interfaz", + "generic-fonts": "Fuentes genéricas", + "sans-serif-system-fonts": "Fuentes Sans-serif del sistema", + "serif-system-fonts": "Fuentes Serif del sistema", + "monospace-system-fonts": "Fuentes Monoespaciadas del sistema", + "handwriting-system-fonts": "Fuentes a mano alzada del sistema", + "serif": "Serif", + "sans-serif": "Sans Serif", + "monospace": "Monoespaciada", + "system-default": "Predeterminada del sistema" + }, + "max_content_width": { + "title": "Ancho del contenido", + "default_description": "Trilium limita de forma predeterminada el ancho máximo del contenido para mejorar la legibilidad de ventanas maximizadas en pantallas anchas.", + "max_width_label": "Ancho máximo del contenido en píxeles", + "max_width_unit": "píxeles", + "apply_changes_description": "Para aplicar cambios en el ancho del contenido, haga clic en", + "reload_button": "recargar la interfaz", + "reload_description": "cambios desde las opciones de apariencia" + }, + "native_title_bar": { + "title": "Barra de título nativa (requiere reiniciar la aplicación)", + "enabled": "activado", + "disabled": "desactivado" + }, + "ribbon": { + "widgets": "Widgets de cinta", + "promoted_attributes_message": "La pestaña de la cinta Atributos promovidos se abrirá automáticamente si los atributos promovidos están presentes en la nota", + "edited_notes_message": "La pestaña de la cinta Notas editadas se abrirá automáticamente en las notas del día" + }, + "theme": { + "title": "Tema", + "theme_label": "Tema", + "override_theme_fonts_label": "Sobreescribir fuentes de tema", + "auto_theme": "Automático", + "light_theme": "Claro", + "dark_theme": "Oscuro", + "triliumnext": "TriliumNext Beta (Sigue el esquema de color del sistema)", + "triliumnext-light": "TriliumNext Beta (Claro)", + "triliumnext-dark": "TriliumNext Beta (Oscuro)", + "layout": "Disposición", + "layout-vertical-title": "Vertical", + "layout-horizontal-title": "Horizontal", + "layout-vertical-description": "la barra del lanzador está en la izquierda (por defecto)", + "layout-horizontal-description": "la barra de lanzamiento está debajo de la barra de pestañas, la barra de pestañas ahora tiene ancho completo." + }, + "ai_llm": { + "not_started": "No iniciado", + "title": "IA y ajustes de embeddings", + "processed_notes": "Notas procesadas", + "total_notes": "Notas totales", + "progress": "Progreso", + "queued_notes": "Notas en fila", + "failed_notes": "Notas fallidas", + "last_processed": "Última procesada", + "refresh_stats": "Recargar estadísticas", + "enable_ai_features": "Habilitar características IA/LLM", + "enable_ai_description": "Habilitar características de IA como resumen de notas, generación de contenido y otras capacidades LLM", + "openai_tab": "OpenAI", + "anthropic_tab": "Anthropic", + "voyage_tab": "Voyage AI", + "ollama_tab": "Ollama", + "enable_ai": "Habilitar características IA/LLM", + "enable_ai_desc": "Habilitar características de IA como resumen de notas, generación de contenido y otras capacidades LLM", + "provider_configuration": "Configuración de proveedor de IA", + "provider_precedence": "Precedencia de proveedor", + "provider_precedence_description": "Lista de proveedores en orden de precedencia separada por comas (p.e., 'openai,anthropic,ollama')", + "temperature": "Temperatura", + "temperature_description": "Controla la aleatoriedad de las respuestas (0 = determinista, 2 = aleatoriedad máxima)", + "system_prompt": "Mensaje de sistema", + "system_prompt_description": "Mensaje de sistema predeterminado utilizado para todas las interacciones de IA", + "openai_configuration": "Configuración de OpenAI", + "openai_settings": "Ajustes de OpenAI", + "api_key": "Clave API", + "url": "URL base", + "model": "Modelo", + "openai_api_key_description": "Tu clave API de OpenAI para acceder a sus servicios de IA", + "anthropic_api_key_description": "Tu clave API de Anthropic para acceder a los modelos Claude", + "default_model": "Modelo por defecto", + "openai_model_description": "Ejemplos: gpt-4o, gpt-4-turbo, gpt-3.5-turbo", + "base_url": "URL base", + "openai_url_description": "Por defecto: https://api.openai.com/v1", + "anthropic_settings": "Ajustes de Anthropic", + "anthropic_url_description": "URL base para la API de Anthropic (por defecto: https://api.anthropic.com)", + "anthropic_model_description": "Modelos Claude de Anthropic para el completado de chat", + "voyage_settings": "Ajustes de Voyage AI", + "ollama_settings": "Ajustes de Ollama", + "ollama_url_description": "URL para la API de Ollama (por defecto: http://localhost:11434)", + "ollama_model_description": "Modelo de Ollama a usar para el completado de chat", + "anthropic_configuration": "Configuración de Anthropic", + "voyage_configuration": "Configuración de Voyage AI", + "voyage_url_description": "Por defecto: https://api.voyageai.com/v1", + "ollama_configuration": "Configuración de Ollama", + "enable_ollama": "Habilitar Ollama", + "enable_ollama_description": "Habilitar Ollama para uso de modelo de IA local", + "ollama_url": "URL de Ollama", + "ollama_model": "Modelo de Ollama", + "refresh_models": "Refrescar modelos", + "refreshing_models": "Refrescando...", + "enable_automatic_indexing": "Habilitar indexado automático", + "rebuild_index": "Recrear índice", + "rebuild_index_error": "Error al comenzar la reconstrucción del índice. Consulte los registros para más detalles.", + "note_title": "Título de nota", + "error": "Error", + "last_attempt": "Último intento", + "actions": "Acciones", + "retry": "Reintentar", + "partial": "{{ percentage }}% completado", + "retry_queued": "Nota en la cola para reintento", + "retry_failed": "Hubo un fallo al poner en la cola a la nota para reintento", + "max_notes_per_llm_query": "Máximo de notas por consulta", + "max_notes_per_llm_query_description": "Número máximo de notas similares a incluir en el contexto IA", + "active_providers": "Proveedores activos", + "disabled_providers": "Proveedores deshabilitados", + "remove_provider": "Eliminar proveedor de la búsqueda", + "restore_provider": "Restaurar proveedor a la búsqueda", + "similarity_threshold": "Bias de similaridad", + "similarity_threshold_description": "Puntuación de similaridad mínima (0-1) para incluir notas en el contexto para consultas LLM", + "reprocess_index": "Reconstruir el índice de búsqueda", + "reprocessing_index": "Reconstruyendo...", + "reprocess_index_started": "La optimización de índice de búsqueda comenzó en segundo plano", + "reprocess_index_error": "Error al reconstruir el índice de búsqueda", + "index_rebuild_progress": "Progreso de reconstrucción de índice", + "index_rebuilding": "Optimizando índice ({{percentage}}%)", + "index_rebuild_complete": "Optimización de índice completa", + "index_rebuild_status_error": "Error al comprobar el estado de reconstrucción del índice", + "never": "Nunca", + "processing": "Procesando ({{percentage}}%)", + "incomplete": "Incompleto ({{percentage}}%)", + "complete": "Completo (100%)", + "refreshing": "Refrescando...", + "auto_refresh_notice": "Refrescar automáticamente cada {{seconds}} segundos", + "note_queued_for_retry": "Nota en la cola para reintento", + "failed_to_retry_note": "Hubo un fallo al reintentar nota", + "all_notes_queued_for_retry": "Todas las notas con fallo agregadas a la cola para reintento", + "failed_to_retry_all": "Hubo un fallo al reintentar notas", + "ai_settings": "Ajustes de IA", + "api_key_tooltip": "Clave API para acceder al servicio", + "empty_key_warning": { + "anthropic": "La clave API de Anthropic está vacía. Por favor, ingrese una clave API válida.", + "openai": "La clave API de OpenAI está vacía. Por favor, ingrese una clave API válida.", + "voyage": "La clave API de Voyage está vacía. Por favor, ingrese una clave API válida.", + "ollama": "La clave API de Ollama está vacía. Por favor, ingrese una clave API válida." + }, + "agent": { + "processing": "Procesando...", + "thinking": "Pensando...", + "loading": "Cargando...", + "generating": "Generando..." + }, + "name": "IA", + "openai": "OpenAI", + "use_enhanced_context": "Utilizar contexto mejorado", + "enhanced_context_description": "Provee a la IA con más contexto de la nota y sus notas relacionadas para obtener mejores respuestas", + "show_thinking": "Mostrar pensamiento", + "show_thinking_description": "Mostrar la cadena del proceso de pensamiento de la IA", + "enter_message": "Ingrese su mensaje...", + "error_contacting_provider": "Error al contactar con su proveedor de IA. Por favor compruebe sus ajustes y conexión a internet.", + "error_generating_response": "Error al generar respuesta de IA", + "index_all_notes": "Indexar todas las notas", + "index_status": "Estado de índice", + "indexed_notes": "Notas indexadas", + "indexing_stopped": "Indexado detenido", + "indexing_in_progress": "Indexado en progreso...", + "last_indexed": "Último indexado", + "n_notes_queued": "{{ count }} nota agregada a la cola para indexado", + "n_notes_queued_plural": "{{ count }} notas agregadas a la cola para indexado", + "note_chat": "Chat de nota", + "notes_indexed": "{{ count }} nota indexada", + "notes_indexed_plural": "{{ count }} notas indexadas", + "sources": "Fuentes", + "start_indexing": "Comenzar indexado", + "use_advanced_context": "Usar contexto avanzado", + "ollama_no_url": "Ollama no está configurado. Por favor ingrese una URL válida.", + "chat": { + "root_note_title": "Chats de IA", + "root_note_content": "Esta nota contiene tus conversaciones de chat de IA guardadas.", + "new_chat_title": "Nuevo chat", + "create_new_ai_chat": "Crear nuevo chat de IA" + }, + "create_new_ai_chat": "Crear nuevo chat de IA", + "configuration_warnings": "Hay algunos problemas con su configuración de IA. Por favor compruebe sus ajustes.", + "experimental_warning": "La característica de LLM aún es experimental - ha sido advertido.", + "selected_provider": "Proveedor seleccionado", + "selected_provider_description": "Elija el proveedor de IA para el chat y características de completado", + "select_model": "Seleccionar modelo...", + "select_provider": "Seleccionar proveedor..." + }, + "zoom_factor": { + "title": "Factor de zoom (solo versión de escritorio)", + "description": "El zoom también se puede controlar con los atajos CTRL+- y CTRL+=." + }, + "code_auto_read_only_size": { + "title": "Tamaño automático de solo lectura", + "description": "El tamaño de nota de solo lectura automático es el tamaño después del cual las notas se mostrarán en modo de solo lectura (por razones de rendimiento).", + "label": "Tamaño automático de solo lectura (notas de código)", + "unit": "caracteres" + }, + "code-editor-options": { + "title": "Editor" + }, + "code_mime_types": { + "title": "Tipos MIME disponibles en el menú desplegable" + }, + "vim_key_bindings": { + "use_vim_keybindings_in_code_notes": "Atajos de teclas de Vim", + "enable_vim_keybindings": "Habilitar los atajos de teclas de Vim en la notas de código (no es modo ex)" + }, + "wrap_lines": { + "wrap_lines_in_code_notes": "Ajustar líneas en notas de código", + "enable_line_wrap": "Habilitar ajuste de línea (es posible que el cambio requiera una recarga de interfaz para que surta efecto)" + }, + "images": { + "images_section_title": "Imágenes", + "download_images_automatically": "Descargar imágenes automáticamente para usarlas sin conexión.", + "download_images_description": "El HTML pegado puede contener referencias a imágenes en línea; Trilium encontrará esas referencias y descargará las imágenes para que estén disponibles sin conexión.", + "enable_image_compression": "Habilitar la compresión de imágenes", + "max_image_dimensions": "Ancho/alto máximo de una imagen en píxeles (la imagen cambiará de tamaño si excede esta configuración).", + "max_image_dimensions_unit": "píxeles", + "jpeg_quality_description": "Calidad JPEG (10 - peor calidad, 100 - mejor calidad, se recomienda 50 - 85)" + }, + "attachment_erasure_timeout": { + "attachment_erasure_timeout": "Tiempo de espera para borrar archivos adjuntos", + "attachment_auto_deletion_description": "Los archivos adjuntos se eliminan (y borran) automáticamente si ya no se hace referencia a ellos en su nota después de un tiempo de espera definido.", + "erase_attachments_after": "Borrar archivos adjuntos después de:", + "manual_erasing_description": "También puede activar el borrado manualmente (sin considerar el tiempo de espera definido anteriormente):", + "erase_unused_attachments_now": "Borrar ahora los archivos adjuntos no utilizados en la nota", + "unused_attachments_erased": "Los archivos adjuntos no utilizados se han eliminado." + }, + "network_connections": { + "network_connections_title": "Conexiones de red", + "check_for_updates": "Buscar actualizaciones automáticamente" + }, + "note_erasure_timeout": { + "note_erasure_timeout_title": "Tiempo de espera de borrado de notas", + "note_erasure_description": "Las notas eliminadas (y los atributos, las revisiones ...) en principio solo están marcadas como eliminadas y es posible recuperarlas del diálogo de Notas recientes. Después de un período de tiempo, las notas eliminadas son \" borradas\", lo que significa que su contenido ya no es recuperable. Esta configuración le permite configurar la longitud del período entre eliminar y borrar la nota.", + "erase_notes_after": "Borrar notas después de:", + "manual_erasing_description": "También puede activar el borrado manualmente (sin considerar el tiempo de espera definido anteriormente):", + "erase_deleted_notes_now": "Borrar notas eliminadas ahora", + "deleted_notes_erased": "Las notas eliminadas han sido borradas." + }, + "revisions_snapshot_interval": { + "note_revisions_snapshot_interval_title": "Intervalo de instantáneas de revisiones de notas", + "note_revisions_snapshot_description": "El intervalo de tiempo de la instantánea de revisión de nota es el tiempo después de lo cual se creará una nueva revisión para la nota. Ver wiki para obtener más información.", + "snapshot_time_interval_label": "Intervalo de tiempo de la instantánea de revisión de notas:" + }, + "revisions_snapshot_limit": { + "note_revisions_snapshot_limit_title": "Límite de respaldos de revisiones de nota", + "note_revisions_snapshot_limit_description": "El límite de número de respaldos de revisiones de notas se refiere al número máximo de revisiones que pueden guardarse para cada nota. Donde -1 significa sin límite, 0 significa borrar todas las revisiones. Puede establecer el máximo de revisiones para una sola nota a través de la etiqueta #versioningLimit.", + "snapshot_number_limit_label": "Número límite de respaldos de revisiones de nota:", + "snapshot_number_limit_unit": "respaldos", + "erase_excess_revision_snapshots": "Eliminar el exceso de respaldos de revisiones ahora", + "erase_excess_revision_snapshots_prompt": "El exceso de respaldos de revisiones han sido eliminadas." + }, + "search_engine": { + "title": "Motor de búsqueda", + "custom_search_engine_info": "El motor de búsqueda personalizado requiere que se establezcan un nombre y una URL. Si alguno de estos no está configurado, DuckDuckGo se utilizará como motor de búsqueda predeterminado.", + "predefined_templates_label": "Plantillas de motor de búsqueda predefinidas", + "bing": "Bing", + "baidu": "Baidu", + "duckduckgo": "DuckDuckGo", + "google": "Google", + "custom_name_label": "Nombre del motor de búsqueda personalizado", + "custom_name_placeholder": "Personalizar el nombre del motor de búsqueda", + "custom_url_label": "La URL del motor de búsqueda personalizado debe incluir {keyword} como marcador de posición para el término de búsqueda.", + "custom_url_placeholder": "Personalizar la URL del motor de búsqueda", + "save_button": "Guardar" + }, + "tray": { + "title": "Bandeja de sistema", + "enable_tray": "Habilitar bandeja (es necesario reiniciar Trilium para que este cambio surta efecto)" + }, + "heading_style": { + "title": "Estilo de título", + "plain": "Plano", + "underline": "Subrayar", + "markdown": "Estilo Markdown" + }, + "highlights_list": { + "title": "Lista de aspectos destacados", + "description": "Puede personalizar la lista de aspectos destacados que se muestra en el panel derecho:", + "bold": "Texto en negrita", + "italic": "Texto en cursiva", + "underline": "Texto subrayado", + "color": "Texto con color", + "bg_color": "Texto con color de fondo", + "visibility_title": "Visibilidad de la lista de aspectos destacados", + "visibility_description": "Puede ocultar el widget de aspectos destacados por nota agregando una etiqueta #hideHighlightWidget.", + "shortcut_info": "Puede configurar un método abreviado de teclado para alternar rápidamente el panel derecho (incluidos los aspectos destacados) en Opciones -> Atajos (nombre 'toggleRightPane')." + }, + "table_of_contents": { + "title": "Tabla de contenido", + "description": "La tabla de contenido aparecerá en las notas de texto cuando la nota tenga más de un número definido de títulos. Puede personalizar este número:", + "unit": "títulos", + "disable_info": "También puede utilizar esta opción para desactivar la TDC (TOC) de forma efectiva estableciendo un número muy alto.", + "shortcut_info": "Puede configurar un atajo de teclado para alternar rápidamente el panel derecho (incluido el TDC) en Opciones -> Atajos (nombre 'toggleRightPane')." + }, + "text_auto_read_only_size": { + "title": "Tamaño para modo de solo lectura automático", + "description": "El tamaño de nota de solo lectura automático es el tamaño después del cual las notas se mostrarán en modo de solo lectura (por razones de rendimiento).", + "label": "Tamaño para modo de solo lectura automático (notas de texto)", + "unit": "caracteres" + }, + "custom_date_time_format": { + "title": "Formato de fecha/hora personalizada", + "description": "Personalizar el formado de fecha y la hora insertada vía o la barra de herramientas. Véa la documentación de Day.js para más tokens de formato disponibles.", + "format_string": "Cadena de formato:", + "formatted_time": "Fecha/hora personalizada:" + }, + "i18n": { + "title": "Localización", + "language": "Idioma", + "first-day-of-the-week": "Primer día de la semana", + "sunday": "Domingo", + "monday": "Lunes", + "first-week-of-the-year": "Primer semana del año", + "first-week-contains-first-day": "Primer semana que contiene al primer día del año", + "first-week-contains-first-thursday": "Primer semana que contiene al primer jueves del año", + "first-week-has-minimum-days": "Primer semana que contiene un mínimo de días", + "min-days-in-first-week": "Días mínimos en la primer semana", + "first-week-info": "Primer semana que contiene al primer jueves del año está basado en el estándarISO 8601.", + "first-week-warning": "Cambiar las opciones de primer semana puede causar duplicados con las Notas Semanales existentes y las Notas Semanales existentes no serán actualizadas respectivamente.", + "formatting-locale": "Fecha y formato de número" + }, + "backup": { + "automatic_backup": "Copia de seguridad automática", + "automatic_backup_description": "Trilium puede realizar copias de seguridad de la base de datos automáticamente:", + "enable_daily_backup": "Habilitar copia de seguridad diaria", + "enable_weekly_backup": "Habilitar copia de seguridad semanal", + "enable_monthly_backup": "Habilitar copia de seguridad mensual", + "backup_recommendation": "Se recomienda mantener la copia de seguridad activada, pero esto puede ralentizar el inicio de la aplicación con bases de datos grandes y/o dispositivos de almacenamiento lentos.", + "backup_now": "Realizar copia de seguridad ahora", + "backup_database_now": "Realizar copia de seguridad de la base de datos ahora", + "existing_backups": "Copias de seguridad existentes", + "date-and-time": "Fecha y hora", + "path": "Ruta", + "database_backed_up_to": "Se ha realizado una copia de seguridad de la base de datos en {{backupFilePath}}", + "no_backup_yet": "no hay copia de seguridad todavía" + }, + "etapi": { + "title": "ETAPI", + "description": "ETAPI es una REST API que se utiliza para acceder a la instancia de Trilium mediante programación, sin interfaz de usuario.", + "see_more": "Véa más detalles en el {{- link_to_wiki}} y el {{- link_to_openapi_spec}} o el {{- link_to_swagger_ui }}.", + "wiki": "wiki", + "openapi_spec": "Especificación ETAPI OpenAPI", + "swagger_ui": "ETAPI Swagger UI", + "create_token": "Crear nuevo token ETAPI", + "existing_tokens": "Tokens existentes", + "no_tokens_yet": "Aún no hay tokens. Dé clic en el botón de arriba para crear uno.", + "token_name": "Nombre del token", + "created": "Creado", + "actions": "Acciones", + "new_token_title": "Nuevo token ETAPI", + "new_token_message": "Por favor ingresa el nombre del nuevo token", + "default_token_name": "nuevo token", + "error_empty_name": "El nombre del token no puede estar vacío", + "token_created_title": "Token ETAPI creado", + "token_created_message": "Copiar el token creado en el portapapeles. Trilium almacena el token con hash y esta es la última vez que lo ve.", + "rename_token": "Renombrar este token", + "delete_token": "Eliminar/Desactivar este token", + "rename_token_title": "Renombrar token", + "rename_token_message": "Por favor ingresa el nombre del nuevo token", + "delete_token_confirmation": "¿Está seguro de que desea eliminar el token ETAPI \"{{name}}\"?" + }, + "options_widget": { + "options_status": "Estado de las opciones", + "options_change_saved": "Se han guardado los cambios de las opciones." + }, + "password": { + "heading": "Contraseña", + "alert_message": "Tenga cuidado de recordar su nueva contraseña. La contraseña se utiliza para iniciar sesión en la interfaz web y cifrar las notas protegidas. Si olvida su contraseña, todas sus notas protegidas se perderán para siempre.", + "reset_link": "Dé clic aquí para restablecerla.", + "old_password": "Contraseña anterior", + "new_password": "Nueva contraseña", + "new_password_confirmation": "Confirmación de nueva contraseña", + "change_password": "Cambiar contraseña", + "protected_session_timeout": "Tiempo de espera de sesión protegida", + "protected_session_timeout_description": "El tiempo de espera de la sesión protegida es el período de tiempo después del cual la sesión protegida se borra de la memoria del navegador. Esto se mide desde la última interacción con notas protegidas. Ver", + "wiki": "wiki", + "for_more_info": "para más información.", + "protected_session_timeout_label": "Tiempo de espera de sesión protegida:", + "reset_confirmation": "Al restablecer la contraseña, perderá para siempre el acceso a todas sus notas protegidas existentes. ¿Realmente quieres restablecer la contraseña?", + "reset_success_message": "La contraseña ha sido restablecida. Por favor establezca una nueva contraseña", + "change_password_heading": "Cambiar contraseña", + "set_password_heading": "Establecer contraseña", + "set_password": "Establecer contraseña", + "password_mismatch": "Las nuevas contraseñas no son las mismas.", + "password_changed_success": "La contraseña ha sido cambiada. Trilium se recargará después de presionar Aceptar." + }, + "multi_factor_authentication": { + "title": "Autenticación Multi-Factor", + "description": "La autenticación multifactor (MFA) agrega una capa adicional de seguridad a su cuenta. En lugar de solo ingresar una contraseña para iniciar sesión, MFA requiere que proporcione una o más pruebas adicionales para verificar su identidad. De esta manera, incluso si alguien se apodera de su contraseña, aún no puede acceder a su cuenta sin la segunda pieza de información. Es como agregar una cerradura adicional a su puerta, lo que hace que sea mucho más difícil para cualquier otra persona entrar.

Por favor siga las instrucciones a continuación para habilitar MFA. Si no lo configura correctamente, el inicio de sesión volverá a solo contraseña.", + "mfa_enabled": "Habilitar la autenticación multifactor", + "mfa_method": "Método MFA", + "electron_disabled": "Actualmente la autenticación multifactor no está soportada en la compilación de escritorio.", + "totp_title": "Contraseña de un solo uso basada en el tiempo (TOTP)", + "totp_description": "TOTP (contraseña de un solo uso basada en el tiempo) es una característica de seguridad que genera un código temporal único que cambia cada 30 segundos. Utiliza este código, junto con su contraseña para iniciar sesión en su cuenta, lo que hace que sea mucho más difícil para cualquier otra persona acceder a ella.", + "totp_secret_title": "Generar secreto TOTP", + "totp_secret_generate": "Generar secreto TOTP", + "totp_secret_regenerate": "Regenerar secreto TOTP", + "no_totp_secret_warning": "Para habilitar TOTP, primero debe de generar un secreto TOTP.", + "totp_secret_description_warning": "Después de generar un nuevo secreto TOTP, le será requerido que inicie sesión otra vez con el nuevo secreto TOTP.", + "totp_secret_generated": "Secreto TOTP generado", + "totp_secret_warning": "Por favor guarde el secreto generado en una ubicación segura. No será mostrado de nuevo.", + "totp_secret_regenerate_confirm": "¿Está seguro que desea regenerar el secreto TOTP? Esto va a invalidar el secreto TOTP previo y todos los códigos de recuperación existentes.", + "recovery_keys_title": "Claves de recuperación para un solo inicio de sesión", + "recovery_keys_description": "Las claves de recuperación para un solo inicio de sesión son usadas para iniciar sesión incluso cuando no puede acceder a los códigos de su autentificador.", + "recovery_keys_description_warning": "Las claves de recuperación no son mostrada de nuevo después de dejar esta página, manténgalas en un lugar seguro.
Después de que una clave de recuperación es utilizada ya no puede utilizarse de nuevo.", + "recovery_keys_error": "Error al generar códigos de recuperación", + "recovery_keys_no_key_set": "No hay códigos de recuperación establecidos", + "recovery_keys_generate": "Generar códigos de recuperación", + "recovery_keys_regenerate": "Regenerar códigos de recuperación", + "recovery_keys_used": "Usado: {{date}}", + "recovery_keys_unused": "El código de recuperación {{index}} está sin usar", + "oauth_title": "OAuth/OpenID", + "oauth_description": "OpenID es una forma estandarizada de permitirle iniciar sesión en sitios web utilizando una cuenta de otro servicio, como Google, para verificar su identidad. Siga estas instrucciones para configurar un servicio OpenID a través de Google.", + "oauth_description_warning": "Para habilitar OAuth/OpenID, necesita establecer la URL base de OAuth/OpenID, ID de cliente y secreto de cliente en el archivo config.ini y reiniciar la aplicación. Si desea establecerlas desde variables de ambiente, por favor establezca TRILIUM_OAUTH_BASE_URL, TRILIUM_OAUTH_CLIENT_ID y TRILIUM_OAUTH_CLIENT_SECRET.", + "oauth_missing_vars": "Ajustes faltantes: {{variables}}", + "oauth_user_account": "Cuenta de usuario: ", + "oauth_user_email": "Correo electrónico de usuario: ", + "oauth_user_not_logged_in": "¡No ha iniciado sesión!" + }, + "shortcuts": { + "keyboard_shortcuts": "Atajos de teclado", + "multiple_shortcuts": "Varios atajos para la misma acción se pueden separar mediante comas.", + "electron_documentation": "Véa la documentación de Electron para los modificadores y códigos de tecla disponibles.", + "type_text_to_filter": "Escriba texto para filtrar los accesos directos...", + "action_name": "Nombre de la acción", + "shortcuts": "Atajos", + "default_shortcuts": "Atajos predeterminados", + "description": "Descripción", + "reload_app": "Vuelva a cargar la aplicación para aplicar los cambios", + "set_all_to_default": "Establecer todos los accesos directos al valor predeterminado", + "confirm_reset": "¿Realmente desea restablecer todos los atajos de teclado a sus valores predeterminados?" + }, + "spellcheck": { + "title": "Revisión ortográfica", + "description": "Estas opciones se aplican sólo para compilaciones de escritorio; los navegadores utilizarán su corrector ortográfico nativo.", + "enable": "Habilitar corrector ortográfico", + "language_code_label": "Código(s) de idioma", + "language_code_placeholder": "por ejemplo \"en-US\", \"de-AT\"", + "multiple_languages_info": "Múltiples idiomas se pueden separar por coma, por ejemplo \"en-US, de-DE, cs\". ", + "available_language_codes_label": "Códigos de idioma disponibles:", + "restart-required": "Los cambios en las opciones de corrección ortográfica entrarán en vigor después del reinicio de la aplicación." + }, + "sync_2": { + "config_title": "Configuración de sincronización", + "server_address": "Dirección de la instancia del servidor", + "timeout": "Tiempo de espera de sincronización (milisegundos)", + "timeout_unit": "milisegundos", + "proxy_label": "Sincronizar servidor proxy (opcional)", + "note": "Nota", + "note_description": "Si deja la configuración del proxy en blanco, se utilizará el proxy del sistema (se aplica únicamente a la compilación de escritorio/electron).", + "special_value_description": "Otro valor especial es noproxy que obliga a ignorar incluso al proxy del sistema y respeta NODE_TLS_REJECT_UNAUTHORIZED.", + "save": "Guardar", + "help": "Ayuda", + "test_title": "Prueba de sincronización", + "test_description": "Esto probará la conexión y el protocolo de enlace con el servidor de sincronización. Si el servidor de sincronización no está inicializado, esto lo configurará para sincronizarse con el documento local.", + "test_button": "Prueba de sincronización", + "handshake_failed": "Error en el protocolo de enlace del servidor de sincronización, error: {{message}}" + }, + "api_log": { + "close": "Cerrar" + }, + "attachment_detail_2": { + "will_be_deleted_in": "Este archivo adjunto se eliminará automáticamente en {{time}}", + "will_be_deleted_soon": "Este archivo adjunto se eliminará automáticamente pronto", + "deletion_reason": ", porque el archivo adjunto no está vinculado en el contenido de la nota. Para evitar la eliminación, vuelva a agregar el enlace del archivo adjunto al contenido o convierta el archivo adjunto en una nota.", + "role_and_size": "Rol: {{role}}, Tamaño: {{size}}", + "link_copied": "Enlace del archivo adjunto copiado al portapapeles.", + "unrecognized_role": "Rol de archivo adjunto no reconocido '{{role}}'." + }, + "bookmark_switch": { + "bookmark": "Marcador", + "bookmark_this_note": "Añadir esta nota a marcadores en el panel lateral izquierdo", + "remove_bookmark": "Eliminar marcador" + }, + "editability_select": { + "auto": "Automático", + "read_only": "Sólo lectura", + "always_editable": "Siempre editable", + "note_is_editable": "La nota es editable si no es muy grande.", + "note_is_read_only": "La nota es de solo lectura, pero se puede editar con un clic en un botón.", + "note_is_always_editable": "La nota siempre es editable, independientemente de su tamaño." + }, + "note-map": { + "button-link-map": "Mapa de Enlaces", + "button-tree-map": "Mapa de Árbol" + }, + "tree-context-menu": { + "open-in-a-new-tab": "Abrir en nueva pestaña Ctrl+Click", + "open-in-a-new-split": "Abrir en nueva división", + "insert-note-after": "Insertar nota después de", + "insert-child-note": "Insertar subnota", + "delete": "Eliminar", + "search-in-subtree": "Buscar en subárbol", + "hoist-note": "Anclar nota", + "unhoist-note": "Desanclar nota", + "edit-branch-prefix": "Editar prefijo de rama", + "advanced": "Avanzado", + "expand-subtree": "Expandir subárbol", + "collapse-subtree": "Colapsar subárbol", + "sort-by": "Ordenar por...", + "recent-changes-in-subtree": "Cambios recientes en subárbol", + "convert-to-attachment": "Convertir en adjunto", + "copy-note-path-to-clipboard": "Copiar ruta de nota al portapapeles", + "protect-subtree": "Proteger subárbol", + "unprotect-subtree": "Desproteger subárbol", + "copy-clone": "Copiar / clonar", + "clone-to": "Clonar en...", + "cut": "Cortar", + "move-to": "Mover a...", + "paste-into": "Pegar en", + "paste-after": "Pegar después de", + "duplicate": "Duplicar", + "export": "Exportar", + "import-into-note": "Importar a nota", + "apply-bulk-actions": "Aplicar acciones en lote", + "converted-to-attachments": "{{count}} notas han sido convertidas en archivos adjuntos.", + "convert-to-attachment-confirm": "¿Está seguro que desea convertir las notas seleccionadas en archivos adjuntos de sus notas padres?" + }, + "shared_info": { + "shared_publicly": "Esta nota está compartida públicamente en", + "shared_locally": "Esta nota está compartida localmente en", + "help_link": "Para obtener ayuda visite wiki." + }, + "note_types": { + "text": "Texto", + "code": "Código", + "saved-search": "Búsqueda Guardada", + "relation-map": "Mapa de Relaciones", + "note-map": "Mapa de Notas", + "render-note": "Nota de Renderizado", + "mermaid-diagram": "Diagrama Mermaid", + "canvas": "Lienzo", + "web-view": "Vista Web", + "mind-map": "Mapa Mental", + "file": "Archivo", + "image": "Imagen", + "launcher": "Lanzador", + "doc": "Doc", + "widget": "Widget", + "confirm-change": "No es recomendado cambiar el tipo de nota cuando el contenido de la nota no está vacío. ¿Desea continuar de cualquier manera?", + "geo-map": "Mapa Geo", + "beta-feature": "Beta", + "ai-chat": "Chat de IA", + "task-list": "Lista de tareas" + }, + "protect_note": { + "toggle-on": "Proteger la nota", + "toggle-off": "Desproteger la nota", + "toggle-on-hint": "La nota no está protegida, dé clic para protegerla", + "toggle-off-hint": "La nota está protegida, dé clic para desprotegerla" + }, + "shared_switch": { + "shared": "Compartida", + "toggle-on-title": "Compartir la nota", + "toggle-off-title": "Descompartir la nota", + "shared-branch": "Esta nota sólo existe como una nota compartida, si la deja de compartir será eliminada. ¿Quiere continuar y eliminar esta nota?", + "inherited": "No puede dejar de compartir la nota aquí porque es compartida a través de la herencia de un ancestro." + }, + "template_switch": { + "template": "Plantilla", + "toggle-on-hint": "Hacer de la nota una plantilla", + "toggle-off-hint": "Eliminar la nota como una plantilla" + }, + "open-help-page": "Abrir página de ayuda", + "find": { + "case_sensitive": "Distingue entre mayúsculas y minúsculas", + "match_words": "Coincidir palabras", + "find_placeholder": "Encontrar en texto...", + "replace_placeholder": "Reemplazar con...", + "replace": "Reemplazar", + "replace_all": "Reemplazar todo" + }, + "highlights_list_2": { + "title": "Lista de destacados", + "options": "Opciones" + }, + "quick-search": { + "placeholder": "Búsqueda rápida", + "searching": "Buscando...", + "no-results": "No se encontraron resultados", + "more-results": "... y {{number}} resultados más.", + "show-in-full-search": "Mostrar en búsqueda completa" + }, + "note_tree": { + "collapse-title": "Colapsar árbol de nota", + "scroll-active-title": "Desplazarse a nota activa", + "tree-settings-title": "Ajustes de árbol", + "hide-archived-notes": "Ocultar notas archivadas", + "automatically-collapse-notes": "Colapsar notas automaticamente", + "automatically-collapse-notes-title": "Las notas serán colapsadas después de un periodo de inactividad para despejar el árbol.", + "save-changes": "Guardar y aplicar cambios", + "auto-collapsing-notes-after-inactivity": "Colapsando notas automáticamente después de inactividad...", + "saved-search-note-refreshed": "La nota de búsqueda guardada fue recargada.", + "hoist-this-note-workspace": "Anclar esta nota (espacio de trabajo)", + "refresh-saved-search-results": "Refrescar resultados de búsqueda guardados", + "create-child-note": "Crear subnota", + "unhoist": "Desanclar" + }, + "title_bar_buttons": { + "window-on-top": "Mantener esta ventana en la parte superior" + }, + "note_detail": { + "could_not_find_typewidget": "No se pudo encontrar typeWidget para el tipo '{{type}}'" + }, + "note_title": { + "placeholder": "escriba el título de la nota aquí..." + }, + "search_result": { + "no_notes_found": "No se han encontrado notas para los parámetros de búsqueda dados.", + "search_not_executed": "La búsqueda aún no se ha ejecutado. Dé clic en el botón «Buscar» para ver los resultados." + }, + "spacer": { + "configure_launchbar": "Configurar barra de lanzamiento" + }, + "sql_result": { + "no_rows": "No se han devuelto filas para esta consulta" + }, + "sql_table_schemas": { + "tables": "Tablas" + }, + "tab_row": { + "close_tab": "Cerrar pestaña", + "add_new_tab": "Agregar nueva pestaña", + "close": "Cerrar", + "close_other_tabs": "Cerrar otras pestañas", + "close_right_tabs": "Cerrar pestañas a la derecha", + "close_all_tabs": "Cerrar todas las pestañas", + "reopen_last_tab": "Reabrir última pestaña cerrada", + "move_tab_to_new_window": "Mover esta pestaña a una nueva ventana", + "copy_tab_to_new_window": "Copiar esta pestaña a una ventana nueva", + "new_tab": "Nueva pestaña" + }, + "toc": { + "table_of_contents": "Tabla de contenido", + "options": "Opciones" + }, + "watched_file_update_status": { + "file_last_modified": "Archivo ha sido modificado por última vez en.", + "upload_modified_file": "Subir archivo modificado", + "ignore_this_change": "Ignorar este cambio" + }, + "app_context": { + "please_wait_for_save": "Por favor espere algunos segundos a que se termine de guardar, después intente de nuevo." + }, + "note_create": { + "duplicated": "La nota \"{{title}}\" ha sido duplicada." + }, + "image": { + "copied-to-clipboard": "Una referencia a la imagen ha sido copiada al portapapeles. Esta puede ser pegada en cualquier nota de texto.", + "cannot-copy": "No se pudo copiar la referencia de imagen al portapapeles." + }, + "clipboard": { + "cut": "La(s) notas(s) han sido cortadas al portapapeles.", + "copied": "La(s) notas(s) han sido copiadas al portapapeles.", + "copy_failed": "No se puede copiar al portapapeles debido a problemas de permisos.", + "copy_success": "Copiado al portapapeles." + }, + "entrypoints": { + "note-revision-created": "Una revisión de nota ha sido creada.", + "note-executed": "Nota ejecutada.", + "sql-error": "Ocurrió un error al ejecutar la consulta SQL: {{message}}" + }, + "branches": { + "cannot-move-notes-here": "No se pueden mover notas aquí.", + "delete-status": "Estado de eliminación", + "delete-notes-in-progress": "Eliminación de notas en progreso: {{count}}", + "delete-finished-successfully": "La eliminación finalizó exitosamente.", + "undeleting-notes-in-progress": "Recuperación de notas en progreso: {{count}}", + "undeleting-notes-finished-successfully": "La recuperación de notas finalizó exitosamente." + }, + "frontend_script_api": { + "async_warning": "Está pasando una función asíncrona a `api.runOnBackend ()` que probablemente no funcionará como pretendía.", + "sync_warning": "Estás pasando una función sincrónica a `api.runasynconbackendwithmanualTransactionHandling ()`, \\ n while debería usar `api.runonbackend ()` en su lugar." + }, + "ws": { + "sync-check-failed": "¡La comprobación de sincronización falló!", + "consistency-checks-failed": "¡Las comprobaciones de consistencia fallaron! Vea los registros para más detalles.", + "encountered-error": "Error encontrado \"{{message}}\", compruebe la consola." + }, + "hoisted_note": { + "confirm_unhoisting": "La nota requerida '{{requestedNote}}' está fuera del subárbol de la nota anclada '{{hoistedNote}}' y debe desanclarla para acceder a la nota. ¿Desea proceder con el desanclaje?" + }, + "launcher_context_menu": { + "reset_launcher_confirm": "¿Realmente desea restaurar \"{{title}}\"? Todos los datos / ajustes en esta nota (y sus subnotas) se van a perder y el lanzador regresará a su ubicación original.", + "add-note-launcher": "Agregar un lanzador de nota", + "add-script-launcher": "Agregar un lanzador de script", + "add-custom-widget": "Agregar un widget personalizado", + "add-spacer": "Agregar espaciador", + "delete": "Eliminar ", + "reset": "Restaurar", + "move-to-visible-launchers": "Mover a lanzadores visibles", + "move-to-available-launchers": "Mover a lanzadores disponibles", + "duplicate-launcher": "Duplicar lanzador " + }, + "editable-text": { + "auto-detect-language": "Detectado automáticamente" + }, + "highlighting": { + "title": "Bloques de código", + "description": "Controla el resaltado de sintaxis para bloques de código dentro de las notas de texto, las notas de código no serán afectadas.", + "color-scheme": "Esquema de color" + }, + "code_block": { + "word_wrapping": "Ajuste de palabras", + "theme_none": "Sin resaltado de sintaxis", + "theme_group_light": "Temas claros", + "theme_group_dark": "Temas oscuros", + "copy_title": "Copiar al portapapeles" + }, + "classic_editor_toolbar": { + "title": "Formato" + }, + "editor": { + "title": "Editor" + }, + "editing": { + "editor_type": { + "label": "Barra de herramientas de formato", + "floating": { + "title": "Flotante", + "description": "las herramientas de edición aparecen cerca del cursor;" + }, + "fixed": { + "title": "Fijo", + "description": "las herramientas de edición aparecen en la pestaña de la cinta \"Formato\")." + }, + "multiline-toolbar": "Mostrar la barra de herramientas en múltiples líneas si no cabe." + } + }, + "electron_context_menu": { + "add-term-to-dictionary": "Agregar \"{{term}}\" al diccionario", + "cut": "Cortar", + "copy": "Copiar", + "copy-link": "Copiar enlace", + "paste": "Pegar", + "paste-as-plain-text": "Pegar como texto plano", + "search_online": "Buscar \"{{term}}\" con {{searchEngine}}" + }, + "image_context_menu": { + "copy_reference_to_clipboard": "Copiar referencia al portapapeles", + "copy_image_to_clipboard": "Copiar imagen al portapapeles" + }, + "link_context_menu": { + "open_note_in_new_tab": "Abrir nota en una pestaña nueva", + "open_note_in_new_split": "Abrir nota en una nueva división", + "open_note_in_new_window": "Abrir nota en una nueva ventana" + }, + "electron_integration": { + "desktop-application": "Aplicación de escritorio", + "native-title-bar": "Barra de título nativa", + "native-title-bar-description": "Para Windows y macOS, quitar la barra de título nativa hace que la aplicación se vea más compacta. En Linux, mantener la barra de título nativa hace que se integre mejor con el resto del sistema.", + "background-effects": "Habilitar efectos de fondo (sólo en Windows 11)", + "background-effects-description": "El efecto Mica agrega un fondo borroso y elegante a las ventanas de aplicaciones, creando profundidad y un aspecto moderno.", + "restart-app-button": "Reiniciar la aplicación para ver los cambios", + "zoom-factor": "Factor de zoom" + }, + "note_autocomplete": { + "search-for": "Buscar por \"{{term}}\"", + "create-note": "Crear y enlazar subnota \"{{term}}\"", + "insert-external-link": "Insertar enlace externo a \"{{term}}\"", + "clear-text-field": "Limpiar campo de texto", + "show-recent-notes": "Mostrar notas recientes", + "full-text-search": "Búsqueda de texto completo" + }, + "note_tooltip": { + "note-has-been-deleted": "La nota ha sido eliminada." + }, + "geo-map": { + "create-child-note-title": "Crear una nueva subnota y agregarla al mapa", + "create-child-note-instruction": "Dé clic en el mapa para crear una nueva nota en esa ubicación o presione Escape para cancelar.", + "unable-to-load-map": "No se puede cargar el mapa." + }, + "geo-map-context": { + "open-location": "Abrir ubicación", + "remove-from-map": "Eliminar del mapa" + }, + "help-button": { + "title": "Abrir la página de ayuda relevante" + }, + "duration": { + "seconds": "Segundos", + "minutes": "Minutos", + "hours": "Horas", + "days": "Días" + }, + "share": { + "title": "Ajustes de uso compartido", + "redirect_bare_domain": "Redirigir el dominio absoluto a página Compartir", + "redirect_bare_domain_description": "Redirigir usuarios anónimos a la página Compartir en vez de mostrar Inicio de sesión", + "show_login_link": "Mostrar enlace a Inicio de sesión en tema de Compartir", + "show_login_link_description": "Mostrar enlace a Inicio de sesión en el pie de página de Compartir", + "check_share_root": "Comprobar estado de raíz de Compartir", + "share_root_found": "La nota raíz de Compartir '{{noteTitle}}' está lista", + "share_root_not_found": "No se encontró ninguna nota con la etiqueta #shareRoot", + "share_root_not_shared": "La nota '{{noteTitle}}' tiene la etiqueta #shareRoot pero no ha sido compartida" + }, + "time_selector": { + "invalid_input": "El valor de tiempo ingresado no es un número válido.", + "minimum_input": "El valor de tiempo ingresado necesita ser de al menos {{minimumSeconds}} segundos." + }, + "tasks": { + "due": { + "today": "Hoy", + "tomorrow": "Mañana", + "yesterday": "Ayer" + } + }, + "content_widget": { + "unknown_widget": "Widget desconocido para \"{{id}}\"." + }, + "note_language": { + "not_set": "No establecido", + "configure-languages": "Configurar idiomas..." + }, + "content_language": { + "title": "Contenido de idiomas", + "description": "Seleccione uno o más idiomas que deben aparecer en la selección del idioma en la sección Propiedades Básicas de una nota de texto de solo lectura o editable. Esto permitirá características tales como corrección de ortografía o soporte de derecha a izquierda." + }, + "switch_layout_button": { + "title_vertical": "Mover el panel de edición hacia abajo", + "title_horizontal": "Mover el panel de edición a la izquierda" + }, + "toggle_read_only_button": { + "unlock-editing": "Desbloquear la edición", + "lock-editing": "Bloquear la edición" + }, + "png_export_button": { + "button_title": "Exportar diagrama como PNG" + }, + "svg": { + "export_to_png": "El diagrama no pudo ser exportado a PNG." + }, + "code_theme": { + "title": "Apariencia", + "word_wrapping": "Ajuste de palabras", + "color-scheme": "Esquema de color" + }, + "cpu_arch_warning": { + "title": "Por favor descargue la versión ARM64", + "message_macos": "TriliumNext está siendo ejecutado bajo traducción Rosetta 2, lo que significa que está usando la versión Intel (x64) en Apple Silicon Mac. Esto impactará significativamente en el rendimiento y la vida de la batería.", + "message_windows": "TriliumNext está siendo ejecutado bajo emulación, lo que significa que está usando la version Intel (x64) en Windows en un dispositivo ARM. Esto impactará significativamente en el rendimiento y la vida de la batería.", + "recommendation": "Para la mejor experiencia, por favor descargue la versión nativa ARM64 de TriliumNext desde nuestra página de lanzamientos.", + "download_link": "Descargar versión nativa", + "continue_anyway": "Continuar de todas maneras", + "dont_show_again": "No mostrar esta advertencia otra vez" } - }, - "add_link": { - "add_link": "Agregar enlace", - "help_on_links": "Ayuda sobre enlaces", - "close": "Cerrar", - "note": "Nota", - "search_note": "buscar nota por su nombre", - "link_title_mirrors": "el título del enlace replica el título actual de la nota", - "link_title_arbitrary": "el título del enlace se puede cambiar arbitrariamente", - "link_title": "Título del enlace", - "button_add_link": "Agregar enlace Enter" - }, - "branch_prefix": { - "edit_branch_prefix": "Editar prefijo de rama", - "help_on_tree_prefix": "Ayuda sobre el prefijo del árbol", - "close": "Cerrar", - "prefix": "Prefijo: ", - "save": "Guardar", - "branch_prefix_saved": "Se ha guardado el prefijo de rama." - }, - "bulk_actions": { - "bulk_actions": "Acciones en bloque", - "close": "Cerrar", - "affected_notes": "Notas afectadas", - "include_descendants": "Incluir descendientes de las notas seleccionadas", - "available_actions": "Acciones disponibles", - "chosen_actions": "Acciones elegidas", - "execute_bulk_actions": "Ejecutar acciones en bloque", - "bulk_actions_executed": "Las acciones en bloque se han ejecutado con éxito.", - "none_yet": "Ninguna todavía... agregue una acción haciendo clic en una de las disponibles arriba.", - "labels": "Etiquetas", - "relations": "Relaciones", - "notes": "Notas", - "other": "Otro" - }, - "clone_to": { - "clone_notes_to": "Clonar notas a...", - "close": "Cerrar", - "help_on_links": "Ayuda sobre enlaces", - "notes_to_clone": "Notas a clonar", - "target_parent_note": "Nota padre de destino", - "search_for_note_by_its_name": "buscar nota por su nombre", - "cloned_note_prefix_title": "La nota clonada se mostrará en el árbol de notas con el prefijo dado", - "prefix_optional": "Prefijo (opcional)", - "clone_to_selected_note": "Clonar a nota seleccionada enter", - "no_path_to_clone_to": "No hay ruta para clonar.", - "note_cloned": "La nota \"{{clonedTitle}}\" a sido clonada en \"{{targetTitle}}\"" - }, - "confirm": { - "confirmation": "Confirmación", - "close": "Cerrar", - "cancel": "Cancelar", - "ok": "Aceptar", - "are_you_sure_remove_note": "¿Está seguro que desea eliminar la nota \"{{title}}\" del mapa de relaciones? ", - "if_you_dont_check": "Si no marca esto, la nota solo se eliminará del mapa de relaciones.", - "also_delete_note": "También eliminar la nota" - }, - "delete_notes": { - "delete_notes_preview": "Eliminar vista previa de notas", - "close": "Cerrar", - "delete_all_clones_description": "Eliminar también todos los clones (se puede deshacer en cambios recientes)", - "erase_notes_description": "La eliminación normal (suave) solo marca las notas como eliminadas y se pueden recuperar (en el cuadro de diálogo de cambios recientes) dentro de un periodo de tiempo. Al marcar esta opción se borrarán las notas inmediatamente y no será posible recuperarlas.", - "erase_notes_warning": "Eliminar notas permanentemente (no se puede deshacer), incluidos todos los clones. Esto forzará la recarga de la aplicación.", - "notes_to_be_deleted": "Las siguientes notas serán eliminadas ({{- noteCount}})", - "no_note_to_delete": "No se eliminará ninguna nota (solo clones).", - "broken_relations_to_be_deleted": "Las siguientes relaciones se romperán y serán eliminadas ({{- relationCount}})", - "cancel": "Cancelar", - "ok": "Aceptar", - "deleted_relation_text": "Nota {{- note}} (para ser eliminada) está referenciado por la relación {{- relation}} que se origina en {{- source}}." - }, - "export": { - "export_note_title": "Exportar nota", - "close": "Cerrar", - "export_type_subtree": "Esta nota y todos sus descendientes", - "format_html": "HTML - ya que preserva todo el formato", - "format_html_zip": "HTML en un archivo ZIP: se recomienda ya que conserva todo el formato.", - "format_markdown": "Markdown: esto conserva la mayor parte del formato.", - "format_opml": "OPML: formato de intercambio de esquemas solo para texto. El formato, las imágenes y los archivos no están incluidos.", - "opml_version_1": "OPML v1.0: solo texto sin formato", - "opml_version_2": "OPML v2.0 - también permite HTML", - "export_type_single": "Sólo esta nota sin sus descendientes", - "export": "Exportar", - "choose_export_type": "Por favor, elija primero el tipo de exportación", - "export_status": "Estado de exportación", - "export_in_progress": "Exportación en curso: {{progressCount}}", - "export_finished_successfully": "La exportación finalizó exitosamente.", - "format_pdf": "PDF - para propósitos de impresión o compartición." - }, - "help": { - "fullDocumentation": "Ayuda (la documentación completa está disponible online)", - "close": "Cerrar", - "noteNavigation": "Navegación de notas", - "goUpDown": "UP, DOWN - subir/bajar en la lista de notas", - "collapseExpand": "LEFT, RIGHT - colapsar/expandir nodo", - "notSet": "no establecido", - "goBackForwards": "retroceder / avanzar en la historia", - "showJumpToNoteDialog": "mostrar \"Saltar a\" diálogo", - "scrollToActiveNote": "desplazarse hasta la nota activa", - "jumpToParentNote": "Backspace - saltar a la nota padre", - "collapseWholeTree": "colapsar todo el árbol de notas", - "collapseSubTree": "colapsar subárbol", - "tabShortcuts": "Atajos de pestañas", - "newTabNoteLink": "CTRL+clic - (o clic central del mouse) en el enlace de la nota abre la nota en una nueva pestaña", - "newTabWithActivationNoteLink": "Ctrl+Shift+clic - (o Shift+clic de rueda de ratón) en el enlace de la nota abre y activa la nota en una nueva pestaña", - "onlyInDesktop": "Solo en escritorio (compilación con Electron)", - "openEmptyTab": "abrir pestaña vacía", - "closeActiveTab": "cerrar pestaña activa", - "activateNextTab": "activar pestaña siguiente", - "activatePreviousTab": "activar pestaña anterior", - "creatingNotes": "Creando notas", - "createNoteAfter": "crear una nueva nota después de la nota activa", - "createNoteInto": "crear una nueva subnota en la nota activa", - "editBranchPrefix": "edición prefix de clon de nota activa", - "movingCloningNotes": "Moviendo/clonando notas", - "moveNoteUpDown": "mover nota arriba/abajo en la lista de notas", - "moveNoteUpHierarchy": "mover nota hacia arriba en la jerarquía", - "multiSelectNote": "selección múltiple de nota hacia arriba/abajo", - "selectAllNotes": "seleccionar todas las notas en el nivel actual", - "selectNote": "Shift+click - seleccionar nota", - "copyNotes": "copiar nota activa (o selección actual) al portapapeles (usado para clonar)", - "cutNotes": "cortar la nota actual (o la selección actual) en el portapapeles (usado para mover notas)", - "pasteNotes": "pegar notas como subnotas en la nota activa (que se puede mover o clonar dependiendo de si se copió o cortó en el portapapeles)", - "deleteNotes": "eliminar nota/subárbol", - "editingNotes": "Editando notas", - "editNoteTitle": "en el panel de árbol cambiará del panel de árbol al título de la nota. Ingresar desde el título de la nota cambiará el foco al editor de texto. Ctrl+. cambiará de nuevo del editor al panel de árbol.", - "createEditLink": "Ctrl+K - crear/editar enlace externo", - "createInternalLink": "crear enlace interno", - "followLink": "siga el enlace debajo del cursor", - "insertDateTime": "insertar la fecha y hora actuales en la posición del cursor", - "jumpToTreePane": "saltar al panel de árbol y desplazarse hasta la nota activa", - "markdownAutoformat": "Autoformato tipo Markdown", - "headings": "##, ###, #### etc. seguido de espacio para encabezados", - "bulletList": "* o - seguido de espacio para la lista de viñetas", - "numberedList": "1. o 1) seguido de espacio para la lista numerada", - "blockQuote": "comience una línea con > seguido de espacio para el bloque de cita", - "troubleshooting": "Solución de problemas", - "reloadFrontend": "recargar la interfaz de Trilium", - "showDevTools": "mostrar herramientas de desarrollador", - "showSQLConsole": "mostrar consola SQL", - "other": "Otro", - "quickSearch": "centrarse en la entrada de búsqueda rápida", - "inPageSearch": "búsqueda en la página" - }, - "import": { - "importIntoNote": "Importar a nota", - "close": "Cerrar", - "chooseImportFile": "Elija el archivo de importación", - "importDescription": "El contenido de los archivos seleccionados se importará como notas secundarias en", - "options": "Opciones", - "safeImportTooltip": "Los archivos .zip de Trilium pueden contener scripts ejecutables que pudieran tener un comportamiento peligroso. La importación segura va a desactivar la ejecución automática de todos los scripts importados. Desmarque \"Importación segura\" solo si el archivo importado contiene scripts ejecutables y usted confía totalmente en el contenido del archivo importado.", - "safeImport": "Importación segura", - "explodeArchivesTooltip": "Si esto está marcado, Trilium leerá los archivos .zip, .enex y .opml y creará notas a partir de archivos dentro de esos archivos. Si no está marcado, Trilium adjuntará los archivos a la nota.", - "explodeArchives": "Leer el contenido de los archivos .zip, .enex y .opml.", - "shrinkImagesTooltip": "

Si marca esta opción, Trilium intentará reducir las imágenes importadas mediante escalado y optimización, lo que puede afectar la calidad de la imagen percibida. Si no está marcada, las imágenes se importarán sin cambios.

Esto no se aplica a las importaciones .zip con metadatos, ya que se supone que estos archivos ya están optimizados.

", - "shrinkImages": "Reducir imágenes", - "textImportedAsText": "Importar HTML, Markdown y TXT como notas de texto si no está claro en los metadatos", - "codeImportedAsCode": "Importar archivos de código reconocidos (por ejemplo, .json) como notas de código si no están claros en los metadatos", - "replaceUnderscoresWithSpaces": "Reemplazar guiones bajos con espacios en nombres de notas importadas", - "import": "Importar", - "failed": "La importación falló: {{message}}.", - "html_import_tags": { - "title": "HTML Importar Etiquetas", - "description": "Configurar que etiquetas HTML deben ser preservadas al importar notas. Las etiquetas que no estén en esta lista serán eliminadas durante la importación. Algunas etiquetas (como 'script') siempre son eliminadas por seguridad.", - "placeholder": "Ingrese las etiquetas HTML, una por línea", - "reset_button": "Restablecer a lista por defecto" - }, - "import-status": "Estado de importación", - "in-progress": "Importación en progreso: {{progress}}", - "successful": "Importación finalizada exitosamente." - }, - "include_note": { - "dialog_title": "Incluir nota", - "close": "Cerrar", - "label_note": "Nota", - "placeholder_search": "buscar nota por su nombre", - "box_size_prompt": "Tamaño de caja de la nota incluida:", - "box_size_small": "pequeño (~ 10 líneas)", - "box_size_medium": "medio (~ 30 líneas)", - "box_size_full": "completo (el cuadro muestra el texto completo)", - "button_include": "Incluir nota Enter" - }, - "info": { - "modalTitle": "Mensaje informativo", - "closeButton": "Cerrar", - "okButton": "Aceptar" - }, - "jump_to_note": { - "search_placeholder": "", - "close": "Cerrar", - "search_button": "Buscar en texto completo Ctrl+Enter" - }, - "markdown_import": { - "dialog_title": "Importación de Markdown", - "close": "Cerrar", - "modal_body_text": "Debido al entorno limitado del navegador, no es posible leer directamente el portapapeles desde JavaScript. Por favor, pegue el código Markdown para importar en el área de texto a continuación y haga clic en el botón Importar", - "import_button": "Importar Ctrl+Enter", - "import_success": "El contenido de Markdown se ha importado al documento." - }, - "move_to": { - "dialog_title": "Mover notas a...", - "close": "Cerrar", - "notes_to_move": "Notas a mover", - "target_parent_note": "Nota padre de destino", - "search_placeholder": "buscar nota por su nombre", - "move_button": "Mover a la nota seleccionada enter", - "error_no_path": "No hay ruta a donde mover.", - "move_success_message": "Las notas seleccionadas se han movido a " - }, - "note_type_chooser": { - "change_path_prompt": "Cambiar donde se creará la nueva nota:", - "search_placeholder": "ruta de búsqueda por nombre (por defecto si está vacío)", - "modal_title": "Elija el tipo de nota", - "close": "Cerrar", - "modal_body": "Elija el tipo de nota/plantilla de la nueva nota:", - "templates": "Plantillas:" - }, - "password_not_set": { - "title": "La contraseña no está establecida", - "close": "Cerrar", - "body1": "Las notas protegidas se cifran mediante una contraseña de usuario, pero la contraseña aún no se ha establecido.", - "body2": "Para poder proteger notas, dé clic aquí para abrir el diálogo de Opciones y establecer tu contraseña." - }, - "prompt": { - "title": "Aviso", - "close": "Cerrar", - "ok": "Aceptar enter", - "defaultTitle": "Aviso" - }, - "protected_session_password": { - "modal_title": "Sesión protegida", - "help_title": "Ayuda sobre notas protegidas", - "close_label": "Cerrar", - "form_label": "Para continuar con la acción solicitada, debe iniciar en la sesión protegida ingresando la contraseña:", - "start_button": "Iniciar sesión protegida entrar" - }, - "recent_changes": { - "title": "Cambios recientes", - "erase_notes_button": "Borrar notas eliminadas ahora", - "close": "Cerrar", - "deleted_notes_message": "Las notas eliminadas han sido borradas.", - "no_changes_message": "Aún no hay cambios...", - "undelete_link": "recuperar", - "confirm_undelete": "¿Quiere recuperar esta nota y sus subnotas?" - }, - "revisions": { - "note_revisions": "Revisiones de nota", - "delete_all_revisions": "Eliminar todas las revisiones de esta nota", - "delete_all_button": "Eliminar todas las revisiones", - "help_title": "Ayuda sobre revisiones de notas", - "close": "Cerrar", - "revision_last_edited": "Esta revisión se editó por última vez en {{date}}", - "confirm_delete_all": "¿Quiere eliminar todas las revisiones de esta nota?", - "no_revisions": "Aún no hay revisiones para esta nota...", - "restore_button": "Restaurar", - "confirm_restore": "¿Quiere restaurar esta revisión? Esto sobrescribirá el título actual y el contenido de la nota con esta revisión.", - "delete_button": "Eliminar", - "confirm_delete": "¿Quieres eliminar esta revisión?", - "revisions_deleted": "Se han eliminado las revisiones de nota.", - "revision_restored": "Se ha restaurado la revisión de nota.", - "revision_deleted": "Se ha eliminado la revisión de la nota.", - "snapshot_interval": "Intervalo de respaldo de revisiones de nota: {{seconds}}s.", - "maximum_revisions": "Máximo de revisiones para la nota actual: {{number}}.", - "settings": "Ajustes para revisiones de nota", - "download_button": "Descargar", - "mime": "MIME: ", - "file_size": "Tamaño del archivo:", - "preview": "Vista previa:", - "preview_not_available": "La vista previa no está disponible para este tipo de notas." - }, - "sort_child_notes": { - "sort_children_by": "Ordenar hijos por...", - "close": "Cerrar", - "sorting_criteria": "Criterios de ordenamiento", - "title": "título", - "date_created": "fecha de creación", - "date_modified": "fecha de modificación", - "sorting_direction": "Dirección de ordenamiento", - "ascending": "ascendente", - "descending": "descendente", - "folders": "Carpetas", - "sort_folders_at_top": "ordenar carpetas en la parte superior", - "natural_sort": "Ordenamiento natural", - "sort_with_respect_to_different_character_sorting": "ordenar con respecto a diferentes reglas de ordenamiento y clasificación de caracteres en diferentes idiomas o regiones.", - "natural_sort_language": "Idioma de clasificación natural", - "the_language_code_for_natural_sort": "El código del idioma para el ordenamiento natural, ej. \"zh-CN\" para Chino.", - "sort": "Ordenar Enter" - }, - "upload_attachments": { - "upload_attachments_to_note": "Cargar archivos adjuntos a nota", - "close": "Cerrar", - "choose_files": "Elija los archivos", - "files_will_be_uploaded": "Los archivos se cargarán como archivos adjuntos en", - "options": "Opciones", - "shrink_images": "Reducir imágenes", - "upload": "Subir", - "tooltip": "Si marca esta opción, Trilium intentará reducir las imágenes cargadas mediante escalado y optimización, lo que puede afectar la calidad de la imagen percibida. Si no está marcada, las imágenes se cargarán sin cambios." - }, - "attribute_detail": { - "attr_detail_title": "Título del detalle del atributo", - "close_button_title": "Cancelar cambios y cerrar", - "attr_is_owned_by": "El atributo es propiedad de", - "attr_name_title": "El nombre del atributo solo puede estar compuesto de caracteres alfanuméricos, dos puntos y guión bajo", - "name": "Nombre", - "value": "Valor", - "target_note_title": "La relación es una conexión con nombre entre la nota de origen y la nota de destino.", - "target_note": "Nota de destino", - "promoted_title": "El atributo promovido se muestra de forma destacada en la nota.", - "promoted": "Promovido", - "promoted_alias_title": "El nombre que se mostrará en la interfaz de usuario de atributos promovidos.", - "promoted_alias": "Alias", - "multiplicity_title": "La multiplicidad define cuántos atributos del mismo nombre se pueden crear - como máximo 1 o más de 1.", - "multiplicity": "Multiplicidad", - "single_value": "Valor único", - "multi_value": "Valor múltiple", - "label_type_title": "El tipo de etiqueta ayudará a Trilium a elegir la interfaz adecuada para ingresar el valor de la etiqueta.", - "label_type": "Tipo", - "text": "Texto", - "number": "Número", - "boolean": "Booleano", - "date": "Fecha", - "date_time": "Fecha y hora", - "time": "Hora", - "url": "URL", - "precision_title": "Cantidad de dígitos después del punto flotante que deben estar disponibles en la interfaz de configuración del valor.", - "precision": "Precisión", - "digits": "dígitos", - "inverse_relation_title": "Configuración opcional para definir a qué relación es ésta opuesta. Ejemplo: Padre - Hijo son relaciones inversas entre sí.", - "inverse_relation": "Relación inversa", - "inheritable_title": "El atributo heredable se heredará a todos los descendientes de este árbol.", - "inheritable": "Heredable", - "save_and_close": "Guardar y cerrar Ctrl+Enter", - "delete": "Eliminar", - "related_notes_title": "Otras notas con esta etiqueta", - "more_notes": "Más notas", - "label": "Detalle de etiqueta", - "label_definition": "Detalle de definición de etiqueta", - "relation": "Detalle de relación", - "relation_definition": "Detalle de definición de relación", - "disable_versioning": "deshabilita el control de versiones automático. Útil para, por ejemplo. notas grandes pero sin importancia, p. grandes bibliotecas JS utilizadas para secuencias de comandos (scripts)", - "calendar_root": "marca la nota que debe usarse como raíz para las notas del día. Sólo uno debe estar marcado como tal.", - "archived": "las notas con esta etiqueta no serán visibles de forma predeterminada en los resultados de búsqueda (tampoco en los cuadros de diálogo Saltar a, Agregar vínculo, etc.).", - "exclude_from_export": "las notas (con su subárbol) no se incluirán en ninguna exportación de notas", - "run": "define en qué eventos debe ejecutarse el script. Los valores posibles son:\n
    \n
  • frontendStartup - cuando el frontend de Trilium inicia (o es recargado), pero no en dispositivos móviles.
  • \n
  • backendStartup - cuando el backend de Trilium se inicia
  • \n
  • hourly - se ejecuta una vez cada hora. Puede usar etiqueta adicional runAtHour para especificar a la hora.
  • \n
  • daily - ejecutar una vez al día
  • \n
", - "run_on_instance": "Definir en qué instancia de Trilium se debe ejecutar esto. Predeterminado para todas las instancias.", - "run_at_hour": "¿A qué hora debería funcionar? Debe usarse junto con #run=hourly. Se puede definir varias veces para varias ejecuciones durante el día.", - "disable_inclusion": "los scripts con esta etiqueta no se incluirán en la ejecución del script principal.", - "sorted": "mantiene las subnotas ordenadas alfabéticamente por título", - "sort_direction": "ASC (el valor predeterminado) o DESC", - "sort_folders_first": "Las carpetas (notas con subnotas) deben ordenarse en la parte superior", - "top": "mantener la nota dada en la parte superior de su padre (se aplica solo en padres ordenados)", - "hide_promoted_attributes": "Ocultar atributos promovidos en esta nota", - "read_only": "el editor está en modo de sólo lectura. Funciona sólo para notas de texto y código.", - "auto_read_only_disabled": "las notas de texto/código se pueden configurar automáticamente en modo lectura cuando son muy grandes. Puede desactivar este comportamiento por nota agregando esta etiqueta a la nota", - "app_css": "marca notas CSS que se cargan en la aplicación Trilium y, por lo tanto, se pueden usar para modificar la apariencia de Trilium.", - "app_theme": "marca notas CSS que son temas completos de Trilium y, por lo tanto, están disponibles en las opciones de Trilium.", - "app_theme_base": "establecer a \"siguiente\" para utilizar el tema TriliumNext como base para un tema personalizado en lugar del tema anterior.", - "css_class": "el valor de esta etiqueta se agrega como clase CSS al nodo que representa la nota dada en el árbol. Esto puede resultar útil para temas avanzados. Se puede utilizar en notas de plantilla.", - "icon_class": "el valor de esta etiqueta se agrega como una clase CSS al icono en el árbol, lo que puede ayudar a distinguir visualmente las notas en el árbol. El ejemplo podría ser bx bx-home: los iconos se toman de boxicons. Se puede utilizar en notas de plantilla.", - "page_size": "número de elementos por página en el listado de notas", - "custom_request_handler": "véa Manejador de solicitudes personalizado", - "custom_resource_provider": "véa Manejador de solicitudes personalizado", - "widget": "marca esta nota como un widget personalizado que se agregará al árbol de componentes de Trilium", - "workspace": "marca esta nota como un espacio de trabajo que permite un fácil levantamiento", - "workspace_icon_class": "define la clase CSS del icono de cuadro que se usará en la pestaña cuando se levante a esta nota", - "workspace_tab_background_color": "color CSS utilizado en la pestaña de nota cuando se ancla a esta nota", - "workspace_calendar_root": "Define la raíz del calendario por cada espacio de trabajo", - "workspace_template": "Esta nota aparecerá en la selección de plantillas disponibles al crear una nueva nota, pero solo cuando se levante a un espacio de trabajo que contenga esta plantilla", - "search_home": "se crearán nuevas notas de búsqueda como subnotas de esta nota", - "workspace_search_home": "se crearán nuevas notas de búsqueda como subnotas de esta nota cuando se anclan a algún antecesor de esta nota del espacio de trabajo", - "inbox": "ubicación predeterminada de la bandeja de entrada para nuevas notas - cuando crea una nota usando el botón \"nueva nota\" en la barra lateral, las notas serán creadas como subnotas de la nota marcada con la etiqueta #inbox.", - "workspace_inbox": "ubicación predeterminada de la bandeja de entrada para nuevas notas cuando se anclan a algún antecesor de esta nota del espacio de trabajo", - "sql_console_home": "ubicación predeterminada de las notas de la consola SQL", - "bookmark_folder": "la nota con esta etiqueta aparecerá en los marcadores como carpeta (permitiendo el acceso a sus elementos hijos).", - "share_hidden_from_tree": "esta nota está oculta en el árbol de navegación izquierdo, pero aún se puede acceder a ella con su URL", - "share_external_link": "la nota actuará como un enlace a un sitio web externo en el árbol compartido", - "share_alias": "define un alias que al usar la nota va a estar disponible en https://your_trilium_host/share/[tu_alias]", - "share_omit_default_css": "se omitirá el CSS de la página para compartir predeterminada. Úselo cuando realice cambios importantes de estilo.", - "share_root": "marca la nota que se publica en /share root.", - "share_description": "definir el texto que se agregará a la etiqueta HTML meta para la descripción", - "share_raw": "la nota se entregará en su formato original, sin contenedor HTML", - "share_disallow_robot_indexing": "prohibirá la indexación por robots de esta nota a través del encabezado X-Robots-Tag: noindex", - "share_credentials": "requiere credenciales para acceder a esta nota compartida. Se espera que el valor tenga el formato 'nombre_de_usuario:contraseña'. No olvide hacer que esto sea heredable para aplicarlo a notas/imágenes hijo.", - "share_index": "tenga en cuenta que con esto esta etiqueta enumerará todas las raíces de las notas compartidas", - "display_relations": "nombres de relaciones delimitados por comas que deben mostrarse. Todos los demás estarán ocultos.", - "hide_relations": "nombres de relaciones delimitados por comas que deben ocultarse. Se mostrarán todos los demás.", - "title_template": "título por defecto de notas creadas como subnota de esta nota. El valor es evaluado como una cadena de JavaScript \n y por lo tanto puede ser enriquecida con contenido dinámico vía las variables inyectadas now y parentNote. Ejemplos:\n \n
    \n
  • trabajos literarios de ${parentNote.getLabelValue('authorName')}
  • \n
  • Registro para ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n Consulte la wiki para obtener más detalles, documentación de la API para parentNote y now para más detalles.", - "template": "Esta nota aparecerá en la selección de plantillas disponibles al crear una nueva nota", - "toc": "#toc o #toc=show forzará que se muestre la tabla de contenido, #toc=hide forzará a ocultarla. Si la etiqueta no existe, se observa la configuración global", - "color": "define el color de la nota en el árbol de notas, enlaces, etc. Utilice cualquier valor de color CSS válido como 'red' o #a13d5f", - "keyboard_shortcut": "Define un atajo de teclado que saltará inmediatamente a esta nota. Ejemplo: 'ctrl+alt+e'. Es necesario recargar la interfaz para que el cambio surta efecto.", - "keep_current_hoisting": "Abrir este enlace no cambiará el anclaje incluso si la nota no se puede mostrar en el subárbol anclado actualmente.", - "execute_button": "Título del botón que ejecutará la nota de código actual", - "execute_description": "Descripción más larga de la nota de código actual que se muestra junto con el botón de ejecución", - "exclude_from_note_map": "Las notas con esta etiqueta se ocultarán del Mapa de notas", - "new_notes_on_top": "Las notas nuevas se crearán en la parte superior de la nota principal, no en la parte inferior.", - "hide_highlight_widget": "Ocultar widget de lista destacada", - "run_on_note_creation": "se ejecuta cuando se crea la nota en el backend. Utilice esta relación si desea ejecutar el script para todas las notas creadas en un subárbol específico. En ese caso, créela en la nota raíz del subárbol y hágala heredable. Una nueva nota creada dentro del subárbol (cualquier profundidad) activará el script.", - "run_on_child_note_creation": "se ejecuta cuando se crea una nueva nota bajo la nota donde se define esta relación", - "run_on_note_title_change": "se ejecuta cuando se cambia el título de la nota (también incluye la creación de notas)", - "run_on_note_content_change": "se ejecuta cuando se cambia el contenido de la nota (también incluye la creación de notas).", - "run_on_note_change": "se ejecuta cuando se cambia la nota (incluye también la creación de notas). No incluye cambios de contenido", - "run_on_note_deletion": "se ejecuta cuando se elimina la nota", - "run_on_branch_creation": "se ejecuta cuando se crea una rama. Una rama es un vínculo entre la nota principal y la nota secundaria y se crea, por ejemplo, al clonar o mover una nota.", - "run_on_branch_change": "se ejecuta cuando se actualiza una rama.", - "run_on_branch_deletion": "se ejecuta cuando se elimina una rama. Una rama es un vínculo entre la nota principal y la nota secundaria y se elimina, por ejemplo, al mover la nota (se elimina la rama/enlace antiguo).", - "run_on_attribute_creation": "se ejecuta cuando se crea un nuevo atributo para la nota que define esta relación", - "run_on_attribute_change": " se ejecuta cuando se cambia el atributo de una nota que define esta relación. Esto también se activa cuando se elimina el atributo", - "relation_template": "los atributos de la nota se heredarán incluso sin una relación padre-hijo, el contenido y el subárbol de la nota se agregarán a las notas de instancia si están vacíos. Consulte la documentación para obtener más detalles.", - "inherit": "los atributos de la nota se heredarán incluso sin una relación padre-hijo. Consulte la relación de plantilla para conocer un concepto similar. Consulte herencia de atributos en la documentación.", - "render_note": "notas de tipo \"render HTML note\" serán renderizadas usando una nota de código (HTML o script) y es necesario apuntar usando esta relación con la nota que debe de ser renderizada", - "widget_relation": "el objetivo de esta relación se ejecutará y representará como un widget en la barra lateral", - "share_css": "Nota CSS que se inyectará en la página para compartir. La nota CSS también debe estar en el subárbol compartido. Considere usar también 'share_hidden_from_tree' y 'share_omit_default_css'.", - "share_js": "Nota de JavaScript que se inyectará en la página para compartir. La nota JS también debe estar en el subárbol compartido. Considere usar 'share_hidden_from_tree'.", - "share_template": "Nota de JavaScript integrada que se utilizará como plantilla para mostrar la nota compartida. Su no existe se usa la plantilla predeterminada. Considere usar 'share_hidden_from_tree'.", - "share_favicon": "La nota de favicon se configurará en la página compartida. Por lo general, se desea configurarlo para que comparta la raíz y lo haga heredable. La nota de Favicon también debe estar en el subárbol compartido. Considere usar 'share_hidden_from_tree'.", - "is_owned_by_note": "es propiedad de una nota", - "other_notes_with_name": "Otras notas con nombre de {{attributeType}} \"{{attributeName}}\"", - "and_more": "... y {{count}} más.", - "print_landscape": "Al exportar a PDF, cambia la orientación de la página a paisaje en lugar de retrato.", - "print_page_size": "Al exportar a PDF, cambia el tamaño de la página. Valores soportados: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." - }, - "attribute_editor": { - "help_text_body1": "Para agregar una etiqueta, simplemente escriba, por ejemplo. #rock o si desea agregar también valor, p.e. #año = 2020", - "help_text_body2": "Para relación, escriba ~author = @, lo que debería abrir un autocompletado donde podrá buscar la nota deseada.", - "help_text_body3": "Alternativamente, puede agregar una etiqueta y una relación usando el botón + en el lado derecho.", - "save_attributes": "Guardar atributos ", - "add_a_new_attribute": "Agregar un nuevo atributo", - "add_new_label": "Agregar nueva etiqueta ", - "add_new_relation": "Agregar nueva relación ", - "add_new_label_definition": "Agregar nueva definición de etiqueta", - "add_new_relation_definition": "Agregar nueva definición de relación", - "placeholder": "Ingrese las etiquetas y relaciones aquí" - }, - "abstract_bulk_action": { - "remove_this_search_action": "Eliminar esta acción de búsqueda" - }, - "execute_script": { - "execute_script": "Ejecutar script", - "help_text": "Puede ejecutar scripts simples en las notas coincidentes.", - "example_1": "Por ejemplo, para agregar una cadena al título de una nota, use este pequeño script:", - "example_2": "Un ejemplo más complejo sería eliminar todos los atributos de las notas coincidentes:" - }, - "add_label": { - "add_label": "Agregar etiqueta", - "label_name_placeholder": "nombre de la etiqueta", - "label_name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", - "to_value": "a valor", - "new_value_placeholder": "nuevo valor", - "help_text": "Sobre todas las notas coincidentes:", - "help_text_item1": "crear una etiqueta dada si la nota aún no tiene una", - "help_text_item2": "o cambiar el valor de la etiqueta existente", - "help_text_note": "También puede llamar a este método sin valor, en tal caso se asignará una etiqueta a la nota sin valor." - }, - "delete_label": { - "delete_label": "Eliminar etiqueta", - "label_name_placeholder": "nombre de la etiqueta", - "label_name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." - }, - "rename_label": { - "rename_label": "Renombrar etiqueta", - "rename_label_from": "Renombrar etiqueta de", - "old_name_placeholder": "antiguo nombre", - "to": "A", - "new_name_placeholder": "nuevo nombre", - "name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." - }, - "update_label_value": { - "update_label_value": "Actualizar valor de etiqueta", - "label_name_placeholder": "nombre de la etiqueta", - "label_name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", - "to_value": "a valor", - "new_value_placeholder": "nuevo valor", - "help_text": "En todas las notas coincidentes, cambie el valor de la etiqueta existente.", - "help_text_note": "También puede llamar a este método sin valor, en tal caso se asignará una etiqueta a la nota sin valor." - }, - "delete_note": { - "delete_note": "Eliminar nota", - "delete_matched_notes": "Eliminar notas coincidentes", - "delete_matched_notes_description": "Esto eliminará las notas coincidentes.", - "undelete_notes_instruction": "Después de la eliminación, es posible recuperarlos desde el cuadro de diálogo Cambios recientes.", - "erase_notes_instruction": "Para eliminar las notas permanentemente, puede ir después de la eliminación a Opción -> Otro y dar clic en el botón \"Borrar notas eliminadas ahora\"." - }, - "delete_revisions": { - "delete_note_revisions": "Eliminar revisiones de notas", - "all_past_note_revisions": "Se eliminarán todas las revisiones anteriores de notas coincidentes. La nota en sí se conservará por completo. En otros términos, se eliminará el historial de la nota." - }, - "move_note": { - "move_note": "Mover nota", - "to": "a", - "target_parent_note": "nota padre objetivo", - "on_all_matched_notes": "En todas las notas coincidentes", - "move_note_new_parent": "mover nota al nuevo padre si la nota solo tiene un padre (es decir, la rama anterior es eliminada y una nueva rama es creada en el nuevo padre)", - "clone_note_new_parent": "clonar la nota al nuevo padre si la nota tiene múltiples clones/ramas (no es claro que rama debe de ser eliminada)", - "nothing_will_happen": "no pasará nada si la nota no se puede mover a la nota de destino (es decir, esto crearía un ciclo de árbol)" - }, - "rename_note": { - "rename_note": "Renombrar nota", - "rename_note_title_to": "Renombrar título de la nota a", - "new_note_title": "nuevo título de nota", - "click_help_icon": "Haga clic en el icono de ayuda a la derecha para ver todas las opciones", - "evaluated_as_js_string": "El valor dado se evalúa como una cadena de JavaScript y, por lo tanto, se puede enriquecer con contenido dinámico a través de la variable note inyectada (se cambia el nombre de la nota). Ejemplos:", - "example_note": "Nota: todas las notas coincidentes son renombradas a 'Nota'", - "example_new_title": "NUEVO: ${note.title} - los títulos de las notas coincidentes tienen el prefijo 'NUEVO: '", - "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - las notas coincidentes tienen el prefijo fecha-mes de creación de la nota", - "api_docs": "Consulte los documentos de API para nota y su propiedades dateCreatedObj/utcDateCreatedObj para obtener más detalles." - }, - "add_relation": { - "add_relation": "Agregar relación", - "relation_name": "nombre de relación", - "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", - "to": "a", - "target_note": "nota de destino", - "create_relation_on_all_matched_notes": "En todas las notas coincidentes, cree una relación determinada." - }, - "delete_relation": { - "delete_relation": "Eliminar relación", - "relation_name": "nombre de relación", - "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." - }, - "rename_relation": { - "rename_relation": "Renombrar relación", - "rename_relation_from": "Renombrar relación de", - "old_name": "antiguo nombre", - "to": "A", - "new_name": "nuevo nombre", - "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." - }, - "update_relation_target": { - "update_relation": "Relación de actualización", - "relation_name": "nombre de la relación", - "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", - "to": "a", - "target_note": "nota de destino", - "on_all_matched_notes": "En todas las notas coincidentes", - "change_target_note": "o cambiar la nota de destino de la relación existente", - "update_relation_target": "Actualizar destino de relación" - }, - "attachments_actions": { - "open_externally": "Abrir externamente", - "open_externally_title": "El archivo se abrirá en una aplicación externa y se observará en busca de cambios. Luego podrá volver a cargar la versión modificada en Trilium.", - "open_custom": "Abrir de forma personalizada", - "open_custom_title": "El archivo se abrirá en una aplicación externa y se observará en busca de cambios. Luego podrá volver a cargar la versión modificada en Trilium.", - "download": "Descargar", - "rename_attachment": "Renombrar archivo adjunto", - "upload_new_revision": "Subir nueva revisión", - "copy_link_to_clipboard": "Copiar enlace al portapapeles", - "convert_attachment_into_note": "Convertir archivo adjunto en nota", - "delete_attachment": "Eliminar archivo adjunto", - "upload_success": "Se ha subido una nueva revisión del archivo adjunto.", - "upload_failed": "Error al cargar una nueva revisión del archivo adjunto.", - "open_externally_detail_page": "Abrir un archivo adjunto externamente solo está disponible desde la página de detalles; primero haga clic en el detalle del archivo adjunto y repita la acción.", - "open_custom_client_only": "La apertura personalizada de archivos adjuntos solo se puede realizar desde el cliente.", - "delete_confirm": "¿Está seguro de que desea eliminar el archivo adjunto '{{title}}'?", - "delete_success": "El archivo adjunto '{{title}}' ha sido eliminado.", - "convert_confirm": "¿Está seguro de que desea convertir el archivo adjunto '{{title}}' en una nota separada?", - "convert_success": "El archivo adjunto '{{title}}' se ha convertido en una nota.", - "enter_new_name": "Por favor ingresa el nombre del nuevo archivo adjunto" - }, - "calendar": { - "mon": "Lun", - "tue": "Mar", - "wed": "Mié", - "thu": "Jue", - "fri": "Vie", - "sat": "Sáb", - "sun": "Dom", - "cannot_find_day_note": "No se puede encontrar la nota del día", - "cannot_find_week_note": "No se puede encontrar la nota de la semana", - "january": "Enero", - "febuary": "Febrero", - "march": "Marzo", - "april": "Abril", - "may": "Mayo", - "june": "Junio", - "july": "Julio", - "august": "Agosto", - "september": "Septiembre", - "october": "Octubre", - "november": "Noviembre", - "december": "Diciembre" - }, - "close_pane_button": { - "close_this_pane": "Cerrar este panel" - }, - "create_pane_button": { - "create_new_split": "Crear nueva división" - }, - "edit_button": { - "edit_this_note": "Editar esta nota" - }, - "show_toc_widget_button": { - "show_toc": "Mostrar tabla de contenido" - }, - "show_highlights_list_widget_button": { - "show_highlights_list": "Mostrar lista de destacados" - }, - "global_menu": { - "menu": "Menú", - "options": "Opciones", - "open_new_window": "Abrir nueva ventana", - "switch_to_mobile_version": "Cambiar a la versión móvil", - "switch_to_desktop_version": "Cambiar a la versión de escritorio", - "zoom": "Zoom", - "toggle_fullscreen": "Alternar pantalla completa", - "zoom_out": "Alejar", - "reset_zoom_level": "Restablecer nivel de zoom", - "zoom_in": "Acercar", - "configure_launchbar": "Configurar la barra de inicio", - "show_shared_notes_subtree": "Mostrar subárbol de notas compartidas", - "advanced": "Avanzado", - "open_dev_tools": "Abrir herramientas de desarrollo", - "open_sql_console": "Abrir la consola SQL", - "open_sql_console_history": "Abrir el historial de la consola SQL", - "open_search_history": "Abrir historial de búsqueda", - "show_backend_log": "Mostrar registro de backend", - "reload_hint": "Recargar puede ayudar con algunos fallos visuales sin reiniciar toda la aplicación.", - "reload_frontend": "Recargar interfaz", - "show_hidden_subtree": "Mostrar subárbol oculto", - "show_help": "Mostrar ayuda", - "about": "Acerca de Trilium Notes", - "logout": "Cerrar sesión", - "show-cheatsheet": "Mostrar hoja de trucos", - "toggle-zen-mode": "Modo Zen" - }, - "zen_mode": { - "button_exit": "Salir del modo Zen" - }, - "sync_status": { - "unknown": "

El estado de sincronización será conocido una vez que el siguiente intento de sincronización comience.

Dé clic para activar la sincronización ahora

", - "connected_with_changes": "

Conectado al servidor de sincronización.
Hay cambios pendientes que aún no se han sincronizado.

Dé clic para activar la sincronización.

", - "connected_no_changes": "

Conectado al servidor de sincronización.
Todos los cambios ya han sido sincronizados.

Dé clic para activar la sincronización.

", - "disconnected_with_changes": "

El establecimiento de la conexión con el servidor de sincronización no ha tenido éxito.
Hay algunos cambios pendientes que aún no se han sincronizado.

Dé clic para activar la sincronización.

", - "disconnected_no_changes": "

El establecimiento de la conexión con el servidor de sincronización no ha tenido éxito.
Todos los cambios conocidos han sido sincronizados.

Dé clic para activar la sincronización.

", - "in_progress": "La sincronización con el servidor está en progreso." - }, - "left_pane_toggle": { - "show_panel": "Mostrar panel", - "hide_panel": "Ocultar panel" - }, - "move_pane_button": { - "move_left": "Mover a la izquierda", - "move_right": "Mover a la derecha" - }, - "note_actions": { - "convert_into_attachment": "Convertir en archivo adjunto", - "re_render_note": "Volver a renderizar nota", - "search_in_note": "Buscar en nota", - "note_source": "Fuente de la nota", - "note_attachments": "Notas adjuntas", - "open_note_externally": "Abrir nota externamente", - "open_note_externally_title": "El archivo se abrirá en una aplicación externa y se observará en busca de cambios. Luego podrá volver a cargar la versión modificada en Trilium.", - "open_note_custom": "Abrir nota personalizada", - "import_files": "Importar archivos", - "export_note": "Exportar nota", - "delete_note": "Eliminar nota", - "print_note": "Imprimir nota", - "save_revision": "Guardar revisión", - "convert_into_attachment_failed": "La conversión de nota '{{title}}' falló.", - "convert_into_attachment_successful": "La nota '{{title}}' ha sido convertida a un archivo adjunto.", - "convert_into_attachment_prompt": "¿Está seguro que desea convertir la nota '{{title}}' en un archivo adjunto de la nota padre?", - "print_pdf": "Exportar como PDF..." - }, - "onclick_button": { - "no_click_handler": "El widget de botón '{{componentId}}' no tiene un controlador de clics definido" - }, - "protected_session_status": { - "active": "La sesión protegida está activa. Dé clic para salir de la sesión protegida.", - "inactive": "Dé clic para ingresar a la sesión protegida" - }, - "revisions_button": { - "note_revisions": "Revisiones de nota" - }, - "update_available": { - "update_available": "Actualización disponible" - }, - "note_launcher": { - "this_launcher_doesnt_define_target_note": "Este lanzador no define la nota de destino." - }, - "code_buttons": { - "execute_button_title": "Ejecutar script", - "trilium_api_docs_button_title": "Abrir documentación de la API de Trilium", - "save_to_note_button_title": "Guardar en nota", - "opening_api_docs_message": "Abriendo documentación API...", - "sql_console_saved_message": "La nota de la consola SQL se ha guardado en {{note_path}}" - }, - "copy_image_reference_button": { - "button_title": "Copiar la referencia de la imagen al portapapeles; se puede pegar en una nota de texto." - }, - "hide_floating_buttons_button": { - "button_title": "Ocultar botones" - }, - "show_floating_buttons_button": { - "button_title": "Mostrar botones" - }, - "svg_export_button": { - "button_title": "Exportar diagrama como SVG" - }, - "relation_map_buttons": { - "create_child_note_title": "Crear una nueva subnota y agregarla a este mapa de relaciones", - "reset_pan_zoom_title": "Restablecer la panorámica y el zoom a las coordenadas y ampliación iniciales", - "zoom_in_title": "Acercar", - "zoom_out_title": "Alejar" - }, - "zpetne_odkazy": { - "backlink": "{{count}} Vínculo de retroceso", - "backlinks": "{{count}} vínculos de retroceso", - "relation": "relación" - }, - "mobile_detail_menu": { - "insert_child_note": "Insertar subnota", - "delete_this_note": "Eliminar esta nota", - "error_cannot_get_branch_id": "No se puede obtener el branchID del notePath '{{notePath}}'", - "error_unrecognized_command": "Comando no reconocido {{command}}" - }, - "note_icon": { - "change_note_icon": "Cambiar icono de nota", - "category": "Categoría:", - "search": "Búsqueda:", - "reset-default": "Restablecer a icono por defecto" - }, - "basic_properties": { - "note_type": "Tipo de nota", - "editable": "Editable", - "basic_properties": "Propiedades básicas", - "language": "Idioma" - }, - "book_properties": { - "view_type": "Tipo de vista", - "grid": "Cuadrícula", - "list": "Lista", - "collapse_all_notes": "Contraer todas las notas", - "expand_all_children": "Ampliar todas las subnotas", - "collapse": "Colapsar", - "expand": "Expandir", - "book_properties": "", - "invalid_view_type": "Tipo de vista inválida '{{type}}'", - "calendar": "Calendario" - }, - "edited_notes": { - "no_edited_notes_found": "Aún no hay notas editadas en este día...", - "title": "Notas editadas", - "deleted": "(eliminado)" - }, - "file_properties": { - "note_id": "ID de nota", - "original_file_name": "Nombre del archivo original", - "file_type": "Tipo de archivo", - "file_size": "Tamaño del archivo", - "download": "Descargar", - "open": "Abrir", - "upload_new_revision": "Subir nueva revisión", - "upload_success": "Se ha subido una nueva revisión de archivo.", - "upload_failed": "Error al cargar una nueva revisión de archivo.", - "title": "Archivo" - }, - "image_properties": { - "original_file_name": "Nombre del archivo original", - "file_type": "Tipo de archivo", - "file_size": "Tamaño del archivo", - "download": "Descargar", - "open": "Abrir", - "copy_reference_to_clipboard": "Copiar referencia al portapapeles", - "upload_new_revision": "Subir nueva revisión", - "upload_success": "Se ha subido una nueva revisión de imagen.", - "upload_failed": "Error al cargar una nueva revisión de imagen: {{message}}", - "title": "Imagen" - }, - "inherited_attribute_list": { - "title": "Atributos heredados", - "no_inherited_attributes": "Sin atributos heredados." - }, - "note_info_widget": { - "note_id": "ID de nota", - "created": "Creado", - "modified": "Modificado", - "type": "Tipo", - "note_size": "Tamaño de nota", - "note_size_info": "El tamaño de la nota proporciona una estimación aproximada de los requisitos de almacenamiento para esta nota. Toma en cuenta el contenido de la nota y el contenido de sus revisiones de nota.", - "calculate": "calcular", - "subtree_size": "(tamaño del subárbol: {{size}} en {{count}} notas)", - "title": "Información de nota" - }, - "note_map": { - "open_full": "Ampliar al máximo", - "collapse": "Contraer al tamaño normal", - "title": "Mapa de notas", - "fix-nodes": "Fijar nodos", - "link-distance": "Distancia de enlace" - }, - "note_paths": { - "title": "Rutas de nota", - "clone_button": "Clonar nota a nueva ubicación...", - "intro_placed": "Esta nota está colocada en las siguientes rutas:", - "intro_not_placed": "Esta nota aún no se ha colocado en el árbol de notas.", - "outside_hoisted": "Esta ruta está fuera de la nota anclada y habría que bajarla.", - "archived": "Archivado", - "search": "Buscar" - }, - "note_properties": { - "this_note_was_originally_taken_from": "Esta nota fue tomada originalmente de:", - "info": "Información" - }, - "owned_attribute_list": { - "owned_attributes": "Atributos propios" - }, - "promoted_attributes": { - "promoted_attributes": "Atributos promovidos", - "unset-field-placeholder": "no establecido", - "url_placeholder": "http://sitioweb...", - "open_external_link": "Abrir enlace externo", - "unknown_label_type": "Tipo de etiqueta desconocido '{{type}}'", - "unknown_attribute_type": "Tipo de atributo desconocido '{{type}}'", - "add_new_attribute": "Agregar nuevo atributo", - "remove_this_attribute": "Eliminar este atributo" - }, - "script_executor": { - "query": "Consulta", - "script": "Script", - "execute_query": "Ejecutar consulta", - "execute_script": "Ejecutar script" - }, - "search_definition": { - "add_search_option": "Agregar opción de búsqueda:", - "search_string": "cadena de búsqueda", - "search_script": "script de búsqueda", - "ancestor": "antepasado", - "fast_search": "búsqueda rápida", - "fast_search_description": "La opción de búsqueda rápida desactiva la búsqueda de texto completo del contenido de las notas, lo que podría acelerar la búsqueda en bases de datos grandes.", - "include_archived": "incluir notas archivadas", - "include_archived_notes_description": "Las notas archivadas se excluyen por defecto de los resultados de búsqueda; con esta opción se incluirán.", - "order_by": "ordenar por", - "limit": "límite", - "limit_description": "Limitar el número de resultados", - "debug": "depurar", - "debug_description": "La depuración imprimirá información de depuración adicional en la consola para ayudar a depurar consultas complejas", - "action": "acción", - "search_button": "Buscar Enter", - "search_execute": "Buscar y ejecutar acciones", - "save_to_note": "Guardar en nota", - "search_parameters": "Parámetros de búsqueda", - "unknown_search_option": "Opción de búsqueda desconocida {{searchOptionName}}", - "search_note_saved": "La nota de búsqueda se ha guardado en {{- notePathTitle}}", - "actions_executed": "Las acciones han sido ejecutadas." - }, - "similar_notes": { - "title": "Notas similares", - "no_similar_notes_found": "No se encontraron notas similares." - }, - "abstract_search_option": { - "remove_this_search_option": "Eliminar esta opción de búsqueda", - "failed_rendering": "Error al renderizar opción de búsqueda: {{dto}} con error: {{error}} {{stack}}" - }, - "ancestor": { - "label": "Antepasado", - "placeholder": "buscar nota por su nombre", - "depth_label": "profundidad", - "depth_doesnt_matter": "no importa", - "depth_eq": "es exactamente {{count}}", - "direct_children": "hijos directos", - "depth_gt": "es mayor que {{count}}", - "depth_lt": "es menor que {{count}}" - }, - "debug": { - "debug": "Depurar", - "debug_info": "Al depurar se imprimirá información de depuración adicional en la consola para ayudar a depurar consultas complejas.", - "access_info": "Para acceder a la información de depuración, ejecute la consulta y dé clic en \"Mostrar registro de backend\" en la esquina superior izquierda." - }, - "fast_search": { - "fast_search": "Búsqueda rápida", - "description": "La opción de búsqueda rápida desactiva la búsqueda de texto completo del contenido de las notas, lo que podría acelerar la búsqueda en bases de datos grandes." - }, - "include_archived_notes": { - "include_archived_notes": "Incluir notas archivadas" - }, - "limit": { - "limit": "Límite", - "take_first_x_results": "Tomar solo los primeros X resultados especificados." - }, - "order_by": { - "order_by": "Ordenar por", - "relevancy": "Relevancia (predeterminado)", - "title": "Título", - "date_created": "Fecha de creación", - "date_modified": "Fecha de la última modificación", - "content_size": "Tamaño del contenido de la nota", - "content_and_attachments_size": "Tenga en cuenta el tamaño del contenido, incluidos los archivos adjuntos", - "content_and_attachments_and_revisions_size": "Tenga en cuenta el tamaño del contenido, incluidos los archivos adjuntos y las revisiones", - "revision_count": "Número de revisiones", - "children_count": "Número de subnotas", - "parent_count": "Número de clones", - "owned_label_count": "Número de etiquetas", - "owned_relation_count": "Número de relaciones", - "target_relation_count": "Número de relaciones dirigidas a la nota", - "random": "Orden aleatorio", - "asc": "Ascendente (predeterminado)", - "desc": "Descendente" - }, - "search_script": { - "title": "Script de búsqueda:", - "placeholder": "buscar nota por su nombre", - "description1": "El script de búsqueda permite definir los resultados de la búsqueda ejecutando un script. Esto proporciona la máxima flexibilidad cuando la búsqueda estándar no es suficiente.", - "description2": "El script de búsqueda debe ser de tipo \"código\" y subtipo \"JavaScript backend\". El script tiene que devolver un arreglo de noteIds o notas.", - "example_title": "Véa este ejemplo:", - "example_code": "// 1. prefiltro usando búsqueda estandar\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. aplicar criterios de búsqueda personalizada\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", - "note": "Tenga en cuenta que el script de búsqueda y la cadena de búsqueda no se pueden combinar entre sí." - }, - "search_string": { - "title_column": "Cadena de búsqueda:", - "placeholder": "palabras clave de texto completo, #etiqueta = valor...", - "search_syntax": "Sintaxis de búsqueda", - "also_see": "ver también", - "complete_help": "ayuda completa sobre la sintaxis de búsqueda", - "full_text_search": "Simplemente ingrese cualquier texto para realizar una búsqueda de texto completo", - "label_abc": "devuelve notas con etiqueta abc", - "label_year": "coincide con las notas con el año de la etiqueta que tiene valor 2019", - "label_rock_pop": "coincide con notas que tienen etiquetas tanto de rock como de pop", - "label_rock_or_pop": "sólo una de las etiquetas debe estar presente", - "label_year_comparison": "comparación numérica (también >, >=, <).", - "label_date_created": "notas creadas en el último mes", - "error": "Error de búsqueda: {{error}}", - "search_prefix": "Buscar:" - }, - "attachment_detail": { - "open_help_page": "Abrir página de ayuda en archivos adjuntos", - "owning_note": "Nota dueña: ", - "you_can_also_open": ", también puede abrir el ", - "list_of_all_attachments": "Lista de todos los archivos adjuntos", - "attachment_deleted": "Este archivo adjunto ha sido eliminado." - }, - "attachment_list": { - "open_help_page": "Abrir página de ayuda en archivos adjuntos", - "owning_note": "Nota dueña: ", - "upload_attachments": "Subir archivos adjuntos", - "no_attachments": "Esta nota no tiene archivos adjuntos." - }, - "book": { - "no_children_help": "Esta nota de tipo libro no tiene ninguna subnota así que no hay nada que mostrar. Véa la wiki para más detalles." - }, - "editable_code": { - "placeholder": "Escriba el contenido de su nota de código aquí..." - }, - "editable_text": { - "placeholder": "Escribe aquí el contenido de tu nota..." - }, - "empty": { - "open_note_instruction": "Abra una nota escribiendo el título de la nota en la entrada a continuación o elija una nota en el árbol.", - "search_placeholder": "buscar una nota por su nombre", - "enter_workspace": "Ingresar al espacio de trabajo {{title}}" - }, - "file": { - "file_preview_not_available": "La vista previa del archivo no está disponible para este formato de archivo.", - "too_big": "La vista previa solo muestra los primeros {{maxNumChars}} caracteres del archivo por razones de rendimiento. Descargue el archivo y ábralo externamente para poder ver todo el contenido." - }, - "protected_session": { - "enter_password_instruction": "Para mostrar una nota protegida es necesario ingresar su contraseña:", - "start_session_button": "Iniciar sesión protegida Enter", - "started": "La sesión protegida ha iniciado.", - "wrong_password": "Contraseña incorrecta.", - "protecting-finished-successfully": "La protección finalizó exitosamente.", - "unprotecting-finished-successfully": "La desprotección finalizó exitosamente.", - "protecting-in-progress": "Protección en progreso: {{count}}", - "unprotecting-in-progress-count": "Desprotección en progreso: {{count}}", - "protecting-title": "Estado de protección", - "unprotecting-title": "Estado de desprotección" - }, - "relation_map": { - "open_in_new_tab": "Abrir en nueva pestaña", - "remove_note": "Quitar nota", - "edit_title": "Editar título", - "rename_note": "Cambiar nombre de nota", - "enter_new_title": "Ingrese el nuevo título de la nota:", - "remove_relation": "Eliminar relación", - "confirm_remove_relation": "¿Estás seguro de que deseas eliminar la relación?", - "specify_new_relation_name": "Especifique el nuevo nombre de la relación (caracteres permitidos: alfanuméricos, dos puntos y guión bajo):", - "connection_exists": "La conexión '{{name}}' entre estas notas ya existe.", - "start_dragging_relations": "Empiece a arrastrar relaciones desde aquí y suéltelas en otra nota.", - "note_not_found": "¡Nota {{noteId}} no encontrada!", - "cannot_match_transform": "No se puede coincidir con la transformación: {{transform}}", - "note_already_in_diagram": "Note \"{{title}}\" is already in the diagram.", - "enter_title_of_new_note": "Ingrese el título de la nueva nota", - "default_new_note_title": "nueva nota", - "click_on_canvas_to_place_new_note": "Haga clic en el lienzo para colocar una nueva nota" - }, - "render": { - "note_detail_render_help_1": "Esta nota de ayuda se muestra porque esta nota de tipo Renderizar HTML no tiene la relación requerida para funcionar correctamente.", - "note_detail_render_help_2": "El tipo de nota Render HTML es usado para scripting. De forma resumida, tiene una nota con código HTML (opcionalmente con algo de JavaScript) y esta nota la renderizará. Para que funcione, es necesario definir una relación llamada \"renderNote\" apuntando a la nota HTML nota a renderizar." - }, - "web_view": { - "web_view": "Vista web", - "embed_websites": "La nota de tipo Web View le permite insertar sitios web en Trilium.", - "create_label": "Para comenzar, por favor cree una etiqueta con una dirección URL que desee empotrar, e.g. #webViewSrc=\"https://www.google.com\"" - }, - "backend_log": { - "refresh": "Refrescar" - }, - "consistency_checks": { - "title": "Comprobación de coherencia", - "find_and_fix_button": "Buscar y solucionar problemas de coherencia", - "finding_and_fixing_message": "Buscando y solucionando problemas de coherencia...", - "issues_fixed_message": "Los problemas de coherencia han sido solucionados." - }, - "database_anonymization": { - "title": "Anonimización de bases de datos", - "full_anonymization": "Anonimización total", - "full_anonymization_description": "Esta acción creará una nueva copia de la base de datos y la anonimizará (eliminará todo el contenido de las notas y dejará solo la estructura y algunos metadatos no confidenciales) para compartirla en línea con fines de depuración sin temor a filtrar sus datos personales.", - "save_fully_anonymized_database": "Guarde la base de datos completamente anónima", - "light_anonymization": "Anonimización ligera", - "light_anonymization_description": "Esta acción creará una nueva copia de la base de datos y realizará una ligera anonimización en ella; específicamente, solo se eliminará el contenido de todas las notas, pero los títulos y atributos permanecerán. Además, se mantendrán las notas de script JS frontend/backend personalizadas y los widgets personalizados. Esto proporciona más contexto para depurar los problemas.", - "choose_anonymization": "Puede decidir usted mismo si desea proporcionar una base de datos total o ligeramente anónima. Incluso una base de datos totalmente anónima es muy útil; sin embargo, en algunos casos, una base de datos ligeramente anónima puede acelerar el proceso de identificación y corrección de errores.", - "save_lightly_anonymized_database": "Guarde una base de datos ligeramente anónima", - "existing_anonymized_databases": "Bases de datos anónimas existentes", - "creating_fully_anonymized_database": "Creando una base de datos totalmente anónima...", - "creating_lightly_anonymized_database": "Creando una base de datos ligeramente anónima...", - "error_creating_anonymized_database": "No se pudo crear una base de datos anónima; consulte los registros de backend para obtener más detalles", - "successfully_created_fully_anonymized_database": "Se creó una base de datos completamente anónima en {{anonymizedFilePath}}", - "successfully_created_lightly_anonymized_database": "Se creó una base de datos ligeramente anónima en {{anonymizedFilePath}}", - "no_anonymized_database_yet": "Aún no hay base de datos anónima." - }, - "database_integrity_check": { - "title": "Verificación de integridad de la base de datos", - "description": "Esto verificará que la base de datos no esté dañada en el nivel SQLite. Puede que tarde algún tiempo, dependiendo del tamaño de la base de datos.", - "check_button": "Verificar la integridad de la base de datos", - "checking_integrity": "Comprobando la integridad de la base de datos...", - "integrity_check_succeeded": "La verificación de integridad fue exitosa; no se encontraron problemas.", - "integrity_check_failed": "La verificación de integridad falló: {{results}}" - }, - "sync": { - "title": "Sincronizar", - "force_full_sync_button": "Forzar sincronización completa", - "fill_entity_changes_button": "Llenar registros de cambios de entidad", - "full_sync_triggered": "Sincronización completa activada", - "filling_entity_changes": "Rellenar filas de cambios de entidad...", - "sync_rows_filled_successfully": "Sincronizar filas completadas correctamente", - "finished-successfully": "La sincronización finalizó exitosamente.", - "failed": "La sincronización falló: {{message}}" - }, - "vacuum_database": { - "title": "Limpiar base de datos", - "description": "Esto reconstruirá la base de datos, lo que normalmente dará como resultado un archivo de base de datos más pequeño. En realidad, no se cambiará ningún dato.", - "button_text": "Limpiar base de datos", - "vacuuming_database": "Limpiando base de datos...", - "database_vacuumed": "La base de datos ha sido limpiada" - }, - "fonts": { - "theme_defined": "Tema definido", - "fonts": "Fuentes", - "main_font": "Fuente principal", - "font_family": "Familia de fuentes", - "size": "Tamaño", - "note_tree_font": "Fuente del árbol de notas", - "note_detail_font": "Fuente de detalle de nota", - "monospace_font": "Fuente Monospace (código)", - "note_tree_and_detail_font_sizing": "Tenga en cuenta que el tamaño de fuente del árbol y de los detalles es relativo a la configuración del tamaño de fuente principal.", - "not_all_fonts_available": "Es posible que no todas las fuentes enumeradas estén disponibles en su sistema.", - "apply_font_changes": "Para aplicar cambios de fuente, haga clic en", - "reload_frontend": "recargar la interfaz", - "generic-fonts": "Fuentes genéricas", - "sans-serif-system-fonts": "Fuentes Sans-serif del sistema", - "serif-system-fonts": "Fuentes Serif del sistema", - "monospace-system-fonts": "Fuentes Monoespaciadas del sistema", - "handwriting-system-fonts": "Fuentes a mano alzada del sistema", - "serif": "Serif", - "sans-serif": "Sans Serif", - "monospace": "Monoespaciada", - "system-default": "Predeterminada del sistema" - }, - "max_content_width": { - "title": "Ancho del contenido", - "default_description": "Trilium limita de forma predeterminada el ancho máximo del contenido para mejorar la legibilidad de ventanas maximizadas en pantallas anchas.", - "max_width_label": "Ancho máximo del contenido en píxeles", - "max_width_unit": "píxeles", - "apply_changes_description": "Para aplicar cambios en el ancho del contenido, haga clic en", - "reload_button": "recargar la interfaz", - "reload_description": "cambios desde las opciones de apariencia" - }, - "native_title_bar": { - "title": "Barra de título nativa (requiere reiniciar la aplicación)", - "enabled": "activado", - "disabled": "desactivado" - }, - "ribbon": { - "widgets": "Widgets de cinta", - "promoted_attributes_message": "La pestaña de la cinta Atributos promovidos se abrirá automáticamente si los atributos promovidos están presentes en la nota", - "edited_notes_message": "La pestaña de la cinta Notas editadas se abrirá automáticamente en las notas del día" - }, - "theme": { - "title": "Tema", - "theme_label": "Tema", - "override_theme_fonts_label": "Sobreescribir fuentes de tema", - "auto_theme": "Automático", - "light_theme": "Claro", - "dark_theme": "Oscuro", - "triliumnext": "TriliumNext Beta (Sigue el esquema de color del sistema)", - "triliumnext-light": "TriliumNext Beta (Claro)", - "triliumnext-dark": "TriliumNext Beta (Oscuro)", - "layout": "Disposición", - "layout-vertical-title": "Vertical", - "layout-horizontal-title": "Horizontal", - "layout-vertical-description": "la barra del lanzador está en la izquierda (por defecto)", - "layout-horizontal-description": "la barra de lanzamiento está debajo de la barra de pestañas, la barra de pestañas ahora tiene ancho completo." - }, - "ai_llm": { - "not_started": "No iniciado", - "title": "IA y ajustes de embeddings", - "processed_notes": "Notas procesadas", - "total_notes": "Notas totales", - "progress": "Progreso", - "queued_notes": "Notas en fila", - "failed_notes": "Notas fallidas", - "last_processed": "Última procesada", - "refresh_stats": "Recargar estadísticas", - "enable_ai_features": "Habilitar características IA/LLM", - "enable_ai_description": "Habilitar características de IA como resumen de notas, generación de contenido y otras capacidades LLM", - "openai_tab": "OpenAI", - "anthropic_tab": "Anthropic", - "voyage_tab": "Voyage AI", - "ollama_tab": "Ollama", - "enable_ai": "Habilitar características IA/LLM", - "enable_ai_desc": "Habilitar características de IA como resumen de notas, generación de contenido y otras capacidades LLM", - "provider_configuration": "Configuración de proveedor de IA", - "provider_precedence": "Precedencia de proveedor", - "provider_precedence_description": "Lista de proveedores en orden de precedencia separada por comas (p.e., 'openai,anthropic,ollama')", - "temperature": "Temperatura", - "temperature_description": "Controla la aleatoriedad de las respuestas (0 = determinista, 2 = aleatoriedad máxima)", - "system_prompt": "Mensaje de sistema", - "system_prompt_description": "Mensaje de sistema predeterminado utilizado para todas las interacciones de IA", - "openai_configuration": "Configuración de OpenAI", - "openai_settings": "Ajustes de OpenAI", - "api_key": "Clave API", - "url": "URL base", - "model": "Modelo", - "openai_api_key_description": "Tu clave API de OpenAI para acceder a sus servicios de IA", - "anthropic_api_key_description": "Tu clave API de Anthropic para acceder a los modelos Claude", - "default_model": "Modelo por defecto", - "openai_model_description": "Ejemplos: gpt-4o, gpt-4-turbo, gpt-3.5-turbo", - "base_url": "URL base", - "openai_url_description": "Por defecto: https://api.openai.com/v1", - "anthropic_settings": "Ajustes de Anthropic", - "anthropic_url_description": "URL base para la API de Anthropic (por defecto: https://api.anthropic.com)", - "anthropic_model_description": "Modelos Claude de Anthropic para el completado de chat", - "voyage_settings": "Ajustes de Voyage AI", - "ollama_settings": "Ajustes de Ollama", - "ollama_url_description": "URL para la API de Ollama (por defecto: http://localhost:11434)", - "ollama_model_description": "Modelo de Ollama a usar para el completado de chat", - "anthropic_configuration": "Configuración de Anthropic", - "voyage_configuration": "Configuración de Voyage AI", - "voyage_url_description": "Por defecto: https://api.voyageai.com/v1", - "ollama_configuration": "Configuración de Ollama", - "enable_ollama": "Habilitar Ollama", - "enable_ollama_description": "Habilitar Ollama para uso de modelo de IA local", - "ollama_url": "URL de Ollama", - "ollama_model": "Modelo de Ollama", - "refresh_models": "Refrescar modelos", - "refreshing_models": "Refrescando...", - "enable_automatic_indexing": "Habilitar indexado automático", - "rebuild_index": "Recrear índice", - "rebuild_index_error": "Error al comenzar la reconstrucción del índice. Consulte los registros para más detalles.", - "note_title": "Título de nota", - "error": "Error", - "last_attempt": "Último intento", - "actions": "Acciones", - "retry": "Reintentar", - "partial": "{{ percentage }}% completado", - "retry_queued": "Nota en la cola para reintento", - "retry_failed": "Hubo un fallo al poner en la cola a la nota para reintento", - "max_notes_per_llm_query": "Máximo de notas por consulta", - "max_notes_per_llm_query_description": "Número máximo de notas similares a incluir en el contexto IA", - "active_providers": "Proveedores activos", - "disabled_providers": "Proveedores deshabilitados", - "remove_provider": "Eliminar proveedor de la búsqueda", - "restore_provider": "Restaurar proveedor a la búsqueda", - "similarity_threshold": "Bias de similaridad", - "similarity_threshold_description": "Puntuación de similaridad mínima (0-1) para incluir notas en el contexto para consultas LLM", - "reprocess_index": "Reconstruir el índice de búsqueda", - "reprocessing_index": "Reconstruyendo...", - "reprocess_index_started": "La optimización de índice de búsqueda comenzó en segundo plano", - "reprocess_index_error": "Error al reconstruir el índice de búsqueda", - "index_rebuild_progress": "Progreso de reconstrucción de índice", - "index_rebuilding": "Optimizando índice ({{percentage}}%)", - "index_rebuild_complete": "Optimización de índice completa", - "index_rebuild_status_error": "Error al comprobar el estado de reconstrucción del índice", - "never": "Nunca", - "processing": "Procesando ({{percentage}}%)", - "incomplete": "Incompleto ({{percentage}}%)", - "complete": "Completo (100%)", - "refreshing": "Refrescando...", - "auto_refresh_notice": "Refrescar automáticamente cada {{seconds}} segundos", - "note_queued_for_retry": "Nota en la cola para reintento", - "failed_to_retry_note": "Hubo un fallo al reintentar nota", - "all_notes_queued_for_retry": "Todas las notas con fallo agregadas a la cola para reintento", - "failed_to_retry_all": "Hubo un fallo al reintentar notas", - "ai_settings": "Ajustes de IA", - "api_key_tooltip": "Clave API para acceder al servicio", - "empty_key_warning": { - "anthropic": "La clave API de Anthropic está vacía. Por favor, ingrese una clave API válida.", - "openai": "La clave API de OpenAI está vacía. Por favor, ingrese una clave API válida.", - "voyage": "La clave API de Voyage está vacía. Por favor, ingrese una clave API válida.", - "ollama": "La clave API de Ollama está vacía. Por favor, ingrese una clave API válida." - }, - "agent": { - "processing": "Procesando...", - "thinking": "Pensando...", - "loading": "Cargando...", - "generating": "Generando..." - }, - "name": "IA", - "openai": "OpenAI", - "use_enhanced_context": "Utilizar contexto mejorado", - "enhanced_context_description": "Provee a la IA con más contexto de la nota y sus notas relacionadas para obtener mejores respuestas", - "show_thinking": "Mostrar pensamiento", - "show_thinking_description": "Mostrar la cadena del proceso de pensamiento de la IA", - "enter_message": "Ingrese su mensaje...", - "error_contacting_provider": "Error al contactar con su proveedor de IA. Por favor compruebe sus ajustes y conexión a internet.", - "error_generating_response": "Error al generar respuesta de IA", - "index_all_notes": "Indexar todas las notas", - "index_status": "Estado de índice", - "indexed_notes": "Notas indexadas", - "indexing_stopped": "Indexado detenido", - "indexing_in_progress": "Indexado en progreso...", - "last_indexed": "Último indexado", - "n_notes_queued": "{{ count }} nota agregada a la cola para indexado", - "n_notes_queued_plural": "{{ count }} notas agregadas a la cola para indexado", - "note_chat": "Chat de nota", - "notes_indexed": "{{ count }} nota indexada", - "notes_indexed_plural": "{{ count }} notas indexadas", - "sources": "Fuentes", - "start_indexing": "Comenzar indexado", - "use_advanced_context": "Usar contexto avanzado", - "ollama_no_url": "Ollama no está configurado. Por favor ingrese una URL válida.", - "chat": { - "root_note_title": "Chats de IA", - "root_note_content": "Esta nota contiene tus conversaciones de chat de IA guardadas.", - "new_chat_title": "Nuevo chat", - "create_new_ai_chat": "Crear nuevo chat de IA" - }, - "create_new_ai_chat": "Crear nuevo chat de IA", - "configuration_warnings": "Hay algunos problemas con su configuración de IA. Por favor compruebe sus ajustes.", - "experimental_warning": "La característica de LLM aún es experimental - ha sido advertido.", - "selected_provider": "Proveedor seleccionado", - "selected_provider_description": "Elija el proveedor de IA para el chat y características de completado", - "select_model": "Seleccionar modelo...", - "select_provider": "Seleccionar proveedor..." - }, - "zoom_factor": { - "title": "Factor de zoom (solo versión de escritorio)", - "description": "El zoom también se puede controlar con los atajos CTRL+- y CTRL+=." - }, - "code_auto_read_only_size": { - "title": "Tamaño automático de solo lectura", - "description": "El tamaño de nota de solo lectura automático es el tamaño después del cual las notas se mostrarán en modo de solo lectura (por razones de rendimiento).", - "label": "Tamaño automático de solo lectura (notas de código)", - "unit": "caracteres" - }, - "code-editor-options": { - "title": "Editor" - }, - "code_mime_types": { - "title": "Tipos MIME disponibles en el menú desplegable" - }, - "vim_key_bindings": { - "use_vim_keybindings_in_code_notes": "Atajos de teclas de Vim", - "enable_vim_keybindings": "Habilitar los atajos de teclas de Vim en la notas de código (no es modo ex)" - }, - "wrap_lines": { - "wrap_lines_in_code_notes": "Ajustar líneas en notas de código", - "enable_line_wrap": "Habilitar ajuste de línea (es posible que el cambio requiera una recarga de interfaz para que surta efecto)" - }, - "images": { - "images_section_title": "Imágenes", - "download_images_automatically": "Descargar imágenes automáticamente para usarlas sin conexión.", - "download_images_description": "El HTML pegado puede contener referencias a imágenes en línea; Trilium encontrará esas referencias y descargará las imágenes para que estén disponibles sin conexión.", - "enable_image_compression": "Habilitar la compresión de imágenes", - "max_image_dimensions": "Ancho/alto máximo de una imagen en píxeles (la imagen cambiará de tamaño si excede esta configuración).", - "max_image_dimensions_unit": "píxeles", - "jpeg_quality_description": "Calidad JPEG (10 - peor calidad, 100 - mejor calidad, se recomienda 50 - 85)" - }, - "attachment_erasure_timeout": { - "attachment_erasure_timeout": "Tiempo de espera para borrar archivos adjuntos", - "attachment_auto_deletion_description": "Los archivos adjuntos se eliminan (y borran) automáticamente si ya no se hace referencia a ellos en su nota después de un tiempo de espera definido.", - "erase_attachments_after": "Borrar archivos adjuntos después de:", - "manual_erasing_description": "También puede activar el borrado manualmente (sin considerar el tiempo de espera definido anteriormente):", - "erase_unused_attachments_now": "Borrar ahora los archivos adjuntos no utilizados en la nota", - "unused_attachments_erased": "Los archivos adjuntos no utilizados se han eliminado." - }, - "network_connections": { - "network_connections_title": "Conexiones de red", - "check_for_updates": "Buscar actualizaciones automáticamente" - }, - "note_erasure_timeout": { - "note_erasure_timeout_title": "Tiempo de espera de borrado de notas", - "note_erasure_description": "Las notas eliminadas (y los atributos, las revisiones ...) en principio solo están marcadas como eliminadas y es posible recuperarlas del diálogo de Notas recientes. Después de un período de tiempo, las notas eliminadas son \" borradas\", lo que significa que su contenido ya no es recuperable. Esta configuración le permite configurar la longitud del período entre eliminar y borrar la nota.", - "erase_notes_after": "Borrar notas después de:", - "manual_erasing_description": "También puede activar el borrado manualmente (sin considerar el tiempo de espera definido anteriormente):", - "erase_deleted_notes_now": "Borrar notas eliminadas ahora", - "deleted_notes_erased": "Las notas eliminadas han sido borradas." - }, - "revisions_snapshot_interval": { - "note_revisions_snapshot_interval_title": "Intervalo de instantáneas de revisiones de notas", - "note_revisions_snapshot_description": "El intervalo de tiempo de la instantánea de revisión de nota es el tiempo después de lo cual se creará una nueva revisión para la nota. Ver wiki para obtener más información.", - "snapshot_time_interval_label": "Intervalo de tiempo de la instantánea de revisión de notas:" - }, - "revisions_snapshot_limit": { - "note_revisions_snapshot_limit_title": "Límite de respaldos de revisiones de nota", - "note_revisions_snapshot_limit_description": "El límite de número de respaldos de revisiones de notas se refiere al número máximo de revisiones que pueden guardarse para cada nota. Donde -1 significa sin límite, 0 significa borrar todas las revisiones. Puede establecer el máximo de revisiones para una sola nota a través de la etiqueta #versioningLimit.", - "snapshot_number_limit_label": "Número límite de respaldos de revisiones de nota:", - "snapshot_number_limit_unit": "respaldos", - "erase_excess_revision_snapshots": "Eliminar el exceso de respaldos de revisiones ahora", - "erase_excess_revision_snapshots_prompt": "El exceso de respaldos de revisiones han sido eliminadas." - }, - "search_engine": { - "title": "Motor de búsqueda", - "custom_search_engine_info": "El motor de búsqueda personalizado requiere que se establezcan un nombre y una URL. Si alguno de estos no está configurado, DuckDuckGo se utilizará como motor de búsqueda predeterminado.", - "predefined_templates_label": "Plantillas de motor de búsqueda predefinidas", - "bing": "Bing", - "baidu": "Baidu", - "duckduckgo": "DuckDuckGo", - "google": "Google", - "custom_name_label": "Nombre del motor de búsqueda personalizado", - "custom_name_placeholder": "Personalizar el nombre del motor de búsqueda", - "custom_url_label": "La URL del motor de búsqueda personalizado debe incluir {keyword} como marcador de posición para el término de búsqueda.", - "custom_url_placeholder": "Personalizar la URL del motor de búsqueda", - "save_button": "Guardar" - }, - "tray": { - "title": "Bandeja de sistema", - "enable_tray": "Habilitar bandeja (es necesario reiniciar Trilium para que este cambio surta efecto)" - }, - "heading_style": { - "title": "Estilo de título", - "plain": "Plano", - "underline": "Subrayar", - "markdown": "Estilo Markdown" - }, - "highlights_list": { - "title": "Lista de aspectos destacados", - "description": "Puede personalizar la lista de aspectos destacados que se muestra en el panel derecho:", - "bold": "Texto en negrita", - "italic": "Texto en cursiva", - "underline": "Texto subrayado", - "color": "Texto con color", - "bg_color": "Texto con color de fondo", - "visibility_title": "Visibilidad de la lista de aspectos destacados", - "visibility_description": "Puede ocultar el widget de aspectos destacados por nota agregando una etiqueta #hideHighlightWidget.", - "shortcut_info": "Puede configurar un método abreviado de teclado para alternar rápidamente el panel derecho (incluidos los aspectos destacados) en Opciones -> Atajos (nombre 'toggleRightPane')." - }, - "table_of_contents": { - "title": "Tabla de contenido", - "description": "La tabla de contenido aparecerá en las notas de texto cuando la nota tenga más de un número definido de títulos. Puede personalizar este número:", - "unit": "títulos", - "disable_info": "También puede utilizar esta opción para desactivar la TDC (TOC) de forma efectiva estableciendo un número muy alto.", - "shortcut_info": "Puede configurar un atajo de teclado para alternar rápidamente el panel derecho (incluido el TDC) en Opciones -> Atajos (nombre 'toggleRightPane')." - }, - "text_auto_read_only_size": { - "title": "Tamaño para modo de solo lectura automático", - "description": "El tamaño de nota de solo lectura automático es el tamaño después del cual las notas se mostrarán en modo de solo lectura (por razones de rendimiento).", - "label": "Tamaño para modo de solo lectura automático (notas de texto)", - "unit": "caracteres" - }, - "custom_date_time_format": { - "title": "Formato de fecha/hora personalizada", - "description": "Personalizar el formado de fecha y la hora insertada vía o la barra de herramientas. Véa la documentación de Day.js para más tokens de formato disponibles.", - "format_string": "Cadena de formato:", - "formatted_time": "Fecha/hora personalizada:" - }, - "i18n": { - "title": "Localización", - "language": "Idioma", - "first-day-of-the-week": "Primer día de la semana", - "sunday": "Domingo", - "monday": "Lunes", - "first-week-of-the-year": "Primer semana del año", - "first-week-contains-first-day": "Primer semana que contiene al primer día del año", - "first-week-contains-first-thursday": "Primer semana que contiene al primer jueves del año", - "first-week-has-minimum-days": "Primer semana que contiene un mínimo de días", - "min-days-in-first-week": "Días mínimos en la primer semana", - "first-week-info": "Primer semana que contiene al primer jueves del año está basado en el estándarISO 8601.", - "first-week-warning": "Cambiar las opciones de primer semana puede causar duplicados con las Notas Semanales existentes y las Notas Semanales existentes no serán actualizadas respectivamente.", - "formatting-locale": "Fecha y formato de número" - }, - "backup": { - "automatic_backup": "Copia de seguridad automática", - "automatic_backup_description": "Trilium puede realizar copias de seguridad de la base de datos automáticamente:", - "enable_daily_backup": "Habilitar copia de seguridad diaria", - "enable_weekly_backup": "Habilitar copia de seguridad semanal", - "enable_monthly_backup": "Habilitar copia de seguridad mensual", - "backup_recommendation": "Se recomienda mantener la copia de seguridad activada, pero esto puede ralentizar el inicio de la aplicación con bases de datos grandes y/o dispositivos de almacenamiento lentos.", - "backup_now": "Realizar copia de seguridad ahora", - "backup_database_now": "Realizar copia de seguridad de la base de datos ahora", - "existing_backups": "Copias de seguridad existentes", - "date-and-time": "Fecha y hora", - "path": "Ruta", - "database_backed_up_to": "Se ha realizado una copia de seguridad de la base de datos en {{backupFilePath}}", - "no_backup_yet": "no hay copia de seguridad todavía" - }, - "etapi": { - "title": "ETAPI", - "description": "ETAPI es una REST API que se utiliza para acceder a la instancia de Trilium mediante programación, sin interfaz de usuario.", - "see_more": "Véa más detalles en el {{- link_to_wiki}} y el {{- link_to_openapi_spec}} o el {{- link_to_swagger_ui }}.", - "wiki": "wiki", - "openapi_spec": "Especificación ETAPI OpenAPI", - "swagger_ui": "ETAPI Swagger UI", - "create_token": "Crear nuevo token ETAPI", - "existing_tokens": "Tokens existentes", - "no_tokens_yet": "Aún no hay tokens. Dé clic en el botón de arriba para crear uno.", - "token_name": "Nombre del token", - "created": "Creado", - "actions": "Acciones", - "new_token_title": "Nuevo token ETAPI", - "new_token_message": "Por favor ingresa el nombre del nuevo token", - "default_token_name": "nuevo token", - "error_empty_name": "El nombre del token no puede estar vacío", - "token_created_title": "Token ETAPI creado", - "token_created_message": "Copiar el token creado en el portapapeles. Trilium almacena el token con hash y esta es la última vez que lo ve.", - "rename_token": "Renombrar este token", - "delete_token": "Eliminar/Desactivar este token", - "rename_token_title": "Renombrar token", - "rename_token_message": "Por favor ingresa el nombre del nuevo token", - "delete_token_confirmation": "¿Está seguro de que desea eliminar el token ETAPI \"{{name}}\"?" - }, - "options_widget": { - "options_status": "Estado de las opciones", - "options_change_saved": "Se han guardado los cambios de las opciones." - }, - "password": { - "heading": "Contraseña", - "alert_message": "Tenga cuidado de recordar su nueva contraseña. La contraseña se utiliza para iniciar sesión en la interfaz web y cifrar las notas protegidas. Si olvida su contraseña, todas sus notas protegidas se perderán para siempre.", - "reset_link": "Dé clic aquí para restablecerla.", - "old_password": "Contraseña anterior", - "new_password": "Nueva contraseña", - "new_password_confirmation": "Confirmación de nueva contraseña", - "change_password": "Cambiar contraseña", - "protected_session_timeout": "Tiempo de espera de sesión protegida", - "protected_session_timeout_description": "El tiempo de espera de la sesión protegida es el período de tiempo después del cual la sesión protegida se borra de la memoria del navegador. Esto se mide desde la última interacción con notas protegidas. Ver", - "wiki": "wiki", - "for_more_info": "para más información.", - "protected_session_timeout_label": "Tiempo de espera de sesión protegida:", - "reset_confirmation": "Al restablecer la contraseña, perderá para siempre el acceso a todas sus notas protegidas existentes. ¿Realmente quieres restablecer la contraseña?", - "reset_success_message": "La contraseña ha sido restablecida. Por favor establezca una nueva contraseña", - "change_password_heading": "Cambiar contraseña", - "set_password_heading": "Establecer contraseña", - "set_password": "Establecer contraseña", - "password_mismatch": "Las nuevas contraseñas no son las mismas.", - "password_changed_success": "La contraseña ha sido cambiada. Trilium se recargará después de presionar Aceptar." - }, - "multi_factor_authentication": { - "title": "Autenticación Multi-Factor", - "description": "La autenticación multifactor (MFA) agrega una capa adicional de seguridad a su cuenta. En lugar de solo ingresar una contraseña para iniciar sesión, MFA requiere que proporcione una o más pruebas adicionales para verificar su identidad. De esta manera, incluso si alguien se apodera de su contraseña, aún no puede acceder a su cuenta sin la segunda pieza de información. Es como agregar una cerradura adicional a su puerta, lo que hace que sea mucho más difícil para cualquier otra persona entrar.

Por favor siga las instrucciones a continuación para habilitar MFA. Si no lo configura correctamente, el inicio de sesión volverá a solo contraseña.", - "mfa_enabled": "Habilitar la autenticación multifactor", - "mfa_method": "Método MFA", - "electron_disabled": "Actualmente la autenticación multifactor no está soportada en la compilación de escritorio.", - "totp_title": "Contraseña de un solo uso basada en el tiempo (TOTP)", - "totp_description": "TOTP (contraseña de un solo uso basada en el tiempo) es una característica de seguridad que genera un código temporal único que cambia cada 30 segundos. Utiliza este código, junto con su contraseña para iniciar sesión en su cuenta, lo que hace que sea mucho más difícil para cualquier otra persona acceder a ella.", - "totp_secret_title": "Generar secreto TOTP", - "totp_secret_generate": "Generar secreto TOTP", - "totp_secret_regenerate": "Regenerar secreto TOTP", - "no_totp_secret_warning": "Para habilitar TOTP, primero debe de generar un secreto TOTP.", - "totp_secret_description_warning": "Después de generar un nuevo secreto TOTP, le será requerido que inicie sesión otra vez con el nuevo secreto TOTP.", - "totp_secret_generated": "Secreto TOTP generado", - "totp_secret_warning": "Por favor guarde el secreto generado en una ubicación segura. No será mostrado de nuevo.", - "totp_secret_regenerate_confirm": "¿Está seguro que desea regenerar el secreto TOTP? Esto va a invalidar el secreto TOTP previo y todos los códigos de recuperación existentes.", - "recovery_keys_title": "Claves de recuperación para un solo inicio de sesión", - "recovery_keys_description": "Las claves de recuperación para un solo inicio de sesión son usadas para iniciar sesión incluso cuando no puede acceder a los códigos de su autentificador.", - "recovery_keys_description_warning": "Las claves de recuperación no son mostrada de nuevo después de dejar esta página, manténgalas en un lugar seguro.
Después de que una clave de recuperación es utilizada ya no puede utilizarse de nuevo.", - "recovery_keys_error": "Error al generar códigos de recuperación", - "recovery_keys_no_key_set": "No hay códigos de recuperación establecidos", - "recovery_keys_generate": "Generar códigos de recuperación", - "recovery_keys_regenerate": "Regenerar códigos de recuperación", - "recovery_keys_used": "Usado: {{date}}", - "recovery_keys_unused": "El código de recuperación {{index}} está sin usar", - "oauth_title": "OAuth/OpenID", - "oauth_description": "OpenID es una forma estandarizada de permitirle iniciar sesión en sitios web utilizando una cuenta de otro servicio, como Google, para verificar su identidad. Siga estas instrucciones para configurar un servicio OpenID a través de Google.", - "oauth_description_warning": "Para habilitar OAuth/OpenID, necesita establecer la URL base de OAuth/OpenID, ID de cliente y secreto de cliente en el archivo config.ini y reiniciar la aplicación. Si desea establecerlas desde variables de ambiente, por favor establezca TRILIUM_OAUTH_BASE_URL, TRILIUM_OAUTH_CLIENT_ID y TRILIUM_OAUTH_CLIENT_SECRET.", - "oauth_missing_vars": "Ajustes faltantes: {{variables}}", - "oauth_user_account": "Cuenta de usuario: ", - "oauth_user_email": "Correo electrónico de usuario: ", - "oauth_user_not_logged_in": "¡No ha iniciado sesión!" - }, - "shortcuts": { - "keyboard_shortcuts": "Atajos de teclado", - "multiple_shortcuts": "Varios atajos para la misma acción se pueden separar mediante comas.", - "electron_documentation": "Véa la documentación de Electron para los modificadores y códigos de tecla disponibles.", - "type_text_to_filter": "Escriba texto para filtrar los accesos directos...", - "action_name": "Nombre de la acción", - "shortcuts": "Atajos", - "default_shortcuts": "Atajos predeterminados", - "description": "Descripción", - "reload_app": "Vuelva a cargar la aplicación para aplicar los cambios", - "set_all_to_default": "Establecer todos los accesos directos al valor predeterminado", - "confirm_reset": "¿Realmente desea restablecer todos los atajos de teclado a sus valores predeterminados?" - }, - "spellcheck": { - "title": "Revisión ortográfica", - "description": "Estas opciones se aplican sólo para compilaciones de escritorio; los navegadores utilizarán su corrector ortográfico nativo.", - "enable": "Habilitar corrector ortográfico", - "language_code_label": "Código(s) de idioma", - "language_code_placeholder": "por ejemplo \"en-US\", \"de-AT\"", - "multiple_languages_info": "Múltiples idiomas se pueden separar por coma, por ejemplo \"en-US, de-DE, cs\". ", - "available_language_codes_label": "Códigos de idioma disponibles:", - "restart-required": "Los cambios en las opciones de corrección ortográfica entrarán en vigor después del reinicio de la aplicación." - }, - "sync_2": { - "config_title": "Configuración de sincronización", - "server_address": "Dirección de la instancia del servidor", - "timeout": "Tiempo de espera de sincronización (milisegundos)", - "timeout_unit": "milisegundos", - "proxy_label": "Sincronizar servidor proxy (opcional)", - "note": "Nota", - "note_description": "Si deja la configuración del proxy en blanco, se utilizará el proxy del sistema (se aplica únicamente a la compilación de escritorio/electron).", - "special_value_description": "Otro valor especial es noproxy que obliga a ignorar incluso al proxy del sistema y respeta NODE_TLS_REJECT_UNAUTHORIZED.", - "save": "Guardar", - "help": "Ayuda", - "test_title": "Prueba de sincronización", - "test_description": "Esto probará la conexión y el protocolo de enlace con el servidor de sincronización. Si el servidor de sincronización no está inicializado, esto lo configurará para sincronizarse con el documento local.", - "test_button": "Prueba de sincronización", - "handshake_failed": "Error en el protocolo de enlace del servidor de sincronización, error: {{message}}" - }, - "api_log": { - "close": "Cerrar" - }, - "attachment_detail_2": { - "will_be_deleted_in": "Este archivo adjunto se eliminará automáticamente en {{time}}", - "will_be_deleted_soon": "Este archivo adjunto se eliminará automáticamente pronto", - "deletion_reason": ", porque el archivo adjunto no está vinculado en el contenido de la nota. Para evitar la eliminación, vuelva a agregar el enlace del archivo adjunto al contenido o convierta el archivo adjunto en una nota.", - "role_and_size": "Rol: {{role}}, Tamaño: {{size}}", - "link_copied": "Enlace del archivo adjunto copiado al portapapeles.", - "unrecognized_role": "Rol de archivo adjunto no reconocido '{{role}}'." - }, - "bookmark_switch": { - "bookmark": "Marcador", - "bookmark_this_note": "Añadir esta nota a marcadores en el panel lateral izquierdo", - "remove_bookmark": "Eliminar marcador" - }, - "editability_select": { - "auto": "Automático", - "read_only": "Sólo lectura", - "always_editable": "Siempre editable", - "note_is_editable": "La nota es editable si no es muy grande.", - "note_is_read_only": "La nota es de solo lectura, pero se puede editar con un clic en un botón.", - "note_is_always_editable": "La nota siempre es editable, independientemente de su tamaño." - }, - "note-map": { - "button-link-map": "Mapa de Enlaces", - "button-tree-map": "Mapa de Árbol" - }, - "tree-context-menu": { - "open-in-a-new-tab": "Abrir en nueva pestaña Ctrl+Click", - "open-in-a-new-split": "Abrir en nueva división", - "insert-note-after": "Insertar nota después de", - "insert-child-note": "Insertar subnota", - "delete": "Eliminar", - "search-in-subtree": "Buscar en subárbol", - "hoist-note": "Anclar nota", - "unhoist-note": "Desanclar nota", - "edit-branch-prefix": "Editar prefijo de rama", - "advanced": "Avanzado", - "expand-subtree": "Expandir subárbol", - "collapse-subtree": "Colapsar subárbol", - "sort-by": "Ordenar por...", - "recent-changes-in-subtree": "Cambios recientes en subárbol", - "convert-to-attachment": "Convertir en adjunto", - "copy-note-path-to-clipboard": "Copiar ruta de nota al portapapeles", - "protect-subtree": "Proteger subárbol", - "unprotect-subtree": "Desproteger subárbol", - "copy-clone": "Copiar / clonar", - "clone-to": "Clonar en...", - "cut": "Cortar", - "move-to": "Mover a...", - "paste-into": "Pegar en", - "paste-after": "Pegar después de", - "duplicate": "Duplicar", - "export": "Exportar", - "import-into-note": "Importar a nota", - "apply-bulk-actions": "Aplicar acciones en lote", - "converted-to-attachments": "{{count}} notas han sido convertidas en archivos adjuntos.", - "convert-to-attachment-confirm": "¿Está seguro que desea convertir las notas seleccionadas en archivos adjuntos de sus notas padres?" - }, - "shared_info": { - "shared_publicly": "Esta nota está compartida públicamente en", - "shared_locally": "Esta nota está compartida localmente en", - "help_link": "Para obtener ayuda visite wiki." - }, - "note_types": { - "text": "Texto", - "code": "Código", - "saved-search": "Búsqueda Guardada", - "relation-map": "Mapa de Relaciones", - "note-map": "Mapa de Notas", - "render-note": "Nota de Renderizado", - "book": "", - "mermaid-diagram": "Diagrama Mermaid", - "canvas": "Lienzo", - "web-view": "Vista Web", - "mind-map": "Mapa Mental", - "file": "Archivo", - "image": "Imagen", - "launcher": "Lanzador", - "doc": "Doc", - "widget": "Widget", - "confirm-change": "No es recomendado cambiar el tipo de nota cuando el contenido de la nota no está vacío. ¿Desea continuar de cualquier manera?", - "geo-map": "Mapa Geo", - "beta-feature": "Beta", - "ai-chat": "Chat de IA", - "task-list": "Lista de tareas" - }, - "protect_note": { - "toggle-on": "Proteger la nota", - "toggle-off": "Desproteger la nota", - "toggle-on-hint": "La nota no está protegida, dé clic para protegerla", - "toggle-off-hint": "La nota está protegida, dé clic para desprotegerla" - }, - "shared_switch": { - "shared": "Compartida", - "toggle-on-title": "Compartir la nota", - "toggle-off-title": "Descompartir la nota", - "shared-branch": "Esta nota sólo existe como una nota compartida, si la deja de compartir será eliminada. ¿Quiere continuar y eliminar esta nota?", - "inherited": "No puede dejar de compartir la nota aquí porque es compartida a través de la herencia de un ancestro." - }, - "template_switch": { - "template": "Plantilla", - "toggle-on-hint": "Hacer de la nota una plantilla", - "toggle-off-hint": "Eliminar la nota como una plantilla" - }, - "open-help-page": "Abrir página de ayuda", - "find": { - "case_sensitive": "Distingue entre mayúsculas y minúsculas", - "match_words": "Coincidir palabras", - "find_placeholder": "Encontrar en texto...", - "replace_placeholder": "Reemplazar con...", - "replace": "Reemplazar", - "replace_all": "Reemplazar todo" - }, - "highlights_list_2": { - "title": "Lista de destacados", - "options": "Opciones" - }, - "quick-search": { - "placeholder": "Búsqueda rápida", - "searching": "Buscando...", - "no-results": "No se encontraron resultados", - "more-results": "... y {{number}} resultados más.", - "show-in-full-search": "Mostrar en búsqueda completa" - }, - "note_tree": { - "collapse-title": "Colapsar árbol de nota", - "scroll-active-title": "Desplazarse a nota activa", - "tree-settings-title": "Ajustes de árbol", - "hide-archived-notes": "Ocultar notas archivadas", - "automatically-collapse-notes": "Colapsar notas automaticamente", - "automatically-collapse-notes-title": "Las notas serán colapsadas después de un periodo de inactividad para despejar el árbol.", - "save-changes": "Guardar y aplicar cambios", - "auto-collapsing-notes-after-inactivity": "Colapsando notas automáticamente después de inactividad...", - "saved-search-note-refreshed": "La nota de búsqueda guardada fue recargada.", - "hoist-this-note-workspace": "Anclar esta nota (espacio de trabajo)", - "refresh-saved-search-results": "Refrescar resultados de búsqueda guardados", - "create-child-note": "Crear subnota", - "unhoist": "Desanclar" - }, - "title_bar_buttons": { - "window-on-top": "Mantener esta ventana en la parte superior" - }, - "note_detail": { - "could_not_find_typewidget": "No se pudo encontrar typeWidget para el tipo '{{type}}'" - }, - "note_title": { - "placeholder": "escriba el título de la nota aquí..." - }, - "search_result": { - "no_notes_found": "No se han encontrado notas para los parámetros de búsqueda dados.", - "search_not_executed": "La búsqueda aún no se ha ejecutado. Dé clic en el botón «Buscar» para ver los resultados." - }, - "spacer": { - "configure_launchbar": "Configurar barra de lanzamiento" - }, - "sql_result": { - "no_rows": "No se han devuelto filas para esta consulta" - }, - "sql_table_schemas": { - "tables": "Tablas" - }, - "tab_row": { - "close_tab": "Cerrar pestaña", - "add_new_tab": "Agregar nueva pestaña", - "close": "Cerrar", - "close_other_tabs": "Cerrar otras pestañas", - "close_right_tabs": "Cerrar pestañas a la derecha", - "close_all_tabs": "Cerrar todas las pestañas", - "reopen_last_tab": "Reabrir última pestaña cerrada", - "move_tab_to_new_window": "Mover esta pestaña a una nueva ventana", - "copy_tab_to_new_window": "Copiar esta pestaña a una ventana nueva", - "new_tab": "Nueva pestaña" - }, - "toc": { - "table_of_contents": "Tabla de contenido", - "options": "Opciones" - }, - "watched_file_update_status": { - "file_last_modified": "Archivo ha sido modificado por última vez en.", - "upload_modified_file": "Subir archivo modificado", - "ignore_this_change": "Ignorar este cambio" - }, - "app_context": { - "please_wait_for_save": "Por favor espere algunos segundos a que se termine de guardar, después intente de nuevo." - }, - "note_create": { - "duplicated": "La nota \"{{title}}\" ha sido duplicada." - }, - "image": { - "copied-to-clipboard": "Una referencia a la imagen ha sido copiada al portapapeles. Esta puede ser pegada en cualquier nota de texto.", - "cannot-copy": "No se pudo copiar la referencia de imagen al portapapeles." - }, - "clipboard": { - "cut": "La(s) notas(s) han sido cortadas al portapapeles.", - "copied": "La(s) notas(s) han sido copiadas al portapapeles.", - "copy_failed": "No se puede copiar al portapapeles debido a problemas de permisos.", - "copy_success": "Copiado al portapapeles." - }, - "entrypoints": { - "note-revision-created": "Una revisión de nota ha sido creada.", - "note-executed": "Nota ejecutada.", - "sql-error": "Ocurrió un error al ejecutar la consulta SQL: {{message}}" - }, - "branches": { - "cannot-move-notes-here": "No se pueden mover notas aquí.", - "delete-status": "Estado de eliminación", - "delete-notes-in-progress": "Eliminación de notas en progreso: {{count}}", - "delete-finished-successfully": "La eliminación finalizó exitosamente.", - "undeleting-notes-in-progress": "Recuperación de notas en progreso: {{count}}", - "undeleting-notes-finished-successfully": "La recuperación de notas finalizó exitosamente." - }, - "frontend_script_api": { - "async_warning": "Está pasando una función asíncrona a `api.runOnBackend ()` que probablemente no funcionará como pretendía.", - "sync_warning": "Estás pasando una función sincrónica a `api.runasynconbackendwithmanualTransactionHandling ()`, \\ n while debería usar `api.runonbackend ()` en su lugar." - }, - "ws": { - "sync-check-failed": "¡La comprobación de sincronización falló!", - "consistency-checks-failed": "¡Las comprobaciones de consistencia fallaron! Vea los registros para más detalles.", - "encountered-error": "Error encontrado \"{{message}}\", compruebe la consola." - }, - "hoisted_note": { - "confirm_unhoisting": "La nota requerida '{{requestedNote}}' está fuera del subárbol de la nota anclada '{{hoistedNote}}' y debe desanclarla para acceder a la nota. ¿Desea proceder con el desanclaje?" - }, - "launcher_context_menu": { - "reset_launcher_confirm": "¿Realmente desea restaurar \"{{title}}\"? Todos los datos / ajustes en esta nota (y sus subnotas) se van a perder y el lanzador regresará a su ubicación original.", - "add-note-launcher": "Agregar un lanzador de nota", - "add-script-launcher": "Agregar un lanzador de script", - "add-custom-widget": "Agregar un widget personalizado", - "add-spacer": "Agregar espaciador", - "delete": "Eliminar ", - "reset": "Restaurar", - "move-to-visible-launchers": "Mover a lanzadores visibles", - "move-to-available-launchers": "Mover a lanzadores disponibles", - "duplicate-launcher": "Duplicar lanzador " - }, - "editable-text": { - "auto-detect-language": "Detectado automáticamente" - }, - "highlighting": { - "title": "Bloques de código", - "description": "Controla el resaltado de sintaxis para bloques de código dentro de las notas de texto, las notas de código no serán afectadas.", - "color-scheme": "Esquema de color" - }, - "code_block": { - "word_wrapping": "Ajuste de palabras", - "theme_none": "Sin resaltado de sintaxis", - "theme_group_light": "Temas claros", - "theme_group_dark": "Temas oscuros", - "copy_title": "Copiar al portapapeles" - }, - "classic_editor_toolbar": { - "title": "Formato" - }, - "editor": { - "title": "Editor" - }, - "editing": { - "editor_type": { - "label": "Barra de herramientas de formato", - "floating": { - "title": "Flotante", - "description": "las herramientas de edición aparecen cerca del cursor;" - }, - "fixed": { - "title": "Fijo", - "description": "las herramientas de edición aparecen en la pestaña de la cinta \"Formato\")." - }, - "multiline-toolbar": "Mostrar la barra de herramientas en múltiples líneas si no cabe." - } - }, - "electron_context_menu": { - "add-term-to-dictionary": "Agregar \"{{term}}\" al diccionario", - "cut": "Cortar", - "copy": "Copiar", - "copy-link": "Copiar enlace", - "paste": "Pegar", - "paste-as-plain-text": "Pegar como texto plano", - "search_online": "Buscar \"{{term}}\" con {{searchEngine}}" - }, - "image_context_menu": { - "copy_reference_to_clipboard": "Copiar referencia al portapapeles", - "copy_image_to_clipboard": "Copiar imagen al portapapeles" - }, - "link_context_menu": { - "open_note_in_new_tab": "Abrir nota en una pestaña nueva", - "open_note_in_new_split": "Abrir nota en una nueva división", - "open_note_in_new_window": "Abrir nota en una nueva ventana" - }, - "electron_integration": { - "desktop-application": "Aplicación de escritorio", - "native-title-bar": "Barra de título nativa", - "native-title-bar-description": "Para Windows y macOS, quitar la barra de título nativa hace que la aplicación se vea más compacta. En Linux, mantener la barra de título nativa hace que se integre mejor con el resto del sistema.", - "background-effects": "Habilitar efectos de fondo (sólo en Windows 11)", - "background-effects-description": "El efecto Mica agrega un fondo borroso y elegante a las ventanas de aplicaciones, creando profundidad y un aspecto moderno.", - "restart-app-button": "Reiniciar la aplicación para ver los cambios", - "zoom-factor": "Factor de zoom" - }, - "note_autocomplete": { - "search-for": "Buscar por \"{{term}}\"", - "create-note": "Crear y enlazar subnota \"{{term}}\"", - "insert-external-link": "Insertar enlace externo a \"{{term}}\"", - "clear-text-field": "Limpiar campo de texto", - "show-recent-notes": "Mostrar notas recientes", - "full-text-search": "Búsqueda de texto completo" - }, - "note_tooltip": { - "note-has-been-deleted": "La nota ha sido eliminada." - }, - "geo-map": { - "create-child-note-title": "Crear una nueva subnota y agregarla al mapa", - "create-child-note-instruction": "Dé clic en el mapa para crear una nueva nota en esa ubicación o presione Escape para cancelar.", - "unable-to-load-map": "No se puede cargar el mapa." - }, - "geo-map-context": { - "open-location": "Abrir ubicación", - "remove-from-map": "Eliminar del mapa" - }, - "help-button": { - "title": "Abrir la página de ayuda relevante" - }, - "duration": { - "seconds": "Segundos", - "minutes": "Minutos", - "hours": "Horas", - "days": "Días" - }, - "share": { - "title": "Ajustes de uso compartido", - "redirect_bare_domain": "Redirigir el dominio absoluto a página Compartir", - "redirect_bare_domain_description": "Redirigir usuarios anónimos a la página Compartir en vez de mostrar Inicio de sesión", - "show_login_link": "Mostrar enlace a Inicio de sesión en tema de Compartir", - "show_login_link_description": "Mostrar enlace a Inicio de sesión en el pie de página de Compartir", - "check_share_root": "Comprobar estado de raíz de Compartir", - "share_root_found": "La nota raíz de Compartir '{{noteTitle}}' está lista", - "share_root_not_found": "No se encontró ninguna nota con la etiqueta #shareRoot", - "share_root_not_shared": "La nota '{{noteTitle}}' tiene la etiqueta #shareRoot pero no ha sido compartida" - }, - "time_selector": { - "invalid_input": "El valor de tiempo ingresado no es un número válido.", - "minimum_input": "El valor de tiempo ingresado necesita ser de al menos {{minimumSeconds}} segundos." - }, - "tasks": { - "due": { - "today": "Hoy", - "tomorrow": "Mañana", - "yesterday": "Ayer" - } - }, - "content_widget": { - "unknown_widget": "Widget desconocido para \"{{id}}\"." - }, - "note_language": { - "not_set": "No establecido", - "configure-languages": "Configurar idiomas..." - }, - "content_language": { - "title": "Contenido de idiomas", - "description": "Seleccione uno o más idiomas que deben aparecer en la selección del idioma en la sección Propiedades Básicas de una nota de texto de solo lectura o editable. Esto permitirá características tales como corrección de ortografía o soporte de derecha a izquierda." - }, - "switch_layout_button": { - "title_vertical": "Mover el panel de edición hacia abajo", - "title_horizontal": "Mover el panel de edición a la izquierda" - }, - "toggle_read_only_button": { - "unlock-editing": "Desbloquear la edición", - "lock-editing": "Bloquear la edición" - }, - "png_export_button": { - "button_title": "Exportar diagrama como PNG" - }, - "svg": { - "export_to_png": "El diagrama no pudo ser exportado a PNG." - }, - "code_theme": { - "title": "Apariencia", - "word_wrapping": "Ajuste de palabras", - "color-scheme": "Esquema de color" - }, - "cpu_arch_warning": { - "title": "Por favor descargue la versión ARM64", - "message_macos": "TriliumNext está siendo ejecutado bajo traducción Rosetta 2, lo que significa que está usando la versión Intel (x64) en Apple Silicon Mac. Esto impactará significativamente en el rendimiento y la vida de la batería.", - "message_windows": "TriliumNext está siendo ejecutado bajo emulación, lo que significa que está usando la version Intel (x64) en Windows en un dispositivo ARM. Esto impactará significativamente en el rendimiento y la vida de la batería.", - "recommendation": "Para la mejor experiencia, por favor descargue la versión nativa ARM64 de TriliumNext desde nuestra página de lanzamientos.", - "download_link": "Descargar versión nativa", - "continue_anyway": "Continuar de todas maneras", - "dont_show_again": "No mostrar esta advertencia otra vez" - } } diff --git a/apps/client/src/translations/fr/translation.json b/apps/client/src/translations/fr/translation.json index c35d26068..3bc3aa4ba 100644 --- a/apps/client/src/translations/fr/translation.json +++ b/apps/client/src/translations/fr/translation.json @@ -1,1678 +1,1670 @@ { - "about": { - "title": "À propos de Trilium Notes", - "close": "Fermer", - "homepage": "Page d'accueil :", - "app_version": "Version de l'application :", - "db_version": "Version de la base de données :", - "sync_version": "Version de la synchronisation :", - "build_date": "Date du build :", - "build_revision": "Version de build :", - "data_directory": "Répertoire des données :" - }, - "toast": { - "critical-error": { - "title": "Erreur critique", - "message": "Une erreur critique s'est produite et empêche l'application client de démarrer :\n\n{{message}}\n\nCeci est probablement dû à un échec inattendu d'un script. Essayez de démarrer l'application en mode sans échec et de résoudre le problème." + "about": { + "title": "À propos de Trilium Notes", + "close": "Fermer", + "homepage": "Page d'accueil :", + "app_version": "Version de l'application :", + "db_version": "Version de la base de données :", + "sync_version": "Version de la synchronisation :", + "build_date": "Date du build :", + "build_revision": "Version de build :", + "data_directory": "Répertoire des données :" }, - "widget-error": { - "title": "Impossible d'initialiser un widget", - "message-custom": "Le widget personnalisé de la note avec l'ID \"{{id}}\", intitulée \"{{title}}\" n'a pas pu être initialisé en raison de\n\n{{message}}", - "message-unknown": "Le widget inconnu n'a pas pu être initialisé :\n\n{{message}}" + "toast": { + "critical-error": { + "title": "Erreur critique", + "message": "Une erreur critique s'est produite et empêche l'application client de démarrer :\n\n{{message}}\n\nCeci est probablement dû à un échec inattendu d'un script. Essayez de démarrer l'application en mode sans échec et de résoudre le problème." + }, + "widget-error": { + "title": "Impossible d'initialiser un widget", + "message-custom": "Le widget personnalisé de la note avec l'ID \"{{id}}\", intitulée \"{{title}}\" n'a pas pu être initialisé en raison de\n\n{{message}}", + "message-unknown": "Le widget inconnu n'a pas pu être initialisé :\n\n{{message}}" + }, + "bundle-error": { + "title": "Echec du chargement d'un script personnalisé", + "message": "Le script de la note avec l'ID \"{{id}}\", intitulé \"{{title}}\" n'a pas pu être exécuté à cause de\n\n{{message}}" + } }, - "bundle-error": { - "title": "Echec du chargement d'un script personnalisé", - "message": "Le script de la note avec l'ID \"{{id}}\", intitulé \"{{title}}\" n'a pas pu être exécuté à cause de\n\n{{message}}" + "add_link": { + "add_link": "Ajouter un lien", + "help_on_links": "Aide sur les liens", + "close": "Fermer", + "note": "Note", + "search_note": "rechercher une note par son nom", + "link_title_mirrors": "le titre du lien reflète le titre actuel de la note", + "link_title_arbitrary": "le titre du lien peut être modifié arbitrairement", + "link_title": "Titre du lien", + "button_add_link": "Ajouter un lien Entrée" + }, + "branch_prefix": { + "edit_branch_prefix": "Modifier le préfixe de branche", + "help_on_tree_prefix": "Aide sur le préfixe de l'arbre", + "close": "Fermer", + "prefix": "Préfixe : ", + "save": "Sauvegarder", + "branch_prefix_saved": "Le préfixe de la branche a été enregistré." + }, + "bulk_actions": { + "bulk_actions": "Actions groupées", + "close": "Fermer", + "affected_notes": "Notes concernées", + "include_descendants": "Inclure les descendants des notes sélectionnées", + "available_actions": "Actions disponibles", + "chosen_actions": "Actions choisies", + "execute_bulk_actions": "Exécuter des Actions groupées", + "bulk_actions_executed": "Les actions groupées ont été exécutées avec succès.", + "none_yet": "Aucune pour l'instant... ajoutez une action en cliquant sur l'une des actions disponibles ci-dessus.", + "labels": "Labels", + "relations": "Relations", + "notes": "Notes", + "other": "Autre" + }, + "clone_to": { + "clone_notes_to": "Cloner les notes dans...", + "close": "Fermer", + "help_on_links": "Aide sur les liens", + "notes_to_clone": "Notes à cloner", + "target_parent_note": "Note parent cible", + "search_for_note_by_its_name": "rechercher une note par son nom", + "cloned_note_prefix_title": "La note clonée sera affichée dans l'arbre des notes avec le préfixe donné", + "prefix_optional": "Préfixe (facultatif)", + "clone_to_selected_note": "Cloner vers la note sélectionnée entrer", + "no_path_to_clone_to": "Aucun chemin vers lequel cloner.", + "note_cloned": "La note \"{{clonedTitle}}\" a été clonée dans \"{{targetTitle}}\"" + }, + "confirm": { + "confirmation": "Confirmation", + "close": "Fermer", + "cancel": "Annuler", + "ok": "OK", + "are_you_sure_remove_note": "Voulez-vous vraiment supprimer la note « {{title}} » de la carte des relations ? ", + "if_you_dont_check": "Si vous ne cochez pas cette case, la note sera seulement supprimée de la carte des relations.", + "also_delete_note": "Supprimer également la note" + }, + "delete_notes": { + "delete_notes_preview": "Supprimer la note", + "close": "Fermer", + "delete_all_clones_description": "Supprimer aussi les clones (peut être annulé dans des modifications récentes)", + "erase_notes_description": "La suppression normale (douce) marque uniquement les notes comme supprimées et elles peuvent être restaurées (dans la boîte de dialogue des Modifications récentes) dans un délai donné. Cocher cette option effacera les notes immédiatement et il ne sera pas possible de les restaurer.", + "erase_notes_warning": "Efface les notes de manière permanente (ne peut pas être annulée), y compris les clones. L'application va être rechargée.", + "notes_to_be_deleted": "Les notes suivantes seront supprimées ({{- noteCount}})", + "no_note_to_delete": "Aucune note ne sera supprimée (uniquement les clones).", + "broken_relations_to_be_deleted": "Les relations suivantes seront rompues et supprimées ({{- relationCount}})", + "cancel": "Annuler", + "ok": "OK", + "deleted_relation_text": "Note {{- note}} (à supprimer) est référencée dans la relation {{- relation}} provenant de {{- source}}." + }, + "export": { + "export_note_title": "Exporter la note", + "close": "Fermer", + "export_type_subtree": "Cette note et tous ses descendants", + "format_html": "HTML - recommandé car il conserve la mise en forme", + "format_html_zip": "HTML dans l'archive ZIP - recommandé car préserve la mise en forme.", + "format_markdown": "Markdown - préserve la majeure partie du formatage.", + "format_opml": "OPML - format d'échange pour les outlineurs, uniquement pour le texte. La mise en forme, les images et les fichiers ne sont pas inclus.", + "opml_version_1": "OPML v1.0 - texte brut uniquement", + "opml_version_2": "OPML v2.0 - HTML également autorisé", + "export_type_single": "Seulement cette note sans ses descendants", + "export": "Exporter", + "choose_export_type": "Choisissez d'abord le type d'export", + "export_status": "Statut d'exportation", + "export_in_progress": "Exportation en cours : {{progressCount}}", + "export_finished_successfully": "L'exportation s'est terminée avec succès.", + "format_pdf": "PDF - pour l'impression ou le partage de documents." + }, + "help": { + "fullDocumentation": "Aide (la documentation complète est disponible en ligne)", + "close": "Fermer", + "noteNavigation": "Navigation dans les notes", + "goUpDown": "HAUT, BAS - aller vers le haut/bas dans la liste des notes", + "collapseExpand": "GAUCHE, DROITE - réduire/développer le nœud", + "notSet": "non défini", + "goBackForwards": "reculer/avancer dans l'historique", + "showJumpToNoteDialog": "afficher la boîte de dialogue \"Aller à la note\"", + "scrollToActiveNote": "faire défiler jusqu'à la note active", + "jumpToParentNote": "Retour arrière - aller à la note parent", + "collapseWholeTree": "réduire tout l'arbre des notes", + "collapseSubTree": "réduire le sous-arbre", + "tabShortcuts": "Raccourcis des onglets", + "newTabNoteLink": "CTRL+clic - (ou clic central de la souris) sur le lien de la note ouvre la note dans un nouvel onglet", + "onlyInDesktop": "Uniquement sur ordinateur (version Electron)", + "openEmptyTab": "ouvrir un onglet vide", + "closeActiveTab": "fermer l'onglet actif", + "activateNextTab": "activer l'onglet suivant", + "activatePreviousTab": "activer l'onglet précédent", + "creatingNotes": "Création de notes", + "createNoteAfter": "créer une nouvelle note après la note active", + "createNoteInto": "créer une nouvelle sous-note dans la note active", + "editBranchPrefix": "modifier le préfixe du clone de note actif", + "movingCloningNotes": "Déplacement / Clonage des notes", + "moveNoteUpDown": "déplacer la note vers le haut/bas dans la liste de notes", + "moveNoteUpHierarchy": "déplacer la note vers le haut dans la hiérarchie", + "multiSelectNote": "sélectionner plusieurs notes au-dessus/au-dessous", + "selectAllNotes": "sélectionner toutes les notes du niveau actuel", + "selectNote": "Shift+clic - sélectionner une note", + "copyNotes": "copier la note active (ou la sélection actuelle) dans le presse-papiers (utilisé pour le clonage)", + "cutNotes": "couper la note actuelle (ou la sélection actuelle) dans le presse-papiers (utilisé pour déplacer les notes)", + "pasteNotes": "coller la ou les notes en tant que sous-note dans la note active (qui est soit déplacée, soit clonée selon qu'elle a été copiée ou coupée dans le presse-papiers)", + "deleteNotes": "supprimer une note / un sous-arbre", + "editingNotes": "Édition des notes", + "editNoteTitle": "dans le volet de l'arborescence, basculera du volet au titre de la note. Presser Entrer à partir du titre de la note basculera vers l’éditeur de texte. Ctrl+. bascule de l'éditeur au volet arborescent.", + "createEditLink": "Ctrl+K - créer/éditer un lien externe", + "createInternalLink": "créer un lien interne", + "followLink": "suivre le lien sous le curseur", + "insertDateTime": "insérer la date et l'heure courante à la position du curseur", + "jumpToTreePane": "passer au volet de l'arborescence et aller jusqu'à la note active", + "markdownAutoformat": "Mise en forme automatique (comme Markdown)", + "headings": "##, ###, #### etc. suivi d'un espace pour les titres", + "bulletList": "* ou - suivi d'un espace pour une liste à puces", + "numberedList": "1. ou 1) suivi d'un espace pour une liste numérotée", + "blockQuote": "commencez une ligne avec > suivi d'un espace pour une citation", + "troubleshooting": "Dépannage", + "reloadFrontend": "recharger l'interface Trilium", + "showDevTools": "afficher les outils de développement", + "showSQLConsole": "afficher la console SQL", + "other": "Autre", + "quickSearch": "aller à la recherche rapide", + "inPageSearch": "recherche sur la page" + }, + "import": { + "importIntoNote": "Importer dans la note", + "close": "Fermer", + "chooseImportFile": "Choisissez le fichier à importer", + "importDescription": "Le contenu du ou des fichiers sélectionnés sera importé en tant que note(s) enfant dans", + "options": "Options", + "safeImportTooltip": "Les fichiers d'exportation Trilium .zip peuvent contenir des scripts exécutables susceptibles de comporter un comportement nuisible. L'importation sécurisée désactivera l'exécution automatique de tous les scripts importés. Décochez \"Importation sécurisée\" uniquement si l'archive importée est censée contenir des scripts exécutables et que vous faites entièrement confiance au contenu du fichier d'importation.", + "safeImport": "Importation sécurisée", + "explodeArchivesTooltip": "Si cette case est cochée, Trilium lira les fichiers .zip, .enex et .opml et créera des notes à partir des fichiers contenus dans ces archives. Si cette case n'est pas cochée, Trilium joindra les archives elles-mêmes à la note.", + "explodeArchives": "Lire le contenu des archives .zip, .enex et .opml.", + "shrinkImagesTooltip": "

Si vous cochez cette option, Trilium tentera de réduire les images importées par mise à l'échelle et optimisation, ce qui peut affecter la qualité de l'image perçue. Si cette case n'est pas cochée, les images seront importées sans modifications.

Cela ne s'applique pas aux importations .zip avec des métadonnées, car on suppose que ces fichiers sont déjà optimisés.

", + "shrinkImages": "Réduire les images", + "textImportedAsText": "Importez HTML, Markdown et TXT sous forme de notes de texte si les métadonnées ne sont pas claires", + "codeImportedAsCode": "Importez des fichiers de code reconnus (par exemple .json) en tant que notes de code si cela n'est pas clair à partir des métadonnées", + "replaceUnderscoresWithSpaces": "Remplacez les tirets bas par des espaces dans les noms de notes importées", + "import": "Importer", + "failed": "Échec de l'importation : {{message}}.", + "html_import_tags": { + "title": "Balises HTML d'importation", + "description": "Configurer quelles balises HTML doivent être préservées lors de l'importation des notes. Les balises qui ne sont pas dans cette liste seront supprimées pendant l'importation. Certaines balises (comme 'script') sont toujours supprimées pour des raisons de sécurité.", + "placeholder": "Saisir les balises HTML, une par ligne", + "reset_button": "Réinitialiser à la liste par défaut" + }, + "import-status": "Statut de l'importation", + "in-progress": "Importation en cours : {{progress}}", + "successful": "Importation terminée avec succès." + }, + "include_note": { + "dialog_title": "Inclure une note", + "close": "Fermer", + "label_note": "Note", + "placeholder_search": "rechercher une note par son nom", + "box_size_prompt": "Taille de la boîte de la note incluse :", + "box_size_small": "petit (~ 10 lignes)", + "box_size_medium": "moyen (~ 30 lignes)", + "box_size_full": "complet (la boîte affiche le texte complet)", + "button_include": "Inclure une note Entrée" + }, + "info": { + "modalTitle": "Message d'information", + "closeButton": "Fermer", + "okButton": "OK" + }, + "jump_to_note": { + "close": "Fermer", + "search_button": "Rechercher dans le texte intégral Ctrl+Entrée" + }, + "markdown_import": { + "dialog_title": "Importation Markdown", + "close": "Fermer", + "modal_body_text": "En raison du bac à sable du navigateur, il n'est pas possible de lire directement le presse-papiers à partir de JavaScript. Veuillez coller le Markdown à importer dans la zone de texte ci-dessous et cliquez sur le bouton Importer", + "import_button": "Importer Ctrl+Entrée", + "import_success": "Le contenu Markdown a été importé dans le document." + }, + "move_to": { + "dialog_title": "Déplacer les notes vers...", + "close": "Fermer", + "notes_to_move": "Notes à déplacer", + "target_parent_note": "Note parent cible", + "search_placeholder": "rechercher une note par son nom", + "move_button": "Déplacer vers la note sélectionnée entrer", + "error_no_path": "Aucun chemin vers lequel déplacer.", + "move_success_message": "Les notes sélectionnées ont été déplacées dans " + }, + "note_type_chooser": { + "modal_title": "Choisissez le type de note", + "close": "Fermer", + "modal_body": "Choisissez le type de note/le modèle de la nouvelle note :", + "templates": "Modèles :" + }, + "password_not_set": { + "title": "Le mot de passe n'est pas défini", + "close": "Fermer", + "body1": "Les notes protégées sont cryptées à l'aide d'un mot de passe utilisateur, mais le mot de passe n'a pas encore été défini.", + "body2": "Pour pouvoir protéger les notes, cliquez ici pour ouvrir les Options et définir votre mot de passe." + }, + "prompt": { + "title": "Prompt", + "close": "Fermer", + "ok": "OK entrer", + "defaultTitle": "Prompt" + }, + "protected_session_password": { + "modal_title": "Session protégée", + "help_title": "Aide sur les notes protégées", + "close_label": "Fermer", + "form_label": "Pour procéder à l'action demandée, vous devez démarrer une session protégée en saisissant le mot de passe :", + "start_button": "Démarrer une session protégée entrer" + }, + "recent_changes": { + "title": "Modifications récentes", + "erase_notes_button": "Effacer les notes supprimées maintenant", + "close": "Fermer", + "deleted_notes_message": "Les notes supprimées ont été effacées.", + "no_changes_message": "Aucun changement pour l'instant...", + "undelete_link": "annuler la suppression", + "confirm_undelete": "Voulez-vous restaurer cette note et ses sous-notes ?" + }, + "revisions": { + "note_revisions": "Versions de la note", + "delete_all_revisions": "Supprimer toutes les versions de cette note", + "delete_all_button": "Supprimer toutes les versions", + "help_title": "Aide sur les versions de notes", + "close": "Fermer", + "revision_last_edited": "Cette version a été modifiée pour la dernière fois le {{date}}", + "confirm_delete_all": "Voulez-vous supprimer toutes les versions de cette note ?", + "no_revisions": "Aucune version pour cette note pour l'instant...", + "confirm_restore": "Voulez-vous restaurer cette version ? Le titre et le contenu actuels de la note seront écrasés par cette version.", + "confirm_delete": "Voulez-vous supprimer cette version ?", + "revisions_deleted": "Les versions de notes ont été supprimées.", + "revision_restored": "La version de la note a été restaurée.", + "revision_deleted": "La version de la note a été supprimée.", + "snapshot_interval": "Délai d'enregistrement automatique des versions de notes : {{seconds}}s.", + "maximum_revisions": "Nombre maximal de versions : {{number}}.", + "settings": "Paramètres des versions de notes", + "download_button": "Télécharger", + "mime": "MIME : ", + "file_size": "Taille du fichier :", + "preview": "Aperçu :", + "preview_not_available": "L'aperçu n'est pas disponible pour ce type de note." + }, + "sort_child_notes": { + "sort_children_by": "Trier les enfants par...", + "close": "Fermer", + "sorting_criteria": "Critères de tri", + "title": "titre", + "date_created": "date de création", + "date_modified": "date de modification", + "sorting_direction": "Sens de tri", + "ascending": "ascendant", + "descending": "descendant", + "folders": "Dossiers", + "sort_folders_at_top": "trier les dossiers en haut", + "natural_sort": "Tri naturel", + "sort_with_respect_to_different_character_sorting": "trier en fonction de différentes règles de tri et de classement des caractères dans différentes langues ou régions.", + "natural_sort_language": "Langage de tri naturel", + "the_language_code_for_natural_sort": "Le code de langue pour le tri naturel, par ex. \"zh-CN\" pour le chinois.", + "sort": "Trier Entrée" + }, + "upload_attachments": { + "upload_attachments_to_note": "Téléverser des pièces jointes à la note", + "close": "Fermer", + "choose_files": "Choisir des fichiers", + "files_will_be_uploaded": "Les fichiers seront téléversés sous forme de pièces jointes dans", + "options": "Options", + "shrink_images": "Réduire les images", + "upload": "Téléverser", + "tooltip": "Si vous cochez cette option, Trilium tentera de réduire les images téléversées par mise à l'échelle et optimisation, ce qui peut affecter la qualité de l'image perçue. Si cette case n'est pas cochée, les images seront téléversées sans modifications." + }, + "attribute_detail": { + "attr_detail_title": "Titre détaillé de l'attribut", + "close_button_title": "Annuler les modifications et fermer", + "attr_is_owned_by": "L'attribut appartient à", + "attr_name_title": "Le nom de l'attribut ne peut être composé que de caractères alphanumériques, de deux-points et de tirets bas", + "name": "Nom", + "value": "Valeur", + "target_note_title": "La relation est une liaison nommée entre une note source et une note cible.", + "target_note": "Note cible", + "promoted_title": "L'attribut promu est affiché bien en évidence sur la note.", + "promoted": "Promu", + "promoted_alias_title": "Nom à afficher dans l'interface des attributs promus.", + "promoted_alias": "Alias", + "multiplicity_title": "La multiplicité définit combien d'attributs du même nom peuvent être créés - au maximum 1 ou plus de 1.", + "multiplicity": "Multiplicité", + "single_value": "Valeur unique", + "multi_value": "Valeur multiple", + "label_type_title": "Le type de label aidera Trilium à choisir l'interface appropriée pour saisir la valeur du label.", + "label_type": "Type", + "text": "Texte", + "number": "Nombre", + "boolean": "Booléen", + "date": "Date", + "date_time": "Date et heure", + "time": "Heure", + "url": "URL", + "precision_title": "Nombre de chiffres après la virgule devant être disponible dans l'interface définissant la valeur.", + "precision": "Précision", + "digits": "chiffres", + "inverse_relation_title": "Paramètre optionnel pour définir à la relation inverse de celle actuellement définie. Exemple : Père - Fils sont des relations inverses l'une par rapport à l'autre.", + "inverse_relation": "Relation inverse", + "inheritable_title": "L'attribut hérité sera transmis à tous les descendants dans cet arbre.", + "inheritable": "Héritable", + "save_and_close": "Enregistrer et fermer Ctrl+Entrée", + "delete": "Supprimer", + "related_notes_title": "Autres notes avec ce label", + "more_notes": "Plus de notes", + "label": "Détail du label", + "label_definition": "Détails de la définition du label", + "relation": "Détail de la relation", + "relation_definition": "Détail de la définition de la relation", + "disable_versioning": "désactive la gestion automatique des versions. Utile pour les notes volumineuses mais sans importance - par ex. grandes bibliothèques JS utilisées pour les scripts", + "calendar_root": "indique la note qui doit être utilisée comme racine pour les notes journalières. Une seule note doit être marquée comme telle.", + "archived": "les notes portant ce label ne seront pas visibles par défaut dans les résultats de recherche (ou dans les boîtes de dialogue Aller à, Ajouter un lien, etc.).", + "exclude_from_export": "les notes (avec leurs sous-arbres) ne seront incluses dans aucune exportation de notes", + "run": "définit à quels événements le script doit s'exécuter. Les valeurs possibles sont :\n
    \n
  • frontendStartup : lorsque l'interface Trilium démarre (ou est actualisée), mais pas sur mobile.
  • \n
  • mobileStartup : lorsque l'interface Trilium démarre (ou est actualisée), sur mobile.
  • \n
  • backendStartup : lorsque le backend Trilium démarre
  • \n
  • toutes les heures : exécution une fois par heure. Vous pouvez utiliser le label supplémentaire runAtHour pour spécifier à quelle heure.
  • \n
  • quotidiennement – exécuter une fois par jour
  • \n
", + "run_on_instance": "Définissez quelle instance de Trilium doit exécuter cette note. Par défaut, toutes les instances.", + "run_at_hour": "À quelle heure la note doit-elle s'exécuter. Doit être utilisé avec #run=hourly. Peut être défini plusieurs fois pour plus d'occurrences au cours de la journée.", + "disable_inclusion": "les scripts portant ce label ne seront pas inclus dans l'exécution du script parent.", + "sorted": "conserve les notes enfants triées alphabétiquement selon leur titre", + "sort_direction": "ASC (par défaut) ou DESC", + "sort_folders_first": "Les dossiers (notes avec enfants) doivent être triés en haut", + "top": "conserver la note donnée en haut dans l'arbre de son parent (s'applique uniquement aux parents triés)", + "hide_promoted_attributes": "Masquer les attributs promus sur cette note", + "read_only": "l'éditeur est en mode lecture seule. Fonctionne uniquement pour les notes de texte et de code.", + "auto_read_only_disabled": "les notes textuelles/de code peuvent être automatiquement mises en mode lecture lorsqu'elles sont trop volumineuses. Vous pouvez désactiver ce comportement note par note en ajoutant ce label à la note", + "app_css": "marque les notes CSS qui sont chargées dans l'application Trilium et peuvent ainsi être utilisées pour modifier l'apparence de Trilium.", + "app_theme": "marque les notes CSS qui sont des thèmes Trilium complets et sont donc disponibles dans les options Trilium.", + "app_theme_base": "définir sur \"next\" afin d'utiliser le thème TriliumNext comme base pour un thème personnalisé à la place de l'ancien thème.", + "css_class": "la valeur de ce label est ensuite ajoutée en tant que classe CSS au nœud représentant la note donnée dans l'arborescence. Cela peut être utile pour les thèmes avancés. Peut être utilisé dans les notes modèle.", + "icon_class": "la valeur de ce label est ajoutée en tant que classe CSS à l'icône dans l'arbre, ce qui peut aider à distinguer visuellement les notes dans l'arborescence. Un exemple pourrait être bx bx-home - les icônes sont extraites de boxicons. Peut être utilisé dans les notes modèle.", + "page_size": "nombre d'éléments par page dans la liste de notes", + "custom_request_handler": "voir le Gestionnaire de requêtes personnalisé", + "custom_resource_provider": "voir le Gestionnaire de requêtes personnalisé", + "widget": "indique que cette note est un widget personnalisé qui sera ajouté à l'arbre des composants Trilium", + "workspace": "cette note devient un espace de travail. Le focus sur cette note est facilité", + "workspace_icon_class": "définit l'icône CSS utilisé dans l'onglet lorsque la note est focus", + "workspace_tab_background_color": "Couleur CSS utilisée dans l'onglet lorsque cette note est focus", + "workspace_calendar_root": "Définit la racine du calendrier pour un espace de travail", + "workspace_template": "Cette note apparaîtra dans la sélection des modèles disponibles lors de la création d'une nouvelle note, mais uniquement si un espace de travail contenant ce modèle est focus", + "search_home": "les nouvelles notes de recherche seront créées en tant qu'enfants de cette note", + "workspace_search_home": "de nouvelles notes de recherche seront créées en tant qu'enfants de cette note, lorsqu'une note ancêtre de cet espace de travail est focus", + "inbox": "emplacement par défaut pour les nouvelles notes - lorsque vous créez une note à l'aide du bouton \"nouvelle note\" dans la barre latérale, les notes seront créées en tant que notes enfants dans la note marquée avec le label #inbox.", + "workspace_inbox": "emplacement par défaut des nouvelles notes lorsque le focus est sur une note ancêtre de cet espace de travail", + "sql_console_home": "emplacement par défaut des notes de la console SQL", + "bookmark_folder": "une note avec ce label apparaîtra dans les favoris sous forme de dossier (permettant l'accès à ses notes enfants)", + "share_hidden_from_tree": "cette note est masquée dans l'arbre de navigation de gauche, mais toujours accessible avec son URL", + "share_external_link": "la note fera office de lien vers un site Web externe dans l'arbre partagée", + "share_alias": "définit un alias à l'aide duquel la note sera disponible sous https://your_trilium_host/share/[votre_alias]", + "share_omit_default_css": "le CSS de la page de partage par défaut ne sera pas pris en compte. À utiliser lorsque vous apportez des modifications de style importantes.", + "share_root": "partage cette note à l'adresse racine /share.", + "share_description": "définir le texte à ajouter à la balise méta HTML pour la description", + "share_raw": "la note sera servie dans son format brut, sans wrapper HTML", + "share_disallow_robot_indexing": "interdira l'indexation par robot de cette note via l'en-tête X-Robots-Tag: noindex", + "share_credentials": "exiger des informations d’identification pour accéder à cette note partagée. La valeur devrait être au format « nom d'utilisateur : mot de passe ». N'oubliez pas de rendre cela héritable pour l'appliquer aux notes/images enfants.", + "share_index": "la note avec ce label listera toutes les racines des notes partagées", + "display_relations": "noms des relations délimités par des virgules qui doivent être affichés. Tous les autres seront masqués.", + "hide_relations": "noms de relations délimités par des virgules qui doivent être masqués. Tous les autres seront affichés.", + "title_template": "titre par défaut des notes créées en tant qu'enfants de cette note. La valeur est évaluée sous forme de chaîne JavaScript \n et peut ainsi être enrichi de contenu dynamique via les variables injectées now et parentNote. Exemples :\n \n
    \n
  • Œuvres littéraires de ${parentNote.getLabelValue('authorName')}
  • \n
  • Connectez-vous pour ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n Consultez le wiki avec plus de détails, la documentation sur l'API pour parentNote et maintenant< /a> pour plus de détails.", + "template": "Cette note apparaîtra parmi les modèles disponibles lors de la création d'une nouvelle note", + "toc": "#toc ou #toc=show forcera l'affichage de la table des matières, #toc=hide force qu'elle soit masquée. Si le label n'existe pas, le paramètre global est utilisé", + "color": "définit la couleur de la note dans l'arborescence des notes, les liens, etc. Utilisez n'importe quelle valeur de couleur CSS valide comme « rouge » ou #a13d5f", + "keyboard_shortcut": "Définit un raccourci clavier qui ouvrira immédiatement cette note. Exemple : 'ctrl+alt+e'. Nécessite un rechargement du frontend pour que la modification prenne effet.", + "keep_current_hoisting": "L'ouverture de ce lien ne modifiera pas le focus même si la note n'est pas affichable dans le sous-arbre actuellement focus.", + "execute_button": "Titre du bouton qui exécutera la note de code en cours", + "execute_description": "Description plus longue de la note de code actuelle affichée avec le bouton d'exécution", + "exclude_from_note_map": "Les notes avec ce label seront masquées de la carte des notes", + "new_notes_on_top": "Les nouvelles notes seront créées en haut de la note parent, et non en bas.", + "hide_highlight_widget": "Masquer le widget Important", + "run_on_note_creation": "s'exécute lorsque la note est créée dans le backend. Utilisez cette relation si vous souhaitez exécuter le script pour toutes les notes créées sous un sous-arbre spécifique. Dans ce cas, créez-le sur la note racine du sous-arbre et rendez-la héritable. Une nouvelle note créée dans le sous-arbre (peu importe la profondeur) déclenchera le script.", + "run_on_child_note_creation": "s'exécute lorsqu'une nouvelle note est créée sous la note où cette relation est définie", + "run_on_note_title_change": "s'exécute lorsque le titre de la note est modifié (inclut également la création de notes)", + "run_on_note_content_change": "s'exécute lorsque le contenu de la note est modifié (inclut également la création de notes).", + "run_on_note_change": "s'exécute lorsque la note est modifiée (inclut également la création de notes). N'inclut pas les modifications de contenu", + "run_on_note_deletion": "s'exécute lorsque la note est supprimée", + "run_on_branch_creation": "s'exécute lorsqu'une branche est créée. La branche est un lien entre la note parent et la note enfant. Elle est créée, par exemple, lors du clonage ou du déplacement d'une note.", + "run_on_branch_change": "s'exécute lorsqu'une branche est mise à jour.", + "run_on_branch_deletion": "s'exécute lorsqu'une branche est supprimée La branche est un lien entre la note parent et la note enfant. Elle est supprimée, par exemple, lors du déplacement d'une note (l'ancienne branche/lien est supprimé).", + "run_on_attribute_creation": "s'exécute lorsqu'un nouvel attribut pour la note qui définit cette relation est créé", + "run_on_attribute_change": " s'exécute lorsque l'attribut est modifié d'une note qui définit cette relation. Ceci est également déclenché lorsque l'attribut est supprimé", + "relation_template": "les attributs de la note seront hérités même sans relation parent-enfant, le contenu de la note et son sous-arbre seront transmis aux notes utilisant ce modèle si elles sont vides. Voir la documentation pour plus de détails.", + "inherit": "les attributs de la note seront hérités même sans relation parent-enfant. Voir la relation Modèle pour un comportement similaire. Voir l'héritage des attributs dans la documentation.", + "render_note": "les notes de type \"Rendu HTML\" seront rendues à partir d'une note de code (HTML ou script). Utilisez cette relation pour pointer vers la note de code à afficher", + "widget_relation": "la note cible de cette relation sera exécutée et affichée sous forme de widget dans la barre latérale", + "share_css": "Note CSS qui sera injectée dans la page de partage. La note CSS doit également figurer dans le sous-arbre partagé. Pensez également à utiliser « share_hidden_from_tree » et « share_omit_default_css ».", + "share_js": "Note JavaScript qui sera injectée dans la page de partage. La note JS doit également figurer dans le sous-arbre partagé. Pensez à utiliser 'share_hidden_from_tree'.", + "share_template": "Note JavaScript intégrée qui sera utilisée comme modèle pour afficher la note partagée. Revient au modèle par défaut. Pensez à utiliser 'share_hidden_from_tree'.", + "share_favicon": "Favicon de la note à définir dans la page partagée. En règle générale, vous souhaitez le configurer pour partager la racine et le rendre héritable. La note Favicon doit également figurer dans le sous-arbre partagé. Pensez à utiliser 'share_hidden_from_tree'.", + "is_owned_by_note": "appartient à la note", + "other_notes_with_name": "Autres notes portant le nom {{attributeType}} \"{{attributeName}}\"", + "and_more": "... et {{count}} plus.", + "print_landscape": "Lors de l'exportation en PDF, change l'orientation de la page en paysage au lieu de portrait.", + "print_page_size": "Lors de l'exportation en PDF, change la taille de la page. Valeurs supportées : A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." + }, + "attribute_editor": { + "help_text_body1": "Pour ajouter un label, tapez simplement par ex. #rock, ou si vous souhaitez également ajouter une valeur, tapez par ex. #année = 2020", + "help_text_body2": "Pour la relation, tapez ~author = @ qui devrait afficher une saisie semi-automatique où vous pourrez rechercher la note souhaitée.", + "help_text_body3": "Vous pouvez également ajouter un label et une relation en utilisant le bouton + sur le côté droit.", + "save_attributes": "Enregistrer les attributs ", + "add_a_new_attribute": "Ajouter un nouvel attribut", + "add_new_label": "Ajouter un nouveau label ", + "add_new_relation": "Ajouter une nouvelle relation ", + "add_new_label_definition": "Ajouter une nouvelle définition de label", + "add_new_relation_definition": "Ajouter une nouvelle définition de relation", + "placeholder": "Saisir les labels et les relations ici" + }, + "abstract_bulk_action": { + "remove_this_search_action": "Supprimer cette action dans la recherche" + }, + "execute_script": { + "execute_script": "Exécuter le script", + "help_text": "Vous pouvez exécuter des scripts simples sur les notes correspondantes.", + "example_1": "Par exemple pour ajouter une chaîne de caractères au titre d'une note, utilisez ce petit script :", + "example_2": "Un exemple plus complexe serait de supprimer tous les attributs de la note correspondante :" + }, + "add_label": { + "add_label": "Ajouter un label", + "label_name_placeholder": "nom du label", + "label_name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", + "to_value": "modifié par", + "new_value_placeholder": "nouvelle valeur", + "help_text": "Pour toutes les notes correspondantes :", + "help_text_item1": "créer un label donné si la note ne le possède pas encore", + "help_text_item2": "ou modifier la valeur du label existant", + "help_text_note": "Vous pouvez également appeler cette méthode sans valeur : dans ce cas le label sera attribué sans valeur à la note." + }, + "delete_label": { + "delete_label": "Supprimer le label", + "label_name_placeholder": "nom du label", + "label_name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." + }, + "rename_label": { + "rename_label": "Renommer le label", + "rename_label_from": "Renommer le label de", + "old_name_placeholder": "ancien nom", + "to": "En", + "new_name_placeholder": "nouveau nom", + "name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." + }, + "update_label_value": { + "update_label_value": "Mettre à jour la valeur du label", + "label_name_placeholder": "nom du label", + "label_name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", + "to_value": "modifié par", + "new_value_placeholder": "nouvelle valeur", + "help_text": "Pour toutes les notes correspondantes, modifier la valeur du label.", + "help_text_note": "Vous pouvez également appeler cette méthode sans valeur, dans ce cas le label sera attribué à la note sans valeur." + }, + "delete_note": { + "delete_note": "Supprimer la note", + "delete_matched_notes": "Supprimer les notes correspondantes", + "delete_matched_notes_description": "Cela supprimera les notes correspondantes.", + "undelete_notes_instruction": "Après la suppression, il est possible de les restaurer à partir de la boîte de dialogue Modifications récentes.", + "erase_notes_instruction": "Pour effacer les notes définitivement, vous pouvez aller après la suppression dans Options -> Autre et cliquer sur le bouton \"Effacer les notes supprimées maintenant\"." + }, + "delete_revisions": { + "delete_note_revisions": "Supprimer les versions de notes", + "all_past_note_revisions": "Toutes les versions de notes antérieures des notes correspondantes seront supprimées. La note elle-même sera entièrement préservée. En d’autres termes, l’historique de la note sera supprimé." + }, + "move_note": { + "move_note": "Déplacer la note", + "to": "vers", + "target_parent_note": "note parent cible", + "on_all_matched_notes": "Pour toutes les notes correspondantes", + "move_note_new_parent": "déplacer la note vers le nouveau parent si la note n'a qu'un seul parent (c.-à-d. l'ancienne branche est supprimée et une nouvelle branche est créée dans le nouveau parent)", + "clone_note_new_parent": "cloner la note vers le nouveau parent si la note a plusieurs clones/branches (il n'est pas clair quelle branche doit être supprimée)", + "nothing_will_happen": "rien ne se passera si la note ne peut pas être déplacée vers la note cible (cela créerait une boucle dans l'arborescence)" + }, + "rename_note": { + "rename_note": "Renommer la note", + "rename_note_title_to": "Renommer le titre de la note en", + "new_note_title": "nouveau titre de note", + "click_help_icon": "Cliquez sur l'icône d'aide à droite pour voir toutes les options", + "evaluated_as_js_string": "La valeur donnée est évaluée comme une chaîne JavaScript et peut ainsi être enrichie de contenu dynamique via la variable note injectée (la note étant renommée). Exemples :", + "example_note": "Note - toutes les notes correspondantes sont renommées « Note »", + "example_new_title": "NOUVEAU : ${note.title} : les titres des notes correspondantes sont préfixés par \"NOUVEAU : \"", + "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')} : ${note.title} : les notes correspondantes sont précédées du mois et de la date de création de la note", + "api_docs": "Consultez la documentation de l'API pour la note et ses propriétés dateCreatedObj / utcDateCreatedObj pour plus de détails." + }, + "add_relation": { + "add_relation": "Ajouter une relation", + "relation_name": "nom de la relation", + "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", + "to": "vers", + "target_note": "note cible", + "create_relation_on_all_matched_notes": "Pour toutes les notes correspondantes, créer une relation donnée." + }, + "delete_relation": { + "delete_relation": "Supprimer la relation", + "relation_name": "nom de la relation", + "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." + }, + "rename_relation": { + "rename_relation": "Renommer la relation", + "rename_relation_from": "Renommer la relation de", + "old_name": "ancien nom", + "to": "En", + "new_name": "nouveau nom", + "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." + }, + "update_relation_target": { + "update_relation": "Mettre à jour la relation", + "relation_name": "nom de la relation", + "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", + "to": "vers", + "target_note": "note cible", + "on_all_matched_notes": "Pour toutes les notes correspondantes", + "change_target_note": "ou changer la note cible de la relation existante", + "update_relation_target": "Mettre à jour la cible de la relation" + }, + "attachments_actions": { + "open_externally": "Ouverture externe", + "open_externally_title": "Le fichier sera ouvert dans une application externe et les modifications apportées seront surveillées. \nVous pourrez ensuite téléverser la version modifiée dans Trilium.", + "open_custom": "Ouvrir avec", + "open_custom_title": "Le fichier sera ouvert dans une application externe et surveillé pour les modifications. Vous pourrez ensuite téléverser la version modifiée sur Trilium.", + "download": "Télécharger", + "rename_attachment": "Renommer la pièce jointe", + "upload_new_revision": "Téléverser une nouvelle version", + "copy_link_to_clipboard": "Copier le lien dans le presse-papier", + "convert_attachment_into_note": "Convertir la pièce jointe en note", + "delete_attachment": "Supprimer la pièce jointe", + "upload_success": "Une nouvelle version de pièce jointe a été téléversée.", + "upload_failed": "Le téléversement d'une nouvelle version de pièce jointe a échoué.", + "open_externally_detail_page": "L'ouverture externe d'une pièce jointe n''est disponible qu'à partir de la page de détails. Veuillez d'abord cliquer sur les détails de la pièce jointe et répéter l'opération.", + "open_custom_client_only": "L'option \"Ouvrir avec\" des pièces jointes n'est disponible que dans la version bureau de Trilium.", + "delete_confirm": "Êtes-vous sûr de vouloir supprimer la pièce jointe « {{title}} » ?", + "delete_success": "La pièce jointe « {{title}} » a été supprimée.", + "convert_confirm": "Êtes-vous sûr de vouloir convertir la pièce jointe « {{title}} » en une note distincte ?", + "convert_success": "La pièce jointe « {{title}} » a été convertie en note.", + "enter_new_name": "Veuillez saisir le nom de la nouvelle pièce jointe" + }, + "calendar": { + "mon": "Lun", + "tue": "Mar", + "wed": "Mer", + "thu": "Jeu", + "fri": "Ven", + "sat": "Sam", + "sun": "Dim", + "cannot_find_day_note": "Note journalière introuvable", + "january": "Janvier", + "febuary": "Février", + "march": "Mars", + "april": "Avril", + "may": "Mai", + "june": "Juin", + "july": "Juillet", + "august": "Août", + "september": "Septembre", + "october": "Octobre", + "november": "Novembre", + "december": "Décembre" + }, + "close_pane_button": { + "close_this_pane": "Fermer ce volet" + }, + "create_pane_button": { + "create_new_split": "Créer une nouvelle division" + }, + "edit_button": { + "edit_this_note": "Modifier cette note" + }, + "show_toc_widget_button": { + "show_toc": "Afficher la Table des matières" + }, + "show_highlights_list_widget_button": { + "show_highlights_list": "Afficher la liste des Accentuations" + }, + "global_menu": { + "menu": "Menu", + "options": "Options", + "open_new_window": "Ouvrir une nouvelle fenêtre", + "switch_to_mobile_version": "Passer à la version mobile", + "switch_to_desktop_version": "Passer à la version de bureau", + "zoom": "Zoom", + "toggle_fullscreen": "Basculer en plein écran", + "zoom_out": "Zoom arrière", + "reset_zoom_level": "Réinitialiser le niveau de zoom", + "zoom_in": "Zoomer", + "configure_launchbar": "Configurer la Barre de raccourcis", + "show_shared_notes_subtree": "Afficher le Sous-arbre des Notes Partagées", + "advanced": "Avancé", + "open_dev_tools": "Ouvrir les Outils de dév", + "open_sql_console": "Ouvrir la Console SQL", + "open_sql_console_history": "Ouvrir l'Historique de la console SQL", + "open_search_history": "Ouvrir l'Historique de recherche", + "show_backend_log": "Afficher le Journal back-end", + "reload_hint": "Recharger l'application peut aider à résoudre certains problèmes visuels sans redémarrer l'application.", + "reload_frontend": "Recharger l'interface", + "show_hidden_subtree": "Afficher le Sous-arbre caché", + "show_help": "Afficher l'aide", + "about": "À propos de Trilium Notes", + "logout": "Déconnexion", + "show-cheatsheet": "Afficher l'aide rapide", + "toggle-zen-mode": "Zen Mode" + }, + "zen_mode": { + "button_exit": "Sortir du Zen mode" + }, + "sync_status": { + "unknown": "

Le statut de la synchronisation sera connu à la prochaine tentative de synchronisation.

Cliquez pour déclencher la synchronisation maintenant.

", + "connected_with_changes": "

Connecté au serveur de synchronisation.
Il reste quelques modifications à synchroniser.

Cliquez pour déclencher la synchronisation.

", + "connected_no_changes": "

Connecté au serveur de synchronisation.
Toutes les modifications ont déjà été synchronisées.

Cliquez pour déclencher la synchronisation.

", + "disconnected_with_changes": "

La connexion au serveur de synchronisation a échoué.
Il reste encore des modifications à synchroniser.

Cliquez pour déclencher la synchronisation.

", + "disconnected_no_changes": "

La connexion au serveur de synchronisation a échoué.
Il reste encore des modifications à synchroniser.

Cliquez pour déclencher la synchronisation.

", + "in_progress": "La synchronisation avec le serveur est en cours." + }, + "left_pane_toggle": { + "show_panel": "Afficher le panneau", + "hide_panel": "Masquer le panneau" + }, + "move_pane_button": { + "move_left": "Déplacer vers la gauche", + "move_right": "Déplacer à droite" + }, + "note_actions": { + "convert_into_attachment": "Convertir en pièce jointe", + "re_render_note": "Re-rendre la note", + "search_in_note": "Rechercher dans la note", + "note_source": "Code source", + "note_attachments": "Pièces jointes", + "open_note_externally": "Ouverture externe", + "open_note_externally_title": "Le fichier sera ouvert dans une application externe et les modifications apportées seront surveillées. Vous pourrez ensuite téléverser la version modifiée dans Trilium.", + "open_note_custom": "Ouvrir la note avec", + "import_files": "Importer des fichiers", + "export_note": "Exporter la note", + "delete_note": "Supprimer la note", + "print_note": "Imprimer la note", + "save_revision": "Enregistrer la version", + "convert_into_attachment_failed": "La conversion de la note '{{title}}' a échoué.", + "convert_into_attachment_successful": "La note '{{title}}' a été convertie en pièce jointe.", + "convert_into_attachment_prompt": "Êtes-vous sûr de vouloir convertir la note '{{title}}' en une pièce jointe de la note parente ?", + "print_pdf": "Exporter en PDF..." + }, + "onclick_button": { + "no_click_handler": "Le widget bouton '{{componentId}}' n'a pas de gestionnaire de clic défini" + }, + "protected_session_status": { + "active": "La session protégée est active. Cliquez pour quitter la session protégée.", + "inactive": "Cliquez pour accéder à une session protégée" + }, + "revisions_button": { + "note_revisions": "Versions des Notes" + }, + "update_available": { + "update_available": "Mise à jour disponible" + }, + "note_launcher": { + "this_launcher_doesnt_define_target_note": "Ce raccourci ne définit pas de note cible." + }, + "code_buttons": { + "execute_button_title": "Exécuter le script", + "trilium_api_docs_button_title": "Ouvrir la documentation de l'API Trilium", + "save_to_note_button_title": "Enregistrer dans la note", + "opening_api_docs_message": "Ouverture de la documentation de l'API...", + "sql_console_saved_message": "La note de la console SQL a été enregistrée dans {{note_path}}" + }, + "copy_image_reference_button": { + "button_title": "Copier la référence de l'image dans le presse-papiers, peut être collée dans une note textuelle." + }, + "hide_floating_buttons_button": { + "button_title": "Masquer les boutons" + }, + "show_floating_buttons_button": { + "button_title": "Afficher les boutons" + }, + "svg_export_button": { + "button_title": "Exporter le diagramme au format SVG" + }, + "relation_map_buttons": { + "create_child_note_title": "Créer une nouvelle note enfant et l'ajouter à cette carte de relation", + "reset_pan_zoom_title": "Réinitialiser le panoramique et le zoom aux coordonnées et à la position initiales", + "zoom_in_title": "Zoomer", + "zoom_out_title": "Zoom arrière" + }, + "zpetne_odkazy": { + "backlink": "{{count}} Lien inverse", + "backlinks": "{{count}} Liens inverses", + "relation": "relation" + }, + "mobile_detail_menu": { + "insert_child_note": "Insérer une note enfant", + "delete_this_note": "Supprimer cette note", + "error_cannot_get_branch_id": "Impossible d'obtenir branchId pour notePath '{{notePath}}'", + "error_unrecognized_command": "Commande non reconnue {{command}}" + }, + "note_icon": { + "change_note_icon": "Changer l'icône de note", + "category": "Catégorie :", + "search": "Recherche :", + "reset-default": "Réinitialiser l'icône par défaut" + }, + "basic_properties": { + "note_type": "Type de note", + "editable": "Modifiable", + "basic_properties": "Propriétés de base" + }, + "book_properties": { + "view_type": "Type d'affichage", + "grid": "Grille", + "list": "Liste", + "collapse_all_notes": "Réduire toutes les notes", + "expand_all_children": "Développer tous les enfants", + "collapse": "Réduire", + "expand": "Développer", + "invalid_view_type": "Type de vue non valide '{{type}}'", + "calendar": "Calendrier" + }, + "edited_notes": { + "no_edited_notes_found": "Aucune note modifiée ce jour-là...", + "title": "Notes modifiées", + "deleted": "(supprimé)" + }, + "file_properties": { + "note_id": "Identifiant de la note", + "original_file_name": "Nom du fichier d'origine", + "file_type": "Type de fichier", + "file_size": "Taille du fichier", + "download": "Télécharger", + "open": "Ouvrir", + "upload_new_revision": "Téléverser une nouvelle version", + "upload_success": "Une nouvelle version de fichier a été téléversée.", + "upload_failed": "Le téléversement d'une nouvelle version de fichier a échoué.", + "title": "Fichier" + }, + "image_properties": { + "original_file_name": "Nom du fichier d'origine", + "file_type": "Type de fichier", + "file_size": "Taille du fichier", + "download": "Télécharger", + "open": "Ouvrir", + "copy_reference_to_clipboard": "Copier la référence dans le presse-papiers", + "upload_new_revision": "Téléverser une nouvelle version", + "upload_success": "Une nouvelle version d'image a été téléversée.", + "upload_failed": "Échec de l'importation d'une nouvelle version d'image : {{message}}", + "title": "Image" + }, + "inherited_attribute_list": { + "title": "Attributs hérités", + "no_inherited_attributes": "Aucun attribut hérité." + }, + "note_info_widget": { + "note_id": "Identifiant de la note", + "created": "Créé", + "modified": "Modifié", + "type": "Type", + "note_size": "Taille de la note", + "note_size_info": "La taille de la note fournit une estimation approximative des besoins de stockage pour cette note. Il prend en compte le contenu de la note et de ses versions.", + "calculate": "calculer", + "subtree_size": "(taille du sous-arbre : {{size}} pour {{count}} notes)", + "title": "Infos sur la Note" + }, + "note_map": { + "open_full": "Développer au maximum", + "collapse": "Réduire à la taille normale", + "title": "Carte de la Note", + "fix-nodes": "Réparer les nœuds", + "link-distance": "Distance du lien" + }, + "note_paths": { + "title": "Chemins de la Note", + "clone_button": "Cloner la note vers un nouvel emplacement...", + "intro_placed": "Cette note est située dans les chemins suivants :", + "intro_not_placed": "Cette note n'est pas encore située dans l'arbre des notes.", + "outside_hoisted": "Ce chemin est en dehors de la note focus et vous devrez désactiver le focus.", + "archived": "Archivé", + "search": "Recherche" + }, + "note_properties": { + "this_note_was_originally_taken_from": "Cette note est initialement extraite de :", + "info": "Infos" + }, + "owned_attribute_list": { + "owned_attributes": "Attributs propres" + }, + "promoted_attributes": { + "promoted_attributes": "Attributs promus", + "unset-field-placeholder": "non défini", + "url_placeholder": "http://siteweb...", + "open_external_link": "Ouvrir le lien externe", + "unknown_label_type": "Type de label inconnu '{{type}}'", + "unknown_attribute_type": "Type d'attribut inconnu '{{type}}'", + "add_new_attribute": "Ajouter un nouvel attribut", + "remove_this_attribute": "Supprimer cet attribut" + }, + "script_executor": { + "query": "Requête", + "script": "Script", + "execute_query": "Exécuter la requête", + "execute_script": "Exécuter le script" + }, + "search_definition": { + "add_search_option": "Ajouter une option de recherche :", + "search_string": "chaîne de caractères à rechercher", + "search_script": "script de recherche", + "ancestor": "ancêtre", + "fast_search": "recherche rapide", + "fast_search_description": "L'option de recherche rapide désactive la recherche dans le texte intégral du contenu des notes, ce qui peut accélérer la recherche dans les grandes bases de données.", + "include_archived": "inclure les archivées", + "include_archived_notes_description": "Par défaut, les notes archivées sont exclues des résultats de recherche : avec cette option, elles seront incluses.", + "order_by": "trier par", + "limit": "limite", + "limit_description": "Limiter le nombre de résultats", + "debug": "debug", + "debug_description": "Debug imprimera des informations supplémentaires dans la console pour faciliter le débogage des requêtes complexes", + "action": "action", + "search_button": "Recherche Entrée", + "search_execute": "Rechercher et exécuter des actions", + "save_to_note": "Enregistrer dans la note", + "search_parameters": "Paramètres de recherche", + "unknown_search_option": "Option de recherche inconnue {{searchOptionName}}", + "search_note_saved": "La note de recherche a été enregistrée dans {{- notePathTitle}}", + "actions_executed": "Les actions ont été exécutées." + }, + "similar_notes": { + "title": "Notes similaires", + "no_similar_notes_found": "Aucune note similaire trouvée." + }, + "abstract_search_option": { + "remove_this_search_option": "Supprimer cette option de recherche", + "failed_rendering": "Le chargement de l'option de recherche : {{dto}} a échoué avec l'erreur : {{error}} {{stack}}" + }, + "ancestor": { + "label": "Ancêtre", + "placeholder": "rechercher une note par son nom", + "depth_label": "profondeur", + "depth_doesnt_matter": "n'a pas d'importance", + "depth_eq": "est exactement {{count}}", + "direct_children": "enfants directs", + "depth_gt": "est supérieur à {{count}}", + "depth_lt": "est inférieur à {{count}}" + }, + "debug": { + "debug": "Debug", + "debug_info": "Debug imprimera des informations supplémentaires dans la console pour faciliter le débogage des requêtes complexes.", + "access_info": "Pour accéder aux informations de débogage, exécutez la requête et cliquez sur \"Afficher le journal backend\" dans le coin supérieur gauche." + }, + "fast_search": { + "fast_search": "Recherche rapide", + "description": "L'option de recherche rapide désactive la recherche dans le texte intégral du contenu des notes, ce qui peut accélérer la recherche dans les grandes bases de données." + }, + "include_archived_notes": { + "include_archived_notes": "Inclure les notes archivées" + }, + "limit": { + "limit": "Limite", + "take_first_x_results": "Ne prendre que les X premiers résultats spécifiés." + }, + "order_by": { + "order_by": "Trier par", + "relevancy": "Pertinence (par défaut)", + "title": "Titre", + "date_created": "Date de création", + "date_modified": "Date de dernière modification", + "content_size": "Taille de la note", + "content_and_attachments_size": "Taille de la note (pièces jointes comprises)", + "content_and_attachments_and_revisions_size": "Taille de note (pièces jointes et versions comprises)", + "revision_count": "Nombre de versions", + "children_count": "Nombre de notes enfants", + "parent_count": "Nombre de clones", + "owned_label_count": "Nombre de labels", + "owned_relation_count": "Nombre de relations", + "target_relation_count": "Nombre de relations ciblant la note", + "random": "Ordre aléatoire", + "asc": "Ascendant (par défaut)", + "desc": "Descendant" + }, + "search_script": { + "title": "Script de recherche :", + "placeholder": "rechercher une note par son nom", + "description1": "Le script de recherche permet de définir les résultats de la recherche en exécutant un script. Cela offre une flexibilité maximale lorsque la recherche standard ne suffit pas.", + "description2": "Le script de recherche doit être de type \"code\" et sous-type \"backend JavaScript\". Le script doit retourner un tableau de noteIds ou de notes.", + "example_title": "Voir cet exemple :", + "example_code": "// 1. préfiltrage à l'aide de la recherche standard\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. application de critères de recherche personnalisés\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", + "note": "Notez que le script de recherche et la l'expression à rechercher standard ne peuvent pas être combinés." + }, + "search_string": { + "title_column": "Expression à rechercher :", + "placeholder": "mots-clés du texte, #tag = valeur...", + "search_syntax": "Syntaxe de recherche", + "also_see": "voir aussi", + "complete_help": "aide complète sur la syntaxe de recherche", + "full_text_search": "Entrez simplement n'importe quel texte pour rechercher dans le contenu des notes", + "label_abc": "renvoie les notes avec le label abc", + "label_year": "correspond aux notes possédant le label year ayant la valeur 2019", + "label_rock_pop": "correspond aux notes qui ont à la fois les labels rock et pop", + "label_rock_or_pop": "un seul des labels doit être présent", + "label_year_comparison": "comparaison numérique (également >, >=, <).", + "label_date_created": "notes créées le mois dernier", + "error": "Erreur de recherche : {{error}}", + "search_prefix": "Recherche :" + }, + "attachment_detail": { + "open_help_page": "Ouvrir la page d'aide sur les pièces jointes", + "owning_note": "Note d'appartenance : ", + "you_can_also_open": ", vous pouvez également ouvrir ", + "list_of_all_attachments": "Liste de toutes les pièces jointes", + "attachment_deleted": "Cette pièce jointe a été supprimée." + }, + "attachment_list": { + "open_help_page": "Ouvrir la page d'aide à propos des pièces jointes", + "owning_note": "Note d'appartenance : ", + "upload_attachments": "Téléverser des pièces jointes", + "no_attachments": "Cette note ne contient aucune pièce jointe." + }, + "book": { + "no_children_help": "Cette note de type Livre n'a aucune note enfant, donc il n'y a rien à afficher. Consultez le wiki pour plus de détails." + }, + "editable_code": { + "placeholder": "Saisir le contenu de votre note de code ici..." + }, + "editable_text": { + "placeholder": "Saisir le contenu de votre note ici..." + }, + "empty": { + "open_note_instruction": "Ouvrez une note en tapant son titre dans la zone ci-dessous ou choisissez une note dans l'arborescence.", + "search_placeholder": "rechercher une note par son nom", + "enter_workspace": "Entrez dans l'espace de travail {{title}}" + }, + "file": { + "file_preview_not_available": "L'aperçu du fichier n'est pas disponible pour ce format de fichier.", + "too_big": "L'aperçu ne montre que les premiers caractères {{maxNumChars}} du fichier pour des raisons de performance. Téléchargez le fichier et ouvrez-le en dehors de Trilium pour voir tout le contenu." + }, + "protected_session": { + "enter_password_instruction": "L'affichage de la note protégée nécessite la saisie de votre mot de passe :", + "start_session_button": "Démarrer une session protégée Entrée", + "started": "La session protégée a démarré.", + "wrong_password": "Mot de passe incorrect.", + "protecting-finished-successfully": "La protection de la note s'est terminée avec succès.", + "unprotecting-finished-successfully": "La protection de la note a été retirée avec succès.", + "protecting-in-progress": "Protection en cours : {{count}}", + "unprotecting-in-progress-count": "Retrait de la protection en cours : {{count}}", + "protecting-title": "Statut de la protection", + "unprotecting-title": "Statut de la non-protection" + }, + "relation_map": { + "open_in_new_tab": "Ouvrir dans un nouvel onglet", + "remove_note": "Supprimer la note", + "edit_title": "Modifier le titre", + "rename_note": "Renommer la note", + "enter_new_title": "Saisissez le nouveau titre de la note :", + "remove_relation": "Supprimer la relation", + "confirm_remove_relation": "Êtes-vous sûr de vouloir supprimer la relation ?", + "specify_new_relation_name": "Spécifiez le nom de la nouvelle relation (caractères autorisés : alphanumérique, deux-points et tiret-bas.) :", + "connection_exists": "La connexion « {{name}} » entre ces notes existe déjà.", + "start_dragging_relations": "Commencez à faire glisser les relations à partir d'ici et déposez-les sur une autre note.", + "note_not_found": "Note {{noteId}} introuvable !", + "cannot_match_transform": "Correspondance à la transformation : {{transform}} introuvable", + "note_already_in_diagram": "La note \"{{title}}\" est déjà dans le diagramme.", + "enter_title_of_new_note": "Entrez le titre de la nouvelle note", + "default_new_note_title": "nouvelle note", + "click_on_canvas_to_place_new_note": "Cliquez sur le canevas pour placer une nouvelle note" + }, + "render": { + "note_detail_render_help_1": "Cette note d'aide s'affiche car cette note de type Rendu HTML n'a pas la relation requise pour fonctionner correctement.", + "note_detail_render_help_2": "Le type de note Rendu HTML est utilisé pour les scripts. En résumé, vous disposez d'une note de code HTML (éventuellement contenant JavaScript) et cette note affichera le rendu. Pour que cela fonctionne, vous devez définir une relation appelée \"renderNote\" pointant vers la note HTML à rendre." + }, + "web_view": { + "web_view": "Affichage Web", + "embed_websites": "Les notes de type Affichage Web vous permet d'intégrer des sites Web dans Trilium.", + "create_label": "Pour commencer, veuillez créer un label avec l'adresse URL que vous souhaitez intégrer, par ex. #webViewSrc=\"https://www.google.com\"" + }, + "backend_log": { + "refresh": "Rafraîchir" + }, + "consistency_checks": { + "title": "Vérification de la cohérence", + "find_and_fix_button": "Rechercher et résoudre les problèmes de cohérence", + "finding_and_fixing_message": "Recherche et résolution des problèmes de cohérence...", + "issues_fixed_message": "Les problèmes de cohérence devraient être résolus." + }, + "database_anonymization": { + "title": "Anonymisation de la base de données", + "full_anonymization": "Anonymisation complète", + "full_anonymization_description": "Cette action créera une nouvelle copie de la base de données et l'anonymisera (tout le contenu des notes sera supprimé et ne restera que la structure et certaines métadonnées non sensibles) pour la partager en ligne à des fins de débogage sans crainte de fuite de vos données personnelles.", + "save_fully_anonymized_database": "Enregistrer la base de données entièrement anonymisée", + "light_anonymization": "Anonymisation légère", + "light_anonymization_description": "Cette action créera une nouvelle copie de la base de données et y réalisera une légère anonymisation — seul le contenu de toutes les notes sera supprimé, mais les titres et les attributs resteront. De plus, les notes de script frontend/backend JS personnalisées et les widgets personnalisés resteront. Fournit plus de contexte pour déboguer les problèmes.", + "choose_anonymization": "Vous pouvez décider vous-même si vous souhaitez fournir une base de données entièrement ou partiellement anonymisée. Même une base de données entièrement anonymisée est très utile, mais dans certains cas, une base de données partiellement anonymisée peut accélérer le processus d'identification et de correction des bugs.", + "save_lightly_anonymized_database": "Enregistrer la base de données partiellement anonymisée", + "existing_anonymized_databases": "Bases de données anonymisées existantes", + "creating_fully_anonymized_database": "Création d'une base de données entièrement anonymisée...", + "creating_lightly_anonymized_database": "Création d'une base de données partiellement anonymisée...", + "error_creating_anonymized_database": "Impossible de créer une base de données anonymisée, vérifiez les journaux backend pour plus de détails", + "successfully_created_fully_anonymized_database": "Base de données entièrement anonymisée crée dans {{anonymizedFilePath}}", + "successfully_created_lightly_anonymized_database": "Base de données partiellement anonymisée crée dans {{anonymizedFilePath}}", + "no_anonymized_database_yet": "Aucune base de données anonymisée." + }, + "database_integrity_check": { + "title": "Vérification de l'intégrité de la base de données", + "description": "Vérifiera que la base de données n'est pas corrompue au niveau SQLite. Cela peut prendre un certain temps, en fonction de la taille de la base de données.", + "check_button": "Vérifier l'intégrité de la base de données", + "checking_integrity": "Vérification de l'intégrité de la base de données...", + "integrity_check_succeeded": "Le contrôle d'intégrité a réussi - aucun problème détecté.", + "integrity_check_failed": "Échec du contrôle d'intégrité : {{results}}" + }, + "sync": { + "title": "Synchroniser", + "force_full_sync_button": "Forcer la synchronisation complète", + "fill_entity_changes_button": "Remplir les enregistrements de modifications d'entité", + "full_sync_triggered": "Synchronisation complète déclenchée", + "filling_entity_changes": "Remplissage changements de ligne d'entité ...", + "sync_rows_filled_successfully": "Synchronisation avec succès des lignes remplies", + "finished-successfully": "Synchronisation terminée avec succès.", + "failed": "Échec de la synchronisation : {{message}}" + }, + "vacuum_database": { + "title": "Nettoyage la base de donnée", + "description": "Cela reconstruira la base de données, ce qui générera un fichier de base de données généralement plus petit. Aucune donnée ne sera réellement modifiée.", + "button_text": "Nettoyer de la base de donnée", + "vacuuming_database": "Nettoyage de la base de données en cours...", + "database_vacuumed": "La base de données a été nettoyée" + }, + "fonts": { + "theme_defined": "Défini par le thème", + "fonts": "Polices", + "main_font": "Police principale", + "font_family": "Famille de polices", + "size": "Taille", + "note_tree_font": "Police de l'arborescence", + "note_detail_font": "Police du contenu des notes", + "monospace_font": "Police Monospace (code)", + "note_tree_and_detail_font_sizing": "Notez que la taille de la police de l’arborescence et du contenu est relative au paramètre de taille de police principal.", + "not_all_fonts_available": "Toutes les polices répertoriées peuvent ne pas être disponibles sur votre système.", + "apply_font_changes": "Pour appliquer les modifications de police, cliquez sur", + "reload_frontend": "recharger l'interface", + "generic-fonts": "Polices génériques", + "sans-serif-system-fonts": "Polices système sans serif", + "serif-system-fonts": "Polices système Serif", + "monospace-system-fonts": "Polices système monospace", + "handwriting-system-fonts": "Polices système d'écriture manuelle", + "serif": "Serif", + "sans-serif": "Sans sérif", + "monospace": "Monospace", + "system-default": "Thème système" + }, + "max_content_width": { + "title": "Largeur du contenu", + "default_description": "Trilium limite par défaut la largeur maximale du contenu pour améliorer la lisibilité sur des écrans larges.", + "max_width_label": "Largeur maximale du contenu en pixels", + "apply_changes_description": "Pour appliquer les modifications de largeur du contenu, cliquez sur", + "reload_button": "recharger l'interface", + "reload_description": "changements par rapport aux options d'apparence" + }, + "native_title_bar": { + "title": "Barre de titre native (nécessite le redémarrage de l'application)", + "enabled": "activé", + "disabled": "désactivé" + }, + "ribbon": { + "widgets": "Ruban de widgets", + "promoted_attributes_message": "L'onglet du ruban Attributs promus s'ouvrira automatiquement si la note possède des attributs mis en avant", + "edited_notes_message": "L'onglet du ruban Notes modifiées s'ouvrira automatiquement sur les notes journalières" + }, + "theme": { + "title": "Thème de l'application", + "theme_label": "Thème", + "override_theme_fonts_label": "Remplacer les polices du thème", + "auto_theme": "Auto", + "light_theme": "Lumière", + "dark_theme": "Sombre", + "triliumnext": "TriliumNext Beta (Suit le thème du système)", + "triliumnext-light": "TriliumNext Beta (Clair)", + "triliumnext-dark": "TriliumNext Beta (sombre)", + "layout": "Disposition", + "layout-vertical-title": "Vertical", + "layout-horizontal-title": "Horizontal", + "layout-vertical-description": "la barre de raccourcis est à gauche (défaut)", + "layout-horizontal-description": "la barre de raccourcis est sous la barre des onglets, cette-dernière est s'affiche en pleine largeur." + }, + "zoom_factor": { + "title": "Facteur de zoom (version bureau uniquement)", + "description": "Le zoom peut également être contrôlé avec les raccourcis CTRL+- et CTRL+=." + }, + "code_auto_read_only_size": { + "title": "Taille pour la lecture seule automatique", + "description": "La taille pour la lecture seule automatique est le seuil au-delà de laquelle les notes seront affichées en mode lecture seule (pour optimiser les performances).", + "label": "Taille pour la lecture seule automatique (notes de code)" + }, + "code_mime_types": { + "title": "Types MIME disponibles dans la liste déroulante" + }, + "vim_key_bindings": { + "use_vim_keybindings_in_code_notes": "Raccourcis clavier Vim", + "enable_vim_keybindings": "Activer les raccourcis clavier Vim dans les notes de code (pas de mode ex)" + }, + "wrap_lines": { + "wrap_lines_in_code_notes": "Ligne wrappées dans les notes de code", + "enable_line_wrap": "Active le wrapping des lignes (le changement peut nécessiter un rechargement du frontend pour prendre effet)" + }, + "images": { + "images_section_title": "Images", + "download_images_automatically": "Téléchargez automatiquement les images pour une utilisation hors ligne.", + "download_images_description": "Le HTML collé peut contenir des références à des images en ligne, Trilium trouvera ces références et téléchargera les images afin qu'elles soient disponibles hors ligne.", + "enable_image_compression": "Activer la compression des images", + "max_image_dimensions": "Largeur/hauteur maximale d'une image en pixels (l'image sera redimensionnée si elle dépasse ce paramètre).", + "jpeg_quality_description": "Qualité JPEG (10 - pire qualité, 100 - meilleure qualité, 50 - 85 est recommandé)" + }, + "attachment_erasure_timeout": { + "attachment_erasure_timeout": "Délai d'effacement des pièces jointes", + "attachment_auto_deletion_description": "Les pièces jointes sont automatiquement supprimées (et effacées) si elles ne sont plus référencées par leur note après un certain délai.", + "erase_attachments_after": "Effacer les pièces jointes inutilisées après :", + "manual_erasing_description": "Vous pouvez également déclencher l'effacement manuellement (sans tenir compte du délai défini ci-dessus) :", + "erase_unused_attachments_now": "Effacez maintenant les pièces jointes inutilisées", + "unused_attachments_erased": "Les pièces jointes inutilisées ont été effacées." + }, + "network_connections": { + "network_connections_title": "Connexions réseau", + "check_for_updates": "Rechercher automatiquement les mises à jour" + }, + "note_erasure_timeout": { + "note_erasure_timeout_title": "Délai d'effacement des notes", + "note_erasure_description": "Les notes supprimées (et les attributs, versions...) sont seulement marquées comme supprimées et il est possible de les récupérer à partir de la boîte de dialogue Notes récentes. Après un certain temps, les notes supprimées sont « effacées », ce qui signifie que leur contenu n'est plus récupérable. Ce paramètre vous permet de configurer la durée entre la suppression et l'effacement de la note.", + "erase_notes_after": "Effacer les notes après", + "manual_erasing_description": "Vous pouvez également déclencher l'effacement manuellement (sans tenir compte de la durée définie ci-dessus) :", + "erase_deleted_notes_now": "Effacer les notes supprimées maintenant", + "deleted_notes_erased": "Les notes supprimées ont été effacées." + }, + "revisions_snapshot_interval": { + "note_revisions_snapshot_interval_title": "Délai d'enregistrement automatique d'une version de note", + "note_revisions_snapshot_description": "Le délai d'enregistrement automatique des versions de note définit le temps avant la création automatique d'une nouvelle version de note. Consultez le wiki pour plus d'informations.", + "snapshot_time_interval_label": "Délai d'enregistrement automatique de version de note :" + }, + "revisions_snapshot_limit": { + "note_revisions_snapshot_limit_title": "Limite du nombre de versions de note", + "note_revisions_snapshot_limit_description": "La limite du nombre de versions de note désigne le nombre maximum de versions pouvant être enregistrées pour chaque note. -1 signifie aucune limite, 0 signifie supprimer toutes les versions. Vous pouvez définir le nombre maximal de versions pour une seule note avec le label #versioningLimit.", + "snapshot_number_limit_label": "Nombre limite de versions de note :", + "erase_excess_revision_snapshots": "Effacer maintenant les versions en excès", + "erase_excess_revision_snapshots_prompt": "Les versions en excès ont été effacées." + }, + "search_engine": { + "title": "Moteur de recherche", + "custom_search_engine_info": "Le moteur de recherche personnalisé nécessite à la fois la définition d’un nom et d’une URL. Si l’un ou l’autre de ces éléments n’est défini, DuckDuckGo sera utilisé comme moteur de recherche par défaut.", + "predefined_templates_label": "Modèles de moteur de recherche prédéfinis", + "bing": "Bing", + "baidu": "Baidu", + "duckduckgo": "DuckDuckGo", + "google": "Google", + "custom_name_label": "Nom du moteur de recherche personnalisé", + "custom_name_placeholder": "Personnaliser le nom du moteur de recherche", + "custom_url_label": "L'URL du moteur de recherche personnalisé doit inclure {keyword} comme espace réservé pour le terme de recherche.", + "custom_url_placeholder": "Personnaliser l'url du moteur de recherche", + "save_button": "Sauvegarder" + }, + "tray": { + "title": "Barre d'état système", + "enable_tray": "Activer l'icône dans la barre d'état (Trilium doit être redémarré pour que cette modification prenne effet)" + }, + "heading_style": { + "title": "Style de titre", + "plain": "Simple", + "underline": "Souligné", + "markdown": "Style Markdown" + }, + "highlights_list": { + "title": "Accentuations", + "description": "Vous pouvez personnaliser la liste des accentuations affichée dans le panneau de droite :", + "bold": "Texte en gras", + "italic": "Texte en italique", + "underline": "Texte souligné", + "color": "Texte en couleur", + "bg_color": "Texte avec couleur de fond", + "visibility_title": "Visibilité de la Liste des Accentuations", + "visibility_description": "Vous pouvez masquer le widget des accentuations par note en ajoutant un label #hideHighlightWidget.", + "shortcut_info": "Vous pouvez configurer un raccourci clavier pour basculer rapidement vers le volet droit (comprenant les Accentuations) dans Options -> Raccourcis (nom « toggleRightPane »)." + }, + "table_of_contents": { + "title": "Table des matières", + "description": "La table des matières apparaîtra dans les notes textuelles lorsque la note comporte plus d'un nombre défini de titres. Vous pouvez personnaliser ce nombre :", + "disable_info": "Vous pouvez également utiliser cette option pour désactiver la table des matières en définissant un nombre très élevé.", + "shortcut_info": "Vous pouvez configurer un raccourci clavier pour afficher/masquer le volet de droite (y compris la table des matières) dans Options -> Raccourcis (nom « toggleRightPane »)." + }, + "text_auto_read_only_size": { + "title": "Taille automatique en lecture seule", + "description": "La taille automatique des notes en lecture seule est la taille au-delà de laquelle les notes seront affichées en mode lecture seule (pour des raisons de performances).", + "label": "Taille automatique en lecture seule (notes de texte)" + }, + "i18n": { + "title": "Paramètres régionaux", + "language": "Langue", + "first-day-of-the-week": "Premier jour de la semaine", + "sunday": "Dimanche", + "monday": "Lundi" + }, + "backup": { + "automatic_backup": "Sauvegarde automatique", + "automatic_backup_description": "Trilium peut sauvegarder la base de données automatiquement :", + "enable_daily_backup": "Activer la sauvegarde quotidienne", + "enable_weekly_backup": "Activer la sauvegarde hebdomadaire", + "enable_monthly_backup": "Activer la sauvegarde mensuelle", + "backup_recommendation": "Il est recommandé de garder la sauvegarde activée, mais cela peut ralentir le démarrage des applications avec des bases de données volumineuses et/ou des périphériques de stockage lents.", + "backup_now": "Sauvegarder maintenant", + "backup_database_now": "Sauvegarder la base de données maintenant", + "existing_backups": "Sauvegardes existantes", + "date-and-time": "Date & heure", + "path": "Chemin", + "database_backed_up_to": "La base de données a été sauvegardée dans {{backupFilePath}}", + "no_backup_yet": "pas encore de sauvegarde" + }, + "etapi": { + "title": "ETAPI", + "description": "ETAPI est une API REST utilisée pour accéder à l'instance Trilium par programme, sans interface utilisateur.", + "wiki": "wiki", + "openapi_spec": "Spec ETAPI OpenAPI", + "create_token": "Créer un nouveau jeton ETAPI", + "existing_tokens": "Jetons existants", + "no_tokens_yet": "Il n'y a pas encore de jetons. Cliquez sur le bouton ci-dessus pour en créer un.", + "token_name": "Nom du jeton", + "created": "Créé", + "actions": "Actions", + "new_token_title": "Nouveau jeton ETAPI", + "new_token_message": "Veuillez saisir le nom du nouveau jeton", + "default_token_name": "nouveau jeton", + "error_empty_name": "Le nom du jeton ne peut pas être vide", + "token_created_title": "Jeton ETAPI créé", + "token_created_message": "Copiez le jeton créé dans le presse-papiers. Trilium enregistre le jeton haché et c'est la dernière fois que vous le verrez.", + "rename_token": "Renommer ce jeton", + "delete_token": "Supprimer/désactiver ce token", + "rename_token_title": "Renommer le jeton", + "rename_token_message": "Veuillez saisir le nom du nouveau jeton", + "delete_token_confirmation": "Êtes-vous sûr de vouloir supprimer le jeton ETAPI « {{name}} » ?" + }, + "options_widget": { + "options_status": "Statut des options", + "options_change_saved": "Les modifications des options ont été enregistrées." + }, + "password": { + "heading": "Mot de passe", + "alert_message": "Prenez soin de mémoriser votre nouveau mot de passe. Le mot de passe est utilisé pour se connecter à l'interface Web et pour crypter les notes protégées. Si vous oubliez votre mot de passe, toutes vos notes protégées seront définitivement perdues.", + "reset_link": "Cliquez ici pour le réinitialiser.", + "old_password": "Ancien mot de passe", + "new_password": "Nouveau mot de passe", + "new_password_confirmation": "Confirmation du nouveau mot de passe", + "change_password": "Changer le mot de passe", + "protected_session_timeout": "Expiration de la session protégée", + "protected_session_timeout_description": "Le délai d'expiration de la session protégée est une période de temps après laquelle la session protégée est effacée de la mémoire du navigateur. Il est mesuré à partir de la dernière interaction avec des notes protégées. Voir", + "wiki": "wiki", + "for_more_info": "pour plus d'informations.", + "protected_session_timeout_label": "Délai d'expiration de la session protégée :", + "reset_confirmation": "En réinitialisant le mot de passe, vous perdrez à jamais l'accès à toutes vos notes protégées existantes. Voulez-vous vraiment réinitialiser le mot de passe ?", + "reset_success_message": "Le mot de passe a été réinitialisé. Veuillez définir un nouveau mot de passe", + "change_password_heading": "Changer le mot de passe", + "set_password_heading": "Définir le mot de passe", + "set_password": "Définir le mot de passe", + "password_mismatch": "Les nouveaux mots de passe saisis ne sont pas les mêmes.", + "password_changed_success": "Le mot de passe a été modifié. Trilium va redémarrer après avoir appuyé sur OK." + }, + "shortcuts": { + "keyboard_shortcuts": "Raccourcis clavier", + "multiple_shortcuts": "Plusieurs raccourcis pour la même action peuvent être séparés par une virgule.", + "electron_documentation": "Consultez la documentation Electron pour connaître les modificateurs et codes clés disponibles.", + "type_text_to_filter": "Saisir du texte pour filtrer les raccourcis...", + "action_name": "Nom de l'action", + "shortcuts": "Raccourcis", + "default_shortcuts": "Raccourcis par défaut", + "description": "Description", + "reload_app": "Recharger l'application pour appliquer les modifications", + "set_all_to_default": "Réinitialiser aux valeurs par défaut", + "confirm_reset": "Voulez-vous vraiment réinitialiser tous les raccourcis clavier par défaut ?" + }, + "spellcheck": { + "title": "Vérification orthographique", + "description": "Ces options s'appliquent uniquement aux versions de bureau, les navigateurs utiliseront leur propre vérification orthographique native.", + "enable": "Activer la vérification orthographique", + "language_code_label": "Code(s) de langue", + "language_code_placeholder": "par exemple \"fr-FR\", \"en-US\", \"de-AT\"", + "multiple_languages_info": "Plusieurs langues peuvent être séparées par une virgule, par ex. \"fr-FR, en-US, de-DE, cs\". ", + "available_language_codes_label": "Codes de langue disponibles :", + "restart-required": "Les modifications apportées aux options de vérification orthographique prendront effet après le redémarrage de l'application." + }, + "sync_2": { + "config_title": "Configuration de synchronisation", + "server_address": "Adresse de l'instance du serveur", + "timeout": "Délai d'expiration de la synchronisation (millisecondes)", + "proxy_label": "Serveur proxy de synchronisation (facultatif)", + "note": "Note", + "note_description": "Si vous laissez le paramètre de proxy vide, le proxy système sera utilisé (applicable uniquement à la version de bureau/électronique).", + "special_value_description": "Une autre valeur spéciale est noproxy qui oblige à ignorer même le proxy système et respecte NODE_TLS_REJECT_UNAUTHORIZED.", + "save": "Sauvegarder", + "help": "Aide", + "test_title": "Test de synchronisation", + "test_description": "Testera la connexion et la prise de contact avec le serveur de synchronisation. Si le serveur de synchronisation n'est pas initialisé, cela le configurera pour qu'il se synchronise avec le document local.", + "test_button": "Tester la synchronisation", + "handshake_failed": "Échec de la négociation avec le serveur de synchronisation, erreur : {{message}}" + }, + "api_log": { + "close": "Fermer" + }, + "attachment_detail_2": { + "will_be_deleted_in": "Cette pièce jointe sera automatiquement supprimée dans {{time}}", + "will_be_deleted_soon": "Cette pièce jointe sera bientôt supprimée automatiquement", + "deletion_reason": ", car la pièce jointe n'est pas liée dans le contenu de la note. Pour empêcher la suppression, ajoutez à nouveau le lien de la pièce jointe dans le contenu d'une note ou convertissez la pièce jointe en note.", + "role_and_size": "Rôle : {{role}}, Taille : {{size}}", + "link_copied": "Lien de pièce jointe copié dans le presse-papiers.", + "unrecognized_role": "Rôle de pièce jointe « {{role}} » non reconnu." + }, + "bookmark_switch": { + "bookmark": "Favori", + "bookmark_this_note": "Ajouter cette note à vos favoris dans le panneau latéral gauche", + "remove_bookmark": "Supprimer le favori" + }, + "editability_select": { + "auto": "Auto", + "read_only": "Lecture seule", + "always_editable": "Toujours modifiable", + "note_is_editable": "La note est modifiable si elle n'est pas trop longue.", + "note_is_read_only": "La note est en lecture seule, mais peut être modifiée en cliquant sur un bouton.", + "note_is_always_editable": "La note est toujours modifiable, quelle que soit sa longueur." + }, + "note-map": { + "button-link-map": "Carte des liens", + "button-tree-map": "Carte de l'arborescence" + }, + "tree-context-menu": { + "open-in-a-new-tab": "Ouvrir dans un nouvel onglet Ctrl+Clic", + "open-in-a-new-split": "Ouvrir dans une nouvelle division", + "insert-note-after": "Insérer une note après", + "insert-child-note": "Insérer une note enfant", + "delete": "Supprimer", + "search-in-subtree": "Rechercher dans le sous-arbre", + "hoist-note": "Focus sur cette note", + "unhoist-note": "Désactiver le focus", + "edit-branch-prefix": "Modifier le préfixe de branche", + "advanced": "Avancé", + "expand-subtree": "Développer le sous-arbre", + "collapse-subtree": "Réduire le sous-arbre", + "sort-by": "Trier par...", + "recent-changes-in-subtree": "Modifications récentes du sous-arbre", + "convert-to-attachment": "Convertir en pièce jointe", + "copy-note-path-to-clipboard": "Copier le chemin de la note dans le presse-papiers", + "protect-subtree": "Protéger le sous-arbre", + "unprotect-subtree": "Ne plus protéger le sous-arbre", + "copy-clone": "Copier/cloner", + "clone-to": "Cloner vers...", + "cut": "Couper", + "move-to": "Déplacer vers...", + "paste-into": "Coller dans", + "paste-after": "Coller après", + "duplicate": "Dupliquer", + "export": "Exporter", + "import-into-note": "Importer dans la note", + "apply-bulk-actions": "Appliquer des Actions groupées", + "converted-to-attachments": "Les notes {{count}} ont été converties en pièces jointes.", + "convert-to-attachment-confirm": "Êtes-vous sûr de vouloir convertir les notes sélectionnées en pièces jointes de leurs notes parentes ?" + }, + "shared_info": { + "shared_publicly": "Cette note est partagée publiquement sur", + "shared_locally": "Cette note est partagée localement sur", + "help_link": "Pour obtenir de l'aide, visitez le wiki." + }, + "note_types": { + "text": "Texte", + "code": "Code", + "saved-search": "Recherche enregistrée", + "relation-map": "Carte des relations", + "note-map": "Carte de notes", + "render-note": "Rendu Html", + "mermaid-diagram": "Diagramme Mermaid", + "canvas": "Canevas", + "web-view": "Affichage Web", + "mind-map": "Carte mentale", + "file": "Fichier", + "image": "Image", + "launcher": "Raccourci", + "doc": "Doc", + "widget": "Widget", + "confirm-change": "Il n'est pas recommandé de modifier le type de note lorsque son contenu n'est pas vide. Voulez-vous continuer ?", + "geo-map": "Carte géo", + "beta-feature": "Beta", + "task-list": "Liste de tâches" + }, + "protect_note": { + "toggle-on": "Protéger la note", + "toggle-off": "Déprotéger la note", + "toggle-on-hint": "La note n'est pas protégée, cliquez pour la protéger", + "toggle-off-hint": "La note est protégée, cliquez pour ne plus la protéger" + }, + "shared_switch": { + "shared": "Partagé", + "toggle-on-title": "Partager la note", + "toggle-off-title": "Ne plus partager de la note", + "shared-branch": "Cette note existe uniquement en tant que note partagée, l'annulation du partage la supprimerait. Voulez-vous continuer et ainsi supprimer cette note ?", + "inherited": "Il n'est pas possible de ne plus partager cette note, car son partage est défini par héritage d'une note ancêtre." + }, + "template_switch": { + "template": "Modèle", + "toggle-on-hint": "Faire de la note un modèle", + "toggle-off-hint": "Supprimer la note comme modèle" + }, + "open-help-page": "Ouvrir la page d'aide", + "find": { + "case_sensitive": "Sensible à la casse", + "match_words": "Mots exacts", + "find_placeholder": "Chercher dans le texte...", + "replace_placeholder": "Remplacer par...", + "replace": "Remplacer", + "replace_all": "Tout remplacer" + }, + "highlights_list_2": { + "title": "Accentuations", + "options": "Options" + }, + "quick-search": { + "placeholder": "Recherche rapide", + "searching": "Recherche...", + "no-results": "Aucun résultat trouvé", + "more-results": "... et {{number}} autres résultats.", + "show-in-full-search": "Afficher dans la recherche complète" + }, + "note_tree": { + "collapse-title": "Réduire l'arborescence des notes", + "scroll-active-title": "Faire défiler jusqu'à la note active", + "tree-settings-title": "Paramètres de l'arborescence", + "hide-archived-notes": "Masquer les notes archivées", + "automatically-collapse-notes": "Réduire automatiquement les notes", + "automatically-collapse-notes-title": "Les notes seront réduites après une période d'inactivité pour désencombrer l'arborescence.", + "save-changes": "Enregistrer et appliquer les modifications", + "auto-collapsing-notes-after-inactivity": "Réduction automatique des notes après inactivité...", + "saved-search-note-refreshed": "Note de recherche enregistrée actualisée.", + "hoist-this-note-workspace": "Focus cette note (espace de travail)", + "refresh-saved-search-results": "Rafraîchir les résultats de recherche enregistrée", + "create-child-note": "Créer une note enfant", + "unhoist": "Désactiver le focus" + }, + "title_bar_buttons": { + "window-on-top": "Épingler cette fenêtre au premier plan" + }, + "note_detail": { + "could_not_find_typewidget": "Impossible de trouver typeWidget pour le type '{{type}}'" + }, + "note_title": { + "placeholder": "saisir le titre de la note ici..." + }, + "search_result": { + "no_notes_found": "Aucune note n'a été trouvée pour les paramètres de recherche donnés.", + "search_not_executed": "La recherche n'a pas encore été exécutée. Cliquez sur le bouton \"Rechercher\" ci-dessus pour voir les résultats." + }, + "spacer": { + "configure_launchbar": "Configurer la Barre de raccourcis" + }, + "sql_result": { + "no_rows": "Aucune ligne n'a été renvoyée pour cette requête" + }, + "sql_table_schemas": { + "tables": "Tableaux" + }, + "tab_row": { + "close_tab": "Fermer l'onglet", + "add_new_tab": "Ajouter un nouvel onglet", + "close": "Fermer", + "close_other_tabs": "Fermer les autres onglets", + "close_right_tabs": "Fermer les onglets à droite", + "close_all_tabs": "Fermer tous les onglets", + "reopen_last_tab": "Rouvrir le dernier onglet fermé", + "move_tab_to_new_window": "Déplacer cet onglet vers une nouvelle fenêtre", + "copy_tab_to_new_window": "Copier cet onglet dans une nouvelle fenêtre", + "new_tab": "Nouvel onglet" + }, + "toc": { + "table_of_contents": "Table des matières", + "options": "Options" + }, + "watched_file_update_status": { + "file_last_modified": "Le fichier a été modifié pour la dernière fois le .", + "upload_modified_file": "Téléverser le fichier modifié", + "ignore_this_change": "Ignorer ce changement" + }, + "app_context": { + "please_wait_for_save": "Veuillez patienter quelques secondes la fin de la sauvegarde, puis réessayer." + }, + "note_create": { + "duplicated": "La note «{{title}}» a été dupliquée." + }, + "image": { + "copied-to-clipboard": "Une référence à l'image a été copiée dans le presse-papiers. Elle peut être collée dans n'importe quelle note texte.", + "cannot-copy": "Impossible de copier la référence d'image dans le presse-papiers." + }, + "clipboard": { + "cut": "Les note(s) ont été coupées dans le presse-papiers.", + "copied": "Les note(s) ont été coupées dans le presse-papiers." + }, + "entrypoints": { + "note-revision-created": "La version de la note a été créée.", + "note-executed": "Note exécutée.", + "sql-error": "Erreur lors de l'exécution de la requête SQL: {{message}}" + }, + "branches": { + "cannot-move-notes-here": "Impossible de déplacer les notes ici.", + "delete-status": "Etat de la suppression", + "delete-notes-in-progress": "Suppression des notes en cours : {{count}}", + "delete-finished-successfully": "Suppression terminée avec succès.", + "undeleting-notes-in-progress": "Restauration des notes en cours : {{count}}", + "undeleting-notes-finished-successfully": "Restauration des notes terminée avec succès." + }, + "frontend_script_api": { + "async_warning": "Vous passez une fonction asynchrone à `api.runOnBackend()`, ce qui ne fonctionnera probablement pas comme vous le souhaitez.\\n Rendez la fonction synchronisée (en supprimant le mot-clé `async`), ou bien utilisez `api.runAsyncOnBackendWithManualTransactionHandling()`.", + "sync_warning": "Vous passez une fonction synchrone à `api.runAsyncOnBackendWithManualTransactionHandling()`,\\nalors que vous devriez probablement utiliser `api.runOnBackend()` à la place." + }, + "ws": { + "sync-check-failed": "Le test de synchronisation a échoué !", + "consistency-checks-failed": "Les tests de cohérence ont échoué ! Consultez les journaux pour plus de détails.", + "encountered-error": "Erreur \"{{message}}\", consultez la console." + }, + "hoisted_note": { + "confirm_unhoisting": "La note demandée «{{requestedNote}}» est en dehors du sous-arbre de la note focus «{{hoistedNote}}». Le focus doit être désactivé pour accéder à la note. Voulez-vous enlever le focus ?" + }, + "launcher_context_menu": { + "reset_launcher_confirm": "Voulez-vous vraiment réinitialiser \"{{title}}\" ? Toutes les données / paramètres de cette note (et de ses enfants) seront perdus et le raccourci retrouvera son emplacement d'origine.", + "add-note-launcher": "Ajouter un raccourci de note", + "add-script-launcher": "Ajouter un raccourci de script", + "add-custom-widget": "Ajouter un widget personnalisé", + "add-spacer": "Ajouter un séparateur", + "delete": "Supprimer ", + "reset": "Réinitialiser", + "move-to-visible-launchers": "Déplacer vers les raccourcis visibles", + "move-to-available-launchers": "Déplacer vers les raccourcis disponibles", + "duplicate-launcher": "Dupliquer le raccourci " + }, + "editable-text": { + "auto-detect-language": "Détecté automatiquement" + }, + "highlighting": { + "description": "Contrôle la coloration syntaxique des blocs de code à l'intérieur des notes texte, les notes de code ne seront pas affectées.", + "color-scheme": "Jeu de couleurs" + }, + "code_block": { + "word_wrapping": "Saut à la ligne automatique suivant la largeur", + "theme_none": "Pas de coloration syntaxique", + "theme_group_light": "Thèmes clairs", + "theme_group_dark": "Thèmes sombres" + }, + "classic_editor_toolbar": { + "title": "Mise en forme" + }, + "editor": { + "title": "Éditeur" + }, + "editing": { + "editor_type": { + "label": "Barre d'outils d'édition", + "floating": { + "title": "Flottante", + "description": "les outils d'édition apparaissent près du curseur ;" + }, + "fixed": { + "title": "Fixe", + "description": "les outils d'édition apparaissent dans l'onglet \"Mise en forme\"." + }, + "multiline-toolbar": "Afficher la barre d'outils sur plusieurs lignes si elle est trop grande." + } + }, + "electron_context_menu": { + "add-term-to-dictionary": "Ajouter «{{term}}» au dictionnaire", + "cut": "Couper", + "copy": "Copier", + "copy-link": "Copier le lien", + "paste": "Coller", + "paste-as-plain-text": "Coller comme texte brut", + "search_online": "Rechercher «{{term}}» avec {{searchEngine}}" + }, + "image_context_menu": { + "copy_reference_to_clipboard": "Copier la référence dans le presse-papiers", + "copy_image_to_clipboard": "Copier l'image dans le presse-papiers" + }, + "link_context_menu": { + "open_note_in_new_tab": "Ouvrir la note dans un nouvel onglet", + "open_note_in_new_split": "Ouvrir la note dans une nouvelle division", + "open_note_in_new_window": "Ouvrir la note dans une nouvelle fenêtre" + }, + "electron_integration": { + "desktop-application": "Application de bureau", + "native-title-bar": "Barre de titre native", + "native-title-bar-description": "Sous Windows et macOS, désactiver la barre de titre native rend l'application plus compacte. Sous Linux, le maintien de la barre de titre native permet une meilleure intégration avec le reste du système.", + "background-effects": "Activer les effets d'arrière-plan (Windows 11 uniquement)", + "background-effects-description": "L'effet Mica ajoute un fond flou et élégant aux fenêtres de l'application, créant une profondeur et un style moderne.", + "restart-app-button": "Redémarrez l'application pour afficher les modifications", + "zoom-factor": "Facteur de zoom" + }, + "note_autocomplete": { + "search-for": "Rechercher \"{{term}}\"", + "create-note": "Créer et lier une note enfant \"{{term}}\"", + "insert-external-link": "Insérer un lien externe vers \"{{term}}\"", + "clear-text-field": "Effacer le champ de texte", + "show-recent-notes": "Afficher les notes récentes", + "full-text-search": "Recherche dans le texte" + }, + "note_tooltip": { + "note-has-been-deleted": "La note a été supprimée." + }, + "geo-map": { + "create-child-note-title": "Créer une nouvelle note enfant et l'ajouter à la carte", + "create-child-note-instruction": "Cliquez sur la carte pour créer une nouvelle note à cet endroit ou appuyez sur Échap pour la supprimer.", + "unable-to-load-map": "Impossible de charger la carte." + }, + "geo-map-context": { + "open-location": "Ouvrir la position", + "remove-from-map": "Retirer de la carte" + }, + "help-button": { + "title": "Ouvrir la page d'aide correspondante" + }, + "duration": { + "seconds": "Secondes", + "minutes": "Minutes", + "hours": "Heures", + "days": "Jours" + }, + "share": { + "title": "Paramètres de partage", + "redirect_bare_domain": "Rediriger le domaine principal vers la page de partage", + "redirect_bare_domain_description": "Rediriger les utilisateurs anonymes vers la page de partage au lieu d'afficher la connexion", + "show_login_link": "Afficher le lien de connexion dans le thème de partage", + "show_login_link_description": "Ajouter un lien de connexion dans le pied de page de la page de partage", + "check_share_root": "Vérifier l'état du partage de la racine", + "share_root_found": "La note racine du partage '{{noteTitle}}' est prête", + "share_root_not_found": "Aucune note avec le label #shareRoot trouvée", + "share_root_not_shared": "Note '{{noteTitle}}' a le label #shareRoot mais n'est pas partagée" + }, + "time_selector": { + "invalid_input": "La valeur de l'heure saisie n'est pas un nombre valide.", + "minimum_input": "La valeur de temps saisie doit être d'au moins {{minimumSeconds}} secondes." } - }, - "add_link": { - "add_link": "Ajouter un lien", - "help_on_links": "Aide sur les liens", - "close": "Fermer", - "note": "Note", - "search_note": "rechercher une note par son nom", - "link_title_mirrors": "le titre du lien reflète le titre actuel de la note", - "link_title_arbitrary": "le titre du lien peut être modifié arbitrairement", - "link_title": "Titre du lien", - "button_add_link": "Ajouter un lien Entrée" - }, - "branch_prefix": { - "edit_branch_prefix": "Modifier le préfixe de branche", - "help_on_tree_prefix": "Aide sur le préfixe de l'arbre", - "close": "Fermer", - "prefix": "Préfixe : ", - "save": "Sauvegarder", - "branch_prefix_saved": "Le préfixe de la branche a été enregistré." - }, - "bulk_actions": { - "bulk_actions": "Actions groupées", - "close": "Fermer", - "affected_notes": "Notes concernées", - "include_descendants": "Inclure les descendants des notes sélectionnées", - "available_actions": "Actions disponibles", - "chosen_actions": "Actions choisies", - "execute_bulk_actions": "Exécuter des Actions groupées", - "bulk_actions_executed": "Les actions groupées ont été exécutées avec succès.", - "none_yet": "Aucune pour l'instant... ajoutez une action en cliquant sur l'une des actions disponibles ci-dessus.", - "labels": "Labels", - "relations": "Relations", - "notes": "Notes", - "other": "Autre" - }, - "clone_to": { - "clone_notes_to": "Cloner les notes dans...", - "close": "Fermer", - "help_on_links": "Aide sur les liens", - "notes_to_clone": "Notes à cloner", - "target_parent_note": "Note parent cible", - "search_for_note_by_its_name": "rechercher une note par son nom", - "cloned_note_prefix_title": "La note clonée sera affichée dans l'arbre des notes avec le préfixe donné", - "prefix_optional": "Préfixe (facultatif)", - "clone_to_selected_note": "Cloner vers la note sélectionnée entrer", - "no_path_to_clone_to": "Aucun chemin vers lequel cloner.", - "note_cloned": "La note \"{{clonedTitle}}\" a été clonée dans \"{{targetTitle}}\"" - }, - "confirm": { - "confirmation": "Confirmation", - "close": "Fermer", - "cancel": "Annuler", - "ok": "OK", - "are_you_sure_remove_note": "Voulez-vous vraiment supprimer la note « {{title}} » de la carte des relations ? ", - "if_you_dont_check": "Si vous ne cochez pas cette case, la note sera seulement supprimée de la carte des relations.", - "also_delete_note": "Supprimer également la note" - }, - "delete_notes": { - "delete_notes_preview": "Supprimer la note", - "close": "Fermer", - "delete_all_clones_description": "Supprimer aussi les clones (peut être annulé dans des modifications récentes)", - "erase_notes_description": "La suppression normale (douce) marque uniquement les notes comme supprimées et elles peuvent être restaurées (dans la boîte de dialogue des Modifications récentes) dans un délai donné. Cocher cette option effacera les notes immédiatement et il ne sera pas possible de les restaurer.", - "erase_notes_warning": "Efface les notes de manière permanente (ne peut pas être annulée), y compris les clones. L'application va être rechargée.", - "notes_to_be_deleted": "Les notes suivantes seront supprimées ({{- noteCount}})", - "no_note_to_delete": "Aucune note ne sera supprimée (uniquement les clones).", - "broken_relations_to_be_deleted": "Les relations suivantes seront rompues et supprimées ({{- relationCount}})", - "cancel": "Annuler", - "ok": "OK", - "deleted_relation_text": "Note {{- note}} (à supprimer) est référencée dans la relation {{- relation}} provenant de {{- source}}." - }, - "export": { - "export_note_title": "Exporter la note", - "close": "Fermer", - "export_type_subtree": "Cette note et tous ses descendants", - "format_html": "HTML - recommandé car il conserve la mise en forme", - "format_html_zip": "HTML dans l'archive ZIP - recommandé car préserve la mise en forme.", - "format_markdown": "Markdown - préserve la majeure partie du formatage.", - "format_opml": "OPML - format d'échange pour les outlineurs, uniquement pour le texte. La mise en forme, les images et les fichiers ne sont pas inclus.", - "opml_version_1": "OPML v1.0 - texte brut uniquement", - "opml_version_2": "OPML v2.0 - HTML également autorisé", - "export_type_single": "Seulement cette note sans ses descendants", - "export": "Exporter", - "choose_export_type": "Choisissez d'abord le type d'export", - "export_status": "Statut d'exportation", - "export_in_progress": "Exportation en cours : {{progressCount}}", - "export_finished_successfully": "L'exportation s'est terminée avec succès.", - "format_pdf": "PDF - pour l'impression ou le partage de documents." - }, - "help": { - "fullDocumentation": "Aide (la documentation complète est disponible en ligne)", - "close": "Fermer", - "noteNavigation": "Navigation dans les notes", - "goUpDown": "HAUT, BAS - aller vers le haut/bas dans la liste des notes", - "collapseExpand": "GAUCHE, DROITE - réduire/développer le nœud", - "notSet": "non défini", - "goBackForwards": "reculer/avancer dans l'historique", - "showJumpToNoteDialog": "afficher la boîte de dialogue \"Aller à la note\"", - "scrollToActiveNote": "faire défiler jusqu'à la note active", - "jumpToParentNote": "Retour arrière - aller à la note parent", - "collapseWholeTree": "réduire tout l'arbre des notes", - "collapseSubTree": "réduire le sous-arbre", - "tabShortcuts": "Raccourcis des onglets", - "newTabNoteLink": "CTRL+clic - (ou clic central de la souris) sur le lien de la note ouvre la note dans un nouvel onglet", - "onlyInDesktop": "Uniquement sur ordinateur (version Electron)", - "openEmptyTab": "ouvrir un onglet vide", - "closeActiveTab": "fermer l'onglet actif", - "activateNextTab": "activer l'onglet suivant", - "activatePreviousTab": "activer l'onglet précédent", - "creatingNotes": "Création de notes", - "createNoteAfter": "créer une nouvelle note après la note active", - "createNoteInto": "créer une nouvelle sous-note dans la note active", - "editBranchPrefix": "modifier le préfixe du clone de note actif", - "movingCloningNotes": "Déplacement / Clonage des notes", - "moveNoteUpDown": "déplacer la note vers le haut/bas dans la liste de notes", - "moveNoteUpHierarchy": "déplacer la note vers le haut dans la hiérarchie", - "multiSelectNote": "sélectionner plusieurs notes au-dessus/au-dessous", - "selectAllNotes": "sélectionner toutes les notes du niveau actuel", - "selectNote": "Shift+clic - sélectionner une note", - "copyNotes": "copier la note active (ou la sélection actuelle) dans le presse-papiers (utilisé pour le clonage)", - "cutNotes": "couper la note actuelle (ou la sélection actuelle) dans le presse-papiers (utilisé pour déplacer les notes)", - "pasteNotes": "coller la ou les notes en tant que sous-note dans la note active (qui est soit déplacée, soit clonée selon qu'elle a été copiée ou coupée dans le presse-papiers)", - "deleteNotes": "supprimer une note / un sous-arbre", - "editingNotes": "Édition des notes", - "editNoteTitle": "dans le volet de l'arborescence, basculera du volet au titre de la note. Presser Entrer à partir du titre de la note basculera vers l’éditeur de texte. Ctrl+. bascule de l'éditeur au volet arborescent.", - "createEditLink": "Ctrl+K - créer/éditer un lien externe", - "createInternalLink": "créer un lien interne", - "followLink": "suivre le lien sous le curseur", - "insertDateTime": "insérer la date et l'heure courante à la position du curseur", - "jumpToTreePane": "passer au volet de l'arborescence et aller jusqu'à la note active", - "markdownAutoformat": "Mise en forme automatique (comme Markdown)", - "headings": "##, ###, #### etc. suivi d'un espace pour les titres", - "bulletList": "* ou - suivi d'un espace pour une liste à puces", - "numberedList": "1. ou 1) suivi d'un espace pour une liste numérotée", - "blockQuote": "commencez une ligne avec > suivi d'un espace pour une citation", - "troubleshooting": "Dépannage", - "reloadFrontend": "recharger l'interface Trilium", - "showDevTools": "afficher les outils de développement", - "showSQLConsole": "afficher la console SQL", - "other": "Autre", - "quickSearch": "aller à la recherche rapide", - "inPageSearch": "recherche sur la page" - }, - "import": { - "importIntoNote": "Importer dans la note", - "close": "Fermer", - "chooseImportFile": "Choisissez le fichier à importer", - "importDescription": "Le contenu du ou des fichiers sélectionnés sera importé en tant que note(s) enfant dans", - "options": "Options", - "safeImportTooltip": "Les fichiers d'exportation Trilium .zip peuvent contenir des scripts exécutables susceptibles de comporter un comportement nuisible. L'importation sécurisée désactivera l'exécution automatique de tous les scripts importés. Décochez \"Importation sécurisée\" uniquement si l'archive importée est censée contenir des scripts exécutables et que vous faites entièrement confiance au contenu du fichier d'importation.", - "safeImport": "Importation sécurisée", - "explodeArchivesTooltip": "Si cette case est cochée, Trilium lira les fichiers .zip, .enex et .opml et créera des notes à partir des fichiers contenus dans ces archives. Si cette case n'est pas cochée, Trilium joindra les archives elles-mêmes à la note.", - "explodeArchives": "Lire le contenu des archives .zip, .enex et .opml.", - "shrinkImagesTooltip": "

Si vous cochez cette option, Trilium tentera de réduire les images importées par mise à l'échelle et optimisation, ce qui peut affecter la qualité de l'image perçue. Si cette case n'est pas cochée, les images seront importées sans modifications.

Cela ne s'applique pas aux importations .zip avec des métadonnées, car on suppose que ces fichiers sont déjà optimisés.

", - "shrinkImages": "Réduire les images", - "textImportedAsText": "Importez HTML, Markdown et TXT sous forme de notes de texte si les métadonnées ne sont pas claires", - "codeImportedAsCode": "Importez des fichiers de code reconnus (par exemple .json) en tant que notes de code si cela n'est pas clair à partir des métadonnées", - "replaceUnderscoresWithSpaces": "Remplacez les tirets bas par des espaces dans les noms de notes importées", - "import": "Importer", - "failed": "Échec de l'importation : {{message}}.", - "html_import_tags": { - "title": "Balises HTML d'importation", - "description": "Configurer quelles balises HTML doivent être préservées lors de l'importation des notes. Les balises qui ne sont pas dans cette liste seront supprimées pendant l'importation. Certaines balises (comme 'script') sont toujours supprimées pour des raisons de sécurité.", - "placeholder": "Saisir les balises HTML, une par ligne", - "reset_button": "Réinitialiser à la liste par défaut" - }, - "import-status": "Statut de l'importation", - "in-progress": "Importation en cours : {{progress}}", - "successful": "Importation terminée avec succès." - }, - "include_note": { - "dialog_title": "Inclure une note", - "close": "Fermer", - "label_note": "Note", - "placeholder_search": "rechercher une note par son nom", - "box_size_prompt": "Taille de la boîte de la note incluse :", - "box_size_small": "petit (~ 10 lignes)", - "box_size_medium": "moyen (~ 30 lignes)", - "box_size_full": "complet (la boîte affiche le texte complet)", - "button_include": "Inclure une note Entrée" - }, - "info": { - "modalTitle": "Message d'information", - "closeButton": "Fermer", - "okButton": "OK" - }, - "jump_to_note": { - "search_placeholder": "", - "close": "Fermer", - "search_button": "Rechercher dans le texte intégral Ctrl+Entrée" - }, - "markdown_import": { - "dialog_title": "Importation Markdown", - "close": "Fermer", - "modal_body_text": "En raison du bac à sable du navigateur, il n'est pas possible de lire directement le presse-papiers à partir de JavaScript. Veuillez coller le Markdown à importer dans la zone de texte ci-dessous et cliquez sur le bouton Importer", - "import_button": "Importer Ctrl+Entrée", - "import_success": "Le contenu Markdown a été importé dans le document." - }, - "move_to": { - "dialog_title": "Déplacer les notes vers...", - "close": "Fermer", - "notes_to_move": "Notes à déplacer", - "target_parent_note": "Note parent cible", - "search_placeholder": "rechercher une note par son nom", - "move_button": "Déplacer vers la note sélectionnée entrer", - "error_no_path": "Aucun chemin vers lequel déplacer.", - "move_success_message": "Les notes sélectionnées ont été déplacées dans " - }, - "note_type_chooser": { - "modal_title": "Choisissez le type de note", - "close": "Fermer", - "modal_body": "Choisissez le type de note/le modèle de la nouvelle note :", - "templates": "Modèles :" - }, - "password_not_set": { - "title": "Le mot de passe n'est pas défini", - "close": "Fermer", - "body1": "Les notes protégées sont cryptées à l'aide d'un mot de passe utilisateur, mais le mot de passe n'a pas encore été défini.", - "body2": "Pour pouvoir protéger les notes, cliquez ici pour ouvrir les Options et définir votre mot de passe." - }, - "prompt": { - "title": "Prompt", - "close": "Fermer", - "ok": "OK entrer", - "defaultTitle": "Prompt" - }, - "protected_session_password": { - "modal_title": "Session protégée", - "help_title": "Aide sur les notes protégées", - "close_label": "Fermer", - "form_label": "Pour procéder à l'action demandée, vous devez démarrer une session protégée en saisissant le mot de passe :", - "start_button": "Démarrer une session protégée entrer" - }, - "recent_changes": { - "title": "Modifications récentes", - "erase_notes_button": "Effacer les notes supprimées maintenant", - "close": "Fermer", - "deleted_notes_message": "Les notes supprimées ont été effacées.", - "no_changes_message": "Aucun changement pour l'instant...", - "undelete_link": "annuler la suppression", - "confirm_undelete": "Voulez-vous restaurer cette note et ses sous-notes ?" - }, - "revisions": { - "note_revisions": "Versions de la note", - "delete_all_revisions": "Supprimer toutes les versions de cette note", - "delete_all_button": "Supprimer toutes les versions", - "help_title": "Aide sur les versions de notes", - "close": "Fermer", - "revision_last_edited": "Cette version a été modifiée pour la dernière fois le {{date}}", - "confirm_delete_all": "Voulez-vous supprimer toutes les versions de cette note ?", - "no_revisions": "Aucune version pour cette note pour l'instant...", - "restore_button": "", - "confirm_restore": "Voulez-vous restaurer cette version ? Le titre et le contenu actuels de la note seront écrasés par cette version.", - "delete_button": "", - "confirm_delete": "Voulez-vous supprimer cette version ?", - "revisions_deleted": "Les versions de notes ont été supprimées.", - "revision_restored": "La version de la note a été restaurée.", - "revision_deleted": "La version de la note a été supprimée.", - "snapshot_interval": "Délai d'enregistrement automatique des versions de notes : {{seconds}}s.", - "maximum_revisions": "Nombre maximal de versions : {{number}}.", - "settings": "Paramètres des versions de notes", - "download_button": "Télécharger", - "mime": "MIME : ", - "file_size": "Taille du fichier :", - "preview": "Aperçu :", - "preview_not_available": "L'aperçu n'est pas disponible pour ce type de note." - }, - "sort_child_notes": { - "sort_children_by": "Trier les enfants par...", - "close": "Fermer", - "sorting_criteria": "Critères de tri", - "title": "titre", - "date_created": "date de création", - "date_modified": "date de modification", - "sorting_direction": "Sens de tri", - "ascending": "ascendant", - "descending": "descendant", - "folders": "Dossiers", - "sort_folders_at_top": "trier les dossiers en haut", - "natural_sort": "Tri naturel", - "sort_with_respect_to_different_character_sorting": "trier en fonction de différentes règles de tri et de classement des caractères dans différentes langues ou régions.", - "natural_sort_language": "Langage de tri naturel", - "the_language_code_for_natural_sort": "Le code de langue pour le tri naturel, par ex. \"zh-CN\" pour le chinois.", - "sort": "Trier Entrée" - }, - "upload_attachments": { - "upload_attachments_to_note": "Téléverser des pièces jointes à la note", - "close": "Fermer", - "choose_files": "Choisir des fichiers", - "files_will_be_uploaded": "Les fichiers seront téléversés sous forme de pièces jointes dans", - "options": "Options", - "shrink_images": "Réduire les images", - "upload": "Téléverser", - "tooltip": "Si vous cochez cette option, Trilium tentera de réduire les images téléversées par mise à l'échelle et optimisation, ce qui peut affecter la qualité de l'image perçue. Si cette case n'est pas cochée, les images seront téléversées sans modifications." - }, - "attribute_detail": { - "attr_detail_title": "Titre détaillé de l'attribut", - "close_button_title": "Annuler les modifications et fermer", - "attr_is_owned_by": "L'attribut appartient à", - "attr_name_title": "Le nom de l'attribut ne peut être composé que de caractères alphanumériques, de deux-points et de tirets bas", - "name": "Nom", - "value": "Valeur", - "target_note_title": "La relation est une liaison nommée entre une note source et une note cible.", - "target_note": "Note cible", - "promoted_title": "L'attribut promu est affiché bien en évidence sur la note.", - "promoted": "Promu", - "promoted_alias_title": "Nom à afficher dans l'interface des attributs promus.", - "promoted_alias": "Alias", - "multiplicity_title": "La multiplicité définit combien d'attributs du même nom peuvent être créés - au maximum 1 ou plus de 1.", - "multiplicity": "Multiplicité", - "single_value": "Valeur unique", - "multi_value": "Valeur multiple", - "label_type_title": "Le type de label aidera Trilium à choisir l'interface appropriée pour saisir la valeur du label.", - "label_type": "Type", - "text": "Texte", - "number": "Nombre", - "boolean": "Booléen", - "date": "Date", - "date_time": "Date et heure", - "time": "Heure", - "url": "URL", - "precision_title": "Nombre de chiffres après la virgule devant être disponible dans l'interface définissant la valeur.", - "precision": "Précision", - "digits": "chiffres", - "inverse_relation_title": "Paramètre optionnel pour définir à la relation inverse de celle actuellement définie. Exemple : Père - Fils sont des relations inverses l'une par rapport à l'autre.", - "inverse_relation": "Relation inverse", - "inheritable_title": "L'attribut hérité sera transmis à tous les descendants dans cet arbre.", - "inheritable": "Héritable", - "save_and_close": "Enregistrer et fermer Ctrl+Entrée", - "delete": "Supprimer", - "related_notes_title": "Autres notes avec ce label", - "more_notes": "Plus de notes", - "label": "Détail du label", - "label_definition": "Détails de la définition du label", - "relation": "Détail de la relation", - "relation_definition": "Détail de la définition de la relation", - "disable_versioning": "désactive la gestion automatique des versions. Utile pour les notes volumineuses mais sans importance - par ex. grandes bibliothèques JS utilisées pour les scripts", - "calendar_root": "indique la note qui doit être utilisée comme racine pour les notes journalières. Une seule note doit être marquée comme telle.", - "archived": "les notes portant ce label ne seront pas visibles par défaut dans les résultats de recherche (ou dans les boîtes de dialogue Aller à, Ajouter un lien, etc.).", - "exclude_from_export": "les notes (avec leurs sous-arbres) ne seront incluses dans aucune exportation de notes", - "run": "définit à quels événements le script doit s'exécuter. Les valeurs possibles sont :\n
    \n
  • frontendStartup : lorsque l'interface Trilium démarre (ou est actualisée), mais pas sur mobile.
  • \n
  • mobileStartup : lorsque l'interface Trilium démarre (ou est actualisée), sur mobile.
  • \n
  • backendStartup : lorsque le backend Trilium démarre
  • \n
  • toutes les heures : exécution une fois par heure. Vous pouvez utiliser le label supplémentaire runAtHour pour spécifier à quelle heure.
  • \n
  • quotidiennement – exécuter une fois par jour
  • \n
", - "run_on_instance": "Définissez quelle instance de Trilium doit exécuter cette note. Par défaut, toutes les instances.", - "run_at_hour": "À quelle heure la note doit-elle s'exécuter. Doit être utilisé avec #run=hourly. Peut être défini plusieurs fois pour plus d'occurrences au cours de la journée.", - "disable_inclusion": "les scripts portant ce label ne seront pas inclus dans l'exécution du script parent.", - "sorted": "conserve les notes enfants triées alphabétiquement selon leur titre", - "sort_direction": "ASC (par défaut) ou DESC", - "sort_folders_first": "Les dossiers (notes avec enfants) doivent être triés en haut", - "top": "conserver la note donnée en haut dans l'arbre de son parent (s'applique uniquement aux parents triés)", - "hide_promoted_attributes": "Masquer les attributs promus sur cette note", - "read_only": "l'éditeur est en mode lecture seule. Fonctionne uniquement pour les notes de texte et de code.", - "auto_read_only_disabled": "les notes textuelles/de code peuvent être automatiquement mises en mode lecture lorsqu'elles sont trop volumineuses. Vous pouvez désactiver ce comportement note par note en ajoutant ce label à la note", - "app_css": "marque les notes CSS qui sont chargées dans l'application Trilium et peuvent ainsi être utilisées pour modifier l'apparence de Trilium.", - "app_theme": "marque les notes CSS qui sont des thèmes Trilium complets et sont donc disponibles dans les options Trilium.", - "app_theme_base": "définir sur \"next\" afin d'utiliser le thème TriliumNext comme base pour un thème personnalisé à la place de l'ancien thème.", - "css_class": "la valeur de ce label est ensuite ajoutée en tant que classe CSS au nœud représentant la note donnée dans l'arborescence. Cela peut être utile pour les thèmes avancés. Peut être utilisé dans les notes modèle.", - "icon_class": "la valeur de ce label est ajoutée en tant que classe CSS à l'icône dans l'arbre, ce qui peut aider à distinguer visuellement les notes dans l'arborescence. Un exemple pourrait être bx bx-home - les icônes sont extraites de boxicons. Peut être utilisé dans les notes modèle.", - "page_size": "nombre d'éléments par page dans la liste de notes", - "custom_request_handler": "voir le Gestionnaire de requêtes personnalisé", - "custom_resource_provider": "voir le Gestionnaire de requêtes personnalisé", - "widget": "indique que cette note est un widget personnalisé qui sera ajouté à l'arbre des composants Trilium", - "workspace": "cette note devient un espace de travail. Le focus sur cette note est facilité", - "workspace_icon_class": "définit l'icône CSS utilisé dans l'onglet lorsque la note est focus", - "workspace_tab_background_color": "Couleur CSS utilisée dans l'onglet lorsque cette note est focus", - "workspace_calendar_root": "Définit la racine du calendrier pour un espace de travail", - "workspace_template": "Cette note apparaîtra dans la sélection des modèles disponibles lors de la création d'une nouvelle note, mais uniquement si un espace de travail contenant ce modèle est focus", - "search_home": "les nouvelles notes de recherche seront créées en tant qu'enfants de cette note", - "workspace_search_home": "de nouvelles notes de recherche seront créées en tant qu'enfants de cette note, lorsqu'une note ancêtre de cet espace de travail est focus", - "inbox": "emplacement par défaut pour les nouvelles notes - lorsque vous créez une note à l'aide du bouton \"nouvelle note\" dans la barre latérale, les notes seront créées en tant que notes enfants dans la note marquée avec le label #inbox.", - "workspace_inbox": "emplacement par défaut des nouvelles notes lorsque le focus est sur une note ancêtre de cet espace de travail", - "sql_console_home": "emplacement par défaut des notes de la console SQL", - "bookmark_folder": "une note avec ce label apparaîtra dans les favoris sous forme de dossier (permettant l'accès à ses notes enfants)", - "share_hidden_from_tree": "cette note est masquée dans l'arbre de navigation de gauche, mais toujours accessible avec son URL", - "share_external_link": "la note fera office de lien vers un site Web externe dans l'arbre partagée", - "share_alias": "définit un alias à l'aide duquel la note sera disponible sous https://your_trilium_host/share/[votre_alias]", - "share_omit_default_css": "le CSS de la page de partage par défaut ne sera pas pris en compte. À utiliser lorsque vous apportez des modifications de style importantes.", - "share_root": "partage cette note à l'adresse racine /share.", - "share_description": "définir le texte à ajouter à la balise méta HTML pour la description", - "share_raw": "la note sera servie dans son format brut, sans wrapper HTML", - "share_disallow_robot_indexing": "interdira l'indexation par robot de cette note via l'en-tête X-Robots-Tag: noindex", - "share_credentials": "exiger des informations d’identification pour accéder à cette note partagée. La valeur devrait être au format « nom d'utilisateur : mot de passe ». N'oubliez pas de rendre cela héritable pour l'appliquer aux notes/images enfants.", - "share_index": "la note avec ce label listera toutes les racines des notes partagées", - "display_relations": "noms des relations délimités par des virgules qui doivent être affichés. Tous les autres seront masqués.", - "hide_relations": "noms de relations délimités par des virgules qui doivent être masqués. Tous les autres seront affichés.", - "title_template": "titre par défaut des notes créées en tant qu'enfants de cette note. La valeur est évaluée sous forme de chaîne JavaScript \n et peut ainsi être enrichi de contenu dynamique via les variables injectées now et parentNote. Exemples :\n \n
    \n
  • Œuvres littéraires de ${parentNote.getLabelValue('authorName')}
  • \n
  • Connectez-vous pour ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n Consultez le wiki avec plus de détails, la documentation sur l'API pour parentNote et maintenant< /a> pour plus de détails.", - "template": "Cette note apparaîtra parmi les modèles disponibles lors de la création d'une nouvelle note", - "toc": "#toc ou #toc=show forcera l'affichage de la table des matières, #toc=hide force qu'elle soit masquée. Si le label n'existe pas, le paramètre global est utilisé", - "color": "définit la couleur de la note dans l'arborescence des notes, les liens, etc. Utilisez n'importe quelle valeur de couleur CSS valide comme « rouge » ou #a13d5f", - "keyboard_shortcut": "Définit un raccourci clavier qui ouvrira immédiatement cette note. Exemple : 'ctrl+alt+e'. Nécessite un rechargement du frontend pour que la modification prenne effet.", - "keep_current_hoisting": "L'ouverture de ce lien ne modifiera pas le focus même si la note n'est pas affichable dans le sous-arbre actuellement focus.", - "execute_button": "Titre du bouton qui exécutera la note de code en cours", - "execute_description": "Description plus longue de la note de code actuelle affichée avec le bouton d'exécution", - "exclude_from_note_map": "Les notes avec ce label seront masquées de la carte des notes", - "new_notes_on_top": "Les nouvelles notes seront créées en haut de la note parent, et non en bas.", - "hide_highlight_widget": "Masquer le widget Important", - "run_on_note_creation": "s'exécute lorsque la note est créée dans le backend. Utilisez cette relation si vous souhaitez exécuter le script pour toutes les notes créées sous un sous-arbre spécifique. Dans ce cas, créez-le sur la note racine du sous-arbre et rendez-la héritable. Une nouvelle note créée dans le sous-arbre (peu importe la profondeur) déclenchera le script.", - "run_on_child_note_creation": "s'exécute lorsqu'une nouvelle note est créée sous la note où cette relation est définie", - "run_on_note_title_change": "s'exécute lorsque le titre de la note est modifié (inclut également la création de notes)", - "run_on_note_content_change": "s'exécute lorsque le contenu de la note est modifié (inclut également la création de notes).", - "run_on_note_change": "s'exécute lorsque la note est modifiée (inclut également la création de notes). N'inclut pas les modifications de contenu", - "run_on_note_deletion": "s'exécute lorsque la note est supprimée", - "run_on_branch_creation": "s'exécute lorsqu'une branche est créée. La branche est un lien entre la note parent et la note enfant. Elle est créée, par exemple, lors du clonage ou du déplacement d'une note.", - "run_on_branch_change": "s'exécute lorsqu'une branche est mise à jour.", - "run_on_branch_deletion": "s'exécute lorsqu'une branche est supprimée La branche est un lien entre la note parent et la note enfant. Elle est supprimée, par exemple, lors du déplacement d'une note (l'ancienne branche/lien est supprimé).", - "run_on_attribute_creation": "s'exécute lorsqu'un nouvel attribut pour la note qui définit cette relation est créé", - "run_on_attribute_change": " s'exécute lorsque l'attribut est modifié d'une note qui définit cette relation. Ceci est également déclenché lorsque l'attribut est supprimé", - "relation_template": "les attributs de la note seront hérités même sans relation parent-enfant, le contenu de la note et son sous-arbre seront transmis aux notes utilisant ce modèle si elles sont vides. Voir la documentation pour plus de détails.", - "inherit": "les attributs de la note seront hérités même sans relation parent-enfant. Voir la relation Modèle pour un comportement similaire. Voir l'héritage des attributs dans la documentation.", - "render_note": "les notes de type \"Rendu HTML\" seront rendues à partir d'une note de code (HTML ou script). Utilisez cette relation pour pointer vers la note de code à afficher", - "widget_relation": "la note cible de cette relation sera exécutée et affichée sous forme de widget dans la barre latérale", - "share_css": "Note CSS qui sera injectée dans la page de partage. La note CSS doit également figurer dans le sous-arbre partagé. Pensez également à utiliser « share_hidden_from_tree » et « share_omit_default_css ».", - "share_js": "Note JavaScript qui sera injectée dans la page de partage. La note JS doit également figurer dans le sous-arbre partagé. Pensez à utiliser 'share_hidden_from_tree'.", - "share_template": "Note JavaScript intégrée qui sera utilisée comme modèle pour afficher la note partagée. Revient au modèle par défaut. Pensez à utiliser 'share_hidden_from_tree'.", - "share_favicon": "Favicon de la note à définir dans la page partagée. En règle générale, vous souhaitez le configurer pour partager la racine et le rendre héritable. La note Favicon doit également figurer dans le sous-arbre partagé. Pensez à utiliser 'share_hidden_from_tree'.", - "is_owned_by_note": "appartient à la note", - "other_notes_with_name": "Autres notes portant le nom {{attributeType}} \"{{attributeName}}\"", - "and_more": "... et {{count}} plus.", - "print_landscape": "Lors de l'exportation en PDF, change l'orientation de la page en paysage au lieu de portrait.", - "print_page_size": "Lors de l'exportation en PDF, change la taille de la page. Valeurs supportées : A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." - }, - "attribute_editor": { - "help_text_body1": "Pour ajouter un label, tapez simplement par ex. #rock, ou si vous souhaitez également ajouter une valeur, tapez par ex. #année = 2020", - "help_text_body2": "Pour la relation, tapez ~author = @ qui devrait afficher une saisie semi-automatique où vous pourrez rechercher la note souhaitée.", - "help_text_body3": "Vous pouvez également ajouter un label et une relation en utilisant le bouton + sur le côté droit.", - "save_attributes": "Enregistrer les attributs ", - "add_a_new_attribute": "Ajouter un nouvel attribut", - "add_new_label": "Ajouter un nouveau label ", - "add_new_relation": "Ajouter une nouvelle relation ", - "add_new_label_definition": "Ajouter une nouvelle définition de label", - "add_new_relation_definition": "Ajouter une nouvelle définition de relation", - "placeholder": "Saisir les labels et les relations ici" - }, - "abstract_bulk_action": { - "remove_this_search_action": "Supprimer cette action dans la recherche" - }, - "execute_script": { - "execute_script": "Exécuter le script", - "help_text": "Vous pouvez exécuter des scripts simples sur les notes correspondantes.", - "example_1": "Par exemple pour ajouter une chaîne de caractères au titre d'une note, utilisez ce petit script :", - "example_2": "Un exemple plus complexe serait de supprimer tous les attributs de la note correspondante :" - }, - "add_label": { - "add_label": "Ajouter un label", - "label_name_placeholder": "nom du label", - "label_name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", - "to_value": "modifié par", - "new_value_placeholder": "nouvelle valeur", - "help_text": "Pour toutes les notes correspondantes :", - "help_text_item1": "créer un label donné si la note ne le possède pas encore", - "help_text_item2": "ou modifier la valeur du label existant", - "help_text_note": "Vous pouvez également appeler cette méthode sans valeur : dans ce cas le label sera attribué sans valeur à la note." - }, - "delete_label": { - "delete_label": "Supprimer le label", - "label_name_placeholder": "nom du label", - "label_name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." - }, - "rename_label": { - "rename_label": "Renommer le label", - "rename_label_from": "Renommer le label de", - "old_name_placeholder": "ancien nom", - "to": "En", - "new_name_placeholder": "nouveau nom", - "name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." - }, - "update_label_value": { - "update_label_value": "Mettre à jour la valeur du label", - "label_name_placeholder": "nom du label", - "label_name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", - "to_value": "modifié par", - "new_value_placeholder": "nouvelle valeur", - "help_text": "Pour toutes les notes correspondantes, modifier la valeur du label.", - "help_text_note": "Vous pouvez également appeler cette méthode sans valeur, dans ce cas le label sera attribué à la note sans valeur." - }, - "delete_note": { - "delete_note": "Supprimer la note", - "delete_matched_notes": "Supprimer les notes correspondantes", - "delete_matched_notes_description": "Cela supprimera les notes correspondantes.", - "undelete_notes_instruction": "Après la suppression, il est possible de les restaurer à partir de la boîte de dialogue Modifications récentes.", - "erase_notes_instruction": "Pour effacer les notes définitivement, vous pouvez aller après la suppression dans Options -> Autre et cliquer sur le bouton \"Effacer les notes supprimées maintenant\"." - }, - "delete_revisions": { - "delete_note_revisions": "Supprimer les versions de notes", - "all_past_note_revisions": "Toutes les versions de notes antérieures des notes correspondantes seront supprimées. La note elle-même sera entièrement préservée. En d’autres termes, l’historique de la note sera supprimé." - }, - "move_note": { - "move_note": "Déplacer la note", - "to": "vers", - "target_parent_note": "note parent cible", - "on_all_matched_notes": "Pour toutes les notes correspondantes", - "move_note_new_parent": "déplacer la note vers le nouveau parent si la note n'a qu'un seul parent (c.-à-d. l'ancienne branche est supprimée et une nouvelle branche est créée dans le nouveau parent)", - "clone_note_new_parent": "cloner la note vers le nouveau parent si la note a plusieurs clones/branches (il n'est pas clair quelle branche doit être supprimée)", - "nothing_will_happen": "rien ne se passera si la note ne peut pas être déplacée vers la note cible (cela créerait une boucle dans l'arborescence)" - }, - "rename_note": { - "rename_note": "Renommer la note", - "rename_note_title_to": "Renommer le titre de la note en", - "new_note_title": "nouveau titre de note", - "click_help_icon": "Cliquez sur l'icône d'aide à droite pour voir toutes les options", - "evaluated_as_js_string": "La valeur donnée est évaluée comme une chaîne JavaScript et peut ainsi être enrichie de contenu dynamique via la variable note injectée (la note étant renommée). Exemples :", - "example_note": "Note - toutes les notes correspondantes sont renommées « Note »", - "example_new_title": "NOUVEAU : ${note.title} : les titres des notes correspondantes sont préfixés par \"NOUVEAU : \"", - "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')} : ${note.title} : les notes correspondantes sont précédées du mois et de la date de création de la note", - "api_docs": "Consultez la documentation de l'API pour la note et ses propriétés dateCreatedObj / utcDateCreatedObj pour plus de détails." - }, - "add_relation": { - "add_relation": "Ajouter une relation", - "relation_name": "nom de la relation", - "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", - "to": "vers", - "target_note": "note cible", - "create_relation_on_all_matched_notes": "Pour toutes les notes correspondantes, créer une relation donnée." - }, - "delete_relation": { - "delete_relation": "Supprimer la relation", - "relation_name": "nom de la relation", - "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." - }, - "rename_relation": { - "rename_relation": "Renommer la relation", - "rename_relation_from": "Renommer la relation de", - "old_name": "ancien nom", - "to": "En", - "new_name": "nouveau nom", - "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." - }, - "update_relation_target": { - "update_relation": "Mettre à jour la relation", - "relation_name": "nom de la relation", - "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", - "to": "vers", - "target_note": "note cible", - "on_all_matched_notes": "Pour toutes les notes correspondantes", - "change_target_note": "ou changer la note cible de la relation existante", - "update_relation_target": "Mettre à jour la cible de la relation" - }, - "attachments_actions": { - "open_externally": "Ouverture externe", - "open_externally_title": "Le fichier sera ouvert dans une application externe et les modifications apportées seront surveillées. \nVous pourrez ensuite téléverser la version modifiée dans Trilium.", - "open_custom": "Ouvrir avec", - "open_custom_title": "Le fichier sera ouvert dans une application externe et surveillé pour les modifications. Vous pourrez ensuite téléverser la version modifiée sur Trilium.", - "download": "Télécharger", - "rename_attachment": "Renommer la pièce jointe", - "upload_new_revision": "Téléverser une nouvelle version", - "copy_link_to_clipboard": "Copier le lien dans le presse-papier", - "convert_attachment_into_note": "Convertir la pièce jointe en note", - "delete_attachment": "Supprimer la pièce jointe", - "upload_success": "Une nouvelle version de pièce jointe a été téléversée.", - "upload_failed": "Le téléversement d'une nouvelle version de pièce jointe a échoué.", - "open_externally_detail_page": "L'ouverture externe d'une pièce jointe n''est disponible qu'à partir de la page de détails. Veuillez d'abord cliquer sur les détails de la pièce jointe et répéter l'opération.", - "open_custom_client_only": "L'option \"Ouvrir avec\" des pièces jointes n'est disponible que dans la version bureau de Trilium.", - "delete_confirm": "Êtes-vous sûr de vouloir supprimer la pièce jointe « {{title}} » ?", - "delete_success": "La pièce jointe « {{title}} » a été supprimée.", - "convert_confirm": "Êtes-vous sûr de vouloir convertir la pièce jointe « {{title}} » en une note distincte ?", - "convert_success": "La pièce jointe « {{title}} » a été convertie en note.", - "enter_new_name": "Veuillez saisir le nom de la nouvelle pièce jointe" - }, - "calendar": { - "mon": "Lun", - "tue": "Mar", - "wed": "Mer", - "thu": "Jeu", - "fri": "Ven", - "sat": "Sam", - "sun": "Dim", - "cannot_find_day_note": "Note journalière introuvable", - "january": "Janvier", - "febuary": "Février", - "march": "Mars", - "april": "Avril", - "may": "Mai", - "june": "Juin", - "july": "Juillet", - "august": "Août", - "september": "Septembre", - "october": "Octobre", - "november": "Novembre", - "december": "Décembre" - }, - "close_pane_button": { - "close_this_pane": "Fermer ce volet" - }, - "create_pane_button": { - "create_new_split": "Créer une nouvelle division" - }, - "edit_button": { - "edit_this_note": "Modifier cette note" - }, - "show_toc_widget_button": { - "show_toc": "Afficher la Table des matières" - }, - "show_highlights_list_widget_button": { - "show_highlights_list": "Afficher la liste des Accentuations" - }, - "global_menu": { - "menu": "Menu", - "options": "Options", - "open_new_window": "Ouvrir une nouvelle fenêtre", - "switch_to_mobile_version": "Passer à la version mobile", - "switch_to_desktop_version": "Passer à la version de bureau", - "zoom": "Zoom", - "toggle_fullscreen": "Basculer en plein écran", - "zoom_out": "Zoom arrière", - "reset_zoom_level": "Réinitialiser le niveau de zoom", - "zoom_in": "Zoomer", - "configure_launchbar": "Configurer la Barre de raccourcis", - "show_shared_notes_subtree": "Afficher le Sous-arbre des Notes Partagées", - "advanced": "Avancé", - "open_dev_tools": "Ouvrir les Outils de dév", - "open_sql_console": "Ouvrir la Console SQL", - "open_sql_console_history": "Ouvrir l'Historique de la console SQL", - "open_search_history": "Ouvrir l'Historique de recherche", - "show_backend_log": "Afficher le Journal back-end", - "reload_hint": "Recharger l'application peut aider à résoudre certains problèmes visuels sans redémarrer l'application.", - "reload_frontend": "Recharger l'interface", - "show_hidden_subtree": "Afficher le Sous-arbre caché", - "show_help": "Afficher l'aide", - "about": "À propos de Trilium Notes", - "logout": "Déconnexion", - "show-cheatsheet": "Afficher l'aide rapide", - "toggle-zen-mode": "Zen Mode" - }, - "zen_mode": { - "button_exit": "Sortir du Zen mode" - }, - "sync_status": { - "unknown": "

Le statut de la synchronisation sera connu à la prochaine tentative de synchronisation.

Cliquez pour déclencher la synchronisation maintenant.

", - "connected_with_changes": "

Connecté au serveur de synchronisation.
Il reste quelques modifications à synchroniser.

Cliquez pour déclencher la synchronisation.

", - "connected_no_changes": "

Connecté au serveur de synchronisation.
Toutes les modifications ont déjà été synchronisées.

Cliquez pour déclencher la synchronisation.

", - "disconnected_with_changes": "

La connexion au serveur de synchronisation a échoué.
Il reste encore des modifications à synchroniser.

Cliquez pour déclencher la synchronisation.

", - "disconnected_no_changes": "

La connexion au serveur de synchronisation a échoué.
Il reste encore des modifications à synchroniser.

Cliquez pour déclencher la synchronisation.

", - "in_progress": "La synchronisation avec le serveur est en cours." - }, - "left_pane_toggle": { - "show_panel": "Afficher le panneau", - "hide_panel": "Masquer le panneau" - }, - "move_pane_button": { - "move_left": "Déplacer vers la gauche", - "move_right": "Déplacer à droite" - }, - "note_actions": { - "convert_into_attachment": "Convertir en pièce jointe", - "re_render_note": "Re-rendre la note", - "search_in_note": "Rechercher dans la note", - "note_source": "Code source", - "note_attachments": "Pièces jointes", - "open_note_externally": "Ouverture externe", - "open_note_externally_title": "Le fichier sera ouvert dans une application externe et les modifications apportées seront surveillées. Vous pourrez ensuite téléverser la version modifiée dans Trilium.", - "open_note_custom": "Ouvrir la note avec", - "import_files": "Importer des fichiers", - "export_note": "Exporter la note", - "delete_note": "Supprimer la note", - "print_note": "Imprimer la note", - "save_revision": "Enregistrer la version", - "convert_into_attachment_failed": "La conversion de la note '{{title}}' a échoué.", - "convert_into_attachment_successful": "La note '{{title}}' a été convertie en pièce jointe.", - "convert_into_attachment_prompt": "Êtes-vous sûr de vouloir convertir la note '{{title}}' en une pièce jointe de la note parente ?", - "print_pdf": "Exporter en PDF..." - }, - "onclick_button": { - "no_click_handler": "Le widget bouton '{{componentId}}' n'a pas de gestionnaire de clic défini" - }, - "protected_session_status": { - "active": "La session protégée est active. Cliquez pour quitter la session protégée.", - "inactive": "Cliquez pour accéder à une session protégée" - }, - "revisions_button": { - "note_revisions": "Versions des Notes" - }, - "update_available": { - "update_available": "Mise à jour disponible" - }, - "note_launcher": { - "this_launcher_doesnt_define_target_note": "Ce raccourci ne définit pas de note cible." - }, - "code_buttons": { - "execute_button_title": "Exécuter le script", - "trilium_api_docs_button_title": "Ouvrir la documentation de l'API Trilium", - "save_to_note_button_title": "Enregistrer dans la note", - "opening_api_docs_message": "Ouverture de la documentation de l'API...", - "sql_console_saved_message": "La note de la console SQL a été enregistrée dans {{note_path}}" - }, - "copy_image_reference_button": { - "button_title": "Copier la référence de l'image dans le presse-papiers, peut être collée dans une note textuelle." - }, - "hide_floating_buttons_button": { - "button_title": "Masquer les boutons" - }, - "show_floating_buttons_button": { - "button_title": "Afficher les boutons" - }, - "svg_export_button": { - "button_title": "Exporter le diagramme au format SVG" - }, - "relation_map_buttons": { - "create_child_note_title": "Créer une nouvelle note enfant et l'ajouter à cette carte de relation", - "reset_pan_zoom_title": "Réinitialiser le panoramique et le zoom aux coordonnées et à la position initiales", - "zoom_in_title": "Zoomer", - "zoom_out_title": "Zoom arrière" - }, - "zpetne_odkazy": { - "backlink": "{{count}} Lien inverse", - "backlinks": "{{count}} Liens inverses", - "relation": "relation" - }, - "mobile_detail_menu": { - "insert_child_note": "Insérer une note enfant", - "delete_this_note": "Supprimer cette note", - "error_cannot_get_branch_id": "Impossible d'obtenir branchId pour notePath '{{notePath}}'", - "error_unrecognized_command": "Commande non reconnue {{command}}" - }, - "note_icon": { - "change_note_icon": "Changer l'icône de note", - "category": "Catégorie :", - "search": "Recherche :", - "reset-default": "Réinitialiser l'icône par défaut" - }, - "basic_properties": { - "note_type": "Type de note", - "editable": "Modifiable", - "basic_properties": "Propriétés de base" - }, - "book_properties": { - "view_type": "Type d'affichage", - "grid": "Grille", - "list": "Liste", - "collapse_all_notes": "Réduire toutes les notes", - "expand_all_children": "Développer tous les enfants", - "collapse": "Réduire", - "expand": "Développer", - "book_properties": "", - "invalid_view_type": "Type de vue non valide '{{type}}'", - "calendar": "Calendrier" - }, - "edited_notes": { - "no_edited_notes_found": "Aucune note modifiée ce jour-là...", - "title": "Notes modifiées", - "deleted": "(supprimé)" - }, - "file_properties": { - "note_id": "Identifiant de la note", - "original_file_name": "Nom du fichier d'origine", - "file_type": "Type de fichier", - "file_size": "Taille du fichier", - "download": "Télécharger", - "open": "Ouvrir", - "upload_new_revision": "Téléverser une nouvelle version", - "upload_success": "Une nouvelle version de fichier a été téléversée.", - "upload_failed": "Le téléversement d'une nouvelle version de fichier a échoué.", - "title": "Fichier" - }, - "image_properties": { - "original_file_name": "Nom du fichier d'origine", - "file_type": "Type de fichier", - "file_size": "Taille du fichier", - "download": "Télécharger", - "open": "Ouvrir", - "copy_reference_to_clipboard": "Copier la référence dans le presse-papiers", - "upload_new_revision": "Téléverser une nouvelle version", - "upload_success": "Une nouvelle version d'image a été téléversée.", - "upload_failed": "Échec de l'importation d'une nouvelle version d'image : {{message}}", - "title": "Image" - }, - "inherited_attribute_list": { - "title": "Attributs hérités", - "no_inherited_attributes": "Aucun attribut hérité." - }, - "note_info_widget": { - "note_id": "Identifiant de la note", - "created": "Créé", - "modified": "Modifié", - "type": "Type", - "note_size": "Taille de la note", - "note_size_info": "La taille de la note fournit une estimation approximative des besoins de stockage pour cette note. Il prend en compte le contenu de la note et de ses versions.", - "calculate": "calculer", - "subtree_size": "(taille du sous-arbre : {{size}} pour {{count}} notes)", - "title": "Infos sur la Note" - }, - "note_map": { - "open_full": "Développer au maximum", - "collapse": "Réduire à la taille normale", - "title": "Carte de la Note", - "fix-nodes": "Réparer les nœuds", - "link-distance": "Distance du lien" - }, - "note_paths": { - "title": "Chemins de la Note", - "clone_button": "Cloner la note vers un nouvel emplacement...", - "intro_placed": "Cette note est située dans les chemins suivants :", - "intro_not_placed": "Cette note n'est pas encore située dans l'arbre des notes.", - "outside_hoisted": "Ce chemin est en dehors de la note focus et vous devrez désactiver le focus.", - "archived": "Archivé", - "search": "Recherche" - }, - "note_properties": { - "this_note_was_originally_taken_from": "Cette note est initialement extraite de :", - "info": "Infos" - }, - "owned_attribute_list": { - "owned_attributes": "Attributs propres" - }, - "promoted_attributes": { - "promoted_attributes": "Attributs promus", - "unset-field-placeholder": "non défini", - "url_placeholder": "http://siteweb...", - "open_external_link": "Ouvrir le lien externe", - "unknown_label_type": "Type de label inconnu '{{type}}'", - "unknown_attribute_type": "Type d'attribut inconnu '{{type}}'", - "add_new_attribute": "Ajouter un nouvel attribut", - "remove_this_attribute": "Supprimer cet attribut" - }, - "script_executor": { - "query": "Requête", - "script": "Script", - "execute_query": "Exécuter la requête", - "execute_script": "Exécuter le script" - }, - "search_definition": { - "add_search_option": "Ajouter une option de recherche :", - "search_string": "chaîne de caractères à rechercher", - "search_script": "script de recherche", - "ancestor": "ancêtre", - "fast_search": "recherche rapide", - "fast_search_description": "L'option de recherche rapide désactive la recherche dans le texte intégral du contenu des notes, ce qui peut accélérer la recherche dans les grandes bases de données.", - "include_archived": "inclure les archivées", - "include_archived_notes_description": "Par défaut, les notes archivées sont exclues des résultats de recherche : avec cette option, elles seront incluses.", - "order_by": "trier par", - "limit": "limite", - "limit_description": "Limiter le nombre de résultats", - "debug": "debug", - "debug_description": "Debug imprimera des informations supplémentaires dans la console pour faciliter le débogage des requêtes complexes", - "action": "action", - "search_button": "Recherche Entrée", - "search_execute": "Rechercher et exécuter des actions", - "save_to_note": "Enregistrer dans la note", - "search_parameters": "Paramètres de recherche", - "unknown_search_option": "Option de recherche inconnue {{searchOptionName}}", - "search_note_saved": "La note de recherche a été enregistrée dans {{- notePathTitle}}", - "actions_executed": "Les actions ont été exécutées." - }, - "similar_notes": { - "title": "Notes similaires", - "no_similar_notes_found": "Aucune note similaire trouvée." - }, - "abstract_search_option": { - "remove_this_search_option": "Supprimer cette option de recherche", - "failed_rendering": "Le chargement de l'option de recherche : {{dto}} a échoué avec l'erreur : {{error}} {{stack}}" - }, - "ancestor": { - "label": "Ancêtre", - "placeholder": "rechercher une note par son nom", - "depth_label": "profondeur", - "depth_doesnt_matter": "n'a pas d'importance", - "depth_eq": "est exactement {{count}}", - "direct_children": "enfants directs", - "depth_gt": "est supérieur à {{count}}", - "depth_lt": "est inférieur à {{count}}" - }, - "debug": { - "debug": "Debug", - "debug_info": "Debug imprimera des informations supplémentaires dans la console pour faciliter le débogage des requêtes complexes.", - "access_info": "Pour accéder aux informations de débogage, exécutez la requête et cliquez sur \"Afficher le journal backend\" dans le coin supérieur gauche." - }, - "fast_search": { - "fast_search": "Recherche rapide", - "description": "L'option de recherche rapide désactive la recherche dans le texte intégral du contenu des notes, ce qui peut accélérer la recherche dans les grandes bases de données." - }, - "include_archived_notes": { - "include_archived_notes": "Inclure les notes archivées" - }, - "limit": { - "limit": "Limite", - "take_first_x_results": "Ne prendre que les X premiers résultats spécifiés." - }, - "order_by": { - "order_by": "Trier par", - "relevancy": "Pertinence (par défaut)", - "title": "Titre", - "date_created": "Date de création", - "date_modified": "Date de dernière modification", - "content_size": "Taille de la note", - "content_and_attachments_size": "Taille de la note (pièces jointes comprises)", - "content_and_attachments_and_revisions_size": "Taille de note (pièces jointes et versions comprises)", - "revision_count": "Nombre de versions", - "children_count": "Nombre de notes enfants", - "parent_count": "Nombre de clones", - "owned_label_count": "Nombre de labels", - "owned_relation_count": "Nombre de relations", - "target_relation_count": "Nombre de relations ciblant la note", - "random": "Ordre aléatoire", - "asc": "Ascendant (par défaut)", - "desc": "Descendant" - }, - "search_script": { - "title": "Script de recherche :", - "placeholder": "rechercher une note par son nom", - "description1": "Le script de recherche permet de définir les résultats de la recherche en exécutant un script. Cela offre une flexibilité maximale lorsque la recherche standard ne suffit pas.", - "description2": "Le script de recherche doit être de type \"code\" et sous-type \"backend JavaScript\". Le script doit retourner un tableau de noteIds ou de notes.", - "example_title": "Voir cet exemple :", - "example_code": "// 1. préfiltrage à l'aide de la recherche standard\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. application de critères de recherche personnalisés\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", - "note": "Notez que le script de recherche et la l'expression à rechercher standard ne peuvent pas être combinés." - }, - "search_string": { - "title_column": "Expression à rechercher :", - "placeholder": "mots-clés du texte, #tag = valeur...", - "search_syntax": "Syntaxe de recherche", - "also_see": "voir aussi", - "complete_help": "aide complète sur la syntaxe de recherche", - "full_text_search": "Entrez simplement n'importe quel texte pour rechercher dans le contenu des notes", - "label_abc": "renvoie les notes avec le label abc", - "label_year": "correspond aux notes possédant le label year ayant la valeur 2019", - "label_rock_pop": "correspond aux notes qui ont à la fois les labels rock et pop", - "label_rock_or_pop": "un seul des labels doit être présent", - "label_year_comparison": "comparaison numérique (également >, >=, <).", - "label_date_created": "notes créées le mois dernier", - "error": "Erreur de recherche : {{error}}", - "search_prefix": "Recherche :" - }, - "attachment_detail": { - "open_help_page": "Ouvrir la page d'aide sur les pièces jointes", - "owning_note": "Note d'appartenance : ", - "you_can_also_open": ", vous pouvez également ouvrir ", - "list_of_all_attachments": "Liste de toutes les pièces jointes", - "attachment_deleted": "Cette pièce jointe a été supprimée." - }, - "attachment_list": { - "open_help_page": "Ouvrir la page d'aide à propos des pièces jointes", - "owning_note": "Note d'appartenance : ", - "upload_attachments": "Téléverser des pièces jointes", - "no_attachments": "Cette note ne contient aucune pièce jointe." - }, - "book": { - "no_children_help": "Cette note de type Livre n'a aucune note enfant, donc il n'y a rien à afficher. Consultez le wiki pour plus de détails." - }, - "editable_code": { - "placeholder": "Saisir le contenu de votre note de code ici..." - }, - "editable_text": { - "placeholder": "Saisir le contenu de votre note ici..." - }, - "empty": { - "open_note_instruction": "Ouvrez une note en tapant son titre dans la zone ci-dessous ou choisissez une note dans l'arborescence.", - "search_placeholder": "rechercher une note par son nom", - "enter_workspace": "Entrez dans l'espace de travail {{title}}" - }, - "file": { - "file_preview_not_available": "L'aperçu du fichier n'est pas disponible pour ce format de fichier.", - "too_big": "L'aperçu ne montre que les premiers caractères {{maxNumChars}} du fichier pour des raisons de performance. Téléchargez le fichier et ouvrez-le en dehors de Trilium pour voir tout le contenu." - }, - "protected_session": { - "enter_password_instruction": "L'affichage de la note protégée nécessite la saisie de votre mot de passe :", - "start_session_button": "Démarrer une session protégée Entrée", - "started": "La session protégée a démarré.", - "wrong_password": "Mot de passe incorrect.", - "protecting-finished-successfully": "La protection de la note s'est terminée avec succès.", - "unprotecting-finished-successfully": "La protection de la note a été retirée avec succès.", - "protecting-in-progress": "Protection en cours : {{count}}", - "unprotecting-in-progress-count": "Retrait de la protection en cours : {{count}}", - "protecting-title": "Statut de la protection", - "unprotecting-title": "Statut de la non-protection" - }, - "relation_map": { - "open_in_new_tab": "Ouvrir dans un nouvel onglet", - "remove_note": "Supprimer la note", - "edit_title": "Modifier le titre", - "rename_note": "Renommer la note", - "enter_new_title": "Saisissez le nouveau titre de la note :", - "remove_relation": "Supprimer la relation", - "confirm_remove_relation": "Êtes-vous sûr de vouloir supprimer la relation ?", - "specify_new_relation_name": "Spécifiez le nom de la nouvelle relation (caractères autorisés : alphanumérique, deux-points et tiret-bas.) :", - "connection_exists": "La connexion « {{name}} » entre ces notes existe déjà.", - "start_dragging_relations": "Commencez à faire glisser les relations à partir d'ici et déposez-les sur une autre note.", - "note_not_found": "Note {{noteId}} introuvable !", - "cannot_match_transform": "Correspondance à la transformation : {{transform}} introuvable", - "note_already_in_diagram": "La note \"{{title}}\" est déjà dans le diagramme.", - "enter_title_of_new_note": "Entrez le titre de la nouvelle note", - "default_new_note_title": "nouvelle note", - "click_on_canvas_to_place_new_note": "Cliquez sur le canevas pour placer une nouvelle note" - }, - "render": { - "note_detail_render_help_1": "Cette note d'aide s'affiche car cette note de type Rendu HTML n'a pas la relation requise pour fonctionner correctement.", - "note_detail_render_help_2": "Le type de note Rendu HTML est utilisé pour les scripts. En résumé, vous disposez d'une note de code HTML (éventuellement contenant JavaScript) et cette note affichera le rendu. Pour que cela fonctionne, vous devez définir une relation appelée \"renderNote\" pointant vers la note HTML à rendre." - }, - "web_view": { - "web_view": "Affichage Web", - "embed_websites": "Les notes de type Affichage Web vous permet d'intégrer des sites Web dans Trilium.", - "create_label": "Pour commencer, veuillez créer un label avec l'adresse URL que vous souhaitez intégrer, par ex. #webViewSrc=\"https://www.google.com\"" - }, - "backend_log": { - "refresh": "Rafraîchir" - }, - "consistency_checks": { - "title": "Vérification de la cohérence", - "find_and_fix_button": "Rechercher et résoudre les problèmes de cohérence", - "finding_and_fixing_message": "Recherche et résolution des problèmes de cohérence...", - "issues_fixed_message": "Les problèmes de cohérence devraient être résolus." - }, - "database_anonymization": { - "title": "Anonymisation de la base de données", - "full_anonymization": "Anonymisation complète", - "full_anonymization_description": "Cette action créera une nouvelle copie de la base de données et l'anonymisera (tout le contenu des notes sera supprimé et ne restera que la structure et certaines métadonnées non sensibles) pour la partager en ligne à des fins de débogage sans crainte de fuite de vos données personnelles.", - "save_fully_anonymized_database": "Enregistrer la base de données entièrement anonymisée", - "light_anonymization": "Anonymisation légère", - "light_anonymization_description": "Cette action créera une nouvelle copie de la base de données et y réalisera une légère anonymisation — seul le contenu de toutes les notes sera supprimé, mais les titres et les attributs resteront. De plus, les notes de script frontend/backend JS personnalisées et les widgets personnalisés resteront. Fournit plus de contexte pour déboguer les problèmes.", - "choose_anonymization": "Vous pouvez décider vous-même si vous souhaitez fournir une base de données entièrement ou partiellement anonymisée. Même une base de données entièrement anonymisée est très utile, mais dans certains cas, une base de données partiellement anonymisée peut accélérer le processus d'identification et de correction des bugs.", - "save_lightly_anonymized_database": "Enregistrer la base de données partiellement anonymisée", - "existing_anonymized_databases": "Bases de données anonymisées existantes", - "creating_fully_anonymized_database": "Création d'une base de données entièrement anonymisée...", - "creating_lightly_anonymized_database": "Création d'une base de données partiellement anonymisée...", - "error_creating_anonymized_database": "Impossible de créer une base de données anonymisée, vérifiez les journaux backend pour plus de détails", - "successfully_created_fully_anonymized_database": "Base de données entièrement anonymisée crée dans {{anonymizedFilePath}}", - "successfully_created_lightly_anonymized_database": "Base de données partiellement anonymisée crée dans {{anonymizedFilePath}}", - "no_anonymized_database_yet": "Aucune base de données anonymisée." - }, - "database_integrity_check": { - "title": "Vérification de l'intégrité de la base de données", - "description": "Vérifiera que la base de données n'est pas corrompue au niveau SQLite. Cela peut prendre un certain temps, en fonction de la taille de la base de données.", - "check_button": "Vérifier l'intégrité de la base de données", - "checking_integrity": "Vérification de l'intégrité de la base de données...", - "integrity_check_succeeded": "Le contrôle d'intégrité a réussi - aucun problème détecté.", - "integrity_check_failed": "Échec du contrôle d'intégrité : {{results}}" - }, - "sync": { - "title": "Synchroniser", - "force_full_sync_button": "Forcer la synchronisation complète", - "fill_entity_changes_button": "Remplir les enregistrements de modifications d'entité", - "full_sync_triggered": "Synchronisation complète déclenchée", - "filling_entity_changes": "Remplissage changements de ligne d'entité ...", - "sync_rows_filled_successfully": "Synchronisation avec succès des lignes remplies", - "finished-successfully": "Synchronisation terminée avec succès.", - "failed": "Échec de la synchronisation : {{message}}" - }, - "vacuum_database": { - "title": "Nettoyage la base de donnée", - "description": "Cela reconstruira la base de données, ce qui générera un fichier de base de données généralement plus petit. Aucune donnée ne sera réellement modifiée.", - "button_text": "Nettoyer de la base de donnée", - "vacuuming_database": "Nettoyage de la base de données en cours...", - "database_vacuumed": "La base de données a été nettoyée" - }, - "fonts": { - "theme_defined": "Défini par le thème", - "fonts": "Polices", - "main_font": "Police principale", - "font_family": "Famille de polices", - "size": "Taille", - "note_tree_font": "Police de l'arborescence", - "note_detail_font": "Police du contenu des notes", - "monospace_font": "Police Monospace (code)", - "note_tree_and_detail_font_sizing": "Notez que la taille de la police de l’arborescence et du contenu est relative au paramètre de taille de police principal.", - "not_all_fonts_available": "Toutes les polices répertoriées peuvent ne pas être disponibles sur votre système.", - "apply_font_changes": "Pour appliquer les modifications de police, cliquez sur", - "reload_frontend": "recharger l'interface", - "generic-fonts": "Polices génériques", - "sans-serif-system-fonts": "Polices système sans serif", - "serif-system-fonts": "Polices système Serif", - "monospace-system-fonts": "Polices système monospace", - "handwriting-system-fonts": "Polices système d'écriture manuelle", - "serif": "Serif", - "sans-serif": "Sans sérif", - "monospace": "Monospace", - "system-default": "Thème système" - }, - "max_content_width": { - "title": "Largeur du contenu", - "default_description": "Trilium limite par défaut la largeur maximale du contenu pour améliorer la lisibilité sur des écrans larges.", - "max_width_label": "Largeur maximale du contenu en pixels", - "apply_changes_description": "Pour appliquer les modifications de largeur du contenu, cliquez sur", - "reload_button": "recharger l'interface", - "reload_description": "changements par rapport aux options d'apparence" - }, - "native_title_bar": { - "title": "Barre de titre native (nécessite le redémarrage de l'application)", - "enabled": "activé", - "disabled": "désactivé" - }, - "ribbon": { - "widgets": "Ruban de widgets", - "promoted_attributes_message": "L'onglet du ruban Attributs promus s'ouvrira automatiquement si la note possède des attributs mis en avant", - "edited_notes_message": "L'onglet du ruban Notes modifiées s'ouvrira automatiquement sur les notes journalières" - }, - "theme": { - "title": "Thème de l'application", - "theme_label": "Thème", - "override_theme_fonts_label": "Remplacer les polices du thème", - "auto_theme": "Auto", - "light_theme": "Lumière", - "dark_theme": "Sombre", - "triliumnext": "TriliumNext Beta (Suit le thème du système)", - "triliumnext-light": "TriliumNext Beta (Clair)", - "triliumnext-dark": "TriliumNext Beta (sombre)", - "layout": "Disposition", - "layout-vertical-title": "Vertical", - "layout-horizontal-title": "Horizontal", - "layout-vertical-description": "la barre de raccourcis est à gauche (défaut)", - "layout-horizontal-description": "la barre de raccourcis est sous la barre des onglets, cette-dernière est s'affiche en pleine largeur." - }, - "zoom_factor": { - "title": "Facteur de zoom (version bureau uniquement)", - "description": "Le zoom peut également être contrôlé avec les raccourcis CTRL+- et CTRL+=." - }, - "code_auto_read_only_size": { - "title": "Taille pour la lecture seule automatique", - "description": "La taille pour la lecture seule automatique est le seuil au-delà de laquelle les notes seront affichées en mode lecture seule (pour optimiser les performances).", - "label": "Taille pour la lecture seule automatique (notes de code)" - }, - "code_mime_types": { - "title": "Types MIME disponibles dans la liste déroulante" - }, - "vim_key_bindings": { - "use_vim_keybindings_in_code_notes": "Raccourcis clavier Vim", - "enable_vim_keybindings": "Activer les raccourcis clavier Vim dans les notes de code (pas de mode ex)" - }, - "wrap_lines": { - "wrap_lines_in_code_notes": "Ligne wrappées dans les notes de code", - "enable_line_wrap": "Active le wrapping des lignes (le changement peut nécessiter un rechargement du frontend pour prendre effet)" - }, - "images": { - "images_section_title": "Images", - "download_images_automatically": "Téléchargez automatiquement les images pour une utilisation hors ligne.", - "download_images_description": "Le HTML collé peut contenir des références à des images en ligne, Trilium trouvera ces références et téléchargera les images afin qu'elles soient disponibles hors ligne.", - "enable_image_compression": "Activer la compression des images", - "max_image_dimensions": "Largeur/hauteur maximale d'une image en pixels (l'image sera redimensionnée si elle dépasse ce paramètre).", - "jpeg_quality_description": "Qualité JPEG (10 - pire qualité, 100 - meilleure qualité, 50 - 85 est recommandé)" - }, - "attachment_erasure_timeout": { - "attachment_erasure_timeout": "Délai d'effacement des pièces jointes", - "attachment_auto_deletion_description": "Les pièces jointes sont automatiquement supprimées (et effacées) si elles ne sont plus référencées par leur note après un certain délai.", - "erase_attachments_after": "Effacer les pièces jointes inutilisées après :", - "manual_erasing_description": "Vous pouvez également déclencher l'effacement manuellement (sans tenir compte du délai défini ci-dessus) :", - "erase_unused_attachments_now": "Effacez maintenant les pièces jointes inutilisées", - "unused_attachments_erased": "Les pièces jointes inutilisées ont été effacées." - }, - "network_connections": { - "network_connections_title": "Connexions réseau", - "check_for_updates": "Rechercher automatiquement les mises à jour" - }, - "note_erasure_timeout": { - "note_erasure_timeout_title": "Délai d'effacement des notes", - "note_erasure_description": "Les notes supprimées (et les attributs, versions...) sont seulement marquées comme supprimées et il est possible de les récupérer à partir de la boîte de dialogue Notes récentes. Après un certain temps, les notes supprimées sont « effacées », ce qui signifie que leur contenu n'est plus récupérable. Ce paramètre vous permet de configurer la durée entre la suppression et l'effacement de la note.", - "erase_notes_after": "Effacer les notes après", - "manual_erasing_description": "Vous pouvez également déclencher l'effacement manuellement (sans tenir compte de la durée définie ci-dessus) :", - "erase_deleted_notes_now": "Effacer les notes supprimées maintenant", - "deleted_notes_erased": "Les notes supprimées ont été effacées." - }, - "revisions_snapshot_interval": { - "note_revisions_snapshot_interval_title": "Délai d'enregistrement automatique d'une version de note", - "note_revisions_snapshot_description": "Le délai d'enregistrement automatique des versions de note définit le temps avant la création automatique d'une nouvelle version de note. Consultez le wiki pour plus d'informations.", - "snapshot_time_interval_label": "Délai d'enregistrement automatique de version de note :" - }, - "revisions_snapshot_limit": { - "note_revisions_snapshot_limit_title": "Limite du nombre de versions de note", - "note_revisions_snapshot_limit_description": "La limite du nombre de versions de note désigne le nombre maximum de versions pouvant être enregistrées pour chaque note. -1 signifie aucune limite, 0 signifie supprimer toutes les versions. Vous pouvez définir le nombre maximal de versions pour une seule note avec le label #versioningLimit.", - "snapshot_number_limit_label": "Nombre limite de versions de note :", - "erase_excess_revision_snapshots": "Effacer maintenant les versions en excès", - "erase_excess_revision_snapshots_prompt": "Les versions en excès ont été effacées." - }, - "search_engine": { - "title": "Moteur de recherche", - "custom_search_engine_info": "Le moteur de recherche personnalisé nécessite à la fois la définition d’un nom et d’une URL. Si l’un ou l’autre de ces éléments n’est défini, DuckDuckGo sera utilisé comme moteur de recherche par défaut.", - "predefined_templates_label": "Modèles de moteur de recherche prédéfinis", - "bing": "Bing", - "baidu": "Baidu", - "duckduckgo": "DuckDuckGo", - "google": "Google", - "custom_name_label": "Nom du moteur de recherche personnalisé", - "custom_name_placeholder": "Personnaliser le nom du moteur de recherche", - "custom_url_label": "L'URL du moteur de recherche personnalisé doit inclure {keyword} comme espace réservé pour le terme de recherche.", - "custom_url_placeholder": "Personnaliser l'url du moteur de recherche", - "save_button": "Sauvegarder" - }, - "tray": { - "title": "Barre d'état système", - "enable_tray": "Activer l'icône dans la barre d'état (Trilium doit être redémarré pour que cette modification prenne effet)" - }, - "heading_style": { - "title": "Style de titre", - "plain": "Simple", - "underline": "Souligné", - "markdown": "Style Markdown" - }, - "highlights_list": { - "title": "Accentuations", - "description": "Vous pouvez personnaliser la liste des accentuations affichée dans le panneau de droite :", - "bold": "Texte en gras", - "italic": "Texte en italique", - "underline": "Texte souligné", - "color": "Texte en couleur", - "bg_color": "Texte avec couleur de fond", - "visibility_title": "Visibilité de la Liste des Accentuations", - "visibility_description": "Vous pouvez masquer le widget des accentuations par note en ajoutant un label #hideHighlightWidget.", - "shortcut_info": "Vous pouvez configurer un raccourci clavier pour basculer rapidement vers le volet droit (comprenant les Accentuations) dans Options -> Raccourcis (nom « toggleRightPane »)." - }, - "table_of_contents": { - "title": "Table des matières", - "description": "La table des matières apparaîtra dans les notes textuelles lorsque la note comporte plus d'un nombre défini de titres. Vous pouvez personnaliser ce nombre :", - "disable_info": "Vous pouvez également utiliser cette option pour désactiver la table des matières en définissant un nombre très élevé.", - "shortcut_info": "Vous pouvez configurer un raccourci clavier pour afficher/masquer le volet de droite (y compris la table des matières) dans Options -> Raccourcis (nom « toggleRightPane »)." - }, - "text_auto_read_only_size": { - "title": "Taille automatique en lecture seule", - "description": "La taille automatique des notes en lecture seule est la taille au-delà de laquelle les notes seront affichées en mode lecture seule (pour des raisons de performances).", - "label": "Taille automatique en lecture seule (notes de texte)" - }, - "i18n": { - "title": "Paramètres régionaux", - "language": "Langue", - "first-day-of-the-week": "Premier jour de la semaine", - "sunday": "Dimanche", - "monday": "Lundi" - }, - "backup": { - "automatic_backup": "Sauvegarde automatique", - "automatic_backup_description": "Trilium peut sauvegarder la base de données automatiquement :", - "enable_daily_backup": "Activer la sauvegarde quotidienne", - "enable_weekly_backup": "Activer la sauvegarde hebdomadaire", - "enable_monthly_backup": "Activer la sauvegarde mensuelle", - "backup_recommendation": "Il est recommandé de garder la sauvegarde activée, mais cela peut ralentir le démarrage des applications avec des bases de données volumineuses et/ou des périphériques de stockage lents.", - "backup_now": "Sauvegarder maintenant", - "backup_database_now": "Sauvegarder la base de données maintenant", - "existing_backups": "Sauvegardes existantes", - "date-and-time": "Date & heure", - "path": "Chemin", - "database_backed_up_to": "La base de données a été sauvegardée dans {{backupFilePath}}", - "no_backup_yet": "pas encore de sauvegarde" - }, - "etapi": { - "title": "ETAPI", - "description": "ETAPI est une API REST utilisée pour accéder à l'instance Trilium par programme, sans interface utilisateur.", - "see_more": "", - "wiki": "wiki", - "openapi_spec": "Spec ETAPI OpenAPI", - "swagger_ui": "", - "create_token": "Créer un nouveau jeton ETAPI", - "existing_tokens": "Jetons existants", - "no_tokens_yet": "Il n'y a pas encore de jetons. Cliquez sur le bouton ci-dessus pour en créer un.", - "token_name": "Nom du jeton", - "created": "Créé", - "actions": "Actions", - "new_token_title": "Nouveau jeton ETAPI", - "new_token_message": "Veuillez saisir le nom du nouveau jeton", - "default_token_name": "nouveau jeton", - "error_empty_name": "Le nom du jeton ne peut pas être vide", - "token_created_title": "Jeton ETAPI créé", - "token_created_message": "Copiez le jeton créé dans le presse-papiers. Trilium enregistre le jeton haché et c'est la dernière fois que vous le verrez.", - "rename_token": "Renommer ce jeton", - "delete_token": "Supprimer/désactiver ce token", - "rename_token_title": "Renommer le jeton", - "rename_token_message": "Veuillez saisir le nom du nouveau jeton", - "delete_token_confirmation": "Êtes-vous sûr de vouloir supprimer le jeton ETAPI « {{name}} » ?" - }, - "options_widget": { - "options_status": "Statut des options", - "options_change_saved": "Les modifications des options ont été enregistrées." - }, - "password": { - "heading": "Mot de passe", - "alert_message": "Prenez soin de mémoriser votre nouveau mot de passe. Le mot de passe est utilisé pour se connecter à l'interface Web et pour crypter les notes protégées. Si vous oubliez votre mot de passe, toutes vos notes protégées seront définitivement perdues.", - "reset_link": "Cliquez ici pour le réinitialiser.", - "old_password": "Ancien mot de passe", - "new_password": "Nouveau mot de passe", - "new_password_confirmation": "Confirmation du nouveau mot de passe", - "change_password": "Changer le mot de passe", - "protected_session_timeout": "Expiration de la session protégée", - "protected_session_timeout_description": "Le délai d'expiration de la session protégée est une période de temps après laquelle la session protégée est effacée de la mémoire du navigateur. Il est mesuré à partir de la dernière interaction avec des notes protégées. Voir", - "wiki": "wiki", - "for_more_info": "pour plus d'informations.", - "protected_session_timeout_label": "Délai d'expiration de la session protégée :", - "reset_confirmation": "En réinitialisant le mot de passe, vous perdrez à jamais l'accès à toutes vos notes protégées existantes. Voulez-vous vraiment réinitialiser le mot de passe ?", - "reset_success_message": "Le mot de passe a été réinitialisé. Veuillez définir un nouveau mot de passe", - "change_password_heading": "Changer le mot de passe", - "set_password_heading": "Définir le mot de passe", - "set_password": "Définir le mot de passe", - "password_mismatch": "Les nouveaux mots de passe saisis ne sont pas les mêmes.", - "password_changed_success": "Le mot de passe a été modifié. Trilium va redémarrer après avoir appuyé sur OK." - }, - "shortcuts": { - "keyboard_shortcuts": "Raccourcis clavier", - "multiple_shortcuts": "Plusieurs raccourcis pour la même action peuvent être séparés par une virgule.", - "electron_documentation": "Consultez la documentation Electron pour connaître les modificateurs et codes clés disponibles.", - "type_text_to_filter": "Saisir du texte pour filtrer les raccourcis...", - "action_name": "Nom de l'action", - "shortcuts": "Raccourcis", - "default_shortcuts": "Raccourcis par défaut", - "description": "Description", - "reload_app": "Recharger l'application pour appliquer les modifications", - "set_all_to_default": "Réinitialiser aux valeurs par défaut", - "confirm_reset": "Voulez-vous vraiment réinitialiser tous les raccourcis clavier par défaut ?" - }, - "spellcheck": { - "title": "Vérification orthographique", - "description": "Ces options s'appliquent uniquement aux versions de bureau, les navigateurs utiliseront leur propre vérification orthographique native.", - "enable": "Activer la vérification orthographique", - "language_code_label": "Code(s) de langue", - "language_code_placeholder": "par exemple \"fr-FR\", \"en-US\", \"de-AT\"", - "multiple_languages_info": "Plusieurs langues peuvent être séparées par une virgule, par ex. \"fr-FR, en-US, de-DE, cs\". ", - "available_language_codes_label": "Codes de langue disponibles :", - "restart-required": "Les modifications apportées aux options de vérification orthographique prendront effet après le redémarrage de l'application." - }, - "sync_2": { - "config_title": "Configuration de synchronisation", - "server_address": "Adresse de l'instance du serveur", - "timeout": "Délai d'expiration de la synchronisation (millisecondes)", - "proxy_label": "Serveur proxy de synchronisation (facultatif)", - "note": "Note", - "note_description": "Si vous laissez le paramètre de proxy vide, le proxy système sera utilisé (applicable uniquement à la version de bureau/électronique).", - "special_value_description": "Une autre valeur spéciale est noproxy qui oblige à ignorer même le proxy système et respecte NODE_TLS_REJECT_UNAUTHORIZED.", - "save": "Sauvegarder", - "help": "Aide", - "test_title": "Test de synchronisation", - "test_description": "Testera la connexion et la prise de contact avec le serveur de synchronisation. Si le serveur de synchronisation n'est pas initialisé, cela le configurera pour qu'il se synchronise avec le document local.", - "test_button": "Tester la synchronisation", - "handshake_failed": "Échec de la négociation avec le serveur de synchronisation, erreur : {{message}}" - }, - "api_log": { - "close": "Fermer" - }, - "attachment_detail_2": { - "will_be_deleted_in": "Cette pièce jointe sera automatiquement supprimée dans {{time}}", - "will_be_deleted_soon": "Cette pièce jointe sera bientôt supprimée automatiquement", - "deletion_reason": ", car la pièce jointe n'est pas liée dans le contenu de la note. Pour empêcher la suppression, ajoutez à nouveau le lien de la pièce jointe dans le contenu d'une note ou convertissez la pièce jointe en note.", - "role_and_size": "Rôle : {{role}}, Taille : {{size}}", - "link_copied": "Lien de pièce jointe copié dans le presse-papiers.", - "unrecognized_role": "Rôle de pièce jointe « {{role}} » non reconnu." - }, - "bookmark_switch": { - "bookmark": "Favori", - "bookmark_this_note": "Ajouter cette note à vos favoris dans le panneau latéral gauche", - "remove_bookmark": "Supprimer le favori" - }, - "editability_select": { - "auto": "Auto", - "read_only": "Lecture seule", - "always_editable": "Toujours modifiable", - "note_is_editable": "La note est modifiable si elle n'est pas trop longue.", - "note_is_read_only": "La note est en lecture seule, mais peut être modifiée en cliquant sur un bouton.", - "note_is_always_editable": "La note est toujours modifiable, quelle que soit sa longueur." - }, - "note-map": { - "button-link-map": "Carte des liens", - "button-tree-map": "Carte de l'arborescence" - }, - "tree-context-menu": { - "open-in-a-new-tab": "Ouvrir dans un nouvel onglet Ctrl+Clic", - "open-in-a-new-split": "Ouvrir dans une nouvelle division", - "insert-note-after": "Insérer une note après", - "insert-child-note": "Insérer une note enfant", - "delete": "Supprimer", - "search-in-subtree": "Rechercher dans le sous-arbre", - "hoist-note": "Focus sur cette note", - "unhoist-note": "Désactiver le focus", - "edit-branch-prefix": "Modifier le préfixe de branche", - "advanced": "Avancé", - "expand-subtree": "Développer le sous-arbre", - "collapse-subtree": "Réduire le sous-arbre", - "sort-by": "Trier par...", - "recent-changes-in-subtree": "Modifications récentes du sous-arbre", - "convert-to-attachment": "Convertir en pièce jointe", - "copy-note-path-to-clipboard": "Copier le chemin de la note dans le presse-papiers", - "protect-subtree": "Protéger le sous-arbre", - "unprotect-subtree": "Ne plus protéger le sous-arbre", - "copy-clone": "Copier/cloner", - "clone-to": "Cloner vers...", - "cut": "Couper", - "move-to": "Déplacer vers...", - "paste-into": "Coller dans", - "paste-after": "Coller après", - "duplicate": "Dupliquer", - "export": "Exporter", - "import-into-note": "Importer dans la note", - "apply-bulk-actions": "Appliquer des Actions groupées", - "converted-to-attachments": "Les notes {{count}} ont été converties en pièces jointes.", - "convert-to-attachment-confirm": "Êtes-vous sûr de vouloir convertir les notes sélectionnées en pièces jointes de leurs notes parentes ?" - }, - "shared_info": { - "shared_publicly": "Cette note est partagée publiquement sur", - "shared_locally": "Cette note est partagée localement sur", - "help_link": "Pour obtenir de l'aide, visitez le wiki." - }, - "note_types": { - "text": "Texte", - "code": "Code", - "saved-search": "Recherche enregistrée", - "relation-map": "Carte des relations", - "note-map": "Carte de notes", - "render-note": "Rendu Html", - "book": "", - "mermaid-diagram": "Diagramme Mermaid", - "canvas": "Canevas", - "web-view": "Affichage Web", - "mind-map": "Carte mentale", - "file": "Fichier", - "image": "Image", - "launcher": "Raccourci", - "doc": "Doc", - "widget": "Widget", - "confirm-change": "Il n'est pas recommandé de modifier le type de note lorsque son contenu n'est pas vide. Voulez-vous continuer ?", - "geo-map": "Carte géo", - "beta-feature": "Beta", - "task-list": "Liste de tâches" - }, - "protect_note": { - "toggle-on": "Protéger la note", - "toggle-off": "Déprotéger la note", - "toggle-on-hint": "La note n'est pas protégée, cliquez pour la protéger", - "toggle-off-hint": "La note est protégée, cliquez pour ne plus la protéger" - }, - "shared_switch": { - "shared": "Partagé", - "toggle-on-title": "Partager la note", - "toggle-off-title": "Ne plus partager de la note", - "shared-branch": "Cette note existe uniquement en tant que note partagée, l'annulation du partage la supprimerait. Voulez-vous continuer et ainsi supprimer cette note ?", - "inherited": "Il n'est pas possible de ne plus partager cette note, car son partage est défini par héritage d'une note ancêtre." - }, - "template_switch": { - "template": "Modèle", - "toggle-on-hint": "Faire de la note un modèle", - "toggle-off-hint": "Supprimer la note comme modèle" - }, - "open-help-page": "Ouvrir la page d'aide", - "find": { - "case_sensitive": "Sensible à la casse", - "match_words": "Mots exacts", - "find_placeholder": "Chercher dans le texte...", - "replace_placeholder": "Remplacer par...", - "replace": "Remplacer", - "replace_all": "Tout remplacer" - }, - "highlights_list_2": { - "title": "Accentuations", - "options": "Options" - }, - "quick-search": { - "placeholder": "Recherche rapide", - "searching": "Recherche...", - "no-results": "Aucun résultat trouvé", - "more-results": "... et {{number}} autres résultats.", - "show-in-full-search": "Afficher dans la recherche complète" - }, - "note_tree": { - "collapse-title": "Réduire l'arborescence des notes", - "scroll-active-title": "Faire défiler jusqu'à la note active", - "tree-settings-title": "Paramètres de l'arborescence", - "hide-archived-notes": "Masquer les notes archivées", - "automatically-collapse-notes": "Réduire automatiquement les notes", - "automatically-collapse-notes-title": "Les notes seront réduites après une période d'inactivité pour désencombrer l'arborescence.", - "save-changes": "Enregistrer et appliquer les modifications", - "auto-collapsing-notes-after-inactivity": "Réduction automatique des notes après inactivité...", - "saved-search-note-refreshed": "Note de recherche enregistrée actualisée.", - "hoist-this-note-workspace": "Focus cette note (espace de travail)", - "refresh-saved-search-results": "Rafraîchir les résultats de recherche enregistrée", - "create-child-note": "Créer une note enfant", - "unhoist": "Désactiver le focus" - }, - "title_bar_buttons": { - "window-on-top": "Épingler cette fenêtre au premier plan" - }, - "note_detail": { - "could_not_find_typewidget": "Impossible de trouver typeWidget pour le type '{{type}}'" - }, - "note_title": { - "placeholder": "saisir le titre de la note ici..." - }, - "search_result": { - "no_notes_found": "Aucune note n'a été trouvée pour les paramètres de recherche donnés.", - "search_not_executed": "La recherche n'a pas encore été exécutée. Cliquez sur le bouton \"Rechercher\" ci-dessus pour voir les résultats." - }, - "spacer": { - "configure_launchbar": "Configurer la Barre de raccourcis" - }, - "sql_result": { - "no_rows": "Aucune ligne n'a été renvoyée pour cette requête" - }, - "sql_table_schemas": { - "tables": "Tableaux" - }, - "tab_row": { - "close_tab": "Fermer l'onglet", - "add_new_tab": "Ajouter un nouvel onglet", - "close": "Fermer", - "close_other_tabs": "Fermer les autres onglets", - "close_right_tabs": "Fermer les onglets à droite", - "close_all_tabs": "Fermer tous les onglets", - "reopen_last_tab": "Rouvrir le dernier onglet fermé", - "move_tab_to_new_window": "Déplacer cet onglet vers une nouvelle fenêtre", - "copy_tab_to_new_window": "Copier cet onglet dans une nouvelle fenêtre", - "new_tab": "Nouvel onglet" - }, - "toc": { - "table_of_contents": "Table des matières", - "options": "Options" - }, - "watched_file_update_status": { - "file_last_modified": "Le fichier a été modifié pour la dernière fois le .", - "upload_modified_file": "Téléverser le fichier modifié", - "ignore_this_change": "Ignorer ce changement" - }, - "app_context": { - "please_wait_for_save": "Veuillez patienter quelques secondes la fin de la sauvegarde, puis réessayer." - }, - "note_create": { - "duplicated": "La note «{{title}}» a été dupliquée." - }, - "image": { - "copied-to-clipboard": "Une référence à l'image a été copiée dans le presse-papiers. Elle peut être collée dans n'importe quelle note texte.", - "cannot-copy": "Impossible de copier la référence d'image dans le presse-papiers." - }, - "clipboard": { - "cut": "Les note(s) ont été coupées dans le presse-papiers.", - "copied": "Les note(s) ont été coupées dans le presse-papiers." - }, - "entrypoints": { - "note-revision-created": "La version de la note a été créée.", - "note-executed": "Note exécutée.", - "sql-error": "Erreur lors de l'exécution de la requête SQL: {{message}}" - }, - "branches": { - "cannot-move-notes-here": "Impossible de déplacer les notes ici.", - "delete-status": "Etat de la suppression", - "delete-notes-in-progress": "Suppression des notes en cours : {{count}}", - "delete-finished-successfully": "Suppression terminée avec succès.", - "undeleting-notes-in-progress": "Restauration des notes en cours : {{count}}", - "undeleting-notes-finished-successfully": "Restauration des notes terminée avec succès." - }, - "frontend_script_api": { - "async_warning": "Vous passez une fonction asynchrone à `api.runOnBackend()`, ce qui ne fonctionnera probablement pas comme vous le souhaitez.\\n Rendez la fonction synchronisée (en supprimant le mot-clé `async`), ou bien utilisez `api.runAsyncOnBackendWithManualTransactionHandling()`.", - "sync_warning": "Vous passez une fonction synchrone à `api.runAsyncOnBackendWithManualTransactionHandling()`,\\nalors que vous devriez probablement utiliser `api.runOnBackend()` à la place." - }, - "ws": { - "sync-check-failed": "Le test de synchronisation a échoué !", - "consistency-checks-failed": "Les tests de cohérence ont échoué ! Consultez les journaux pour plus de détails.", - "encountered-error": "Erreur \"{{message}}\", consultez la console." - }, - "hoisted_note": { - "confirm_unhoisting": "La note demandée «{{requestedNote}}» est en dehors du sous-arbre de la note focus «{{hoistedNote}}». Le focus doit être désactivé pour accéder à la note. Voulez-vous enlever le focus ?" - }, - "launcher_context_menu": { - "reset_launcher_confirm": "Voulez-vous vraiment réinitialiser \"{{title}}\" ? Toutes les données / paramètres de cette note (et de ses enfants) seront perdus et le raccourci retrouvera son emplacement d'origine.", - "add-note-launcher": "Ajouter un raccourci de note", - "add-script-launcher": "Ajouter un raccourci de script", - "add-custom-widget": "Ajouter un widget personnalisé", - "add-spacer": "Ajouter un séparateur", - "delete": "Supprimer ", - "reset": "Réinitialiser", - "move-to-visible-launchers": "Déplacer vers les raccourcis visibles", - "move-to-available-launchers": "Déplacer vers les raccourcis disponibles", - "duplicate-launcher": "Dupliquer le raccourci " - }, - "editable-text": { - "auto-detect-language": "Détecté automatiquement" - }, - "highlighting": { - "title": "", - "description": "Contrôle la coloration syntaxique des blocs de code à l'intérieur des notes texte, les notes de code ne seront pas affectées.", - "color-scheme": "Jeu de couleurs" - }, - "code_block": { - "word_wrapping": "Saut à la ligne automatique suivant la largeur", - "theme_none": "Pas de coloration syntaxique", - "theme_group_light": "Thèmes clairs", - "theme_group_dark": "Thèmes sombres" - }, - "classic_editor_toolbar": { - "title": "Mise en forme" - }, - "editor": { - "title": "Éditeur" - }, - "editing": { - "editor_type": { - "label": "Barre d'outils d'édition", - "floating": { - "title": "Flottante", - "description": "les outils d'édition apparaissent près du curseur ;" - }, - "fixed": { - "title": "Fixe", - "description": "les outils d'édition apparaissent dans l'onglet \"Mise en forme\"." - }, - "multiline-toolbar": "Afficher la barre d'outils sur plusieurs lignes si elle est trop grande." - } - }, - "electron_context_menu": { - "add-term-to-dictionary": "Ajouter «{{term}}» au dictionnaire", - "cut": "Couper", - "copy": "Copier", - "copy-link": "Copier le lien", - "paste": "Coller", - "paste-as-plain-text": "Coller comme texte brut", - "search_online": "Rechercher «{{term}}» avec {{searchEngine}}" - }, - "image_context_menu": { - "copy_reference_to_clipboard": "Copier la référence dans le presse-papiers", - "copy_image_to_clipboard": "Copier l'image dans le presse-papiers" - }, - "link_context_menu": { - "open_note_in_new_tab": "Ouvrir la note dans un nouvel onglet", - "open_note_in_new_split": "Ouvrir la note dans une nouvelle division", - "open_note_in_new_window": "Ouvrir la note dans une nouvelle fenêtre" - }, - "electron_integration": { - "desktop-application": "Application de bureau", - "native-title-bar": "Barre de titre native", - "native-title-bar-description": "Sous Windows et macOS, désactiver la barre de titre native rend l'application plus compacte. Sous Linux, le maintien de la barre de titre native permet une meilleure intégration avec le reste du système.", - "background-effects": "Activer les effets d'arrière-plan (Windows 11 uniquement)", - "background-effects-description": "L'effet Mica ajoute un fond flou et élégant aux fenêtres de l'application, créant une profondeur et un style moderne.", - "restart-app-button": "Redémarrez l'application pour afficher les modifications", - "zoom-factor": "Facteur de zoom" - }, - "note_autocomplete": { - "search-for": "Rechercher \"{{term}}\"", - "create-note": "Créer et lier une note enfant \"{{term}}\"", - "insert-external-link": "Insérer un lien externe vers \"{{term}}\"", - "clear-text-field": "Effacer le champ de texte", - "show-recent-notes": "Afficher les notes récentes", - "full-text-search": "Recherche dans le texte" - }, - "note_tooltip": { - "note-has-been-deleted": "La note a été supprimée." - }, - "geo-map": { - "create-child-note-title": "Créer une nouvelle note enfant et l'ajouter à la carte", - "create-child-note-instruction": "Cliquez sur la carte pour créer une nouvelle note à cet endroit ou appuyez sur Échap pour la supprimer.", - "unable-to-load-map": "Impossible de charger la carte." - }, - "geo-map-context": { - "open-location": "Ouvrir la position", - "remove-from-map": "Retirer de la carte" - }, - "help-button": { - "title": "Ouvrir la page d'aide correspondante" - }, - "duration": { - "seconds": "Secondes", - "minutes": "Minutes", - "hours": "Heures", - "days": "Jours" - }, - "share": { - "title": "Paramètres de partage", - "redirect_bare_domain": "Rediriger le domaine principal vers la page de partage", - "redirect_bare_domain_description": "Rediriger les utilisateurs anonymes vers la page de partage au lieu d'afficher la connexion", - "show_login_link": "Afficher le lien de connexion dans le thème de partage", - "show_login_link_description": "Ajouter un lien de connexion dans le pied de page de la page de partage", - "check_share_root": "Vérifier l'état du partage de la racine", - "share_root_found": "La note racine du partage '{{noteTitle}}' est prête", - "share_root_not_found": "Aucune note avec le label #shareRoot trouvée", - "share_root_not_shared": "Note '{{noteTitle}}' a le label #shareRoot mais n'est pas partagée" - }, - "time_selector": { - "invalid_input": "La valeur de l'heure saisie n'est pas un nombre valide.", - "minimum_input": "La valeur de temps saisie doit être d'au moins {{minimumSeconds}} secondes." - } } diff --git a/apps/client/src/translations/pt_br/translation.json b/apps/client/src/translations/pt_br/translation.json index 8410e64db..9e8e540c9 100644 --- a/apps/client/src/translations/pt_br/translation.json +++ b/apps/client/src/translations/pt_br/translation.json @@ -1,10 +1,7 @@ { - "revisions": { - "delete_button": "" - }, - "code_block": { - "theme_none": "Sem destaque de sintaxe", - "theme_group_light": "Temas claros", - "theme_group_dark": "Temas escuros" - } + "code_block": { + "theme_none": "Sem destaque de sintaxe", + "theme_group_light": "Temas claros", + "theme_group_dark": "Temas escuros" + } } diff --git a/apps/client/src/translations/ro/translation.json b/apps/client/src/translations/ro/translation.json index 6feda41c8..a845c17e5 100644 --- a/apps/client/src/translations/ro/translation.json +++ b/apps/client/src/translations/ro/translation.json @@ -1,1725 +1,1722 @@ { - "about": { - "title": "Despre Trilium Notes", - "homepage": "Site web:", - "app_version": "Versiune aplicație:", - "db_version": "Versiune bază de date:", - "sync_version": "Versiune sincronizare:", - "build_date": "Data compilării:", - "build_revision": "Revizia compilării:", - "data_directory": "Directorul de date:", - "close": "Închide" - }, - "abstract_bulk_action": { - "remove_this_search_action": "Înlătură acesată acțiune la căutare" - }, - "abstract_search_option": { - "failed_rendering": "Nu s-a putut randa opțiunea de căutare: {{dto}} din cauza: {{error}} {{stack}}", - "remove_this_search_option": "Înlătură acesată acțiune la căutare" - }, - "add_label": { - "add_label": "Adaugă etichetă", - "help_text": "Pentru toate notițele găsite:", - "help_text_item1": "crează eticheta respectivă dacă notița nu are o astfel de etichetă", - "help_text_item2": "sau schimbă valoarea unei etichete existente", - "help_text_note": "Această metodă poate fi apelată și fără valoare, caz în care eticheta va fi atribuită notiței fără o valoare.", - "label_name_placeholder": "denumirea etichetei", - "label_name_title": "Sunt permise doar caractere alfanumerice, underline și două puncte.", - "new_value_placeholder": "valoare nouă", - "to_value": "la valoarea" - }, - "add_link": { - "add_link": "Adaugă legătură", - "close": "Închide", - "help_on_links": "Informații despre legături", - "link_title": "Titlu legătură", - "link_title_arbitrary": "titlul legăturii poate fi schimbat în mod arbitrar", - "link_title_mirrors": "titlul legăturii corespunde titlul curent al notiței", - "note": "Notiță", - "search_note": "căutați notița după nume", - "button_add_link": "Adaugă legătură Enter" - }, - "add_relation": { - "add_relation": "Adaugă relație", - "allowed_characters": "Sunt permise doar caractere alfanumerice, underline și două puncte.", - "create_relation_on_all_matched_notes": "Crează relația pentru toate notițele găsite", - "relation_name": "denumirea relației", - "target_note": "notița destinație", - "to": "către" - }, - "ancestor": { - "depth_doesnt_matter": "nu contează", - "depth_eq": "exact {{count}}", - "depth_gt": "mai mare decât {{count}}", - "depth_label": "adâncime", - "depth_lt": "mai puțin de {{count}}", - "direct_children": "subnotiță directă", - "label": "Părinte", - "placeholder": "căutați notița după nume" - }, - "api_log": { - "close": "Închide" - }, - "attachment_detail": { - "attachment_deleted": "Acest atașament a fost șters.", - "list_of_all_attachments": "Lista tuturor atașamentelor", - "open_help_page": "Deschide instrucțiuni despre atașamente", - "owning_note": "Notița părinte: ", - "you_can_also_open": ", se poate deschide și " - }, - "attachment_detail_2": { - "deletion_reason": ", deoarece nu există o legătură către atașament în conținutul notiței. Pentru a preveni ștergerea, trebuie adăugată înapoi o legătură către atașament în conținut sau atașamentul trebuie convertit în notiță.", - "link_copied": "O legătură către atașament a fost copiată în clipboard.", - "role_and_size": "Rol: {{role}}, dimensiune: {{size}}", - "unrecognized_role": "Rol atașament necunoscut: „{{role}}”.", - "will_be_deleted_in": "Acest atașament va fi șters automat în {{time}}", - "will_be_deleted_soon": "Acest atașament va fi șters automat în curând" - }, - "attachment_erasure_timeout": { - "attachment_auto_deletion_description": "Atașamentele se șterg automat (permanent) dacă nu sunt referențiate de către notița lor părinte după un timp prestabilit de timp.", - "attachment_erasure_timeout": "Perioadă de ștergere a atașamentelor", - "erase_attachments_after": "Erase unused attachments after:", - "erase_unused_attachments_now": "Elimină atașamentele șterse acum", - "manual_erasing_description": "Șterge acum toate atașamentele nefolosite din notițe", - "unused_attachments_erased": "Atașamentele nefolosite au fost șterse." - }, - "attachment_list": { - "no_attachments": "Notița nu are niciun atașament.", - "open_help_page": "Deschide instrucțiuni despre atașamente", - "owning_note": "Notița părinte: ", - "upload_attachments": "Încărcare atașament" - }, - "attachments_actions": { - "convert_attachment_into_note": "Convertește atașamentul în notiță", - "convert_confirm": "Sigur doriți convertirea atașementului „{{title}}” într-o notiță separată?", - "convert_success": "Atașamentul „{{title}}” a fost convertit cu succes într-o notiță.", - "copy_link_to_clipboard": "Copiază legătură în clipboard", - "delete_attachment": "Șterge atașamentul", - "delete_confirm": "Sigur doriți ștergerea atașementului „{{title}}”?", - "delete_success": "Atașamentul „{{title}}” a fost șters.", - "download": "Descarcă", - "enter_new_name": "Introduceți denumirea noului atașament", - "open_custom": "Deschide într-un alt program", - "open_custom_client_only": "Deschiderea atașamentelor într-un alt program este posibilă doar din aplicația de desktop.", - "open_custom_title": "Fișierul va fi deschis într-un alt program și se vor urmări schimbările. Ulterior versiunea modificată a fișierului va fi încărcată înapoi în Trilium.", - "open_externally": "Deschide în afara programului", - "open_externally_detail_page": "Deschiderea externă a atașamentului este disponibilă doar din pagina de detalii, dați clic pe detaliile atașamentului mai întâi și repetați acțiunea.", - "open_externally_title": "Fișierul va fi deschis într-un alt program și se vor urmări schimbările. Ulterior versiunea modificată a fișierului va fi încărcată înapoi în Trilium.", - "rename_attachment": "Redenumește atașamentul", - "upload_failed": "Încărcarea unei noi versiuni ale atașamentului a eșuat.", - "upload_new_revision": "Încarcă o nouă versiune", - "upload_success": "Încărcarea unei noi versiuni ale atașaemntului a avut succes." - }, - "attribute_detail": { - "and_more": "... și încă {{count}}.", - "app_css": "marchează notițe CSS care se încarcă automat în aplicația Trilium și pot fi folosite pentru a-i modifica aspectul.", - "app_theme": "marchează notițe CSS care sunt teme complete ale Trilium și care se regăsesc în setări.", - "archived": "notițele cu această etichetă nu vor fi vizibile în mod implicit în căutări (dar nici în ecranele Sari la notiță, Adăugare legătură, etc.).", - "attr_detail_title": "Detalii despre atribute", - "attr_is_owned_by": "Atributul este deținut de", - "attr_name_title": "Denumirea atributului poate fi compusă doar din caractere alfanumerice, două puncte și underline", - "auto_read_only_disabled": "notițele de tip text sau cod intră automat în mod doar de citire când au o dimensiune prea mare. Acest comportament se poate dezactiva adăugând această etichetă", - "bookmark_folder": "notițele cu această etichetă vor apărea în lista de semne de carte ca un director (permițând acces la notițele din ea)", - "boolean": "Valoare booleană", - "calendar_root": "marchează notița care trebuie folosită ca rădăcină pentru notițele zilnice. Doar o singură notiță ar trebui să fie etichetătă.", - "close_button_title": "Renunță la modificări și închide", - "color": "definește culoarea unei notițe în ierarhia notițelor, legături, etc. Se poate folosi orice culoare CSS precum „red” sau „#a13d5f”", - "css_class": "valoarea acestei etichete este adăugată ca o clasă CSS pentru nodul ce reprezintă notița în ierarhia notițelor. Acest lucru poate fi utilizat pentru personalizare avansată. Poate fi folosită în notițe de tip șablon.", - "custom_request_handler": "a se vedea Custom request handler", - "custom_resource_provider": "a se vedea Custom request handler", - "date": "Dată", - "date_time": "Dată și timp", - "time": "Timp", - "delete": "Șterge", - "digits": "număr de zecimale", - "disable_inclusion": "script-urile cu această etichetă nu vor fi incluse în execuția scriptului părinte.", - "disable_versioning": "dezactivează auto-versionarea. Poate fi utilizat pentru notițe mari dar neimportante precum biblioteci mari de JavaScript utilizate pentru script-uri", - "display_relations": "denumirea relațiilor ce ar trebui să fie afișate, separate prin virgulă. Toate celelalte vor fi ascunse.", - "exclude_from_export": "notițele (împreună cu subnotițele) nu vor fi incluse în exporturile de notițe", - "exclude_from_note_map": "Notițele cu această etichetă vor fi ascunse din Harta notițelor", - "execute_button": "Titlul butonului ce va executa notița curentă de tip cod", - "execute_description": "O descriere mai lungă a notiței curente de tip cod afișată împreună cu butonul de executare", - "hide_highlight_widget": "Ascunde lista de evidențieri", - "hide_promoted_attributes": "Ascunde lista atributelor promovate pentru această notiță", - "hide_relations": "lista denumirilor relațiilor ce trebuie ascunse, delimitate prin virgulă. Toate celelalte vor fi afișate.", - "icon_class": "valoarea acestei etichete este adăugată ca o clasă CSS la iconița notiței din ierarhia notițelor, fapt ce poate ajuta la identificarea vizuală mai rapidă a notițelor. Un exemplu ar fi „bx bx-home” pentru iconițe preluate din boxicons. Poate fi folosită în notițe de tip șablon.", - "inbox": "locația implicită în care vor apărea noile notițe atunci când se crează o noitiță utilizând butonul „Crează notiță” din bara laterală, notițele vor fi create în interiorul notiței cu această etichetă.", - "inherit": "atributele acestei notițe vor fi moștenite chiar dacă nu există o relație părinte-copil între notițe. A se vedea relația de tip șablon pentru un concept similar. De asemenea, a se vedea moștenirea atributelor în documentație.", - "inheritable": "Moștenibilă", - "inheritable_title": "Atributele moștenibile vor fi moștenite de către toți descendenții acestei notițe.", - "inverse_relation": "Relație inversă", - "inverse_relation_title": "Setare opțională pentru a defini relația inversă. Exemplu: Tată - Fiu sunt două relații inverse.", - "is_owned_by_note": "este deținut(ă) de notița", - "keep_current_hoisting": "Deschiderea acestei legături nu va schimba focalizarea chiar dacă notița nu poate fi vizualizată în ierarhia curentă.", - "keyboard_shortcut": "Definește o scurtatură de la tastatură ce va merge direct la această notiță. Exemplu: „ctrl+alt+e”. Necesită reîncărcarea aplicației pentru a avea efect.", - "label": "Detalii despre etichetă", - "label_definition": "Detalii despre definiția unei etichete", - "label_type": "Tip", - "label_type_title": "Tipul acestei etichete va permite Trilium să selecteze interfața corespunzătoare pentru introducerea valorii etichetei.", - "more_notes": "Mai multe notițe", - "multi_value": "Valori multiple", - "multiplicity": "Multiplicitate", - "multiplicity_title": "Multiplicitatea definește câte atribute de același nume se pot crea - maximum 1 sau mai multe decât 1.", - "name": "Nume", - "new_notes_on_top": "Noile notițe vor fi create la începutul notiței părinte, nu la sfârșit.", - "number": "Număr", - "other_notes_with_name": "Alte notițe cu denumirea de {{attributeType}} „{{attributeName}}”", - "page_size": "numărul de elemente per pagină în listarea notițelor", - "precision": "Precizie", - "precision_title": "Câte cifre să fie afișate după virgulă în interfața de configurare a valorii.", - "promoted": "Evidențiată", - "promoted_alias": "Alias", - "promoted_alias_title": "Numele care să fie afișat în interfața de atribute promovate.", - "promoted_title": "Atributele promovate sunt afișate proeminent în notiță.", - "read_only": "editorul este în modul doar în citire. Funcționează doar pentru notițe de tip text sau cod.", - "related_notes_title": "Alte notițe cu acesată etichetă", - "relation": "Detalii despre relație", - "relation_definition": "Detalii despre definiția unei relații", - "relation_template": "atributele notiței vor fi moștenite chiar dacă nu există o relație părinte-copil, conținutul notiței și ierarhia sa vor fi adăugate la notițele-instanță dacă nu este definită. A se consulta documentația pentru mai multe detalii.", - "render_note": "relație ce definește notița (de tip notiță de cod HTML sau script) ce trebuie randată pentru notițele de tip „Randare notiță HTML”", - "run": "definește evenimentele la care să ruleze scriptul. Valori acceptate:\n
    \n
  • frontendStartup - când pornește interfața Trilium (sau este reîncărcată), dar nu pe mobil.
  • \n
  • mobileStartup - când pornește interfața Trilium (sau este reîncărcată), doar pe mobil.
  • \n
  • backendStartup - când pornește serverul Trilium
  • \n
  • hourly - o dată pe oră. Se poate utiliza adițional eticheta runAtHour pentru a specifica ora.
  • \n
  • daily - o dată pe zi
  • \n
", - "run_at_hour": "La ce oră ar trebui să ruleze. Trebuie folosit împreună cu #run=hourly. Poate fi definit de mai multe ori pentru a rula de mai multe ori în cadrul aceleași zile.", - "run_on_attribute_change": "se execută atunci când atributele unei notițe care definește această relație se schimbă. Se apelează și atunci când un atribut este șters", - "run_on_attribute_creation": "se execută atunci când un nou atribut este creat pentru notița care definește această relație", - "run_on_branch_change": "se execută atunci când o ramură este actualizată.", - "run_on_branch_creation": "se execută când o ramură este creată. O ramură este o legătură dintre o notiță părinte și o notiță copil și este creată, spre exemplu, la clonarea sau mutarea unei notițe.", - "run_on_branch_deletion": "se execută când o ramură este ștearsă. O ramură este o legătură dintre o notiță părinte și o notiță copil și este ștearsă, spre exemplu, atunci când o notiță este mutată (ramura/legătura veche este ștearsă).", - "run_on_child_note_creation": "se execută când o nouă notiță este creată sub notița la care este definită relația", - "run_on_instance": "Definește pe ce instanța de Trilium ar trebui să ruleze. Implicit se consideră toate instanțele.", - "run_on_note_change": "se execută când notița este schimbată (inclusiv crearea unei notițe). Nu include schimbări de conținut", - "run_on_note_content_change": "se execută când conținutul unei notițe este schimbat (inclusiv crearea unei notițe).", - "run_on_note_creation": "se execută când o notiță este creată de server. Se poate utiliza această relație atunci când se dorește rularea unui script pentru toate notițele create sub o anumită ierarhie. În acest caz, relația trebuie creată pe notița-rădăcină și marcată drept moștenibilă. Orice notiță creată sub ierarhie (la orice adâncime) va rula script-ul.", - "run_on_note_deletion": "se execută la ștergerea unei notițe", - "run_on_note_title_change": "se execută când titlul unei notițe se schimbă (inclusiv la crearea unei notițe)", - "save_and_close": "Salvează și închide (Ctrl+Enter)", - "search_home": "notițele de căutare vor fi create în cadrul acestei notițe", - "share_alias": "definește un alias ce va fi permite notiței să fie accesată la https://your_trilium_host/share/[alias]", - "share_credentials": "cere credențiale la accesarea acestei notițe partajate. Valoarea trebuie să fie în formatul „username:parolă”. Nu uitați să faceți eticheta moștenibilă pentru a o aplica și la notițele-copil/imagini.", - "share_css": "Notiță de tip CSS ce va fi injectată în pagina de partajare. Notița CSS trebuie să facă și ea parte din ierarhia partajată. Considerați utilizarea și a „share_hidden_from_tree”, respectiv „share_omit_default_css”.", - "share_description": "definește text ce va fi adăugat la eticheta HTML „meta” pentru descriere", - "share_disallow_robot_indexing": "împiedică indexarea conținutului de către roboți utilizând antetul X-Robots-Tag: noindex", - "share_external_link": "notița va funcționa drept o legătură către un site web extern în ierarhia de partajare", - "share_favicon": "Notiță ce conține pictograma favicon pentru a fi setată în paginile partajate. De obicei se poate seta în rădăcina ierarhiei de partajare și se poate face moștenibilă. Notița ce conține favicon-ul trebuie să fie și ea în ierarhia de partajare. Considerați și utilizarea „share_hidden_from_tree”.", - "share_hidden_from_tree": "notița este ascunsă din arborele de navigație din stânga, dar încă este accesibilă prin intermediul unui URL.", - "share_index": "notițele cu această etichetă vor afișa lista tuturor rădăcilor notițelor partajate", - "share_js": "Notiță JavaScript ce va fi injectată în pagina de partajare. Notița respectivă trebuie să fie și ea în ierarhia de partajare. Considerați utilizarea 'share_hidden_from_tree'.", - "share_omit_default_css": "CSS-ul implicit pentru pagina de partajare va fi omis. Se poate folosi atunci când se fac schimbări majore de stil la pagină.", - "share_raw": "notița va fi afișată în formatul ei brut, fără HTML", - "share_root": "marchează notița care este servită pentru rădăcina ”/share”.", - "share_template": "O notiță JavaScript ce va fi folosită drept șablon pentru afișarea notițelor partajate. Implicit se utilizează șablonul original. Considerați utilizarea 'share_hidden_from_tree'.", - "single_value": "Valoare unică", - "sort_direction": "ASC (ascendent, implicit) sau DESC (descendent)", - "sort_folders_first": "Directoarele (notițe cu sub-notițe) vor fi mutate la început", - "sorted": "menține notițele-copil ordonate alfabetic după titlu", - "sql_console_home": "locația implicită pentru notițele de tip consolă SQL", - "target_note": "Notiță țintă", - "target_note_title": "Relația este o conexiune numită dintre o notiță sursă și o notiță țintă.", - "template": "Șablon", - "text": "Text", - "title_template": "titlul implicit al notițelor create în interiorul acestei notițe. Valoarea este evaluată ca un șir de caractere JavaScript\n și poate fi astfel îmbogățită cu un conținut dinamic prin intermediul variabilelow now și parentNote. Exemple:\n \n
    \n
  • Lucrările lui ${parentNote.getLabelValue('autor')}
  • \n
  • Jurnal pentru ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n A se vedea wiki-ul pentru detalii, documentația API pentru parentNote și now pentru mai multe informații", - "toc": "#toc sau #toc=show forțează afișarea tabelei de conținut, #toc=hide forțează ascunderea ei. Dacă eticheta nu există, se utilizează setările globale", - "top": "păstrează notița la începutul listei (se aplică doar pentru notițe sortate automat)", - "url": "URL", - "value": "Valoare", - "widget": "marchează această notiță ca un widget personalizat ce poate fi adăugat la ierarhia de componente ale aplicației", - "widget_relation": "ținta acestei relații va fi executată și randată ca un widget în bara laterală", - "workspace": "marchează această notiță ca un spațiu de lucru ce permite focalizarea rapidă a notițelor", - "workspace_calendar_root": "Definește o rădăcină de calendar pentru un spațiu de lucru", - "workspace_icon_class": "definește clasa de CSS din boxicon ce va fi folosită în tab-urile ce aparțin spațiului de lucru", - "workspace_inbox": "marchează locația implicită în care vor apărea noile notițe atunci când este focalizat spațiul de lucru sau un copil al acestuia", - "workspace_search_home": "notițele de căutare vor fi create sub această notiță", - "workspace_tab_background_color": "Culoare CSS ce va fi folosită în tab-urile ce aparțin spațiului de lucru", - "workspace_template": "Această notița va apărea în lista de șabloane când se crează o nouă notiță, dar doar când spațiul de lucru în care se află notița este focalizat", - "app_theme_base": "setați valoarea la „next” pentru a folosi drept temă de bază „TriliumNext” în loc de cea clasică.", - "print_landscape": "Schimbă orientarea paginii din portret în vedere atunci când se exportă în PDF.", - "print_page_size": "Schimbă dimensiunea paginii când se exportă în PDF. Valori suportate: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." - }, - "attribute_editor": { - "add_a_new_attribute": "Adaugă un nou attribut", - "add_new_label": "Adaugă o nouă etichetă ", - "add_new_label_definition": "Adaugă o nouă definiție de etichetă", - "add_new_relation": "Adaugă o nouă relație ", - "add_new_relation_definition": "Adaugă o nouă definiție de relație", - "help_text_body1": "Pentru a adăuga o etichetă doar scrieți, spre exemplu, #piatră sau #an = 2020 dacă se dorește adăugarea unei valori", - "help_text_body2": "Pentru relații, scrieți author = @ ce va afișa o autocompletare pentru identificarea notiței dorite.", - "help_text_body3": "În mod alternativ, se pot adăuga etichete și relații utilizând butonul + din partea dreaptă.", - "save_attributes": "Salvează atributele ", - "placeholder": "Aici puteți introduce etichete și relații" - }, - "backend_log": { - "refresh": "Reîmprospătare" - }, - "backup": { - "automatic_backup": "Copie de siguranță automată", - "automatic_backup_description": "Trilium poate face copii de siguranță ale bazei de date în mod automat:", - "backup_database_now": "Crează o copie a bazei de date acum", - "backup_now": "Crează o copie de siguranță acum", - "backup_recommendation": "Se recomandă a se păstra activată funcția de copii de siguranță, dar acest lucru poate face pornirea aplicației mai lentă pentru baze de date mai mari sau pentru dispozitive de stocare lente.", - "database_backed_up_to": "S-a creat o copie de siguranță a bazei de dată la {{backupFilePath}}", - "enable_daily_backup": "Activează copia de siguranță zilnică", - "enable_monthly_backup": "Activează copia de siguranță lunară", - "enable_weekly_backup": "Activează copia de siguranță săptămânală", - "existing_backups": "Copii de siguranță existente", - "date-and-time": "Data și ora", - "path": "Calea fișierului", - "no_backup_yet": "nu există încă nicio copie de siguranță" - }, - "basic_properties": { - "basic_properties": "Proprietăți de bază", - "editable": "Editabil", - "note_type": "Tipul notiței", - "language": "Limbă" - }, - "book": { - "no_children_help": "Această notiță de tip Carte nu are nicio subnotiță așadar nu este nimic de afișat. Vedeți wiki pentru detalii." - }, - "book_properties": { - "book_properties": "", - "collapse": "Minimizează", - "collapse_all_notes": "Minimizează toate notițele", - "expand": "Expandează", - "expand_all_children": "Expandează toate subnotițele", - "grid": "Grilă", - "invalid_view_type": "Mod de afișare incorect „{{type}}”", - "list": "Listă", - "view_type": "Mod de afișare", - "calendar": "Calendar" - }, - "bookmark_switch": { - "bookmark": "Semn de carte", - "bookmark_this_note": "Crează un semn de carte către această notiță în panoul din stânga", - "remove_bookmark": "Șterge semnul de carte" - }, - "branch_prefix": { - "branch_prefix_saved": "Prefixul ramurii a fost salvat.", - "close": "Închide", - "edit_branch_prefix": "Editează prefixul ramurii", - "help_on_tree_prefix": "Informații despre prefixe de ierarhie", - "prefix": "Prefix:", - "save": "Salvează" - }, - "bulk_actions": { - "affected_notes": "Notițe afectate", - "available_actions": "Acțiuni disponibile", - "bulk_actions": "Acțiuni în masă", - "bulk_actions_executed": "Acțiunile în masă au fost executate cu succes.", - "chosen_actions": "Acțiuni selectate", - "close": "Închide", - "execute_bulk_actions": "Execută acțiunile în masă", - "include_descendants": "Include descendenții notiței selectate", - "none_yet": "Nicio acțiune... adăugați una printr-un click pe cele disponibile mai jos.", - "labels": "Etichete", - "notes": "Notițe", - "other": "Altele", - "relations": "Relații" - }, - "calendar": { - "april": "Aprilie", - "august": "August", - "cannot_find_day_note": "Nu se poate găsi notița acelei zile", - "december": "Decembrie", - "febuary": "Februarie", - "fri": "Vin", - "january": "Ianuarie", - "july": "Iulie", - "june": "Iunie", - "march": "Martie", - "may": "Mai", - "mon": "Lun", - "november": "Noiembrie", - "october": "Octombrie", - "sat": "Sâm", - "september": "Septembrie", - "sun": "Dum", - "thu": "Joi", - "tue": "Mar", - "wed": "Mie" - }, - "clone_to": { - "clone_notes_to": "Clonează notițele către...", - "clone_to_selected_note": "Clonează notița selectată enter", - "cloned_note_prefix_title": "Notița clonată va fi afișată în ierarhia notiței utilizând prefixul dat", - "help_on_links": "Informații despre legături", - "no_path_to_clone_to": "Nicio cale de clonat.", - "note_cloned": "Notița „{{clonedTitle}}” a fost clonată în „{{targetTitle}}”", - "notes_to_clone": "Notițe de clonat", - "prefix_optional": "Prefix (opțional)", - "search_for_note_by_its_name": "căutați notița după nume acesteia", - "target_parent_note": "Notița părinte țintă", - "close": "Închide" - }, - "close_pane_button": { - "close_this_pane": "Închide acest panou" - }, - "code_auto_read_only_size": { - "description": "Marchează pragul în care o notiță de o anumită dimensiune va fi afișată în mod de citire (pentru motive de performanță).", - "label": "Pragul de dimensiune pentru setarea modului de citire automat (la notițe de cod)", - "title": "Pragul de mod de citire automat", - "unit": "caractere" - }, - "code_buttons": { - "execute_button_title": "Execută scriptul", - "opening_api_docs_message": "Se deschide documentația API...", - "save_to_note_button_title": "Salvează în notiță", - "sql_console_saved_message": "Notița consolă SQL a fost salvată în {{note_path}}", - "trilium_api_docs_button_title": "Deschide documentația API pentru Trilium" - }, - "code_mime_types": { - "title": "Tipuri MIME disponibile în meniul derulant" - }, - "confirm": { - "also_delete_note": "Șterge și notița", - "are_you_sure_remove_note": "Doriți ștergerea notiței „{{title}}” din harta de relații?", - "cancel": "Anulează", - "confirmation": "Confirm", - "if_you_dont_check": "Dacă această opțiune nu este bifată, notița va fi ștearsă doar din harta de relații.", - "ok": "OK", - "close": "Închide" - }, - "consistency_checks": { - "find_and_fix_button": "Caută și repară probleme de consistență", - "finding_and_fixing_message": "Se caută și se repară problemele de consistență...", - "issues_fixed_message": "Problemele de consistență ar trebui să fie acum rezolvate.", - "title": "Verificări de consistență" - }, - "copy_image_reference_button": { - "button_title": "Copiază o referință către imagine în clipboard, poate fi inserată într-o notiță text." - }, - "create_pane_button": { - "create_new_split": "Crează o nouă diviziune" - }, - "database_anonymization": { - "choose_anonymization": "Puteți decide dacă oferiți o bază de date complet sau parțial anonimizată. Chiar și bazele de date complet anonimizate pot fi foarte utile, dar în unele cazuri bazele de date parțial anonimizate pot eficientiza procesul de identificare a bug-urilor și repararea acestora.", - "creating_fully_anonymized_database": "Se crează o copie complet anonimizată...", - "creating_lightly_anonymized_database": "Se crează o bază de date parțial anonimizată...", - "error_creating_anonymized_database": "Nu s-a putut crea o bază de date anonimizată, verificați log-urile din server pentru detalii", - "existing_anonymized_databases": "Baze de date anonimizate existente", - "full_anonymization": "Anonimizare completă", - "full_anonymization_description": "Această acțiune va crea o nouă copie a bazei de date și o va anonimiza (se șterge conținutul tuturor notițelor și se menține doar structura și câteva metainformații neconfidențiale) pentru a putea fi partajate online cu scopul de a depana anumite probleme fără a risca expunerea datelor personale.", - "light_anonymization": "Anonimizare parțială", - "light_anonymization_description": "Această acțiune va crea o copie a bazei de date și o va anonimiza parțial - mai exact se va șterge conținutul tuturor notițelor, dar titlurile și atributele vor rămâne. De asemenea, script-urile de front-end sau back-end și widget-urile personalizate vor rămâne și ele. Acest lucru oferă mai mult context pentru a depana probleme.", - "no_anonymized_database_yet": "Încă nu există nicio bază de date anonimizată.", - "save_fully_anonymized_database": "Salvează bază de date complet anonimizată", - "save_lightly_anonymized_database": "Salvează bază de date parțial anonimizată", - "successfully_created_fully_anonymized_database": "S-a creat cu succes o bază de date complet anonimizată în {{anonymizedFilePath}}", - "successfully_created_lightly_anonymized_database": "S-a creat cu succes o bază de date parțial anonimizată în {{anonymizedFilePath}}", - "title": "Bază de dată anonimizată" - }, - "database_integrity_check": { - "check_button": "Verifică integritatea bazei de date", - "checking_integrity": "Se verifică integritatea bazei de date...", - "description": "Se va verifica să nu existe coruperi ale bazei de date la nivelul SQLite. Poate dura ceva timp, în funcție de dimensiunea bazei de date.", - "integrity_check_failed": "Probleme la verificarea integrității: {{results}}", - "integrity_check_succeeded": "Verificarea integrității a fost făcută cu succes și nu a fost identificată nicio problemă.", - "title": "Verificarea integrității bazei de date" - }, - "debug": { - "access_info": "Pentru a accesa informații de depanare, executați interogarea și dați click pe „Afișează logurile din backend” din stânga-sus.", - "debug": "Depanare", - "debug_info": "Modul de depanare va afișa informații adiționale în consolă cu scopul de a ajuta la depanarea interogărilor complexe." - }, - "delete_label": { - "delete_label": "Șterge eticheta", - "label_name_placeholder": "denumirea etichetei", - "label_name_title": "Sunt permise caractere alfanumerice, underline și două puncte." - }, - "delete_note": { - "delete_matched_notes": "Șterge notițele găsite", - "delete_matched_notes_description": "Se vor șterge notițele găsite.", - "delete_note": "Șterge notița", - "erase_notes_instruction": "Pentru a șterge notițele permanent, se poate merge după ștergerea în opțiuni la secțiunea „Altele” și clic pe butonul „Elimină notițele șterse acum”.", - "undelete_notes_instruction": "După ștergere, se pot recupera din ecranul Schimbări recente." - }, - "delete_notes": { - "broken_relations_to_be_deleted": "Următoarele relații vor fi întrerupte și șterse ({{- relationCount}})", - "cancel": "Anulează", - "delete_all_clones_description": "Șterge și toate clonele (se pot recupera în ecranul Schimbări recente)", - "delete_notes_preview": "Previzualizare ștergerea notițelor", - "erase_notes_description": "Ștergerea obișnuită doar marchează notițele ca fiind șterse și pot fi recuperate (în ecranul Schimbări recente) pentru o perioadă de timp. Dacă se bifează această opțiune, notițele vor fi șterse imediat fără posibilitatea de a le recupera.", - "erase_notes_warning": "Șterge notițele permanent (nu se mai pot recupera), incluzând toate clonele. Va forța reîncărcarea aplicației.", - "no_note_to_delete": "Nicio notiță nu va fi ștearsă (doar clonele).", - "notes_to_be_deleted": "Următoarele notițe vor fi șterse ({{- noteCount}})", - "ok": "OK", - "deleted_relation_text": "Notița {{- note}} ce va fi ștearsă este referențiată de relația {{- relation}}, originând din {{- source}}.", - "close": "Închide" - }, - "delete_relation": { - "allowed_characters": "Se permit caractere alfanumerice, underline și două puncte.", - "delete_relation": "Șterge relația", - "relation_name": "denumirea relației" - }, - "delete_revisions": { - "all_past_note_revisions": "Toate reviziile anterioare ale notițelor găsite vor fi șterse. Notița propriu-zisă va fi intactă. În alte cuvinte, istoricul notiței va fi șters.", - "delete_note_revisions": "Șterge toate reviziile notițelor" - }, - "edit_button": { - "edit_this_note": "Editează această notiță" - }, - "editability_select": { - "always_editable": "Întotdeauna editabil", - "auto": "Automat", - "note_is_always_editable": "Notița este întotdeauna editabilă, indiferent de lungimea ei.", - "note_is_editable": "Notița este editabilă atât timp cât nu este prea lungă.", - "note_is_read_only": "Notița este doar pentru citire, poate fi editată prin intermediul unui buton.", - "read_only": "Doar pentru citire" - }, - "editable_code": { - "placeholder": "Scrieți conținutul notiței de cod aici..." - }, - "editable_text": { - "placeholder": "Scrieți conținutul notiței aici..." - }, - "edited_notes": { - "deleted": "(șters)", - "no_edited_notes_found": "Nu sunt încă notițe editate pentru această zi...", - "title": "Notițe editate" - }, - "empty": { - "enter_workspace": "Intrare spațiu de lucru „{{title}}”", - "open_note_instruction": "Deschideți o notiță scriind denumirea ei în caseta de mai jos sau selectați o notiță din ierarhie.", - "search_placeholder": "căutați o notiță după denumirea ei" - }, - "etapi": { - "actions": "Acțiuni", - "create_token": "Crează un token ETAPI nou", - "created": "Creat", - "default_token_name": "token nou", - "delete_token": "Șterge/dezactivează acest token", - "delete_token_confirmation": "Doriți ștergerea token-ului ETAPI „{{name}}”?", - "description": "ETAPI este un API REST utilizat pentru a accesa instanța de Trilium programatic, fără interfață grafică.", - "error_empty_name": "Denumirea token-ului nu poate fi goală", - "existing_tokens": "Token-uri existente", - "new_token_message": "Introduceți denumirea noului token", - "new_token_title": "Token ETAPI nou", - "no_tokens_yet": "Nu există încă token-uri. Clic pe butonul de deasupra pentru a crea una.", - "openapi_spec": "Specificația OpenAPI pentru ETAPI", - "swagger_ui": "UI-ul Swagger pentru ETAPI", - "rename_token": "Redenumește token-ul", - "rename_token_message": "Introduceți denumirea noului token", - "rename_token_title": "Redenumire token", - "see_more": "Vedeți mai multe detalii în {{- link_to_wiki}} și în {{- link_to_openapi_spec}} sau în {{- link_to_swagger_ui }}.", - "title": "ETAPI", - "token_created_message": "Copiați token-ul creat în clipboard. Trilium stochează token-ul ca hash așadar această valoare poate fi văzută doar acum.", - "token_created_title": "Token ETAPI creat", - "token_name": "Denumire token", - "wiki": "wiki" - }, - "execute_script": { - "example_1": "De exemplu, pentru a adăuga un șir de caractere la titlul unei notițe, se poate folosi acest mic script:", - "example_2": "Un exemplu mai complex ar fi ștergerea atributelor tuturor notițelor identificate:", - "execute_script": "Execută script", - "help_text": "Se pot executa script-uri simple pe toate notițele identificate." - }, - "export": { - "choose_export_type": "Selectați mai întâi tipul export-ului", - "close": "Închide", - "export": "Exportă", - "export_finished_successfully": "Export finalizat cu succes.", - "export_in_progress": "Export în curs: {{progressCount}}", - "export_note_title": "Exportă notița", - "export_status": "Starea exportului", - "export_type_single": "Doar această notiță fără descendenții ei", - "export_type_subtree": "Această notiță și toți descendenții ei", - "format_html_zip": "HTML în arhivă ZIP - recomandat deoarece păstrează toată formatarea", - "format_markdown": "Markdown - păstrează majoritatea formatării", - "format_opml": "OPML - format de interschimbare pentru editoare cu structură ierarhică (outline). Formatarea, imaginile și fișierele nu vor fi incluse.", - "opml_version_1": "OPML v1.0 - text simplu", - "opml_version_2": "OPML v2.0 - permite și HTML", - "format_html": "HTML - recomandat deoarece păstrează toata formatarea", - "format_pdf": "PDF - cu scopul de printare sau partajare." - }, - "fast_search": { - "description": "Căutarea rapidă dezactivează căutarea la nivel de conținut al notițelor cu scopul de a îmbunătăți performanța de căutare pentru baze de date mari.", - "fast_search": "Căutare rapidă" - }, - "file": { - "file_preview_not_available": "Previzualizarea fișierelor nu este disponibilă pentru acest format de fișier.", - "too_big": "Previzualizarea conține doar primele {{maxNumChars}} caractere din fișier din motive de performanță. Descărcați fișierul și deschideți-l extern pentru a-l putea vedea în întregime." - }, - "file_properties": { - "download": "Descarcă", - "file_size": "Dimensiunea fișierului", - "file_type": "Tipul fișierului", - "note_id": "ID-ul notiței", - "open": "Deschide", - "original_file_name": "Denumirea originală a fișierului", - "title": "Fișier", - "upload_failed": "Încărcarea a unei noi revizii ale fișierului a eșuat.", - "upload_new_revision": "Încarcă o nouă revizie", - "upload_success": "Noua revizie a fișierului a fost încărcată cu succes." - }, - "fonts": { - "apply_font_changes": "Pentru a aplica schimbările de font, click pe", - "font_family": "Familia de fonturi", - "fonts": "Fonturi", - "main_font": "Fontul principal", - "monospace_font": "Fontul monospace (pentru cod)", - "not_all_fonts_available": "Nu toate fonturile listate aici pot fi disponibile pe acest sistem.", - "note_detail_font": "Fontul pentru detaliile notițelor", - "note_tree_and_detail_font_sizing": "Dimensiunea arborelui și a fontului pentru detalii este relativă la dimensiunea fontului principal.", - "note_tree_font": "Fontul arborelui de notițe", - "reload_frontend": "reîncarcă interfața", - "size": "Mărime", - "theme_defined": "Definit de temă", - "generic-fonts": "Fonturi generice", - "handwriting-system-fonts": "Fonturi de sistem cu stil de scris de mână", - "monospace-system-fonts": "Fonturi de sistem monospațiu", - "sans-serif-system-fonts": "Fonturi de sistem fără serifuri", - "serif-system-fonts": "Fonturi de sistem cu serifuri", - "monospace": "Monospațiu", - "sans-serif": "Fără serifuri", - "serif": "Cu serifuri", - "system-default": "Fontul predefinit al sistemului" - }, - "global_menu": { - "about": "Despre Trilium Notes", - "advanced": "Opțiuni avansate", - "configure_launchbar": "Configurează bara de lansare", - "logout": "Deautentificare", - "menu": "Meniu", - "open_dev_tools": "Deschide uneltele de dezvoltare", - "open_new_window": "Deschide o nouă fereastră", - "open_search_history": "Deschide istoricul de căutare", - "open_sql_console": "Deschide consola SQL", - "open_sql_console_history": "Deschide istoricul consolei SQL", - "options": "Opțiuni", - "reload_frontend": "Reîncarcă interfața", - "reload_hint": "Reîncărcarea poate ajuta atunci când există ceva probleme vizuale fără a trebui repornită întreaga aplicație.", - "reset_zoom_level": "Resetează nivelul de zoom", - "show_backend_log": "Afișează log-ul din backend", - "show_help": "Afișează informații", - "show_hidden_subtree": "Afișează ierarhia ascunsă", - "show_shared_notes_subtree": "Afișează ierahia notițelor partajate", - "switch_to_desktop_version": "Schimbă la versiunea de desktop", - "switch_to_mobile_version": "Schimbă la versiunea de mobil", - "toggle_fullscreen": "Comută mod ecran complet", - "zoom": "Zoom", - "zoom_in": "Mărește", - "zoom_out": "Micșorează", - "show-cheatsheet": "Afișează ghidul rapid", - "toggle-zen-mode": "Mod zen" - }, - "heading_style": { - "markdown": "Stil Markdown", - "plain": "Simplu", - "title": "Stil titluri", - "underline": "Subliniat" - }, - "help": { - "activateNextTab": "activează următorul tab", - "activatePreviousTab": "activează tabul anterior", - "blockQuote": "începeți un rând cu > urmat de spațiu pentru un bloc de citat", - "bulletList": "* sau - urmat de spațiu pentru o listă punctată", - "close": "Închide", - "closeActiveTab": "închide tabul activ", - "collapseExpand": "LEFT, RIGHT - minimizează/expandează nodul", - "collapseSubTree": "minimizează subarborele", - "collapseWholeTree": "minimizează întregul arbore de notițe", - "copyNotes": "copiază notița activă (sau selecția curentă) în clipboard (utilizat pentru clonare)", - "createEditLink": "Ctrl+K - crează/editează legătură externă", - "createInternalLink": "crează legătură internă", - "createNoteAfter": "crează o nouă notiță după notița activă", - "createNoteInto": "crează o subnotiță în notița activă", - "creatingNotes": "Crearea notițelor", - "cutNotes": "decupează notița curentă (sau selecția curentă) în clipboard (utilizată pentru mutarea notițelor)", - "deleteNotes": "șterge notița/subarborele", - "editBranchPrefix": "editează prefixul a unei clone ale notiței active", - "editNoteTitle": "va sări de la arborele de notițe către titlul notiței. Enter de la titlul notiței va sări către editorul de text. Ctrl+. va sări înapoi de la editor către arborele de notițe.", - "editingNotes": "Editarea notițelor", - "followLink": "urmărește link-ul sub cursor", - "fullDocumentation": "Instrucțiuni (documentația completă se regăsește online)", - "goBackForwards": "mergi înapoi/înainte în istoric", - "goUpDown": "UP, DOWN - mergi sus/jos în lista de notițe", - "headings": "##, ###, #### etc. urmat de spațiu pentru titluri", - "inPageSearch": "caută în interiorul paginii", - "insertDateTime": "inserează data și timpul curente la poziția cursorului", - "jumpToParentNote": "Backspace - sari la pagina părinte", - "jumpToTreePane": "sari către arborele de notițe și scrolează către notița activă", - "markdownAutoformat": "Formatare în stil Markdown", - "moveNoteUpDown": "mută notița sus/jos în lista de notițe", - "moveNoteUpHierarchy": "mută notița mai sus în ierarhie", - "movingCloningNotes": "Mutarea/clonarea notițelor", - "multiSelectNote": "selectează multiplu notița de sus/jos", - "newTabNoteLink": "CTRL+clic - (sau clic mijlociu) pe o legătură către o notiță va deschide notița într-un tab nou", - "notSet": "nesetat", - "noteNavigation": "Navigarea printre notițe", - "numberedList": "1. sau 1) urmat de spațiu pentru o listă numerotată", - "onlyInDesktop": "Doar pentru desktop (aplicația Electron)", - "openEmptyTab": "deschide un tab nou", - "other": "Altele", - "pasteNotes": "lipește notița/notițele ca sub-notițe în notița activă (ce va muta sau clona în funcție dacă a fost copiată sau decupată în clipboard)", - "quickSearch": "sari la caseta de căutare rapidă", - "reloadFrontend": "reîncarcă interfața Trilium", - "scrollToActiveNote": "scrolează la notița activă", - "selectAllNotes": "selectează toate notițele din nivelul curent", - "selectNote": "Shift+Click - selectează notița", - "showDevTools": "afișează instrumentele de dezvoltatori", - "showJumpToNoteDialog": "afișează ecranul „Sari la”", - "showSQLConsole": "afișează consola SQL", - "tabShortcuts": "Scurtături pentru tab-uri", - "troubleshooting": "Unelte pentru depanare" - }, - "hide_floating_buttons_button": { - "button_title": "Ascunde butoanele" - }, - "highlights_list": { - "bg_color": "Text cu o culoare de fundal", - "bold": "Text îngroșat", - "color": "Text colorat", - "description": "Se pot personaliza elementele ce vor fi afișate în lista de evidențieri din panoul din dreapta:", - "italic": "Text italic (înclinat)", - "shortcut_info": "Se poate configura o scurtatură la tastatură pentru comutarea rapidă a panoului din dreapta (inclusiv lista de evidențieri) în Opțiuni -> Scurtături (denumirea „toggleRightPane”).", - "title": "Lista de evidențieri", - "underline": "Text subliniat", - "visibility_description": "Se poate ascunde lista de evidențieri la nivel de notiță prin adăugarea etichetei #hideHighlightWidget.", - "visibility_title": "Vizibilitatea listei de evidențieri" - }, - "i18n": { - "first-day-of-the-week": "Prima zi a săptămânii", - "language": "Limbă", - "monday": "Luni", - "sunday": "Duminică", - "title": "Localizare", - "formatting-locale": "Format dată și numere" - }, - "image_properties": { - "copy_reference_to_clipboard": "Copiază referință în clipboard", - "download": "Descarcă", - "file_size": "Dimensiune fișier", - "file_type": "Tip fișier", - "open": "Deschide", - "original_file_name": "Denumirea originală a fișierului", - "title": "Imagine", - "upload_failed": "Încărcarea a unei noi revizii ale imaginii a eșuat: {{message}}", - "upload_new_revision": "Încarcă o nouă revizie", - "upload_success": "O nouă revizie a fost încărcată cu succes." - }, - "images": { - "download_images_automatically": "Descarcă imaginile automat pentru utilizare fără conexiune la internet.", - "download_images_description": "Textul HTML inserat poate conține referințe către imagini online, Trilium le va identifica și va descărca acele imagini pentru a putea fi disponibile și fără o conexiune la internet.", - "enable_image_compression": "Activează compresia imaginilor", - "images_section_title": "Imagini", - "jpeg_quality_description": "Calitatea JPEG (10 - cea mai slabă calitate, 100 - cea mai bună calitate, se recomandă între 50 și 85)", - "max_image_dimensions": "Lungimea/lățimea maximă a unei imagini (imaginea va fi redimensionată dacă depășește acest prag).", - "max_image_dimensions_unit": "pixeli" - }, - "import": { - "chooseImportFile": "Selectați fișierul de importat", - "close": "Închide", - "codeImportedAsCode": "Importă fișiere identificate drept cod sursă (e.g. .json) drept notițe de tip cod dacă nu este clar din metainformații", - "explodeArchives": "Citește conținutul arhivelor .zip, .enex și .opml.", - "explodeArchivesTooltip": "Dacă această opțiune este bifată atunci Trilium va citi fișiere de tip .zip, .enex și .opml și va crea notițe din fișierele din interiorul acestor arhive. Dacă este nebifat, atunci Trilium va atașa arhiva propriu-zisă la notiță.", - "import": "Importă", - "importDescription": "Conținutul fișierelor selectate va fi importat ca subnotițe în", - "importIntoNote": "Importă în notiță", - "options": "Opțiuni", - "replaceUnderscoresWithSpaces": "Înlocuiește underline-ul cu spații în denumirea notițelor importate", - "safeImport": "Importare sigură", - "safeImportTooltip": "Fișierele de Trilium exportate în format .zip pot conține scripturi executabile ce pot avea un comportament malițios. Importarea sigură va dezactiva execuția automată a tuturor scripturilor importate. Debifați „Importare sigură” dacă arhiva importată conține scripturi executabile dorite și aveți încredere deplină în conținutul acestora.", - "shrinkImages": "Micșorare imagini", - "shrinkImagesTooltip": "

Dacă bifați această opțiune, Trilium va încerca să micșoreze imaginea importată prin scalarea și importarea ei, aspect ce poate afecta calitatea aparentă a imaginii. Dacă nu este bifat, imaginile vor fi importate fără nicio modificare.

Acest lucru nu se aplică la importuri de tip .zip cu metainformații deoarece se asumă că aceste fișiere sunt deja optimizate.

", - "textImportedAsText": "Importă HTML, Markdown și TXT ca notițe de tip text dacă este neclar din metainformații", - "failed": "Eroare la importare: {{message}}.", - "import-status": "Starea importului", - "in-progress": "Import în curs: {{progress}}", - "successful": "Import finalizat cu succes.", - "html_import_tags": { - "description": "Configurați ce etichete HTML să fie păstrate atunci când se importă notițe. Etichetele ce nu se află în această listă vor fi înlăturate la importul de date. Unele etichete (precum „script”) sunt înlăturate indiferent din motive de securitate.", - "placeholder": "Introduceți etichetele HTML, câte unul pe linie", - "reset_button": "Resetează la lista implicită", - "title": "Etichete HTML la importare" - } - }, - "include_archived_notes": { - "include_archived_notes": "Include notițele arhivate" - }, - "include_note": { - "box_size_full": "complet (căsuța va afișa întregul text)", - "box_size_medium": "mediu (~ 30 de rânduri)", - "box_size_prompt": "Dimensiunea căsuței notiței incluse:", - "box_size_small": "mică (~ 10 rânduri)", - "button_include": "Include notița Enter", - "dialog_title": "Includere notița", - "label_note": "Notiță", - "placeholder_search": "căutați notița după denumirea ei", - "close": "Închide" - }, - "info": { - "closeButton": "Închide", - "modalTitle": "Mesaj informativ", - "okButton": "OK" - }, - "inherited_attribute_list": { - "no_inherited_attributes": "Niciun atribut moștenit.", - "title": "Atribute moștenite" - }, - "jump_to_note": { - "search_button": "Caută în întregul conținut Ctrl+Enter", - "search_placeholder": "", - "close": "Închide" - }, - "left_pane_toggle": { - "hide_panel": "Ascunde panoul", - "show_panel": "Afișează panoul" - }, - "limit": { - "limit": "Limită", - "take_first_x_results": "Obține doar primele X rezultate." - }, - "markdown_import": { - "dialog_title": "Importă Markdown", - "import_button": "Importă Ctrl+Enter", - "import_success": "Conținutul Markdown a fost importat în document.", - "modal_body_text": "Din cauza limitărilor la nivel de navigator, nu este posibilă citirea clipboard-ului din JavaScript. Inserați Markdown-ul pentru a-l importa în caseta de mai jos și dați clic pe butonul Import", - "close": "Închide" - }, - "max_content_width": { - "apply_changes_description": "Pentru a aplica schimbările de lățime a conținutului, dați click pe", - "default_description": "În mod implicit Trilium limitează lățimea conținutului pentru a îmbunătăți lizibilitatea pentru ferestrele maximizate pe ecrane late.", - "max_width_label": "Lungimea maximă a conținutului", - "max_width_unit": "pixeli", - "reload_button": "reîncarcă interfața", - "reload_description": "schimbări din opțiunile de afișare", - "title": "Lățime conținut" - }, - "mobile_detail_menu": { - "delete_this_note": "Șterge această notiță", - "error_cannot_get_branch_id": "Nu s-a putut obține branchId-ul pentru calea „{{notePath}}”", - "error_unrecognized_command": "Comandă nerecunoscută „{{command}}”", - "insert_child_note": "Inserează subnotiță" - }, - "move_note": { - "clone_note_new_parent": "clonează notița la noul părinte dacă notița are mai multe clone/ramuri (când nu este clar care ramură trebuie ștearsă)", - "move_note": "Mută notița", - "move_note_new_parent": "mută notița în noul părinte dacă notița are unul singur (ramura veche este ștearsă și o ramură nouă este creată în noul părinte)", - "nothing_will_happen": "nu se va întampla nimic dacă notița nu poate fi mutată la notița destinație (deoarece s-ar crea un ciclu în arbore)", - "on_all_matched_notes": "Pentru toate notițele găsite", - "target_parent_note": "notița părinte destinație", - "to": "la" - }, - "move_pane_button": { - "move_left": "Mută la stânga", - "move_right": "Mută la dreapta" - }, - "move_to": { - "dialog_title": "Mută notițele în...", - "error_no_path": "Nicio cale la care să poată fi mutate.", - "move_button": "Mută la notița selectată enter", - "move_success_message": "Notițele selectate au fost mutate în", - "notes_to_move": "Notițe de mutat", - "search_placeholder": "căutați notița după denumirea ei", - "target_parent_note": "Notița părinte destinație", - "close": "Închide" - }, - "native_title_bar": { - "disabled": "dezactivată", - "enabled": "activată", - "title": "Bară de titlu nativă (necesită repornirea aplicației)" - }, - "network_connections": { - "check_for_updates": "Verifică automat pentru actualizări", - "network_connections_title": "Conexiuni la rețea" - }, - "note_actions": { - "convert_into_attachment": "Convertește în atașament", - "delete_note": "Șterge notița", - "export_note": "Exportă notița", - "import_files": "Importă fișiere", - "note_attachments": "Atașamente notițe", - "note_source": "Sursa notiței", - "open_note_custom": "Deschide notiță personalizată", - "open_note_externally": "Deschide notița extern", - "open_note_externally_title": "Fișierul va fi deschis într-o aplicație externă și urmărită pentru modificări. Ulterior se va putea încărca versiunea modificată înapoi în Trilium.", - "print_note": "Imprimare notiță", - "re_render_note": "Reinterpretare notiță", - "save_revision": "Salvează o nouă revizie", - "search_in_note": "Caută în notiță", - "convert_into_attachment_failed": "Nu s-a putut converti notița „{{title}}”.", - "convert_into_attachment_successful": "Notița „{{title}}” a fost convertită în atașament.", - "convert_into_attachment_prompt": "Doriți convertirea notiței „{{title}}” într-un atașament al notiței părinte?", - "print_pdf": "Exportare ca PDF..." - }, - "note_erasure_timeout": { - "deleted_notes_erased": "Notițele șterse au fost eliminate permanent.", - "erase_deleted_notes_now": "Elimină notițele șterse acum", - "erase_notes_after": "Elimină notițele șterse după:", - "manual_erasing_description": "Se poate rula o eliminare manuală (fără a lua în considerare timpul definit mai sus):", - "note_erasure_description": "Notițele șterse (precum și atributele, reviziile) sunt prima oară doar marcate drept șterse și este posibil să fie recuperate din ecranul Notițe recente. După o perioadă de timp, notițele șterse vor fi „eliminate”, caz în care conținutul lor nu se poate recupera. Această setare permite configurarea duratei de timp dintre ștergerea și eliminarea notițelor.", - "note_erasure_timeout_title": "Timpul de eliminare automată a notițelor șterse" - }, - "note_info_widget": { - "calculate": "calculează", - "created": "Creată la", - "modified": "Modificată la", - "note_id": "ID-ul notiței", - "note_size": "Dimensiunea notiței", - "note_size_info": "Dimensiunea notiței reprezintă o aproximare a cerințelor de stocare ale acestei notițe. Ia în considerare conținutul notiței dar și ale reviziilor sale.", - "subtree_size": "(dimensiunea sub-arborelui: {{size}} în {{count}} notițe)", - "title": "Informații despre notiță", - "type": "Tip" - }, - "note_launcher": { - "this_launcher_doesnt_define_target_note": "Acesată scurtătură nu definește o notiță-destinație." - }, - "note_map": { - "collapse": "Micșorează la dimensiunea normală", - "open_full": "Expandează la maximum", - "title": "Harta notițelor", - "fix-nodes": "Fixează nodurile", - "link-distance": "Distanța dintre legături" - }, - "note_paths": { - "archived": "Arhivat", - "clone_button": "Clonează notița într-o nouă locație...", - "intro_not_placed": "Notița n-a fost plasată încă în arborele de notițe.", - "intro_placed": "Notița este plasată în următoarele căi:", - "outside_hoisted": "Această cale se află în afara notiței focalizate și este necesară defocalizarea.", - "search": "Caută", - "title": "Căile notiței" - }, - "note_properties": { - "info": "Informații", - "this_note_was_originally_taken_from": "Această notiță a fost preluată original de la:" - }, - "note_type_chooser": { - "modal_body": "Selectați tipul notiței/șablonul pentru noua notiță:", - "modal_title": "Selectați tipul notiței", - "templates": "Șabloane:", - "close": "Închide" - }, - "onclick_button": { - "no_click_handler": "Butonul „{{componentId}}” nu are nicio acțiune la clic definită" - }, - "options_widget": { - "options_change_saved": "Schimbarea opțiunilor a fost înregistrată.", - "options_status": "Starea opțiunilor" - }, - "order_by": { - "asc": "Ascendent (implicit)", - "children_count": "Numărul subnotițelor", - "content_and_attachments_and_revisions_size": "Dimensiunea conținutului notiței incluzând atașamentele și reviziile", - "content_and_attachments_size": "Dimensiunea conținutului notiței incluzând atașamente", - "content_size": "Dimensiunea conținutului notiței", - "date_created": "Data creării", - "date_modified": "Data ultimei modificări", - "desc": "Descendent", - "order_by": "Ordonează după", - "owned_label_count": "Numărul de etichete", - "owned_relation_count": "Numărul de relații", - "parent_count": "Numărul de clone", - "random": "Ordine aleatorie", - "relevancy": "Relevanță (implicit)", - "revision_count": "Numărul de revizii", - "target_relation_count": "Numărul de relații către notiță", - "title": "Titlu" - }, - "owned_attribute_list": { - "owned_attributes": "Atribute proprii" - }, - "password": { - "alert_message": "Aveți grijă să nu uitați parola. Parola este utilizată pentru a accesa interfața web și pentru a cripta notițele protejate. Dacă uitați parola, toate notițele protejate se vor pierde pentru totdeauna.", - "change_password": "Schimbă parola", - "change_password_heading": "Schimbarea parolei", - "for_more_info": "pentru mai multe informații.", - "heading": "Parolă", - "new_password": "Parolă nouă", - "new_password_confirmation": "Confirmarea noii parole", - "old_password": "Parola veche", - "password_changed_success": "Parola a fost schimbată. Trilium se va reîncărca după apăsarea butonului OK.", - "password_mismatch": "Noile parole nu coincid.", - "protected_session_timeout": "Timpul de expirare a sesiunii protejate", - "protected_session_timeout_description": "Timpul de expirare a sesiunii protejate este o perioadă de timp după care sesiunea protejată este ștearsă din memoria navigatorului. Aceasta este măsurată de la timpul ultimei interacțiuni cu notițele protejate. Vezi", - "protected_session_timeout_label": "Timpul de expirare a sesiunii protejate:", - "reset_confirmation": "Prin resetarea parolei se va pierde pentru totdeauna accesul la notițele protejate existente. Sigur doriți resetarea parolei?", - "reset_link": "click aici pentru a o reseta.", - "reset_success_message": "Parola a fost resetată. Setați o nouă parolă", - "set_password": "Setează parola", - "set_password_heading": "Schimbarea parolei", - "wiki": "wiki" - }, - "password_not_set": { - "body1": "Notițele protejate sunt criptate utilizând parola de utilizator, dar nu a fost setată nicio parolă.", - "body2": "Pentru a putea să protejați notițe, clic aici pentru a deschide ecranul de opțiuni și pentru a seta parola.", - "title": "Parola nu este setată", - "close": "Închide" - }, - "promoted_attributes": { - "add_new_attribute": "Adaugă un nou atribut", - "open_external_link": "Deschide legătură externă", - "promoted_attributes": "Atribute promovate", - "remove_this_attribute": "Elimină acest atribut", - "unknown_attribute_type": "Tip de atribut necunoscut „{{type}}”", - "unknown_label_type": "Tip de etichetă necunoscut „{{type}}”", - "url_placeholder": "http://siteweb...", - "unset-field-placeholder": "nesetat" - }, - "prompt": { - "defaultTitle": "Aviz", - "ok": "OK enter", - "title": "Aviz", - "close": "Închide" - }, - "protected_session": { - "enter_password_instruction": "Afișarea notițelor protejate necesită introducerea parolei:", - "start_session_button": "Deschide sesiunea protejată enter", - "started": "Sesiunea protejată este activă.", - "wrong_password": "Parolă greșită.", - "protecting-finished-successfully": "Protejarea a avut succes.", - "protecting-in-progress": "Protejare în curs: {{count}}", - "protecting-title": "Stare protejare", - "unprotecting-title": "Stare deprotejare", - "unprotecting-finished-successfully": "Deprotejarea a avut succes.", - "unprotecting-in-progress-count": "Deprotejare în curs: {{count}}" - }, - "protected_session_password": { - "close_label": "Închide", - "form_label": "Pentru a putea continua cu acțiunea cerută este nevoie să fie pornită sesiunea protejată prin introducerea parolei:", - "help_title": "Informații despre notițe protejate", - "modal_title": "Sesiune protejată", - "start_button": "Pornește sesiunea protejată enter" - }, - "protected_session_status": { - "active": "Sesiunea protejată este activă. Clic pentru a închide sesiunea protejată.", - "inactive": "Clic pentru a porni sesiunea protejată" - }, - "recent_changes": { - "confirm_undelete": "Doriți să restaurați această notiță și subnotițele ei?", - "deleted_notes_message": "Notițele șterse au fost eliminate.", - "erase_notes_button": "Elimină notițele șterse", - "no_changes_message": "Încă nicio schimbare...", - "title": "Modificări recente", - "undelete_link": "restaurare", - "close": "Închide" - }, - "relation_map": { - "cannot_match_transform": "Nu s-a putut identifica transformarea: {{transform}}", - "click_on_canvas_to_place_new_note": "Clic pentru a plasa o nouă notiță", - "confirm_remove_relation": "Doriți ștergerea relației?", - "connection_exists": "Deja există conexiunea „{{name}}” dintre aceste notițe.", - "default_new_note_title": "notiță nouă", - "edit_title": "Editare titlu", - "enter_new_title": "Introduceți noul titlu:", - "enter_title_of_new_note": "Introduceți titlul noii notițe", - "note_already_in_diagram": "Notița „{{title}}” deja se află pe diagramă.", - "note_not_found": "Notița „{{noteId}}” nu a putut fi găsită!", - "open_in_new_tab": "Deschide într-un tab nou", - "remove_note": "Șterge notița", - "remove_relation": "Șterge relația", - "rename_note": "Redenumește notița", - "specify_new_relation_name": "Introduceți denumirea noii relații (caractere permise: alfanumerice, două puncte și underline):", - "start_dragging_relations": "Glisați relațiile de aici peste o altă notiță." - }, - "relation_map_buttons": { - "create_child_note_title": "Crează o subnotiță și adaug-o în harta relațiilor", - "reset_pan_zoom_title": "Resetează poziția și zoom-ul la valorile implicite", - "zoom_in_title": "Mărire", - "zoom_out_title": "Micșorare" - }, - "rename_label": { - "name_title": "Caracterele permise sunt alfanumerice, underline și două puncte.", - "new_name_placeholder": "noul nume", - "old_name_placeholder": "vechiul nume", - "rename_label": "Redenumește eticheta", - "rename_label_from": "Redenumește eticheta de la", - "to": "La" - }, - "rename_note": { - "api_docs": "Vedeți documentația API pentru notițe și proprietăților dateCreatedObj / utcDateCreatedObj pentru detalii.", - "click_help_icon": "Clic pe iconița de ajutor din partea dreapta pentru a vedea toate opțiunile", - "evaluated_as_js_string": "Valoare introdusă este evaluată prin JavaScript și poate fi astfel îmbogățită cu conținut dinamic prin intermediul variabilei injectate note (notița ce este redenumită). Exemple:", - "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - notițele găsite sunt prefixate cu luna și ziua creării notiței", - "example_new_title": "NOU: ${note.title} - notițele identificate sunt prefixate cu „NOU: ”", - "example_note": "Notiță - toate notițele identificate sunt redenumite în „Notiță”", - "new_note_title": "noul titlu al notiței", - "rename_note": "Redenumește notița", - "rename_note_title_to": "Redenumește notița în" - }, - "rename_relation": { - "allowed_characters": "Se permit caractere alfanumerice, underline și două puncte.", - "new_name": "noul nume", - "old_name": "vechiul nume", - "rename_relation": "Redenumește relația", - "rename_relation_from": "Redenumește relația din", - "to": "În" - }, - "render": { - "note_detail_render_help_1": "Această notă informativă este afișată deoarece această notiță de tip „Randare HTML” nu are relația necesară pentru a funcționa corespunzător.", - "note_detail_render_help_2": "Notița de tipul „Render HTML” este utilizată pentru scriptare. Pe scurt, se folosește o notiță de tip cod HTML (opțional cu niște JavaScript) și această notiță o va randa. Pentru a funcționa, trebuie definită o relație denumită „renderNote” ce indică notița HTML de randat." - }, - "revisions": { - "confirm_delete": "Doriți ștergerea acestei revizii?", - "confirm_delete_all": "Doriți ștergerea tuturor reviziilor acestei notițe?", - "confirm_restore": "Doriți restaurarea acestei revizii? Acest lucru va suprascrie titlul și conținutul curent cu cele ale acestei revizii.", - "delete_all_button": "Șterge toate reviziile", - "delete_all_revisions": "Șterge toate reviziile acestei notițe", - "delete_button": "Şterge", - "download_button": "Descarcă", - "file_size": "Dimensiune fișier:", - "help_title": "Informații despre reviziile notițelor", - "mime": "MIME:", - "no_revisions": "Nu există încă nicio revizie pentru această notiță...", - "note_revisions": "Revizii ale notiței", - "preview": "Previzualizare:", - "preview_not_available": "Nu este disponibilă o previzualizare pentru acest tip de notiță.", - "restore_button": "Restaurează", - "revision_deleted": "Revizia notiței a fost ștearsă.", - "revision_last_edited": "Revizia a fost ultima oară modificată pe {{date}}", - "revision_restored": "Revizia notiței a fost restaurată.", - "revisions_deleted": "Notița reviziei a fost ștearsă.", - "maximum_revisions": "Numărul maxim de revizii pentru notița curentă: {{number}}.", - "settings": "Setări revizii ale notițelor", - "snapshot_interval": "Intervalul de creare a reviziilor pentru notițe: {{seconds}}s.", - "close": "Închide" - }, - "revisions_button": { - "note_revisions": "Revizii ale notiței" - }, - "revisions_snapshot_interval": { - "note_revisions_snapshot_description": "Intervalul de salvare a reviziilor este timpul după care se crează o nouă revizie a unei notițe. Vedeți wiki-ul pentru mai multe informații.", - "note_revisions_snapshot_interval_title": "Intervalul de salvare a reviziilor", - "snapshot_time_interval_label": "Intervalul de salvare a reviziilor:" - }, - "ribbon": { - "edited_notes_message": "Tab-ul panglicii „Notițe editate” se va deschide automat pentru notițele zilnice", - "promoted_attributes_message": "Tab-ul panglicii „Atribute promovate” se va deschide automat dacă pentru notița curentă există astfel de atribute", - "widgets": "Widget-uri ale panglicii" - }, - "script_executor": { - "execute_query": "Execută interogarea", - "execute_script": "Execută scriptul", - "query": "Interogare", - "script": "Script" - }, - "search_definition": { - "action": "acțiune", - "actions_executed": "Acțiunile au fost executate.", - "add_search_option": "Adaugă opțiune de căutare:", - "ancestor": "ascendent", - "debug": "depanare", - "debug_description": "Modul de depanare va afișa informații adiționale în consolă pentru a ajuta la depanarea interogărilor complexe", - "fast_search": "căutare rapidă", - "fast_search_description": "Căutarea rapidă dezactivează căutarea la nivel de conținut al notițelor cu scopul de a îmbunătăți performanța de căutare pentru baze de date mari.", - "include_archived": "include arhivate", - "include_archived_notes_description": "Notițele arhivate sunt excluse în mod implicit din rezultatele de căutare, această opțiune le include.", - "limit": "limită", - "limit_description": "Limitează numărul de rezultate", - "order_by": "ordonează după", - "save_to_note": "Salvează în notiță", - "search_button": "Căutare Enter", - "search_execute": "Caută și execută acțiunile", - "search_note_saved": "Notița de căutare a fost salvată în {{- notePathTitle}}", - "search_parameters": "Parametrii de căutare", - "search_script": "script de căutare", - "search_string": "șir de căutat", - "unknown_search_option": "Opțiune de căutare necunoscută „{{searchOptionName}}”" - }, - "search_engine": { - "baidu": "Baidu", - "bing": "Bing", - "custom_name_label": "Denumirea motorului de căutare personalizat", - "custom_name_placeholder": "Personalizați denumirea motorului de căutare", - "custom_search_engine_info": "Un motor de căutare personalizat necesită un nume și un URL. Dacă aceastea nu sunt setate, atunci DuckDuckGo va fi folosit ca motor implicit.", - "custom_url_label": "URL-ul motorului de căutare trebuie să includă „{keyword}” ca substituent pentru termenul căutat.", - "custom_url_placeholder": "Personalizați URL-ul motorului de căutare", - "duckduckgo": "DuckDuckGo", - "google": "Google", - "predefined_templates_label": "Motoare de căutare predefinite", - "save_button": "Salvează", - "title": "Motor de căutare" - }, - "search_script": { - "description1": "Scripturile de căutare permit definirea rezultatelor de căutare prin rularea unui script. Acest lucru oferă flexibilitatea maximă, atunci când căutarea obișnuită nu este suficientă.", - "description2": "Scriptul de căutare trebuie să fie de tipul „cod” și subtipul „JavaScript (backend)”. Scriptul trebuie să returneze un vector de ID-uri de notiță sau notițele propriu-zise.", - "example_code": "// 1. filtrăm rezultatele inițiale utilizând căutarea obișnuită\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. aplicăm criteriile de căutare personalizate\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", - "example_title": "Vedeți acest exemplu:", - "note": "De remarcat că nu se pot utiliza simultan atât caseta de căutare, cât și script-ul de căutare.", - "placeholder": "căutați notița după denumirea ei", - "title": "Script de căutare:" - }, - "search_string": { - "also_see": "vedeți și", - "complete_help": "informații complete despre sintaxa de căutare", - "error": "Eroare la căutare: {{error}}", - "full_text_search": "Introduceți orice text pentru a căuta în conținutul notițelor", - "label_abc": "reîntoarce notițele cu eticheta „abc”", - "label_date_created": "notițe create în ultima lună", - "label_rock_or_pop": "doar una din etichete trebuie să fie prezentă", - "label_rock_pop": "găsește notițe care au atât eticheta „rock”, cât și „pop”", - "label_year": "găsește notițe ce au eticheta „an” cu valoarea 2019", - "label_year_comparison": "comparații numerice (de asemenea >, >=, <).", - "placeholder": "cuvinte cheie pentru căutarea în conținut, #etichetă = valoare...", - "search_syntax": "Sintaxa de căutare", - "title_column": "Textul de căutat:", - "search_prefix": "Căutare:" - }, - "shortcuts": { - "action_name": "Denumirea acțiunii", - "confirm_reset": "Confirmați resetarea tuturor scurtăturilor de la tastatură la valoriile implicite?", - "default_shortcuts": "Scurtături implicite", - "description": "Descriere", - "electron_documentation": "Vedeți documentația Electron pentru modificatorii disponibili și codurile pentru taste.", - "keyboard_shortcuts": "Scurtături de la tastatură", - "multiple_shortcuts": "Mai multe scurtături pentru aceeași acțiune pot fi separate prin virgulă.", - "reload_app": "Reîncărcați aplicația pentru a aplica modificările", - "set_all_to_default": "Setează toate scurtăturile la valorile implicite", - "shortcuts": "Scurtături", - "type_text_to_filter": "Scrieți un text pentru a filtra scurtăturile..." - }, - "similar_notes": { - "no_similar_notes_found": "Nu s-a găsit nicio notiță similară.", - "title": "Notițe similare" - }, - "sort_child_notes": { - "ascending": "ascendent", - "date_created": "data creării", - "date_modified": "data modificării", - "descending": "descendent", - "folders": "Dosare", - "natural_sort": "Ordonare naturală", - "natural_sort_language": "Limba pentru ordonare naturală", - "sort": "Ordonare Enter", - "sort_children_by": "Ordonează subnotițele după...", - "sort_folders_at_top": "ordonează dosarele primele", - "sort_with_respect_to_different_character_sorting": "ordonează respectând regulile de sortare și clasificare diferite în funcție de limbă și regiune.", - "sorting_criteria": "Criterii de ordonare", - "sorting_direction": "Direcția de ordonare", - "the_language_code_for_natural_sort": "Codul limbii pentru ordonarea naturală, e.g. „zn-CN” pentru chineză.", - "title": "titlu", - "close": "Închide" - }, - "spellcheck": { - "available_language_codes_label": "Coduri de limbă disponibile:", - "description": "Aceste opțiuni se aplică doar pentru aplicația de desktop, navigatoarele web folosesc propriile corectoare ortografice.", - "enable": "Activează corectorul ortografic", - "language_code_label": "Codurile de limbă", - "language_code_placeholder": "de exemplu „en-US”, „de-AT”", - "multiple_languages_info": "Mai multe limbi pot fi separate prin virgulă, e.g. \"en-US, de-DE, cs\".", - "title": "Corector ortografic", - "restart-required": "Schimbările asupra setărilor corectorului ortografic vor fi aplicate după restartarea aplicației." - }, - "sync": { - "fill_entity_changes_button": "Completează înregistrările de schimbare ale entităților", - "filling_entity_changes": "Se completează înregistrările de schimbare ale entităților...", - "force_full_sync_button": "Forțează sincronizare completă", - "full_sync_triggered": "S-a activat o sincronizare completă", - "sync_rows_filled_successfully": "Rândurile de sincronizare s-au completat cu succes", - "title": "Sincronizare", - "failed": "Eroare la sincronizare: {{message}}", - "finished-successfully": "Sincronizarea a avut succes." - }, - "sync_2": { - "config_title": "Configurația sincronizării", - "handshake_failed": "Comunicarea cu serverul de sincronizare a eșuat, eroare: {{message}}", - "help": "Informații", - "note": "Notiță", - "note_description": "Dacă lăsați câmpul de proxy necompletat, proxy-ul de sistem va fi utilizat (se aplică doar pentru aplicația desktop).", - "proxy_label": "Server-ul proxy utilizat pentru sincronizare (opțional)", - "save": "Salvează", - "server_address": "Adresa instanței de server", - "special_value_description": "O altă valoare specială este noproxy ce ignoră proxy-ul de sistem și respectă NODE_TLS_REJECT_UNAUTHORIZED.", - "test_button": "Probează sincronizarea", - "test_description": "Această opțiune va testa conexiunea și comunicarea cu serverul de sincronizare. Dacă serverul de sincronizare nu este inițializat, acest lucru va rula și o sincronizare cu documentul local.", - "test_title": "Probează sincronizarea", - "timeout": "Timp limită de sincronizare", - "timeout_unit": "milisecunde" - }, - "table_of_contents": { - "description": "Tabela de conținut va apărea în notițele de tip text atunci când notița are un număr de titluri mai mare decât cel definit. Acest număr se poate personaliza:", - "unit": "titluri", - "disable_info": "De asemenea se poate dezactiva tabela de conținut setând o valoare foarte mare.", - "shortcut_info": "Se poate configura și o scurtatură pentru a comuta rapid vizibilitatea panoului din dreapta (inclusiv tabela de conținut) în Opțiuni -> Scurtături (denumirea „toggleRightPane”).", - "title": "Tabelă de conținut" - }, - "text_auto_read_only_size": { - "description": "Marchează pragul în care o notiță de o anumită dimensiune va fi afișată în mod de citire (pentru motive de performanță).", - "label": "Pragul de dimensiune pentru setarea modului de citire automat (la notițe text)", - "title": "Pragul de mod de citire automat", - "unit": "caractere" - }, - "theme": { - "auto_theme": "Temă auto (se adaptează la schema de culori a sistemului)", - "dark_theme": "Temă întunecată", - "light_theme": "Temă luminoasă", - "triliumnext": "TriliumNext Beta (se adaptează la schema de culori a sistemului)", - "triliumnext-light": "TriliumNext Beta (luminoasă)", - "triliumnext-dark": "TriliumNext Beta (întunecată)", - "override_theme_fonts_label": "Suprascrie fonturile temei", - "theme_label": "Temă", - "title": "Tema aplicației", - "layout": "Aspect", - "layout-horizontal-description": "bara de lansare se află sub bara de taburi, bara de taburi este pe toată lungimea.", - "layout-horizontal-title": "Orizontal", - "layout-vertical-title": "Vertical", - "layout-vertical-description": "bara de lansare se află pe stânga (implicit)" - }, - "toast": { - "critical-error": { - "message": "O eroare critică a apărut ce previne pornirea aplicația de client:\n\n{{message}}\n\nAcest lucru este cauzat cel mai probabil de un script care a eșuat în mod neașteptat. Încercați rularea aplicației în modul de siguranță și ulterior remediați problema.", - "title": "Eroare critică" + "about": { + "title": "Despre Trilium Notes", + "homepage": "Site web:", + "app_version": "Versiune aplicație:", + "db_version": "Versiune bază de date:", + "sync_version": "Versiune sincronizare:", + "build_date": "Data compilării:", + "build_revision": "Revizia compilării:", + "data_directory": "Directorul de date:", + "close": "Închide" }, - "widget-error": { - "title": "Eroare la inițializarea unui widget", - "message-custom": "Widget-ul personalizat din notița cu ID-ul „{{id}}”, întitulată ”{{title}}” nu a putut fi inițializată din cauza:\n\n{{message}}", - "message-unknown": "Un widget necunoscut nu a putut fi inițializat din cauza:\n\n{{message}}" + "abstract_bulk_action": { + "remove_this_search_action": "Înlătură acesată acțiune la căutare" }, - "bundle-error": { - "title": "Eroare la încărcarea unui script personalizat", - "message": "Scriptul din notița cu ID-ul „{{id}}”, întitulată „{{title}}” nu a putut fi executată din cauza:\n\n{{message}}" + "abstract_search_option": { + "failed_rendering": "Nu s-a putut randa opțiunea de căutare: {{dto}} din cauza: {{error}} {{stack}}", + "remove_this_search_option": "Înlătură acesată acțiune la căutare" + }, + "add_label": { + "add_label": "Adaugă etichetă", + "help_text": "Pentru toate notițele găsite:", + "help_text_item1": "crează eticheta respectivă dacă notița nu are o astfel de etichetă", + "help_text_item2": "sau schimbă valoarea unei etichete existente", + "help_text_note": "Această metodă poate fi apelată și fără valoare, caz în care eticheta va fi atribuită notiței fără o valoare.", + "label_name_placeholder": "denumirea etichetei", + "label_name_title": "Sunt permise doar caractere alfanumerice, underline și două puncte.", + "new_value_placeholder": "valoare nouă", + "to_value": "la valoarea" + }, + "add_link": { + "add_link": "Adaugă legătură", + "close": "Închide", + "help_on_links": "Informații despre legături", + "link_title": "Titlu legătură", + "link_title_arbitrary": "titlul legăturii poate fi schimbat în mod arbitrar", + "link_title_mirrors": "titlul legăturii corespunde titlul curent al notiței", + "note": "Notiță", + "search_note": "căutați notița după nume", + "button_add_link": "Adaugă legătură Enter" + }, + "add_relation": { + "add_relation": "Adaugă relație", + "allowed_characters": "Sunt permise doar caractere alfanumerice, underline și două puncte.", + "create_relation_on_all_matched_notes": "Crează relația pentru toate notițele găsite", + "relation_name": "denumirea relației", + "target_note": "notița destinație", + "to": "către" + }, + "ancestor": { + "depth_doesnt_matter": "nu contează", + "depth_eq": "exact {{count}}", + "depth_gt": "mai mare decât {{count}}", + "depth_label": "adâncime", + "depth_lt": "mai puțin de {{count}}", + "direct_children": "subnotiță directă", + "label": "Părinte", + "placeholder": "căutați notița după nume" + }, + "api_log": { + "close": "Închide" + }, + "attachment_detail": { + "attachment_deleted": "Acest atașament a fost șters.", + "list_of_all_attachments": "Lista tuturor atașamentelor", + "open_help_page": "Deschide instrucțiuni despre atașamente", + "owning_note": "Notița părinte: ", + "you_can_also_open": ", se poate deschide și " + }, + "attachment_detail_2": { + "deletion_reason": ", deoarece nu există o legătură către atașament în conținutul notiței. Pentru a preveni ștergerea, trebuie adăugată înapoi o legătură către atașament în conținut sau atașamentul trebuie convertit în notiță.", + "link_copied": "O legătură către atașament a fost copiată în clipboard.", + "role_and_size": "Rol: {{role}}, dimensiune: {{size}}", + "unrecognized_role": "Rol atașament necunoscut: „{{role}}”.", + "will_be_deleted_in": "Acest atașament va fi șters automat în {{time}}", + "will_be_deleted_soon": "Acest atașament va fi șters automat în curând" + }, + "attachment_erasure_timeout": { + "attachment_auto_deletion_description": "Atașamentele se șterg automat (permanent) dacă nu sunt referențiate de către notița lor părinte după un timp prestabilit de timp.", + "attachment_erasure_timeout": "Perioadă de ștergere a atașamentelor", + "erase_attachments_after": "Erase unused attachments after:", + "erase_unused_attachments_now": "Elimină atașamentele șterse acum", + "manual_erasing_description": "Șterge acum toate atașamentele nefolosite din notițe", + "unused_attachments_erased": "Atașamentele nefolosite au fost șterse." + }, + "attachment_list": { + "no_attachments": "Notița nu are niciun atașament.", + "open_help_page": "Deschide instrucțiuni despre atașamente", + "owning_note": "Notița părinte: ", + "upload_attachments": "Încărcare atașament" + }, + "attachments_actions": { + "convert_attachment_into_note": "Convertește atașamentul în notiță", + "convert_confirm": "Sigur doriți convertirea atașementului „{{title}}” într-o notiță separată?", + "convert_success": "Atașamentul „{{title}}” a fost convertit cu succes într-o notiță.", + "copy_link_to_clipboard": "Copiază legătură în clipboard", + "delete_attachment": "Șterge atașamentul", + "delete_confirm": "Sigur doriți ștergerea atașementului „{{title}}”?", + "delete_success": "Atașamentul „{{title}}” a fost șters.", + "download": "Descarcă", + "enter_new_name": "Introduceți denumirea noului atașament", + "open_custom": "Deschide într-un alt program", + "open_custom_client_only": "Deschiderea atașamentelor într-un alt program este posibilă doar din aplicația de desktop.", + "open_custom_title": "Fișierul va fi deschis într-un alt program și se vor urmări schimbările. Ulterior versiunea modificată a fișierului va fi încărcată înapoi în Trilium.", + "open_externally": "Deschide în afara programului", + "open_externally_detail_page": "Deschiderea externă a atașamentului este disponibilă doar din pagina de detalii, dați clic pe detaliile atașamentului mai întâi și repetați acțiunea.", + "open_externally_title": "Fișierul va fi deschis într-un alt program și se vor urmări schimbările. Ulterior versiunea modificată a fișierului va fi încărcată înapoi în Trilium.", + "rename_attachment": "Redenumește atașamentul", + "upload_failed": "Încărcarea unei noi versiuni ale atașamentului a eșuat.", + "upload_new_revision": "Încarcă o nouă versiune", + "upload_success": "Încărcarea unei noi versiuni ale atașaemntului a avut succes." + }, + "attribute_detail": { + "and_more": "... și încă {{count}}.", + "app_css": "marchează notițe CSS care se încarcă automat în aplicația Trilium și pot fi folosite pentru a-i modifica aspectul.", + "app_theme": "marchează notițe CSS care sunt teme complete ale Trilium și care se regăsesc în setări.", + "archived": "notițele cu această etichetă nu vor fi vizibile în mod implicit în căutări (dar nici în ecranele Sari la notiță, Adăugare legătură, etc.).", + "attr_detail_title": "Detalii despre atribute", + "attr_is_owned_by": "Atributul este deținut de", + "attr_name_title": "Denumirea atributului poate fi compusă doar din caractere alfanumerice, două puncte și underline", + "auto_read_only_disabled": "notițele de tip text sau cod intră automat în mod doar de citire când au o dimensiune prea mare. Acest comportament se poate dezactiva adăugând această etichetă", + "bookmark_folder": "notițele cu această etichetă vor apărea în lista de semne de carte ca un director (permițând acces la notițele din ea)", + "boolean": "Valoare booleană", + "calendar_root": "marchează notița care trebuie folosită ca rădăcină pentru notițele zilnice. Doar o singură notiță ar trebui să fie etichetătă.", + "close_button_title": "Renunță la modificări și închide", + "color": "definește culoarea unei notițe în ierarhia notițelor, legături, etc. Se poate folosi orice culoare CSS precum „red” sau „#a13d5f”", + "css_class": "valoarea acestei etichete este adăugată ca o clasă CSS pentru nodul ce reprezintă notița în ierarhia notițelor. Acest lucru poate fi utilizat pentru personalizare avansată. Poate fi folosită în notițe de tip șablon.", + "custom_request_handler": "a se vedea Custom request handler", + "custom_resource_provider": "a se vedea Custom request handler", + "date": "Dată", + "date_time": "Dată și timp", + "time": "Timp", + "delete": "Șterge", + "digits": "număr de zecimale", + "disable_inclusion": "script-urile cu această etichetă nu vor fi incluse în execuția scriptului părinte.", + "disable_versioning": "dezactivează auto-versionarea. Poate fi utilizat pentru notițe mari dar neimportante precum biblioteci mari de JavaScript utilizate pentru script-uri", + "display_relations": "denumirea relațiilor ce ar trebui să fie afișate, separate prin virgulă. Toate celelalte vor fi ascunse.", + "exclude_from_export": "notițele (împreună cu subnotițele) nu vor fi incluse în exporturile de notițe", + "exclude_from_note_map": "Notițele cu această etichetă vor fi ascunse din Harta notițelor", + "execute_button": "Titlul butonului ce va executa notița curentă de tip cod", + "execute_description": "O descriere mai lungă a notiței curente de tip cod afișată împreună cu butonul de executare", + "hide_highlight_widget": "Ascunde lista de evidențieri", + "hide_promoted_attributes": "Ascunde lista atributelor promovate pentru această notiță", + "hide_relations": "lista denumirilor relațiilor ce trebuie ascunse, delimitate prin virgulă. Toate celelalte vor fi afișate.", + "icon_class": "valoarea acestei etichete este adăugată ca o clasă CSS la iconița notiței din ierarhia notițelor, fapt ce poate ajuta la identificarea vizuală mai rapidă a notițelor. Un exemplu ar fi „bx bx-home” pentru iconițe preluate din boxicons. Poate fi folosită în notițe de tip șablon.", + "inbox": "locația implicită în care vor apărea noile notițe atunci când se crează o noitiță utilizând butonul „Crează notiță” din bara laterală, notițele vor fi create în interiorul notiței cu această etichetă.", + "inherit": "atributele acestei notițe vor fi moștenite chiar dacă nu există o relație părinte-copil între notițe. A se vedea relația de tip șablon pentru un concept similar. De asemenea, a se vedea moștenirea atributelor în documentație.", + "inheritable": "Moștenibilă", + "inheritable_title": "Atributele moștenibile vor fi moștenite de către toți descendenții acestei notițe.", + "inverse_relation": "Relație inversă", + "inverse_relation_title": "Setare opțională pentru a defini relația inversă. Exemplu: Tată - Fiu sunt două relații inverse.", + "is_owned_by_note": "este deținut(ă) de notița", + "keep_current_hoisting": "Deschiderea acestei legături nu va schimba focalizarea chiar dacă notița nu poate fi vizualizată în ierarhia curentă.", + "keyboard_shortcut": "Definește o scurtatură de la tastatură ce va merge direct la această notiță. Exemplu: „ctrl+alt+e”. Necesită reîncărcarea aplicației pentru a avea efect.", + "label": "Detalii despre etichetă", + "label_definition": "Detalii despre definiția unei etichete", + "label_type": "Tip", + "label_type_title": "Tipul acestei etichete va permite Trilium să selecteze interfața corespunzătoare pentru introducerea valorii etichetei.", + "more_notes": "Mai multe notițe", + "multi_value": "Valori multiple", + "multiplicity": "Multiplicitate", + "multiplicity_title": "Multiplicitatea definește câte atribute de același nume se pot crea - maximum 1 sau mai multe decât 1.", + "name": "Nume", + "new_notes_on_top": "Noile notițe vor fi create la începutul notiței părinte, nu la sfârșit.", + "number": "Număr", + "other_notes_with_name": "Alte notițe cu denumirea de {{attributeType}} „{{attributeName}}”", + "page_size": "numărul de elemente per pagină în listarea notițelor", + "precision": "Precizie", + "precision_title": "Câte cifre să fie afișate după virgulă în interfața de configurare a valorii.", + "promoted": "Evidențiată", + "promoted_alias": "Alias", + "promoted_alias_title": "Numele care să fie afișat în interfața de atribute promovate.", + "promoted_title": "Atributele promovate sunt afișate proeminent în notiță.", + "read_only": "editorul este în modul doar în citire. Funcționează doar pentru notițe de tip text sau cod.", + "related_notes_title": "Alte notițe cu acesată etichetă", + "relation": "Detalii despre relație", + "relation_definition": "Detalii despre definiția unei relații", + "relation_template": "atributele notiței vor fi moștenite chiar dacă nu există o relație părinte-copil, conținutul notiței și ierarhia sa vor fi adăugate la notițele-instanță dacă nu este definită. A se consulta documentația pentru mai multe detalii.", + "render_note": "relație ce definește notița (de tip notiță de cod HTML sau script) ce trebuie randată pentru notițele de tip „Randare notiță HTML”", + "run": "definește evenimentele la care să ruleze scriptul. Valori acceptate:\n
    \n
  • frontendStartup - când pornește interfața Trilium (sau este reîncărcată), dar nu pe mobil.
  • \n
  • mobileStartup - când pornește interfața Trilium (sau este reîncărcată), doar pe mobil.
  • \n
  • backendStartup - când pornește serverul Trilium
  • \n
  • hourly - o dată pe oră. Se poate utiliza adițional eticheta runAtHour pentru a specifica ora.
  • \n
  • daily - o dată pe zi
  • \n
", + "run_at_hour": "La ce oră ar trebui să ruleze. Trebuie folosit împreună cu #run=hourly. Poate fi definit de mai multe ori pentru a rula de mai multe ori în cadrul aceleași zile.", + "run_on_attribute_change": "se execută atunci când atributele unei notițe care definește această relație se schimbă. Se apelează și atunci când un atribut este șters", + "run_on_attribute_creation": "se execută atunci când un nou atribut este creat pentru notița care definește această relație", + "run_on_branch_change": "se execută atunci când o ramură este actualizată.", + "run_on_branch_creation": "se execută când o ramură este creată. O ramură este o legătură dintre o notiță părinte și o notiță copil și este creată, spre exemplu, la clonarea sau mutarea unei notițe.", + "run_on_branch_deletion": "se execută când o ramură este ștearsă. O ramură este o legătură dintre o notiță părinte și o notiță copil și este ștearsă, spre exemplu, atunci când o notiță este mutată (ramura/legătura veche este ștearsă).", + "run_on_child_note_creation": "se execută când o nouă notiță este creată sub notița la care este definită relația", + "run_on_instance": "Definește pe ce instanța de Trilium ar trebui să ruleze. Implicit se consideră toate instanțele.", + "run_on_note_change": "se execută când notița este schimbată (inclusiv crearea unei notițe). Nu include schimbări de conținut", + "run_on_note_content_change": "se execută când conținutul unei notițe este schimbat (inclusiv crearea unei notițe).", + "run_on_note_creation": "se execută când o notiță este creată de server. Se poate utiliza această relație atunci când se dorește rularea unui script pentru toate notițele create sub o anumită ierarhie. În acest caz, relația trebuie creată pe notița-rădăcină și marcată drept moștenibilă. Orice notiță creată sub ierarhie (la orice adâncime) va rula script-ul.", + "run_on_note_deletion": "se execută la ștergerea unei notițe", + "run_on_note_title_change": "se execută când titlul unei notițe se schimbă (inclusiv la crearea unei notițe)", + "save_and_close": "Salvează și închide (Ctrl+Enter)", + "search_home": "notițele de căutare vor fi create în cadrul acestei notițe", + "share_alias": "definește un alias ce va fi permite notiței să fie accesată la https://your_trilium_host/share/[alias]", + "share_credentials": "cere credențiale la accesarea acestei notițe partajate. Valoarea trebuie să fie în formatul „username:parolă”. Nu uitați să faceți eticheta moștenibilă pentru a o aplica și la notițele-copil/imagini.", + "share_css": "Notiță de tip CSS ce va fi injectată în pagina de partajare. Notița CSS trebuie să facă și ea parte din ierarhia partajată. Considerați utilizarea și a „share_hidden_from_tree”, respectiv „share_omit_default_css”.", + "share_description": "definește text ce va fi adăugat la eticheta HTML „meta” pentru descriere", + "share_disallow_robot_indexing": "împiedică indexarea conținutului de către roboți utilizând antetul X-Robots-Tag: noindex", + "share_external_link": "notița va funcționa drept o legătură către un site web extern în ierarhia de partajare", + "share_favicon": "Notiță ce conține pictograma favicon pentru a fi setată în paginile partajate. De obicei se poate seta în rădăcina ierarhiei de partajare și se poate face moștenibilă. Notița ce conține favicon-ul trebuie să fie și ea în ierarhia de partajare. Considerați și utilizarea „share_hidden_from_tree”.", + "share_hidden_from_tree": "notița este ascunsă din arborele de navigație din stânga, dar încă este accesibilă prin intermediul unui URL.", + "share_index": "notițele cu această etichetă vor afișa lista tuturor rădăcilor notițelor partajate", + "share_js": "Notiță JavaScript ce va fi injectată în pagina de partajare. Notița respectivă trebuie să fie și ea în ierarhia de partajare. Considerați utilizarea 'share_hidden_from_tree'.", + "share_omit_default_css": "CSS-ul implicit pentru pagina de partajare va fi omis. Se poate folosi atunci când se fac schimbări majore de stil la pagină.", + "share_raw": "notița va fi afișată în formatul ei brut, fără HTML", + "share_root": "marchează notița care este servită pentru rădăcina ”/share”.", + "share_template": "O notiță JavaScript ce va fi folosită drept șablon pentru afișarea notițelor partajate. Implicit se utilizează șablonul original. Considerați utilizarea 'share_hidden_from_tree'.", + "single_value": "Valoare unică", + "sort_direction": "ASC (ascendent, implicit) sau DESC (descendent)", + "sort_folders_first": "Directoarele (notițe cu sub-notițe) vor fi mutate la început", + "sorted": "menține notițele-copil ordonate alfabetic după titlu", + "sql_console_home": "locația implicită pentru notițele de tip consolă SQL", + "target_note": "Notiță țintă", + "target_note_title": "Relația este o conexiune numită dintre o notiță sursă și o notiță țintă.", + "template": "Șablon", + "text": "Text", + "title_template": "titlul implicit al notițelor create în interiorul acestei notițe. Valoarea este evaluată ca un șir de caractere JavaScript\n și poate fi astfel îmbogățită cu un conținut dinamic prin intermediul variabilelow now și parentNote. Exemple:\n \n
    \n
  • Lucrările lui ${parentNote.getLabelValue('autor')}
  • \n
  • Jurnal pentru ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n A se vedea wiki-ul pentru detalii, documentația API pentru parentNote și now pentru mai multe informații", + "toc": "#toc sau #toc=show forțează afișarea tabelei de conținut, #toc=hide forțează ascunderea ei. Dacă eticheta nu există, se utilizează setările globale", + "top": "păstrează notița la începutul listei (se aplică doar pentru notițe sortate automat)", + "url": "URL", + "value": "Valoare", + "widget": "marchează această notiță ca un widget personalizat ce poate fi adăugat la ierarhia de componente ale aplicației", + "widget_relation": "ținta acestei relații va fi executată și randată ca un widget în bara laterală", + "workspace": "marchează această notiță ca un spațiu de lucru ce permite focalizarea rapidă a notițelor", + "workspace_calendar_root": "Definește o rădăcină de calendar pentru un spațiu de lucru", + "workspace_icon_class": "definește clasa de CSS din boxicon ce va fi folosită în tab-urile ce aparțin spațiului de lucru", + "workspace_inbox": "marchează locația implicită în care vor apărea noile notițe atunci când este focalizat spațiul de lucru sau un copil al acestuia", + "workspace_search_home": "notițele de căutare vor fi create sub această notiță", + "workspace_tab_background_color": "Culoare CSS ce va fi folosită în tab-urile ce aparțin spațiului de lucru", + "workspace_template": "Această notița va apărea în lista de șabloane când se crează o nouă notiță, dar doar când spațiul de lucru în care se află notița este focalizat", + "app_theme_base": "setați valoarea la „next” pentru a folosi drept temă de bază „TriliumNext” în loc de cea clasică.", + "print_landscape": "Schimbă orientarea paginii din portret în vedere atunci când se exportă în PDF.", + "print_page_size": "Schimbă dimensiunea paginii când se exportă în PDF. Valori suportate: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." + }, + "attribute_editor": { + "add_a_new_attribute": "Adaugă un nou attribut", + "add_new_label": "Adaugă o nouă etichetă ", + "add_new_label_definition": "Adaugă o nouă definiție de etichetă", + "add_new_relation": "Adaugă o nouă relație ", + "add_new_relation_definition": "Adaugă o nouă definiție de relație", + "help_text_body1": "Pentru a adăuga o etichetă doar scrieți, spre exemplu, #piatră sau #an = 2020 dacă se dorește adăugarea unei valori", + "help_text_body2": "Pentru relații, scrieți author = @ ce va afișa o autocompletare pentru identificarea notiței dorite.", + "help_text_body3": "În mod alternativ, se pot adăuga etichete și relații utilizând butonul + din partea dreaptă.", + "save_attributes": "Salvează atributele ", + "placeholder": "Aici puteți introduce etichete și relații" + }, + "backend_log": { + "refresh": "Reîmprospătare" + }, + "backup": { + "automatic_backup": "Copie de siguranță automată", + "automatic_backup_description": "Trilium poate face copii de siguranță ale bazei de date în mod automat:", + "backup_database_now": "Crează o copie a bazei de date acum", + "backup_now": "Crează o copie de siguranță acum", + "backup_recommendation": "Se recomandă a se păstra activată funcția de copii de siguranță, dar acest lucru poate face pornirea aplicației mai lentă pentru baze de date mai mari sau pentru dispozitive de stocare lente.", + "database_backed_up_to": "S-a creat o copie de siguranță a bazei de dată la {{backupFilePath}}", + "enable_daily_backup": "Activează copia de siguranță zilnică", + "enable_monthly_backup": "Activează copia de siguranță lunară", + "enable_weekly_backup": "Activează copia de siguranță săptămânală", + "existing_backups": "Copii de siguranță existente", + "date-and-time": "Data și ora", + "path": "Calea fișierului", + "no_backup_yet": "nu există încă nicio copie de siguranță" + }, + "basic_properties": { + "basic_properties": "Proprietăți de bază", + "editable": "Editabil", + "note_type": "Tipul notiței", + "language": "Limbă" + }, + "book": { + "no_children_help": "Această notiță de tip Carte nu are nicio subnotiță așadar nu este nimic de afișat. Vedeți wiki pentru detalii." + }, + "book_properties": { + "collapse": "Minimizează", + "collapse_all_notes": "Minimizează toate notițele", + "expand": "Expandează", + "expand_all_children": "Expandează toate subnotițele", + "grid": "Grilă", + "invalid_view_type": "Mod de afișare incorect „{{type}}”", + "list": "Listă", + "view_type": "Mod de afișare", + "calendar": "Calendar" + }, + "bookmark_switch": { + "bookmark": "Semn de carte", + "bookmark_this_note": "Crează un semn de carte către această notiță în panoul din stânga", + "remove_bookmark": "Șterge semnul de carte" + }, + "branch_prefix": { + "branch_prefix_saved": "Prefixul ramurii a fost salvat.", + "close": "Închide", + "edit_branch_prefix": "Editează prefixul ramurii", + "help_on_tree_prefix": "Informații despre prefixe de ierarhie", + "prefix": "Prefix:", + "save": "Salvează" + }, + "bulk_actions": { + "affected_notes": "Notițe afectate", + "available_actions": "Acțiuni disponibile", + "bulk_actions": "Acțiuni în masă", + "bulk_actions_executed": "Acțiunile în masă au fost executate cu succes.", + "chosen_actions": "Acțiuni selectate", + "close": "Închide", + "execute_bulk_actions": "Execută acțiunile în masă", + "include_descendants": "Include descendenții notiței selectate", + "none_yet": "Nicio acțiune... adăugați una printr-un click pe cele disponibile mai jos.", + "labels": "Etichete", + "notes": "Notițe", + "other": "Altele", + "relations": "Relații" + }, + "calendar": { + "april": "Aprilie", + "august": "August", + "cannot_find_day_note": "Nu se poate găsi notița acelei zile", + "december": "Decembrie", + "febuary": "Februarie", + "fri": "Vin", + "january": "Ianuarie", + "july": "Iulie", + "june": "Iunie", + "march": "Martie", + "may": "Mai", + "mon": "Lun", + "november": "Noiembrie", + "october": "Octombrie", + "sat": "Sâm", + "september": "Septembrie", + "sun": "Dum", + "thu": "Joi", + "tue": "Mar", + "wed": "Mie" + }, + "clone_to": { + "clone_notes_to": "Clonează notițele către...", + "clone_to_selected_note": "Clonează notița selectată enter", + "cloned_note_prefix_title": "Notița clonată va fi afișată în ierarhia notiței utilizând prefixul dat", + "help_on_links": "Informații despre legături", + "no_path_to_clone_to": "Nicio cale de clonat.", + "note_cloned": "Notița „{{clonedTitle}}” a fost clonată în „{{targetTitle}}”", + "notes_to_clone": "Notițe de clonat", + "prefix_optional": "Prefix (opțional)", + "search_for_note_by_its_name": "căutați notița după nume acesteia", + "target_parent_note": "Notița părinte țintă", + "close": "Închide" + }, + "close_pane_button": { + "close_this_pane": "Închide acest panou" + }, + "code_auto_read_only_size": { + "description": "Marchează pragul în care o notiță de o anumită dimensiune va fi afișată în mod de citire (pentru motive de performanță).", + "label": "Pragul de dimensiune pentru setarea modului de citire automat (la notițe de cod)", + "title": "Pragul de mod de citire automat", + "unit": "caractere" + }, + "code_buttons": { + "execute_button_title": "Execută scriptul", + "opening_api_docs_message": "Se deschide documentația API...", + "save_to_note_button_title": "Salvează în notiță", + "sql_console_saved_message": "Notița consolă SQL a fost salvată în {{note_path}}", + "trilium_api_docs_button_title": "Deschide documentația API pentru Trilium" + }, + "code_mime_types": { + "title": "Tipuri MIME disponibile în meniul derulant" + }, + "confirm": { + "also_delete_note": "Șterge și notița", + "are_you_sure_remove_note": "Doriți ștergerea notiței „{{title}}” din harta de relații?", + "cancel": "Anulează", + "confirmation": "Confirm", + "if_you_dont_check": "Dacă această opțiune nu este bifată, notița va fi ștearsă doar din harta de relații.", + "ok": "OK", + "close": "Închide" + }, + "consistency_checks": { + "find_and_fix_button": "Caută și repară probleme de consistență", + "finding_and_fixing_message": "Se caută și se repară problemele de consistență...", + "issues_fixed_message": "Problemele de consistență ar trebui să fie acum rezolvate.", + "title": "Verificări de consistență" + }, + "copy_image_reference_button": { + "button_title": "Copiază o referință către imagine în clipboard, poate fi inserată într-o notiță text." + }, + "create_pane_button": { + "create_new_split": "Crează o nouă diviziune" + }, + "database_anonymization": { + "choose_anonymization": "Puteți decide dacă oferiți o bază de date complet sau parțial anonimizată. Chiar și bazele de date complet anonimizate pot fi foarte utile, dar în unele cazuri bazele de date parțial anonimizate pot eficientiza procesul de identificare a bug-urilor și repararea acestora.", + "creating_fully_anonymized_database": "Se crează o copie complet anonimizată...", + "creating_lightly_anonymized_database": "Se crează o bază de date parțial anonimizată...", + "error_creating_anonymized_database": "Nu s-a putut crea o bază de date anonimizată, verificați log-urile din server pentru detalii", + "existing_anonymized_databases": "Baze de date anonimizate existente", + "full_anonymization": "Anonimizare completă", + "full_anonymization_description": "Această acțiune va crea o nouă copie a bazei de date și o va anonimiza (se șterge conținutul tuturor notițelor și se menține doar structura și câteva metainformații neconfidențiale) pentru a putea fi partajate online cu scopul de a depana anumite probleme fără a risca expunerea datelor personale.", + "light_anonymization": "Anonimizare parțială", + "light_anonymization_description": "Această acțiune va crea o copie a bazei de date și o va anonimiza parțial - mai exact se va șterge conținutul tuturor notițelor, dar titlurile și atributele vor rămâne. De asemenea, script-urile de front-end sau back-end și widget-urile personalizate vor rămâne și ele. Acest lucru oferă mai mult context pentru a depana probleme.", + "no_anonymized_database_yet": "Încă nu există nicio bază de date anonimizată.", + "save_fully_anonymized_database": "Salvează bază de date complet anonimizată", + "save_lightly_anonymized_database": "Salvează bază de date parțial anonimizată", + "successfully_created_fully_anonymized_database": "S-a creat cu succes o bază de date complet anonimizată în {{anonymizedFilePath}}", + "successfully_created_lightly_anonymized_database": "S-a creat cu succes o bază de date parțial anonimizată în {{anonymizedFilePath}}", + "title": "Bază de dată anonimizată" + }, + "database_integrity_check": { + "check_button": "Verifică integritatea bazei de date", + "checking_integrity": "Se verifică integritatea bazei de date...", + "description": "Se va verifica să nu existe coruperi ale bazei de date la nivelul SQLite. Poate dura ceva timp, în funcție de dimensiunea bazei de date.", + "integrity_check_failed": "Probleme la verificarea integrității: {{results}}", + "integrity_check_succeeded": "Verificarea integrității a fost făcută cu succes și nu a fost identificată nicio problemă.", + "title": "Verificarea integrității bazei de date" + }, + "debug": { + "access_info": "Pentru a accesa informații de depanare, executați interogarea și dați click pe „Afișează logurile din backend” din stânga-sus.", + "debug": "Depanare", + "debug_info": "Modul de depanare va afișa informații adiționale în consolă cu scopul de a ajuta la depanarea interogărilor complexe." + }, + "delete_label": { + "delete_label": "Șterge eticheta", + "label_name_placeholder": "denumirea etichetei", + "label_name_title": "Sunt permise caractere alfanumerice, underline și două puncte." + }, + "delete_note": { + "delete_matched_notes": "Șterge notițele găsite", + "delete_matched_notes_description": "Se vor șterge notițele găsite.", + "delete_note": "Șterge notița", + "erase_notes_instruction": "Pentru a șterge notițele permanent, se poate merge după ștergerea în opțiuni la secțiunea „Altele” și clic pe butonul „Elimină notițele șterse acum”.", + "undelete_notes_instruction": "După ștergere, se pot recupera din ecranul Schimbări recente." + }, + "delete_notes": { + "broken_relations_to_be_deleted": "Următoarele relații vor fi întrerupte și șterse ({{- relationCount}})", + "cancel": "Anulează", + "delete_all_clones_description": "Șterge și toate clonele (se pot recupera în ecranul Schimbări recente)", + "delete_notes_preview": "Previzualizare ștergerea notițelor", + "erase_notes_description": "Ștergerea obișnuită doar marchează notițele ca fiind șterse și pot fi recuperate (în ecranul Schimbări recente) pentru o perioadă de timp. Dacă se bifează această opțiune, notițele vor fi șterse imediat fără posibilitatea de a le recupera.", + "erase_notes_warning": "Șterge notițele permanent (nu se mai pot recupera), incluzând toate clonele. Va forța reîncărcarea aplicației.", + "no_note_to_delete": "Nicio notiță nu va fi ștearsă (doar clonele).", + "notes_to_be_deleted": "Următoarele notițe vor fi șterse ({{- noteCount}})", + "ok": "OK", + "deleted_relation_text": "Notița {{- note}} ce va fi ștearsă este referențiată de relația {{- relation}}, originând din {{- source}}.", + "close": "Închide" + }, + "delete_relation": { + "allowed_characters": "Se permit caractere alfanumerice, underline și două puncte.", + "delete_relation": "Șterge relația", + "relation_name": "denumirea relației" + }, + "delete_revisions": { + "all_past_note_revisions": "Toate reviziile anterioare ale notițelor găsite vor fi șterse. Notița propriu-zisă va fi intactă. În alte cuvinte, istoricul notiței va fi șters.", + "delete_note_revisions": "Șterge toate reviziile notițelor" + }, + "edit_button": { + "edit_this_note": "Editează această notiță" + }, + "editability_select": { + "always_editable": "Întotdeauna editabil", + "auto": "Automat", + "note_is_always_editable": "Notița este întotdeauna editabilă, indiferent de lungimea ei.", + "note_is_editable": "Notița este editabilă atât timp cât nu este prea lungă.", + "note_is_read_only": "Notița este doar pentru citire, poate fi editată prin intermediul unui buton.", + "read_only": "Doar pentru citire" + }, + "editable_code": { + "placeholder": "Scrieți conținutul notiței de cod aici..." + }, + "editable_text": { + "placeholder": "Scrieți conținutul notiței aici..." + }, + "edited_notes": { + "deleted": "(șters)", + "no_edited_notes_found": "Nu sunt încă notițe editate pentru această zi...", + "title": "Notițe editate" + }, + "empty": { + "enter_workspace": "Intrare spațiu de lucru „{{title}}”", + "open_note_instruction": "Deschideți o notiță scriind denumirea ei în caseta de mai jos sau selectați o notiță din ierarhie.", + "search_placeholder": "căutați o notiță după denumirea ei" + }, + "etapi": { + "actions": "Acțiuni", + "create_token": "Crează un token ETAPI nou", + "created": "Creat", + "default_token_name": "token nou", + "delete_token": "Șterge/dezactivează acest token", + "delete_token_confirmation": "Doriți ștergerea token-ului ETAPI „{{name}}”?", + "description": "ETAPI este un API REST utilizat pentru a accesa instanța de Trilium programatic, fără interfață grafică.", + "error_empty_name": "Denumirea token-ului nu poate fi goală", + "existing_tokens": "Token-uri existente", + "new_token_message": "Introduceți denumirea noului token", + "new_token_title": "Token ETAPI nou", + "no_tokens_yet": "Nu există încă token-uri. Clic pe butonul de deasupra pentru a crea una.", + "openapi_spec": "Specificația OpenAPI pentru ETAPI", + "swagger_ui": "UI-ul Swagger pentru ETAPI", + "rename_token": "Redenumește token-ul", + "rename_token_message": "Introduceți denumirea noului token", + "rename_token_title": "Redenumire token", + "see_more": "Vedeți mai multe detalii în {{- link_to_wiki}} și în {{- link_to_openapi_spec}} sau în {{- link_to_swagger_ui }}.", + "title": "ETAPI", + "token_created_message": "Copiați token-ul creat în clipboard. Trilium stochează token-ul ca hash așadar această valoare poate fi văzută doar acum.", + "token_created_title": "Token ETAPI creat", + "token_name": "Denumire token", + "wiki": "wiki" + }, + "execute_script": { + "example_1": "De exemplu, pentru a adăuga un șir de caractere la titlul unei notițe, se poate folosi acest mic script:", + "example_2": "Un exemplu mai complex ar fi ștergerea atributelor tuturor notițelor identificate:", + "execute_script": "Execută script", + "help_text": "Se pot executa script-uri simple pe toate notițele identificate." + }, + "export": { + "choose_export_type": "Selectați mai întâi tipul export-ului", + "close": "Închide", + "export": "Exportă", + "export_finished_successfully": "Export finalizat cu succes.", + "export_in_progress": "Export în curs: {{progressCount}}", + "export_note_title": "Exportă notița", + "export_status": "Starea exportului", + "export_type_single": "Doar această notiță fără descendenții ei", + "export_type_subtree": "Această notiță și toți descendenții ei", + "format_html_zip": "HTML în arhivă ZIP - recomandat deoarece păstrează toată formatarea", + "format_markdown": "Markdown - păstrează majoritatea formatării", + "format_opml": "OPML - format de interschimbare pentru editoare cu structură ierarhică (outline). Formatarea, imaginile și fișierele nu vor fi incluse.", + "opml_version_1": "OPML v1.0 - text simplu", + "opml_version_2": "OPML v2.0 - permite și HTML", + "format_html": "HTML - recomandat deoarece păstrează toata formatarea", + "format_pdf": "PDF - cu scopul de printare sau partajare." + }, + "fast_search": { + "description": "Căutarea rapidă dezactivează căutarea la nivel de conținut al notițelor cu scopul de a îmbunătăți performanța de căutare pentru baze de date mari.", + "fast_search": "Căutare rapidă" + }, + "file": { + "file_preview_not_available": "Previzualizarea fișierelor nu este disponibilă pentru acest format de fișier.", + "too_big": "Previzualizarea conține doar primele {{maxNumChars}} caractere din fișier din motive de performanță. Descărcați fișierul și deschideți-l extern pentru a-l putea vedea în întregime." + }, + "file_properties": { + "download": "Descarcă", + "file_size": "Dimensiunea fișierului", + "file_type": "Tipul fișierului", + "note_id": "ID-ul notiței", + "open": "Deschide", + "original_file_name": "Denumirea originală a fișierului", + "title": "Fișier", + "upload_failed": "Încărcarea a unei noi revizii ale fișierului a eșuat.", + "upload_new_revision": "Încarcă o nouă revizie", + "upload_success": "Noua revizie a fișierului a fost încărcată cu succes." + }, + "fonts": { + "apply_font_changes": "Pentru a aplica schimbările de font, click pe", + "font_family": "Familia de fonturi", + "fonts": "Fonturi", + "main_font": "Fontul principal", + "monospace_font": "Fontul monospace (pentru cod)", + "not_all_fonts_available": "Nu toate fonturile listate aici pot fi disponibile pe acest sistem.", + "note_detail_font": "Fontul pentru detaliile notițelor", + "note_tree_and_detail_font_sizing": "Dimensiunea arborelui și a fontului pentru detalii este relativă la dimensiunea fontului principal.", + "note_tree_font": "Fontul arborelui de notițe", + "reload_frontend": "reîncarcă interfața", + "size": "Mărime", + "theme_defined": "Definit de temă", + "generic-fonts": "Fonturi generice", + "handwriting-system-fonts": "Fonturi de sistem cu stil de scris de mână", + "monospace-system-fonts": "Fonturi de sistem monospațiu", + "sans-serif-system-fonts": "Fonturi de sistem fără serifuri", + "serif-system-fonts": "Fonturi de sistem cu serifuri", + "monospace": "Monospațiu", + "sans-serif": "Fără serifuri", + "serif": "Cu serifuri", + "system-default": "Fontul predefinit al sistemului" + }, + "global_menu": { + "about": "Despre Trilium Notes", + "advanced": "Opțiuni avansate", + "configure_launchbar": "Configurează bara de lansare", + "logout": "Deautentificare", + "menu": "Meniu", + "open_dev_tools": "Deschide uneltele de dezvoltare", + "open_new_window": "Deschide o nouă fereastră", + "open_search_history": "Deschide istoricul de căutare", + "open_sql_console": "Deschide consola SQL", + "open_sql_console_history": "Deschide istoricul consolei SQL", + "options": "Opțiuni", + "reload_frontend": "Reîncarcă interfața", + "reload_hint": "Reîncărcarea poate ajuta atunci când există ceva probleme vizuale fără a trebui repornită întreaga aplicație.", + "reset_zoom_level": "Resetează nivelul de zoom", + "show_backend_log": "Afișează log-ul din backend", + "show_help": "Afișează informații", + "show_hidden_subtree": "Afișează ierarhia ascunsă", + "show_shared_notes_subtree": "Afișează ierahia notițelor partajate", + "switch_to_desktop_version": "Schimbă la versiunea de desktop", + "switch_to_mobile_version": "Schimbă la versiunea de mobil", + "toggle_fullscreen": "Comută mod ecran complet", + "zoom": "Zoom", + "zoom_in": "Mărește", + "zoom_out": "Micșorează", + "show-cheatsheet": "Afișează ghidul rapid", + "toggle-zen-mode": "Mod zen" + }, + "heading_style": { + "markdown": "Stil Markdown", + "plain": "Simplu", + "title": "Stil titluri", + "underline": "Subliniat" + }, + "help": { + "activateNextTab": "activează următorul tab", + "activatePreviousTab": "activează tabul anterior", + "blockQuote": "începeți un rând cu > urmat de spațiu pentru un bloc de citat", + "bulletList": "* sau - urmat de spațiu pentru o listă punctată", + "close": "Închide", + "closeActiveTab": "închide tabul activ", + "collapseExpand": "LEFT, RIGHT - minimizează/expandează nodul", + "collapseSubTree": "minimizează subarborele", + "collapseWholeTree": "minimizează întregul arbore de notițe", + "copyNotes": "copiază notița activă (sau selecția curentă) în clipboard (utilizat pentru clonare)", + "createEditLink": "Ctrl+K - crează/editează legătură externă", + "createInternalLink": "crează legătură internă", + "createNoteAfter": "crează o nouă notiță după notița activă", + "createNoteInto": "crează o subnotiță în notița activă", + "creatingNotes": "Crearea notițelor", + "cutNotes": "decupează notița curentă (sau selecția curentă) în clipboard (utilizată pentru mutarea notițelor)", + "deleteNotes": "șterge notița/subarborele", + "editBranchPrefix": "editează prefixul a unei clone ale notiței active", + "editNoteTitle": "va sări de la arborele de notițe către titlul notiței. Enter de la titlul notiței va sări către editorul de text. Ctrl+. va sări înapoi de la editor către arborele de notițe.", + "editingNotes": "Editarea notițelor", + "followLink": "urmărește link-ul sub cursor", + "fullDocumentation": "Instrucțiuni (documentația completă se regăsește online)", + "goBackForwards": "mergi înapoi/înainte în istoric", + "goUpDown": "UP, DOWN - mergi sus/jos în lista de notițe", + "headings": "##, ###, #### etc. urmat de spațiu pentru titluri", + "inPageSearch": "caută în interiorul paginii", + "insertDateTime": "inserează data și timpul curente la poziția cursorului", + "jumpToParentNote": "Backspace - sari la pagina părinte", + "jumpToTreePane": "sari către arborele de notițe și scrolează către notița activă", + "markdownAutoformat": "Formatare în stil Markdown", + "moveNoteUpDown": "mută notița sus/jos în lista de notițe", + "moveNoteUpHierarchy": "mută notița mai sus în ierarhie", + "movingCloningNotes": "Mutarea/clonarea notițelor", + "multiSelectNote": "selectează multiplu notița de sus/jos", + "newTabNoteLink": "CTRL+clic - (sau clic mijlociu) pe o legătură către o notiță va deschide notița într-un tab nou", + "notSet": "nesetat", + "noteNavigation": "Navigarea printre notițe", + "numberedList": "1. sau 1) urmat de spațiu pentru o listă numerotată", + "onlyInDesktop": "Doar pentru desktop (aplicația Electron)", + "openEmptyTab": "deschide un tab nou", + "other": "Altele", + "pasteNotes": "lipește notița/notițele ca sub-notițe în notița activă (ce va muta sau clona în funcție dacă a fost copiată sau decupată în clipboard)", + "quickSearch": "sari la caseta de căutare rapidă", + "reloadFrontend": "reîncarcă interfața Trilium", + "scrollToActiveNote": "scrolează la notița activă", + "selectAllNotes": "selectează toate notițele din nivelul curent", + "selectNote": "Shift+Click - selectează notița", + "showDevTools": "afișează instrumentele de dezvoltatori", + "showJumpToNoteDialog": "afișează ecranul „Sari la”", + "showSQLConsole": "afișează consola SQL", + "tabShortcuts": "Scurtături pentru tab-uri", + "troubleshooting": "Unelte pentru depanare" + }, + "hide_floating_buttons_button": { + "button_title": "Ascunde butoanele" + }, + "highlights_list": { + "bg_color": "Text cu o culoare de fundal", + "bold": "Text îngroșat", + "color": "Text colorat", + "description": "Se pot personaliza elementele ce vor fi afișate în lista de evidențieri din panoul din dreapta:", + "italic": "Text italic (înclinat)", + "shortcut_info": "Se poate configura o scurtatură la tastatură pentru comutarea rapidă a panoului din dreapta (inclusiv lista de evidențieri) în Opțiuni -> Scurtături (denumirea „toggleRightPane”).", + "title": "Lista de evidențieri", + "underline": "Text subliniat", + "visibility_description": "Se poate ascunde lista de evidențieri la nivel de notiță prin adăugarea etichetei #hideHighlightWidget.", + "visibility_title": "Vizibilitatea listei de evidențieri" + }, + "i18n": { + "first-day-of-the-week": "Prima zi a săptămânii", + "language": "Limbă", + "monday": "Luni", + "sunday": "Duminică", + "title": "Localizare", + "formatting-locale": "Format dată și numere" + }, + "image_properties": { + "copy_reference_to_clipboard": "Copiază referință în clipboard", + "download": "Descarcă", + "file_size": "Dimensiune fișier", + "file_type": "Tip fișier", + "open": "Deschide", + "original_file_name": "Denumirea originală a fișierului", + "title": "Imagine", + "upload_failed": "Încărcarea a unei noi revizii ale imaginii a eșuat: {{message}}", + "upload_new_revision": "Încarcă o nouă revizie", + "upload_success": "O nouă revizie a fost încărcată cu succes." + }, + "images": { + "download_images_automatically": "Descarcă imaginile automat pentru utilizare fără conexiune la internet.", + "download_images_description": "Textul HTML inserat poate conține referințe către imagini online, Trilium le va identifica și va descărca acele imagini pentru a putea fi disponibile și fără o conexiune la internet.", + "enable_image_compression": "Activează compresia imaginilor", + "images_section_title": "Imagini", + "jpeg_quality_description": "Calitatea JPEG (10 - cea mai slabă calitate, 100 - cea mai bună calitate, se recomandă între 50 și 85)", + "max_image_dimensions": "Lungimea/lățimea maximă a unei imagini (imaginea va fi redimensionată dacă depășește acest prag).", + "max_image_dimensions_unit": "pixeli" + }, + "import": { + "chooseImportFile": "Selectați fișierul de importat", + "close": "Închide", + "codeImportedAsCode": "Importă fișiere identificate drept cod sursă (e.g. .json) drept notițe de tip cod dacă nu este clar din metainformații", + "explodeArchives": "Citește conținutul arhivelor .zip, .enex și .opml.", + "explodeArchivesTooltip": "Dacă această opțiune este bifată atunci Trilium va citi fișiere de tip .zip, .enex și .opml și va crea notițe din fișierele din interiorul acestor arhive. Dacă este nebifat, atunci Trilium va atașa arhiva propriu-zisă la notiță.", + "import": "Importă", + "importDescription": "Conținutul fișierelor selectate va fi importat ca subnotițe în", + "importIntoNote": "Importă în notiță", + "options": "Opțiuni", + "replaceUnderscoresWithSpaces": "Înlocuiește underline-ul cu spații în denumirea notițelor importate", + "safeImport": "Importare sigură", + "safeImportTooltip": "Fișierele de Trilium exportate în format .zip pot conține scripturi executabile ce pot avea un comportament malițios. Importarea sigură va dezactiva execuția automată a tuturor scripturilor importate. Debifați „Importare sigură” dacă arhiva importată conține scripturi executabile dorite și aveți încredere deplină în conținutul acestora.", + "shrinkImages": "Micșorare imagini", + "shrinkImagesTooltip": "

Dacă bifați această opțiune, Trilium va încerca să micșoreze imaginea importată prin scalarea și importarea ei, aspect ce poate afecta calitatea aparentă a imaginii. Dacă nu este bifat, imaginile vor fi importate fără nicio modificare.

Acest lucru nu se aplică la importuri de tip .zip cu metainformații deoarece se asumă că aceste fișiere sunt deja optimizate.

", + "textImportedAsText": "Importă HTML, Markdown și TXT ca notițe de tip text dacă este neclar din metainformații", + "failed": "Eroare la importare: {{message}}.", + "import-status": "Starea importului", + "in-progress": "Import în curs: {{progress}}", + "successful": "Import finalizat cu succes.", + "html_import_tags": { + "description": "Configurați ce etichete HTML să fie păstrate atunci când se importă notițe. Etichetele ce nu se află în această listă vor fi înlăturate la importul de date. Unele etichete (precum „script”) sunt înlăturate indiferent din motive de securitate.", + "placeholder": "Introduceți etichetele HTML, câte unul pe linie", + "reset_button": "Resetează la lista implicită", + "title": "Etichete HTML la importare" + } + }, + "include_archived_notes": { + "include_archived_notes": "Include notițele arhivate" + }, + "include_note": { + "box_size_full": "complet (căsuța va afișa întregul text)", + "box_size_medium": "mediu (~ 30 de rânduri)", + "box_size_prompt": "Dimensiunea căsuței notiței incluse:", + "box_size_small": "mică (~ 10 rânduri)", + "button_include": "Include notița Enter", + "dialog_title": "Includere notița", + "label_note": "Notiță", + "placeholder_search": "căutați notița după denumirea ei", + "close": "Închide" + }, + "info": { + "closeButton": "Închide", + "modalTitle": "Mesaj informativ", + "okButton": "OK" + }, + "inherited_attribute_list": { + "no_inherited_attributes": "Niciun atribut moștenit.", + "title": "Atribute moștenite" + }, + "jump_to_note": { + "search_button": "Caută în întregul conținut Ctrl+Enter", + "close": "Închide" + }, + "left_pane_toggle": { + "hide_panel": "Ascunde panoul", + "show_panel": "Afișează panoul" + }, + "limit": { + "limit": "Limită", + "take_first_x_results": "Obține doar primele X rezultate." + }, + "markdown_import": { + "dialog_title": "Importă Markdown", + "import_button": "Importă Ctrl+Enter", + "import_success": "Conținutul Markdown a fost importat în document.", + "modal_body_text": "Din cauza limitărilor la nivel de navigator, nu este posibilă citirea clipboard-ului din JavaScript. Inserați Markdown-ul pentru a-l importa în caseta de mai jos și dați clic pe butonul Import", + "close": "Închide" + }, + "max_content_width": { + "apply_changes_description": "Pentru a aplica schimbările de lățime a conținutului, dați click pe", + "default_description": "În mod implicit Trilium limitează lățimea conținutului pentru a îmbunătăți lizibilitatea pentru ferestrele maximizate pe ecrane late.", + "max_width_label": "Lungimea maximă a conținutului", + "max_width_unit": "pixeli", + "reload_button": "reîncarcă interfața", + "reload_description": "schimbări din opțiunile de afișare", + "title": "Lățime conținut" + }, + "mobile_detail_menu": { + "delete_this_note": "Șterge această notiță", + "error_cannot_get_branch_id": "Nu s-a putut obține branchId-ul pentru calea „{{notePath}}”", + "error_unrecognized_command": "Comandă nerecunoscută „{{command}}”", + "insert_child_note": "Inserează subnotiță" + }, + "move_note": { + "clone_note_new_parent": "clonează notița la noul părinte dacă notița are mai multe clone/ramuri (când nu este clar care ramură trebuie ștearsă)", + "move_note": "Mută notița", + "move_note_new_parent": "mută notița în noul părinte dacă notița are unul singur (ramura veche este ștearsă și o ramură nouă este creată în noul părinte)", + "nothing_will_happen": "nu se va întampla nimic dacă notița nu poate fi mutată la notița destinație (deoarece s-ar crea un ciclu în arbore)", + "on_all_matched_notes": "Pentru toate notițele găsite", + "target_parent_note": "notița părinte destinație", + "to": "la" + }, + "move_pane_button": { + "move_left": "Mută la stânga", + "move_right": "Mută la dreapta" + }, + "move_to": { + "dialog_title": "Mută notițele în...", + "error_no_path": "Nicio cale la care să poată fi mutate.", + "move_button": "Mută la notița selectată enter", + "move_success_message": "Notițele selectate au fost mutate în", + "notes_to_move": "Notițe de mutat", + "search_placeholder": "căutați notița după denumirea ei", + "target_parent_note": "Notița părinte destinație", + "close": "Închide" + }, + "native_title_bar": { + "disabled": "dezactivată", + "enabled": "activată", + "title": "Bară de titlu nativă (necesită repornirea aplicației)" + }, + "network_connections": { + "check_for_updates": "Verifică automat pentru actualizări", + "network_connections_title": "Conexiuni la rețea" + }, + "note_actions": { + "convert_into_attachment": "Convertește în atașament", + "delete_note": "Șterge notița", + "export_note": "Exportă notița", + "import_files": "Importă fișiere", + "note_attachments": "Atașamente notițe", + "note_source": "Sursa notiței", + "open_note_custom": "Deschide notiță personalizată", + "open_note_externally": "Deschide notița extern", + "open_note_externally_title": "Fișierul va fi deschis într-o aplicație externă și urmărită pentru modificări. Ulterior se va putea încărca versiunea modificată înapoi în Trilium.", + "print_note": "Imprimare notiță", + "re_render_note": "Reinterpretare notiță", + "save_revision": "Salvează o nouă revizie", + "search_in_note": "Caută în notiță", + "convert_into_attachment_failed": "Nu s-a putut converti notița „{{title}}”.", + "convert_into_attachment_successful": "Notița „{{title}}” a fost convertită în atașament.", + "convert_into_attachment_prompt": "Doriți convertirea notiței „{{title}}” într-un atașament al notiței părinte?", + "print_pdf": "Exportare ca PDF..." + }, + "note_erasure_timeout": { + "deleted_notes_erased": "Notițele șterse au fost eliminate permanent.", + "erase_deleted_notes_now": "Elimină notițele șterse acum", + "erase_notes_after": "Elimină notițele șterse după:", + "manual_erasing_description": "Se poate rula o eliminare manuală (fără a lua în considerare timpul definit mai sus):", + "note_erasure_description": "Notițele șterse (precum și atributele, reviziile) sunt prima oară doar marcate drept șterse și este posibil să fie recuperate din ecranul Notițe recente. După o perioadă de timp, notițele șterse vor fi „eliminate”, caz în care conținutul lor nu se poate recupera. Această setare permite configurarea duratei de timp dintre ștergerea și eliminarea notițelor.", + "note_erasure_timeout_title": "Timpul de eliminare automată a notițelor șterse" + }, + "note_info_widget": { + "calculate": "calculează", + "created": "Creată la", + "modified": "Modificată la", + "note_id": "ID-ul notiței", + "note_size": "Dimensiunea notiței", + "note_size_info": "Dimensiunea notiței reprezintă o aproximare a cerințelor de stocare ale acestei notițe. Ia în considerare conținutul notiței dar și ale reviziilor sale.", + "subtree_size": "(dimensiunea sub-arborelui: {{size}} în {{count}} notițe)", + "title": "Informații despre notiță", + "type": "Tip" + }, + "note_launcher": { + "this_launcher_doesnt_define_target_note": "Acesată scurtătură nu definește o notiță-destinație." + }, + "note_map": { + "collapse": "Micșorează la dimensiunea normală", + "open_full": "Expandează la maximum", + "title": "Harta notițelor", + "fix-nodes": "Fixează nodurile", + "link-distance": "Distanța dintre legături" + }, + "note_paths": { + "archived": "Arhivat", + "clone_button": "Clonează notița într-o nouă locație...", + "intro_not_placed": "Notița n-a fost plasată încă în arborele de notițe.", + "intro_placed": "Notița este plasată în următoarele căi:", + "outside_hoisted": "Această cale se află în afara notiței focalizate și este necesară defocalizarea.", + "search": "Caută", + "title": "Căile notiței" + }, + "note_properties": { + "info": "Informații", + "this_note_was_originally_taken_from": "Această notiță a fost preluată original de la:" + }, + "note_type_chooser": { + "modal_body": "Selectați tipul notiței/șablonul pentru noua notiță:", + "modal_title": "Selectați tipul notiței", + "templates": "Șabloane:", + "close": "Închide" + }, + "onclick_button": { + "no_click_handler": "Butonul „{{componentId}}” nu are nicio acțiune la clic definită" + }, + "options_widget": { + "options_change_saved": "Schimbarea opțiunilor a fost înregistrată.", + "options_status": "Starea opțiunilor" + }, + "order_by": { + "asc": "Ascendent (implicit)", + "children_count": "Numărul subnotițelor", + "content_and_attachments_and_revisions_size": "Dimensiunea conținutului notiței incluzând atașamentele și reviziile", + "content_and_attachments_size": "Dimensiunea conținutului notiței incluzând atașamente", + "content_size": "Dimensiunea conținutului notiței", + "date_created": "Data creării", + "date_modified": "Data ultimei modificări", + "desc": "Descendent", + "order_by": "Ordonează după", + "owned_label_count": "Numărul de etichete", + "owned_relation_count": "Numărul de relații", + "parent_count": "Numărul de clone", + "random": "Ordine aleatorie", + "relevancy": "Relevanță (implicit)", + "revision_count": "Numărul de revizii", + "target_relation_count": "Numărul de relații către notiță", + "title": "Titlu" + }, + "owned_attribute_list": { + "owned_attributes": "Atribute proprii" + }, + "password": { + "alert_message": "Aveți grijă să nu uitați parola. Parola este utilizată pentru a accesa interfața web și pentru a cripta notițele protejate. Dacă uitați parola, toate notițele protejate se vor pierde pentru totdeauna.", + "change_password": "Schimbă parola", + "change_password_heading": "Schimbarea parolei", + "for_more_info": "pentru mai multe informații.", + "heading": "Parolă", + "new_password": "Parolă nouă", + "new_password_confirmation": "Confirmarea noii parole", + "old_password": "Parola veche", + "password_changed_success": "Parola a fost schimbată. Trilium se va reîncărca după apăsarea butonului OK.", + "password_mismatch": "Noile parole nu coincid.", + "protected_session_timeout": "Timpul de expirare a sesiunii protejate", + "protected_session_timeout_description": "Timpul de expirare a sesiunii protejate este o perioadă de timp după care sesiunea protejată este ștearsă din memoria navigatorului. Aceasta este măsurată de la timpul ultimei interacțiuni cu notițele protejate. Vezi", + "protected_session_timeout_label": "Timpul de expirare a sesiunii protejate:", + "reset_confirmation": "Prin resetarea parolei se va pierde pentru totdeauna accesul la notițele protejate existente. Sigur doriți resetarea parolei?", + "reset_link": "click aici pentru a o reseta.", + "reset_success_message": "Parola a fost resetată. Setați o nouă parolă", + "set_password": "Setează parola", + "set_password_heading": "Schimbarea parolei", + "wiki": "wiki" + }, + "password_not_set": { + "body1": "Notițele protejate sunt criptate utilizând parola de utilizator, dar nu a fost setată nicio parolă.", + "body2": "Pentru a putea să protejați notițe, clic aici pentru a deschide ecranul de opțiuni și pentru a seta parola.", + "title": "Parola nu este setată", + "close": "Închide" + }, + "promoted_attributes": { + "add_new_attribute": "Adaugă un nou atribut", + "open_external_link": "Deschide legătură externă", + "promoted_attributes": "Atribute promovate", + "remove_this_attribute": "Elimină acest atribut", + "unknown_attribute_type": "Tip de atribut necunoscut „{{type}}”", + "unknown_label_type": "Tip de etichetă necunoscut „{{type}}”", + "url_placeholder": "http://siteweb...", + "unset-field-placeholder": "nesetat" + }, + "prompt": { + "defaultTitle": "Aviz", + "ok": "OK enter", + "title": "Aviz", + "close": "Închide" + }, + "protected_session": { + "enter_password_instruction": "Afișarea notițelor protejate necesită introducerea parolei:", + "start_session_button": "Deschide sesiunea protejată enter", + "started": "Sesiunea protejată este activă.", + "wrong_password": "Parolă greșită.", + "protecting-finished-successfully": "Protejarea a avut succes.", + "protecting-in-progress": "Protejare în curs: {{count}}", + "protecting-title": "Stare protejare", + "unprotecting-title": "Stare deprotejare", + "unprotecting-finished-successfully": "Deprotejarea a avut succes.", + "unprotecting-in-progress-count": "Deprotejare în curs: {{count}}" + }, + "protected_session_password": { + "close_label": "Închide", + "form_label": "Pentru a putea continua cu acțiunea cerută este nevoie să fie pornită sesiunea protejată prin introducerea parolei:", + "help_title": "Informații despre notițe protejate", + "modal_title": "Sesiune protejată", + "start_button": "Pornește sesiunea protejată enter" + }, + "protected_session_status": { + "active": "Sesiunea protejată este activă. Clic pentru a închide sesiunea protejată.", + "inactive": "Clic pentru a porni sesiunea protejată" + }, + "recent_changes": { + "confirm_undelete": "Doriți să restaurați această notiță și subnotițele ei?", + "deleted_notes_message": "Notițele șterse au fost eliminate.", + "erase_notes_button": "Elimină notițele șterse", + "no_changes_message": "Încă nicio schimbare...", + "title": "Modificări recente", + "undelete_link": "restaurare", + "close": "Închide" + }, + "relation_map": { + "cannot_match_transform": "Nu s-a putut identifica transformarea: {{transform}}", + "click_on_canvas_to_place_new_note": "Clic pentru a plasa o nouă notiță", + "confirm_remove_relation": "Doriți ștergerea relației?", + "connection_exists": "Deja există conexiunea „{{name}}” dintre aceste notițe.", + "default_new_note_title": "notiță nouă", + "edit_title": "Editare titlu", + "enter_new_title": "Introduceți noul titlu:", + "enter_title_of_new_note": "Introduceți titlul noii notițe", + "note_already_in_diagram": "Notița „{{title}}” deja se află pe diagramă.", + "note_not_found": "Notița „{{noteId}}” nu a putut fi găsită!", + "open_in_new_tab": "Deschide într-un tab nou", + "remove_note": "Șterge notița", + "remove_relation": "Șterge relația", + "rename_note": "Redenumește notița", + "specify_new_relation_name": "Introduceți denumirea noii relații (caractere permise: alfanumerice, două puncte și underline):", + "start_dragging_relations": "Glisați relațiile de aici peste o altă notiță." + }, + "relation_map_buttons": { + "create_child_note_title": "Crează o subnotiță și adaug-o în harta relațiilor", + "reset_pan_zoom_title": "Resetează poziția și zoom-ul la valorile implicite", + "zoom_in_title": "Mărire", + "zoom_out_title": "Micșorare" + }, + "rename_label": { + "name_title": "Caracterele permise sunt alfanumerice, underline și două puncte.", + "new_name_placeholder": "noul nume", + "old_name_placeholder": "vechiul nume", + "rename_label": "Redenumește eticheta", + "rename_label_from": "Redenumește eticheta de la", + "to": "La" + }, + "rename_note": { + "api_docs": "Vedeți documentația API pentru notițe și proprietăților dateCreatedObj / utcDateCreatedObj pentru detalii.", + "click_help_icon": "Clic pe iconița de ajutor din partea dreapta pentru a vedea toate opțiunile", + "evaluated_as_js_string": "Valoare introdusă este evaluată prin JavaScript și poate fi astfel îmbogățită cu conținut dinamic prin intermediul variabilei injectate note (notița ce este redenumită). Exemple:", + "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - notițele găsite sunt prefixate cu luna și ziua creării notiței", + "example_new_title": "NOU: ${note.title} - notițele identificate sunt prefixate cu „NOU: ”", + "example_note": "Notiță - toate notițele identificate sunt redenumite în „Notiță”", + "new_note_title": "noul titlu al notiței", + "rename_note": "Redenumește notița", + "rename_note_title_to": "Redenumește notița în" + }, + "rename_relation": { + "allowed_characters": "Se permit caractere alfanumerice, underline și două puncte.", + "new_name": "noul nume", + "old_name": "vechiul nume", + "rename_relation": "Redenumește relația", + "rename_relation_from": "Redenumește relația din", + "to": "În" + }, + "render": { + "note_detail_render_help_1": "Această notă informativă este afișată deoarece această notiță de tip „Randare HTML” nu are relația necesară pentru a funcționa corespunzător.", + "note_detail_render_help_2": "Notița de tipul „Render HTML” este utilizată pentru scriptare. Pe scurt, se folosește o notiță de tip cod HTML (opțional cu niște JavaScript) și această notiță o va randa. Pentru a funcționa, trebuie definită o relație denumită „renderNote” ce indică notița HTML de randat." + }, + "revisions": { + "confirm_delete": "Doriți ștergerea acestei revizii?", + "confirm_delete_all": "Doriți ștergerea tuturor reviziilor acestei notițe?", + "confirm_restore": "Doriți restaurarea acestei revizii? Acest lucru va suprascrie titlul și conținutul curent cu cele ale acestei revizii.", + "delete_all_button": "Șterge toate reviziile", + "delete_all_revisions": "Șterge toate reviziile acestei notițe", + "delete_button": "Şterge", + "download_button": "Descarcă", + "file_size": "Dimensiune fișier:", + "help_title": "Informații despre reviziile notițelor", + "mime": "MIME:", + "no_revisions": "Nu există încă nicio revizie pentru această notiță...", + "note_revisions": "Revizii ale notiței", + "preview": "Previzualizare:", + "preview_not_available": "Nu este disponibilă o previzualizare pentru acest tip de notiță.", + "restore_button": "Restaurează", + "revision_deleted": "Revizia notiței a fost ștearsă.", + "revision_last_edited": "Revizia a fost ultima oară modificată pe {{date}}", + "revision_restored": "Revizia notiței a fost restaurată.", + "revisions_deleted": "Notița reviziei a fost ștearsă.", + "maximum_revisions": "Numărul maxim de revizii pentru notița curentă: {{number}}.", + "settings": "Setări revizii ale notițelor", + "snapshot_interval": "Intervalul de creare a reviziilor pentru notițe: {{seconds}}s.", + "close": "Închide" + }, + "revisions_button": { + "note_revisions": "Revizii ale notiței" + }, + "revisions_snapshot_interval": { + "note_revisions_snapshot_description": "Intervalul de salvare a reviziilor este timpul după care se crează o nouă revizie a unei notițe. Vedeți wiki-ul pentru mai multe informații.", + "note_revisions_snapshot_interval_title": "Intervalul de salvare a reviziilor", + "snapshot_time_interval_label": "Intervalul de salvare a reviziilor:" + }, + "ribbon": { + "edited_notes_message": "Tab-ul panglicii „Notițe editate” se va deschide automat pentru notițele zilnice", + "promoted_attributes_message": "Tab-ul panglicii „Atribute promovate” se va deschide automat dacă pentru notița curentă există astfel de atribute", + "widgets": "Widget-uri ale panglicii" + }, + "script_executor": { + "execute_query": "Execută interogarea", + "execute_script": "Execută scriptul", + "query": "Interogare", + "script": "Script" + }, + "search_definition": { + "action": "acțiune", + "actions_executed": "Acțiunile au fost executate.", + "add_search_option": "Adaugă opțiune de căutare:", + "ancestor": "ascendent", + "debug": "depanare", + "debug_description": "Modul de depanare va afișa informații adiționale în consolă pentru a ajuta la depanarea interogărilor complexe", + "fast_search": "căutare rapidă", + "fast_search_description": "Căutarea rapidă dezactivează căutarea la nivel de conținut al notițelor cu scopul de a îmbunătăți performanța de căutare pentru baze de date mari.", + "include_archived": "include arhivate", + "include_archived_notes_description": "Notițele arhivate sunt excluse în mod implicit din rezultatele de căutare, această opțiune le include.", + "limit": "limită", + "limit_description": "Limitează numărul de rezultate", + "order_by": "ordonează după", + "save_to_note": "Salvează în notiță", + "search_button": "Căutare Enter", + "search_execute": "Caută și execută acțiunile", + "search_note_saved": "Notița de căutare a fost salvată în {{- notePathTitle}}", + "search_parameters": "Parametrii de căutare", + "search_script": "script de căutare", + "search_string": "șir de căutat", + "unknown_search_option": "Opțiune de căutare necunoscută „{{searchOptionName}}”" + }, + "search_engine": { + "baidu": "Baidu", + "bing": "Bing", + "custom_name_label": "Denumirea motorului de căutare personalizat", + "custom_name_placeholder": "Personalizați denumirea motorului de căutare", + "custom_search_engine_info": "Un motor de căutare personalizat necesită un nume și un URL. Dacă aceastea nu sunt setate, atunci DuckDuckGo va fi folosit ca motor implicit.", + "custom_url_label": "URL-ul motorului de căutare trebuie să includă „{keyword}” ca substituent pentru termenul căutat.", + "custom_url_placeholder": "Personalizați URL-ul motorului de căutare", + "duckduckgo": "DuckDuckGo", + "google": "Google", + "predefined_templates_label": "Motoare de căutare predefinite", + "save_button": "Salvează", + "title": "Motor de căutare" + }, + "search_script": { + "description1": "Scripturile de căutare permit definirea rezultatelor de căutare prin rularea unui script. Acest lucru oferă flexibilitatea maximă, atunci când căutarea obișnuită nu este suficientă.", + "description2": "Scriptul de căutare trebuie să fie de tipul „cod” și subtipul „JavaScript (backend)”. Scriptul trebuie să returneze un vector de ID-uri de notiță sau notițele propriu-zise.", + "example_code": "// 1. filtrăm rezultatele inițiale utilizând căutarea obișnuită\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. aplicăm criteriile de căutare personalizate\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", + "example_title": "Vedeți acest exemplu:", + "note": "De remarcat că nu se pot utiliza simultan atât caseta de căutare, cât și script-ul de căutare.", + "placeholder": "căutați notița după denumirea ei", + "title": "Script de căutare:" + }, + "search_string": { + "also_see": "vedeți și", + "complete_help": "informații complete despre sintaxa de căutare", + "error": "Eroare la căutare: {{error}}", + "full_text_search": "Introduceți orice text pentru a căuta în conținutul notițelor", + "label_abc": "reîntoarce notițele cu eticheta „abc”", + "label_date_created": "notițe create în ultima lună", + "label_rock_or_pop": "doar una din etichete trebuie să fie prezentă", + "label_rock_pop": "găsește notițe care au atât eticheta „rock”, cât și „pop”", + "label_year": "găsește notițe ce au eticheta „an” cu valoarea 2019", + "label_year_comparison": "comparații numerice (de asemenea >, >=, <).", + "placeholder": "cuvinte cheie pentru căutarea în conținut, #etichetă = valoare...", + "search_syntax": "Sintaxa de căutare", + "title_column": "Textul de căutat:", + "search_prefix": "Căutare:" + }, + "shortcuts": { + "action_name": "Denumirea acțiunii", + "confirm_reset": "Confirmați resetarea tuturor scurtăturilor de la tastatură la valoriile implicite?", + "default_shortcuts": "Scurtături implicite", + "description": "Descriere", + "electron_documentation": "Vedeți documentația Electron pentru modificatorii disponibili și codurile pentru taste.", + "keyboard_shortcuts": "Scurtături de la tastatură", + "multiple_shortcuts": "Mai multe scurtături pentru aceeași acțiune pot fi separate prin virgulă.", + "reload_app": "Reîncărcați aplicația pentru a aplica modificările", + "set_all_to_default": "Setează toate scurtăturile la valorile implicite", + "shortcuts": "Scurtături", + "type_text_to_filter": "Scrieți un text pentru a filtra scurtăturile..." + }, + "similar_notes": { + "no_similar_notes_found": "Nu s-a găsit nicio notiță similară.", + "title": "Notițe similare" + }, + "sort_child_notes": { + "ascending": "ascendent", + "date_created": "data creării", + "date_modified": "data modificării", + "descending": "descendent", + "folders": "Dosare", + "natural_sort": "Ordonare naturală", + "natural_sort_language": "Limba pentru ordonare naturală", + "sort": "Ordonare Enter", + "sort_children_by": "Ordonează subnotițele după...", + "sort_folders_at_top": "ordonează dosarele primele", + "sort_with_respect_to_different_character_sorting": "ordonează respectând regulile de sortare și clasificare diferite în funcție de limbă și regiune.", + "sorting_criteria": "Criterii de ordonare", + "sorting_direction": "Direcția de ordonare", + "the_language_code_for_natural_sort": "Codul limbii pentru ordonarea naturală, e.g. „zn-CN” pentru chineză.", + "title": "titlu", + "close": "Închide" + }, + "spellcheck": { + "available_language_codes_label": "Coduri de limbă disponibile:", + "description": "Aceste opțiuni se aplică doar pentru aplicația de desktop, navigatoarele web folosesc propriile corectoare ortografice.", + "enable": "Activează corectorul ortografic", + "language_code_label": "Codurile de limbă", + "language_code_placeholder": "de exemplu „en-US”, „de-AT”", + "multiple_languages_info": "Mai multe limbi pot fi separate prin virgulă, e.g. \"en-US, de-DE, cs\".", + "title": "Corector ortografic", + "restart-required": "Schimbările asupra setărilor corectorului ortografic vor fi aplicate după restartarea aplicației." + }, + "sync": { + "fill_entity_changes_button": "Completează înregistrările de schimbare ale entităților", + "filling_entity_changes": "Se completează înregistrările de schimbare ale entităților...", + "force_full_sync_button": "Forțează sincronizare completă", + "full_sync_triggered": "S-a activat o sincronizare completă", + "sync_rows_filled_successfully": "Rândurile de sincronizare s-au completat cu succes", + "title": "Sincronizare", + "failed": "Eroare la sincronizare: {{message}}", + "finished-successfully": "Sincronizarea a avut succes." + }, + "sync_2": { + "config_title": "Configurația sincronizării", + "handshake_failed": "Comunicarea cu serverul de sincronizare a eșuat, eroare: {{message}}", + "help": "Informații", + "note": "Notiță", + "note_description": "Dacă lăsați câmpul de proxy necompletat, proxy-ul de sistem va fi utilizat (se aplică doar pentru aplicația desktop).", + "proxy_label": "Server-ul proxy utilizat pentru sincronizare (opțional)", + "save": "Salvează", + "server_address": "Adresa instanței de server", + "special_value_description": "O altă valoare specială este noproxy ce ignoră proxy-ul de sistem și respectă NODE_TLS_REJECT_UNAUTHORIZED.", + "test_button": "Probează sincronizarea", + "test_description": "Această opțiune va testa conexiunea și comunicarea cu serverul de sincronizare. Dacă serverul de sincronizare nu este inițializat, acest lucru va rula și o sincronizare cu documentul local.", + "test_title": "Probează sincronizarea", + "timeout": "Timp limită de sincronizare", + "timeout_unit": "milisecunde" + }, + "table_of_contents": { + "description": "Tabela de conținut va apărea în notițele de tip text atunci când notița are un număr de titluri mai mare decât cel definit. Acest număr se poate personaliza:", + "unit": "titluri", + "disable_info": "De asemenea se poate dezactiva tabela de conținut setând o valoare foarte mare.", + "shortcut_info": "Se poate configura și o scurtatură pentru a comuta rapid vizibilitatea panoului din dreapta (inclusiv tabela de conținut) în Opțiuni -> Scurtături (denumirea „toggleRightPane”).", + "title": "Tabelă de conținut" + }, + "text_auto_read_only_size": { + "description": "Marchează pragul în care o notiță de o anumită dimensiune va fi afișată în mod de citire (pentru motive de performanță).", + "label": "Pragul de dimensiune pentru setarea modului de citire automat (la notițe text)", + "title": "Pragul de mod de citire automat", + "unit": "caractere" + }, + "theme": { + "auto_theme": "Temă auto (se adaptează la schema de culori a sistemului)", + "dark_theme": "Temă întunecată", + "light_theme": "Temă luminoasă", + "triliumnext": "TriliumNext Beta (se adaptează la schema de culori a sistemului)", + "triliumnext-light": "TriliumNext Beta (luminoasă)", + "triliumnext-dark": "TriliumNext Beta (întunecată)", + "override_theme_fonts_label": "Suprascrie fonturile temei", + "theme_label": "Temă", + "title": "Tema aplicației", + "layout": "Aspect", + "layout-horizontal-description": "bara de lansare se află sub bara de taburi, bara de taburi este pe toată lungimea.", + "layout-horizontal-title": "Orizontal", + "layout-vertical-title": "Vertical", + "layout-vertical-description": "bara de lansare se află pe stânga (implicit)" + }, + "toast": { + "critical-error": { + "message": "O eroare critică a apărut ce previne pornirea aplicația de client:\n\n{{message}}\n\nAcest lucru este cauzat cel mai probabil de un script care a eșuat în mod neașteptat. Încercați rularea aplicației în modul de siguranță și ulterior remediați problema.", + "title": "Eroare critică" + }, + "widget-error": { + "title": "Eroare la inițializarea unui widget", + "message-custom": "Widget-ul personalizat din notița cu ID-ul „{{id}}”, întitulată ”{{title}}” nu a putut fi inițializată din cauza:\n\n{{message}}", + "message-unknown": "Un widget necunoscut nu a putut fi inițializat din cauza:\n\n{{message}}" + }, + "bundle-error": { + "title": "Eroare la încărcarea unui script personalizat", + "message": "Scriptul din notița cu ID-ul „{{id}}”, întitulată „{{title}}” nu a putut fi executată din cauza:\n\n{{message}}" + } + }, + "tray": { + "enable_tray": "Activează system tray-ul (este necesară repornirea aplicației pentru a avea efect)", + "title": "Tray-ul de sistem" + }, + "update_available": { + "update_available": "Actualizare disponibilă" + }, + "update_label_value": { + "help_text": "Pentru toate notițele găsite, schimbă valoarea etichetei existente.", + "help_text_note": "Se poate apela această metodă și fără o valoare, caz în care eticheta va fi atribuită notiței fără o valoare.", + "label_name_placeholder": "denumirea etichetei", + "label_name_title": "Sunt permise doar caractere alfanumerice, underline și două puncte.", + "new_value_placeholder": "valoarea nouă", + "to_value": "la valoarea", + "update_label_value": "Actualizează valoarea etichetei" + }, + "update_relation_target": { + "allowed_characters": "Sunt permise doar caractere alfanumerice, underline și două puncte.", + "change_target_note": "schimbă notița-țintă a unei relații existente", + "on_all_matched_notes": "Pentru toate notițele găsite:", + "relation_name": "denumirea relației", + "target_note": "notița destinație", + "to": "la", + "update_relation": "Actualizează relația", + "update_relation_target": "Actualizează ținta relației" + }, + "upload_attachments": { + "choose_files": "Selectați fișierele", + "files_will_be_uploaded": "Fișierele vor fi încărcate ca atașamente în", + "options": "Opțuni", + "shrink_images": "Micșorează imaginile", + "tooltip": "Dacă această opțiune este bifată, Trilium va încerca micșorarea imaginilor încărcate prin scalarea și optimizarea lor, aspect ce va putea afecta calitatea imaginilor. Dacă nu este bifată, imaginile vor fi încărcate fără nicio schimbare.", + "upload": "Încărcare", + "upload_attachments_to_note": "Încarcă atașamentele la notiță", + "close": "Închide" + }, + "vacuum_database": { + "button_text": "Compactează baza de date", + "database_vacuumed": "Baza de date a fost curățată", + "description": "Va reconstrui baza de date cu scopul de a-i micșora dimensiunea. Datele nu vor fi afectate.", + "title": "Compactarea bazei de date", + "vacuuming_database": "Baza de date este în curs de compactare..." + }, + "vim_key_bindings": { + "enable_vim_keybindings": "Permite utilizarea combinațiilor de taste în stil Vim pentru notițele de tip cod (fără modul ex)", + "use_vim_keybindings_in_code_notes": "Combinații de taste Vim" + }, + "web_view": { + "create_label": "Pentru a începe, creați o etichetă cu adresa URL de încorporat, e.g. #webViewSrc=\"https://www.google.com\"", + "embed_websites": "Notițele de tip „Vizualizare web” permit încorporarea site-urilor web în Trilium.", + "web_view": "Vizualizare web" + }, + "wrap_lines": { + "enable_line_wrap": "Activează trecerea automată pe rândul următor (poate necesita o reîncărcare a interfeței pentru a avea efect)", + "wrap_lines_in_code_notes": "Trecerea automată pe rândul următor în notițe de cod" + }, + "zoom_factor": { + "description": "Zoom-ul poate fi controlat și prin intermediul scurtăturilor CTRL+- and CTRL+=.", + "title": "Factorul de zoom (doar pentru versiunea desktop)" + }, + "zpetne_odkazy": { + "backlink": "{{count}} legături de retur", + "backlinks": "{{count}} legături de retur", + "relation": "relație" + }, + "svg_export_button": { + "button_title": "Exportă diagrama ca SVG" + }, + "note-map": { + "button-link-map": "Harta legăturilor", + "button-tree-map": "Harta ierarhiei" + }, + "tree-context-menu": { + "advanced": "Opțiuni avansate", + "apply-bulk-actions": "Aplică acțiuni în masă", + "clone-to": "Clonare în...", + "collapse-subtree": "Minimizează subnotițele", + "convert-to-attachment": "Convertește în atașament", + "copy-clone": "Copiază/clonează", + "copy-note-path-to-clipboard": "Copiază calea notiței în clipboard", + "cut": "Decupează", + "delete": "Șterge", + "duplicate": "Dublifică", + "edit-branch-prefix": "Editează prefixul ramurii", + "expand-subtree": "Expandează subnotițele", + "export": "Exportă", + "import-into-note": "Importă în notiță", + "insert-child-note": "Inserează subnotiță", + "insert-note-after": "Inserează după notiță", + "move-to": "Mutare la...", + "open-in-a-new-split": "Deschide în lateral", + "open-in-a-new-tab": "Deschide în tab nou Ctrl+Clic", + "paste-after": "Lipește după notiță", + "paste-into": "Lipește în notiță", + "protect-subtree": "Protejează ierarhia", + "recent-changes-in-subtree": "Schimbări recente în ierarhie", + "search-in-subtree": "Caută în ierarhie", + "sort-by": "Ordonare după...", + "unprotect-subtree": "Deprotejează ierarhia", + "hoist-note": "Focalizează notița", + "unhoist-note": "Defocalizează notița", + "converted-to-attachments": "{{count}} notițe au fost convertite în atașamente.", + "convert-to-attachment-confirm": "Doriți convertirea notițelor selectate în atașamente ale notiței părinte?" + }, + "shared_info": { + "help_link": "Pentru informații vizitați wiki-ul.", + "shared_locally": "Această notiță este partajată local la", + "shared_publicly": "Această notiță este partajată public la" + }, + "note_types": { + "book": "Colecție", + "canvas": "Schiță", + "code": "Cod sursă", + "mermaid-diagram": "Diagramă Mermaid", + "mind-map": "Hartă mentală", + "note-map": "Hartă notițe", + "relation-map": "Hartă relații", + "render-note": "Randare notiță", + "saved-search": "Căutare salvată", + "text": "Text", + "web-view": "Vizualizare web", + "doc": "Document", + "file": "Fișier", + "image": "Imagine", + "launcher": "Scurtătură", + "widget": "Widget", + "confirm-change": "Nu se recomandă schimbarea tipului notiței atunci când ea are un conținut. Procedați oricum?", + "geo-map": "Hartă geografică", + "beta-feature": "Beta", + "task-list": "Listă de sarcini" + }, + "protect_note": { + "toggle-off": "Deprotejează notița", + "toggle-off-hint": "Notița este protejată, click pentru a o deproteja", + "toggle-on": "Protejează notița", + "toggle-on-hint": "Notița nu este protejată, clic pentru a o proteja" + }, + "shared_switch": { + "inherited": "Nu se poate înlătura partajarea deoarece notița este partajată prin moștenirea de la o notiță părinte.", + "shared": "Partajată", + "shared-branch": "Această notiță există doar ca o notiță partajată, anularea partajării ar cauza ștergerea ei. Sigur doriți ștergerea notiței?", + "toggle-off-title": "Anulează partajarea notițeii", + "toggle-on-title": "Partajează notița" + }, + "template_switch": { + "template": "Șablon", + "toggle-off-hint": "Înlătură notița ca șablon", + "toggle-on-hint": "Marchează notița drept șablon" + }, + "open-help-page": "Deschide pagina de informații", + "find": { + "match_words": "doar cuvinte întregi", + "case_sensitive": "ține cont de majuscule", + "replace_all": "Înlocuiește totul", + "replace_placeholder": "Înlocuiește cu...", + "replace": "Înlocuiește", + "find_placeholder": "Căutați în text..." + }, + "highlights_list_2": { + "options": "Setări", + "title": "Listă de evidențieri" + }, + "note_icon": { + "change_note_icon": "Schimbă iconița notiței", + "category": "Categorie:", + "reset-default": "Resetează la iconița implicită", + "search": "Căutare:" + }, + "show_highlights_list_widget_button": { + "show_highlights_list": "Afișează lista de evidențieri" + }, + "show_toc_widget_button": { + "show_toc": "Afișează cuprinsul" + }, + "sync_status": { + "connected_no_changes": "

Conectat la server-ul de sincronizare.
Toate modificările au fost deja sincronizate.

Clic pentru a forța o sincronizare.

", + "connected_with_changes": "

Conectat la server-ul de sincronizare.
Există modificări nesincronizate.

Clic pentru a rula o sincronizare.

", + "disconnected_no_changes": "

Nu s-a putut stabili conexiunea la server-ul de sincronizare.
Toate modificările cunoscute au fost deja sincronizate.

Clic pentru a reîncerca sincronizarea.

", + "disconnected_with_changes": "

Nu s-a putut realiza conexiunea la server-ul de sincronizare.
Există modificări nesincronizate.

Clic pentru a rula o sincronizare.

", + "in_progress": "Sincronizare cu server-ul în curs.", + "unknown": "

Starea sincronizării va fi cunoscută după o încercare de sincronizare.

Clic pentru a rula sincronizarea acum.

" + }, + "quick-search": { + "more-results": "... și încă {{number}} rezultate.", + "no-results": "Niciun rezultat găsit", + "placeholder": "Căutare rapidă", + "searching": "Se caută...", + "show-in-full-search": "Afișează în căutare completă" + }, + "note_tree": { + "automatically-collapse-notes": "Minimează automat notițele", + "automatically-collapse-notes-title": "Notițele vor fi minimizate automat după o perioadă de inactivitate pentru a simplifica ierarhia notițelor.", + "collapse-title": "Minimizează ierarhia de notițe", + "hide-archived-notes": "Ascunde notițele arhivate", + "save-changes": "Salvează și aplică modificările", + "scroll-active-title": "Mergi la notița activă", + "tree-settings-title": "Setări ale ierarhiei notițelor", + "auto-collapsing-notes-after-inactivity": "Se minimizează notițele după inactivitate...", + "saved-search-note-refreshed": "Notița de căutare salvată a fost reîmprospătată.", + "create-child-note": "Crează subnotiță", + "hoist-this-note-workspace": "Focalizează spațiul de lucru", + "refresh-saved-search-results": "Reîmprospătează căutarea salvată", + "unhoist": "Defocalizează notița" + }, + "title_bar_buttons": { + "window-on-top": "Menține fereastra mereu vizibilă" + }, + "note_detail": { + "could_not_find_typewidget": "Nu s-a putut găsi widget-ul corespunzător tipului „{{type}}”" + }, + "note_title": { + "placeholder": "introduceți titlul notiței aici..." + }, + "revisions_snapshot_limit": { + "erase_excess_revision_snapshots": "Șterge acum reviziile excesive", + "erase_excess_revision_snapshots_prompt": "Reviziile excesive au fost șterse.", + "note_revisions_snapshot_limit_description": "Limita numărului de revizii se referă la numărul maxim de revizii pentru fiecare notiță. -1 reprezintă nicio limită, 0 înseamnă ștergerea tuturor reviziilor. Se poate seta valoarea individual pentru o notiță prin eticheta #versioningLimit.", + "note_revisions_snapshot_limit_title": "Limita de revizii a notițelor", + "snapshot_number_limit_label": "Numărul maxim de revizii pentru notițe:", + "snapshot_number_limit_unit": "revizii" + }, + "search_result": { + "no_notes_found": "Nu au fost găsite notițe pentru parametrii de căutare dați.", + "search_not_executed": "Căutarea n-a fost rulată încă. Clic pe butonul „Căutare” de deasupra pentru a vedea rezultatele." + }, + "show_floating_buttons_button": { + "button_title": "Afișează butoanele" + }, + "spacer": { + "configure_launchbar": "Configurează bara de lansare" + }, + "sql_result": { + "no_rows": "Nu s-a găsit niciun rând pentru această interogare" + }, + "sql_table_schemas": { + "tables": "Tabele" + }, + "app_context": { + "please_wait_for_save": "Așteptați câteva secunde până se salvează toate datele și apoi reîncercați." + }, + "tab_row": { + "add_new_tab": "Adaugă tab nou", + "close": "Închide", + "close_all_tabs": "Închide toate taburile", + "close_other_tabs": "Închide celelalte taburi", + "close_tab": "Închide tab", + "move_tab_to_new_window": "Mută acest tab în altă fereastră", + "new_tab": "Tab nou", + "close_right_tabs": "Închide taburile din dreapta", + "copy_tab_to_new_window": "Copiază tab-ul într-o fereastră nouă", + "reopen_last_tab": "Redeschide ultimul tab închis" + }, + "toc": { + "options": "Setări", + "table_of_contents": "Cuprins" + }, + "watched_file_update_status": { + "file_last_modified": "Fișierul a fost ultima oară modificat la data de .", + "ignore_this_change": "Ignoră această schimbare", + "upload_modified_file": "Încarcă fișier modificat" + }, + "clipboard": { + "copied": "Notițele au fost copiate în clipboard.", + "cut": "Notițele au fost decupate în clipboard." + }, + "entrypoints": { + "note-executed": "Notița a fost executată.", + "note-revision-created": "S-a creat o revizie a notiței.", + "sql-error": "A apărut o eroare la executarea interogării SQL: {{message}}" + }, + "image": { + "cannot-copy": "Nu s-a putut copia în clipboard referința către imagine.", + "copied-to-clipboard": "S-a copiat o referință către imagine în clipboard. Aceasta se poate lipi în orice notiță text." + }, + "note_create": { + "duplicated": "Notița „{{title}}” a fost dublificată." + }, + "branches": { + "cannot-move-notes-here": "Nu se pot muta notițe aici.", + "delete-finished-successfully": "Ștergerea a avut succes.", + "delete-notes-in-progress": "Ștergere în curs: {{count}}", + "delete-status": "Starea ștergerii", + "undeleting-notes-finished-successfully": "Restaurarea notițelor a avut succes.", + "undeleting-notes-in-progress": "Restaurare notițe în curs: {{count}}" + }, + "frontend_script_api": { + "async_warning": "Ați trimis o funcție asincronă metodei `api.runOnBackend()` și este posibil să nu se comporte așa cum vă așteptați.\\nFie faceți metoda sincronă (prin ștergerea cuvântului-cheie `async`), sau folosiți `api.runAsyncOnBackendWithManualTransactionHandling()`.", + "sync_warning": "Ați trimis o funcție sincronă funcției `api.runAsyncOnBackendWithManualTransactionHandling()`,\\ndar cel mai probabil trebuie folosit `api.runOnBackend()` în schimb." + }, + "ws": { + "consistency-checks-failed": "Au fost identificate erori de consistență! Vedeți mai multe detalii în loguri.", + "encountered-error": "A fost întâmpinată o eroare: „{{message}}”. Vedeți în loguri pentru mai multe detalii.", + "sync-check-failed": "Verificările de sincronizare au eșuat!" + }, + "hoisted_note": { + "confirm_unhoisting": "Notița dorită „{{requestedNote}}” este în afara ierarhiei notiței focalizate „{{hoistedNote}}”. Doriți defocalizarea pentru a accesa notița?" + }, + "launcher_context_menu": { + "reset_launcher_confirm": "Doriți resetarea lansatorului „{{title}}”? Toate datele și setările din această notiță (și subnotițele ei) vor fi pierdute, iar lansatorul va fi resetat în poziția lui originală.", + "add-custom-widget": "Adaugă un widget personalizat", + "add-note-launcher": "Adaugă un lansator de notiță", + "add-script-launcher": "Adaugă un lansator de script", + "add-spacer": "Adaugă un separator", + "delete": "Șterge ", + "duplicate-launcher": "Dublifică lansatorul ", + "move-to-available-launchers": "Mută în Lansatoare disponibile", + "move-to-visible-launchers": "Mută în Lansatoare vizibile", + "reset": "Resetează" + }, + "editable-text": { + "auto-detect-language": "Automat" + }, + "highlighting": { + "color-scheme": "Temă de culori", + "description": "Controlează evidențierea de sintaxă pentru blocurile de cod în interiorul notițelor text, notițele de tip cod nu vor fi afectate de aceste setări." + }, + "code_block": { + "word_wrapping": "Încadrare text", + "theme_none": "Fără evidențiere de sintaxă", + "theme_group_dark": "Teme întunecate", + "theme_group_light": "Teme luminoase" + }, + "classic_editor_toolbar": { + "title": "Formatare" + }, + "editing": { + "editor_type": { + "label": "Bară de formatare", + "floating": { + "title": "Editor cu bară flotantă", + "description": "uneltele de editare vor apărea lângă cursor;" + }, + "fixed": { + "title": "Editor cu bară fixă", + "description": "uneltele de editare vor apărea în tab-ul „Formatare” din panglică." + }, + "multiline-toolbar": "Afișează bara de unelte pe mai multe rânduri dacă nu încape." + } + }, + "editor": { + "title": "Editor" + }, + "electron_context_menu": { + "add-term-to-dictionary": "Adaugă „{{term}}” în dicționar", + "copy": "Copiază", + "copy-link": "Copiază legătura", + "cut": "Decupează", + "paste": "Lipește", + "paste-as-plain-text": "Lipește doar textul", + "search_online": "Caută „{{term}}” cu {{searchEngine}}" + }, + "image_context_menu": { + "copy_image_to_clipboard": "Copiază imaginea în clipboard", + "copy_reference_to_clipboard": "Copiază referința în clipboard" + }, + "link_context_menu": { + "open_note_in_new_split": "Deschide notița într-un panou nou", + "open_note_in_new_tab": "Deschide notița într-un tab nou", + "open_note_in_new_window": "Deschide notița într-o fereastră nouă" + }, + "note_autocomplete": { + "clear-text-field": "Șterge conținutul casetei", + "create-note": "Crează și inserează legătură către „{{term}}”", + "full-text-search": "Căutare în întregimea textului", + "insert-external-link": "Inserează legătură extern către „{{term}}”", + "search-for": "Caută „{{term}}”", + "show-recent-notes": "Afișează notițele recente" + }, + "electron_integration": { + "background-effects": "Activează efectele de fundal (doar pentru Windows 11)", + "background-effects-description": "Efectul Mica adaugă un fundal estompat și elegant ferestrelor aplicațiilor, creând profunzime și un aspect modern.", + "desktop-application": "Aplicația desktop", + "native-title-bar": "Bară de titlu nativă", + "native-title-bar-description": "Pentru Windows și macOS, dezactivarea bării de titlu native face aplicația să pară mai compactă. Pe Linux, păstrarea bării integrează mai bine aplicația cu restul sistemului de operare.", + "restart-app-button": "Restartează aplicația pentru a aplica setările", + "zoom-factor": "Factor de zoom" + }, + "note_tooltip": { + "note-has-been-deleted": "Notița a fost ștearsă." + }, + "notes": { + "duplicate-note-suffix": "(dupl.)", + "duplicate-note-title": "{{- noteTitle }} {{ duplicateNoteSuffix }}" + }, + "geo-map-context": { + "open-location": "Deschide locația", + "remove-from-map": "Înlătură de pe hartă" + }, + "geo-map": { + "create-child-note-title": "Crează o notiță nouă și adaug-o pe hartă", + "unable-to-load-map": "Nu s-a putut încărca harta." + }, + "duration": { + "days": "zile", + "hours": "ore", + "minutes": "minute", + "seconds": "secunde" + }, + "help-button": { + "title": "Deschide ghidul relevant" + }, + "zen_mode": { + "button_exit": "Ieși din modul zen" + }, + "time_selector": { + "minimum_input": "Valoarea introdusă trebuie să fie de cel puțin {{minimumSeconds}} secunde.", + "invalid_input": "Valoarea de timp introdusă nu este corectă." + }, + "share": { + "title": "Setări de partajare", + "show_login_link_description": "Adaugă o legătură de autentificare în subsolul paginilor partajate", + "show_login_link": "Afișează legătura de autentificare în tema de partajare", + "share_root_not_shared": "Notița „{{noteTitle}}” are eticheta #shareRoot dar nu este partajată", + "share_root_not_found": "Nu s-a identificat nicio notiță cu eticheta `#shareRoot`", + "share_root_found": "Notița principală pentru partajare „{{noteTitle}}” este pregătită", + "redirect_bare_domain_description": "Redirecționează utilizatorii anonimi către pagina de partajare în locul paginii de autentificare", + "redirect_bare_domain": "Redirecționează domeniul principal la pagina de partajare", + "check_share_root": "Verificare stare pagină partajată principală" + }, + "tasks": { + "due": { + "today": "Azi", + "tomorrow": "Mâine", + "yesterday": "Ieri" + } + }, + "content_widget": { + "unknown_widget": "Nu s-a putut găsi widget-ul corespunzător pentru „{{id}}”." + }, + "code-editor-options": { + "title": "Editor" + }, + "content_language": { + "description": "Selectați una sau mai multe limbi ce vor apărea în selecția limbii din cadrul secțiunii „Proprietăți de bază” pentru notițele de tip text (editabile sau doar în citire).", + "title": "Limbi pentru conținutul notițelor" + }, + "hidden-subtree": { + "localization": "Limbă și regiune" + }, + "note_language": { + "configure-languages": "Configurează limbile...", + "not_set": "Nedefinită" + }, + "png_export_button": { + "button_title": "Exportă diagrama ca PNG" + }, + "switch_layout_button": { + "title_horizontal": "Mută panoul de editare la stânga", + "title_vertical": "Mută panoul de editare în jos" + }, + "toggle_read_only_button": { + "lock-editing": "Blochează editarea", + "unlock-editing": "Deblochează editarea" } - }, - "tray": { - "enable_tray": "Activează system tray-ul (este necesară repornirea aplicației pentru a avea efect)", - "title": "Tray-ul de sistem" - }, - "update_available": { - "update_available": "Actualizare disponibilă" - }, - "update_label_value": { - "help_text": "Pentru toate notițele găsite, schimbă valoarea etichetei existente.", - "help_text_note": "Se poate apela această metodă și fără o valoare, caz în care eticheta va fi atribuită notiței fără o valoare.", - "label_name_placeholder": "denumirea etichetei", - "label_name_title": "Sunt permise doar caractere alfanumerice, underline și două puncte.", - "new_value_placeholder": "valoarea nouă", - "to_value": "la valoarea", - "update_label_value": "Actualizează valoarea etichetei" - }, - "update_relation_target": { - "allowed_characters": "Sunt permise doar caractere alfanumerice, underline și două puncte.", - "change_target_note": "schimbă notița-țintă a unei relații existente", - "on_all_matched_notes": "Pentru toate notițele găsite:", - "relation_name": "denumirea relației", - "target_note": "notița destinație", - "to": "la", - "update_relation": "Actualizează relația", - "update_relation_target": "Actualizează ținta relației" - }, - "upload_attachments": { - "choose_files": "Selectați fișierele", - "files_will_be_uploaded": "Fișierele vor fi încărcate ca atașamente în", - "options": "Opțuni", - "shrink_images": "Micșorează imaginile", - "tooltip": "Dacă această opțiune este bifată, Trilium va încerca micșorarea imaginilor încărcate prin scalarea și optimizarea lor, aspect ce va putea afecta calitatea imaginilor. Dacă nu este bifată, imaginile vor fi încărcate fără nicio schimbare.", - "upload": "Încărcare", - "upload_attachments_to_note": "Încarcă atașamentele la notiță", - "close": "Închide" - }, - "vacuum_database": { - "button_text": "Compactează baza de date", - "database_vacuumed": "Baza de date a fost curățată", - "description": "Va reconstrui baza de date cu scopul de a-i micșora dimensiunea. Datele nu vor fi afectate.", - "title": "Compactarea bazei de date", - "vacuuming_database": "Baza de date este în curs de compactare..." - }, - "vim_key_bindings": { - "enable_vim_keybindings": "Permite utilizarea combinațiilor de taste în stil Vim pentru notițele de tip cod (fără modul ex)", - "use_vim_keybindings_in_code_notes": "Combinații de taste Vim" - }, - "web_view": { - "create_label": "Pentru a începe, creați o etichetă cu adresa URL de încorporat, e.g. #webViewSrc=\"https://www.google.com\"", - "embed_websites": "Notițele de tip „Vizualizare web” permit încorporarea site-urilor web în Trilium.", - "web_view": "Vizualizare web" - }, - "wrap_lines": { - "enable_line_wrap": "Activează trecerea automată pe rândul următor (poate necesita o reîncărcare a interfeței pentru a avea efect)", - "wrap_lines_in_code_notes": "Trecerea automată pe rândul următor în notițe de cod" - }, - "zoom_factor": { - "description": "Zoom-ul poate fi controlat și prin intermediul scurtăturilor CTRL+- and CTRL+=.", - "title": "Factorul de zoom (doar pentru versiunea desktop)" - }, - "zpetne_odkazy": { - "backlink": "{{count}} legături de retur", - "backlinks": "{{count}} legături de retur", - "relation": "relație" - }, - "svg_export_button": { - "button_title": "Exportă diagrama ca SVG" - }, - "note-map": { - "button-link-map": "Harta legăturilor", - "button-tree-map": "Harta ierarhiei" - }, - "tree-context-menu": { - "advanced": "Opțiuni avansate", - "apply-bulk-actions": "Aplică acțiuni în masă", - "clone-to": "Clonare în...", - "collapse-subtree": "Minimizează subnotițele", - "convert-to-attachment": "Convertește în atașament", - "copy-clone": "Copiază/clonează", - "copy-note-path-to-clipboard": "Copiază calea notiței în clipboard", - "cut": "Decupează", - "delete": "Șterge", - "duplicate": "Dublifică", - "edit-branch-prefix": "Editează prefixul ramurii", - "expand-subtree": "Expandează subnotițele", - "export": "Exportă", - "import-into-note": "Importă în notiță", - "insert-child-note": "Inserează subnotiță", - "insert-note-after": "Inserează după notiță", - "move-to": "Mutare la...", - "open-in-a-new-split": "Deschide în lateral", - "open-in-a-new-tab": "Deschide în tab nou Ctrl+Clic", - "paste-after": "Lipește după notiță", - "paste-into": "Lipește în notiță", - "protect-subtree": "Protejează ierarhia", - "recent-changes-in-subtree": "Schimbări recente în ierarhie", - "search-in-subtree": "Caută în ierarhie", - "sort-by": "Ordonare după...", - "unprotect-subtree": "Deprotejează ierarhia", - "hoist-note": "Focalizează notița", - "unhoist-note": "Defocalizează notița", - "converted-to-attachments": "{{count}} notițe au fost convertite în atașamente.", - "convert-to-attachment-confirm": "Doriți convertirea notițelor selectate în atașamente ale notiței părinte?" - }, - "shared_info": { - "help_link": "Pentru informații vizitați wiki-ul.", - "shared_locally": "Această notiță este partajată local la", - "shared_publicly": "Această notiță este partajată public la" - }, - "note_types": { - "book": "Colecție", - "canvas": "Schiță", - "code": "Cod sursă", - "mermaid-diagram": "Diagramă Mermaid", - "mind-map": "Hartă mentală", - "note-map": "Hartă notițe", - "relation-map": "Hartă relații", - "render-note": "Randare notiță", - "saved-search": "Căutare salvată", - "text": "Text", - "web-view": "Vizualizare web", - "doc": "Document", - "file": "Fișier", - "image": "Imagine", - "launcher": "Scurtătură", - "widget": "Widget", - "confirm-change": "Nu se recomandă schimbarea tipului notiței atunci când ea are un conținut. Procedați oricum?", - "geo-map": "Hartă geografică", - "beta-feature": "Beta", - "task-list": "Listă de sarcini" - }, - "protect_note": { - "toggle-off": "Deprotejează notița", - "toggle-off-hint": "Notița este protejată, click pentru a o deproteja", - "toggle-on": "Protejează notița", - "toggle-on-hint": "Notița nu este protejată, clic pentru a o proteja" - }, - "shared_switch": { - "inherited": "Nu se poate înlătura partajarea deoarece notița este partajată prin moștenirea de la o notiță părinte.", - "shared": "Partajată", - "shared-branch": "Această notiță există doar ca o notiță partajată, anularea partajării ar cauza ștergerea ei. Sigur doriți ștergerea notiței?", - "toggle-off-title": "Anulează partajarea notițeii", - "toggle-on-title": "Partajează notița" - }, - "template_switch": { - "template": "Șablon", - "toggle-off-hint": "Înlătură notița ca șablon", - "toggle-on-hint": "Marchează notița drept șablon" - }, - "open-help-page": "Deschide pagina de informații", - "find": { - "match_words": "doar cuvinte întregi", - "case_sensitive": "ține cont de majuscule", - "replace_all": "Înlocuiește totul", - "replace_placeholder": "Înlocuiește cu...", - "replace": "Înlocuiește", - "find_placeholder": "Căutați în text..." - }, - "highlights_list_2": { - "options": "Setări", - "title": "Listă de evidențieri" - }, - "note_icon": { - "change_note_icon": "Schimbă iconița notiței", - "category": "Categorie:", - "reset-default": "Resetează la iconița implicită", - "search": "Căutare:" - }, - "show_highlights_list_widget_button": { - "show_highlights_list": "Afișează lista de evidențieri" - }, - "show_toc_widget_button": { - "show_toc": "Afișează cuprinsul" - }, - "sync_status": { - "connected_no_changes": "

Conectat la server-ul de sincronizare.
Toate modificările au fost deja sincronizate.

Clic pentru a forța o sincronizare.

", - "connected_with_changes": "

Conectat la server-ul de sincronizare.
Există modificări nesincronizate.

Clic pentru a rula o sincronizare.

", - "disconnected_no_changes": "

Nu s-a putut stabili conexiunea la server-ul de sincronizare.
Toate modificările cunoscute au fost deja sincronizate.

Clic pentru a reîncerca sincronizarea.

", - "disconnected_with_changes": "

Nu s-a putut realiza conexiunea la server-ul de sincronizare.
Există modificări nesincronizate.

Clic pentru a rula o sincronizare.

", - "in_progress": "Sincronizare cu server-ul în curs.", - "unknown": "

Starea sincronizării va fi cunoscută după o încercare de sincronizare.

Clic pentru a rula sincronizarea acum.

" - }, - "quick-search": { - "more-results": "... și încă {{number}} rezultate.", - "no-results": "Niciun rezultat găsit", - "placeholder": "Căutare rapidă", - "searching": "Se caută...", - "show-in-full-search": "Afișează în căutare completă" - }, - "note_tree": { - "automatically-collapse-notes": "Minimează automat notițele", - "automatically-collapse-notes-title": "Notițele vor fi minimizate automat după o perioadă de inactivitate pentru a simplifica ierarhia notițelor.", - "collapse-title": "Minimizează ierarhia de notițe", - "hide-archived-notes": "Ascunde notițele arhivate", - "save-changes": "Salvează și aplică modificările", - "scroll-active-title": "Mergi la notița activă", - "tree-settings-title": "Setări ale ierarhiei notițelor", - "auto-collapsing-notes-after-inactivity": "Se minimizează notițele după inactivitate...", - "saved-search-note-refreshed": "Notița de căutare salvată a fost reîmprospătată.", - "create-child-note": "Crează subnotiță", - "hoist-this-note-workspace": "Focalizează spațiul de lucru", - "refresh-saved-search-results": "Reîmprospătează căutarea salvată", - "unhoist": "Defocalizează notița" - }, - "title_bar_buttons": { - "window-on-top": "Menține fereastra mereu vizibilă" - }, - "note_detail": { - "could_not_find_typewidget": "Nu s-a putut găsi widget-ul corespunzător tipului „{{type}}”" - }, - "note_title": { - "placeholder": "introduceți titlul notiței aici..." - }, - "revisions_snapshot_limit": { - "erase_excess_revision_snapshots": "Șterge acum reviziile excesive", - "erase_excess_revision_snapshots_prompt": "Reviziile excesive au fost șterse.", - "note_revisions_snapshot_limit_description": "Limita numărului de revizii se referă la numărul maxim de revizii pentru fiecare notiță. -1 reprezintă nicio limită, 0 înseamnă ștergerea tuturor reviziilor. Se poate seta valoarea individual pentru o notiță prin eticheta #versioningLimit.", - "note_revisions_snapshot_limit_title": "Limita de revizii a notițelor", - "snapshot_number_limit_label": "Numărul maxim de revizii pentru notițe:", - "snapshot_number_limit_unit": "revizii" - }, - "search_result": { - "no_notes_found": "Nu au fost găsite notițe pentru parametrii de căutare dați.", - "search_not_executed": "Căutarea n-a fost rulată încă. Clic pe butonul „Căutare” de deasupra pentru a vedea rezultatele." - }, - "show_floating_buttons_button": { - "button_title": "Afișează butoanele" - }, - "spacer": { - "configure_launchbar": "Configurează bara de lansare" - }, - "sql_result": { - "no_rows": "Nu s-a găsit niciun rând pentru această interogare" - }, - "sql_table_schemas": { - "tables": "Tabele" - }, - "app_context": { - "please_wait_for_save": "Așteptați câteva secunde până se salvează toate datele și apoi reîncercați." - }, - "tab_row": { - "add_new_tab": "Adaugă tab nou", - "close": "Închide", - "close_all_tabs": "Închide toate taburile", - "close_other_tabs": "Închide celelalte taburi", - "close_tab": "Închide tab", - "move_tab_to_new_window": "Mută acest tab în altă fereastră", - "new_tab": "Tab nou", - "close_right_tabs": "Închide taburile din dreapta", - "copy_tab_to_new_window": "Copiază tab-ul într-o fereastră nouă", - "reopen_last_tab": "Redeschide ultimul tab închis" - }, - "toc": { - "options": "Setări", - "table_of_contents": "Cuprins" - }, - "watched_file_update_status": { - "file_last_modified": "Fișierul a fost ultima oară modificat la data de .", - "ignore_this_change": "Ignoră această schimbare", - "upload_modified_file": "Încarcă fișier modificat" - }, - "clipboard": { - "copied": "Notițele au fost copiate în clipboard.", - "cut": "Notițele au fost decupate în clipboard." - }, - "entrypoints": { - "note-executed": "Notița a fost executată.", - "note-revision-created": "S-a creat o revizie a notiței.", - "sql-error": "A apărut o eroare la executarea interogării SQL: {{message}}" - }, - "image": { - "cannot-copy": "Nu s-a putut copia în clipboard referința către imagine.", - "copied-to-clipboard": "S-a copiat o referință către imagine în clipboard. Aceasta se poate lipi în orice notiță text." - }, - "note_create": { - "duplicated": "Notița „{{title}}” a fost dublificată." - }, - "branches": { - "cannot-move-notes-here": "Nu se pot muta notițe aici.", - "delete-finished-successfully": "Ștergerea a avut succes.", - "delete-notes-in-progress": "Ștergere în curs: {{count}}", - "delete-status": "Starea ștergerii", - "undeleting-notes-finished-successfully": "Restaurarea notițelor a avut succes.", - "undeleting-notes-in-progress": "Restaurare notițe în curs: {{count}}" - }, - "frontend_script_api": { - "async_warning": "Ați trimis o funcție asincronă metodei `api.runOnBackend()` și este posibil să nu se comporte așa cum vă așteptați.\\nFie faceți metoda sincronă (prin ștergerea cuvântului-cheie `async`), sau folosiți `api.runAsyncOnBackendWithManualTransactionHandling()`.", - "sync_warning": "Ați trimis o funcție sincronă funcției `api.runAsyncOnBackendWithManualTransactionHandling()`,\\ndar cel mai probabil trebuie folosit `api.runOnBackend()` în schimb." - }, - "ws": { - "consistency-checks-failed": "Au fost identificate erori de consistență! Vedeți mai multe detalii în loguri.", - "encountered-error": "A fost întâmpinată o eroare: „{{message}}”. Vedeți în loguri pentru mai multe detalii.", - "sync-check-failed": "Verificările de sincronizare au eșuat!" - }, - "hoisted_note": { - "confirm_unhoisting": "Notița dorită „{{requestedNote}}” este în afara ierarhiei notiței focalizate „{{hoistedNote}}”. Doriți defocalizarea pentru a accesa notița?" - }, - "launcher_context_menu": { - "reset_launcher_confirm": "Doriți resetarea lansatorului „{{title}}”? Toate datele și setările din această notiță (și subnotițele ei) vor fi pierdute, iar lansatorul va fi resetat în poziția lui originală.", - "add-custom-widget": "Adaugă un widget personalizat", - "add-note-launcher": "Adaugă un lansator de notiță", - "add-script-launcher": "Adaugă un lansator de script", - "add-spacer": "Adaugă un separator", - "delete": "Șterge ", - "duplicate-launcher": "Dublifică lansatorul ", - "move-to-available-launchers": "Mută în Lansatoare disponibile", - "move-to-visible-launchers": "Mută în Lansatoare vizibile", - "reset": "Resetează" - }, - "editable-text": { - "auto-detect-language": "Automat" - }, - "highlighting": { - "color-scheme": "Temă de culori", - "title": "", - "description": "Controlează evidențierea de sintaxă pentru blocurile de cod în interiorul notițelor text, notițele de tip cod nu vor fi afectate de aceste setări." - }, - "code_block": { - "word_wrapping": "Încadrare text", - "theme_none": "Fără evidențiere de sintaxă", - "theme_group_dark": "Teme întunecate", - "theme_group_light": "Teme luminoase" - }, - "classic_editor_toolbar": { - "title": "Formatare" - }, - "editing": { - "editor_type": { - "label": "Bară de formatare", - "floating": { - "title": "Editor cu bară flotantă", - "description": "uneltele de editare vor apărea lângă cursor;" - }, - "fixed": { - "title": "Editor cu bară fixă", - "description": "uneltele de editare vor apărea în tab-ul „Formatare” din panglică." - }, - "multiline-toolbar": "Afișează bara de unelte pe mai multe rânduri dacă nu încape." - } - }, - "editor": { - "title": "Editor" - }, - "electron_context_menu": { - "add-term-to-dictionary": "Adaugă „{{term}}” în dicționar", - "copy": "Copiază", - "copy-link": "Copiază legătura", - "cut": "Decupează", - "paste": "Lipește", - "paste-as-plain-text": "Lipește doar textul", - "search_online": "Caută „{{term}}” cu {{searchEngine}}" - }, - "image_context_menu": { - "copy_image_to_clipboard": "Copiază imaginea în clipboard", - "copy_reference_to_clipboard": "Copiază referința în clipboard" - }, - "link_context_menu": { - "open_note_in_new_split": "Deschide notița într-un panou nou", - "open_note_in_new_tab": "Deschide notița într-un tab nou", - "open_note_in_new_window": "Deschide notița într-o fereastră nouă" - }, - "note_autocomplete": { - "clear-text-field": "Șterge conținutul casetei", - "create-note": "Crează și inserează legătură către „{{term}}”", - "full-text-search": "Căutare în întregimea textului", - "insert-external-link": "Inserează legătură extern către „{{term}}”", - "search-for": "Caută „{{term}}”", - "show-recent-notes": "Afișează notițele recente" - }, - "electron_integration": { - "background-effects": "Activează efectele de fundal (doar pentru Windows 11)", - "background-effects-description": "Efectul Mica adaugă un fundal estompat și elegant ferestrelor aplicațiilor, creând profunzime și un aspect modern.", - "desktop-application": "Aplicația desktop", - "native-title-bar": "Bară de titlu nativă", - "native-title-bar-description": "Pentru Windows și macOS, dezactivarea bării de titlu native face aplicația să pară mai compactă. Pe Linux, păstrarea bării integrează mai bine aplicația cu restul sistemului de operare.", - "restart-app-button": "Restartează aplicația pentru a aplica setările", - "zoom-factor": "Factor de zoom" - }, - "note_tooltip": { - "note-has-been-deleted": "Notița a fost ștearsă." - }, - "notes": { - "duplicate-note-suffix": "(dupl.)", - "duplicate-note-title": "{{- noteTitle }} {{ duplicateNoteSuffix }}" - }, - "geo-map-context": { - "open-location": "Deschide locația", - "remove-from-map": "Înlătură de pe hartă" - }, - "geo-map": { - "create-child-note-title": "Crează o notiță nouă și adaug-o pe hartă", - "unable-to-load-map": "Nu s-a putut încărca harta." - }, - "duration": { - "days": "zile", - "hours": "ore", - "minutes": "minute", - "seconds": "secunde" - }, - "help-button": { - "title": "Deschide ghidul relevant" - }, - "zen_mode": { - "button_exit": "Ieși din modul zen" - }, - "time_selector": { - "minimum_input": "Valoarea introdusă trebuie să fie de cel puțin {{minimumSeconds}} secunde.", - "invalid_input": "Valoarea de timp introdusă nu este corectă." - }, - "share": { - "title": "Setări de partajare", - "show_login_link_description": "Adaugă o legătură de autentificare în subsolul paginilor partajate", - "show_login_link": "Afișează legătura de autentificare în tema de partajare", - "share_root_not_shared": "Notița „{{noteTitle}}” are eticheta #shareRoot dar nu este partajată", - "share_root_not_found": "Nu s-a identificat nicio notiță cu eticheta `#shareRoot`", - "share_root_found": "Notița principală pentru partajare „{{noteTitle}}” este pregătită", - "redirect_bare_domain_description": "Redirecționează utilizatorii anonimi către pagina de partajare în locul paginii de autentificare", - "redirect_bare_domain": "Redirecționează domeniul principal la pagina de partajare", - "check_share_root": "Verificare stare pagină partajată principală" - }, - "tasks": { - "due": { - "today": "Azi", - "tomorrow": "Mâine", - "yesterday": "Ieri" - } - }, - "content_widget": { - "unknown_widget": "Nu s-a putut găsi widget-ul corespunzător pentru „{{id}}”." - }, - "code-editor-options": { - "title": "Editor" - }, - "content_language": { - "description": "Selectați una sau mai multe limbi ce vor apărea în selecția limbii din cadrul secțiunii „Proprietăți de bază” pentru notițele de tip text (editabile sau doar în citire).", - "title": "Limbi pentru conținutul notițelor" - }, - "hidden-subtree": { - "localization": "Limbă și regiune" - }, - "note_language": { - "configure-languages": "Configurează limbile...", - "not_set": "Nedefinită" - }, - "png_export_button": { - "button_title": "Exportă diagrama ca PNG" - }, - "switch_layout_button": { - "title_horizontal": "Mută panoul de editare la stânga", - "title_vertical": "Mută panoul de editare în jos" - }, - "toggle_read_only_button": { - "lock-editing": "Blochează editarea", - "unlock-editing": "Deblochează editarea" - } } diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json index 64b776771..79ed4fb66 100644 --- a/apps/client/src/translations/tw/translation.json +++ b/apps/client/src/translations/tw/translation.json @@ -1,1563 +1,1547 @@ { - "about": { - "title": "關於 Trilium Notes", - "homepage": "項目主頁:", - "app_version": "軟件版本:", - "db_version": "資料庫版本:", - "sync_version": "同步版本:", - "build_date": "編譯日期:", - "build_revision": "編譯版本:", - "data_directory": "數據目錄:" - }, - "toast": { - "critical-error": { - "title": "嚴重錯誤", - "message": "發生了嚴重錯誤,導致客戶端應用程式無法啓動:\n\n{{message}}\n\n這很可能是由於腳本以意外的方式失敗引起的。請嘗試以安全模式啓動應用程式並解決問題。" + "about": { + "title": "關於 Trilium Notes", + "homepage": "項目主頁:", + "app_version": "軟件版本:", + "db_version": "資料庫版本:", + "sync_version": "同步版本:", + "build_date": "編譯日期:", + "build_revision": "編譯版本:", + "data_directory": "數據目錄:" }, - "widget-error": { - "title": "小部件初始化失敗", - "message-custom": "來自 ID 為 \"{{id}}\"、標題為 \"{{title}}\" 的筆記的自定義小部件因以下原因無法初始化:\n\n{{message}}", - "message-unknown": "未知小部件因以下原因無法初始化:\n\n{{message}}" + "toast": { + "critical-error": { + "title": "嚴重錯誤", + "message": "發生了嚴重錯誤,導致客戶端應用程式無法啓動:\n\n{{message}}\n\n這很可能是由於腳本以意外的方式失敗引起的。請嘗試以安全模式啓動應用程式並解決問題。" + }, + "widget-error": { + "title": "小部件初始化失敗", + "message-custom": "來自 ID 為 \"{{id}}\"、標題為 \"{{title}}\" 的筆記的自定義小部件因以下原因無法初始化:\n\n{{message}}", + "message-unknown": "未知小部件因以下原因無法初始化:\n\n{{message}}" + }, + "bundle-error": { + "title": "加載自定義腳本失敗", + "message": "來自 ID 為 \"{{id}}\"、標題為 \"{{title}}\" 的筆記的腳本因以下原因無法執行:\n\n{{message}}" + } }, - "bundle-error": { - "title": "加載自定義腳本失敗", - "message": "來自 ID 為 \"{{id}}\"、標題為 \"{{title}}\" 的筆記的腳本因以下原因無法執行:\n\n{{message}}" + "add_link": { + "add_link": "添加鏈接", + "help_on_links": "鏈接幫助", + "close": "關閉", + "note": "筆記", + "search_note": "按名稱搜尋筆記", + "link_title_mirrors": "鏈接標題跟隨筆記標題變化", + "link_title_arbitrary": "鏈接標題可隨意修改", + "link_title": "鏈接標題", + "button_add_link": "添加鏈接 Enter" + }, + "branch_prefix": { + "edit_branch_prefix": "編輯分支前綴", + "help_on_tree_prefix": "有關樹前綴的幫助", + "close": "關閉", + "prefix": "前綴:", + "save": "保存", + "branch_prefix_saved": "已保存分支前綴。" + }, + "bulk_actions": { + "bulk_actions": "批量操作", + "close": "關閉", + "affected_notes": "受影響的筆記", + "include_descendants": "包括所選筆記的子筆記", + "available_actions": "可用操作", + "chosen_actions": "選擇的操作", + "execute_bulk_actions": "執行批量操作", + "bulk_actions_executed": "已成功執行批量操作。", + "none_yet": "暫無操作 ... 通過點擊上方的可用操作添加一個操作。", + "labels": "標籤", + "relations": "關聯關係", + "notes": "筆記", + "other": "其它" + }, + "clone_to": { + "clone_notes_to": "複製筆記到...", + "help_on_links": "鏈接幫助", + "notes_to_clone": "要複製的筆記", + "target_parent_note": "目標上級筆記", + "search_for_note_by_its_name": "按名稱搜尋筆記", + "cloned_note_prefix_title": "複製的筆記將在筆記樹中顯示給定的前綴", + "prefix_optional": "前綴(可選)", + "clone_to_selected_note": "複製到選定的筆記 Enter", + "no_path_to_clone_to": "沒有複製路徑。", + "note_cloned": "筆記 \"{{clonedTitle}}\" 已複製到 \"{{targetTitle}}\"" + }, + "confirm": { + "confirmation": "確認", + "cancel": "取消", + "ok": "確定", + "are_you_sure_remove_note": "確定要從關係圖中移除筆記 \"{{title}}\" ?", + "if_you_dont_check": "如果不選中此項,筆記將僅從關係圖中移除。", + "also_delete_note": "同時刪除筆記" + }, + "delete_notes": { + "delete_notes_preview": "刪除筆記預覽", + "delete_all_clones_description": "同時刪除所有複製(可以在最近修改中撤消)", + "erase_notes_description": "通常(軟)刪除僅標記筆記為已刪除,可以在一段時間內通過最近修改對話框撤消。選中此選項將立即擦除筆記,無法撤銷。", + "erase_notes_warning": "永久擦除筆記(無法撤銷),包括所有複製。這將強制應用程式重新加載。", + "notes_to_be_deleted": "將刪除以下筆記 ({{- noteCount}})", + "no_note_to_delete": "沒有筆記將被刪除(僅複製)。", + "broken_relations_to_be_deleted": "將刪除以下關係並斷開連接 ({{- relationCount}})", + "cancel": "取消", + "ok": "確定", + "deleted_relation_text": "筆記 {{- note}} (將被刪除的筆記) 被以下關係 {{- relation}} 引用, 來自 {{- source}}。" + }, + "export": { + "export_note_title": "匯出筆記", + "close": "關閉", + "export_type_subtree": "此筆記及其所有子筆記", + "format_html_zip": "HTML ZIP 歸檔 - 建議使用此選項,因為它保留了所有格式。", + "format_markdown": "Markdown - 保留大部分格式。", + "format_opml": "OPML - 大綱交換格式,僅限文字。不包括格式、圖片和文件。", + "opml_version_1": "OPML v1.0 - 僅限純文字", + "opml_version_2": "OPML v2.0 - 還允許 HTML", + "export_type_single": "僅此筆記,不包括子筆記", + "export": "匯出", + "choose_export_type": "請先選擇匯出類型", + "export_status": "匯出狀態", + "export_in_progress": "匯出進行中:{{progressCount}}", + "export_finished_successfully": "匯出成功完成。" + }, + "help": { + "fullDocumentation": "幫助(完整在線文檔)", + "close": "關閉", + "noteNavigation": "筆記導航", + "goUpDown": "UP, DOWN - 在筆記列表中向上/向下移動", + "collapseExpand": "LEFT, RIGHT - 折疊/展開節點", + "notSet": "未設定", + "goBackForwards": "在歷史記錄中前後移動", + "showJumpToNoteDialog": "顯示\"跳轉到\" 對話框", + "scrollToActiveNote": "滾動到活動筆記", + "jumpToParentNote": "Backspace - 跳轉到上級筆記", + "collapseWholeTree": "折疊整個筆記樹", + "collapseSubTree": "折疊子樹", + "tabShortcuts": "標籤快捷鍵", + "newTabNoteLink": "CTRL+click - 在筆記鏈接上使用CTRL+點擊(或中鍵點擊)在新標籤中打開筆記", + "onlyInDesktop": "僅在桌面版(電子構建)中", + "openEmptyTab": "打開空白標籤頁", + "closeActiveTab": "關閉活動標籤頁", + "activateNextTab": "激活下一個標籤頁", + "activatePreviousTab": "激活上一個標籤頁", + "creatingNotes": "新增筆記", + "createNoteAfter": "在活動筆記後新增新筆記", + "createNoteInto": "在活動筆記中新增新子筆記", + "editBranchPrefix": "編輯活動筆記複製的前綴", + "movingCloningNotes": "移動/複製筆記", + "moveNoteUpDown": "在筆記列表中向上/向下移動筆記", + "moveNoteUpHierarchy": "在層級結構中向上移動筆記", + "multiSelectNote": "多選上/下筆記", + "selectAllNotes": "選擇當前級別的所有筆記", + "selectNote": "Shift+Click - 選擇筆記", + "copyNotes": "將活動筆記(或當前選擇)複製到剪貼簿(用於複製)", + "cutNotes": "將當前筆記(或當前選擇)剪下到剪貼簿(用於移動筆記)", + "pasteNotes": "將筆記貼上為活動筆記的子筆記(根據是複製還是剪下到剪貼簿來決定是移動還是複製)", + "deleteNotes": "刪除筆記/子樹", + "editingNotes": "編輯筆記", + "editNoteTitle": "在樹形筆記樹中,焦點會從筆記樹切換到筆記標題。按下 Enter 鍵會將焦點從筆記標題切換到文字編輯器。按下 Ctrl+. 會將焦點從編輯器切換回筆記樹。", + "createEditLink": "Ctrl+K - 新增/編輯外部鏈接", + "createInternalLink": "新增內部鏈接", + "followLink": "跟隨遊標下的鏈接", + "insertDateTime": "在插入點插入當前日期和時間", + "jumpToTreePane": "跳轉到樹面板並滾動到活動筆記", + "markdownAutoformat": "類Markdown自動格式化", + "headings": "##, ###, #### 等,後跟空格,自動轉換為標題", + "bulletList": "*- 後跟空格,自動轉換為項目符號列表", + "numberedList": "1. or 1) 後跟空格,自動轉換為編號列表", + "blockQuote": "一行以 > 開頭並後跟空格,自動轉換為塊引用", + "troubleshooting": "故障排除", + "reloadFrontend": "重新加載Trilium前端", + "showDevTools": "顯示開發者工具", + "showSQLConsole": "顯示SQL控制台", + "other": "其他", + "quickSearch": "定位到快速搜尋框", + "inPageSearch": "頁面內搜尋" + }, + "import": { + "importIntoNote": "匯入到筆記", + "close": "關閉", + "chooseImportFile": "選擇匯入文件", + "importDescription": "所選文件的內容將作為子筆記匯入到", + "options": "選項", + "safeImportTooltip": "Trilium .zip 匯出文件可能包含可能有害的可執行腳本。安全匯入將停用所有匯入腳本的自動執行。僅當您完全信任匯入的可執行腳本的內容時,才取消選中「安全匯入」。", + "safeImport": "安全匯入", + "explodeArchivesTooltip": "如果選中此項,則Trilium將讀取.zip.enex.opml文件,並從這些歸檔文件內部的文件新增筆記。如果未選中,則Trilium會將這些歸檔文件本身附加到筆記中。", + "explodeArchives": "讀取.zip.enex.opml歸檔文件的內容。", + "shrinkImagesTooltip": "

如果選中此選項,Trilium將嘗試通過縮放和優化來縮小匯入的圖片,這可能會影響圖片的感知質量。如果未選中,圖片將不做修改地匯入。

這不適用於帶有元數據的.zip匯入,因為這些文件已被假定為已優化。

", + "shrinkImages": "壓縮圖片", + "textImportedAsText": "如果元數據不明確,將HTML、Markdown和TXT匯入為文字筆記", + "codeImportedAsCode": "如果元數據不明確,將識別的程式碼文件(例如.json)匯入為程式碼筆記", + "replaceUnderscoresWithSpaces": "在匯入的筆記名稱中將下劃線替換為空格", + "import": "匯入", + "failed": "匯入失敗: {{message}}." + }, + "include_note": { + "dialog_title": "包含筆記", + "label_note": "筆記", + "placeholder_search": "按名稱搜尋筆記", + "box_size_prompt": "包含筆記的框大小:", + "box_size_small": "小型 (顯示大約10行)", + "box_size_medium": "中型 (顯示大約30行)", + "box_size_full": "完整顯示(完整文字框)", + "button_include": "包含筆記 Enter" + }, + "info": { + "modalTitle": "資訊消息", + "closeButton": "關閉", + "okButton": "確定" + }, + "jump_to_note": { + "search_button": "全文搜尋 Ctrl+Enter" + }, + "markdown_import": { + "dialog_title": "Markdown 匯入", + "modal_body_text": "由於瀏覽器沙盒的限制,無法直接從 JavaScript 讀取剪貼簿內容。請將要匯入的 Markdown 文字貼上到下面的文字框中,然後點擊匯入按鈕", + "import_button": "匯入 Ctrl+Enter", + "import_success": "已成功匯入 Markdown 內容文檔。" + }, + "move_to": { + "dialog_title": "移動筆記到...", + "notes_to_move": "需要移動的筆記", + "target_parent_note": "目標上級筆記", + "search_placeholder": "通過名稱搜尋筆記", + "move_button": "移動到選定的筆記 Enter", + "error_no_path": "沒有可以移動到的路徑。", + "move_success_message": "已移動所選筆記到 " + }, + "note_type_chooser": { + "modal_title": "選擇筆記類型", + "modal_body": "選擇新筆記的類型或模板:", + "templates": "模板:" + }, + "password_not_set": { + "title": "密碼未設定", + "body1": "受保護的筆記使用用戶密碼加密,但密碼尚未設定。", + "body2": "點擊這裡打開選項對話框並設定您的密碼。" + }, + "prompt": { + "title": "提示", + "ok": "確定 Enter", + "defaultTitle": "提示" + }, + "protected_session_password": { + "modal_title": "保護會話", + "help_title": "關於保護筆記的幫助", + "close_label": "關閉", + "form_label": "輸入密碼進入保護會話以繼續:", + "start_button": "開始保護會話 Enter" + }, + "recent_changes": { + "title": "最近修改", + "erase_notes_button": "立即清理已刪除的筆記", + "deleted_notes_message": "已清理刪除的筆記。", + "no_changes_message": "暫無修改...", + "undelete_link": "恢復刪除", + "confirm_undelete": "您確定要恢復此筆記及其子筆記嗎?" + }, + "revisions": { + "note_revisions": "筆記歷史版本", + "delete_all_revisions": "刪除此筆記的所有歷史版本", + "delete_all_button": "刪除所有歷史版本", + "help_title": "關於筆記歷史版本的幫助", + "revision_last_edited": "此歷史版本上次編輯於 {{date}}", + "confirm_delete_all": "您是否要刪除此筆記的所有歷史版本?", + "no_revisions": "此筆記暫無歷史版本...", + "confirm_restore": "您是否要恢復此歷史版本?這將使用此歷史版本覆蓋筆記的當前標題和內容。", + "confirm_delete": "您是否要刪除此歷史版本?", + "revisions_deleted": "已刪除筆記歷史版本。", + "revision_restored": "已恢復筆記歷史版本。", + "revision_deleted": "已刪除筆記歷史版本。", + "snapshot_interval": "筆記快照保存間隔: {{seconds}}秒。", + "maximum_revisions": "當前筆記的最歷史數量: {{number}}。", + "settings": "筆記歷史設定", + "download_button": "下載", + "mime": "MIME類型:", + "file_size": "文件大小:", + "preview": "預覽:", + "preview_not_available": "無法預覽此類型的筆記。" + }, + "sort_child_notes": { + "sort_children_by": "按...排序子筆記", + "sorting_criteria": "排序條件", + "title": "標題", + "date_created": "新增日期", + "date_modified": "修改日期", + "sorting_direction": "排序方向", + "ascending": "升序", + "descending": "降序", + "folders": "資料夾", + "sort_folders_at_top": "將資料夾置頂排序", + "natural_sort": "自然排序", + "sort_with_respect_to_different_character_sorting": "根據不同語言或地區的字符排序和排序規則排序。", + "natural_sort_language": "自然排序語言", + "the_language_code_for_natural_sort": "自然排序的語言程式碼,例如繁體中文的 \"zh-TW\"。", + "sort": "排序 Enter" + }, + "upload_attachments": { + "upload_attachments_to_note": "上傳附件到筆記", + "choose_files": "選擇文件", + "files_will_be_uploaded": "文件將作為附件上傳到", + "options": "選項", + "shrink_images": "縮小圖片", + "upload": "上傳", + "tooltip": "如果您勾選此選項,Trilium 將嘗試通過縮放和優化來縮小上傳的圖片,這可能會影響感知的圖片質量。如果未選中,則將以不進行修改的方式上傳圖片。" + }, + "attribute_detail": { + "attr_detail_title": "屬性詳情標題", + "close_button_title": "取消修改並關閉", + "attr_is_owned_by": "屬性所有者", + "attr_name_title": "屬性名稱只能由字母數字字符、冒號和下劃線組成", + "name": "名稱", + "value": "值", + "target_note_title": "關係是源筆記和目標筆記之間的命名連接。", + "target_note": "目標筆記", + "promoted_title": "升級屬性在筆記上突出顯示。", + "promoted": "升級", + "promoted_alias_title": "在升級屬性界面中顯示的名稱。", + "promoted_alias": "別名", + "multiplicity_title": "多重性定義了可以新增的含有相同名稱的屬性的數量 - 最多為1或多於1。", + "multiplicity": "多重性", + "single_value": "單值", + "multi_value": "多值", + "label_type_title": "標籤類型將幫助 Trilium 選擇適合的界面來輸入標籤值。", + "label_type": "類型", + "text": "文字", + "number": "數字", + "boolean": "布林值", + "date": "日期", + "date_time": "日期和時間", + "time": "時間", + "url": "網址", + "precision_title": "值設定界面中浮點數後的位數。", + "precision": "精度", + "digits": "位數", + "inverse_relation_title": "可選設定,定義此關係與哪個關係相反。例如:上級 - 子級是彼此的反向關係。", + "inverse_relation": "反向關係", + "inheritable_title": "可繼承屬性將被繼承到此樹下的所有後代。", + "inheritable": "可繼承", + "save_and_close": "保存並關閉 Ctrl+Enter", + "delete": "刪除", + "related_notes_title": "含有此標籤的其他筆記", + "more_notes": "更多筆記", + "label": "標籤詳情", + "label_definition": "標籤定義詳情", + "relation": "關係詳情", + "relation_definition": "關係定義詳情", + "disable_versioning": "禁用自動版本控制。適用於例如大型但不重要的筆記 - 例如用於腳本編寫的大型JS庫", + "calendar_root": "標記應用作為每日筆記的根。只應標記一個筆記。", + "archived": "含有此標籤的筆記默認在搜尋結果中不可見(也適用於跳轉到、添加鏈接對話框等)。", + "exclude_from_export": "筆記(及其子樹)不會包含在任何筆記匯出中", + "run": "定義腳本應運行的事件。可能的值包括:\n
    \n
  • frontendStartup - Trilium前端啓動時(或刷新時),但不會在移動端執行。
  • \n
  • mobileStartup - Trilium前端啓動時(或刷新時), 在移動端會執行。
  • \n
  • backendStartup - Trilium後端啓動時
  • \n
  • hourly - 每小時運行一次。您可以使用附加標籤runAtHour指定小時。
  • \n
  • daily - 每天運行一次
  • \n
", + "run_on_instance": "定義應在哪個Trilium實例上運行。默認為所有實例。", + "run_at_hour": "應在哪個小時運行。應與#run=hourly一起使用。可以多次定義,以便一天內運行多次。", + "disable_inclusion": "含有此標籤的腳本不會包含在父腳本執行中。", + "sorted": "按標題字母順序保持子筆記排序", + "sort_direction": "ASC(默認)或DESC", + "sort_folders_first": "資料夾(含有子筆記的筆記)應排在頂部", + "top": "在其上級中保留給定筆記在頂部(僅適用於排序的上級)", + "hide_promoted_attributes": "隱藏此筆記上的升級屬性", + "read_only": "編輯器處於唯讀模式。僅適用於文字和程式碼筆記。", + "auto_read_only_disabled": "文字/程式碼筆記可以在太大時自動設定為唯讀模式。您可以通過向筆記添加此標籤來對單個筆記單獨設定禁用唯讀。", + "app_css": "標記加載到Trilium應用程式中的CSS筆記,因此可以用於修改Trilium的外觀。", + "app_theme": "標記為完整的Trilium主題的CSS筆記,因此可以在Trilium選項中使用。", + "css_class": "該標籤的值將作為CSS類添加到樹中表示給定筆記的節點。這對於高級主題設定非常有用。可用於模板筆記。", + "icon_class": "該標籤的值將作為CSS類添加到樹中圖標上,有助於從視覺上區分筆記樹里的筆記。比如可以是 bx bx-home - 圖標來自boxicons。可用於模板筆記。", + "page_size": "筆記列表中每頁的項目數", + "custom_request_handler": "請參閱自定義請求處理程序 ", + "custom_resource_provider": "請參閱自定義請求處理程序", + "widget": "將此筆記標記為將添加到Trilium組件樹中的自定義小部件", + "workspace": "將此筆記標記為允許輕鬆提升的工作區", + "workspace_icon_class": "定義在選項卡中提升到此筆記時將使用的框圖圖標CSS類", + "workspace_tab_background_color": "提升到此筆記時在筆記選項卡中使用的CSS顏色", + "workspace_calendar_root": "定義每個工作區的日曆根", + "workspace_template": "在新增新筆記時,此筆記將出現在可用模板的選擇中,但僅當提升到包含此模板的工作區時", + "search_home": "新的搜尋筆記將作為此筆記的子筆記新增", + "workspace_search_home": "當提升到此工作區筆記的某個祖先時,新的搜尋筆記將作為此筆記的子筆記新增", + "inbox": "使用側邊欄中的\"新建筆記\"按鈕新增筆記時,默認收件箱位置。筆記將作為標有#inbox標籤的筆記的子筆記新增。", + "workspace_inbox": "當提升到此工作區筆記的某個祖先時,新的筆記的默認收件箱位置", + "sql_console_home": "SQL控制台筆記的默認位置", + "bookmark_folder": "含有此標籤的筆記將作為資料夾出現在書籤中(允許訪問其子筆記)", + "share_hidden_from_tree": "此筆記從左側導航樹中隱藏,但仍可通過其URL訪問", + "share_external_link": "筆記將在分享樹中作為指向外部網站的鏈接", + "share_alias": "使用此別名定義將在 https://你的trilium域名/share/[別名] 下可用的筆記", + "share_omit_default_css": "將省略默認的分享頁面CSS。當您進行廣泛的樣式修改時使用。", + "share_root": "標記作為在 /share 地址分享的根節點筆記。", + "share_description": "定義要添加到HTML meta標籤以供描述的文字", + "share_raw": "筆記將以其原始格式提供,不帶HTML包裝器", + "share_disallow_robot_indexing": "將通過X-Robots-Tag: noindex標頭禁止爬蟲機器人索引此筆記", + "share_credentials": "需要憑據才能訪問此分享筆記。值應以'username:password'格式提供。請勿忘記使其可繼承以應用於子筆記/圖片。", + "share_index": "含有此標籤的筆記將列出所有分享筆記的根", + "display_relations": "應顯示的逗號分隔關係名稱。將隱藏所有其他關係。", + "hide_relations": "應隱藏的逗號分隔關係名稱。將顯示所有其他關係。", + "title_template": "新增為此筆記的子筆記時的默認標題。該值將作為JavaScript字符串評估\n 並因此可以通過注入的nowparentNote變量豐富動態內容。示例:\n \n
    \n
  • ${parentNote.getLabelValue('authorName')}的文學作品
  • \n
  • Log for ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n 有關詳細資訊,請參見詳細資訊wiki,API文檔parentNotenow。", + "template": "新增新筆記時將出現在可用模板的選擇中的筆記", + "toc": "#toc#toc=show將強制顯示目錄。 #toc=hide將強制隱藏它。如果標籤不存在,則觀察全局設定", + "color": "定義筆記樹、鏈接等中筆記的顏色。使用任何有效的CSS顏色值,如'red'或#a13d5f", + "keyboard_shortcut": "定義立即跳轉到此筆記的鍵盤快捷鍵。示例:'ctrl+alt+e'。需要前端重新加載才能生效。", + "keep_current_hoisting": "即使筆記不在當前提升的子樹中顯示,打開此鏈接也不會修改提升。", + "execute_button": "將執行當前程式碼筆記的按鈕標題", + "execute_description": "顯示與執行按鈕一起顯示的當前程式碼筆記的更長描述", + "exclude_from_note_map": "含有此標籤的筆記將從筆記地圖中隱藏", + "new_notes_on_top": "新筆記將新增在上級筆記的頂部,而不是底部。", + "hide_highlight_widget": "隱藏高亮列表小部件", + "run_on_note_creation": "在後端新增筆記時執行。如果要為在特定子樹下新增的所有筆記運行腳本,請使用此關係。在這種情況下,在子樹根筆記上新增它並使其可繼承。在子樹中的任何深度新增新筆記都會觸發腳本。", + "run_on_child_note_creation": "當新增新的子筆記時執行", + "run_on_note_title_change": "當筆記標題修改時執行(包括筆記新增)", + "run_on_note_content_change": "當筆記內容修改時執行(包括筆記新增)。", + "run_on_note_change": "當筆記修改時執行(包括筆記新增)。不包括內容修改", + "run_on_note_deletion": "在刪除筆記時執行", + "run_on_branch_creation": "在新增分支時執行。分支是上級筆記和子筆記之間的鏈接,並且在複製或移動筆記時新增。", + "run_on_branch_change": "在分支更新時執行。", + "run_on_branch_deletion": "在刪除分支時執行。分支是上級筆記和子筆記之間的鏈接,例如在移動筆記時刪除(刪除舊的分支/鏈接)。", + "run_on_attribute_creation": "在為定義此關係的筆記新增新屬性時執行", + "run_on_attribute_change": "當修改定義此關係的筆記的屬性時執行。刪除屬性時也會觸發此操作。", + "relation_template": "即使沒有上下級關係,筆記的屬性也將繼承。如果空,則筆記的內容和子樹將添加到實例筆記中。有關詳細資訊,請參見文檔。", + "inherit": "即使沒有上下級關係,筆記的屬性也將繼承。有關類似概念的模板關係,請參見模板關係。請參閱文檔中的屬性繼承。", + "render_note": "「渲染HTML筆記」類型的筆記將使用程式碼筆記(HTML或腳本)進行呈現,因此需要指定要渲染的筆記", + "widget_relation": "此關係的目標將作為側邊欄中的小部件執行和呈現", + "share_css": "將注入分享頁面的CSS筆記。CSS筆記也必須位於分享子樹中。可以考慮一並使用'share_hidden_from_tree'和'share_omit_default_css'。", + "share_js": "將注入分享頁面的JavaScript筆記。JS筆記也必須位於分享子樹中。可以考慮一並使用'share_hidden_from_tree'。", + "share_template": "用作顯示分享筆記的模板的嵌入式JavaScript筆記。如果沒有,將回退到默認模板。可以考慮一並使用'share_hidden_from_tree'。", + "share_favicon": "在分享頁面中設定的favicon筆記。一般需要將它設定為分享和可繼承。Favicon筆記也必須位於分享子樹中。可以考慮一並使用'share_hidden_from_tree'。", + "is_owned_by_note": "由此筆記所有", + "other_notes_with_name": "其它含有 {{attributeType}} 名為 \"{{attributeName}}\" 的的筆記", + "and_more": "... 以及另外 {{count}} 個" + }, + "attribute_editor": { + "help_text_body1": "要添加標籤,只需輸入例如 #rock 或者如果您還想添加值,則例如 #year = 2020", + "help_text_body2": "對於關係,請輸入 ~author = @,這將顯示一個自動完成列表,您可以查找所需的筆記。", + "help_text_body3": "您也可以使用右側的 + 按鈕添加標籤和關係。

", + "save_attributes": "保存屬性 ", + "add_a_new_attribute": "添加新屬性", + "add_new_label": "添加新標籤 ", + "add_new_relation": "添加新關係 ", + "add_new_label_definition": "添加新標籤定義", + "add_new_relation_definition": "添加新關係定義", + "placeholder": "在此輸入標籤和關係" + }, + "abstract_bulk_action": { + "remove_this_search_action": "刪除此搜尋操作" + }, + "execute_script": { + "execute_script": "執行腳本", + "help_text": "您可以在匹配的筆記上執行簡單的腳本。", + "example_1": "例如,要在筆記標題後附加字符串,請使用以下腳本:", + "example_2": "更複雜的例子,刪除所有匹配的筆記屬性:" + }, + "add_label": { + "add_label": "添加標籤", + "label_name_placeholder": "標籤名稱", + "label_name_title": "允許使用字母、數字、下劃線和冒號。", + "to_value": "值為", + "new_value_placeholder": "新值", + "help_text": "在所有匹配的筆記上:", + "help_text_item1": "如果筆記尚無此標籤,則新增給定的標籤", + "help_text_item2": "或更改現有標籤的值", + "help_text_note": "您也可以在不指定值的情況下調用此方法,這種情況下,標籤將分配給沒有值的筆記。" + }, + "delete_label": { + "delete_label": "刪除標籤", + "label_name_placeholder": "標籤名稱", + "label_name_title": "允許使用字母、數字、下劃線和冒號。" + }, + "rename_label": { + "rename_label": "重新命名標籤", + "rename_label_from": "重新命名標籤從", + "old_name_placeholder": "舊名稱", + "to": "改為", + "new_name_placeholder": "新名稱", + "name_title": "允許使用字母、數字、下劃線和冒號。" + }, + "update_label_value": { + "update_label_value": "更新標籤值", + "label_name_placeholder": "標籤名稱", + "label_name_title": "允許使用字母、數字、下劃線和冒號。", + "to_value": "值為", + "new_value_placeholder": "新值", + "help_text": "在所有匹配的筆記上,更改現有標籤的值。", + "help_text_note": "您也可以在不指定值的情況下調用此方法,這種情況下,標籤將分配給沒有值的筆記。" + }, + "delete_note": { + "delete_note": "刪除筆記", + "delete_matched_notes": "刪除匹配的筆記", + "delete_matched_notes_description": "這將刪除匹配的筆記。", + "undelete_notes_instruction": "刪除後,可以從「最近修改」對話框中恢復它們。", + "erase_notes_instruction": "要永久擦除筆記,您可以在刪除後轉到「選項」->「其他」,然後單擊「立即擦除已刪除的筆記」按鈕。" + }, + "delete_revisions": { + "delete_note_revisions": "刪除筆記歷史", + "all_past_note_revisions": "所有匹配筆記的過去歷史都將被刪除。筆記本身將完全保留。換句話說,筆記的歷史將被刪除。" + }, + "move_note": { + "move_note": "移動筆記", + "to": "到", + "target_parent_note": "目標上級筆記", + "on_all_matched_notes": "對於所有匹配的筆記", + "move_note_new_parent": "如果筆記只有一個上級(即舊分支被移除並新增新分支到新上級),則將筆記移動到新上級", + "clone_note_new_parent": "如果筆記有多個複製/分支(不清楚應該移除哪個分支),則將筆記複製到新上級", + "nothing_will_happen": "如果筆記無法移動到目標筆記(即這會新增一個樹循環),則不會發生任何事情" + }, + "rename_note": { + "rename_note": "重新命名筆記", + "rename_note_title_to": "重新命名筆記標題為", + "new_note_title": "新筆記標題", + "click_help_icon": "點擊右側的幫助圖標查看所有選項", + "evaluated_as_js_string": "給定的值被評估為 JavaScript 字符串,因此可以通過注入的 note 變量(正在重新命名的筆記)豐富動態內容。 例如:", + "example_note": "Note - 所有匹配的筆記都被重新命名為「Note」", + "example_new_title": "NEW: ${note.title} - 匹配的筆記標題以「NEW: 」為前綴", + "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - 匹配的筆記以筆記的新增月份-日期為前綴", + "api_docs": "有關詳細資訊,請參閱筆記及其dateCreatedObj / utcDateCreatedObj 屬性的API文檔。" + }, + "add_relation": { + "add_relation": "添加關係", + "relation_name": "關係名稱", + "allowed_characters": "允許的字符為字母數字、下劃線和冒號。", + "to": "到", + "target_note": "目標筆記", + "create_relation_on_all_matched_notes": "在所有匹配的筆記上新增指定的關係。" + }, + "delete_relation": { + "delete_relation": "刪除關係", + "relation_name": "關係名稱", + "allowed_characters": "允許的字符為字母數字、下劃線和冒號。" + }, + "rename_relation": { + "rename_relation": "重新命名關係", + "rename_relation_from": "重新命名關係,從", + "old_name": "舊名稱", + "to": "改為", + "new_name": "新名稱", + "allowed_characters": "允許的字符為字母數字、下劃線和冒號。" + }, + "update_relation_target": { + "update_relation": "更新關係", + "relation_name": "關係名稱", + "allowed_characters": "允許的字符為字母數字、下劃線和冒號。", + "to": "到", + "target_note": "目標筆記", + "on_all_matched_notes": "在所有匹配的筆記上", + "change_target_note": "或更改現有關係的目標筆記", + "update_relation_target": "更新關係目標" + }, + "attachments_actions": { + "open_externally": "用外部程序打開", + "open_externally_title": "文件將會在外部應用程式中打開,並監視其更改。然後您可以將修改後的版本上傳回 Trilium。", + "open_custom": "自定義打開方式", + "open_custom_title": "文件將會在外部應用程式中打開,並監視其更改。然後您可以將修改後的版本上傳回 Trilium。", + "download": "下載", + "rename_attachment": "重新命名附件", + "upload_new_revision": "上傳新版本", + "copy_link_to_clipboard": "複製鏈接到剪貼簿", + "convert_attachment_into_note": "將附件轉換為筆記", + "delete_attachment": "刪除附件", + "upload_success": "已上傳新附件版本。", + "upload_failed": "新附件版本上傳失敗。", + "open_externally_detail_page": "外部打開附件僅在詳細頁面中可用,請首先點擊附件詳細資訊,然後重復此操作。", + "open_custom_client_only": "自定義打開附件只能通過客戶端完成。", + "delete_confirm": "您確定要刪除附件 '{{title}}' 嗎?", + "delete_success": "附件 '{{title}}' 已被刪除。", + "convert_confirm": "您確定要將附件 '{{title}}' 轉換為單獨的筆記嗎?", + "convert_success": "附件 '{{title}}' 已轉換為筆記。", + "enter_new_name": "請輸入附件的新名稱" + }, + "calendar": { + "mon": "一", + "tue": "二", + "wed": "三", + "thu": "四", + "fri": "五", + "sat": "六", + "sun": "日", + "cannot_find_day_note": "無法找到日記", + "january": "一月", + "febuary": "二月", + "march": "三月", + "april": "四月", + "may": "五月", + "june": "六月", + "july": "七月", + "august": "八月", + "september": "九月", + "october": "十月", + "november": "十一月", + "december": "十二月" + }, + "close_pane_button": { + "close_this_pane": "關閉此面板" + }, + "create_pane_button": { + "create_new_split": "拆分面板" + }, + "edit_button": { + "edit_this_note": "編輯此筆記" + }, + "show_toc_widget_button": { + "show_toc": "顯示目錄" + }, + "show_highlights_list_widget_button": { + "show_highlights_list": "顯示高亮列表" + }, + "global_menu": { + "menu": "菜單", + "options": "選項", + "open_new_window": "打開新窗口", + "switch_to_mobile_version": "切換到移動版", + "switch_to_desktop_version": "切換到桌面版", + "zoom": "縮放", + "toggle_fullscreen": "切換全熒幕", + "zoom_out": "縮小", + "reset_zoom_level": "重置縮放級別", + "zoom_in": "放大", + "configure_launchbar": "設定啓動欄", + "show_shared_notes_subtree": "顯示分享筆記子樹", + "advanced": "高級", + "open_dev_tools": "打開開發工具", + "open_sql_console": "打開SQL控制台", + "open_sql_console_history": "打開SQL控制台歷史記錄", + "open_search_history": "打開搜尋歷史", + "show_backend_log": "顯示後台日誌", + "reload_hint": "重新加載可以幫助解決一些視覺故障,而無需重新啓動整個應用程式。", + "reload_frontend": "重新加載前端", + "show_hidden_subtree": "顯示隱藏子樹", + "show_help": "顯示幫助", + "about": "關於 TriliumNext 筆記", + "logout": "登出" + }, + "sync_status": { + "unknown": "

同步狀態將在下一次同步嘗試開始後顯示。

點擊以立即觸發同步。

", + "connected_with_changes": "

已連接到同步伺服器。
有一些未同步的變更。

點擊以觸發同步。

", + "connected_no_changes": "

已連接到同步伺服器。
所有變更均已同步。

點擊以觸發同步。

", + "disconnected_with_changes": "

連接同步伺服器失敗。
有一些未同步的變更。

點擊以觸發同步。

", + "disconnected_no_changes": "

連接同步伺服器失敗。
所有已知變更均已同步。

點擊以觸發同步。

", + "in_progress": "正在與伺服器進行同步。" + }, + "left_pane_toggle": { + "show_panel": "顯示面板", + "hide_panel": "隱藏面板" + }, + "move_pane_button": { + "move_left": "向左移動", + "move_right": "向右移動" + }, + "note_actions": { + "convert_into_attachment": "轉換為附件", + "re_render_note": "重新渲染筆記", + "search_in_note": "在筆記中搜尋", + "note_source": "筆記源程式碼", + "note_attachments": "筆記附件", + "open_note_externally": "用外部程序打開筆記", + "open_note_externally_title": "文件將在外部應用程式中打開,並監視其更改。然後您可以將修改後的版本上傳回 Trilium。", + "open_note_custom": "使用自定義程序打開筆記", + "import_files": "匯入文件", + "export_note": "匯出筆記", + "delete_note": "刪除筆記", + "print_note": "打印筆記", + "save_revision": "保存筆記歷史", + "convert_into_attachment_failed": "筆記 '{{title}}' 轉換失敗。", + "convert_into_attachment_successful": "筆記 '{{title}}' 已成功轉換為附件。", + "convert_into_attachment_prompt": "確定要將筆記 '{{title}}' 轉換為上級筆記的附件嗎?" + }, + "onclick_button": { + "no_click_handler": "按鈕組件'{{componentId}}'沒有定義點擊處理程序" + }, + "protected_session_status": { + "active": "受保護的會話已激活。點擊退出受保護的會話。", + "inactive": "點擊進入受保護的會話" + }, + "revisions_button": { + "note_revisions": "筆記修改歷史" + }, + "update_available": { + "update_available": "有更新可用" + }, + "note_launcher": { + "this_launcher_doesnt_define_target_note": "此啓動器未定義目標筆記。" + }, + "code_buttons": { + "execute_button_title": "執行腳本", + "trilium_api_docs_button_title": "打開 Trilium API 文檔", + "save_to_note_button_title": "保存到筆記", + "opening_api_docs_message": "正在打開 API 文檔...", + "sql_console_saved_message": "SQL 控制台已保存到 {{note_path}}" + }, + "copy_image_reference_button": { + "button_title": "複製圖片引用到剪貼簿,可貼上到文字筆記中。" + }, + "hide_floating_buttons_button": { + "button_title": "隱藏按鈕" + }, + "show_floating_buttons_button": { + "button_title": "顯示按鈕" + }, + "svg_export_button": { + "button_title": "匯出SVG格式圖片" + }, + "relation_map_buttons": { + "create_child_note_title": "新增新的子筆記並添加到關係圖", + "reset_pan_zoom_title": "重置平移和縮放到初始坐標和放大倍率", + "zoom_in_title": "放大", + "zoom_out_title": "縮小" + }, + "zpetne_odkazy": { + "backlink": "{{count}} 個反鏈", + "backlinks": "{{count}} 個反鏈", + "relation": "關係" + }, + "mobile_detail_menu": { + "insert_child_note": "插入子筆記", + "delete_this_note": "刪除此筆記", + "error_cannot_get_branch_id": "無法獲取 notePath '{{notePath}}' 的 branchId", + "error_unrecognized_command": "無法識別的命令 {{command}}" + }, + "note_icon": { + "change_note_icon": "更改筆記圖標", + "category": "類別:", + "search": "搜尋:", + "reset-default": "重置為默認圖標" + }, + "basic_properties": { + "note_type": "筆記類型", + "editable": "可編輯", + "basic_properties": "基本屬性" + }, + "book_properties": { + "view_type": "視圖類型", + "grid": "網格", + "list": "列表", + "collapse_all_notes": "折疊所有筆記", + "expand_all_children": "展開所有子項", + "collapse": "折疊", + "expand": "展開", + "invalid_view_type": "無效的查看類型 '{{type}}'" + }, + "edited_notes": { + "no_edited_notes_found": "今天還沒有編輯過的筆記...", + "title": "編輯過的筆記", + "deleted": "(已刪除)" + }, + "file_properties": { + "note_id": "筆記 ID", + "original_file_name": "原始文件名", + "file_type": "文件類型", + "file_size": "文件大小", + "download": "下載", + "open": "打開", + "upload_new_revision": "上傳新版本", + "upload_success": "已上傳新文件版本。", + "upload_failed": "新文件版本上傳失敗。", + "title": "文件" + }, + "image_properties": { + "original_file_name": "原始文件名", + "file_type": "文件類型", + "file_size": "文件大小", + "download": "下載", + "open": "打開", + "copy_reference_to_clipboard": "複製引用到剪貼簿", + "upload_new_revision": "上傳新版本", + "upload_success": "已上傳新圖片版本。", + "upload_failed": "新圖片版本上傳失敗:{{message}}", + "title": "圖片" + }, + "inherited_attribute_list": { + "title": "繼承的屬性", + "no_inherited_attributes": "沒有繼承的屬性。" + }, + "note_info_widget": { + "note_id": "筆記ID", + "created": "新增時間", + "modified": "修改時間", + "type": "類型", + "note_size": "筆記大小", + "note_size_info": "筆記大小提供了該筆記存儲需求的粗略估計。它考慮了筆記的內容及其筆記歷史的內容。", + "calculate": "計算", + "subtree_size": "(子樹大小: {{size}}, 共計 {{count}} 個筆記)", + "title": "筆記資訊" + }, + "note_map": { + "open_full": "展開顯示", + "collapse": "折疊到正常大小", + "title": "筆記地圖" + }, + "note_paths": { + "title": "筆記路徑", + "clone_button": "複製筆記到新位置...", + "intro_placed": "此筆記放置在以下路徑中:", + "intro_not_placed": "此筆記尚未放入筆記樹中。", + "outside_hoisted": "此路徑在提升的筆記之外,您需要取消提升。", + "archived": "已歸檔", + "search": "搜尋" + }, + "note_properties": { + "this_note_was_originally_taken_from": "筆記來源:", + "info": "資訊" + }, + "owned_attribute_list": { + "owned_attributes": "擁有的屬性" + }, + "promoted_attributes": { + "promoted_attributes": "升級屬性", + "url_placeholder": "http://網站鏈接...", + "open_external_link": "打開外部鏈接", + "unknown_label_type": "未知的標籤類型 '{{type}}'", + "unknown_attribute_type": "未知的屬性類型 '{{type}}'", + "add_new_attribute": "添加新屬性", + "remove_this_attribute": "移除此屬性" + }, + "script_executor": { + "query": "查詢", + "script": "腳本", + "execute_query": "執行查詢", + "execute_script": "執行腳本" + }, + "search_definition": { + "add_search_option": "添加搜尋選項:", + "search_string": "搜尋字符串", + "search_script": "搜尋腳本", + "ancestor": "祖先", + "fast_search": "快速搜尋", + "fast_search_description": "快速搜尋選項禁用筆記內容的全文搜尋,這可能會加速大資料庫中的搜尋。", + "include_archived": "包含歸檔", + "include_archived_notes_description": "歸檔的筆記默認不包含在搜尋結果中,使用此選項將包含它們。", + "order_by": "排序方式", + "limit": "限制", + "limit_description": "限制結果數量", + "debug": "除錯", + "debug_description": "除錯將打印額外的除錯資訊到控制台,以幫助除錯複雜查詢", + "action": "操作", + "search_button": "搜尋 Enter", + "search_execute": "搜尋並執行操作", + "save_to_note": "保存到筆記", + "search_parameters": "搜尋參數", + "unknown_search_option": "未知的搜尋選項 {{searchOptionName}}", + "search_note_saved": "搜尋筆記已保存到 {{- notePathTitle}}", + "actions_executed": "已執行操作。" + }, + "similar_notes": { + "title": "相似筆記", + "no_similar_notes_found": "未找到相似的筆記。" + }, + "abstract_search_option": { + "remove_this_search_option": "刪除此搜尋選項", + "failed_rendering": "渲染搜尋選項失敗:{{dto}},錯誤資訊:{{error}},堆棧:{{stack}}" + }, + "ancestor": { + "label": "祖先", + "placeholder": "按名稱搜尋筆記", + "depth_label": "深度", + "depth_doesnt_matter": "任意", + "depth_eq": "正好是 {{count}}", + "direct_children": "直接下代", + "depth_gt": "大於 {{count}}", + "depth_lt": "小於 {{count}}" + }, + "debug": { + "debug": "除錯", + "debug_info": "除錯將打印額外的除錯資訊到控制台,以幫助除錯複雜的查詢。", + "access_info": "要訪問除錯資訊,請執行查詢並點擊左上角的「顯示後端日誌」。" + }, + "fast_search": { + "fast_search": "快速搜尋", + "description": "快速搜尋選項禁用筆記內容的全文搜尋,這可能會加快在大型資料庫中的搜尋速度。" + }, + "include_archived_notes": { + "include_archived_notes": "包括已歸檔的筆記" + }, + "limit": { + "limit": "限制", + "take_first_x_results": "僅取前X個指定結果。" + }, + "order_by": { + "order_by": "排序依據", + "relevancy": "相關性(默認)", + "title": "標題", + "date_created": "新增日期", + "date_modified": "最後修改日期", + "content_size": "筆記內容大小", + "content_and_attachments_size": "筆記內容大小(包括附件)", + "content_and_attachments_and_revisions_size": "筆記內容大小(包括附件和筆記歷史)", + "revision_count": "歷史數量", + "children_count": "子筆記數量", + "parent_count": "複製數量", + "owned_label_count": "標籤數量", + "owned_relation_count": "關係數量", + "target_relation_count": "指向筆記的關係數量", + "random": "隨機順序", + "asc": "升序(默認)", + "desc": "降序" + }, + "search_script": { + "title": "搜尋腳本:", + "placeholder": "按名稱搜尋筆記", + "description1": "搜尋腳本允許通過運行腳本來定義搜尋結果。這在標準搜尋不足時提供了最大的靈活性。", + "description2": "搜尋腳本必須是類型為\"程式碼\"和子類型為\"JavaScript後端\"。腳本需要返回一個noteIds或notes數組。", + "example_title": "請看這個例子:", + "example_code": "// 1. 使用標準搜尋進行預過濾\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. 應用自定義搜尋條件\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", + "note": "注意,搜尋腳本和搜尋字符串不能相互結合使用。" + }, + "search_string": { + "title_column": "搜尋字符串:", + "placeholder": "全文關鍵詞,#標籤 = 值 ...", + "search_syntax": "搜尋語法", + "also_see": "另見", + "complete_help": "完整的搜尋語法幫助", + "full_text_search": "只需輸入任何文字進行全文搜尋", + "label_abc": "返回帶有標籤abc的筆記", + "label_year": "匹配帶有標籤年份且值為2019的筆記", + "label_rock_pop": "匹配同時具有rock和pop標籤的筆記", + "label_rock_or_pop": "只需一個標籤存在即可", + "label_year_comparison": "數字比較(也包括>,>=,<)。", + "label_date_created": "上個月新增的筆記", + "error": "搜尋錯誤:{{error}}", + "search_prefix": "搜尋:" + }, + "attachment_detail": { + "open_help_page": "打開附件幫助頁面", + "owning_note": "所屬筆記: ", + "you_can_also_open": ",你還可以打開", + "list_of_all_attachments": "所有附件列表", + "attachment_deleted": "該附件已被刪除。" + }, + "attachment_list": { + "open_help_page": "打開附件幫助頁面", + "owning_note": "所屬筆記: ", + "upload_attachments": "上傳附件", + "no_attachments": "此筆記沒有附件。" + }, + "book": { + "no_children_help": "此類型為書籍的筆記沒有任何子筆記,因此沒有內容顯示。請參閱 wiki 瞭解詳情" + }, + "editable_code": { + "placeholder": "在這裡輸入您的程式碼筆記內容..." + }, + "editable_text": { + "placeholder": "在這裡輸入您的筆記內容..." + }, + "empty": { + "open_note_instruction": "通過在下面的輸入框中輸入筆記標題或在樹中選擇筆記來打開筆記。", + "search_placeholder": "按名稱搜尋筆記", + "enter_workspace": "進入工作區 {{title}}" + }, + "file": { + "file_preview_not_available": "此文件格式不支持預覽。" + }, + "protected_session": { + "enter_password_instruction": "顯示受保護的筆記需要輸入您的密碼:", + "start_session_button": "開始受保護的會話 Enter", + "started": "已啓動受保護的會話。", + "wrong_password": "密碼錯誤。", + "protecting-finished-successfully": "已成功完成保護操作。", + "unprotecting-finished-successfully": "已成功完成解除保護操作。", + "protecting-in-progress": "保護進行中:{{count}}", + "unprotecting-in-progress-count": "解除保護進行中:{{count}}", + "protecting-title": "保護狀態", + "unprotecting-title": "解除保護狀態" + }, + "relation_map": { + "open_in_new_tab": "在新標籤頁中打開", + "remove_note": "刪除筆記", + "edit_title": "編輯標題", + "rename_note": "重新命名筆記", + "enter_new_title": "輸入新的筆記標題:", + "remove_relation": "刪除關係", + "confirm_remove_relation": "你確定要刪除這個關係嗎?", + "specify_new_relation_name": "指定新的關係名稱(允許的字符:字母數字、冒號和下劃線):", + "connection_exists": "筆記之間的連接 '{{name}}' 已經存在。", + "start_dragging_relations": "從這裡開始拖動關係,並將其放置到另一個筆記上。", + "note_not_found": "筆記 {{noteId}} 未找到!", + "cannot_match_transform": "無法匹配變換:{{transform}}", + "note_already_in_diagram": "筆記 \"{{title}}\" 已經在圖中。", + "enter_title_of_new_note": "輸入新筆記的標題", + "default_new_note_title": "新筆記", + "click_on_canvas_to_place_new_note": "點擊畫布以放置新筆記" + }, + "render": { + "note_detail_render_help_1": "之所以顯示此幫助說明,是因為該類型的渲染HTML沒有設定好必須的關聯關係。", + "note_detail_render_help_2": "渲染筆記類型用於編寫 腳本。簡單說就是你可以寫HTML程式碼(或者加上一些JavaScript程式碼), 然後這個筆記會把頁面渲染出來。要使其正常工作,您需要定義一個名為 \"renderNote\" 的關係 關係 指向要呈現的 HTML 筆記。" + }, + "web_view": { + "web_view": "網頁視圖", + "embed_websites": "網頁視圖類型的筆記允許您將網站嵌入到 Trilium 中。", + "create_label": "首先,請新增一個帶有您要嵌入的 URL 地址的標籤,例如 #webViewSrc=\"https://www.bing.com\"" + }, + "backend_log": { + "refresh": "刷新" + }, + "consistency_checks": { + "title": "檢查一致性", + "find_and_fix_button": "查找並修復一致性問題", + "finding_and_fixing_message": "正在查找並修復一致性問題...", + "issues_fixed_message": "一致性問題應該已被修復。" + }, + "database_anonymization": { + "title": "資料庫匿名化", + "full_anonymization": "完全匿名化", + "full_anonymization_description": "此操作將新增一個新的資料庫副本並進行匿名化處理(刪除所有筆記內容,僅保留結構和一些非敏感元數據),用來分享到網上做除錯而不用擔心洩漏你的個人資料。", + "save_fully_anonymized_database": "保存完全匿名化的資料庫", + "light_anonymization": "輕度匿名化", + "light_anonymization_description": "此操作將新增一個新的資料庫副本,並對其進行輕度匿名化處理——僅刪除所有筆記的內容,但保留標題和屬性。此外,自定義JS前端/後端腳本筆記和自定義小部件將保留。這提供了更多上下文以除錯問題。", + "choose_anonymization": "您可以自行決定是提供完全匿名化還是輕度匿名化的資料庫。即使是完全匿名化的資料庫也非常有用,但在某些情況下,輕度匿名化的資料庫可以加快錯誤識別和修復的過程。", + "save_lightly_anonymized_database": "保存輕度匿名化的資料庫", + "existing_anonymized_databases": "現有的匿名化資料庫", + "creating_fully_anonymized_database": "正在新增完全匿名化的資料庫...", + "creating_lightly_anonymized_database": "正在新增輕度匿名化的資料庫...", + "error_creating_anonymized_database": "無法新增匿名化資料庫,請檢查後端日誌以獲取詳細資訊", + "successfully_created_fully_anonymized_database": "成功新增完全匿名化的資料庫,路徑為{{anonymizedFilePath}}", + "successfully_created_lightly_anonymized_database": "成功新增輕度匿名化的資料庫,路徑為{{anonymizedFilePath}}", + "no_anonymized_database_yet": "尚無匿名化資料庫" + }, + "database_integrity_check": { + "title": "資料庫完整性檢查", + "description": "檢查SQLite資料庫是否損壞。根據資料庫的大小,可能會需要一些時間。", + "check_button": "檢查資料庫完整性", + "checking_integrity": "正在檢查資料庫完整性...", + "integrity_check_succeeded": "完整性檢查成功 - 未發現問題。", + "integrity_check_failed": "完整性檢查失敗: {{results}}" + }, + "sync": { + "title": "同步", + "force_full_sync_button": "強制全量同步", + "fill_entity_changes_button": "填充實體變更記錄", + "full_sync_triggered": "已觸發全量同步", + "filling_entity_changes": "正在填充實體變更行...", + "sync_rows_filled_successfully": "同步行填充成功", + "finished-successfully": "已完成同步。", + "failed": "同步失敗:{{message}}" + }, + "vacuum_database": { + "title": "資料庫清理", + "description": "這會重建資料庫,通常會減少佔用空間,不會刪除數據。", + "button_text": "清理資料庫", + "vacuuming_database": "正在清理資料庫...", + "database_vacuumed": "已清理資料庫" + }, + "fonts": { + "theme_defined": "跟隨主題", + "fonts": "字體", + "main_font": "主字體", + "font_family": "字體系列", + "size": "大小", + "note_tree_font": "筆記樹字體", + "note_detail_font": "筆記詳情字體", + "monospace_font": "等寬(程式碼)字體", + "note_tree_and_detail_font_sizing": "請注意,筆記樹字體和詳細字體的大小相對於主字體大小設定。", + "not_all_fonts_available": "並非所有列出的字體都可能在您的系統上可用。", + "apply_font_changes": "要應用字體更改,請點擊", + "reload_frontend": "重新加載前端" + }, + "max_content_width": { + "title": "內容寬度", + "default_description": "Trilium默認會限制內容的最大寬度以提高在寬屏中全熒幕時的可讀性。", + "max_width_label": "內容最大寬度(像素)", + "apply_changes_description": "要應用內容寬度更改,請點擊", + "reload_button": "重新加載前端", + "reload_description": "來自外觀選項的更改" + }, + "native_title_bar": { + "title": "原生標題欄(需要重新啓動應用)", + "enabled": "啓用", + "disabled": "禁用" + }, + "ribbon": { + "widgets": "功能選項組件", + "promoted_attributes_message": "如果筆記中存在升級屬性,則自動打開升級屬性選項卡", + "edited_notes_message": "日記筆記自動打開編輯過的筆記選項" + }, + "theme": { + "title": "主題", + "theme_label": "主題", + "override_theme_fonts_label": "覆蓋主題字體", + "light_theme": "淺色", + "dark_theme": "深色", + "layout": "佈局", + "layout-vertical-title": "垂直", + "layout-horizontal-title": "水平", + "layout-vertical-description": "啓動欄位於左側(默認)", + "layout-horizontal-description": "啓動欄位於標籤欄下方,標籤欄現在是全寬的。" + }, + "zoom_factor": { + "title": "縮放系數(僅桌面客戶端有效)", + "description": "縮放也可以通過 CTRL+- 和 CTRL+= 快捷鍵進行控制。" + }, + "code_auto_read_only_size": { + "title": "自動唯讀大小", + "description": "自動唯讀大小是指筆記超過設定的大小後自動設定為唯讀模式(為性能考慮)。", + "label": "自動唯讀大小(程式碼筆記)" + }, + "code_mime_types": { + "title": "下拉菜單可用的MIME文件類型" + }, + "vim_key_bindings": { + "use_vim_keybindings_in_code_notes": "Vim 快捷鍵", + "enable_vim_keybindings": "在程式碼筆記中啓用 Vim 快捷鍵(不包含 ex 模式)" + }, + "wrap_lines": { + "wrap_lines_in_code_notes": "程式碼筆記自動換行", + "enable_line_wrap": "啓用自動換行(需要重新加載前端才會生效)" + }, + "images": { + "images_section_title": "圖片", + "download_images_automatically": "自動下載圖片以供離線使用。", + "download_images_description": "貼上的 HTML 可能包含在線圖片的引用,Trilium 會找到這些引用並下載圖片,以便它們可以離線使用。", + "enable_image_compression": "啓用圖片壓縮", + "max_image_dimensions": "圖片的最大寬度/高度(超過此限制的圖片將會被縮放)。", + "jpeg_quality_description": "JPEG 質量(10 - 最差質量,100 最佳質量,建議為 50 - 85)" + }, + "attachment_erasure_timeout": { + "attachment_erasure_timeout": "附件清理超時", + "attachment_auto_deletion_description": "如果附件在一段時間後不再被筆記引用,它們將自動被刪除(並被清理)。", + "manual_erasing_description": "您還可以手動觸發清理(而不考慮上述定義的超時時間):", + "erase_unused_attachments_now": "立即清理未使用的附件筆記", + "unused_attachments_erased": "未使用的附件已被刪除。" + }, + "network_connections": { + "network_connections_title": "網絡連接", + "check_for_updates": "自動檢查更新" + }, + "note_erasure_timeout": { + "note_erasure_timeout_title": "筆記清理超時", + "note_erasure_description": "被刪除的筆記(以及屬性、歷史版本等)最初僅被標記為「刪除」,可以從「最近修改」對話框中恢復它們。經過一段時間後,已刪除的筆記會被「清理」,這意味著它們的內容將無法恢復。此設定允許您設定從刪除到清除筆記之間的時間長度。", + "manual_erasing_description": "您還可以手動觸發清理(不考慮上述定義的超時):", + "erase_deleted_notes_now": "立即清理已刪除的筆記", + "deleted_notes_erased": "已刪除的筆記已被清理。" + }, + "revisions_snapshot_limit": { + "note_revisions_snapshot_limit_title": "筆記歷史快照限制", + "note_revisions_snapshot_limit_description": "筆記歷史快照數限制指的是每個筆記可以保存的最大歷史記錄數量。其中 -1 表示沒有限制,0 表示刪除所有歷史記錄。你可以通過 #versioningLimit 標籤設定單個筆記的最大歷史記錄數量。", + "snapshot_number_limit_label": "筆記歷史快照數量限制:", + "erase_excess_revision_snapshots": "立即刪除多餘的歷史快照", + "erase_excess_revision_snapshots_prompt": "多餘的歷史快照已被刪除。" + }, + "search_engine": { + "title": "搜尋引擎", + "custom_search_engine_info": "自定義搜尋引擎需要設定名稱和URL。如果這兩者之一未設定,將默認使用DuckDuckGo作為搜尋引擎。", + "predefined_templates_label": "預定義搜尋引擎模板", + "bing": "Bing", + "baidu": "百度", + "duckduckgo": "DuckDuckGo", + "google": "Google", + "custom_name_label": "自定義搜尋引擎名稱", + "custom_name_placeholder": "自定義搜尋引擎名稱", + "custom_url_label": "自定義搜尋引擎URL應包含 {keyword} 作為搜尋詞的佔位符。", + "custom_url_placeholder": "自定義搜尋引擎URL", + "save_button": "保存" + }, + "tray": { + "title": "系統匣", + "enable_tray": "啓用系統匣圖標(需要重啓生效)" + }, + "heading_style": { + "title": "標題風格", + "plain": "純文字", + "underline": "下劃線", + "markdown": "Markdown風格" + }, + "highlights_list": { + "title": "高亮列表", + "description": "您可以自定義右側面板中顯示的高亮列表:", + "bold": "粗體", + "italic": "斜體", + "underline": "下劃線", + "color": "字體顏色", + "bg_color": "背景顏色", + "visibility_title": "高亮列表可見性", + "visibility_description": "您可以通過添加 #hideHighlightWidget 標籤來隱藏每個筆記的高亮小部件。", + "shortcut_info": "您可以在選項 -> 快捷鍵中為快速切換右側面板(包括高亮列表)設定鍵盤快捷鍵(名稱為 'toggleRightPane')。" + }, + "table_of_contents": { + "title": "目錄", + "description": "當筆記中有超過一定數量的標題時,顯示目錄。您可以自定義此數量:", + "disable_info": "您可以設定一個非常大的數來禁用目錄。", + "shortcut_info": "您可以在 「選項」 -> 「快捷鍵」 中設定一個鍵盤快捷鍵,以便快速切換右側面板(包括目錄)(名稱為 'toggleRightPane')。" + }, + "text_auto_read_only_size": { + "title": "自動唯讀大小", + "description": "自動唯讀筆記大小是超過該大小後,筆記將以唯讀模式顯示(出於性能考慮)。", + "label": "自動唯讀大小(文字筆記)" + }, + "i18n": { + "title": "本地化", + "language": "語言", + "first-day-of-the-week": "一周的第一天", + "sunday": "星期日", + "monday": "星期一" + }, + "backup": { + "automatic_backup": "自動備份", + "automatic_backup_description": "Trilium 可以自動備份資料庫:", + "enable_daily_backup": "啓用每日備份", + "enable_weekly_backup": "啓用每周備份", + "enable_monthly_backup": "啓用每月備份", + "backup_recommendation": "建議打開備份功能,但這可能會使大型資料庫和/或慢速存儲設備的應用程式啓動變慢。", + "backup_now": "立即備份", + "backup_database_now": "立即備份資料庫", + "existing_backups": "現有備份", + "date-and-time": "日期和時間", + "path": "路徑", + "database_backed_up_to": "資料庫已備份到 {{backupFilePath}}", + "no_backup_yet": "尚無備份" + }, + "etapi": { + "title": "ETAPI", + "description": "ETAPI 是一個 REST API,用於以編程方式訪問 Trilium 實例,而無需 UI。", + "wiki": "維基", + "openapi_spec": "ETAPI OpenAPI 規範", + "create_token": "新增新的 ETAPI 令牌", + "existing_tokens": "現有令牌", + "no_tokens_yet": "目前還沒有令牌。點擊上面的按鈕新增一個。", + "token_name": "令牌名稱", + "created": "新增時間", + "actions": "操作", + "new_token_title": "新 ETAPI 令牌", + "new_token_message": "請輸入新的令牌名稱", + "default_token_name": "新令牌", + "error_empty_name": "令牌名稱不能為空", + "token_created_title": "ETAPI 令牌已新增", + "token_created_message": "將新增的令牌複製到剪貼簿。Trilium 存儲了令牌的哈希值,這是你最後一次看到它。", + "rename_token": "重新命名此令牌", + "delete_token": "刪除/停用此令牌", + "rename_token_title": "重新命名令牌", + "rename_token_message": "請輸入新的令牌名稱", + "delete_token_confirmation": "你確定要刪除 ETAPI 令牌 \"{{name}}\" 嗎?" + }, + "options_widget": { + "options_status": "選項狀態", + "options_change_saved": "選項更改已保存。" + }, + "password": { + "heading": "密碼", + "alert_message": "請務必記住您的新密碼。密碼用於登錄 Web 界面和加密保護的筆記。如果您忘記了密碼,所有保護的筆記將永久丟失。", + "reset_link": "點擊這裡重置。", + "old_password": "舊密碼", + "new_password": "新密碼", + "new_password_confirmation": "新密碼確認", + "change_password": "更改密碼", + "protected_session_timeout": "保護會話超時", + "protected_session_timeout_description": "保護會話超時是一個時間段,超時後保護會話會從瀏覽器內存中清除。這是從最後一次與保護筆記的交互開始計時的。更多資訊請見", + "wiki": "維基", + "for_more_info": "更多資訊。", + "reset_confirmation": "重置密碼將永久喪失對所有現受保護筆記的訪問。您真的要重置密碼嗎?", + "reset_success_message": "密碼已重置。請設定新密碼", + "change_password_heading": "更改密碼", + "set_password_heading": "設定密碼", + "set_password": "設定密碼", + "password_mismatch": "新密碼不一致。", + "password_changed_success": "密碼已更改。按 OK 後 Trilium 將重新加載。" + }, + "shortcuts": { + "keyboard_shortcuts": "快捷鍵", + "multiple_shortcuts": "同一操作的多個快捷鍵可以用逗號分隔。", + "electron_documentation": "請參閱 Electron文檔,瞭解可用的修飾符和鍵碼。", + "type_text_to_filter": "輸入文字以過濾快捷鍵...", + "action_name": "操作名稱", + "shortcuts": "快捷鍵", + "default_shortcuts": "默認快捷鍵", + "description": "描述", + "reload_app": "重新加載應用以應用更改", + "set_all_to_default": "將所有快捷鍵重置為默認值", + "confirm_reset": "您確定要將所有鍵盤快捷鍵重置為默認值嗎?" + }, + "spellcheck": { + "title": "拼寫檢查", + "description": "這些選項僅適用於桌面版本,瀏覽器將使用其原生的拼寫檢查功能。", + "enable": "啓用拼寫檢查", + "language_code_label": "語言程式碼", + "language_code_placeholder": "例如 \"en-US\", \"de-AT\"", + "multiple_languages_info": "多種語言可以用逗號分隔,例如 \"en-US, de-DE, cs\"。", + "available_language_codes_label": "可用的語言程式碼:", + "restart-required": "拼寫檢查選項的更改將在應用重啓後生效。" + }, + "sync_2": { + "config_title": "同步設定", + "server_address": "伺服器地址", + "timeout": "同步超時(單位:毫秒)", + "proxy_label": "同步代理伺服器(可選)", + "note": "注意", + "note_description": "代理設定留空則使用系統代理(僅桌面客戶端有效)。", + "special_value_description": "另一個特殊值是 noproxy,它強制忽略系統代理並遵守 NODE_TLS_REJECT_UNAUTHORIZED。", + "save": "保存", + "help": "幫助", + "test_title": "同步測試", + "test_description": "測試和同步伺服器之間的連接。如果同步伺服器沒有初始化,會將本地文檔同步到同步伺服器上。", + "test_button": "測試同步", + "handshake_failed": "同步伺服器握手失敗,錯誤:{{message}}" + }, + "api_log": { + "close": "關閉" + }, + "attachment_detail_2": { + "will_be_deleted_in": "此附件將在 {{time}} 後自動刪除", + "will_be_deleted_soon": "該附件將很快被自動刪除", + "deletion_reason": ",因為該附件未鏈接在筆記的內容中。為防止被刪除,請將附件鏈接重新添加到內容中或將附件轉換為筆記。", + "role_and_size": "角色: {{role}}, 大小: {{size}}", + "link_copied": "附件鏈接已複製到剪貼簿。", + "unrecognized_role": "無法識別的附件角色 '{{role}}'。" + }, + "bookmark_switch": { + "bookmark": "書籤", + "bookmark_this_note": "將此筆記添加到左側面板的書籤", + "remove_bookmark": "移除書籤" + }, + "editability_select": { + "auto": "自動", + "read_only": "唯讀", + "always_editable": "始終可編輯", + "note_is_editable": "筆記如果不太長則可編輯。", + "note_is_read_only": "筆記為唯讀,但可以通過點擊按鈕進行編輯。", + "note_is_always_editable": "無論筆記長度如何,始終可編輯。" + }, + "note-map": { + "button-link-map": "鏈接地圖", + "button-tree-map": "樹形地圖" + }, + "tree-context-menu": { + "open-in-a-new-tab": "在新標籤頁中打開 Ctrl+Click", + "open-in-a-new-split": "在新分欄中打開", + "insert-note-after": "在後面插入筆記", + "insert-child-note": "插入子筆記", + "delete": "刪除", + "search-in-subtree": "在子樹中搜尋", + "hoist-note": "提升筆記", + "unhoist-note": "取消提升筆記", + "edit-branch-prefix": "編輯分支前綴", + "advanced": "高級", + "expand-subtree": "展開子樹", + "collapse-subtree": "折疊子樹", + "sort-by": "排序方式...", + "recent-changes-in-subtree": "子樹中的最近更改", + "convert-to-attachment": "轉換為附件", + "copy-note-path-to-clipboard": "複製筆記路徑到剪貼簿", + "protect-subtree": "保護子樹", + "unprotect-subtree": "取消保護子樹", + "copy-clone": "複製 / 複製", + "clone-to": "複製到...", + "cut": "剪下", + "move-to": "移動到...", + "paste-into": "貼上到裡面", + "paste-after": "貼上到後面", + "export": "匯出", + "import-into-note": "匯入到筆記", + "apply-bulk-actions": "應用批量操作", + "converted-to-attachments": "{{count}} 個筆記已被轉換為附件。", + "convert-to-attachment-confirm": "確定要將選中的筆記轉換為其上級筆記的附件嗎?" + }, + "shared_info": { + "shared_publicly": "此筆記已公開分享在", + "shared_locally": "此筆記已在本地分享在", + "help_link": "如需幫助,請訪問 wiki。" + }, + "note_types": { + "text": "文字", + "code": "程式碼", + "saved-search": "保存的搜尋", + "relation-map": "關係圖", + "note-map": "筆記地圖", + "render-note": "渲染筆記", + "mermaid-diagram": "美人魚圖(Mermaid)", + "canvas": "畫布", + "web-view": "網頁視圖", + "mind-map": "心智圖", + "file": "文件", + "image": "圖片", + "launcher": "啓動器", + "doc": "文檔", + "widget": "小部件", + "confirm-change": "當筆記內容不為空時,不建議更改筆記類型。您仍然要繼續嗎?" + }, + "protect_note": { + "toggle-on": "保護筆記", + "toggle-off": "取消保護筆記", + "toggle-on-hint": "筆記未受保護,點擊以保護", + "toggle-off-hint": "筆記已受保護,點擊以取消保護" + }, + "shared_switch": { + "shared": "已分享", + "toggle-on-title": "分享筆記", + "toggle-off-title": "取消分享筆記", + "shared-branch": "此筆記僅作為共享筆記存在,取消共享將刪除它。你確定要繼續並刪除此筆記嗎?", + "inherited": "此筆記無法在此處取消共享,因為它通過繼承自上級筆記共享。" + }, + "template_switch": { + "template": "模板", + "toggle-on-hint": "將此筆記設為模板", + "toggle-off-hint": "取消筆記模板設定" + }, + "open-help-page": "打開幫助頁面", + "find": { + "case_sensitive": "區分大小寫", + "match_words": "匹配單詞", + "find_placeholder": "在文字中查找...", + "replace_placeholder": "替換為...", + "replace": "替換", + "replace_all": "全部替換" + }, + "highlights_list_2": { + "title": "高亮列表", + "options": "選項" + }, + "quick-search": { + "placeholder": "快速搜尋", + "searching": "正在搜尋...", + "no-results": "未找到結果", + "more-results": "... 以及另外 {{number}} 個結果。", + "show-in-full-search": "在完整的搜尋界面中顯示" + }, + "note_tree": { + "collapse-title": "折疊筆記樹", + "scroll-active-title": "滾動到活動筆記", + "tree-settings-title": "樹設定", + "hide-archived-notes": "隱藏已歸檔筆記", + "automatically-collapse-notes": "自動折疊筆記", + "automatically-collapse-notes-title": "筆記在一段時間內未使用將被折疊,以減少樹形結構的雜亂。", + "save-changes": "保存並應用更改", + "auto-collapsing-notes-after-inactivity": "在不活動後自動折疊筆記...", + "saved-search-note-refreshed": "已保存的搜尋筆記已刷新。" + }, + "title_bar_buttons": { + "window-on-top": "保持此窗口置頂" + }, + "note_detail": { + "could_not_find_typewidget": "找不到類型為 '{{type}}' 的 typeWidget" + }, + "note_title": { + "placeholder": "請輸入筆記標題..." + }, + "search_result": { + "no_notes_found": "沒有找到符合搜尋條件的筆記。", + "search_not_executed": "尚未執行搜尋。請點擊上方的\"搜尋\"按鈕查看結果。" + }, + "spacer": { + "configure_launchbar": "設定啓動欄" + }, + "sql_result": { + "no_rows": "此查詢沒有返回任何數據" + }, + "sql_table_schemas": { + "tables": "表" + }, + "tab_row": { + "close_tab": "關閉標籤頁", + "add_new_tab": "添加新標籤頁", + "close": "關閉", + "close_other_tabs": "關閉其他標籤頁", + "close_right_tabs": "關閉右側標籤頁", + "close_all_tabs": "關閉所有標籤頁", + "reopen_last_tab": "重新打開最後一個關閉的標籤頁", + "move_tab_to_new_window": "將此標籤頁移動到新窗口", + "copy_tab_to_new_window": "將此標籤頁複製到新窗口", + "new_tab": "新標籤頁" + }, + "toc": { + "table_of_contents": "目錄", + "options": "選項" + }, + "watched_file_update_status": { + "file_last_modified": "文件 最後修改時間為 。", + "upload_modified_file": "上傳修改的文件", + "ignore_this_change": "忽略此更改" + }, + "app_context": { + "please_wait_for_save": "請等待幾秒鐘以完成保存,然後您可以嘗試再操作一次。" + }, + "note_create": { + "duplicated": "筆記 \"{{title}}\" 已被複製。" + }, + "image": { + "copied-to-clipboard": "圖片的引用已複製到剪貼簿,可以貼上到任何文字筆記中。", + "cannot-copy": "無法將圖片引用複製到剪貼簿。" + }, + "clipboard": { + "cut": "已剪下筆記到剪貼簿。", + "copied": "已複製筆記到剪貼簿。" + }, + "entrypoints": { + "note-revision-created": "已新增筆記修訂。", + "note-executed": "已執行筆記。", + "sql-error": "執行 SQL 查詢時發生錯誤:{{message}}" + }, + "branches": { + "cannot-move-notes-here": "無法將筆記移動到這裡。", + "delete-status": "刪除狀態", + "delete-notes-in-progress": "正在刪除筆記:{{count}}", + "delete-finished-successfully": "刪除成功完成。", + "undeleting-notes-in-progress": "正在恢復刪除的筆記:{{count}}", + "undeleting-notes-finished-successfully": "恢復刪除的筆記已成功完成。" + }, + "frontend_script_api": { + "async_warning": "您正在將一個異步函數傳遞給 `api.runOnBackend()`,這可能無法按預期工作。\\n要麼使該函數同步(通過移除 `async` 關鍵字),要麼使用 `api.runAsyncOnBackendWithManualTransactionHandling()`。", + "sync_warning": "您正在將一個同步函數傳遞給 `api.runAsyncOnBackendWithManualTransactionHandling()`,\\n而您可能應該使用 `api.runOnBackend()`。" + }, + "ws": { + "sync-check-failed": "同步檢查失敗!", + "consistency-checks-failed": "一致性檢查失敗!請查看日誌瞭解詳細資訊。", + "encountered-error": "遇到錯誤 \"{{message}}\",請查看控制台。" + }, + "hoisted_note": { + "confirm_unhoisting": "請求的筆記 '{{requestedNote}}' 位於提升的筆記 '{{hoistedNote}}' 的子樹之外,您必須取消提升才能訪問該筆記。是否繼續取消提升?" + }, + "launcher_context_menu": { + "reset_launcher_confirm": "您確定要重置 \"{{title}}\" 嗎?此筆記(及其子項)中的所有數據/設定將丟失,且啓動器將恢復到其原始位置。", + "add-note-launcher": "添加筆記啓動器", + "add-script-launcher": "添加腳本啓動器", + "add-custom-widget": "添加自定義小部件", + "add-spacer": "添加間隔", + "delete": "刪除 ", + "reset": "重置", + "move-to-visible-launchers": "移動到可見啓動器", + "move-to-available-launchers": "移動到可用啓動器", + "duplicate-launcher": "複製啓動器 " + }, + "editable-text": { + "auto-detect-language": "自動檢測" + }, + "highlighting": { + "description": "控制文字筆記中程式碼塊的語法高亮,程式碼筆記不會受到影響。", + "color-scheme": "顏色方案" + }, + "code_block": { + "word_wrapping": "自動換行", + "theme_none": "無格式高亮", + "theme_group_light": "淺色主題", + "theme_group_dark": "深色主題" + }, + "classic_editor_toolbar": { + "title": "格式化" + }, + "editor": { + "title": "編輯器" + }, + "editing": { + "editor_type": { + "label": "格式化工具欄", + "floating": { + "title": "浮動", + "description": "編輯工具出現在遊標附近;" + }, + "fixed": { + "title": "固定", + "description": "編輯工具出現在 \"格式化\" 功能區標籤中。" + } + } + }, + "electron_context_menu": { + "add-term-to-dictionary": "將 \"{{term}}\" 添加到字典", + "cut": "剪下", + "copy": "複製", + "copy-link": "複製鏈接", + "paste": "貼上", + "paste-as-plain-text": "以純文字貼上", + "search_online": "用 {{searchEngine}} 搜尋 \"{{term}}\"" + }, + "image_context_menu": { + "copy_reference_to_clipboard": "複製引用到剪貼簿", + "copy_image_to_clipboard": "複製圖片到剪貼簿" + }, + "link_context_menu": { + "open_note_in_new_tab": "在新標籤頁中打開筆記", + "open_note_in_new_split": "在新分屏中打開筆記", + "open_note_in_new_window": "在新窗口中打開筆記" } - }, - "add_link": { - "add_link": "添加鏈接", - "help_on_links": "鏈接幫助", - "close": "關閉", - "note": "筆記", - "search_note": "按名稱搜尋筆記", - "link_title_mirrors": "鏈接標題跟隨筆記標題變化", - "link_title_arbitrary": "鏈接標題可隨意修改", - "link_title": "鏈接標題", - "button_add_link": "添加鏈接 Enter" - }, - "branch_prefix": { - "edit_branch_prefix": "編輯分支前綴", - "help_on_tree_prefix": "有關樹前綴的幫助", - "close": "關閉", - "prefix": "前綴:", - "save": "保存", - "branch_prefix_saved": "已保存分支前綴。" - }, - "bulk_actions": { - "bulk_actions": "批量操作", - "close": "關閉", - "affected_notes": "受影響的筆記", - "include_descendants": "包括所選筆記的子筆記", - "available_actions": "可用操作", - "chosen_actions": "選擇的操作", - "execute_bulk_actions": "執行批量操作", - "bulk_actions_executed": "已成功執行批量操作。", - "none_yet": "暫無操作 ... 通過點擊上方的可用操作添加一個操作。", - "labels": "標籤", - "relations": "關聯關係", - "notes": "筆記", - "other": "其它" - }, - "clone_to": { - "clone_notes_to": "複製筆記到...", - "help_on_links": "鏈接幫助", - "notes_to_clone": "要複製的筆記", - "target_parent_note": "目標上級筆記", - "search_for_note_by_its_name": "按名稱搜尋筆記", - "cloned_note_prefix_title": "複製的筆記將在筆記樹中顯示給定的前綴", - "prefix_optional": "前綴(可選)", - "clone_to_selected_note": "複製到選定的筆記 Enter", - "no_path_to_clone_to": "沒有複製路徑。", - "note_cloned": "筆記 \"{{clonedTitle}}\" 已複製到 \"{{targetTitle}}\"" - }, - "confirm": { - "confirmation": "確認", - "cancel": "取消", - "ok": "確定", - "are_you_sure_remove_note": "確定要從關係圖中移除筆記 \"{{title}}\" ?", - "if_you_dont_check": "如果不選中此項,筆記將僅從關係圖中移除。", - "also_delete_note": "同時刪除筆記" - }, - "delete_notes": { - "delete_notes_preview": "刪除筆記預覽", - "delete_all_clones_description": "同時刪除所有複製(可以在最近修改中撤消)", - "erase_notes_description": "通常(軟)刪除僅標記筆記為已刪除,可以在一段時間內通過最近修改對話框撤消。選中此選項將立即擦除筆記,無法撤銷。", - "erase_notes_warning": "永久擦除筆記(無法撤銷),包括所有複製。這將強制應用程式重新加載。", - "notes_to_be_deleted": "將刪除以下筆記 ({{- noteCount}})", - "no_note_to_delete": "沒有筆記將被刪除(僅複製)。", - "broken_relations_to_be_deleted": "將刪除以下關係並斷開連接 ({{- relationCount}})", - "cancel": "取消", - "ok": "確定", - "deleted_relation_text": "筆記 {{- note}} (將被刪除的筆記) 被以下關係 {{- relation}} 引用, 來自 {{- source}}。" - }, - "export": { - "export_note_title": "匯出筆記", - "close": "關閉", - "export_type_subtree": "此筆記及其所有子筆記", - "format_html_zip": "HTML ZIP 歸檔 - 建議使用此選項,因為它保留了所有格式。", - "format_markdown": "Markdown - 保留大部分格式。", - "format_opml": "OPML - 大綱交換格式,僅限文字。不包括格式、圖片和文件。", - "opml_version_1": "OPML v1.0 - 僅限純文字", - "opml_version_2": "OPML v2.0 - 還允許 HTML", - "export_type_single": "僅此筆記,不包括子筆記", - "export": "匯出", - "choose_export_type": "請先選擇匯出類型", - "export_status": "匯出狀態", - "export_in_progress": "匯出進行中:{{progressCount}}", - "export_finished_successfully": "匯出成功完成。" - }, - "help": { - "fullDocumentation": "幫助(完整在線文檔)", - "close": "關閉", - "noteNavigation": "筆記導航", - "goUpDown": "UP, DOWN - 在筆記列表中向上/向下移動", - "collapseExpand": "LEFT, RIGHT - 折疊/展開節點", - "notSet": "未設定", - "goBackForwards": "在歷史記錄中前後移動", - "showJumpToNoteDialog": "顯示\"跳轉到\" 對話框", - "scrollToActiveNote": "滾動到活動筆記", - "jumpToParentNote": "Backspace - 跳轉到上級筆記", - "collapseWholeTree": "折疊整個筆記樹", - "collapseSubTree": "折疊子樹", - "tabShortcuts": "標籤快捷鍵", - "newTabNoteLink": "CTRL+click - 在筆記鏈接上使用CTRL+點擊(或中鍵點擊)在新標籤中打開筆記", - "onlyInDesktop": "僅在桌面版(電子構建)中", - "openEmptyTab": "打開空白標籤頁", - "closeActiveTab": "關閉活動標籤頁", - "activateNextTab": "激活下一個標籤頁", - "activatePreviousTab": "激活上一個標籤頁", - "creatingNotes": "新增筆記", - "createNoteAfter": "在活動筆記後新增新筆記", - "createNoteInto": "在活動筆記中新增新子筆記", - "editBranchPrefix": "編輯活動筆記複製的前綴", - "movingCloningNotes": "移動/複製筆記", - "moveNoteUpDown": "在筆記列表中向上/向下移動筆記", - "moveNoteUpHierarchy": "在層級結構中向上移動筆記", - "multiSelectNote": "多選上/下筆記", - "selectAllNotes": "選擇當前級別的所有筆記", - "selectNote": "Shift+Click - 選擇筆記", - "copyNotes": "將活動筆記(或當前選擇)複製到剪貼簿(用於複製)", - "cutNotes": "將當前筆記(或當前選擇)剪下到剪貼簿(用於移動筆記)", - "pasteNotes": "將筆記貼上為活動筆記的子筆記(根據是複製還是剪下到剪貼簿來決定是移動還是複製)", - "deleteNotes": "刪除筆記/子樹", - "editingNotes": "編輯筆記", - "editNoteTitle": "在樹形筆記樹中,焦點會從筆記樹切換到筆記標題。按下 Enter 鍵會將焦點從筆記標題切換到文字編輯器。按下 Ctrl+. 會將焦點從編輯器切換回筆記樹。", - "createEditLink": "Ctrl+K - 新增/編輯外部鏈接", - "createInternalLink": "新增內部鏈接", - "followLink": "跟隨遊標下的鏈接", - "insertDateTime": "在插入點插入當前日期和時間", - "jumpToTreePane": "跳轉到樹面板並滾動到活動筆記", - "markdownAutoformat": "類Markdown自動格式化", - "headings": "##, ###, #### 等,後跟空格,自動轉換為標題", - "bulletList": "*- 後跟空格,自動轉換為項目符號列表", - "numberedList": "1. or 1) 後跟空格,自動轉換為編號列表", - "blockQuote": "一行以 > 開頭並後跟空格,自動轉換為塊引用", - "troubleshooting": "故障排除", - "reloadFrontend": "重新加載Trilium前端", - "showDevTools": "顯示開發者工具", - "showSQLConsole": "顯示SQL控制台", - "other": "其他", - "quickSearch": "定位到快速搜尋框", - "inPageSearch": "頁面內搜尋" - }, - "import": { - "importIntoNote": "匯入到筆記", - "close": "關閉", - "chooseImportFile": "選擇匯入文件", - "importDescription": "所選文件的內容將作為子筆記匯入到", - "options": "選項", - "safeImportTooltip": "Trilium .zip 匯出文件可能包含可能有害的可執行腳本。安全匯入將停用所有匯入腳本的自動執行。僅當您完全信任匯入的可執行腳本的內容時,才取消選中「安全匯入」。", - "safeImport": "安全匯入", - "explodeArchivesTooltip": "如果選中此項,則Trilium將讀取.zip.enex.opml文件,並從這些歸檔文件內部的文件新增筆記。如果未選中,則Trilium會將這些歸檔文件本身附加到筆記中。", - "explodeArchives": "讀取.zip.enex.opml歸檔文件的內容。", - "shrinkImagesTooltip": "

如果選中此選項,Trilium將嘗試通過縮放和優化來縮小匯入的圖片,這可能會影響圖片的感知質量。如果未選中,圖片將不做修改地匯入。

這不適用於帶有元數據的.zip匯入,因為這些文件已被假定為已優化。

", - "shrinkImages": "壓縮圖片", - "textImportedAsText": "如果元數據不明確,將HTML、Markdown和TXT匯入為文字筆記", - "codeImportedAsCode": "如果元數據不明確,將識別的程式碼文件(例如.json)匯入為程式碼筆記", - "replaceUnderscoresWithSpaces": "在匯入的筆記名稱中將下劃線替換為空格", - "import": "匯入", - "failed": "匯入失敗: {{message}}." - }, - "include_note": { - "dialog_title": "包含筆記", - "label_note": "筆記", - "placeholder_search": "按名稱搜尋筆記", - "box_size_prompt": "包含筆記的框大小:", - "box_size_small": "小型 (顯示大約10行)", - "box_size_medium": "中型 (顯示大約30行)", - "box_size_full": "完整顯示(完整文字框)", - "button_include": "包含筆記 Enter" - }, - "info": { - "modalTitle": "資訊消息", - "closeButton": "關閉", - "okButton": "確定" - }, - "jump_to_note": { - "search_placeholder": "", - "search_button": "全文搜尋 Ctrl+Enter" - }, - "markdown_import": { - "dialog_title": "Markdown 匯入", - "modal_body_text": "由於瀏覽器沙盒的限制,無法直接從 JavaScript 讀取剪貼簿內容。請將要匯入的 Markdown 文字貼上到下面的文字框中,然後點擊匯入按鈕", - "import_button": "匯入 Ctrl+Enter", - "import_success": "已成功匯入 Markdown 內容文檔。" - }, - "move_to": { - "dialog_title": "移動筆記到...", - "notes_to_move": "需要移動的筆記", - "target_parent_note": "目標上級筆記", - "search_placeholder": "通過名稱搜尋筆記", - "move_button": "移動到選定的筆記 Enter", - "error_no_path": "沒有可以移動到的路徑。", - "move_success_message": "已移動所選筆記到 " - }, - "note_type_chooser": { - "modal_title": "選擇筆記類型", - "modal_body": "選擇新筆記的類型或模板:", - "templates": "模板:" - }, - "password_not_set": { - "title": "密碼未設定", - "body1": "受保護的筆記使用用戶密碼加密,但密碼尚未設定。", - "body2": "點擊這裡打開選項對話框並設定您的密碼。" - }, - "prompt": { - "title": "提示", - "ok": "確定 Enter", - "defaultTitle": "提示" - }, - "protected_session_password": { - "modal_title": "保護會話", - "help_title": "關於保護筆記的幫助", - "close_label": "關閉", - "form_label": "輸入密碼進入保護會話以繼續:", - "start_button": "開始保護會話 Enter" - }, - "recent_changes": { - "title": "最近修改", - "erase_notes_button": "立即清理已刪除的筆記", - "deleted_notes_message": "已清理刪除的筆記。", - "no_changes_message": "暫無修改...", - "undelete_link": "恢復刪除", - "confirm_undelete": "您確定要恢復此筆記及其子筆記嗎?" - }, - "revisions": { - "note_revisions": "筆記歷史版本", - "delete_all_revisions": "刪除此筆記的所有歷史版本", - "delete_all_button": "刪除所有歷史版本", - "help_title": "關於筆記歷史版本的幫助", - "revision_last_edited": "此歷史版本上次編輯於 {{date}}", - "confirm_delete_all": "您是否要刪除此筆記的所有歷史版本?", - "no_revisions": "此筆記暫無歷史版本...", - "restore_button": "", - "confirm_restore": "您是否要恢復此歷史版本?這將使用此歷史版本覆蓋筆記的當前標題和內容。", - "delete_button": "", - "confirm_delete": "您是否要刪除此歷史版本?", - "revisions_deleted": "已刪除筆記歷史版本。", - "revision_restored": "已恢復筆記歷史版本。", - "revision_deleted": "已刪除筆記歷史版本。", - "snapshot_interval": "筆記快照保存間隔: {{seconds}}秒。", - "maximum_revisions": "當前筆記的最歷史數量: {{number}}。", - "settings": "筆記歷史設定", - "download_button": "下載", - "mime": "MIME類型:", - "file_size": "文件大小:", - "preview": "預覽:", - "preview_not_available": "無法預覽此類型的筆記。" - }, - "sort_child_notes": { - "sort_children_by": "按...排序子筆記", - "sorting_criteria": "排序條件", - "title": "標題", - "date_created": "新增日期", - "date_modified": "修改日期", - "sorting_direction": "排序方向", - "ascending": "升序", - "descending": "降序", - "folders": "資料夾", - "sort_folders_at_top": "將資料夾置頂排序", - "natural_sort": "自然排序", - "sort_with_respect_to_different_character_sorting": "根據不同語言或地區的字符排序和排序規則排序。", - "natural_sort_language": "自然排序語言", - "the_language_code_for_natural_sort": "自然排序的語言程式碼,例如繁體中文的 \"zh-TW\"。", - "sort": "排序 Enter" - }, - "upload_attachments": { - "upload_attachments_to_note": "上傳附件到筆記", - "choose_files": "選擇文件", - "files_will_be_uploaded": "文件將作為附件上傳到", - "options": "選項", - "shrink_images": "縮小圖片", - "upload": "上傳", - "tooltip": "如果您勾選此選項,Trilium 將嘗試通過縮放和優化來縮小上傳的圖片,這可能會影響感知的圖片質量。如果未選中,則將以不進行修改的方式上傳圖片。" - }, - "attribute_detail": { - "attr_detail_title": "屬性詳情標題", - "close_button_title": "取消修改並關閉", - "attr_is_owned_by": "屬性所有者", - "attr_name_title": "屬性名稱只能由字母數字字符、冒號和下劃線組成", - "name": "名稱", - "value": "值", - "target_note_title": "關係是源筆記和目標筆記之間的命名連接。", - "target_note": "目標筆記", - "promoted_title": "升級屬性在筆記上突出顯示。", - "promoted": "升級", - "promoted_alias_title": "在升級屬性界面中顯示的名稱。", - "promoted_alias": "別名", - "multiplicity_title": "多重性定義了可以新增的含有相同名稱的屬性的數量 - 最多為1或多於1。", - "multiplicity": "多重性", - "single_value": "單值", - "multi_value": "多值", - "label_type_title": "標籤類型將幫助 Trilium 選擇適合的界面來輸入標籤值。", - "label_type": "類型", - "text": "文字", - "number": "數字", - "boolean": "布林值", - "date": "日期", - "date_time": "日期和時間", - "time": "時間", - "url": "網址", - "precision_title": "值設定界面中浮點數後的位數。", - "precision": "精度", - "digits": "位數", - "inverse_relation_title": "可選設定,定義此關係與哪個關係相反。例如:上級 - 子級是彼此的反向關係。", - "inverse_relation": "反向關係", - "inheritable_title": "可繼承屬性將被繼承到此樹下的所有後代。", - "inheritable": "可繼承", - "save_and_close": "保存並關閉 Ctrl+Enter", - "delete": "刪除", - "related_notes_title": "含有此標籤的其他筆記", - "more_notes": "更多筆記", - "label": "標籤詳情", - "label_definition": "標籤定義詳情", - "relation": "關係詳情", - "relation_definition": "關係定義詳情", - "disable_versioning": "禁用自動版本控制。適用於例如大型但不重要的筆記 - 例如用於腳本編寫的大型JS庫", - "calendar_root": "標記應用作為每日筆記的根。只應標記一個筆記。", - "archived": "含有此標籤的筆記默認在搜尋結果中不可見(也適用於跳轉到、添加鏈接對話框等)。", - "exclude_from_export": "筆記(及其子樹)不會包含在任何筆記匯出中", - "run": "定義腳本應運行的事件。可能的值包括:\n
    \n
  • frontendStartup - Trilium前端啓動時(或刷新時),但不會在移動端執行。
  • \n
  • mobileStartup - Trilium前端啓動時(或刷新時), 在移動端會執行。
  • \n
  • backendStartup - Trilium後端啓動時
  • \n
  • hourly - 每小時運行一次。您可以使用附加標籤runAtHour指定小時。
  • \n
  • daily - 每天運行一次
  • \n
", - "run_on_instance": "定義應在哪個Trilium實例上運行。默認為所有實例。", - "run_at_hour": "應在哪個小時運行。應與#run=hourly一起使用。可以多次定義,以便一天內運行多次。", - "disable_inclusion": "含有此標籤的腳本不會包含在父腳本執行中。", - "sorted": "按標題字母順序保持子筆記排序", - "sort_direction": "ASC(默認)或DESC", - "sort_folders_first": "資料夾(含有子筆記的筆記)應排在頂部", - "top": "在其上級中保留給定筆記在頂部(僅適用於排序的上級)", - "hide_promoted_attributes": "隱藏此筆記上的升級屬性", - "read_only": "編輯器處於唯讀模式。僅適用於文字和程式碼筆記。", - "auto_read_only_disabled": "文字/程式碼筆記可以在太大時自動設定為唯讀模式。您可以通過向筆記添加此標籤來對單個筆記單獨設定禁用唯讀。", - "app_css": "標記加載到Trilium應用程式中的CSS筆記,因此可以用於修改Trilium的外觀。", - "app_theme": "標記為完整的Trilium主題的CSS筆記,因此可以在Trilium選項中使用。", - "css_class": "該標籤的值將作為CSS類添加到樹中表示給定筆記的節點。這對於高級主題設定非常有用。可用於模板筆記。", - "icon_class": "該標籤的值將作為CSS類添加到樹中圖標上,有助於從視覺上區分筆記樹里的筆記。比如可以是 bx bx-home - 圖標來自boxicons。可用於模板筆記。", - "page_size": "筆記列表中每頁的項目數", - "custom_request_handler": "請參閱自定義請求處理程序 ", - "custom_resource_provider": "請參閱自定義請求處理程序", - "widget": "將此筆記標記為將添加到Trilium組件樹中的自定義小部件", - "workspace": "將此筆記標記為允許輕鬆提升的工作區", - "workspace_icon_class": "定義在選項卡中提升到此筆記時將使用的框圖圖標CSS類", - "workspace_tab_background_color": "提升到此筆記時在筆記選項卡中使用的CSS顏色", - "workspace_calendar_root": "定義每個工作區的日曆根", - "workspace_template": "在新增新筆記時,此筆記將出現在可用模板的選擇中,但僅當提升到包含此模板的工作區時", - "search_home": "新的搜尋筆記將作為此筆記的子筆記新增", - "workspace_search_home": "當提升到此工作區筆記的某個祖先時,新的搜尋筆記將作為此筆記的子筆記新增", - "inbox": "使用側邊欄中的\"新建筆記\"按鈕新增筆記時,默認收件箱位置。筆記將作為標有#inbox標籤的筆記的子筆記新增。", - "workspace_inbox": "當提升到此工作區筆記的某個祖先時,新的筆記的默認收件箱位置", - "sql_console_home": "SQL控制台筆記的默認位置", - "bookmark_folder": "含有此標籤的筆記將作為資料夾出現在書籤中(允許訪問其子筆記)", - "share_hidden_from_tree": "此筆記從左側導航樹中隱藏,但仍可通過其URL訪問", - "share_external_link": "筆記將在分享樹中作為指向外部網站的鏈接", - "share_alias": "使用此別名定義將在 https://你的trilium域名/share/[別名] 下可用的筆記", - "share_omit_default_css": "將省略默認的分享頁面CSS。當您進行廣泛的樣式修改時使用。", - "share_root": "標記作為在 /share 地址分享的根節點筆記。", - "share_description": "定義要添加到HTML meta標籤以供描述的文字", - "share_raw": "筆記將以其原始格式提供,不帶HTML包裝器", - "share_disallow_robot_indexing": "將通過X-Robots-Tag: noindex標頭禁止爬蟲機器人索引此筆記", - "share_credentials": "需要憑據才能訪問此分享筆記。值應以'username:password'格式提供。請勿忘記使其可繼承以應用於子筆記/圖片。", - "share_index": "含有此標籤的筆記將列出所有分享筆記的根", - "display_relations": "應顯示的逗號分隔關係名稱。將隱藏所有其他關係。", - "hide_relations": "應隱藏的逗號分隔關係名稱。將顯示所有其他關係。", - "title_template": "新增為此筆記的子筆記時的默認標題。該值將作為JavaScript字符串評估\n 並因此可以通過注入的nowparentNote變量豐富動態內容。示例:\n \n
    \n
  • ${parentNote.getLabelValue('authorName')}的文學作品
  • \n
  • Log for ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n 有關詳細資訊,請參見詳細資訊wiki,API文檔parentNotenow。", - "template": "新增新筆記時將出現在可用模板的選擇中的筆記", - "toc": "#toc#toc=show將強制顯示目錄。 #toc=hide將強制隱藏它。如果標籤不存在,則觀察全局設定", - "color": "定義筆記樹、鏈接等中筆記的顏色。使用任何有效的CSS顏色值,如'red'或#a13d5f", - "keyboard_shortcut": "定義立即跳轉到此筆記的鍵盤快捷鍵。示例:'ctrl+alt+e'。需要前端重新加載才能生效。", - "keep_current_hoisting": "即使筆記不在當前提升的子樹中顯示,打開此鏈接也不會修改提升。", - "execute_button": "將執行當前程式碼筆記的按鈕標題", - "execute_description": "顯示與執行按鈕一起顯示的當前程式碼筆記的更長描述", - "exclude_from_note_map": "含有此標籤的筆記將從筆記地圖中隱藏", - "new_notes_on_top": "新筆記將新增在上級筆記的頂部,而不是底部。", - "hide_highlight_widget": "隱藏高亮列表小部件", - "run_on_note_creation": "在後端新增筆記時執行。如果要為在特定子樹下新增的所有筆記運行腳本,請使用此關係。在這種情況下,在子樹根筆記上新增它並使其可繼承。在子樹中的任何深度新增新筆記都會觸發腳本。", - "run_on_child_note_creation": "當新增新的子筆記時執行", - "run_on_note_title_change": "當筆記標題修改時執行(包括筆記新增)", - "run_on_note_content_change": "當筆記內容修改時執行(包括筆記新增)。", - "run_on_note_change": "當筆記修改時執行(包括筆記新增)。不包括內容修改", - "run_on_note_deletion": "在刪除筆記時執行", - "run_on_branch_creation": "在新增分支時執行。分支是上級筆記和子筆記之間的鏈接,並且在複製或移動筆記時新增。", - "run_on_branch_change": "在分支更新時執行。", - "run_on_branch_deletion": "在刪除分支時執行。分支是上級筆記和子筆記之間的鏈接,例如在移動筆記時刪除(刪除舊的分支/鏈接)。", - "run_on_attribute_creation": "在為定義此關係的筆記新增新屬性時執行", - "run_on_attribute_change": "當修改定義此關係的筆記的屬性時執行。刪除屬性時也會觸發此操作。", - "relation_template": "即使沒有上下級關係,筆記的屬性也將繼承。如果空,則筆記的內容和子樹將添加到實例筆記中。有關詳細資訊,請參見文檔。", - "inherit": "即使沒有上下級關係,筆記的屬性也將繼承。有關類似概念的模板關係,請參見模板關係。請參閱文檔中的屬性繼承。", - "render_note": "「渲染HTML筆記」類型的筆記將使用程式碼筆記(HTML或腳本)進行呈現,因此需要指定要渲染的筆記", - "widget_relation": "此關係的目標將作為側邊欄中的小部件執行和呈現", - "share_css": "將注入分享頁面的CSS筆記。CSS筆記也必須位於分享子樹中。可以考慮一並使用'share_hidden_from_tree'和'share_omit_default_css'。", - "share_js": "將注入分享頁面的JavaScript筆記。JS筆記也必須位於分享子樹中。可以考慮一並使用'share_hidden_from_tree'。", - "share_template": "用作顯示分享筆記的模板的嵌入式JavaScript筆記。如果沒有,將回退到默認模板。可以考慮一並使用'share_hidden_from_tree'。", - "share_favicon": "在分享頁面中設定的favicon筆記。一般需要將它設定為分享和可繼承。Favicon筆記也必須位於分享子樹中。可以考慮一並使用'share_hidden_from_tree'。", - "is_owned_by_note": "由此筆記所有", - "other_notes_with_name": "其它含有 {{attributeType}} 名為 \"{{attributeName}}\" 的的筆記", - "and_more": "... 以及另外 {{count}} 個" - }, - "attribute_editor": { - "help_text_body1": "要添加標籤,只需輸入例如 #rock 或者如果您還想添加值,則例如 #year = 2020", - "help_text_body2": "對於關係,請輸入 ~author = @,這將顯示一個自動完成列表,您可以查找所需的筆記。", - "help_text_body3": "您也可以使用右側的 + 按鈕添加標籤和關係。

", - "save_attributes": "保存屬性 ", - "add_a_new_attribute": "添加新屬性", - "add_new_label": "添加新標籤 ", - "add_new_relation": "添加新關係 ", - "add_new_label_definition": "添加新標籤定義", - "add_new_relation_definition": "添加新關係定義", - "placeholder": "在此輸入標籤和關係" - }, - "abstract_bulk_action": { - "remove_this_search_action": "刪除此搜尋操作" - }, - "execute_script": { - "execute_script": "執行腳本", - "help_text": "您可以在匹配的筆記上執行簡單的腳本。", - "example_1": "例如,要在筆記標題後附加字符串,請使用以下腳本:", - "example_2": "更複雜的例子,刪除所有匹配的筆記屬性:" - }, - "add_label": { - "add_label": "添加標籤", - "label_name_placeholder": "標籤名稱", - "label_name_title": "允許使用字母、數字、下劃線和冒號。", - "to_value": "值為", - "new_value_placeholder": "新值", - "help_text": "在所有匹配的筆記上:", - "help_text_item1": "如果筆記尚無此標籤,則新增給定的標籤", - "help_text_item2": "或更改現有標籤的值", - "help_text_note": "您也可以在不指定值的情況下調用此方法,這種情況下,標籤將分配給沒有值的筆記。" - }, - "delete_label": { - "delete_label": "刪除標籤", - "label_name_placeholder": "標籤名稱", - "label_name_title": "允許使用字母、數字、下劃線和冒號。" - }, - "rename_label": { - "rename_label": "重新命名標籤", - "rename_label_from": "重新命名標籤從", - "old_name_placeholder": "舊名稱", - "to": "改為", - "new_name_placeholder": "新名稱", - "name_title": "允許使用字母、數字、下劃線和冒號。" - }, - "update_label_value": { - "update_label_value": "更新標籤值", - "label_name_placeholder": "標籤名稱", - "label_name_title": "允許使用字母、數字、下劃線和冒號。", - "to_value": "值為", - "new_value_placeholder": "新值", - "help_text": "在所有匹配的筆記上,更改現有標籤的值。", - "help_text_note": "您也可以在不指定值的情況下調用此方法,這種情況下,標籤將分配給沒有值的筆記。" - }, - "delete_note": { - "delete_note": "刪除筆記", - "delete_matched_notes": "刪除匹配的筆記", - "delete_matched_notes_description": "這將刪除匹配的筆記。", - "undelete_notes_instruction": "刪除後,可以從「最近修改」對話框中恢復它們。", - "erase_notes_instruction": "要永久擦除筆記,您可以在刪除後轉到「選項」->「其他」,然後單擊「立即擦除已刪除的筆記」按鈕。" - }, - "delete_revisions": { - "delete_note_revisions": "刪除筆記歷史", - "all_past_note_revisions": "所有匹配筆記的過去歷史都將被刪除。筆記本身將完全保留。換句話說,筆記的歷史將被刪除。" - }, - "move_note": { - "move_note": "移動筆記", - "to": "到", - "target_parent_note": "目標上級筆記", - "on_all_matched_notes": "對於所有匹配的筆記", - "move_note_new_parent": "如果筆記只有一個上級(即舊分支被移除並新增新分支到新上級),則將筆記移動到新上級", - "clone_note_new_parent": "如果筆記有多個複製/分支(不清楚應該移除哪個分支),則將筆記複製到新上級", - "nothing_will_happen": "如果筆記無法移動到目標筆記(即這會新增一個樹循環),則不會發生任何事情" - }, - "rename_note": { - "rename_note": "重新命名筆記", - "rename_note_title_to": "重新命名筆記標題為", - "new_note_title": "新筆記標題", - "click_help_icon": "點擊右側的幫助圖標查看所有選項", - "evaluated_as_js_string": "給定的值被評估為 JavaScript 字符串,因此可以通過注入的 note 變量(正在重新命名的筆記)豐富動態內容。 例如:", - "example_note": "Note - 所有匹配的筆記都被重新命名為「Note」", - "example_new_title": "NEW: ${note.title} - 匹配的筆記標題以「NEW: 」為前綴", - "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - 匹配的筆記以筆記的新增月份-日期為前綴", - "api_docs": "有關詳細資訊,請參閱筆記及其dateCreatedObj / utcDateCreatedObj 屬性的API文檔。" - }, - "add_relation": { - "add_relation": "添加關係", - "relation_name": "關係名稱", - "allowed_characters": "允許的字符為字母數字、下劃線和冒號。", - "to": "到", - "target_note": "目標筆記", - "create_relation_on_all_matched_notes": "在所有匹配的筆記上新增指定的關係。" - }, - "delete_relation": { - "delete_relation": "刪除關係", - "relation_name": "關係名稱", - "allowed_characters": "允許的字符為字母數字、下劃線和冒號。" - }, - "rename_relation": { - "rename_relation": "重新命名關係", - "rename_relation_from": "重新命名關係,從", - "old_name": "舊名稱", - "to": "改為", - "new_name": "新名稱", - "allowed_characters": "允許的字符為字母數字、下劃線和冒號。" - }, - "update_relation_target": { - "update_relation": "更新關係", - "relation_name": "關係名稱", - "allowed_characters": "允許的字符為字母數字、下劃線和冒號。", - "to": "到", - "target_note": "目標筆記", - "on_all_matched_notes": "在所有匹配的筆記上", - "change_target_note": "或更改現有關係的目標筆記", - "update_relation_target": "更新關係目標" - }, - "attachments_actions": { - "open_externally": "用外部程序打開", - "open_externally_title": "文件將會在外部應用程式中打開,並監視其更改。然後您可以將修改後的版本上傳回 Trilium。", - "open_custom": "自定義打開方式", - "open_custom_title": "文件將會在外部應用程式中打開,並監視其更改。然後您可以將修改後的版本上傳回 Trilium。", - "download": "下載", - "rename_attachment": "重新命名附件", - "upload_new_revision": "上傳新版本", - "copy_link_to_clipboard": "複製鏈接到剪貼簿", - "convert_attachment_into_note": "將附件轉換為筆記", - "delete_attachment": "刪除附件", - "upload_success": "已上傳新附件版本。", - "upload_failed": "新附件版本上傳失敗。", - "open_externally_detail_page": "外部打開附件僅在詳細頁面中可用,請首先點擊附件詳細資訊,然後重復此操作。", - "open_custom_client_only": "自定義打開附件只能通過客戶端完成。", - "delete_confirm": "您確定要刪除附件 '{{title}}' 嗎?", - "delete_success": "附件 '{{title}}' 已被刪除。", - "convert_confirm": "您確定要將附件 '{{title}}' 轉換為單獨的筆記嗎?", - "convert_success": "附件 '{{title}}' 已轉換為筆記。", - "enter_new_name": "請輸入附件的新名稱" - }, - "calendar": { - "mon": "一", - "tue": "二", - "wed": "三", - "thu": "四", - "fri": "五", - "sat": "六", - "sun": "日", - "cannot_find_day_note": "無法找到日記", - "january": "一月", - "febuary": "二月", - "march": "三月", - "april": "四月", - "may": "五月", - "june": "六月", - "july": "七月", - "august": "八月", - "september": "九月", - "october": "十月", - "november": "十一月", - "december": "十二月" - }, - "close_pane_button": { - "close_this_pane": "關閉此面板" - }, - "create_pane_button": { - "create_new_split": "拆分面板" - }, - "edit_button": { - "edit_this_note": "編輯此筆記" - }, - "show_toc_widget_button": { - "show_toc": "顯示目錄" - }, - "show_highlights_list_widget_button": { - "show_highlights_list": "顯示高亮列表" - }, - "global_menu": { - "menu": "菜單", - "options": "選項", - "open_new_window": "打開新窗口", - "switch_to_mobile_version": "切換到移動版", - "switch_to_desktop_version": "切換到桌面版", - "zoom": "縮放", - "toggle_fullscreen": "切換全熒幕", - "zoom_out": "縮小", - "reset_zoom_level": "重置縮放級別", - "zoom_in": "放大", - "configure_launchbar": "設定啓動欄", - "show_shared_notes_subtree": "顯示分享筆記子樹", - "advanced": "高級", - "open_dev_tools": "打開開發工具", - "open_sql_console": "打開SQL控制台", - "open_sql_console_history": "打開SQL控制台歷史記錄", - "open_search_history": "打開搜尋歷史", - "show_backend_log": "顯示後台日誌", - "reload_hint": "重新加載可以幫助解決一些視覺故障,而無需重新啓動整個應用程式。", - "reload_frontend": "重新加載前端", - "show_hidden_subtree": "顯示隱藏子樹", - "show_help": "顯示幫助", - "about": "關於 TriliumNext 筆記", - "logout": "登出" - }, - "sync_status": { - "unknown": "

同步狀態將在下一次同步嘗試開始後顯示。

點擊以立即觸發同步。

", - "connected_with_changes": "

已連接到同步伺服器。
有一些未同步的變更。

點擊以觸發同步。

", - "connected_no_changes": "

已連接到同步伺服器。
所有變更均已同步。

點擊以觸發同步。

", - "disconnected_with_changes": "

連接同步伺服器失敗。
有一些未同步的變更。

點擊以觸發同步。

", - "disconnected_no_changes": "

連接同步伺服器失敗。
所有已知變更均已同步。

點擊以觸發同步。

", - "in_progress": "正在與伺服器進行同步。" - }, - "left_pane_toggle": { - "show_panel": "顯示面板", - "hide_panel": "隱藏面板" - }, - "move_pane_button": { - "move_left": "向左移動", - "move_right": "向右移動" - }, - "note_actions": { - "convert_into_attachment": "轉換為附件", - "re_render_note": "重新渲染筆記", - "search_in_note": "在筆記中搜尋", - "note_source": "筆記源程式碼", - "note_attachments": "筆記附件", - "open_note_externally": "用外部程序打開筆記", - "open_note_externally_title": "文件將在外部應用程式中打開,並監視其更改。然後您可以將修改後的版本上傳回 Trilium。", - "open_note_custom": "使用自定義程序打開筆記", - "import_files": "匯入文件", - "export_note": "匯出筆記", - "delete_note": "刪除筆記", - "print_note": "打印筆記", - "save_revision": "保存筆記歷史", - "convert_into_attachment_failed": "筆記 '{{title}}' 轉換失敗。", - "convert_into_attachment_successful": "筆記 '{{title}}' 已成功轉換為附件。", - "convert_into_attachment_prompt": "確定要將筆記 '{{title}}' 轉換為上級筆記的附件嗎?" - }, - "onclick_button": { - "no_click_handler": "按鈕組件'{{componentId}}'沒有定義點擊處理程序" - }, - "protected_session_status": { - "active": "受保護的會話已激活。點擊退出受保護的會話。", - "inactive": "點擊進入受保護的會話" - }, - "revisions_button": { - "note_revisions": "筆記修改歷史" - }, - "update_available": { - "update_available": "有更新可用" - }, - "note_launcher": { - "this_launcher_doesnt_define_target_note": "此啓動器未定義目標筆記。" - }, - "code_buttons": { - "execute_button_title": "執行腳本", - "trilium_api_docs_button_title": "打開 Trilium API 文檔", - "save_to_note_button_title": "保存到筆記", - "opening_api_docs_message": "正在打開 API 文檔...", - "sql_console_saved_message": "SQL 控制台已保存到 {{note_path}}" - }, - "copy_image_reference_button": { - "button_title": "複製圖片引用到剪貼簿,可貼上到文字筆記中。" - }, - "hide_floating_buttons_button": { - "button_title": "隱藏按鈕" - }, - "show_floating_buttons_button": { - "button_title": "顯示按鈕" - }, - "svg_export_button": { - "button_title": "匯出SVG格式圖片" - }, - "relation_map_buttons": { - "create_child_note_title": "新增新的子筆記並添加到關係圖", - "reset_pan_zoom_title": "重置平移和縮放到初始坐標和放大倍率", - "zoom_in_title": "放大", - "zoom_out_title": "縮小" - }, - "zpetne_odkazy": { - "backlink": "{{count}} 個反鏈", - "backlinks": "{{count}} 個反鏈", - "relation": "關係" - }, - "mobile_detail_menu": { - "insert_child_note": "插入子筆記", - "delete_this_note": "刪除此筆記", - "error_cannot_get_branch_id": "無法獲取 notePath '{{notePath}}' 的 branchId", - "error_unrecognized_command": "無法識別的命令 {{command}}" - }, - "note_icon": { - "change_note_icon": "更改筆記圖標", - "category": "類別:", - "search": "搜尋:", - "reset-default": "重置為默認圖標" - }, - "basic_properties": { - "note_type": "筆記類型", - "editable": "可編輯", - "basic_properties": "基本屬性" - }, - "book_properties": { - "view_type": "視圖類型", - "grid": "網格", - "list": "列表", - "collapse_all_notes": "折疊所有筆記", - "expand_all_children": "展開所有子項", - "collapse": "折疊", - "expand": "展開", - "book_properties": "", - "invalid_view_type": "無效的查看類型 '{{type}}'" - }, - "edited_notes": { - "no_edited_notes_found": "今天還沒有編輯過的筆記...", - "title": "編輯過的筆記", - "deleted": "(已刪除)" - }, - "file_properties": { - "note_id": "筆記 ID", - "original_file_name": "原始文件名", - "file_type": "文件類型", - "file_size": "文件大小", - "download": "下載", - "open": "打開", - "upload_new_revision": "上傳新版本", - "upload_success": "已上傳新文件版本。", - "upload_failed": "新文件版本上傳失敗。", - "title": "文件" - }, - "image_properties": { - "original_file_name": "原始文件名", - "file_type": "文件類型", - "file_size": "文件大小", - "download": "下載", - "open": "打開", - "copy_reference_to_clipboard": "複製引用到剪貼簿", - "upload_new_revision": "上傳新版本", - "upload_success": "已上傳新圖片版本。", - "upload_failed": "新圖片版本上傳失敗:{{message}}", - "title": "圖片" - }, - "inherited_attribute_list": { - "title": "繼承的屬性", - "no_inherited_attributes": "沒有繼承的屬性。" - }, - "note_info_widget": { - "note_id": "筆記ID", - "created": "新增時間", - "modified": "修改時間", - "type": "類型", - "note_size": "筆記大小", - "note_size_info": "筆記大小提供了該筆記存儲需求的粗略估計。它考慮了筆記的內容及其筆記歷史的內容。", - "calculate": "計算", - "subtree_size": "(子樹大小: {{size}}, 共計 {{count}} 個筆記)", - "title": "筆記資訊" - }, - "note_map": { - "open_full": "展開顯示", - "collapse": "折疊到正常大小", - "title": "筆記地圖" - }, - "note_paths": { - "title": "筆記路徑", - "clone_button": "複製筆記到新位置...", - "intro_placed": "此筆記放置在以下路徑中:", - "intro_not_placed": "此筆記尚未放入筆記樹中。", - "outside_hoisted": "此路徑在提升的筆記之外,您需要取消提升。", - "archived": "已歸檔", - "search": "搜尋" - }, - "note_properties": { - "this_note_was_originally_taken_from": "筆記來源:", - "info": "資訊" - }, - "owned_attribute_list": { - "owned_attributes": "擁有的屬性" - }, - "promoted_attributes": { - "promoted_attributes": "升級屬性", - "url_placeholder": "http://網站鏈接...", - "open_external_link": "打開外部鏈接", - "unknown_label_type": "未知的標籤類型 '{{type}}'", - "unknown_attribute_type": "未知的屬性類型 '{{type}}'", - "add_new_attribute": "添加新屬性", - "remove_this_attribute": "移除此屬性" - }, - "script_executor": { - "query": "查詢", - "script": "腳本", - "execute_query": "執行查詢", - "execute_script": "執行腳本" - }, - "search_definition": { - "add_search_option": "添加搜尋選項:", - "search_string": "搜尋字符串", - "search_script": "搜尋腳本", - "ancestor": "祖先", - "fast_search": "快速搜尋", - "fast_search_description": "快速搜尋選項禁用筆記內容的全文搜尋,這可能會加速大資料庫中的搜尋。", - "include_archived": "包含歸檔", - "include_archived_notes_description": "歸檔的筆記默認不包含在搜尋結果中,使用此選項將包含它們。", - "order_by": "排序方式", - "limit": "限制", - "limit_description": "限制結果數量", - "debug": "除錯", - "debug_description": "除錯將打印額外的除錯資訊到控制台,以幫助除錯複雜查詢", - "action": "操作", - "search_button": "搜尋 Enter", - "search_execute": "搜尋並執行操作", - "save_to_note": "保存到筆記", - "search_parameters": "搜尋參數", - "unknown_search_option": "未知的搜尋選項 {{searchOptionName}}", - "search_note_saved": "搜尋筆記已保存到 {{- notePathTitle}}", - "actions_executed": "已執行操作。" - }, - "similar_notes": { - "title": "相似筆記", - "no_similar_notes_found": "未找到相似的筆記。" - }, - "abstract_search_option": { - "remove_this_search_option": "刪除此搜尋選項", - "failed_rendering": "渲染搜尋選項失敗:{{dto}},錯誤資訊:{{error}},堆棧:{{stack}}" - }, - "ancestor": { - "label": "祖先", - "placeholder": "按名稱搜尋筆記", - "depth_label": "深度", - "depth_doesnt_matter": "任意", - "depth_eq": "正好是 {{count}}", - "direct_children": "直接下代", - "depth_gt": "大於 {{count}}", - "depth_lt": "小於 {{count}}" - }, - "debug": { - "debug": "除錯", - "debug_info": "除錯將打印額外的除錯資訊到控制台,以幫助除錯複雜的查詢。", - "access_info": "要訪問除錯資訊,請執行查詢並點擊左上角的「顯示後端日誌」。" - }, - "fast_search": { - "fast_search": "快速搜尋", - "description": "快速搜尋選項禁用筆記內容的全文搜尋,這可能會加快在大型資料庫中的搜尋速度。" - }, - "include_archived_notes": { - "include_archived_notes": "包括已歸檔的筆記" - }, - "limit": { - "limit": "限制", - "take_first_x_results": "僅取前X個指定結果。" - }, - "order_by": { - "order_by": "排序依據", - "relevancy": "相關性(默認)", - "title": "標題", - "date_created": "新增日期", - "date_modified": "最後修改日期", - "content_size": "筆記內容大小", - "content_and_attachments_size": "筆記內容大小(包括附件)", - "content_and_attachments_and_revisions_size": "筆記內容大小(包括附件和筆記歷史)", - "revision_count": "歷史數量", - "children_count": "子筆記數量", - "parent_count": "複製數量", - "owned_label_count": "標籤數量", - "owned_relation_count": "關係數量", - "target_relation_count": "指向筆記的關係數量", - "random": "隨機順序", - "asc": "升序(默認)", - "desc": "降序" - }, - "search_script": { - "title": "搜尋腳本:", - "placeholder": "按名稱搜尋筆記", - "description1": "搜尋腳本允許通過運行腳本來定義搜尋結果。這在標準搜尋不足時提供了最大的靈活性。", - "description2": "搜尋腳本必須是類型為\"程式碼\"和子類型為\"JavaScript後端\"。腳本需要返回一個noteIds或notes數組。", - "example_title": "請看這個例子:", - "example_code": "// 1. 使用標準搜尋進行預過濾\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. 應用自定義搜尋條件\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", - "note": "注意,搜尋腳本和搜尋字符串不能相互結合使用。" - }, - "search_string": { - "title_column": "搜尋字符串:", - "placeholder": "全文關鍵詞,#標籤 = 值 ...", - "search_syntax": "搜尋語法", - "also_see": "另見", - "complete_help": "完整的搜尋語法幫助", - "full_text_search": "只需輸入任何文字進行全文搜尋", - "label_abc": "返回帶有標籤abc的筆記", - "label_year": "匹配帶有標籤年份且值為2019的筆記", - "label_rock_pop": "匹配同時具有rock和pop標籤的筆記", - "label_rock_or_pop": "只需一個標籤存在即可", - "label_year_comparison": "數字比較(也包括>,>=,<)。", - "label_date_created": "上個月新增的筆記", - "error": "搜尋錯誤:{{error}}", - "search_prefix": "搜尋:" - }, - "attachment_detail": { - "open_help_page": "打開附件幫助頁面", - "owning_note": "所屬筆記: ", - "you_can_also_open": ",你還可以打開", - "list_of_all_attachments": "所有附件列表", - "attachment_deleted": "該附件已被刪除。" - }, - "attachment_list": { - "open_help_page": "打開附件幫助頁面", - "owning_note": "所屬筆記: ", - "upload_attachments": "上傳附件", - "no_attachments": "此筆記沒有附件。" - }, - "book": { - "no_children_help": "此類型為書籍的筆記沒有任何子筆記,因此沒有內容顯示。請參閱 wiki 瞭解詳情" - }, - "editable_code": { - "placeholder": "在這裡輸入您的程式碼筆記內容..." - }, - "editable_text": { - "placeholder": "在這裡輸入您的筆記內容..." - }, - "empty": { - "open_note_instruction": "通過在下面的輸入框中輸入筆記標題或在樹中選擇筆記來打開筆記。", - "search_placeholder": "按名稱搜尋筆記", - "enter_workspace": "進入工作區 {{title}}" - }, - "file": { - "file_preview_not_available": "此文件格式不支持預覽。" - }, - "protected_session": { - "enter_password_instruction": "顯示受保護的筆記需要輸入您的密碼:", - "start_session_button": "開始受保護的會話 Enter", - "started": "已啓動受保護的會話。", - "wrong_password": "密碼錯誤。", - "protecting-finished-successfully": "已成功完成保護操作。", - "unprotecting-finished-successfully": "已成功完成解除保護操作。", - "protecting-in-progress": "保護進行中:{{count}}", - "unprotecting-in-progress-count": "解除保護進行中:{{count}}", - "protecting-title": "保護狀態", - "unprotecting-title": "解除保護狀態" - }, - "relation_map": { - "open_in_new_tab": "在新標籤頁中打開", - "remove_note": "刪除筆記", - "edit_title": "編輯標題", - "rename_note": "重新命名筆記", - "enter_new_title": "輸入新的筆記標題:", - "remove_relation": "刪除關係", - "confirm_remove_relation": "你確定要刪除這個關係嗎?", - "specify_new_relation_name": "指定新的關係名稱(允許的字符:字母數字、冒號和下劃線):", - "connection_exists": "筆記之間的連接 '{{name}}' 已經存在。", - "start_dragging_relations": "從這裡開始拖動關係,並將其放置到另一個筆記上。", - "note_not_found": "筆記 {{noteId}} 未找到!", - "cannot_match_transform": "無法匹配變換:{{transform}}", - "note_already_in_diagram": "筆記 \"{{title}}\" 已經在圖中。", - "enter_title_of_new_note": "輸入新筆記的標題", - "default_new_note_title": "新筆記", - "click_on_canvas_to_place_new_note": "點擊畫布以放置新筆記" - }, - "render": { - "note_detail_render_help_1": "之所以顯示此幫助說明,是因為該類型的渲染HTML沒有設定好必須的關聯關係。", - "note_detail_render_help_2": "渲染筆記類型用於編寫 腳本。簡單說就是你可以寫HTML程式碼(或者加上一些JavaScript程式碼), 然後這個筆記會把頁面渲染出來。要使其正常工作,您需要定義一個名為 \"renderNote\" 的關係 關係 指向要呈現的 HTML 筆記。" - }, - "web_view": { - "web_view": "網頁視圖", - "embed_websites": "網頁視圖類型的筆記允許您將網站嵌入到 Trilium 中。", - "create_label": "首先,請新增一個帶有您要嵌入的 URL 地址的標籤,例如 #webViewSrc=\"https://www.bing.com\"" - }, - "backend_log": { - "refresh": "刷新" - }, - "consistency_checks": { - "title": "檢查一致性", - "find_and_fix_button": "查找並修復一致性問題", - "finding_and_fixing_message": "正在查找並修復一致性問題...", - "issues_fixed_message": "一致性問題應該已被修復。" - }, - "database_anonymization": { - "title": "資料庫匿名化", - "full_anonymization": "完全匿名化", - "full_anonymization_description": "此操作將新增一個新的資料庫副本並進行匿名化處理(刪除所有筆記內容,僅保留結構和一些非敏感元數據),用來分享到網上做除錯而不用擔心洩漏你的個人資料。", - "save_fully_anonymized_database": "保存完全匿名化的資料庫", - "light_anonymization": "輕度匿名化", - "light_anonymization_description": "此操作將新增一個新的資料庫副本,並對其進行輕度匿名化處理——僅刪除所有筆記的內容,但保留標題和屬性。此外,自定義JS前端/後端腳本筆記和自定義小部件將保留。這提供了更多上下文以除錯問題。", - "choose_anonymization": "您可以自行決定是提供完全匿名化還是輕度匿名化的資料庫。即使是完全匿名化的資料庫也非常有用,但在某些情況下,輕度匿名化的資料庫可以加快錯誤識別和修復的過程。", - "save_lightly_anonymized_database": "保存輕度匿名化的資料庫", - "existing_anonymized_databases": "現有的匿名化資料庫", - "creating_fully_anonymized_database": "正在新增完全匿名化的資料庫...", - "creating_lightly_anonymized_database": "正在新增輕度匿名化的資料庫...", - "error_creating_anonymized_database": "無法新增匿名化資料庫,請檢查後端日誌以獲取詳細資訊", - "successfully_created_fully_anonymized_database": "成功新增完全匿名化的資料庫,路徑為{{anonymizedFilePath}}", - "successfully_created_lightly_anonymized_database": "成功新增輕度匿名化的資料庫,路徑為{{anonymizedFilePath}}", - "no_anonymized_database_yet": "尚無匿名化資料庫" - }, - "database_integrity_check": { - "title": "資料庫完整性檢查", - "description": "檢查SQLite資料庫是否損壞。根據資料庫的大小,可能會需要一些時間。", - "check_button": "檢查資料庫完整性", - "checking_integrity": "正在檢查資料庫完整性...", - "integrity_check_succeeded": "完整性檢查成功 - 未發現問題。", - "integrity_check_failed": "完整性檢查失敗: {{results}}" - }, - "sync": { - "title": "同步", - "force_full_sync_button": "強制全量同步", - "fill_entity_changes_button": "填充實體變更記錄", - "full_sync_triggered": "已觸發全量同步", - "filling_entity_changes": "正在填充實體變更行...", - "sync_rows_filled_successfully": "同步行填充成功", - "finished-successfully": "已完成同步。", - "failed": "同步失敗:{{message}}" - }, - "vacuum_database": { - "title": "資料庫清理", - "description": "這會重建資料庫,通常會減少佔用空間,不會刪除數據。", - "button_text": "清理資料庫", - "vacuuming_database": "正在清理資料庫...", - "database_vacuumed": "已清理資料庫" - }, - "fonts": { - "theme_defined": "跟隨主題", - "fonts": "字體", - "main_font": "主字體", - "font_family": "字體系列", - "size": "大小", - "note_tree_font": "筆記樹字體", - "note_detail_font": "筆記詳情字體", - "monospace_font": "等寬(程式碼)字體", - "note_tree_and_detail_font_sizing": "請注意,筆記樹字體和詳細字體的大小相對於主字體大小設定。", - "not_all_fonts_available": "並非所有列出的字體都可能在您的系統上可用。", - "apply_font_changes": "要應用字體更改,請點擊", - "reload_frontend": "重新加載前端" - }, - "max_content_width": { - "title": "內容寬度", - "default_description": "Trilium默認會限制內容的最大寬度以提高在寬屏中全熒幕時的可讀性。", - "max_width_label": "內容最大寬度(像素)", - "apply_changes_description": "要應用內容寬度更改,請點擊", - "reload_button": "重新加載前端", - "reload_description": "來自外觀選項的更改" - }, - "native_title_bar": { - "title": "原生標題欄(需要重新啓動應用)", - "enabled": "啓用", - "disabled": "禁用" - }, - "ribbon": { - "widgets": "功能選項組件", - "promoted_attributes_message": "如果筆記中存在升級屬性,則自動打開升級屬性選項卡", - "edited_notes_message": "日記筆記自動打開編輯過的筆記選項" - }, - "theme": { - "title": "主題", - "theme_label": "主題", - "override_theme_fonts_label": "覆蓋主題字體", - "light_theme": "淺色", - "dark_theme": "深色", - "layout": "佈局", - "layout-vertical-title": "垂直", - "layout-horizontal-title": "水平", - "layout-vertical-description": "啓動欄位於左側(默認)", - "layout-horizontal-description": "啓動欄位於標籤欄下方,標籤欄現在是全寬的。" - }, - "zoom_factor": { - "title": "縮放系數(僅桌面客戶端有效)", - "description": "縮放也可以通過 CTRL+- 和 CTRL+= 快捷鍵進行控制。" - }, - "code_auto_read_only_size": { - "title": "自動唯讀大小", - "description": "自動唯讀大小是指筆記超過設定的大小後自動設定為唯讀模式(為性能考慮)。", - "label": "自動唯讀大小(程式碼筆記)" - }, - "code_mime_types": { - "title": "下拉菜單可用的MIME文件類型" - }, - "vim_key_bindings": { - "use_vim_keybindings_in_code_notes": "Vim 快捷鍵", - "enable_vim_keybindings": "在程式碼筆記中啓用 Vim 快捷鍵(不包含 ex 模式)" - }, - "wrap_lines": { - "wrap_lines_in_code_notes": "程式碼筆記自動換行", - "enable_line_wrap": "啓用自動換行(需要重新加載前端才會生效)" - }, - "images": { - "images_section_title": "圖片", - "download_images_automatically": "自動下載圖片以供離線使用。", - "download_images_description": "貼上的 HTML 可能包含在線圖片的引用,Trilium 會找到這些引用並下載圖片,以便它們可以離線使用。", - "enable_image_compression": "啓用圖片壓縮", - "max_image_dimensions": "圖片的最大寬度/高度(超過此限制的圖片將會被縮放)。", - "jpeg_quality_description": "JPEG 質量(10 - 最差質量,100 最佳質量,建議為 50 - 85)" - }, - "attachment_erasure_timeout": { - "attachment_erasure_timeout": "附件清理超時", - "attachment_auto_deletion_description": "如果附件在一段時間後不再被筆記引用,它們將自動被刪除(並被清理)。", - "erase_attachments_after": "", - "manual_erasing_description": "您還可以手動觸發清理(而不考慮上述定義的超時時間):", - "erase_unused_attachments_now": "立即清理未使用的附件筆記", - "unused_attachments_erased": "未使用的附件已被刪除。" - }, - "network_connections": { - "network_connections_title": "網絡連接", - "check_for_updates": "自動檢查更新" - }, - "note_erasure_timeout": { - "note_erasure_timeout_title": "筆記清理超時", - "note_erasure_description": "被刪除的筆記(以及屬性、歷史版本等)最初僅被標記為「刪除」,可以從「最近修改」對話框中恢復它們。經過一段時間後,已刪除的筆記會被「清理」,這意味著它們的內容將無法恢復。此設定允許您設定從刪除到清除筆記之間的時間長度。", - "erase_notes_after": "", - "manual_erasing_description": "您還可以手動觸發清理(不考慮上述定義的超時):", - "erase_deleted_notes_now": "立即清理已刪除的筆記", - "deleted_notes_erased": "已刪除的筆記已被清理。" - }, - "revisions_snapshot_interval": { - "note_revisions_snapshot_interval_title": "", - "note_revisions_snapshot_description": "", - "snapshot_time_interval_label": "" - }, - "revisions_snapshot_limit": { - "note_revisions_snapshot_limit_title": "筆記歷史快照限制", - "note_revisions_snapshot_limit_description": "筆記歷史快照數限制指的是每個筆記可以保存的最大歷史記錄數量。其中 -1 表示沒有限制,0 表示刪除所有歷史記錄。你可以通過 #versioningLimit 標籤設定單個筆記的最大歷史記錄數量。", - "snapshot_number_limit_label": "筆記歷史快照數量限制:", - "erase_excess_revision_snapshots": "立即刪除多餘的歷史快照", - "erase_excess_revision_snapshots_prompt": "多餘的歷史快照已被刪除。" - }, - "search_engine": { - "title": "搜尋引擎", - "custom_search_engine_info": "自定義搜尋引擎需要設定名稱和URL。如果這兩者之一未設定,將默認使用DuckDuckGo作為搜尋引擎。", - "predefined_templates_label": "預定義搜尋引擎模板", - "bing": "Bing", - "baidu": "百度", - "duckduckgo": "DuckDuckGo", - "google": "Google", - "custom_name_label": "自定義搜尋引擎名稱", - "custom_name_placeholder": "自定義搜尋引擎名稱", - "custom_url_label": "自定義搜尋引擎URL應包含 {keyword} 作為搜尋詞的佔位符。", - "custom_url_placeholder": "自定義搜尋引擎URL", - "save_button": "保存" - }, - "tray": { - "title": "系統匣", - "enable_tray": "啓用系統匣圖標(需要重啓生效)" - }, - "heading_style": { - "title": "標題風格", - "plain": "純文字", - "underline": "下劃線", - "markdown": "Markdown風格" - }, - "highlights_list": { - "title": "高亮列表", - "description": "您可以自定義右側面板中顯示的高亮列表:", - "bold": "粗體", - "italic": "斜體", - "underline": "下劃線", - "color": "字體顏色", - "bg_color": "背景顏色", - "visibility_title": "高亮列表可見性", - "visibility_description": "您可以通過添加 #hideHighlightWidget 標籤來隱藏每個筆記的高亮小部件。", - "shortcut_info": "您可以在選項 -> 快捷鍵中為快速切換右側面板(包括高亮列表)設定鍵盤快捷鍵(名稱為 'toggleRightPane')。" - }, - "table_of_contents": { - "title": "目錄", - "description": "當筆記中有超過一定數量的標題時,顯示目錄。您可以自定義此數量:", - "disable_info": "您可以設定一個非常大的數來禁用目錄。", - "shortcut_info": "您可以在 「選項」 -> 「快捷鍵」 中設定一個鍵盤快捷鍵,以便快速切換右側面板(包括目錄)(名稱為 'toggleRightPane')。" - }, - "text_auto_read_only_size": { - "title": "自動唯讀大小", - "description": "自動唯讀筆記大小是超過該大小後,筆記將以唯讀模式顯示(出於性能考慮)。", - "label": "自動唯讀大小(文字筆記)" - }, - "i18n": { - "title": "本地化", - "language": "語言", - "first-day-of-the-week": "一周的第一天", - "sunday": "星期日", - "monday": "星期一" - }, - "backup": { - "automatic_backup": "自動備份", - "automatic_backup_description": "Trilium 可以自動備份資料庫:", - "enable_daily_backup": "啓用每日備份", - "enable_weekly_backup": "啓用每周備份", - "enable_monthly_backup": "啓用每月備份", - "backup_recommendation": "建議打開備份功能,但這可能會使大型資料庫和/或慢速存儲設備的應用程式啓動變慢。", - "backup_now": "立即備份", - "backup_database_now": "立即備份資料庫", - "existing_backups": "現有備份", - "date-and-time": "日期和時間", - "path": "路徑", - "database_backed_up_to": "資料庫已備份到 {{backupFilePath}}", - "no_backup_yet": "尚無備份" - }, - "etapi": { - "title": "ETAPI", - "description": "ETAPI 是一個 REST API,用於以編程方式訪問 Trilium 實例,而無需 UI。", - "see_more": "", - "wiki": "維基", - "openapi_spec": "ETAPI OpenAPI 規範", - "swagger_ui": "", - "create_token": "新增新的 ETAPI 令牌", - "existing_tokens": "現有令牌", - "no_tokens_yet": "目前還沒有令牌。點擊上面的按鈕新增一個。", - "token_name": "令牌名稱", - "created": "新增時間", - "actions": "操作", - "new_token_title": "新 ETAPI 令牌", - "new_token_message": "請輸入新的令牌名稱", - "default_token_name": "新令牌", - "error_empty_name": "令牌名稱不能為空", - "token_created_title": "ETAPI 令牌已新增", - "token_created_message": "將新增的令牌複製到剪貼簿。Trilium 存儲了令牌的哈希值,這是你最後一次看到它。", - "rename_token": "重新命名此令牌", - "delete_token": "刪除/停用此令牌", - "rename_token_title": "重新命名令牌", - "rename_token_message": "請輸入新的令牌名稱", - "delete_token_confirmation": "你確定要刪除 ETAPI 令牌 \"{{name}}\" 嗎?" - }, - "options_widget": { - "options_status": "選項狀態", - "options_change_saved": "選項更改已保存。" - }, - "password": { - "heading": "密碼", - "alert_message": "請務必記住您的新密碼。密碼用於登錄 Web 界面和加密保護的筆記。如果您忘記了密碼,所有保護的筆記將永久丟失。", - "reset_link": "點擊這裡重置。", - "old_password": "舊密碼", - "new_password": "新密碼", - "new_password_confirmation": "新密碼確認", - "change_password": "更改密碼", - "protected_session_timeout": "保護會話超時", - "protected_session_timeout_description": "保護會話超時是一個時間段,超時後保護會話會從瀏覽器內存中清除。這是從最後一次與保護筆記的交互開始計時的。更多資訊請見", - "wiki": "維基", - "for_more_info": "更多資訊。", - "protected_session_timeout_label": "", - "reset_confirmation": "重置密碼將永久喪失對所有現受保護筆記的訪問。您真的要重置密碼嗎?", - "reset_success_message": "密碼已重置。請設定新密碼", - "change_password_heading": "更改密碼", - "set_password_heading": "設定密碼", - "set_password": "設定密碼", - "password_mismatch": "新密碼不一致。", - "password_changed_success": "密碼已更改。按 OK 後 Trilium 將重新加載。" - }, - "shortcuts": { - "keyboard_shortcuts": "快捷鍵", - "multiple_shortcuts": "同一操作的多個快捷鍵可以用逗號分隔。", - "electron_documentation": "請參閱 Electron文檔,瞭解可用的修飾符和鍵碼。", - "type_text_to_filter": "輸入文字以過濾快捷鍵...", - "action_name": "操作名稱", - "shortcuts": "快捷鍵", - "default_shortcuts": "默認快捷鍵", - "description": "描述", - "reload_app": "重新加載應用以應用更改", - "set_all_to_default": "將所有快捷鍵重置為默認值", - "confirm_reset": "您確定要將所有鍵盤快捷鍵重置為默認值嗎?" - }, - "spellcheck": { - "title": "拼寫檢查", - "description": "這些選項僅適用於桌面版本,瀏覽器將使用其原生的拼寫檢查功能。", - "enable": "啓用拼寫檢查", - "language_code_label": "語言程式碼", - "language_code_placeholder": "例如 \"en-US\", \"de-AT\"", - "multiple_languages_info": "多種語言可以用逗號分隔,例如 \"en-US, de-DE, cs\"。", - "available_language_codes_label": "可用的語言程式碼:", - "restart-required": "拼寫檢查選項的更改將在應用重啓後生效。" - }, - "sync_2": { - "config_title": "同步設定", - "server_address": "伺服器地址", - "timeout": "同步超時(單位:毫秒)", - "proxy_label": "同步代理伺服器(可選)", - "note": "注意", - "note_description": "代理設定留空則使用系統代理(僅桌面客戶端有效)。", - "special_value_description": "另一個特殊值是 noproxy,它強制忽略系統代理並遵守 NODE_TLS_REJECT_UNAUTHORIZED。", - "save": "保存", - "help": "幫助", - "test_title": "同步測試", - "test_description": "測試和同步伺服器之間的連接。如果同步伺服器沒有初始化,會將本地文檔同步到同步伺服器上。", - "test_button": "測試同步", - "handshake_failed": "同步伺服器握手失敗,錯誤:{{message}}" - }, - "api_log": { - "close": "關閉" - }, - "attachment_detail_2": { - "will_be_deleted_in": "此附件將在 {{time}} 後自動刪除", - "will_be_deleted_soon": "該附件將很快被自動刪除", - "deletion_reason": ",因為該附件未鏈接在筆記的內容中。為防止被刪除,請將附件鏈接重新添加到內容中或將附件轉換為筆記。", - "role_and_size": "角色: {{role}}, 大小: {{size}}", - "link_copied": "附件鏈接已複製到剪貼簿。", - "unrecognized_role": "無法識別的附件角色 '{{role}}'。" - }, - "bookmark_switch": { - "bookmark": "書籤", - "bookmark_this_note": "將此筆記添加到左側面板的書籤", - "remove_bookmark": "移除書籤" - }, - "editability_select": { - "auto": "自動", - "read_only": "唯讀", - "always_editable": "始終可編輯", - "note_is_editable": "筆記如果不太長則可編輯。", - "note_is_read_only": "筆記為唯讀,但可以通過點擊按鈕進行編輯。", - "note_is_always_editable": "無論筆記長度如何,始終可編輯。" - }, - "note-map": { - "button-link-map": "鏈接地圖", - "button-tree-map": "樹形地圖" - }, - "tree-context-menu": { - "open-in-a-new-tab": "在新標籤頁中打開 Ctrl+Click", - "open-in-a-new-split": "在新分欄中打開", - "insert-note-after": "在後面插入筆記", - "insert-child-note": "插入子筆記", - "delete": "刪除", - "search-in-subtree": "在子樹中搜尋", - "hoist-note": "提升筆記", - "unhoist-note": "取消提升筆記", - "edit-branch-prefix": "編輯分支前綴", - "advanced": "高級", - "expand-subtree": "展開子樹", - "collapse-subtree": "折疊子樹", - "sort-by": "排序方式...", - "recent-changes-in-subtree": "子樹中的最近更改", - "convert-to-attachment": "轉換為附件", - "copy-note-path-to-clipboard": "複製筆記路徑到剪貼簿", - "protect-subtree": "保護子樹", - "unprotect-subtree": "取消保護子樹", - "copy-clone": "複製 / 複製", - "clone-to": "複製到...", - "cut": "剪下", - "move-to": "移動到...", - "paste-into": "貼上到裡面", - "paste-after": "貼上到後面", - "export": "匯出", - "import-into-note": "匯入到筆記", - "apply-bulk-actions": "應用批量操作", - "converted-to-attachments": "{{count}} 個筆記已被轉換為附件。", - "convert-to-attachment-confirm": "確定要將選中的筆記轉換為其上級筆記的附件嗎?" - }, - "shared_info": { - "shared_publicly": "此筆記已公開分享在", - "shared_locally": "此筆記已在本地分享在", - "help_link": "如需幫助,請訪問 wiki。" - }, - "note_types": { - "text": "文字", - "code": "程式碼", - "saved-search": "保存的搜尋", - "relation-map": "關係圖", - "note-map": "筆記地圖", - "render-note": "渲染筆記", - "book": "", - "mermaid-diagram": "美人魚圖(Mermaid)", - "canvas": "畫布", - "web-view": "網頁視圖", - "mind-map": "心智圖", - "file": "文件", - "image": "圖片", - "launcher": "啓動器", - "doc": "文檔", - "widget": "小部件", - "confirm-change": "當筆記內容不為空時,不建議更改筆記類型。您仍然要繼續嗎?" - }, - "protect_note": { - "toggle-on": "保護筆記", - "toggle-off": "取消保護筆記", - "toggle-on-hint": "筆記未受保護,點擊以保護", - "toggle-off-hint": "筆記已受保護,點擊以取消保護" - }, - "shared_switch": { - "shared": "已分享", - "toggle-on-title": "分享筆記", - "toggle-off-title": "取消分享筆記", - "shared-branch": "此筆記僅作為共享筆記存在,取消共享將刪除它。你確定要繼續並刪除此筆記嗎?", - "inherited": "此筆記無法在此處取消共享,因為它通過繼承自上級筆記共享。" - }, - "template_switch": { - "template": "模板", - "toggle-on-hint": "將此筆記設為模板", - "toggle-off-hint": "取消筆記模板設定" - }, - "open-help-page": "打開幫助頁面", - "find": { - "case_sensitive": "區分大小寫", - "match_words": "匹配單詞", - "find_placeholder": "在文字中查找...", - "replace_placeholder": "替換為...", - "replace": "替換", - "replace_all": "全部替換" - }, - "highlights_list_2": { - "title": "高亮列表", - "options": "選項" - }, - "quick-search": { - "placeholder": "快速搜尋", - "searching": "正在搜尋...", - "no-results": "未找到結果", - "more-results": "... 以及另外 {{number}} 個結果。", - "show-in-full-search": "在完整的搜尋界面中顯示" - }, - "note_tree": { - "collapse-title": "折疊筆記樹", - "scroll-active-title": "滾動到活動筆記", - "tree-settings-title": "樹設定", - "hide-archived-notes": "隱藏已歸檔筆記", - "automatically-collapse-notes": "自動折疊筆記", - "automatically-collapse-notes-title": "筆記在一段時間內未使用將被折疊,以減少樹形結構的雜亂。", - "save-changes": "保存並應用更改", - "auto-collapsing-notes-after-inactivity": "在不活動後自動折疊筆記...", - "saved-search-note-refreshed": "已保存的搜尋筆記已刷新。" - }, - "title_bar_buttons": { - "window-on-top": "保持此窗口置頂" - }, - "note_detail": { - "could_not_find_typewidget": "找不到類型為 '{{type}}' 的 typeWidget" - }, - "note_title": { - "placeholder": "請輸入筆記標題..." - }, - "search_result": { - "no_notes_found": "沒有找到符合搜尋條件的筆記。", - "search_not_executed": "尚未執行搜尋。請點擊上方的\"搜尋\"按鈕查看結果。" - }, - "spacer": { - "configure_launchbar": "設定啓動欄" - }, - "sql_result": { - "no_rows": "此查詢沒有返回任何數據" - }, - "sql_table_schemas": { - "tables": "表" - }, - "tab_row": { - "close_tab": "關閉標籤頁", - "add_new_tab": "添加新標籤頁", - "close": "關閉", - "close_other_tabs": "關閉其他標籤頁", - "close_right_tabs": "關閉右側標籤頁", - "close_all_tabs": "關閉所有標籤頁", - "reopen_last_tab": "重新打開最後一個關閉的標籤頁", - "move_tab_to_new_window": "將此標籤頁移動到新窗口", - "copy_tab_to_new_window": "將此標籤頁複製到新窗口", - "new_tab": "新標籤頁" - }, - "toc": { - "table_of_contents": "目錄", - "options": "選項" - }, - "watched_file_update_status": { - "file_last_modified": "文件 最後修改時間為 。", - "upload_modified_file": "上傳修改的文件", - "ignore_this_change": "忽略此更改" - }, - "app_context": { - "please_wait_for_save": "請等待幾秒鐘以完成保存,然後您可以嘗試再操作一次。" - }, - "note_create": { - "duplicated": "筆記 \"{{title}}\" 已被複製。" - }, - "image": { - "copied-to-clipboard": "圖片的引用已複製到剪貼簿,可以貼上到任何文字筆記中。", - "cannot-copy": "無法將圖片引用複製到剪貼簿。" - }, - "clipboard": { - "cut": "已剪下筆記到剪貼簿。", - "copied": "已複製筆記到剪貼簿。" - }, - "entrypoints": { - "note-revision-created": "已新增筆記修訂。", - "note-executed": "已執行筆記。", - "sql-error": "執行 SQL 查詢時發生錯誤:{{message}}" - }, - "branches": { - "cannot-move-notes-here": "無法將筆記移動到這裡。", - "delete-status": "刪除狀態", - "delete-notes-in-progress": "正在刪除筆記:{{count}}", - "delete-finished-successfully": "刪除成功完成。", - "undeleting-notes-in-progress": "正在恢復刪除的筆記:{{count}}", - "undeleting-notes-finished-successfully": "恢復刪除的筆記已成功完成。" - }, - "frontend_script_api": { - "async_warning": "您正在將一個異步函數傳遞給 `api.runOnBackend()`,這可能無法按預期工作。\\n要麼使該函數同步(通過移除 `async` 關鍵字),要麼使用 `api.runAsyncOnBackendWithManualTransactionHandling()`。", - "sync_warning": "您正在將一個同步函數傳遞給 `api.runAsyncOnBackendWithManualTransactionHandling()`,\\n而您可能應該使用 `api.runOnBackend()`。" - }, - "ws": { - "sync-check-failed": "同步檢查失敗!", - "consistency-checks-failed": "一致性檢查失敗!請查看日誌瞭解詳細資訊。", - "encountered-error": "遇到錯誤 \"{{message}}\",請查看控制台。" - }, - "hoisted_note": { - "confirm_unhoisting": "請求的筆記 '{{requestedNote}}' 位於提升的筆記 '{{hoistedNote}}' 的子樹之外,您必須取消提升才能訪問該筆記。是否繼續取消提升?" - }, - "launcher_context_menu": { - "reset_launcher_confirm": "您確定要重置 \"{{title}}\" 嗎?此筆記(及其子項)中的所有數據/設定將丟失,且啓動器將恢復到其原始位置。", - "add-note-launcher": "添加筆記啓動器", - "add-script-launcher": "添加腳本啓動器", - "add-custom-widget": "添加自定義小部件", - "add-spacer": "添加間隔", - "delete": "刪除 ", - "reset": "重置", - "move-to-visible-launchers": "移動到可見啓動器", - "move-to-available-launchers": "移動到可用啓動器", - "duplicate-launcher": "複製啓動器 " - }, - "editable-text": { - "auto-detect-language": "自動檢測" - }, - "highlighting": { - "title": "", - "description": "控制文字筆記中程式碼塊的語法高亮,程式碼筆記不會受到影響。", - "color-scheme": "顏色方案" - }, - "code_block": { - "word_wrapping": "自動換行", - "theme_none": "無格式高亮", - "theme_group_light": "淺色主題", - "theme_group_dark": "深色主題" - }, - "classic_editor_toolbar": { - "title": "格式化" - }, - "editor": { - "title": "編輯器" - }, - "editing": { - "editor_type": { - "label": "格式化工具欄", - "floating": { - "title": "浮動", - "description": "編輯工具出現在遊標附近;" - }, - "fixed": { - "title": "固定", - "description": "編輯工具出現在 \"格式化\" 功能區標籤中。" - } - } - }, - "electron_context_menu": { - "add-term-to-dictionary": "將 \"{{term}}\" 添加到字典", - "cut": "剪下", - "copy": "複製", - "copy-link": "複製鏈接", - "paste": "貼上", - "paste-as-plain-text": "以純文字貼上", - "search_online": "用 {{searchEngine}} 搜尋 \"{{term}}\"" - }, - "image_context_menu": { - "copy_reference_to_clipboard": "複製引用到剪貼簿", - "copy_image_to_clipboard": "複製圖片到剪貼簿" - }, - "link_context_menu": { - "open_note_in_new_tab": "在新標籤頁中打開筆記", - "open_note_in_new_split": "在新分屏中打開筆記", - "open_note_in_new_window": "在新窗口中打開筆記" - } } From abff4fe67d1e668083f8d71ef38dc6b34494fe3e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 31 Jul 2025 10:43:00 +0200 Subject: [PATCH 255/505] Translated using Weblate (Romanian) Currently translated at 100.0% (1559 of 1559 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/ro/ --- .../src/translations/ro/translation.json | 330 +++++++++++++++++- 1 file changed, 313 insertions(+), 17 deletions(-) diff --git a/apps/client/src/translations/ro/translation.json b/apps/client/src/translations/ro/translation.json index a845c17e5..657a13256 100644 --- a/apps/client/src/translations/ro/translation.json +++ b/apps/client/src/translations/ro/translation.json @@ -232,7 +232,8 @@ "workspace_template": "Această notița va apărea în lista de șabloane când se crează o nouă notiță, dar doar când spațiul de lucru în care se află notița este focalizat", "app_theme_base": "setați valoarea la „next” pentru a folosi drept temă de bază „TriliumNext” în loc de cea clasică.", "print_landscape": "Schimbă orientarea paginii din portret în vedere atunci când se exportă în PDF.", - "print_page_size": "Schimbă dimensiunea paginii când se exportă în PDF. Valori suportate: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." + "print_page_size": "Schimbă dimensiunea paginii când se exportă în PDF. Valori suportate: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger.", + "color_type": "Culoare" }, "attribute_editor": { "add_a_new_attribute": "Adaugă un nou attribut", @@ -282,7 +283,11 @@ "invalid_view_type": "Mod de afișare incorect „{{type}}”", "list": "Listă", "view_type": "Mod de afișare", - "calendar": "Calendar" + "calendar": "Calendar", + "book_properties": "Proprietăți colecție", + "table": "Tabel", + "geo-map": "Hartă geografică", + "board": "Tablă Kanban" }, "bookmark_switch": { "bookmark": "Semn de carte", @@ -332,7 +337,8 @@ "sun": "Dum", "thu": "Joi", "tue": "Mar", - "wed": "Mie" + "wed": "Mie", + "cannot_find_week_note": "Nu s-a putut găsi notița săptămânală" }, "clone_to": { "clone_notes_to": "Clonează notițele către...", @@ -656,7 +662,8 @@ "showJumpToNoteDialog": "afișează ecranul „Sari la”", "showSQLConsole": "afișează consola SQL", "tabShortcuts": "Scurtături pentru tab-uri", - "troubleshooting": "Unelte pentru depanare" + "troubleshooting": "Unelte pentru depanare", + "newTabWithActivationNoteLink": "Ctrl+Shift+click - (sau Shift+click mouse mijlociu) pe o legătură către o notiță deschide și activează notița într-un tab nou" }, "hide_floating_buttons_button": { "button_title": "Ascunde butoanele" @@ -679,7 +686,14 @@ "monday": "Luni", "sunday": "Duminică", "title": "Localizare", - "formatting-locale": "Format dată și numere" + "formatting-locale": "Format dată și numere", + "first-week-of-the-year": "Prima săptămână din an", + "first-week-contains-first-day": "Prima săptămână conține prima zi din an", + "first-week-contains-first-thursday": "Prima săptămână conține prima zi de joi din an", + "first-week-has-minimum-days": "Prima săptămână are numărul minim de zile", + "min-days-in-first-week": "Numărul minim de zile pentru prima săptămână", + "first-week-info": "Opțiunea de prima săptămână conține prima zi de joi din an este bazată pe standardul ISO 8601.", + "first-week-warning": "Schimbarea opțiunii primei săptămâni poate cauza duplicate cu notițele săptămânale existente deoarece acestea nu vor fi actualizate retroactiv." }, "image_properties": { "copy_reference_to_clipboard": "Copiază referință în clipboard", @@ -754,7 +768,8 @@ }, "jump_to_note": { "search_button": "Caută în întregul conținut Ctrl+Enter", - "close": "Închide" + "close": "Închide", + "search_placeholder": "Căutați notițe după nume sau tastați > pentru comenzi..." }, "left_pane_toggle": { "hide_panel": "Ascunde panoul", @@ -883,7 +898,9 @@ "modal_body": "Selectați tipul notiței/șablonul pentru noua notiță:", "modal_title": "Selectați tipul notiței", "templates": "Șabloane:", - "close": "Închide" + "close": "Închide", + "change_path_prompt": "Selectați locul unde să se creeze noua notiță:", + "search_placeholder": "căutare cale notiță după nume (cea implicită dacă este necompletat)" }, "onclick_button": { "no_click_handler": "Butonul „{{componentId}}” nu are nicio acțiune la clic definită" @@ -949,7 +966,8 @@ "unknown_attribute_type": "Tip de atribut necunoscut „{{type}}”", "unknown_label_type": "Tip de etichetă necunoscut „{{type}}”", "url_placeholder": "http://siteweb...", - "unset-field-placeholder": "nesetat" + "unset-field-placeholder": "nesetat", + "remove_color": "Înlătura culoarea" }, "prompt": { "defaultTitle": "Aviz", @@ -1367,7 +1385,8 @@ "hoist-note": "Focalizează notița", "unhoist-note": "Defocalizează notița", "converted-to-attachments": "{{count}} notițe au fost convertite în atașamente.", - "convert-to-attachment-confirm": "Doriți convertirea notițelor selectate în atașamente ale notiței părinte?" + "convert-to-attachment-confirm": "Doriți convertirea notițelor selectate în atașamente ale notiței părinte?", + "open-in-popup": "Editare rapidă" }, "shared_info": { "help_link": "Pentru informații vizitați wiki-ul.", @@ -1394,7 +1413,10 @@ "confirm-change": "Nu se recomandă schimbarea tipului notiței atunci când ea are un conținut. Procedați oricum?", "geo-map": "Hartă geografică", "beta-feature": "Beta", - "task-list": "Listă de sarcini" + "task-list": "Listă de sarcini", + "ai-chat": "Discuție cu AI-ul", + "new-feature": "Nou", + "collections": "Colecții" }, "protect_note": { "toggle-off": "Deprotejează notița", @@ -1528,7 +1550,9 @@ }, "clipboard": { "copied": "Notițele au fost copiate în clipboard.", - "cut": "Notițele au fost decupate în clipboard." + "cut": "Notițele au fost decupate în clipboard.", + "copy_failed": "Nu se poate copia în clipboard din cauza unor probleme de permisiuni.", + "copy_success": "S-a copiat în clipboard." }, "entrypoints": { "note-executed": "Notița a fost executată.", @@ -1579,13 +1603,15 @@ }, "highlighting": { "color-scheme": "Temă de culori", - "description": "Controlează evidențierea de sintaxă pentru blocurile de cod în interiorul notițelor text, notițele de tip cod nu vor fi afectate de aceste setări." + "description": "Controlează evidențierea de sintaxă pentru blocurile de cod în interiorul notițelor text, notițele de tip cod nu vor fi afectate de aceste setări.", + "title": "Blocuri de cod" }, "code_block": { "word_wrapping": "Încadrare text", "theme_none": "Fără evidențiere de sintaxă", "theme_group_dark": "Teme întunecate", - "theme_group_light": "Teme luminoase" + "theme_group_light": "Teme luminoase", + "copy_title": "Copiază în clipboard" }, "classic_editor_toolbar": { "title": "Formatare" @@ -1623,7 +1649,8 @@ "link_context_menu": { "open_note_in_new_split": "Deschide notița într-un panou nou", "open_note_in_new_tab": "Deschide notița într-un tab nou", - "open_note_in_new_window": "Deschide notița într-o fereastră nouă" + "open_note_in_new_window": "Deschide notița într-o fereastră nouă", + "open_note_in_popup": "Editare rapidă" }, "note_autocomplete": { "clear-text-field": "Șterge conținutul casetei", @@ -1643,7 +1670,8 @@ "zoom-factor": "Factor de zoom" }, "note_tooltip": { - "note-has-been-deleted": "Notița a fost ștearsă." + "note-has-been-deleted": "Notița a fost ștearsă.", + "quick-edit": "Editare rapidă" }, "notes": { "duplicate-note-suffix": "(dupl.)", @@ -1651,11 +1679,13 @@ }, "geo-map-context": { "open-location": "Deschide locația", - "remove-from-map": "Înlătură de pe hartă" + "remove-from-map": "Înlătură de pe hartă", + "add-note": "Adaugă un marcaj la această poziție" }, "geo-map": { "create-child-note-title": "Crează o notiță nouă și adaug-o pe hartă", - "unable-to-load-map": "Nu s-a putut încărca harta." + "unable-to-load-map": "Nu s-a putut încărca harta.", + "create-child-note-instruction": "Click pe hartă pentru a crea o nouă notiță la acea poziție sau apăsați Escape pentru a anula." }, "duration": { "days": "zile", @@ -1718,5 +1748,271 @@ "toggle_read_only_button": { "lock-editing": "Blochează editarea", "unlock-editing": "Deblochează editarea" + }, + "ai_llm": { + "not_started": "Nu s-a pornit", + "title": "Setări AI", + "processed_notes": "Notițe procesate", + "total_notes": "Totalul de notițe", + "progress": "Progres", + "queued_notes": "Notițe în curs de procesare", + "failed_notes": "Notițe ce au eșuat", + "last_processed": "Ultima procesare", + "refresh_stats": "Reîmprospătare statistici", + "enable_ai_features": "Activează funcțiile AI/LLM", + "enable_ai_description": "Activează funcțiile AI precum sumarizarea notițelor, generarea de conținut și alte capabilități ale LLM-ului", + "openai_tab": "OpenAI", + "anthropic_tab": "Anthropic", + "voyage_tab": "Voyage AI", + "ollama_tab": "Ollama", + "enable_ai": "Activează funcții AI/LLM", + "enable_ai_desc": "Activează funcțiile AI precum sumarizarea notițelor, generarea de conținut și alte capabilități ale LLM-ului", + "provider_configuration": "Setările furnizorului de AI", + "provider_precedence": "Ordinea de precedență a furnizorilor", + "provider_precedence_description": "Lista de furnizori în ordinea de precedență, separate de virgulă (ex. „openai,anthropic,ollama”)", + "temperature": "Temperatură", + "temperature_description": "Controlează aleatoritatea din răspunsuri (0 = deterministic, 2 = maxim aleator)", + "system_prompt": "Prompt-ul de sistem", + "system_prompt_description": "Prompt-ul de sistem folosit pentru toate interacțiunile cu AI-ul", + "openai_configuration": "Configurația OpenAI", + "openai_settings": "Setările OpenAI", + "api_key": "Cheie API", + "url": "URL de bază", + "model": "Model", + "openai_api_key_description": "Cheia de API din OpenAI pentru a putea accesa serviciile de AI", + "anthropic_api_key_description": "Cheia de API din Anthropic pentru a accesa modelele Claude", + "default_model": "Modelul implicit", + "openai_model_description": "Exemple: gpt-4o, gpt-4-turbo, gpt-3.5-turbo", + "base_url": "URL de bază", + "openai_url_description": "Implicit: https://api.openai.com/v1", + "anthropic_settings": "Setări Anthropic", + "anthropic_url_description": "URL de bază pentru API-ul Anthropic (implicit: https://api.anthropic.com)", + "anthropic_model_description": "Modele Anthropic Claude pentru auto-completare", + "voyage_settings": "Setări Voyage AI", + "ollama_settings": "Setări Ollama", + "ollama_url_description": "URL pentru API-ul Ollama (implicit: http://localhost:11434)", + "ollama_model_description": "Modelul Ollama pentru auto-completare", + "anthropic_configuration": "Configurația Anthropic", + "voyage_configuration": "Configurația Voyage AI", + "voyage_url_description": "Implicit: https://api.voyageai.com/v1", + "ollama_configuration": "Configurația Ollama", + "enable_ollama": "Activează Ollama", + "enable_ollama_description": "Activează Ollama pentru a putea utiliza modele AI locale", + "ollama_url": "URL Ollama", + "ollama_model": "Model Ollama", + "refresh_models": "Reîmprospătează modelele", + "refreshing_models": "Reîmprospătare...", + "enable_automatic_indexing": "Activează indexarea automată", + "rebuild_index": "Reconstruire index", + "rebuild_index_error": "Eroare la reconstruirea indexului. Verificați logurile pentru mai multe detalii.", + "note_title": "Titlul notiței", + "error": "Eroare", + "last_attempt": "Ultima încercare", + "actions": "Acțiuni", + "retry": "Reîncercare", + "partial": "{{ percentage }}% finalizat", + "retry_queued": "Notiță pusă în coadă pentru reîncercare", + "retry_failed": "Nu s-a putut pune notița în coada pentru reîncercare", + "max_notes_per_llm_query": "Număr maximum de notițe per interogare", + "max_notes_per_llm_query_description": "Numărul maxim de notițe similare incluse în contextul pentru AI", + "active_providers": "Furnizori activi", + "disabled_providers": "Furnizori dezactivați", + "remove_provider": "Șterge furnizorul din căutare", + "restore_provider": "Restaurează furnizorul pentru căutare", + "similarity_threshold": "Prag de similaritate", + "similarity_threshold_description": "Scorul minim de similaritate (0-1) pentru a include notițele în contextul interogărilor LLM", + "reprocess_index": "Reconstruiește indexul de căutare", + "reprocessing_index": "Reconstruire...", + "reprocess_index_started": "S-a pornit în fundal optimizarea indexului de căutare", + "reprocess_index_error": "Eroare la reconstruirea indexului de căutare", + "index_rebuild_progress": "Reconstruire index în curs", + "index_rebuilding": "Optimizare index ({{percentage}}%)", + "index_rebuild_complete": "Optimizarea indexului a avut loc cu succes", + "index_rebuild_status_error": "Eroare la verificarea stării reconstruirii indexului", + "never": "Niciodată", + "processing": "Procesare ({{percentage}}%)", + "incomplete": "Incomplet ({{percentage}}%)", + "complete": "Complet (100%)", + "refreshing": "Reîmprospătare...", + "auto_refresh_notice": "Reîmprospătare automată la fiecare {{seconds}} secunde", + "note_queued_for_retry": "Notiță pusă în coadă pentru reîncercare", + "failed_to_retry_note": "Eroare la reîncercarea notiței", + "all_notes_queued_for_retry": "Toate notițele eșuate au fost puse în coada de reîncercare", + "failed_to_retry_all": "Eroare la reîncercarea notițelor", + "ai_settings": "Setări AI", + "api_key_tooltip": "Cheia API pentru accesarea serviciului", + "empty_key_warning": { + "anthropic": "Cheia API pentru Anthropic lipsește. Introduceți o cheie API validă.", + "openai": "Cheia API pentru OpenAI lipsește. Introduceți o cheie API validă.", + "voyage": "Cheia API pentru Voyage lipsește. Introduceți o cheie API validă.", + "ollama": "Cheia API pentru Ollama lipsește. Introduceți o cheie API validă." + }, + "agent": { + "processing": "Procesare...", + "thinking": "Raționalizare...", + "loading": "Încărcare...", + "generating": "Generare..." + }, + "name": "AI", + "openai": "OpenAI", + "use_enhanced_context": "Folosește context îmbogățit", + "enhanced_context_description": "Oferă AI-ului mai multe informații de context din notiță și notițele similare pentru răspunsuri mai bune", + "show_thinking": "Afișează procesul de raționalizare", + "show_thinking_description": "Afișează lanțul de acțiuni din procesul de gândire al AI-ului", + "enter_message": "Introduceți mesajul...", + "error_contacting_provider": "Eroare la contactarea furnizorului de AI. Verificați setările și conexiunea la internet.", + "error_generating_response": "Eroare la generarea răspunsului AI", + "index_all_notes": "Indexează toate notițele", + "index_status": "Starea indexării", + "indexed_notes": "Notițe indexate", + "indexing_stopped": "Indexarea s-a oprit", + "indexing_in_progress": "Indexare în curs...", + "last_indexed": "Ultima indexare", + "n_notes_queued_0": "O notiță adăugată în coada de indexare", + "n_notes_queued_1": "{{ count }} notițe adăugate în coada de indexare", + "n_notes_queued_2": "{{ count }} de notițe adăugate în coada de indexare", + "note_chat": "Discuție pe baza notițelor", + "notes_indexed_0": "O notiță indexată", + "notes_indexed_1": "{{ count }} notițe indexate", + "notes_indexed_2": "{{ count }} de notițe indexate", + "sources": "Surse", + "start_indexing": "Indexează", + "use_advanced_context": "Folosește context îmbogățit", + "ollama_no_url": "Ollama nu este configurat. Introduceți un URL corect.", + "chat": { + "root_note_title": "Discuții cu AI-ul", + "root_note_content": "Această notiță stochează conversația cu AI-ul.", + "new_chat_title": "Discuție nouă", + "create_new_ai_chat": "Crează o nouă discuție cu AI-ul" + }, + "create_new_ai_chat": "Crează o nouă discuție cu AI-ul", + "configuration_warnings": "Sunt câteva probleme la configurația AI-ului. Verificați setările.", + "experimental_warning": "Funcția LLM este experimentală!", + "selected_provider": "Furnizor selectat", + "selected_provider_description": "Selectați furnizorul de AI pentru funcțiile de discuție și completare", + "select_model": "Selectați modelul...", + "select_provider": "Selectați furnizorul..." + }, + "custom_date_time_format": { + "title": "Format dată/timp personalizat", + "description": "Personalizați formatul de dată și timp inserat prin sau din bara de unelte. Vedeți Documentația Day.js pentru câmpurile de formatare disponibile.", + "format_string": "Șir de formatare:", + "formatted_time": "Data și ora formatate:" + }, + "multi_factor_authentication": { + "title": "Autentificare multi-factor", + "description": "Autentificarea multifactor (MFA) adaugă un strat de securitate adițional. Pe lângă introducerea parolei pentru atentificare, este necesară o dovadă adițională pentru a verifica identitatea. În acest fel, chiar dacă cineva este în posesia parolei dvs., nu vor putea accesa contul fără dovada adițională.

Urmați instrucțiunile de mai jos pentru a activa MFA. Dacă configurația nu este corectă, autentificarea va face doar cu parolă.", + "mfa_enabled": "Activare autentificare multi-factor", + "mfa_method": "Metodă MFA", + "electron_disabled": "Autentificarea multi-factor este suportată doar în aplicația desktop momentan.", + "totp_title": "Parolă unică bazată pe timp (TOTP)", + "totp_description": "TOTP (Time-Based One-Time Password) este o funcție de securitate care crează un cod unic, temporar care se schimbă la fiecare 30 de secunde. Acest cod se poate folosi pe lângă parolă pentru a face accesul neautorizat mult mai dificil.", + "totp_secret_title": "Generează secret TOTP", + "totp_secret_generate": "Generează secret TOTP", + "totp_secret_regenerate": "Regenerează secretul TOTP", + "no_totp_secret_warning": "Pentru a activa TOTP trebuie mai întâi generat un secret TOTP.", + "totp_secret_description_warning": "După generarea unui nou secret TOTP, va trebui să vă autentificați din nou cu folosirea codului TOTP.", + "totp_secret_generated": "Secret TOTP generat", + "totp_secret_warning": "Stocați secretul generat într-un loc securizat. Acesta nu va mai fi afișat din nou.", + "totp_secret_regenerate_confirm": "Doriți regenerarea secretului TOTP? Acest lucru va invalida secretul TOTP anterior și toate codurile de recuperere preexistente.", + "recovery_keys_title": "Chei unice de recuperare", + "recovery_keys_description": "Fiecare cheie unică poate fi folosită o singură dată pentru autentificare chiar dacă nu mai aveți acces la codurile generate.", + "recovery_keys_description_warning": "Cheile de recuperare nu vor mai fi afișate după părăsirea acestei pagini; păstrați-le într-un loc sigur.
Odată ce o cheie de recuperare este folosită, ea nu mai poate fi refolosită.", + "recovery_keys_error": "Eroare la generarea codurilor de recuperare", + "recovery_keys_no_key_set": "Niciun cod de recuperare nu a fost setat", + "recovery_keys_generate": "Generează codurile de recuperare", + "recovery_keys_regenerate": "Regenerează codurile de recuperare", + "recovery_keys_used": "Folosit la: {{date}}", + "recovery_keys_unused": "Codul de recuperere {{index}} este nefolosit", + "oauth_title": "OAuth/OpenID", + "oauth_description": "OpenID este o cale standardizată ce permite autentificarea într-un site folosind un cont dintr-un alt serviciu, precum Google, pentru a verifica identitatea. În mod implicit furnizorul este Google, dar se poate schimba cu orice furnizor OpenID. Pentru mai multe informații, consultați ghidul. Urmați aceste instrucțiuni pentru a putea configura OpenID prin Google.", + "oauth_description_warning": "Pentru a activa OAuth sau OpenID, trebuie să configurați URL-ul de bază, ID-ul de client și secretul de client în fișierul config.ini și să reporniți aplicația. Dacă doriți să utilizați variabile de environment, puteți seta TRILIUM_OAUTH_BASE_URL, TRILIUM_OAUTH_CLIENT_ID și TRILIUM_OAUTH_CLIENT_SECRET.", + "oauth_missing_vars": "Setări lipsă: {{variables}}", + "oauth_user_account": "Cont: ", + "oauth_user_email": "Email: ", + "oauth_user_not_logged_in": "Neautentificat!" + }, + "svg": { + "export_to_png": "Diagrama nu a putut fi exportată în PNG." + }, + "code_theme": { + "title": "Afișare", + "word_wrapping": "Încadrare text", + "color-scheme": "Temă de culori" + }, + "cpu_arch_warning": { + "title": "Descărcați versiunea de ARM64", + "message_macos": "Aplicația rulează momentan sub stratul de translație Rosetta 2, ceea ce înseamnă că folosiți versiunea de Intel (x64) pe un Mac cu Apple Silicon. Acest lucru impactează semnificativ performanța aplicației și durata de viață a bateriei.", + "message_windows": "Aplicația rulează în mod de emulare, ceea ce înseamnă că folosiți versiunea de Intel (x64) pe un dispozitiv Windows pe ARM. Acest lucru impactează semnificativ performanția aplicației și durata de viață a bateriei.", + "recommendation": "Pentru cea mai bună experiență, descărcați versiunea nativă de ARM64 a aplicației de pe pagina de release-uri.", + "download_link": "Descarcă versiunea nativă", + "continue_anyway": "Continuă oricum", + "dont_show_again": "Nu mai afișa acest mesaj" + }, + "editorfeatures": { + "title": "Funcții", + "emoji_completion_enabled": "Activează auto-completarea pentru emoji-uri", + "note_completion_enabled": "Activează auto-completarea pentru notițe" + }, + "table_view": { + "new-row": "Rând nou", + "new-column": "Coloană nouă", + "sort-column-by": "Ordonează după „{{title}}”", + "sort-column-ascending": "Ascendent", + "sort-column-descending": "Descendent", + "sort-column-clear": "Dezactivează ordonarea", + "hide-column": "Ascunde coloana „{{title}}”", + "show-hide-columns": "Afișează/ascunde coloane", + "row-insert-above": "Inserează rând deasupra", + "row-insert-below": "Inserează rând dedesubt", + "row-insert-child": "Inserează subnotiță", + "add-column-to-the-left": "Adaugă coloană la stânga", + "add-column-to-the-right": "Adaugă coloană la dreapta", + "edit-column": "Editează coloana", + "delete_column_confirmation": "Doriți ștergerea acestei coloane? Atributul corespunzător va fi șters din toate notițele din ierarhie.", + "delete-column": "Șterge coloana", + "new-column-label": "Etichetă", + "new-column-relation": "Relație" + }, + "book_properties_config": { + "hide-weekends": "Ascunde weekend-urile", + "display-week-numbers": "Afișează numărul săptămânii", + "map-style": "Stil hartă:", + "max-nesting-depth": "Nivel maxim de imbricare:", + "raster": "Raster", + "vector_light": "Vectorial (culoare deschisă)", + "vector_dark": "Vectorial (culoare închisă)", + "show-scale": "Afișează scara hărții" + }, + "table_context_menu": { + "delete_row": "Șterge rândul" + }, + "board_view": { + "delete-note": "Șterge notița", + "move-to": "Mută la", + "insert-above": "Inserează deasupra", + "insert-below": "Inserează dedesubt", + "delete-column": "Șterge coloana", + "delete-column-confirmation": "Doriți ștergerea acestei coloane? Atributul corespunzător va fi șters din notițele din acest tabel.", + "new-item": "Intrare nouă", + "add-column": "Adaugă coloană" + }, + "command_palette": { + "tree-action-name": "Listă de notițe: {{name}}", + "export_note_title": "Exportă notița", + "export_note_description": "Exportă notița curentă", + "show_attachments_title": "Afișează atașamentele", + "show_attachments_description": "Vedeți lista de atașamente corespunzătoare notiței", + "search_notes_title": "Căutare notițe", + "search_notes_description": "Deschide căutare avansată", + "search_subtree_title": "Caută în ierarhie", + "search_subtree_description": "Caută în notițele din ierarhia curentă", + "search_history_title": "Afișează istoricul de căutare", + "search_history_description": "Afișează căutarile anterioare", + "configure_launch_bar_title": "Configurează bara de lansare", + "configure_launch_bar_description": "Deschide configurația barei de lansare, pentru a putea adăuga sau ștergere intrări." + }, + "content_renderer": { + "open_externally": "Deschide în afara programului" } } From 8140fa79cc55663dc9964384d35143316411084f Mon Sep 17 00:00:00 2001 From: Adorian Doran Date: Thu, 31 Jul 2025 08:19:35 +0200 Subject: [PATCH 256/505] Translated using Weblate (Romanian) Currently translated at 99.7% (377 of 378 strings) Translation: Trilium Notes/Server Translate-URL: https://hosted.weblate.org/projects/trilium/server/ro/ --- .../src/assets/translations/ro/server.json | 557 +++++++++--------- 1 file changed, 280 insertions(+), 277 deletions(-) diff --git a/apps/server/src/assets/translations/ro/server.json b/apps/server/src/assets/translations/ro/server.json index b180a9331..ec45e7b0a 100644 --- a/apps/server/src/assets/translations/ro/server.json +++ b/apps/server/src/assets/translations/ro/server.json @@ -1,279 +1,282 @@ { - "keyboard_actions": { - "activate-next-tab": "Activează tab-ul din dreapta", - "activate-previous-tab": "Activează tab-ul din stânga", - "add-include-note-to-text": "Deschide fereastra de includere notițe", - "add-link-to-text": "Deschide fereastra de adaugă legături în text", - "add-new-label": "Crează o nouă etichetă", - "add-note-above-to-the-selection": "Adaugă notița deasupra selecției", - "add-note-below-to-selection": "Adaugă notița deasupra selecției", - "attributes-labels-and-relations": "Atribute (etichete și relații)", - "close-active-tab": "Închide tab-ul activ", - "collapse-subtree": "Minimizează ierarhia notiței curente", - "collapse-tree": "Minimizează întreaga ierarhie de notițe", - "copy-notes-to-clipboard": "Copiază notițele selectate în clipboard", - "copy-without-formatting": "Copiază textul selectat fără formatare", - "create-new-relation": "Crează o nouă relație", - "create-note-into-inbox": "Crează o notiță și o deschide în inbox (dacă este definit) sau notița zilnică", - "cut-notes-to-clipboard": "Decupează notițele selectate în clipboard", - "creating-and-moving-notes": "Crearea și mutarea notițelor", - "cut-into-note": "Decupează selecția din notița curentă și crează o subnotiță cu textul selectat", - "delete-note": "Șterge notița", - "dialogs": "Ferestre", - "duplicate-subtree": "Dublifică subnotițele", - "edit-branch-prefix": "Afișează ecranul „Editează prefixul ramurii”", - "edit-note-title": "Sare de la arborele notițelor la detaliile notiței și editează titlul", - "edit-readonly-note": "Editează o notiță care este în modul doar în citire", - "eight-tab": "Activează cel de-al optelea tab din listă", - "expand-subtree": "Expandează ierarhia notiței curente", - "fifth-tab": "Activează cel de-al cincelea tab din listă", - "first-tab": "Activează cel primul tab din listă", - "follow-link-under-cursor": "Urmărește legătura de sub poziția cursorului", - "force-save-revision": "Forțează crearea/salvarea unei noi revizii ale notiției curente", - "fourth-tab": "Activează cel de-al patrulea tab din listă", - "insert-date-and-time-to-text": "Inserează data curentă și timpul în text", - "last-tab": "Activează ultimul tab din listă", - "move-note-down": "Mută notița mai jos", - "move-note-down-in-hierarchy": "Mută notița mai jos în ierarhie", - "move-note-up": "Mută notița mai sus", - "move-note-up-in-hierarchy": "Mută notița mai sus în ierarhie", - "ninth-tab": "Activează cel de-al nouălea tab din listă", - "note-clipboard": "Clipboard-ul notițelor", - "note-navigation": "Navigarea printre notițe", - "open-dev-tools": "Deschide uneltele de dezvoltator", - "open-jump-to-note-dialog": "Deschide ecranul „Sari la notiță”", - "open-new-tab": "Deschide un tab nou", - "open-new-window": "Deschide o nouă fereastră goală", - "open-note-externally": "Deschide notița ca un fișier utilizând aplicația implicită", - "other": "Altele", - "paste-markdown-into-text": "Lipește text Markdown din clipboard în notița de tip text", - "paste-notes-from-clipboard": "Lipește notițele din clipboard în notița activă", - "print-active-note": "Imprimă notița activă", - "reload-frontend-app": "Reîncarcă interfața grafică", - "render-active-note": "Reîmprospătează notița activă", - "reopen-last-tab": "Deschide din nou ultimul tab închis", - "reset-zoom-level": "Resetează nivelul de magnificare", - "ribbon-tabs": "Tab-urile din panglică", - "run-active-note": "Rulează notița curentă de tip JavaScript (frontend sau backend)", - "search-in-subtree": "Caută notițe în ierarhia notiței active", - "second-tab": "Activează cel de-al doilea tab din listă", - "select-all-notes-in-parent": "Selectează toate notițele din nivelul notiței curente", - "seventh-tab": "Activează cel de-al șaptelea tab din listă", - "show-backend-log": "Afișează fereastra „Log-uri din backend”", - "show-help": "Afișează informații utile", - "show-note-source": "Afișează fereastra „Sursa notiței”", - "show-options": "Afișează fereastra de opțiuni", - "show-recent-changes": "Afișează fereastra „Schimbări recente”", - "show-revisions": "Afișează fereastra „Revizii ale notiței”", - "show-sql-console": "Afișează ecranul „Consolă SQL”", - "sixth-tab": "Activează cel de-al șaselea tab din listă", - "sort-child-notes": "Ordonează subnotițele", - "tabs-and-windows": "Tab-uri și ferestre", - "text-note-operations": "Operații asupra notițelor text", - "third-tab": "Activează cel de-al treilea tab din listă", - "toggle-basic-properties": "Comută tab-ul „Proprietăți de bază”", - "toggle-book-properties": "Comută tab-ul „Proprietăți ale cărții”", - "toggle-file-properties": "Comută tab-ul „Proprietăți fișier”", - "toggle-full-screen": "Comută modul ecran complet", - "toggle-image-properties": "Comută tab-ul „Proprietăți imagini”", - "toggle-inherited-attributes": "Comută tab-ul „Atribute moștenite”", - "toggle-left-note-tree-panel": "Comută panoul din stânga (arborele notițelor)", - "toggle-link-map": "Comută harta legăturilor", - "toggle-note-hoisting": "Comută focalizarea pe notița curentă", - "toggle-note-info": "Comută tab-ul „Informații despre notiță”", - "toggle-note-paths": "Comută tab-ul „Căile notiței”", - "toggle-owned-attributes": "Comută tab-ul „Atribute proprii”", - "toggle-promoted-attributes": "Comută tab-ul „Atribute promovate”", - "toggle-right-pane": "Comută afișarea panoului din dreapta, ce include tabela de conținut și evidențieri", - "toggle-similar-notes": "Comută tab-ul „Notițe similare”", - "toggle-tray": "Afișează/ascunde aplicația din tray-ul de sistem", - "unhoist": "Defocalizează complet", - "zoom-in": "Mărește zoom-ul", - "zoom-out": "Micșorează zoom-ul", - "toggle-classic-editor-toolbar": "Comută tab-ul „Formatare” pentru editorul cu bară fixă", - "export-as-pdf": "Exportă notița curentă ca PDF", - "show-cheatsheet": "Afișează o fereastră cu scurtături de la tastatură comune", - "toggle-zen-mode": "Activează/dezactivează modul zen (o interfață minimală, fără distrageri)" - }, - "login": { - "button": "Autentifică", - "heading": "Autentificare în Trilium", - "incorrect-password": "Parola nu este corectă. Încercați din nou.", - "password": "Parolă", - "remember-me": "Ține-mă minte", - "title": "Autentificare" - }, - "set_password": { - "title": "Setare parolă", - "heading": "Setare parolă", - "button": "Setează parola", - "description": "Înainte de a putea utiliza Trilium din navigator, trebuie mai întâi setată o parolă. Ulterior această parolă va fi folosită la autentificare.", - "password": "Parolă", - "password-confirmation": "Confirmarea parolei" - }, - "javascript-required": "Trilium necesită JavaScript să fie activat pentru a putea funcționa.", - "setup": { - "heading": "Instalarea Trilium Notes", - "init-in-progress": "Se inițializează documentul", - "new-document": "Sunt un utilizator nou și doresc să creez un document Trilium pentru notițele mele", - "next": "Mai departe", - "redirecting": "În scurt timp veți fi redirecționat la aplicație.", - "sync-from-desktop": "Am deja o instanță de desktop și aș dori o sincronizare cu aceasta", - "sync-from-server": "Am deja o instanță de server și doresc o sincronizare cu aceasta", - "title": "Inițializare" - }, - "setup_sync-from-desktop": { - "description": "Acești pași trebuie urmați de pe aplicația de desktop:", - "heading": "Sincronizare cu aplicația desktop", - "step1": "Deschideți aplicația Trilium Notes pentru desktop.", - "step2": "Din meniul Trilium, dați clic pe Opțiuni.", - "step3": "Clic pe categoria „Sincronizare”.", - "step4": "Schimbați adresa server-ului către: {{- host}} și apăsați „Salvează”.", - "step5": "Clic pe butonul „Testează sincronizarea” pentru a verifica dacă conexiunea a fost făcută cu succes.", - "step6": "După ce ați completat pașii, dați click {{- link}}.", - "step6-here": "aici" - }, - "setup_sync-from-server": { - "back": "Înapoi", - "finish-setup": "Finalizează inițializarea", - "heading": "Sincronizare cu server-ul", - "instructions": "Introduceți adresa server-ului Trilium și credențialele în secțiunea de jos. Astfel se va descărca întregul document Trilium de pe server și se va configura sincronizarea cu acesta. În funcție de dimensiunea documentului și viteza rețelei, acest proces poate dura.", - "note": "De remarcat:", - "password": "Parolă", - "proxy-instruction": "Dacă lăsați câmpul de proxy nesetat, proxy-ul de sistem va fi folosit (valabil doar pentru aplicația de desktop)", - "proxy-server": "Server-ul proxy (opțional)", - "proxy-server-placeholder": "https://:", - "server-host": "Adresa server-ului Trilium", - "server-host-placeholder": "https://:", - "password-placeholder": "Parolă" - }, - "setup_sync-in-progress": { - "heading": "Sincronizare în curs", - "outstanding-items": "Elemente de sincronizat:", - "outstanding-items-default": "-", - "successful": "Sincronizarea a fost configurată cu succes. Poate dura ceva timp pentru a finaliza sincronizarea inițială. După efectuarea ei se va redirecționa către pagina de autentificare." - }, - "share_404": { - "heading": "Pagină negăsită", - "title": "Pagină negăsită" - }, - "share_page": { - "child-notes": "Subnotițe:", - "clipped-from": "Această notiță a fost decupată inițial de pe {{- url}}", - "no-content": "Această notiță nu are conținut.", - "parent": "părinte:" - }, - "weekdays": { - "monday": "Luni", - "tuesday": "Marți", - "wednesday": "Miercuri", - "thursday": "Joi", - "friday": "Vineri", - "saturday": "Sâmbătă", - "sunday": "Duminică" - }, - "months": { - "january": "Ianuarie", - "february": "Februarie", - "march": "Martie", - "april": "Aprilie", - "may": "Mai", - "june": "Iunie", - "july": "Iulie", - "august": "August", - "september": "Septembrie", - "october": "Octombrie", - "november": "Noiembrie", - "december": "Decembrie" - }, - "special_notes": { - "search_prefix": "Căutare:" - }, - "test_sync": { - "not-configured": "Calea către serverul de sincronizare nu este configurată. Configurați sincronizarea înainte.", - "successful": "Comunicarea cu serverul de sincronizare a avut loc cu succes, s-a început sincronizarea." - }, - "hidden-subtree": { - "advanced-title": "Setări avansate", - "appearance-title": "Aspect", - "available-launchers-title": "Lansatoare disponibile", - "backup-title": "Copii de siguranță", - "base-abstract-launcher-title": "Lansator abstract de bază", - "bookmarks-title": "Semne de carte", - "built-in-widget-title": "Widget predefinit", - "bulk-action-title": "Acțiuni în masă", - "calendar-title": "Calendar", - "code-notes-title": "Notițe de cod", - "command-launcher-title": "Lansator de comenzi", - "custom-widget-title": "Widget personalizat", - "etapi-title": "ETAPI", - "go-to-previous-note-title": "Mergi la notița anterioară", - "images-title": "Imagini", - "launch-bar-title": "Bară de lansare", - "new-note-title": "Notiță nouă", - "note-launcher-title": "Lansator de notițe", - "note-map-title": "Harta notițelor", - "open-today-journal-note-title": "Deschide notița de astăzi", - "options-title": "Opțiuni", - "other": "Diverse", - "password-title": "Parolă", - "protected-session-title": "Sesiune protejată", - "recent-changes-title": "Schimbări recente", - "script-launcher-title": "Lansator de script-uri", - "search-history-title": "Istoric de căutare", - "settings-title": "Setări", - "shared-notes-title": "Notițe partajate", - "quick-search-title": "Căutare rapidă", - "root-title": "Notițe ascunse", - "search-notes-title": "Căutare notițe", - "shortcuts-title": "Scurtături", - "spellcheck-title": "Corectare gramaticală", - "sync-status-title": "Starea sincronizării", - "sync-title": "Sincronizare", - "text-notes": "Notițe text", - "user-hidden-title": "Definite de utilizator", - "backend-log-title": "Log backend", - "spacer-title": "Separator", - "sql-console-history-title": "Istoricul consolei SQL", - "go-to-next-note-title": "Mergi la notița următoare", - "launch-bar-templates-title": "Șabloane bară de lansare", - "visible-launchers-title": "Lansatoare vizibile", - "user-guide": "Ghidul de utilizare" - }, - "notes": { - "new-note": "Notiță nouă" - }, - "backend_log": { - "log-does-not-exist": "Fișierul de loguri de backend „{{ fileName }}” nu există (încă).", - "reading-log-failed": "Nu s-a putut citi fișierul de loguri de backend „{{fileName}}”." - }, - "geo-map": { - "create-child-note-instruction": "Clic pe hartă pentru a crea o nouă notiță la acea poziție sau apăsați Escape pentru a renunța." - }, - "content_renderer": { - "note-cannot-be-displayed": "Acest tip de notiță nu poate fi afișat." - }, - "pdf": { - "export_filter": "Document PDF (*.pdf)", - "unable-to-export-message": "Notița curentă nu a putut fi exportată ca PDF.", - "unable-to-export-title": "Nu s-a putut exporta ca PDF", - "unable-to-save-message": "Nu s-a putut scrie fișierul selectat. Încercați din nou sau selectați altă destinație." - }, - "tray": { - "bookmarks": "Semne de carte", - "close": "Închide Trilium", - "new-note": "Notiță nouă", - "recents": "Notițe recente", - "today": "Mergi la notița de astăzi", - "tooltip": "Trilium Notes", - "show-windows": "Afișează ferestrele" - }, - "migration": { - "error_message": "Eroare la migrarea către versiunea {{version}}: {{stack}}", - "old_version": "Nu se poate migra la ultima versiune direct de la versiunea dvs. Actualizați mai întâi la versiunea v0.60.4 și ulterior la această versiune.", - "wrong_db_version": "Versiunea actuală a bazei de date ({{version}}) este mai nouă decât versiunea de bază de date suportată de aplicație ({{targetVersion}}), ceea ce înseamnă că a fost creată de către o versiune mai nouă de Trilium. Actualizați aplicația la ultima versiune pentru a putea continua." - }, - "modals": { - "error_title": "Eroare" - } + "keyboard_actions": { + "activate-next-tab": "Activează tab-ul din dreapta", + "activate-previous-tab": "Activează tab-ul din stânga", + "add-include-note-to-text": "Deschide fereastra de includere notițe", + "add-link-to-text": "Deschide fereastra de adaugă legături în text", + "add-new-label": "Crează o nouă etichetă", + "add-note-above-to-the-selection": "Adaugă notița deasupra selecției", + "add-note-below-to-selection": "Adaugă notița deasupra selecției", + "attributes-labels-and-relations": "Atribute (etichete și relații)", + "close-active-tab": "Închide tab-ul activ", + "collapse-subtree": "Minimizează ierarhia notiței curente", + "collapse-tree": "Minimizează întreaga ierarhie de notițe", + "copy-notes-to-clipboard": "Copiază notițele selectate în clipboard", + "copy-without-formatting": "Copiază textul selectat fără formatare", + "create-new-relation": "Crează o nouă relație", + "create-note-into-inbox": "Crează o notiță și o deschide în inbox (dacă este definit) sau notița zilnică", + "cut-notes-to-clipboard": "Decupează notițele selectate în clipboard", + "creating-and-moving-notes": "Crearea și mutarea notițelor", + "cut-into-note": "Decupează selecția din notița curentă și crează o subnotiță cu textul selectat", + "delete-note": "Șterge notița", + "dialogs": "Ferestre", + "duplicate-subtree": "Dublifică subnotițele", + "edit-branch-prefix": "Afișează ecranul „Editează prefixul ramurii”", + "edit-note-title": "Sare de la arborele notițelor la detaliile notiței și editează titlul", + "edit-readonly-note": "Editează o notiță care este în modul doar în citire", + "eight-tab": "Activează cel de-al optelea tab din listă", + "expand-subtree": "Expandează ierarhia notiței curente", + "fifth-tab": "Activează cel de-al cincelea tab din listă", + "first-tab": "Activează cel primul tab din listă", + "follow-link-under-cursor": "Urmărește legătura de sub poziția cursorului", + "force-save-revision": "Forțează crearea/salvarea unei noi revizii ale notiției curente", + "fourth-tab": "Activează cel de-al patrulea tab din listă", + "insert-date-and-time-to-text": "Inserează data curentă și timpul în text", + "last-tab": "Activează ultimul tab din listă", + "move-note-down": "Mută notița mai jos", + "move-note-down-in-hierarchy": "Mută notița mai jos în ierarhie", + "move-note-up": "Mută notița mai sus", + "move-note-up-in-hierarchy": "Mută notița mai sus în ierarhie", + "ninth-tab": "Activează cel de-al nouălea tab din listă", + "note-clipboard": "Clipboard-ul notițelor", + "note-navigation": "Navigarea printre notițe", + "open-dev-tools": "Deschide uneltele de dezvoltator", + "open-jump-to-note-dialog": "Deschide ecranul „Sari la notiță”", + "open-new-tab": "Deschide un tab nou", + "open-new-window": "Deschide o nouă fereastră goală", + "open-note-externally": "Deschide notița ca un fișier utilizând aplicația implicită", + "other": "Altele", + "paste-markdown-into-text": "Lipește text Markdown din clipboard în notița de tip text", + "paste-notes-from-clipboard": "Lipește notițele din clipboard în notița activă", + "print-active-note": "Imprimă notița activă", + "reload-frontend-app": "Reîncarcă interfața grafică", + "render-active-note": "Reîmprospătează notița activă", + "reopen-last-tab": "Deschide din nou ultimul tab închis", + "reset-zoom-level": "Resetează nivelul de magnificare", + "ribbon-tabs": "Tab-urile din panglică", + "run-active-note": "Rulează notița curentă de tip JavaScript (frontend sau backend)", + "search-in-subtree": "Caută notițe în ierarhia notiței active", + "second-tab": "Activează cel de-al doilea tab din listă", + "select-all-notes-in-parent": "Selectează toate notițele din nivelul notiței curente", + "seventh-tab": "Activează cel de-al șaptelea tab din listă", + "show-backend-log": "Afișează fereastra „Log-uri din backend”", + "show-help": "Afișează informații utile", + "show-note-source": "Afișează fereastra „Sursa notiței”", + "show-options": "Afișează fereastra de opțiuni", + "show-recent-changes": "Afișează fereastra „Schimbări recente”", + "show-revisions": "Afișează fereastra „Revizii ale notiței”", + "show-sql-console": "Afișează ecranul „Consolă SQL”", + "sixth-tab": "Activează cel de-al șaselea tab din listă", + "sort-child-notes": "Ordonează subnotițele", + "tabs-and-windows": "Tab-uri și ferestre", + "text-note-operations": "Operații asupra notițelor text", + "third-tab": "Activează cel de-al treilea tab din listă", + "toggle-basic-properties": "Comută tab-ul „Proprietăți de bază”", + "toggle-book-properties": "Comută tab-ul „Proprietăți ale cărții”", + "toggle-file-properties": "Comută tab-ul „Proprietăți fișier”", + "toggle-full-screen": "Comută modul ecran complet", + "toggle-image-properties": "Comută tab-ul „Proprietăți imagini”", + "toggle-inherited-attributes": "Comută tab-ul „Atribute moștenite”", + "toggle-left-note-tree-panel": "Comută panoul din stânga (arborele notițelor)", + "toggle-link-map": "Comută harta legăturilor", + "toggle-note-hoisting": "Comută focalizarea pe notița curentă", + "toggle-note-info": "Comută tab-ul „Informații despre notiță”", + "toggle-note-paths": "Comută tab-ul „Căile notiței”", + "toggle-owned-attributes": "Comută tab-ul „Atribute proprii”", + "toggle-promoted-attributes": "Comută tab-ul „Atribute promovate”", + "toggle-right-pane": "Comută afișarea panoului din dreapta, ce include tabela de conținut și evidențieri", + "toggle-similar-notes": "Comută tab-ul „Notițe similare”", + "toggle-tray": "Afișează/ascunde aplicația din tray-ul de sistem", + "unhoist": "Defocalizează complet", + "zoom-in": "Mărește zoom-ul", + "zoom-out": "Micșorează zoom-ul", + "toggle-classic-editor-toolbar": "Comută tab-ul „Formatare” pentru editorul cu bară fixă", + "export-as-pdf": "Exportă notița curentă ca PDF", + "show-cheatsheet": "Afișează o fereastră cu scurtături de la tastatură comune", + "toggle-zen-mode": "Activează/dezactivează modul zen (o interfață minimală, fără distrageri)" + }, + "login": { + "button": "Autentifică", + "heading": "Autentificare în Trilium", + "incorrect-password": "Parola nu este corectă. Încercați din nou.", + "password": "Parolă", + "remember-me": "Ține-mă minte", + "title": "Autentificare" + }, + "set_password": { + "title": "Setare parolă", + "heading": "Setare parolă", + "button": "Setează parola", + "description": "Înainte de a putea utiliza Trilium din navigator, trebuie mai întâi setată o parolă. Ulterior această parolă va fi folosită la autentificare.", + "password": "Parolă", + "password-confirmation": "Confirmarea parolei" + }, + "javascript-required": "Trilium necesită JavaScript să fie activat pentru a putea funcționa.", + "setup": { + "heading": "Instalarea Trilium Notes", + "init-in-progress": "Se inițializează documentul", + "new-document": "Sunt un utilizator nou și doresc să creez un document Trilium pentru notițele mele", + "next": "Mai departe", + "redirecting": "În scurt timp veți fi redirecționat la aplicație.", + "sync-from-desktop": "Am deja o instanță de desktop și aș dori o sincronizare cu aceasta", + "sync-from-server": "Am deja o instanță de server și doresc o sincronizare cu aceasta", + "title": "Inițializare" + }, + "setup_sync-from-desktop": { + "description": "Acești pași trebuie urmați de pe aplicația de desktop:", + "heading": "Sincronizare cu aplicația desktop", + "step1": "Deschideți aplicația Trilium Notes pentru desktop.", + "step2": "Din meniul Trilium, dați clic pe Opțiuni.", + "step3": "Clic pe categoria „Sincronizare”.", + "step4": "Schimbați adresa server-ului către: {{- host}} și apăsați „Salvează”.", + "step5": "Clic pe butonul „Testează sincronizarea” pentru a verifica dacă conexiunea a fost făcută cu succes.", + "step6": "După ce ați completat pașii, dați click {{- link}}.", + "step6-here": "aici" + }, + "setup_sync-from-server": { + "back": "Înapoi", + "finish-setup": "Finalizează inițializarea", + "heading": "Sincronizare cu server-ul", + "instructions": "Introduceți adresa server-ului Trilium și credențialele în secțiunea de jos. Astfel se va descărca întregul document Trilium de pe server și se va configura sincronizarea cu acesta. În funcție de dimensiunea documentului și viteza rețelei, acest proces poate dura.", + "note": "De remarcat:", + "password": "Parolă", + "proxy-instruction": "Dacă lăsați câmpul de proxy nesetat, proxy-ul de sistem va fi folosit (valabil doar pentru aplicația de desktop)", + "proxy-server": "Server-ul proxy (opțional)", + "proxy-server-placeholder": "https://:", + "server-host": "Adresa server-ului Trilium", + "server-host-placeholder": "https://:", + "password-placeholder": "Parolă" + }, + "setup_sync-in-progress": { + "heading": "Sincronizare în curs", + "outstanding-items": "Elemente de sincronizat:", + "outstanding-items-default": "-", + "successful": "Sincronizarea a fost configurată cu succes. Poate dura ceva timp pentru a finaliza sincronizarea inițială. După efectuarea ei se va redirecționa către pagina de autentificare." + }, + "share_404": { + "heading": "Pagină negăsită", + "title": "Pagină negăsită" + }, + "share_page": { + "child-notes": "Subnotițe:", + "clipped-from": "Această notiță a fost decupată inițial de pe {{- url}}", + "no-content": "Această notiță nu are conținut.", + "parent": "părinte:" + }, + "weekdays": { + "monday": "Luni", + "tuesday": "Marți", + "wednesday": "Miercuri", + "thursday": "Joi", + "friday": "Vineri", + "saturday": "Sâmbătă", + "sunday": "Duminică" + }, + "months": { + "january": "Ianuarie", + "february": "Februarie", + "march": "Martie", + "april": "Aprilie", + "may": "Mai", + "june": "Iunie", + "july": "Iulie", + "august": "August", + "september": "Septembrie", + "october": "Octombrie", + "november": "Noiembrie", + "december": "Decembrie" + }, + "special_notes": { + "search_prefix": "Căutare:" + }, + "test_sync": { + "not-configured": "Calea către serverul de sincronizare nu este configurată. Configurați sincronizarea înainte.", + "successful": "Comunicarea cu serverul de sincronizare a avut loc cu succes, s-a început sincronizarea." + }, + "hidden-subtree": { + "advanced-title": "Setări avansate", + "appearance-title": "Aspect", + "available-launchers-title": "Lansatoare disponibile", + "backup-title": "Copii de siguranță", + "base-abstract-launcher-title": "Lansator abstract de bază", + "bookmarks-title": "Semne de carte", + "built-in-widget-title": "Widget predefinit", + "bulk-action-title": "Acțiuni în masă", + "calendar-title": "Calendar", + "code-notes-title": "Notițe de cod", + "command-launcher-title": "Lansator de comenzi", + "custom-widget-title": "Widget personalizat", + "etapi-title": "ETAPI", + "go-to-previous-note-title": "Mergi la notița anterioară", + "images-title": "Imagini", + "launch-bar-title": "Bară de lansare", + "new-note-title": "Notiță nouă", + "note-launcher-title": "Lansator de notițe", + "note-map-title": "Harta notițelor", + "open-today-journal-note-title": "Deschide notița de astăzi", + "options-title": "Opțiuni", + "other": "Diverse", + "password-title": "Parolă", + "protected-session-title": "Sesiune protejată", + "recent-changes-title": "Schimbări recente", + "script-launcher-title": "Lansator de script-uri", + "search-history-title": "Istoric de căutare", + "settings-title": "Setări", + "shared-notes-title": "Notițe partajate", + "quick-search-title": "Căutare rapidă", + "root-title": "Notițe ascunse", + "search-notes-title": "Căutare notițe", + "shortcuts-title": "Scurtături", + "spellcheck-title": "Corectare gramaticală", + "sync-status-title": "Starea sincronizării", + "sync-title": "Sincronizare", + "text-notes": "Notițe text", + "user-hidden-title": "Definite de utilizator", + "backend-log-title": "Log backend", + "spacer-title": "Separator", + "sql-console-history-title": "Istoricul consolei SQL", + "go-to-next-note-title": "Mergi la notița următoare", + "launch-bar-templates-title": "Șabloane bară de lansare", + "visible-launchers-title": "Lansatoare vizibile", + "user-guide": "Ghidul de utilizare" + }, + "notes": { + "new-note": "Notiță nouă" + }, + "backend_log": { + "log-does-not-exist": "Fișierul de loguri de backend „{{ fileName }}” nu există (încă).", + "reading-log-failed": "Nu s-a putut citi fișierul de loguri de backend „{{fileName}}”." + }, + "geo-map": { + "create-child-note-instruction": "Clic pe hartă pentru a crea o nouă notiță la acea poziție sau apăsați Escape pentru a renunța." + }, + "content_renderer": { + "note-cannot-be-displayed": "Acest tip de notiță nu poate fi afișat." + }, + "pdf": { + "export_filter": "Document PDF (*.pdf)", + "unable-to-export-message": "Notița curentă nu a putut fi exportată ca PDF.", + "unable-to-export-title": "Nu s-a putut exporta ca PDF", + "unable-to-save-message": "Nu s-a putut scrie fișierul selectat. Încercați din nou sau selectați altă destinație." + }, + "tray": { + "bookmarks": "Semne de carte", + "close": "Închide Trilium", + "new-note": "Notiță nouă", + "recents": "Notițe recente", + "today": "Mergi la notița de astăzi", + "tooltip": "Trilium Notes", + "show-windows": "Afișează ferestrele" + }, + "migration": { + "error_message": "Eroare la migrarea către versiunea {{version}}: {{stack}}", + "old_version": "Nu se poate migra la ultima versiune direct de la versiunea dvs. Actualizați mai întâi la versiunea v0.60.4 și ulterior la această versiune.", + "wrong_db_version": "Versiunea actuală a bazei de date ({{version}}) este mai nouă decât versiunea de bază de date suportată de aplicație ({{targetVersion}}), ceea ce înseamnă că a fost creată de către o versiune mai nouă de Trilium. Actualizați aplicația la ultima versiune pentru a putea continua." + }, + "modals": { + "error_title": "Eroare" + }, + "keyboard_action_names": { + "quick-search": "Căutare rapidă" + } } From b8da7933530365ae73b598bb11be7eeed5c72a6e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 31 Jul 2025 09:09:20 +0200 Subject: [PATCH 257/505] Translated using Weblate (Romanian) Currently translated at 99.7% (377 of 378 strings) Translation: Trilium Notes/Server Translate-URL: https://hosted.weblate.org/projects/trilium/server/ro/ --- .../src/assets/translations/ro/server.json | 161 +++++++++++++++++- 1 file changed, 155 insertions(+), 6 deletions(-) diff --git a/apps/server/src/assets/translations/ro/server.json b/apps/server/src/assets/translations/ro/server.json index ec45e7b0a..e5505f975 100644 --- a/apps/server/src/assets/translations/ro/server.json +++ b/apps/server/src/assets/translations/ro/server.json @@ -93,7 +93,17 @@ "toggle-classic-editor-toolbar": "Comută tab-ul „Formatare” pentru editorul cu bară fixă", "export-as-pdf": "Exportă notița curentă ca PDF", "show-cheatsheet": "Afișează o fereastră cu scurtături de la tastatură comune", - "toggle-zen-mode": "Activează/dezactivează modul zen (o interfață minimală, fără distrageri)" + "toggle-zen-mode": "Activează/dezactivează modul zen (o interfață minimală, fără distrageri)", + "back-in-note-history": "Mergi la notița anterioară din istoric", + "forward-in-note-history": "Mergi la următoarea notiță din istoric", + "scroll-to-active-note": "Derulează la notița activă în lista de notițe", + "quick-search": "Mergi la bara de căutare rapidă", + "create-note-after": "Crează o notiță după cea activă", + "create-note-into": "Crează notiță ca subnotiță a notiței active", + "clone-notes-to": "Clonează notițele selectate", + "move-notes-to": "Mută notițele selectate", + "find-in-text": "Afișează/ascunde panoul de căutare", + "open-command-palette": "Deschide paleta de comenzi" }, "login": { "button": "Autentifică", @@ -101,7 +111,9 @@ "incorrect-password": "Parola nu este corectă. Încercați din nou.", "password": "Parolă", "remember-me": "Ține-mă minte", - "title": "Autentificare" + "title": "Autentificare", + "incorrect-totp": "TOTP-ul este incorect. Încercați din nou.", + "sign_in_with_sso": "Autentificare cu {{ ssoIssuerName }}" }, "set_password": { "title": "Setare parolă", @@ -238,10 +250,18 @@ "go-to-next-note-title": "Mergi la notița următoare", "launch-bar-templates-title": "Șabloane bară de lansare", "visible-launchers-title": "Lansatoare vizibile", - "user-guide": "Ghidul de utilizare" + "user-guide": "Ghidul de utilizare", + "jump-to-note-title": "Sari la...", + "llm-chat-title": "Întreabă Notes", + "multi-factor-authentication-title": "Autentificare multi-factor", + "ai-llm-title": "AI/LLM", + "localization": "Limbă și regiune", + "inbox-title": "Inbox" }, "notes": { - "new-note": "Notiță nouă" + "new-note": "Notiță nouă", + "duplicate-note-suffix": "(dupl.)", + "duplicate-note-title": "{{- noteTitle }} {{ duplicateNoteSuffix }}" }, "backend_log": { "log-does-not-exist": "Fișierul de loguri de backend „{{ fileName }}” nu există (încă).", @@ -266,7 +286,8 @@ "recents": "Notițe recente", "today": "Mergi la notița de astăzi", "tooltip": "Trilium Notes", - "show-windows": "Afișează ferestrele" + "show-windows": "Afișează ferestrele", + "open_new_window": "Deschide fereastră nouă" }, "migration": { "error_message": "Eroare la migrarea către versiunea {{version}}: {{stack}}", @@ -277,6 +298,134 @@ "error_title": "Eroare" }, "keyboard_action_names": { - "quick-search": "Căutare rapidă" + "quick-search": "Căutare rapidă", + "back-in-note-history": "Înapoi în istoricul notițelor", + "forward-in-note-history": "Înainte în istoricul notițelor", + "jump-to-note": "Mergi la...", + "scroll-to-active-note": "Derulează la notița activă", + "search-in-subtree": "Caută în subnotițe", + "expand-subtree": "Expandează subnotițele", + "collapse-tree": "Minimizează arborele de notițe", + "collapse-subtree": "Ascunde subnotițele", + "sort-child-notes": "Ordonează subnotițele", + "create-note-after": "Crează notiță după", + "create-note-into": "Crează subnotiță în", + "create-note-into-inbox": "Crează notiță în inbox", + "delete-notes": "Șterge notițe", + "move-note-up": "Mută notița deasupra", + "move-note-down": "Mută notița dedesubt", + "move-note-up-in-hierarchy": "Mută notița mai sus în ierarhie", + "move-note-down-in-hierarchy": "Mută notița mai jos în ierarhie", + "edit-note-title": "Editează titlul notiței", + "edit-branch-prefix": "Editează prefixul ramurii", + "clone-notes-to": "Clonează notițele în", + "move-notes-to": "Mută notițele în", + "copy-notes-to-clipboard": "Copiază notițele în clipboard", + "paste-notes-from-clipboard": "Lipește notițele din clipboard", + "cut-notes-to-clipboard": "Decupează notițele în clipboard", + "select-all-notes-in-parent": "Selectează toate notițele din părinte", + "add-note-above-to-selection": "Adaugă notița de deasupra la selecție", + "add-note-below-to-selection": "Adaugă notița de dedesubt la selecție", + "duplicate-subtree": "Dublifică ierarhia", + "open-new-tab": "Deschide în tab nou", + "close-active-tab": "Închide tab-ul activ", + "reopen-last-tab": "Redeschide ultimul tab", + "activate-next-tab": "Activează tab-ul următorul", + "activate-previous-tab": "Activează tab-ul anterior", + "open-new-window": "Deschide în fereastră nouă", + "toggle-system-tray-icon": "Afișează/ascunde iconița din bara de sistem", + "toggle-zen-mode": "Activează/dezactivează modul zen", + "switch-to-first-tab": "Mergi la primul tab", + "switch-to-second-tab": "Mergi la al doilea tab", + "switch-to-third-tab": "Mergi la al treilea tab", + "switch-to-fourth-tab": "Mergi la al patrulea tab", + "switch-to-fifth-tab": "Mergi la al cincelea tab", + "switch-to-sixth-tab": "Mergi la al șaselea tab", + "switch-to-seventh-tab": "Mergi la al șaptelea tab", + "switch-to-eighth-tab": "Mergi la al optelea tab", + "switch-to-ninth-tab": "Mergi la al nouălea tab", + "switch-to-last-tab": "Mergi la ultimul tab", + "show-note-source": "Afișează sursa notiței", + "show-options": "Afișează opțiunile", + "show-revisions": "Afișează reviziile", + "show-recent-changes": "Afișează modificările recente", + "show-sql-console": "Afișează consola SQL", + "show-backend-log": "Afișează log-urile din backend", + "show-help": "Afișează ghidul", + "show-cheatsheet": "Afișează ghidul rapid", + "add-link-to-text": "Inserează o legătură în text", + "follow-link-under-cursor": "Urmează legătura de la poziția curentă", + "insert-date-and-time-to-text": "Inserează data și timpul în text", + "paste-markdown-into-text": "Lipește Markdown în text", + "cut-into-note": "Decupează în subnotiță", + "add-include-note-to-text": "Adaugă o includere de notiță în text", + "edit-read-only-note": "Editează notiță ce este în modul citire", + "add-new-label": "Adaugă o nouă etichetă", + "add-new-relation": "Adaugă o nouă relație", + "toggle-ribbon-tab-classic-editor": "Comută la tab-ul de panglică pentru formatare text", + "toggle-ribbon-tab-basic-properties": "Comută la tab-ul de panglică pentru proprietăți de bază", + "toggle-ribbon-tab-book-properties": "Comută la tab-ul de panglică pentru proprietăți colecție", + "toggle-ribbon-tab-file-properties": "Comută la tab-ul de panglică pentru proprietăți fișier", + "toggle-ribbon-tab-image-properties": "Comută la tab-ul de panglică pentru proprietăți imagini", + "toggle-ribbon-tab-owned-attributes": "Comută la tab-ul de panglică pentru atribute proprii", + "toggle-ribbon-tab-inherited-attributes": "Comută la tab-ul de panglică pentru atribute moștenite", + "toggle-ribbon-tab-promoted-attributes": "Comută la tab-ul de panglică pentru atribute promovate", + "toggle-ribbon-tab-note-map": "Comută la tab-ul de panglică pentru harta notiței", + "toggle-ribbon-tab-note-info": "Comută la tab-ul de panglică pentru informații despre notiță", + "toggle-ribbon-tab-note-paths": "Comută la tab-ul de panglică pentru căile notiței", + "toggle-ribbon-tab-similar-notes": "Comută la tab-ul de panglică pentru notițe similare", + "toggle-right-pane": "Comută panoul din dreapta", + "print-active-note": "Imprimă notița activă", + "export-active-note-as-pdf": "Exportă notița activă ca PDF", + "open-note-externally": "Deschide notița într-o aplicație externă", + "render-active-note": "Randează notița activă", + "run-active-note": "Rulează notița activă", + "toggle-note-hoisting": "Comută focalizarea notiței", + "unhoist-note": "Defocalizează notița", + "reload-frontend-app": "Reîmprospătează aplicația", + "open-developer-tools": "Deschide unelete de dezvoltare", + "find-in-text": "Caută în text", + "toggle-left-pane": "Comută panoul din stânga", + "toggle-full-screen": "Comută mod pe tot ecranul", + "zoom-out": "Micșorare", + "zoom-in": "Mărire", + "reset-zoom-level": "Resetează nivelul de zoom", + "copy-without-formatting": "Copiază fără formatare", + "force-save-revision": "Forțează salvarea unei revizii", + "command-palette": "Paleta de comenzi" + }, + "weekdayNumber": "Săptămâna {weekNumber}", + "quarterNumber": "Trimestrul {quarterNumber}", + "share_theme": { + "site-theme": "Tema site-ului", + "search_placeholder": "Caută...", + "image_alt": "Imaginea articolului", + "last-updated": "Ultima actualizare: {{- date}}", + "subpages": "Subpagini:", + "on-this-page": "Pe această pagină", + "expand": "Expandează" + }, + "hidden_subtree_templates": { + "text-snippet": "Fragment de text", + "description": "Descriere", + "list-view": "Mod listă", + "grid-view": "Mod grilă", + "calendar": "Calendar", + "table": "Tabel", + "geo-map": "Hartă geografică", + "start-date": "Dată de început", + "end-date": "Dată de sfârșit", + "start-time": "Timp de început", + "end-time": "Timp de sfârșit", + "geolocation": "Geolocație", + "built-in-templates": "Șabloane predefinite", + "board": "Tablă Kanban", + "status": "Stare", + "board_note_first": "Prima notiță", + "board_note_second": "A doua notiță", + "board_note_third": "A treia notiță", + "board_status_todo": "De făcut", + "board_status_progress": "În lucru", + "board_status_done": "Finalizat" } } From a1195a2856e4232b3fc6e2a25665060b771289a1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 1 Aug 2025 00:05:17 +0300 Subject: [PATCH 258/505] feat(search): support doc notes (closes #6515) --- apps/client/src/widgets/buttons/note_actions.ts | 2 +- apps/client/src/widgets/find.ts | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/client/src/widgets/buttons/note_actions.ts b/apps/client/src/widgets/buttons/note_actions.ts index 9bef36f3a..069253bfe 100644 --- a/apps/client/src/widgets/buttons/note_actions.ts +++ b/apps/client/src/widgets/buttons/note_actions.ts @@ -186,7 +186,7 @@ export default class NoteActionsWidget extends NoteContextAwareWidget { this.$convertNoteIntoAttachmentButton.toggle(note.isEligibleForConversionToAttachment()); - this.toggleDisabled(this.$findInTextButton, ["text", "code", "book", "mindMap"].includes(note.type)); + this.toggleDisabled(this.$findInTextButton, ["text", "code", "book", "mindMap", "doc"].includes(note.type)); this.toggleDisabled(this.$showAttachmentsButton, !isInOptions); this.toggleDisabled(this.$showSourceButton, ["text", "code", "relationMap", "mermaid", "canvas", "mindMap"].includes(note.type)); diff --git a/apps/client/src/widgets/find.ts b/apps/client/src/widgets/find.ts index c5b3470b2..cb49bf487 100644 --- a/apps/client/src/widgets/find.ts +++ b/apps/client/src/widgets/find.ts @@ -97,6 +97,7 @@ const TPL = /*html*/`
`; +const SUPPORTED_NOTE_TYPES = ["text", "code", "render", "mindMap", "doc"]; export default class FindWidget extends NoteContextAwareWidget { private searchTerm: string | null; @@ -188,7 +189,7 @@ export default class FindWidget extends NoteContextAwareWidget { return; } - if (!["text", "code", "render", "mindMap"].includes(this.note?.type ?? "")) { + if (!SUPPORTED_NOTE_TYPES.includes(this.note?.type ?? "")) { return; } @@ -251,6 +252,7 @@ export default class FindWidget extends NoteContextAwareWidget { const readOnly = await this.noteContext?.isReadOnly(); return readOnly ? this.htmlHandler : this.textHandler; case "mindMap": + case "doc": return this.htmlHandler; default: console.warn("FindWidget: Unsupported note type for find widget", this.note?.type); @@ -354,7 +356,7 @@ export default class FindWidget extends NoteContextAwareWidget { } isEnabled() { - return super.isEnabled() && ["text", "code", "render", "mindMap"].includes(this.note?.type ?? ""); + return super.isEnabled() && SUPPORTED_NOTE_TYPES.includes(this.note?.type ?? ""); } async entitiesReloadedEvent({ loadResults }: EventData<"entitiesReloaded">) { From 97a5314cdb64c81dcf4d6e5c1d3ceb3cff0879a1 Mon Sep 17 00:00:00 2001 From: wild Date: Thu, 31 Jul 2025 15:03:06 +0200 Subject: [PATCH 259/505] Added translation using Weblate (Serbian) --- apps/client/src/translations/sr/translation.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/client/src/translations/sr/translation.json diff --git a/apps/client/src/translations/sr/translation.json b/apps/client/src/translations/sr/translation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/apps/client/src/translations/sr/translation.json @@ -0,0 +1 @@ +{} From ef7297e03bb167e44bd2341896dec4992f2aed21 Mon Sep 17 00:00:00 2001 From: Aitanuqui Date: Thu, 31 Jul 2025 19:19:13 +0200 Subject: [PATCH 260/505] Translated using Weblate (Spanish) Currently translated at 96.4% (1503 of 1559 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/es/ --- .../src/translations/es/translation.json | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json index f7864e95b..ac185b804 100644 --- a/apps/client/src/translations/es/translation.json +++ b/apps/client/src/translations/es/translation.json @@ -126,7 +126,7 @@ "collapseWholeTree": "colapsar todo el árbol de notas", "collapseSubTree": "colapsar subárbol", "tabShortcuts": "Atajos de pestañas", - "newTabNoteLink": "CTRL+clic - (o clic central del mouse) en el enlace de la nota abre la nota en una nueva pestaña", + "newTabNoteLink": "CTRL+clic - (o clic central del mouse) en el enlace de la nota abre la nota en una nueva pestaña", "newTabWithActivationNoteLink": "Ctrl+Shift+clic - (o Shift+clic de rueda de ratón) en el enlace de la nota abre y activa la nota en una nueva pestaña", "onlyInDesktop": "Solo en escritorio (compilación con Electron)", "openEmptyTab": "abrir pestaña vacía", @@ -1925,5 +1925,23 @@ "download_link": "Descargar versión nativa", "continue_anyway": "Continuar de todas maneras", "dont_show_again": "No mostrar esta advertencia otra vez" + }, + "book_properties_config": { + "hide-weekends": "Ocultar fines de semana", + "show-scale": "Mostrar escala" + }, + "table_context_menu": { + "delete_row": "Eliminar fila" + }, + "board_view": { + "delete-note": "Eliminar nota", + "move-to": "Mover a", + "insert-above": "Insertar arriba", + "insert-below": "Insertar abajo", + "delete-column": "Eliminar columna", + "delete-column-confirmation": "¿Seguro que desea eliminar esta columna? El atributo correspondiente también se eliminará de las notas de esta columna." + }, + "content_renderer": { + "open_externally": "Abrir externamente" } } From 67cc36fdd2aca7835d4675bec3776ec9890691b5 Mon Sep 17 00:00:00 2001 From: Aitanuqui Date: Thu, 31 Jul 2025 19:14:53 +0200 Subject: [PATCH 261/505] Translated using Weblate (Spanish) Currently translated at 89.4% (338 of 378 strings) Translation: Trilium Notes/Server Translate-URL: https://hosted.weblate.org/projects/trilium/server/es/ --- .../src/assets/translations/es/server.json | 692 ++++++++++-------- 1 file changed, 388 insertions(+), 304 deletions(-) diff --git a/apps/server/src/assets/translations/es/server.json b/apps/server/src/assets/translations/es/server.json index 55e034555..188a1da46 100644 --- a/apps/server/src/assets/translations/es/server.json +++ b/apps/server/src/assets/translations/es/server.json @@ -1,306 +1,390 @@ { - "keyboard_actions": { - "back-in-note-history": "Navegar a la nota previa en el historial", - "forward-in-note-history": "Navegar a la nota siguiente en el historial", - "open-jump-to-note-dialog": "Abrir cuadro de diálogo \"Saltar a nota\"", - "scroll-to-active-note": "Desplazarse a la nota activa en el árbol de notas", - "quick-search": "Activar barra de búisqueda rápida", - "search-in-subtree": "Buscar notas en el subárbol de la nota activa", - "expand-subtree": "Expandir el subárbol de la nota actual", - "collapse-tree": "Colapsa el árbol de notas completo", - "collapse-subtree": "Colapsa el subárbol de la nota actual", - "sort-child-notes": "Ordenar subnotas", - "creating-and-moving-notes": "Creando y moviendo notas", - "create-note-after": "Crear nota después de la nota activa", - "create-note-into": "Crear nota como subnota de la nota activa", - "create-note-into-inbox": "Crear una nota en la bandeja de entrada (si está definida) o nota del día", - "delete-note": "Eliminar nota", - "move-note-up": "Mover nota hacia arriba", - "move-note-down": "Mover nota hacia abajo", - "move-note-up-in-hierarchy": "Mover nota hacia arriba en la jerarquía", - "move-note-down-in-hierarchy": "Mover nota hacia abajo en la jerarquía", - "edit-note-title": "Saltar del árbol al detalle de la nota y editar el título", - "edit-branch-prefix": "Mostrar cuadro de diálogo Editar prefijo de rama", - "cloneNotesTo": "Clonar notas seleccionadas", - "moveNotesTo": "Mover notas seleccionadas", - "note-clipboard": "Portapapeles de notas", - "copy-notes-to-clipboard": "Copiar las notas seleccionadas al portapapeles", - "paste-notes-from-clipboard": "Pegar las notas del portapapeles en una nota activa", - "cut-notes-to-clipboard": "Cortar las notas seleccionadas al portapapeles", - "select-all-notes-in-parent": "Seleccionar todas las notas del nivel de la nota actual", - "add-note-above-to-the-selection": "Agregar nota arriba de la selección", - "add-note-below-to-selection": "Agregar nota arriba de la selección", - "duplicate-subtree": "Duplicar subárbol", - "tabs-and-windows": "Pestañas y ventanas", - "open-new-tab": "Abre una nueva pestaña", - "close-active-tab": "Cierra la pestaña activa", - "reopen-last-tab": "Vuelve a abrir la última pestaña cerrada", - "activate-next-tab": "Activa la pestaña de la derecha", - "activate-previous-tab": "Activa la pestaña de la izquierda", - "open-new-window": "Abrir nueva ventana vacía", - "toggle-tray": "Muestra/Oculta la aplicación en la bandeja del sistema", - "first-tab": "Activa la primera pestaña de la lista", - "second-tab": "Activa la segunda pestaña de la lista", - "third-tab": "Activa la tercera pestaña de la lista", - "fourth-tab": "Activa la cuarta pestaña de la lista", - "fifth-tab": "Activa la quinta pestaña de la lista", - "sixth-tab": "Activa la sexta pestaña de la lista", - "seventh-tab": "Activa la séptima pestaña de la lista", - "eight-tab": "Activa la octava pestaña de la lista", - "ninth-tab": "Activa la novena pestaña de la lista", - "last-tab": "Activa la última pestaña de la lista", - "dialogs": "Diálogos", - "show-note-source": "Muestra el cuadro de diálogo Fuente de nota", - "show-options": "Muestra el cuadro de diálogo Opciones", - "show-revisions": "Muestra el cuadro de diálogo Revisiones de notas", - "show-recent-changes": "Muestra el cuadro de diálogo Cambios recientes", - "show-sql-console": "Muestra el cuadro de diálogo Consola SQL", - "show-backend-log": "Muestra el cuadro de diálogo Registro de backend", - "show-help": "Muestra ayuda/hoja de referencia integrada", - "show-cheatsheet": "Muestra un modal con operaciones de teclado comunes", - "text-note-operations": "Operaciones de notas de texto", - "add-link-to-text": "Abrir cuadro de diálogo para agregar un enlace al texto", - "follow-link-under-cursor": "Seguir el enlace dentro del cual se coloca el cursor", - "insert-date-and-time-to-text": "Insertar fecha y hora actuales en el texto", - "paste-markdown-into-text": "Pega Markdown del portapapeles en la nota de texto", - "cut-into-note": "Corta la selección de la nota actual y crea una subnota con el texto seleccionado", - "add-include-note-to-text": "Abre el cuadro de diálogo para incluir una nota", - "edit-readonly-note": "Editar una nota de sólo lectura", - "attributes-labels-and-relations": "Atributos (etiquetas y relaciones)", - "add-new-label": "Crear nueva etiqueta", - "create-new-relation": "Crear nueva relación", - "ribbon-tabs": "Pestañas de cinta", - "toggle-basic-properties": "Alternar propiedades básicas", - "toggle-file-properties": "Alternar propiedades de archivo", - "toggle-image-properties": "Alternar propiedades de imagen", - "toggle-owned-attributes": "Alternar atributos de propiedad", - "toggle-inherited-attributes": "Alternar atributos heredados", - "toggle-promoted-attributes": "Alternar atributos promocionados", - "toggle-link-map": "Alternar mapa de enlaces", - "toggle-note-info": "Alternar información de nota", - "toggle-note-paths": "Alternar rutas de notas", - "toggle-similar-notes": "Alternar notas similares", - "other": "Otro", - "toggle-right-pane": "Alternar la visualización del panel derecho, que incluye la tabla de contenidos y aspectos destacados", - "print-active-note": "Imprimir nota activa", - "open-note-externally": "Abrir nota como un archivo con la aplicación predeterminada", - "render-active-note": "Renderizar (volver a renderizar) nota activa", - "run-active-note": "Ejecutar nota de código JavaScript activa (frontend/backend)", - "toggle-note-hoisting": "Alterna la elevación de la nota activa", - "unhoist": "Bajar desde cualquier lugar", - "reload-frontend-app": "Recargar frontend de la aplicación", - "open-dev-tools": "Abrir herramientas de desarrollo", - "find-in-text": "Alternar panel de búsqueda", - "toggle-left-note-tree-panel": "Alternar panel izquierdo (árbol de notas)", - "toggle-full-screen": "Alternar pantalla completa", - "zoom-out": "Alejar", - "zoom-in": "Acercar", - "note-navigation": "Navegación de notas", - "reset-zoom-level": "Restablecer nivel de zoom", - "copy-without-formatting": "Copiar el texto seleccionado sin formatear", - "force-save-revision": "Forzar la creación/guardado de una nueva revisión de nota de la nota activa", - "toggle-book-properties": "Alternar propiedades del libro", - "toggle-classic-editor-toolbar": "Alternar la pestaña de formato por el editor con barra de herramientas fija", - "export-as-pdf": "Exporta la nota actual como un PDF", - "toggle-zen-mode": "Habilita/Deshabilita el modo Zen (IU mínima para edición sin distracciones)" - }, - "login": { - "title": "Iniciar sesión", - "heading": "Iniciar sesión en Trilium", - "incorrect-totp": "El TOTP es incorrecto. Por favor, intente de nuevo.", - "incorrect-password": "La contraseña es incorrecta. Por favor inténtalo de nuevo.", - "password": "Contraseña", - "remember-me": "Recordarme", - "button": "Iniciar sesión", - "sign_in_with_sso": "Iniciar sesión con {{ ssoIssuerName }}" - }, - "set_password": { - "title": "Establecer contraseña", - "heading": "Establecer contraseña", - "description": "Antes de poder comenzar a usar Trilium desde la web, primero debe establecer una contraseña. Luego utilizará esta contraseña para iniciar sesión.", - "password": "Contraseña", - "password-confirmation": "Confirmación de contraseña", - "button": "Establecer contraseña" - }, - "javascript-required": "Trilium requiere que JavaScript esté habilitado.", - "setup": { - "heading": "Configuración de Trilium Notes", - "new-document": "Soy un usuario nuevo y quiero crear un nuevo documento de Trilium para mis notas", - "sync-from-desktop": "Ya tengo una instancia de escritorio y quiero configurar la sincronización con ella", - "sync-from-server": "Ya tengo una instancia de servidor y quiero configurar la sincronización con ella", - "next": "Siguiente", - "init-in-progress": "Inicialización del documento en curso", - "redirecting": "En breve será redirigido a la aplicación.", - "title": "Configuración" - }, - "setup_sync-from-desktop": { - "heading": "Sincronizar desde el escritorio", - "description": "Esta configuración debe iniciarse desde la instancia de escritorio:", - "step1": "Abra su instancia de escritorio de Trilium Notes.", - "step2": "En el menú Trilium, dé clic en Opciones.", - "step3": "Dé clic en la categoría Sincronizar.", - "step4": "Cambie la dirección de la instancia del servidor a: {{- host}} y dé clic en Guardar.", - "step5": "Dé clic en el botón \"Probar sincronización\" para verificar que la conexión fue exitosa.", - "step6": "Una vez que haya completado estos pasos, dé clic en {{- link}}.", - "step6-here": "aquí" - }, - "setup_sync-from-server": { - "heading": "Sincronización desde el servidor", - "instructions": "Por favor, ingrese la dirección y las credenciales del servidor Trilium a continuación. Esto descargará todo el documento de Trilium desde el servidor y configurará la sincronización. Dependiendo del tamaño del documento y de la velocidad de su conexión, esto puede tardar un poco.", - "server-host": "Dirección del servidor Trilium", - "server-host-placeholder": "https://:", - "proxy-server": "Servidor proxy (opcional)", - "proxy-server-placeholder": "https://:", - "note": "Nota:", - "proxy-instruction": "Si deja la configuración de proxy en blanco, se utilizará el proxy del sistema (aplica únicamente a la aplicación de escritorio)", - "password": "Contraseña", - "password-placeholder": "Contraseña", - "back": "Atrás", - "finish-setup": "Finalizar la configuración" - }, - "setup_sync-in-progress": { - "heading": "Sincronización en progreso", - "successful": "La sincronización se ha configurado correctamente. La sincronización inicial tardará algún tiempo en finalizar. Una vez hecho esto, será redirigido a la página de inicio de sesión.", - "outstanding-items": "Elementos de sincronización destacados:", - "outstanding-items-default": "N/A" - }, - "share_404": { - "title": "No encontrado", - "heading": "No encontrado" - }, - "share_page": { - "parent": "padre:", - "clipped-from": "Esta nota fue recortada originalmente de {{- url}}", - "child-notes": "Subnotas:", - "no-content": "Esta nota no tiene contenido." - }, - "weekdays": { - "monday": "Lunes", - "tuesday": "Martes", - "wednesday": "Miércoles", - "thursday": "Jueves", - "friday": "Viernes", - "saturday": "Sábado", - "sunday": "Domingo" - }, - "weekdayNumber": "Semana {weekNumber}", - "months": { - "january": "Enero", - "february": "Febrero", - "march": "Marzo", - "april": "Abril", - "may": "Mayo", - "june": "Junio", - "july": "Julio", - "august": "Agosto", - "september": "Septiembre", - "october": "Octubre", - "november": "Noviembre", - "december": "Diciembre" - }, - "quarterNumber": "Cuarto {quarterNumber}", - "special_notes": { - "search_prefix": "Buscar:" - }, - "test_sync": { - "not-configured": "El servidor de sincronización no está configurado. Por favor configure primero la sincronización.", - "successful": "El protocolo de enlace del servidor de sincronización ha sido exitoso, la sincronización ha comenzado." - }, - "hidden-subtree": { - "root-title": "Notas ocultas", - "search-history-title": "Buscar historial", - "note-map-title": "Mapa de nota", - "sql-console-history-title": "Historial de consola SQL", - "shared-notes-title": "Notas compartidas", - "bulk-action-title": "Acción en lote", - "backend-log-title": "Registro de Backend", - "user-hidden-title": "Usuario oculto", - "launch-bar-templates-title": "Plantillas de barra de lanzamiento", - "base-abstract-launcher-title": "Lanzador abstracto base", - "command-launcher-title": "Lanzador de comando", - "note-launcher-title": "Lanzador de nota", - "script-launcher-title": "Lanzador de script", - "built-in-widget-title": "Widget integrado", - "spacer-title": "Espaciador", - "custom-widget-title": "Widget personalizado", - "launch-bar-title": "Barra de lanzamiento", - "available-launchers-title": "Lanzadores disponibles", - "go-to-previous-note-title": "Ir a nota previa", - "go-to-next-note-title": "Ir a nota siguiente", - "new-note-title": "Nueva nota", - "search-notes-title": "Buscar notas", - "calendar-title": "Calendario", - "recent-changes-title": "Cambios recientes", - "bookmarks-title": "Marcadores", - "open-today-journal-note-title": "Abrir nota del diario de hoy", - "quick-search-title": "Búsqueda rápida", - "protected-session-title": "Sesión protegida", - "sync-status-title": "Sincronizar estado", - "settings-title": "Ajustes", - "llm-chat-title": "Chat con notas", - "options-title": "Opciones", - "appearance-title": "Apariencia", - "shortcuts-title": "Atajos", - "text-notes": "Notas de texto", - "code-notes-title": "Notas de código", - "images-title": "Imágenes", - "spellcheck-title": "Corrección ortográfica", - "password-title": "Contraseña", - "multi-factor-authentication-title": "MFA", - "etapi-title": "ETAPI", - "backup-title": "Respaldo", - "sync-title": "Sincronizar", - "ai-llm-title": "IA/LLM", - "other": "Otros", - "advanced-title": "Avanzado", - "visible-launchers-title": "Lanzadores visibles", - "user-guide": "Guía de Usuario", - "localization": "Idioma y Región", - "inbox-title": "Bandeja" - }, - "notes": { - "new-note": "Nueva nota", - "duplicate-note-suffix": "(dup)", - "duplicate-note-title": "{{- noteTitle}} {{duplicateNoteSuffix}}" - }, - "backend_log": { - "log-does-not-exist": "El archivo de registro del backend '{{fileName}}' no existe (aún).", - "reading-log-failed": "Leer el archivo de registro del backend '{{fileName}}' falló." - }, - "content_renderer": { - "note-cannot-be-displayed": "Este tipo de nota no puede ser mostrado." - }, - "pdf": { - "export_filter": "Documento PDF (*.pdf)", - "unable-to-export-message": "La nota actual no pudo ser exportada como PDF.", - "unable-to-export-title": "No es posible exportar como PDF", - "unable-to-save-message": "No se pudo escribir en el archivo seleccionado. Intente de nuevo o seleccione otro destino." - }, - "tray": { - "tooltip": "Trilium Notes", - "close": "Cerrar Trilium", - "recents": "Notas recientes", - "bookmarks": "Marcadores", - "today": "Abrir nota del diario de hoy", - "new-note": "Nueva nota", - "show-windows": "Mostrar ventanas", - "open_new_window": "Abrir nueva ventana" - }, - "migration": { - "old_version": "La migración directa desde tu versión actual no está soportada. Por favor actualice a v0.60.4 primero y solo después a esta versión.", - "error_message": "Error durante la migración a la versión {{version}}: {{stack}}", - "wrong_db_version": "La versión de la DB {{version}} es más nueva que la versión de la DB actual {{targetVersion}}, lo que significa que fue creada por una versión más reciente e incompatible de Trilium. Actualice a la última versión de Trilium para resolver este problema." - }, - "modals": { - "error_title": "Error" - }, - "share_theme": { - "site-theme": "Tema de sitio", - "search_placeholder": "Búsqueda...", - "image_alt": "Imagen de artículo", - "last-updated": "Última actualización en {{-date}}", - "subpages": "Subpáginas:", - "on-this-page": "En esta página", - "expand": "Expandir" - } + "keyboard_actions": { + "back-in-note-history": "Navegar a la nota previa en el historial", + "forward-in-note-history": "Navegar a la nota siguiente en el historial", + "open-jump-to-note-dialog": "Abrir cuadro de diálogo \"Saltar a nota\"", + "scroll-to-active-note": "Desplazarse a la nota activa en el árbol de notas", + "quick-search": "Activar barra de búsqueda rápida", + "search-in-subtree": "Buscar notas en el subárbol de la nota activa", + "expand-subtree": "Expandir el subárbol de la nota actual", + "collapse-tree": "Colapsa el árbol de notas completo", + "collapse-subtree": "Colapsa el subárbol de la nota actual", + "sort-child-notes": "Ordenar subnotas", + "creating-and-moving-notes": "Creando y moviendo notas", + "create-note-after": "Crear nota después de la nota activa", + "create-note-into": "Crear nota como subnota de la nota activa", + "create-note-into-inbox": "Crear una nota en la bandeja de entrada (si está definida) o nota del día", + "delete-note": "Eliminar nota", + "move-note-up": "Mover nota hacia arriba", + "move-note-down": "Mover nota hacia abajo", + "move-note-up-in-hierarchy": "Mover nota hacia arriba en la jerarquía", + "move-note-down-in-hierarchy": "Mover nota hacia abajo en la jerarquía", + "edit-note-title": "Saltar del árbol al detalle de la nota y editar el título", + "edit-branch-prefix": "Mostrar cuadro de diálogo Editar prefijo de rama", + "cloneNotesTo": "Clonar notas seleccionadas", + "moveNotesTo": "Mover notas seleccionadas", + "note-clipboard": "Portapapeles de notas", + "copy-notes-to-clipboard": "Copiar las notas seleccionadas al portapapeles", + "paste-notes-from-clipboard": "Pegar las notas del portapapeles en una nota activa", + "cut-notes-to-clipboard": "Cortar las notas seleccionadas al portapapeles", + "select-all-notes-in-parent": "Seleccionar todas las notas del nivel de la nota actual", + "add-note-above-to-the-selection": "Agregar nota arriba de la selección", + "add-note-below-to-selection": "Agregar nota arriba de la selección", + "duplicate-subtree": "Duplicar subárbol", + "tabs-and-windows": "Pestañas y ventanas", + "open-new-tab": "Abre una nueva pestaña", + "close-active-tab": "Cierra la pestaña activa", + "reopen-last-tab": "Vuelve a abrir la última pestaña cerrada", + "activate-next-tab": "Activa la pestaña de la derecha", + "activate-previous-tab": "Activa la pestaña de la izquierda", + "open-new-window": "Abrir nueva ventana vacía", + "toggle-tray": "Muestra/Oculta la aplicación en la bandeja del sistema", + "first-tab": "Activa la primera pestaña de la lista", + "second-tab": "Activa la segunda pestaña de la lista", + "third-tab": "Activa la tercera pestaña de la lista", + "fourth-tab": "Activa la cuarta pestaña de la lista", + "fifth-tab": "Activa la quinta pestaña de la lista", + "sixth-tab": "Activa la sexta pestaña de la lista", + "seventh-tab": "Activa la séptima pestaña de la lista", + "eight-tab": "Activa la octava pestaña de la lista", + "ninth-tab": "Activa la novena pestaña de la lista", + "last-tab": "Activa la última pestaña de la lista", + "dialogs": "Diálogos", + "show-note-source": "Muestra el cuadro de diálogo Fuente de nota", + "show-options": "Muestra el cuadro de diálogo Opciones", + "show-revisions": "Muestra el cuadro de diálogo Revisiones de notas", + "show-recent-changes": "Muestra el cuadro de diálogo Cambios recientes", + "show-sql-console": "Muestra el cuadro de diálogo Consola SQL", + "show-backend-log": "Muestra el cuadro de diálogo Registro de backend", + "show-help": "Muestra ayuda/hoja de referencia integrada", + "show-cheatsheet": "Muestra un modal con operaciones de teclado comunes", + "text-note-operations": "Operaciones de notas de texto", + "add-link-to-text": "Abrir cuadro de diálogo para agregar un enlace al texto", + "follow-link-under-cursor": "Seguir el enlace dentro del cual se coloca el cursor", + "insert-date-and-time-to-text": "Insertar fecha y hora actuales en el texto", + "paste-markdown-into-text": "Pega Markdown del portapapeles en la nota de texto", + "cut-into-note": "Corta la selección de la nota actual y crea una subnota con el texto seleccionado", + "add-include-note-to-text": "Abre el cuadro de diálogo para incluir una nota", + "edit-readonly-note": "Editar una nota de sólo lectura", + "attributes-labels-and-relations": "Atributos (etiquetas y relaciones)", + "add-new-label": "Crear nueva etiqueta", + "create-new-relation": "Crear nueva relación", + "ribbon-tabs": "Pestañas de cinta", + "toggle-basic-properties": "Alternar propiedades básicas", + "toggle-file-properties": "Alternar propiedades de archivo", + "toggle-image-properties": "Alternar propiedades de imagen", + "toggle-owned-attributes": "Alternar atributos de propiedad", + "toggle-inherited-attributes": "Alternar atributos heredados", + "toggle-promoted-attributes": "Alternar atributos promocionados", + "toggle-link-map": "Alternar mapa de enlaces", + "toggle-note-info": "Alternar información de nota", + "toggle-note-paths": "Alternar rutas de notas", + "toggle-similar-notes": "Alternar notas similares", + "other": "Otro", + "toggle-right-pane": "Alternar la visualización del panel derecho, que incluye la tabla de contenidos y aspectos destacados", + "print-active-note": "Imprimir nota activa", + "open-note-externally": "Abrir nota como un archivo con la aplicación predeterminada", + "render-active-note": "Renderizar (volver a renderizar) nota activa", + "run-active-note": "Ejecutar nota de código JavaScript activa (frontend/backend)", + "toggle-note-hoisting": "Alterna la elevación de la nota activa", + "unhoist": "Bajar desde cualquier lugar", + "reload-frontend-app": "Recargar frontend de la aplicación", + "open-dev-tools": "Abrir herramientas de desarrollo", + "find-in-text": "Alternar panel de búsqueda", + "toggle-left-note-tree-panel": "Alternar panel izquierdo (árbol de notas)", + "toggle-full-screen": "Alternar pantalla completa", + "zoom-out": "Alejar", + "zoom-in": "Acercar", + "note-navigation": "Navegación de notas", + "reset-zoom-level": "Restablecer nivel de zoom", + "copy-without-formatting": "Copiar el texto seleccionado sin formatear", + "force-save-revision": "Forzar la creación/guardado de una nueva revisión de nota de la nota activa", + "toggle-book-properties": "Alternar propiedades del libro", + "toggle-classic-editor-toolbar": "Alternar la pestaña de formato por el editor con barra de herramientas fija", + "export-as-pdf": "Exporta la nota actual como un PDF", + "toggle-zen-mode": "Habilita/Deshabilita el modo Zen (IU mínima para edición sin distracciones)", + "open-command-palette": "Abrir paleta de comandos", + "clone-notes-to": "Clonar notas seleccionadas", + "move-notes-to": "Mover notas seleccionadas" + }, + "login": { + "title": "Iniciar sesión", + "heading": "Iniciar sesión en Trilium", + "incorrect-totp": "El TOTP es incorrecto. Por favor, intente de nuevo.", + "incorrect-password": "La contraseña es incorrecta. Por favor inténtalo de nuevo.", + "password": "Contraseña", + "remember-me": "Recordarme", + "button": "Iniciar sesión", + "sign_in_with_sso": "Iniciar sesión con {{ ssoIssuerName }}" + }, + "set_password": { + "title": "Establecer contraseña", + "heading": "Establecer contraseña", + "description": "Antes de poder comenzar a usar Trilium desde la web, primero debe establecer una contraseña. Luego utilizará esta contraseña para iniciar sesión.", + "password": "Contraseña", + "password-confirmation": "Confirmación de contraseña", + "button": "Establecer contraseña" + }, + "javascript-required": "Trilium requiere que JavaScript esté habilitado.", + "setup": { + "heading": "Configuración de Trilium Notes", + "new-document": "Soy un usuario nuevo y quiero crear un nuevo documento de Trilium para mis notas", + "sync-from-desktop": "Ya tengo una instancia de escritorio y quiero configurar la sincronización con ella", + "sync-from-server": "Ya tengo una instancia de servidor y quiero configurar la sincronización con ella", + "next": "Siguiente", + "init-in-progress": "Inicialización del documento en curso", + "redirecting": "En breve será redirigido a la aplicación.", + "title": "Configuración" + }, + "setup_sync-from-desktop": { + "heading": "Sincronizar desde el escritorio", + "description": "Esta configuración debe iniciarse desde la instancia de escritorio:", + "step1": "Abra su instancia de escritorio de Trilium Notes.", + "step2": "En el menú Trilium, dé clic en Opciones.", + "step3": "Dé clic en la categoría Sincronizar.", + "step4": "Cambie la dirección de la instancia del servidor a: {{- host}} y dé clic en Guardar.", + "step5": "Dé clic en el botón \"Probar sincronización\" para verificar que la conexión fue exitosa.", + "step6": "Una vez que haya completado estos pasos, dé clic en {{- link}}.", + "step6-here": "aquí" + }, + "setup_sync-from-server": { + "heading": "Sincronización desde el servidor", + "instructions": "Por favor, ingrese la dirección y las credenciales del servidor Trilium a continuación. Esto descargará todo el documento de Trilium desde el servidor y configurará la sincronización. Dependiendo del tamaño del documento y de la velocidad de su conexión, esto puede tardar un poco.", + "server-host": "Dirección del servidor Trilium", + "server-host-placeholder": "https://:", + "proxy-server": "Servidor proxy (opcional)", + "proxy-server-placeholder": "https://:", + "note": "Nota:", + "proxy-instruction": "Si deja la configuración de proxy en blanco, se utilizará el proxy del sistema (aplica únicamente a la aplicación de escritorio)", + "password": "Contraseña", + "password-placeholder": "Contraseña", + "back": "Atrás", + "finish-setup": "Finalizar la configuración" + }, + "setup_sync-in-progress": { + "heading": "Sincronización en progreso", + "successful": "La sincronización se ha configurado correctamente. La sincronización inicial tardará algún tiempo en finalizar. Una vez hecho esto, será redirigido a la página de inicio de sesión.", + "outstanding-items": "Elementos de sincronización destacados:", + "outstanding-items-default": "N/A" + }, + "share_404": { + "title": "No encontrado", + "heading": "No encontrado" + }, + "share_page": { + "parent": "padre:", + "clipped-from": "Esta nota fue recortada originalmente de {{- url}}", + "child-notes": "Subnotas:", + "no-content": "Esta nota no tiene contenido." + }, + "weekdays": { + "monday": "Lunes", + "tuesday": "Martes", + "wednesday": "Miércoles", + "thursday": "Jueves", + "friday": "Viernes", + "saturday": "Sábado", + "sunday": "Domingo" + }, + "weekdayNumber": "Semana {weekNumber}", + "months": { + "january": "Enero", + "february": "Febrero", + "march": "Marzo", + "april": "Abril", + "may": "Mayo", + "june": "Junio", + "july": "Julio", + "august": "Agosto", + "september": "Septiembre", + "october": "Octubre", + "november": "Noviembre", + "december": "Diciembre" + }, + "quarterNumber": "Cuarto {quarterNumber}", + "special_notes": { + "search_prefix": "Buscar:" + }, + "test_sync": { + "not-configured": "El servidor de sincronización no está configurado. Por favor configure primero la sincronización.", + "successful": "El protocolo de enlace del servidor de sincronización ha sido exitoso, la sincronización ha comenzado." + }, + "hidden-subtree": { + "root-title": "Notas ocultas", + "search-history-title": "Buscar historial", + "note-map-title": "Mapa de nota", + "sql-console-history-title": "Historial de consola SQL", + "shared-notes-title": "Notas compartidas", + "bulk-action-title": "Acción en lote", + "backend-log-title": "Registro de Backend", + "user-hidden-title": "Usuario oculto", + "launch-bar-templates-title": "Plantillas de barra de lanzamiento", + "base-abstract-launcher-title": "Lanzador abstracto base", + "command-launcher-title": "Lanzador de comando", + "note-launcher-title": "Lanzador de nota", + "script-launcher-title": "Lanzador de script", + "built-in-widget-title": "Widget integrado", + "spacer-title": "Espaciador", + "custom-widget-title": "Widget personalizado", + "launch-bar-title": "Barra de lanzamiento", + "available-launchers-title": "Lanzadores disponibles", + "go-to-previous-note-title": "Ir a nota previa", + "go-to-next-note-title": "Ir a nota siguiente", + "new-note-title": "Nueva nota", + "search-notes-title": "Buscar notas", + "calendar-title": "Calendario", + "recent-changes-title": "Cambios recientes", + "bookmarks-title": "Marcadores", + "open-today-journal-note-title": "Abrir nota del diario de hoy", + "quick-search-title": "Búsqueda rápida", + "protected-session-title": "Sesión protegida", + "sync-status-title": "Sincronizar estado", + "settings-title": "Ajustes", + "llm-chat-title": "Chat con notas", + "options-title": "Opciones", + "appearance-title": "Apariencia", + "shortcuts-title": "Atajos", + "text-notes": "Notas de texto", + "code-notes-title": "Notas de código", + "images-title": "Imágenes", + "spellcheck-title": "Corrección ortográfica", + "password-title": "Contraseña", + "multi-factor-authentication-title": "MFA", + "etapi-title": "ETAPI", + "backup-title": "Respaldo", + "sync-title": "Sincronizar", + "ai-llm-title": "IA/LLM", + "other": "Otros", + "advanced-title": "Avanzado", + "visible-launchers-title": "Lanzadores visibles", + "user-guide": "Guía de Usuario", + "localization": "Idioma y Región", + "inbox-title": "Bandeja", + "jump-to-note-title": "Saltar a..." + }, + "notes": { + "new-note": "Nueva nota", + "duplicate-note-suffix": "(dup)", + "duplicate-note-title": "{{- noteTitle}} {{duplicateNoteSuffix}}" + }, + "backend_log": { + "log-does-not-exist": "El archivo de registro del backend '{{fileName}}' no existe (aún).", + "reading-log-failed": "Leer el archivo de registro del backend '{{fileName}}' falló." + }, + "content_renderer": { + "note-cannot-be-displayed": "Este tipo de nota no puede ser mostrado." + }, + "pdf": { + "export_filter": "Documento PDF (*.pdf)", + "unable-to-export-message": "La nota actual no pudo ser exportada como PDF.", + "unable-to-export-title": "No es posible exportar como PDF", + "unable-to-save-message": "No se pudo escribir en el archivo seleccionado. Intente de nuevo o seleccione otro destino." + }, + "tray": { + "tooltip": "Trilium Notes", + "close": "Cerrar Trilium", + "recents": "Notas recientes", + "bookmarks": "Marcadores", + "today": "Abrir nota del diario de hoy", + "new-note": "Nueva nota", + "show-windows": "Mostrar ventanas", + "open_new_window": "Abrir nueva ventana" + }, + "migration": { + "old_version": "La migración directa desde tu versión actual no está soportada. Por favor actualice a v0.60.4 primero y solo después a esta versión.", + "error_message": "Error durante la migración a la versión {{version}}: {{stack}}", + "wrong_db_version": "La versión de la DB {{version}} es más nueva que la versión de la DB actual {{targetVersion}}, lo que significa que fue creada por una versión más reciente e incompatible de Trilium. Actualice a la última versión de Trilium para resolver este problema." + }, + "modals": { + "error_title": "Error" + }, + "share_theme": { + "site-theme": "Tema de sitio", + "search_placeholder": "Búsqueda...", + "image_alt": "Imagen de artículo", + "last-updated": "Última actualización en {{-date}}", + "subpages": "Subpáginas:", + "on-this-page": "En esta página", + "expand": "Expandir" + }, + "keyboard_action_names": { + "jump-to-note": "Saltar a...", + "command-palette": "Paleta de comandos", + "scroll-to-active-note": "Desplazarse a la nota activa", + "quick-search": "Búsqueda rápida", + "search-in-subtree": "Buscar en subárbol", + "expand-subtree": "Expandir subárbol", + "collapse-tree": "Colapsar árbol", + "collapse-subtree": "Colapsar subárbol", + "sort-child-notes": "Ordenar nodos hijos", + "create-note-after": "Crear nota tras", + "create-note-into": "Crear nota en", + "create-note-into-inbox": "Crear nota en bandeja de entrada", + "delete-notes": "Eliminar notas", + "move-note-up": "Subir nota", + "move-note-down": "Bajar nota", + "move-note-up-in-hierarchy": "Subir nota en la jerarquía", + "move-note-down-in-hierarchy": "Bajar nota en la jerarquía", + "edit-note-title": "Editar título de nota", + "edit-branch-prefix": "Editar prefijo de rama", + "clone-notes-to": "Clonar notas a", + "move-notes-to": "Mover notas a", + "copy-notes-to-clipboard": "Copiar notas al portapapeles", + "paste-notes-from-clipboard": "Pegar notas del portapapeles", + "add-note-above-to-selection": "Añadir nota superior a la selección", + "add-note-below-to-selection": "Añadir nota inferior a la selección", + "duplicate-subtree": "Duplicar subárbol", + "open-new-tab": "Abrir nueva pestaña", + "close-active-tab": "Cerrar pestaña activa", + "reopen-last-tab": "Reabrir última pestaña", + "activate-next-tab": "Activar siguiente pestaña", + "activate-previous-tab": "Activar pestaña anterior", + "open-new-window": "Abrir nueva ventana", + "show-options": "Mostrar opciones", + "show-revisions": "Mostrar revisiones", + "show-recent-changes": "Mostrar cambios recientes", + "show-sql-console": "Mostrar consola SQL", + "switch-to-first-tab": "Ir a la primera pestaña", + "switch-to-second-tab": "Ir a la segunda pestaña", + "switch-to-third-tab": "Ir a la tercera pestaña", + "switch-to-fourth-tab": "Ir a la cuarta pestaña", + "switch-to-fifth-tab": "Ir a la quinta pestaña", + "switch-to-sixth-tab": "Ir a la sexta pestaña", + "switch-to-seventh-tab": "Ir a la séptima pestaña", + "switch-to-eighth-tab": "Ir a la octava pestaña", + "switch-to-ninth-tab": "Ir a la novena pestaña", + "switch-to-last-tab": "Ir a la última pestaña", + "show-note-source": "Mostrar nota fuente", + "show-help": "Mostrar ayuda", + "add-new-label": "Añadir nueva etiqueta", + "add-new-relation": "Añadir nueva relación", + "print-active-note": "Imprimir nota activa", + "export-active-note-as-pdf": "Exportar nota activa como PDF", + "open-note-externally": "Abrir nota externamente", + "find-in-text": "Encontrar en texto", + "copy-without-formatting": "Copiar sin formato", + "reset-zoom-level": "Restablecer el nivel de zoom", + "open-developer-tools": "Abrir herramientas de desarrollo", + "insert-date-and-time-to-text": "Insertar fecha y hora al texto", + "edit-read-only-note": "Editar nota de solo lectura", + "toggle-system-tray-icon": "Mostrar/ocultar icono en la bandeja del sistema", + "toggle-zen-mode": "Activar/desactivar modo Zen", + "add-link-to-text": "Añadir enlace al texto", + "zoom-in": "Acercar", + "zoom-out": "Alejar", + "toggle-full-screen": "Activar/desactivar pantalla completa", + "toggle-left-pane": "Abrir/cerrar panel izquierdo" + }, + "hidden_subtree_templates": { + "board_note_first": "Primera nota", + "board_note_second": "Segunda nota", + "board_note_third": "Tercera nota", + "board_status_progress": "En progreso", + "calendar": "Calendario", + "description": "Descripción", + "list-view": "Vista de lista", + "grid-view": "Vista de cuadrícula", + "status": "Estado", + "table": "Tabla" + } } From 27f2e9c286d2b70180863f7e217d0a4b594f3345 Mon Sep 17 00:00:00 2001 From: wild Date: Thu, 31 Jul 2025 20:19:07 +0200 Subject: [PATCH 262/505] Translated using Weblate (Serbian) Currently translated at 9.1% (142 of 1559 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/sr/ --- .../src/translations/sr/translation.json | 171 +++++++++++++++++- 1 file changed, 170 insertions(+), 1 deletion(-) diff --git a/apps/client/src/translations/sr/translation.json b/apps/client/src/translations/sr/translation.json index 0967ef424..8f817a757 100644 --- a/apps/client/src/translations/sr/translation.json +++ b/apps/client/src/translations/sr/translation.json @@ -1 +1,170 @@ -{} +{ + "about": { + "title": "O Trilium Belеškama", + "close": "Zatvori", + "homepage": "Početna stranica:", + "app_version": "Verzija aplikacije:", + "db_version": "Verzija baze podataka:", + "sync_version": "Verzija sinhronizacije:", + "build_date": "Datum izgradnje:", + "build_revision": "Revizija izgradnje:", + "data_directory": "Direktorijum sa podacima:" + }, + "toast": { + "critical-error": { + "title": "Kritična greška", + "message": "Došlo je do kritične greške koja sprečava pokretanje klijentske aplikacije.\n\n{{message}}\n\nOva greška je najverovatnije izazvana neočekivanim problemom prilikom izvršavanja skripte. Pokušajte da pokrenete aplikaciju u bezbednom režimu i da pronađete šta izaziva grešku." + }, + "widget-error": { + "title": "Pokretanje vidžeta nije uspelo", + "message-custom": "Prilagođeni viđet sa beleške sa ID-jem \"{{id}}\", nazivom \"{{title}}\" nije uspeo da se pokrene zbog:\n\n{{message}}", + "message-unknown": "Nepoznati vidžet nije mogao da se pokrene zbog:\n\n{{message}}" + }, + "bundle-error": { + "title": "Pokretanje prilagođene skripte neuspešno", + "message": "Skripta iz beleške sa ID-jem \"{{id}}\", naslovom \"{{title}}\" nije mogla da se izvrši zbog:\n\n{{message}}" + } + }, + "add_link": { + "add_link": "Dodaj link", + "help_on_links": "Pomoć na linkovima", + "close": "Zatvori", + "note": "Beleška", + "search_note": "potražite belešku po njenom imenu", + "link_title_mirrors": "naziv linka preslikava trenutan naziv beleške", + "link_title_arbitrary": "naziv linka se može proizvoljno menjati", + "link_title": "Naziv linka", + "button_add_link": "Dodaj link enter" + }, + "branch_prefix": { + "edit_branch_prefix": "Izmeni prefiks grane", + "help_on_tree_prefix": "Pomoć na prefiksu Drveta", + "close": "Zatvori", + "prefix": "Prefiks: ", + "save": "Sačuvaj", + "branch_prefix_saved": "Prefiks grane je sačuvan." + }, + "bulk_actions": { + "bulk_actions": "Grupne akcije", + "close": "Zatvori", + "affected_notes": "Pogođene beleške", + "include_descendants": "Obuhvati potomke izabranih beleški", + "available_actions": "Dostupne akcije", + "chosen_actions": "Izabrane akcije", + "execute_bulk_actions": "Izvrši grupne akcije", + "bulk_actions_executed": "Grupne akcije su uspešno izvršene.", + "none_yet": "Nijedna za sad... dodajte akciju tako što ćete pritisnuti na neku od dostupnih akcija iznad.", + "labels": "Oznake", + "relations": "Odnosi", + "notes": "Beleške", + "other": "Ostalo" + }, + "clone_to": { + "clone_notes_to": "Klonirajte beleške u...", + "close": "Zatvori", + "help_on_links": "Pomoć na linkovima", + "notes_to_clone": "Beleške za kloniranje", + "target_parent_note": "Ciljna nadređena beleška", + "search_for_note_by_its_name": "potražite belešku po njenom imenu", + "cloned_note_prefix_title": "Klonirana beleška će biti prikazana u drvetu beleški sa datim prefiksom", + "prefix_optional": "Prefiks (opciono)", + "clone_to_selected_note": "Kloniranje u izabranu belešku enter", + "no_path_to_clone_to": "Nema putanje za kloniranje.", + "note_cloned": "Beleška \"{{clonedTitle}}\" je klonirana u \"{{targetTitle}}\"" + }, + "confirm": { + "confirmation": "Potvrda", + "close": "Zatvori", + "cancel": "Otkaži", + "ok": "U redu", + "are_you_sure_remove_note": "Da li ste sigurni da želite da uklonite belešku \"{{title}}\" iz mape odnosa? ", + "if_you_dont_check": "Ako ne izaberete ovo, beleška će biti uklonjena samo sa mape odnosa.", + "also_delete_note": "Takođe obriši belešku" + }, + "delete_notes": { + "delete_notes_preview": "Obriši pregled beleške", + "close": "Zatvori", + "delete_all_clones_description": "Obriši i sve klonove (može biti poništeno u skorašnjim izmenama)", + "erase_notes_description": "Normalno (blago) brisanje samo označava beleške kao obrisane i one mogu biti vraćene (u dijalogu skorašnjih izmena) u određenom vremenskom periodu. Biranje ove opcije će momentalno obrisati beleške i ove beleške neće biti moguće vratiti.", + "erase_notes_warning": "Trajno obriši beleške (ne može se opozvati), uključujući sve klonove. Ovo će prisiliti aplikaciju da se ponovo pokrene.", + "notes_to_be_deleted": "Sledeće beleške će biti obrisane ({{- noteCount}})", + "no_note_to_delete": "Nijedna beleška neće biti obrisana (samo klonovi).", + "broken_relations_to_be_deleted": "Sledeći odnosi će biti prekinuti i obrisani ({{- relationCount}})", + "cancel": "Otkaži", + "ok": "U redu", + "deleted_relation_text": "Beleška {{- note}} (za brisanje) je referencirana sa odnosom {{- relation}} koji potiče iz {{- source}}." + }, + "export": { + "export_note_title": "Izvezi belešku", + "close": "Zatvori", + "export_type_subtree": "Ova beleška i svi njeni potomci", + "format_html": "HTML - preporučuje se jer čuva formatiranje", + "format_html_zip": "HTML u ZIP arhivi - ovo se preporučuje jer se na taj način čuva celokupno formatiranje.", + "format_markdown": "Markdown - ovo čuva većinu formatiranja.", + "format_opml": "OPML - format za razmenu okvira samo za tekst. Formatiranje, slike i datoteke nisu uključeni.", + "opml_version_1": "OPML v1.0 - samo običan tekst", + "opml_version_2": "OPML v2.0 - dozvoljava i HTML", + "export_type_single": "Samo ovu belešku bez njenih potomaka", + "export": "Izvoz", + "choose_export_type": "Molimo vas da prvo izaberete tip izvoza", + "export_status": "Status izvoza", + "export_in_progress": "Izvoz u toku: {{progressCount}}", + "export_finished_successfully": "Izvoz je uspešno završen.", + "format_pdf": "PDF - za namene štampanja ili deljenja." + }, + "help": { + "fullDocumentation": "Pomoć (puna dokumentacija je dostupna online)", + "close": "Zatvori", + "noteNavigation": "Navigacija beleški", + "goUpDown": "UP, DOWN - kretanje gore/dole u listi sa beleškama", + "collapseExpand": "LEFT, RIGHT - sakupi/proširi čvor", + "notSet": "nije podešeno", + "goBackForwards": "idi u nazad/napred kroz istoriju", + "showJumpToNoteDialog": "prikaži \"Idi na\" dijalog", + "scrollToActiveNote": "skroluj do aktivne beleške", + "jumpToParentNote": "Backspace - idi do nadređene beleške", + "collapseWholeTree": "sakupi celo drvo beleški", + "collapseSubTree": "sakupi pod-drvo", + "tabShortcuts": "Prečice na karticama", + "newTabNoteLink": "Ctrl+click - (ili middle mouse click) na link beleške otvara belešku u novoj kartici", + "newTabWithActivationNoteLink": "Ctrl+Shift+click - (ili Shift+middle mouse click) na link beleške otvara i aktivira belešku u novoj kartici", + "onlyInDesktop": "Samo na dektop-u (Electron verzija)", + "openEmptyTab": "otvori praznu karticu", + "closeActiveTab": "zatvori aktivnu karticu", + "activateNextTab": "aktiviraj narednu karticu", + "activatePreviousTab": "aktiviraj prethodnu karticu", + "creatingNotes": "Pravljenje beleški", + "createNoteAfter": "napravi novu belešku nakon aktivne beleške", + "createNoteInto": "napravi novu pod-belešku u aktivnoj belešci", + "editBranchPrefix": "izmeni prefiks klona aktivne beleške", + "movingCloningNotes": "Premeštanje / kloniranje beleški", + "moveNoteUpDown": "pomeri belešku gore/dole u listi beleški", + "moveNoteUpHierarchy": "pomeri belešku na gore u hijerarhiji", + "multiSelectNote": "višestruki izbor beleški iznad/ispod", + "selectAllNotes": "izaberi sve beleške u trenutnom nivou", + "selectNote": "Shift+click - izaberi belešku", + "copyNotes": "kopiraj aktivnu belešku (ili trenutni izbor) u privremenu memoriju (koristi se za kloniranje)", + "cutNotes": "iseci trenutnu belešku (ili trenutni izbor) u privremenu memoriju (koristi se za premeštanje beleški)", + "pasteNotes": "nalepi belešku/e kao podbelešku u aktivnoj belešci (koja se ili premešta ili klonira u zavisnosti od toga da li je beleška kopirana ili isečena u privremenu memoriju)", + "deleteNotes": "obriši belešku / podstablo", + "editingNotes": "Izmena beleški", + "editNoteTitle": "u ravni drveta će se prebaciti sa ravni drveta na naslov beleške. Ulaz sa naslova beleške će prebaciti fokus na uređivač teksta. Ctrl+. će se vratiti sa uređivača na ravan drveta.", + "createEditLink": "Ctrl+K - napravi / izmeni spoljašnji link", + "createInternalLink": "napravi unutrašnji link", + "followLink": "prati link ispod kursora", + "insertDateTime": "ubaci trenutan datum i vreme na poziciju kursora", + "jumpToTreePane": "idi na ravan stabla i pomeri se do aktivne beleške", + "markdownAutoformat": "Autoformatiranje kao u Markdown-u", + "headings": "##, ###, #### itd. praćeno razmakom za naslove", + "bulletList": "* ili - praćeno razmakom za listu sa tačkama", + "numberedList": "1. ili 1) praćeno razmakom za numerisanu listu", + "blockQuote": "započnite liniju sa > praćeno sa razmakom za blok citat", + "troubleshooting": "Rešavanje problema", + "reloadFrontend": "ponovo učitaj Trilium frontend", + "showDevTools": "prikaži alate za programere", + "showSQLConsole": "prikaži SQL konzolu", + "other": "Ostalo", + "quickSearch": "fokus na unos za brzu pretragu", + "inPageSearch": "pretraga unutar stranice" + } +} From 3fa5ea101001c30d0673df919d3a7de3f27d8d38 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 1 Aug 2025 00:23:09 +0300 Subject: [PATCH 263/505] docs(readme): mention translations --- .github/instructions/nx.instructions.md | 2 +- README.md | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/instructions/nx.instructions.md b/.github/instructions/nx.instructions.md index a055adbc4..d5894c44d 100644 --- a/.github/instructions/nx.instructions.md +++ b/.github/instructions/nx.instructions.md @@ -4,7 +4,7 @@ applyTo: '**' // This file is automatically generated by Nx Console -You are in an nx workspace using Nx 21.3.5 and pnpm as the package manager. +You are in an nx workspace using Nx 21.3.9 and pnpm as the package manager. You have access to the Nx MCP server and the tools it provides. Use them. Follow these guidelines in order to best help the user: diff --git a/README.md b/README.md index 540d5f226..2769e642b 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,9 @@ # Trilium Notes -Donate: ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran?style=flat-square) ![LiberaPay patrons](https://img.shields.io/liberapay/patrons/ElianDoran?style=flat-square) - -![Docker Pulls](https://img.shields.io/docker/pulls/triliumnext/notes?style=flat-square) -![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/triliumnext/notes/total?style=flat-square) -[![RelativeCI](https://badges.relative-ci.com/badges/Di5q7dz9daNDZ9UXi0Bp?branch=develop&style=flat-square)](https://app.relative-ci.com/projects/Di5q7dz9daNDZ9UXi0Bp) +![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) ![LiberaPay patrons](https://img.shields.io/liberapay/patrons/ElianDoran) +![Docker Pulls](https://img.shields.io/docker/pulls/triliumnext/notes) +![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/triliumnext/notes/total) +[![RelativeCI](https://badges.relative-ci.com/badges/Di5q7dz9daNDZ9UXi0Bp?branch=develop)](https://app.relative-ci.com/projects/Di5q7dz9daNDZ9UXi0Bp) [![Translation status](https://hosted.weblate.org/widget/trilium/svg-badge.svg)](https://hosted.weblate.org/engage/trilium/) [English](./README.md) | [Chinese](./docs/README-ZH_CN.md) | [Russian](./docs/README.ru.md) | [Japanese](./docs/README.ja.md) | [Italian](./docs/README.it.md) | [Spanish](./docs/README.es.md) @@ -116,6 +115,14 @@ To install TriliumNext on your own server (including via Docker from [Dockerhub] ## 💻 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: + +[![Translation status](https://hosted.weblate.org/widget/trilium/multi-auto.svg)](https://hosted.weblate.org/engage/trilium/) + ### Code Download the repository, install dependencies using `pnpm` and then run the server (available at http://localhost:8080): From 8be5b149c43632f2175b36448a53cdac9ad4049d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 1 Aug 2025 13:05:17 +0300 Subject: [PATCH 264/505] fix(note_list): note tooltip showing up --- apps/client/src/services/note_tooltip.ts | 4 ++-- apps/client/src/widgets/view_widgets/list_or_grid_view.ts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/client/src/services/note_tooltip.ts b/apps/client/src/services/note_tooltip.ts index fd8a577b9..60af42046 100644 --- a/apps/client/src/services/note_tooltip.ts +++ b/apps/client/src/services/note_tooltip.ts @@ -13,8 +13,8 @@ let openTooltipElements: JQuery[] = []; let dismissTimer: ReturnType; function setupGlobalTooltip() { - $(document).on("mouseenter", "a", mouseEnterHandler); - $(document).on("mouseenter", "[data-href]", mouseEnterHandler); + $(document).on("mouseenter", "a:not(.no-tooltip-preview)", mouseEnterHandler); + $(document).on("mouseenter", "[data-href]:not(.no-tooltip-preview)", mouseEnterHandler); // close any note tooltip after click, this fixes the problem that sometimes tooltips remained on the screen $(document).on("click", (e) => { diff --git a/apps/client/src/widgets/view_widgets/list_or_grid_view.ts b/apps/client/src/widgets/view_widgets/list_or_grid_view.ts index 1bfc029ab..bb9917c67 100644 --- a/apps/client/src/widgets/view_widgets/list_or_grid_view.ts +++ b/apps/client/src/widgets/view_widgets/list_or_grid_view.ts @@ -292,6 +292,7 @@ class ListOrGridView extends ViewMode<{}> { const $card = $('
') .attr("data-note-id", note.noteId) + .addClass("no-tooltip-preview") .append( $('
') .append($expander) From d09e725d98b8804ae446bd9b084509075d89afc3 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 1 Aug 2025 13:07:58 +0300 Subject: [PATCH 265/505] fix(note_list): copy to clipboard button also opening note --- apps/client/src/services/syntax_highlight.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/client/src/services/syntax_highlight.ts b/apps/client/src/services/syntax_highlight.ts index 02089e09c..9b5592a6b 100644 --- a/apps/client/src/services/syntax_highlight.ts +++ b/apps/client/src/services/syntax_highlight.ts @@ -36,7 +36,9 @@ export function applyCopyToClipboardButton($codeBlock: JQuery) { const $copyButton = $(" -
- -
-
-
- - -`; - -export default class AboutDialog extends BasicWidget { - private $appVersion!: JQuery; - private $dbVersion!: JQuery; - private $syncVersion!: JQuery; - private $buildDate!: JQuery; - private $buildRevision!: JQuery; - private $dataDirectory!: JQuery; - - doRender(): void { - this.$widget = $(TPL); - this.$appVersion = this.$widget.find(".app-version"); - this.$dbVersion = this.$widget.find(".db-version"); - this.$syncVersion = this.$widget.find(".sync-version"); - this.$buildDate = this.$widget.find(".build-date"); - this.$buildRevision = this.$widget.find(".build-revision"); - this.$dataDirectory = this.$widget.find(".data-directory"); - } - - async refresh() { - const appInfo = await server.get("app-info"); - - this.$appVersion.text(appInfo.appVersion); - this.$dbVersion.text(appInfo.dbVersion.toString()); - this.$syncVersion.text(appInfo.syncVersion.toString()); - this.$buildDate.text(formatDateTime(appInfo.buildDate)); - this.$buildRevision.text(appInfo.buildRevision); - this.$buildRevision.attr("href", `https://github.com/TriliumNext/Trilium/commit/${appInfo.buildRevision}`); - if (utils.isElectron()) { - this.$dataDirectory.html( - $("", { - href: "#", - class: "tn-link", - text: appInfo.dataDirectory - }).prop("outerHTML") - ); - this.$dataDirectory.find("a").on("click", (event: JQuery.ClickEvent) => { - event.preventDefault(); - openService.openDirectory(appInfo.dataDirectory); - }); - } else { - this.$dataDirectory.text(appInfo.dataDirectory); - } - } - - async openAboutDialogEvent() { - await this.refresh(); - openDialog(this.$widget); - } -} diff --git a/apps/client/src/widgets/dialogs/about.tsx b/apps/client/src/widgets/dialogs/about.tsx new file mode 100644 index 000000000..7d784627a --- /dev/null +++ b/apps/client/src/widgets/dialogs/about.tsx @@ -0,0 +1,98 @@ +import { openDialog } from "../../services/dialog.js"; +import ReactBasicWidget from "../react/ReactBasicWidget.js"; +import Modal from "../react/Modal.js"; +import { t } from "../../services/i18n.js"; +import { formatDateTime } from "../../utils/formatters.js"; +import { useState } from "react"; +import server from "../../services/server.js"; +import utils from "../../services/utils.js"; +import openService from "../../services/open.js"; + +interface AppInfo { + appVersion: string; + dbVersion: number; + syncVersion: number; + buildDate: string; + buildRevision: string; + dataDirectory: string; +} + +function AboutDialogComponent() { + let [appInfo, setAppInfo] = useState(null); + + async function onShown() { + const appInfo = await server.get("app-info"); + setAppInfo(appInfo); + } + + const forceWordBreak = { wordBreak: "break-all" }; + + return ( + + {(appInfo !== null) ? ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{t("about.homepage")}https://github.com/TriliumNext/Trilium
{t("about.app_version")}{appInfo.appVersion}
{t("about.db_version")}{appInfo.dbVersion}
{t("about.sync_version")}{appInfo.syncVersion}
{t("about.build_date")}{formatDateTime(appInfo.buildDate)}
{t("about.build_revision")} + {appInfo.buildRevision} +
{t("about.data_directory")} + +
+ ) : ( +
+ )} +
+ ); +} + +function DirectoryLink({ directory, style }: { directory: string, style?: React.CSSProperties }) { + if (utils.isElectron()) { + const onClick = (e: React.MouseEvent) => { + e.preventDefault(); + openService.openDirectory(directory); + }; + + return + } else { + return {directory}; + } +} + +export default class AboutDialog extends ReactBasicWidget { + + get component() { + return ; + } + + async openAboutDialogEvent() { + openDialog(this.$widget); + } +} \ No newline at end of file diff --git a/apps/client/src/widgets/react/Modal.tsx b/apps/client/src/widgets/react/Modal.tsx index 718bc23a2..1522a3947 100644 --- a/apps/client/src/widgets/react/Modal.tsx +++ b/apps/client/src/widgets/react/Modal.tsx @@ -1,9 +1,39 @@ -export default function Modal({ children }) { +import { useEffect, useRef } from "preact/hooks"; +import { t } from "../../services/i18n"; +import { ComponentChildren } from "preact"; + +interface ModalProps { + className: string; + title: string; + size: "lg" | "sm"; + children: ComponentChildren; + onShown?: () => void; +} + +export default function Modal({ children, className, size, title, onShown }: ModalProps) { + const modalRef = useRef(null); + + if (onShown) { + useEffect(() => { + const modalElement = modalRef.current; + if (modalElement) { + modalElement.addEventListener("shown.bs.modal", onShown); + } + }); + } + return ( -
-
+
+
- {children} +
+
{title}
+ +
+ +
+ {children} +
From 6eb650bb22d040c18ed350764cd8e53351d3af12 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 3 Aug 2025 15:30:01 +0300 Subject: [PATCH 285/505] chore(deps): update package lock --- pnpm-lock.yaml | 193 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 157 insertions(+), 36 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dfee16668..696f07752 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -301,6 +301,9 @@ importers: '@ckeditor/ckeditor5-inspector': specifier: 5.0.0 version: 5.0.0 + '@preact/preset-vite': + specifier: 2.10.2 + version: 2.10.2(@babel/core@7.28.0)(preact@10.27.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@types/bootstrap': specifier: 5.2.10 version: 5.2.10 @@ -897,7 +900,7 @@ importers: version: 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@vitest/browser': specifier: ^3.0.5 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.9.2))(playwright@1.54.2)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.9.2))(playwright@1.54.2)(utf-8-validate@6.0.5)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: ^3.0.5 version: 3.2.4(vitest@3.2.4) @@ -930,7 +933,7 @@ importers: version: 5.9.2 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.2)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.0.0(typescript@5.9.2)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.0.5 version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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.1.0)(typescript@5.9.2))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -1575,6 +1578,10 @@ packages: resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.27.3': + resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} + engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.27.2': resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} engines: {node: '>=6.9.0'} @@ -2047,6 +2054,18 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx-development@7.27.1': + resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.27.1': + resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-regenerator@7.27.0': resolution: {integrity: sha512-LX/vCajUJQDqE7Aum/ELUMZAY19+cDpghxrnyt5I1tV6X5PyC86AOoWXWFYFeIvauyeSA6/ktn4tQVn/3ZifsA==} engines: {node: '>=6.9.0'} @@ -4287,6 +4306,29 @@ packages: '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + '@preact/preset-vite@2.10.2': + resolution: {integrity: sha512-K9wHlJOtkE+cGqlyQ5v9kL3Ge0Ql4LlIZjkUTL+1zf3nNdF88F9UZN6VTV8jdzBX9Fl7WSzeNMSDG7qECPmSmg==} + peerDependencies: + '@babel/core': 7.x + vite: 2.x || 3.x || 4.x || 5.x || 6.x || 7.x + + '@prefresh/babel-plugin@0.5.2': + resolution: {integrity: sha512-AOl4HG6dAxWkJ5ndPHBgBa49oo/9bOiJuRDKHLSTyH+Fd9x00shTXpdiTj1W41l6oQIwUOAgJeHMn4QwIDpHkA==} + + '@prefresh/core@1.5.5': + resolution: {integrity: sha512-H6GTXUl4V4fe3ijz7yhSa/mZ+pGSOh7XaJb6uP/sQsagBx9yl0D1HKDaeoMQA8Ad2Xm27LqvbitMGSdY9UFSKQ==} + peerDependencies: + preact: 10.27.0 + + '@prefresh/utils@1.2.1': + resolution: {integrity: sha512-vq/sIuN5nYfYzvyayXI4C2QkprfNaHUQ9ZX+3xLD8nL3rWyzpxOm1+K7RtMbhd+66QcaISViK7amjnheQ/4WZw==} + + '@prefresh/vite@2.4.8': + resolution: {integrity: sha512-H7vlo9UbJInuRbZhRQrdgVqLP7qKjDoX7TgYWWwIVhEHeHO0hZ4zyicvwBrV1wX5A3EPOmArgRkUaN7cPI2VXQ==} + peerDependencies: + preact: 10.27.0 + vite: '>=2.0.0' + '@promptbook/utils@0.69.5': resolution: {integrity: sha512-xm5Ti/Hp3o4xHrsK9Yy3MS6KbDxYbq485hDsFvxqaNA7equHLPdo8H8faTitTeb14QCDfLW4iwCxdVYu5sn6YQ==} @@ -6781,6 +6823,11 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-transform-hook-names@1.0.2: + resolution: {integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==} + peerDependencies: + '@babel/core': ^7.12.10 + babel-plugin-transform-typescript-metadata@0.3.2: resolution: {integrity: sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==} peerDependencies: @@ -11274,6 +11321,9 @@ packages: engines: {node: '>= 10.12.0'} hasBin: true + node-html-parser@6.1.13: + resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==} + node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} @@ -13574,6 +13624,9 @@ packages: resolution: {integrity: sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==} engines: {node: ^18.17.0 || >=20.5.0} + simple-code-frame@1.3.0: + resolution: {integrity: sha512-MB4pQmETUBlNs62BBeRjIFGeuy/x6gGKh7+eRUemn1rCFhqo7K+4slPqsyizCbcbYLnaYqaoZ2FWsZ/jN06D8w==} + simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} @@ -13764,6 +13817,10 @@ packages: stack-chain@1.3.7: resolution: {integrity: sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==} + stack-trace@1.0.0-pre2: + resolution: {integrity: sha512-2ztBJRek8IVofG9DBJqdy2N5kulaacX30Nz7xmkYF6ale9WBVmIy6mFBchvGX7Vx/MyjBhx+Rcxqrj+dbOnQ6A==} + engines: {node: '>=16'} + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -14814,6 +14871,11 @@ packages: typescript: '>=4.9.4' vite: '>=4.0.2' + vite-prerender-plugin@0.5.11: + resolution: {integrity: sha512-xWOhb8Ef2zoJIiinYVunIf3omRfUbEXcPEvrkQcrDpJ2yjDokxhvQ26eSJbkthRhymntWx6816jpATrJphh+ug==} + peerDependencies: + vite: 5.x || 6.x || 7.x + vite@7.0.0: resolution: {integrity: sha512-ixXJB1YRgDIw2OszKQS9WxGHKwLdCsbQNkpJN171udl6szi/rIySHL6/Os3s2+oE4P/FLD4dxg4mD7Wust+u5g==} engines: {node: ^20.19.0 || >=22.12.0} @@ -15880,6 +15942,10 @@ snapshots: dependencies: '@babel/types': 7.28.1 + '@babel/helper-annotate-as-pure@7.27.3': + dependencies: + '@babel/types': 7.28.1 + '@babel/helper-compilation-targets@7.27.2': dependencies: '@babel/compat-data': 7.28.0 @@ -15996,7 +16062,7 @@ snapshots: '@babel/parser@7.27.5': dependencies: - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@babel/parser@7.28.0': dependencies: @@ -16402,6 +16468,24 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/types': 7.28.1 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-regenerator@7.27.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -16608,7 +16692,7 @@ snapshots: '@babel/generator': 7.27.0 '@babel/parser': 7.27.5 '@babel/template': 7.27.0 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 debug: 4.4.1(supports-color@6.0.0) globals: 11.12.0 transitivePeerDependencies: @@ -16829,8 +16913,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -17083,6 +17165,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -17105,6 +17189,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17130,8 +17216,6 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-engine': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-essentials@46.0.0': dependencies: @@ -17278,6 +17362,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-icons@46.0.0': {} @@ -20237,6 +20323,42 @@ snapshots: '@popperjs/core@2.11.8': {} + '@preact/preset-vite@2.10.2(@babel/core@7.28.0)(preact@10.27.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + 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.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@rollup/pluginutils': 4.2.1 + babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.28.0) + debug: 4.4.1(supports-color@6.0.0) + picocolors: 1.1.1 + vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite-prerender-plugin: 0.5.11(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + transitivePeerDependencies: + - preact + - supports-color + + '@prefresh/babel-plugin@0.5.2': {} + + '@prefresh/core@1.5.5(preact@10.27.0)': + dependencies: + preact: 10.27.0 + + '@prefresh/utils@1.2.1': {} + + '@prefresh/vite@2.4.8(preact@10.27.0)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + dependencies: + '@babel/core': 7.28.0 + '@prefresh/babel-plugin': 0.5.2 + '@prefresh/core': 1.5.5(preact@10.27.0) + '@prefresh/utils': 1.2.1 + '@rollup/pluginutils': 4.2.1 + preact: 10.27.0 + vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + transitivePeerDependencies: + - supports-color + '@promptbook/utils@0.69.5': dependencies: spacetrim: 0.11.59 @@ -22295,26 +22417,6 @@ snapshots: - vite optional: true - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.9.2))(playwright@1.54.2)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))': - dependencies: - '@testing-library/dom': 10.4.0 - '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@24.1.0)(typescript@5.9.2))(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@vitest/utils': 3.2.4 - magic-string: 0.30.17 - sirv: 3.0.1 - tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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.1.0)(typescript@5.9.2))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) - optionalDependencies: - playwright: 1.54.2 - webdriverio: 9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) - transitivePeerDependencies: - - bufferutil - - msw - - utf-8-validate - - vite - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.9.2))(playwright@1.54.2)(utf-8-validate@6.0.5)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 @@ -22446,7 +22548,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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.1.0)(typescript@5.9.2))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.17.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.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@22.17.0)(typescript@5.9.2))(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/utils@3.2.4': dependencies: @@ -23043,6 +23145,10 @@ snapshots: transitivePeerDependencies: - supports-color + babel-plugin-transform-hook-names@1.0.2(@babel/core@7.28.0): + dependencies: + '@babel/core': 7.28.0 + babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.28.0)(@babel/traverse@7.28.0): dependencies: '@babel/core': 7.28.0 @@ -28833,6 +28939,11 @@ snapshots: - supports-color optional: true + node-html-parser@6.1.13: + dependencies: + css-select: 5.2.2 + he: 1.2.0 + node-int64@0.4.0: {} node-machine-id@1.1.12: {} @@ -31401,6 +31512,10 @@ snapshots: transitivePeerDependencies: - supports-color + simple-code-frame@1.3.0: + dependencies: + kolorist: 1.8.0 + simple-concat@1.0.1: {} simple-get@4.0.1: @@ -31634,6 +31749,8 @@ snapshots: stack-chain@1.3.7: {} + stack-trace@1.0.0-pre2: {} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -32977,18 +33094,22 @@ snapshots: tinyglobby: 0.2.14 vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.9.2)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): - dependencies: - svgo: 3.3.2 - typescript: 5.9.2 - vite: 7.0.0(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - vite-plugin-svgo@2.0.0(typescript@5.9.2)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: svgo: 3.3.2 typescript: 5.9.2 vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite-prerender-plugin@0.5.11(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + dependencies: + kolorist: 1.8.0 + magic-string: 0.30.17 + node-html-parser: 6.1.13 + simple-code-frame: 1.3.0 + source-map: 0.7.6 + stack-trace: 1.0.0-pre2 + vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite@7.0.0(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.8 @@ -33147,7 +33268,7 @@ snapshots: optionalDependencies: '@types/debug': 4.1.12 '@types/node': 24.1.0 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.9.2))(playwright@1.54.2)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.9.2))(playwright@1.54.2)(utf-8-validate@6.0.5)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) From 8f99ce7d14d7bdee9ca3527af0fd9172068f0cdc Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 3 Aug 2025 16:04:19 +0300 Subject: [PATCH 286/505] fix(react): type errors --- apps/client/src/widgets/dialogs/about.tsx | 9 +++++---- apps/client/tsconfig.app.json | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/client/src/widgets/dialogs/about.tsx b/apps/client/src/widgets/dialogs/about.tsx index 7d784627a..b8b9ad0e1 100644 --- a/apps/client/src/widgets/dialogs/about.tsx +++ b/apps/client/src/widgets/dialogs/about.tsx @@ -3,10 +3,11 @@ import ReactBasicWidget from "../react/ReactBasicWidget.js"; import Modal from "../react/Modal.js"; import { t } from "../../services/i18n.js"; import { formatDateTime } from "../../utils/formatters.js"; -import { useState } from "react"; import server from "../../services/server.js"; import utils from "../../services/utils.js"; import openService from "../../services/open.js"; +import { useState } from "preact/hooks"; +import type { CSSProperties } from "preact/compat"; interface AppInfo { appVersion: string; @@ -25,7 +26,7 @@ function AboutDialogComponent() { setAppInfo(appInfo); } - const forceWordBreak = { wordBreak: "break-all" }; + const forceWordBreak: CSSProperties = { wordBreak: "break-all" }; return ( @@ -73,9 +74,9 @@ function AboutDialogComponent() { ); } -function DirectoryLink({ directory, style }: { directory: string, style?: React.CSSProperties }) { +function DirectoryLink({ directory, style }: { directory: string, style?: CSSProperties }) { if (utils.isElectron()) { - const onClick = (e: React.MouseEvent) => { + const onClick = (e: MouseEvent) => { e.preventDefault(); openService.openDirectory(directory); }; diff --git a/apps/client/tsconfig.app.json b/apps/client/tsconfig.app.json index f823b8cba..16b93e1ce 100644 --- a/apps/client/tsconfig.app.json +++ b/apps/client/tsconfig.app.json @@ -37,6 +37,7 @@ ], "include": [ "src/**/*.ts", + "src/**/*.tsx", "src/**/*.json" ], "references": [ From b645d21fcdf8fe448dc14454ddee9705ddf93861 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 3 Aug 2025 16:22:54 +0300 Subject: [PATCH 287/505] refactor(client): deduplicate app info type --- apps/client/src/widgets/dialogs/about.tsx | 10 +--------- apps/server/src/services/app_info.ts | 5 +++-- packages/commons/src/index.ts | 1 + packages/commons/src/lib/server_api.ts | 12 ++++++++++++ 4 files changed, 17 insertions(+), 11 deletions(-) create mode 100644 packages/commons/src/lib/server_api.ts diff --git a/apps/client/src/widgets/dialogs/about.tsx b/apps/client/src/widgets/dialogs/about.tsx index b8b9ad0e1..b315d52cd 100644 --- a/apps/client/src/widgets/dialogs/about.tsx +++ b/apps/client/src/widgets/dialogs/about.tsx @@ -8,15 +8,7 @@ import utils from "../../services/utils.js"; import openService from "../../services/open.js"; import { useState } from "preact/hooks"; import type { CSSProperties } from "preact/compat"; - -interface AppInfo { - appVersion: string; - dbVersion: number; - syncVersion: number; - buildDate: string; - buildRevision: string; - dataDirectory: string; -} +import type { AppInfo } from "@triliumnext/commons"; function AboutDialogComponent() { let [appInfo, setAppInfo] = useState(null); diff --git a/apps/server/src/services/app_info.ts b/apps/server/src/services/app_info.ts index 0def56253..2837e8de7 100644 --- a/apps/server/src/services/app_info.ts +++ b/apps/server/src/services/app_info.ts @@ -2,6 +2,7 @@ import path from "path"; import build from "./build.js"; import packageJson from "../../package.json" with { type: "json" }; import dataDir from "./data_dir.js"; +import { AppInfo } from "@triliumnext/commons"; const APP_DB_VERSION = 233; const SYNC_VERSION = 36; @@ -16,5 +17,5 @@ export default { buildRevision: build.buildRevision, dataDirectory: path.resolve(dataDir.TRILIUM_DATA_DIR), clipperProtocolVersion: CLIPPER_PROTOCOL_VERSION, - utcDateTime: new Date().toISOString() // for timezone inference -}; + utcDateTime: new Date().toISOString() +} satisfies AppInfo; diff --git a/packages/commons/src/index.ts b/packages/commons/src/index.ts index 5340e06d6..151924c8f 100644 --- a/packages/commons/src/index.ts +++ b/packages/commons/src/index.ts @@ -6,3 +6,4 @@ export * from "./lib/rows.js"; export * from "./lib/test-utils.js"; export * from "./lib/mime_type.js"; export * from "./lib/bulk_actions.js"; +export * from "./lib/server_api.js"; diff --git a/packages/commons/src/lib/server_api.ts b/packages/commons/src/lib/server_api.ts new file mode 100644 index 000000000..de91281db --- /dev/null +++ b/packages/commons/src/lib/server_api.ts @@ -0,0 +1,12 @@ +export interface AppInfo { + appVersion: string; + dbVersion: number; + nodeVersion: string; + syncVersion: number; + buildDate: string; + buildRevision: string; + dataDirectory: string; + clipperProtocolVersion: string; + /** for timezone inference */ + utcDateTime: string; +} From 51495b282f496b8bb211abf2ce1b7e07762442ae Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 3 Aug 2025 16:23:18 +0300 Subject: [PATCH 288/505] fix(board): items not displayed recursively --- .../widgets/view_widgets/board_view/data.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/apps/client/src/widgets/view_widgets/board_view/data.ts b/apps/client/src/widgets/view_widgets/board_view/data.ts index af36587ba..f468f2292 100644 --- a/apps/client/src/widgets/view_widgets/board_view/data.ts +++ b/apps/client/src/widgets/view_widgets/board_view/data.ts @@ -15,26 +15,26 @@ export async function getBoardData(parentNote: FNote, groupByColumn: string, per // Get all columns that exist in the notes const columnsFromNotes = [...byColumn.keys()]; - + // Get existing persisted columns and preserve their order const existingPersistedColumns = persistedData.columns || []; const existingColumnValues = existingPersistedColumns.map(c => c.value); - + // Find truly new columns (exist in notes but not in persisted data) const newColumnValues = columnsFromNotes.filter(col => !existingColumnValues.includes(col)); - + // Build the complete correct column list: existing + new const allColumns = [ ...existingPersistedColumns, // Preserve existing order ...newColumnValues.map(value => ({ value })) // Add new columns ]; - + // Remove duplicates (just in case) and ensure we only keep columns that exist in notes or are explicitly preserved const deduplicatedColumns = allColumns.filter((column, index) => { const firstIndex = allColumns.findIndex(c => c.value === column.value); return firstIndex === index; // Keep only the first occurrence }); - + // Ensure all persisted columns have empty arrays in byColumn (even if no notes use them) for (const column of deduplicatedColumns) { if (!byColumn.has(column.value)) { @@ -44,10 +44,10 @@ export async function getBoardData(parentNote: FNote, groupByColumn: string, per // Return updated persisted data only if there were changes let newPersistedData: BoardData | undefined; - const hasChanges = newColumnValues.length > 0 || + const hasChanges = newColumnValues.length > 0 || existingPersistedColumns.length !== deduplicatedColumns.length || !existingPersistedColumns.every((col, idx) => deduplicatedColumns[idx]?.value === col.value); - + if (hasChanges) { newPersistedData = { ...persistedData, @@ -68,6 +68,10 @@ async function recursiveGroupBy(branches: FBranch[], byColumn: ColumnMap, groupB continue; } + if (note.hasChildren()) { + await recursiveGroupBy(note.getChildBranches(), byColumn, groupByColumn); + } + const group = note.getLabelValue(groupByColumn); if (!group) { continue; From a83172390f5f5ebb5af5d29a6ff846cf4373677b Mon Sep 17 00:00:00 2001 From: Aitanuqui Date: Sun, 3 Aug 2025 04:48:50 +0200 Subject: [PATCH 289/505] Translated using Weblate (Spanish) Currently translated at 100.0% (1559 of 1559 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/es/ --- .../src/translations/es/translation.json | 84 ++++++++++++++++--- 1 file changed, 73 insertions(+), 11 deletions(-) diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json index ac185b804..327f8d1ce 100644 --- a/apps/client/src/translations/es/translation.json +++ b/apps/client/src/translations/es/translation.json @@ -212,7 +212,8 @@ }, "jump_to_note": { "close": "Cerrar", - "search_button": "Buscar en texto completo Ctrl+Enter" + "search_button": "Buscar en texto completo Ctrl+Enter", + "search_placeholder": "Busque nota por su nombre o escriba > para comandos..." }, "markdown_import": { "dialog_title": "Importación de Markdown", @@ -442,7 +443,8 @@ "other_notes_with_name": "Otras notas con nombre de {{attributeType}} \"{{attributeName}}\"", "and_more": "... y {{count}} más.", "print_landscape": "Al exportar a PDF, cambia la orientación de la página a paisaje en lugar de retrato.", - "print_page_size": "Al exportar a PDF, cambia el tamaño de la página. Valores soportados: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." + "print_page_size": "Al exportar a PDF, cambia el tamaño de la página. Valores soportados: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger.", + "color_type": "Color" }, "attribute_editor": { "help_text_body1": "Para agregar una etiqueta, simplemente escriba, por ejemplo. #rock o si desea agregar también valor, p.e. #año = 2020", @@ -758,7 +760,11 @@ "collapse": "Colapsar", "expand": "Expandir", "invalid_view_type": "Tipo de vista inválida '{{type}}'", - "calendar": "Calendario" + "calendar": "Calendario", + "book_properties": "Propiedades de colección", + "table": "Tabla", + "geo-map": "Mapa Geo", + "board": "Tablero" }, "edited_notes": { "no_edited_notes_found": "Aún no hay notas editadas en este día...", @@ -835,7 +841,8 @@ "unknown_label_type": "Tipo de etiqueta desconocido '{{type}}'", "unknown_attribute_type": "Tipo de atributo desconocido '{{type}}'", "add_new_attribute": "Agregar nuevo atributo", - "remove_this_attribute": "Eliminar este atributo" + "remove_this_attribute": "Eliminar este atributo", + "remove_color": "Eliminar la etiqueta del color" }, "script_executor": { "query": "Consulta", @@ -1596,7 +1603,8 @@ "import-into-note": "Importar a nota", "apply-bulk-actions": "Aplicar acciones en lote", "converted-to-attachments": "{{count}} notas han sido convertidas en archivos adjuntos.", - "convert-to-attachment-confirm": "¿Está seguro que desea convertir las notas seleccionadas en archivos adjuntos de sus notas padres?" + "convert-to-attachment-confirm": "¿Está seguro que desea convertir las notas seleccionadas en archivos adjuntos de sus notas padres?", + "open-in-popup": "Edición rápida" }, "shared_info": { "shared_publicly": "Esta nota está compartida públicamente en", @@ -1623,7 +1631,10 @@ "geo-map": "Mapa Geo", "beta-feature": "Beta", "ai-chat": "Chat de IA", - "task-list": "Lista de tareas" + "task-list": "Lista de tareas", + "book": "Colección", + "new-feature": "Nuevo", + "collections": "Colecciones" }, "protect_note": { "toggle-on": "Proteger la nota", @@ -1825,7 +1836,8 @@ "link_context_menu": { "open_note_in_new_tab": "Abrir nota en una pestaña nueva", "open_note_in_new_split": "Abrir nota en una nueva división", - "open_note_in_new_window": "Abrir nota en una nueva ventana" + "open_note_in_new_window": "Abrir nota en una nueva ventana", + "open_note_in_popup": "Edición rápida" }, "electron_integration": { "desktop-application": "Aplicación de escritorio", @@ -1845,7 +1857,8 @@ "full-text-search": "Búsqueda de texto completo" }, "note_tooltip": { - "note-has-been-deleted": "La nota ha sido eliminada." + "note-has-been-deleted": "La nota ha sido eliminada.", + "quick-edit": "Edición rápida" }, "geo-map": { "create-child-note-title": "Crear una nueva subnota y agregarla al mapa", @@ -1854,7 +1867,8 @@ }, "geo-map-context": { "open-location": "Abrir ubicación", - "remove-from-map": "Eliminar del mapa" + "remove-from-map": "Eliminar del mapa", + "add-note": "Agregar un marcador en esta ubicación" }, "help-button": { "title": "Abrir la página de ayuda relevante" @@ -1928,7 +1942,13 @@ }, "book_properties_config": { "hide-weekends": "Ocultar fines de semana", - "show-scale": "Mostrar escala" + "show-scale": "Mostrar escala", + "display-week-numbers": "Mostrar números de semana", + "map-style": "Estilo de mapa:", + "max-nesting-depth": "Máxima profundidad de anidamiento:", + "vector_light": "Vector (claro)", + "vector_dark": "Vector (oscuro)", + "raster": "Trama" }, "table_context_menu": { "delete_row": "Eliminar fila" @@ -1939,9 +1959,51 @@ "insert-above": "Insertar arriba", "insert-below": "Insertar abajo", "delete-column": "Eliminar columna", - "delete-column-confirmation": "¿Seguro que desea eliminar esta columna? El atributo correspondiente también se eliminará de las notas de esta columna." + "delete-column-confirmation": "¿Seguro que desea eliminar esta columna? El atributo correspondiente también se eliminará de las notas de esta columna.", + "add-column": "Añadir columna", + "new-item": "Nuevo elemento" }, "content_renderer": { "open_externally": "Abrir externamente" + }, + "table_view": { + "new-column": "Nueva columna", + "new-row": "Nueva fila", + "show-hide-columns": "Mostrar/ocultar columnas", + "row-insert-above": "Insertar fila arriba", + "row-insert-below": "Insertar fila debajo", + "sort-column-by": "Ordenar por \"{{title}}\"", + "sort-column-ascending": "Ascendiente", + "sort-column-descending": "Descendiente", + "sort-column-clear": "Quitar ordenación", + "hide-column": "Ocultar columna \"{{title}}\"", + "add-column-to-the-left": "Añadir columna a la izquierda", + "add-column-to-the-right": "Añadir columna a la derecha", + "edit-column": "Editar columna", + "delete_column_confirmation": "¿Seguro que desea eliminar esta columna? Se eliminará el atributo asociado de todas las notas.", + "new-column-label": "Etiqueta", + "new-column-relation": "Relación", + "delete-column": "Eliminar columna", + "row-insert-child": "Insertar nota hija" + }, + "editorfeatures": { + "note_completion_enabled": "Activar autocompletado de notas", + "emoji_completion_enabled": "Activar autocompletado de emojis", + "title": "Funciones" + }, + "command_palette": { + "tree-action-name": "Árbol:{{name}}", + "export_note_title": "Exportar nota", + "export_note_description": "Exportar nota actual", + "show_attachments_title": "Mostrar adjuntos", + "show_attachments_description": "Ver adjuntos de la nota", + "search_notes_title": "Buscar notas", + "search_notes_description": "Abrir búsqueda avanzada", + "search_subtree_title": "Buscar en subárbol", + "search_subtree_description": "Buscar dentro del subárbol actual", + "search_history_title": "Mostrar historial de búsqueda", + "search_history_description": "Ver búsquedas previas", + "configure_launch_bar_title": "Configurar barra de inicio", + "configure_launch_bar_description": "Abrir la configuración de la barra de inicio, para agregar o quitar elementos." } } From fbc6734e08130271801170c85dcbe64b968097e0 Mon Sep 17 00:00:00 2001 From: liqiuchen1988 <629266341@qq.com> Date: Sun, 3 Aug 2025 10:49:44 +0200 Subject: [PATCH 290/505] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 84.6% (320 of 378 strings) Translation: Trilium Notes/Server Translate-URL: https://hosted.weblate.org/projects/trilium/server/zh_Hans/ --- .../src/assets/translations/cn/server.json | 647 ++++++++++-------- 1 file changed, 364 insertions(+), 283 deletions(-) diff --git a/apps/server/src/assets/translations/cn/server.json b/apps/server/src/assets/translations/cn/server.json index 3c5f8d6b9..19d6ddb48 100644 --- a/apps/server/src/assets/translations/cn/server.json +++ b/apps/server/src/assets/translations/cn/server.json @@ -1,285 +1,366 @@ { - "keyboard_actions": { - "open-jump-to-note-dialog": "打开“跳转到笔记”对话框", - "search-in-subtree": "在活跃笔记的子树中搜索笔记", - "expand-subtree": "展开当前笔记的子树", - "collapse-tree": "折叠完整的笔记树", - "collapse-subtree": "折叠当前笔记的子树", - "sort-child-notes": "排序子笔记", - "creating-and-moving-notes": "创建和移动笔记", - "create-note-into-inbox": "在收件箱(若已定义)或日记中创建笔记", - "delete-note": "删除笔记", - "move-note-up": "上移笔记", - "move-note-down": "下移笔记", - "move-note-up-in-hierarchy": "在层级中上移笔记", - "move-note-down-in-hierarchy": "在层级中下移笔记", - "edit-note-title": "从树跳转到笔记详情并编辑标题", - "edit-branch-prefix": "显示编辑分支前缀对话框", - "note-clipboard": "笔记剪贴板", - "copy-notes-to-clipboard": "复制选定的笔记到剪贴板", - "paste-notes-from-clipboard": "从剪贴板粘贴笔记到活跃笔记中", - "cut-notes-to-clipboard": "剪切选定的笔记到剪贴板", - "select-all-notes-in-parent": "选择当前笔记级别的所有笔记", - "add-note-above-to-the-selection": "将上方笔记添加到选择中", - "add-note-below-to-selection": "将下方笔记添加到选择中", - "duplicate-subtree": "克隆子树", - "tabs-and-windows": "标签页和窗口", - "open-new-tab": "打开新标签页", - "close-active-tab": "关闭活跃标签页", - "reopen-last-tab": "重开最后关闭的标签页", - "activate-next-tab": "激活右侧标签页", - "activate-previous-tab": "激活左侧标签页", - "open-new-window": "打开新空窗口", - "toggle-tray": "从系统托盘显示/隐藏应用程序", - "first-tab": "激活列表中的第一个标签页", - "second-tab": "激活列表中的第二个标签页", - "third-tab": "激活列表中的第三个标签页", - "fourth-tab": "激活列表中的第四个标签页", - "fifth-tab": "激活列表中的第五个标签页", - "sixth-tab": "激活列表中的第六个标签页", - "seventh-tab": "激活列表中的第七个标签页", - "eight-tab": "激活列表中的第八个标签页", - "ninth-tab": "激活列表中的第九个标签页", - "last-tab": "激活列表中的最后一个标签页", - "dialogs": "对话框", - "show-note-source": "显示笔记源对话框", - "show-options": "显示选项对话框", - "show-revisions": "显示笔记修订对话框", - "show-recent-changes": "显示最近更改对话框", - "show-sql-console": "显示 SQL 控制台对话框", - "show-backend-log": "显示后端日志对话框", - "text-note-operations": "文本笔记操作", - "add-link-to-text": "打开对话框以添加链接到文本", - "follow-link-under-cursor": "追踪光标下的链接", - "insert-date-and-time-to-text": "插入当前日期和时间到文本", - "paste-markdown-into-text": "从剪贴板粘贴 Markdown 到文本笔记", - "cut-into-note": "剪切当前笔记的选区并创建包含选定文本的子笔记", - "add-include-note-to-text": "打开对话框以引含一个笔记", - "edit-readonly-note": "编辑只读笔记", - "attributes-labels-and-relations": "属性(标签和关系)", - "add-new-label": "创建新标签", - "create-new-relation": "创建新关系", - "ribbon-tabs": "功能区标签页", - "toggle-basic-properties": "切换基本属性", - "toggle-file-properties": "切换文件属性", - "toggle-image-properties": "切换图像属性", - "toggle-owned-attributes": "切换拥有的属性", - "toggle-inherited-attributes": "切换继承的属性", - "toggle-promoted-attributes": "切换提升的属性", - "toggle-link-map": "切换链接地图", - "toggle-note-info": "切换笔记信息", - "toggle-note-paths": "切换笔记路径", - "toggle-similar-notes": "切换相似笔记", - "other": "其他", - "toggle-right-pane": "切换右侧面板的显示,包括目录和高亮", - "print-active-note": "打印活跃笔记", - "open-note-externally": "以默认应用打开笔记文件", - "render-active-note": "渲染(重新渲染)活跃笔记", - "run-active-note": "运行活跃 JavaScript(前/后端)代码笔记", - "toggle-note-hoisting": "切换活跃笔记的聚焦", - "unhoist": "从任意地方取消聚焦", - "reload-frontend-app": "重载前端应用", - "open-dev-tools": "打开开发工具", - "toggle-left-note-tree-panel": "切换左侧(笔记树)面板", - "toggle-full-screen": "切换全屏", - "zoom-out": "缩小", - "zoom-in": "放大", - "note-navigation": "笔记导航", - "reset-zoom-level": "重置缩放级别", - "copy-without-formatting": "免格式复制选定文本", - "force-save-revision": "强制创建/保存活跃笔记的新修订版本", - "show-help": "显示内置用户指南", - "toggle-book-properties": "切换书籍属性", - "toggle-classic-editor-toolbar": "为编辑器切换格式标签页的固定工具栏", - "export-as-pdf": "导出当前笔记为 PDF", - "show-cheatsheet": "显示包含常见键盘操作的弹窗", - "toggle-zen-mode": "启用/禁用禅模式(为专注编辑而精简界面)" - }, - "login": { - "title": "登录", - "heading": "Trilium 登录", - "incorrect-totp": "TOTP 不正确,请重试。", - "incorrect-password": "密码不正确,请重试。", - "password": "密码", - "remember-me": "记住我", - "button": "登录", - "sign_in_with_sso": "使用 {{ ssoIssuerName }} 登录" - }, - "set_password": { - "title": "设置密码", - "heading": "设置密码", - "description": "在您能够从 Web 开始使用 Trilium 之前,您需要先设置一个密码。您之后将使用此密码登录。", - "password": "密码", - "password-confirmation": "密码确认", - "button": "设置密码" - }, - "javascript-required": "Trilium 需要启用 JavaScript。", - "setup": { - "heading": "TriliumNext 笔记设置", - "new-document": "我是新用户,我想为我的笔记创建一个新的 Trilium 文档", - "sync-from-desktop": "我已经有一个桌面实例,我想设置与它的同步", - "sync-from-server": "我已经有一个服务器实例,我想设置与它的同步", - "next": "下一步", - "init-in-progress": "文档初始化进行中", - "redirecting": "您将很快被重定向到应用程序。", - "title": "设置" - }, - "setup_sync-from-desktop": { - "heading": "从桌面同步", - "description": "此设置需要从桌面实例开始:", - "step1": "打开您的 TriliumNext 笔记桌面实例。", - "step2": "从 Trilium 菜单中,点击“选项”。", - "step3": "点击“同步”类别。", - "step4": "将服务器实例地址更改为:{{- host}} 并点击保存。", - "step5": "点击“测试同步”按钮以验证连接是否成功。", - "step6": "完成这些步骤后,点击{{- link}}。", - "step6-here": "这里" - }, - "setup_sync-from-server": { - "heading": "从服务器同步", - "instructions": "请在下面输入 Trilium 服务器地址和凭据。这将从服务器下载整个 Trilium 文档并设置与它的同步。根据文档大小和您的连接的速度,这可能需要一段时间。", - "server-host": "Trilium 服务器地址", - "server-host-placeholder": "https://<主机名称>:<端口>", - "proxy-server": "代理服务器(可选)", - "proxy-server-placeholder": "https://<主机名称>:<端口>", - "note": "注意:", - "proxy-instruction": "如果您将代理设置留空,将使用系统代理(仅适用于桌面应用)", - "password": "密码", - "password-placeholder": "密码", - "back": "返回", - "finish-setup": "完成设置" - }, - "setup_sync-in-progress": { - "heading": "同步中", - "successful": "同步已被正确设置。初始同步完成可能需要一些时间。完成后,您将被重定向到登录页面。", - "outstanding-items": "未完成的同步项目:", - "outstanding-items-default": "无" - }, - "share_404": { - "title": "未找到", - "heading": "未找到" - }, - "share_page": { - "parent": "父级:", - "clipped-from": "此笔记最初剪切自 {{- url}}", - "child-notes": "子笔记:", - "no-content": "此笔记没有内容。" - }, - "weekdays": { - "monday": "周一", - "tuesday": "周二", - "wednesday": "周三", - "thursday": "周四", - "friday": "周五", - "saturday": "周六", - "sunday": "周日" - }, - "weekdayNumber": "第 {weekNumber} 周", - "months": { - "january": "一月", - "february": "二月", - "march": "三月", - "april": "四月", - "may": "五月", - "june": "六月", - "july": "七月", - "august": "八月", - "september": "九月", - "october": "十月", - "november": "十一月", - "december": "十二月" - }, - "quarterNumber": "第 {quarterNumber} 季度", - "special_notes": { - "search_prefix": "搜索:" - }, - "test_sync": { - "not-configured": "同步服务器主机未配置。请先配置同步。", - "successful": "同步服务器握手成功,同步已开始。" - }, - "hidden-subtree": { - "root-title": "隐藏的笔记", - "search-history-title": "搜索历史", - "note-map-title": "笔记地图", - "sql-console-history-title": "SQL 控制台历史", - "shared-notes-title": "共享笔记", - "bulk-action-title": "批量操作", - "backend-log-title": "后端日志", - "user-hidden-title": "隐藏的用户", - "launch-bar-templates-title": "启动栏模板", - "base-abstract-launcher-title": "基础摘要启动器", - "command-launcher-title": "命令启动器", - "note-launcher-title": "笔记启动器", - "script-launcher-title": "脚本启动器", - "built-in-widget-title": "内置小组件", - "spacer-title": "空白占位", - "custom-widget-title": "自定义小组件", - "launch-bar-title": "启动栏", - "available-launchers-title": "可用启动器", - "go-to-previous-note-title": "跳转到上一条笔记", - "go-to-next-note-title": "跳转到下一条笔记", - "new-note-title": "新建笔记", - "search-notes-title": "搜索笔记", - "calendar-title": "日历", - "recent-changes-title": "最近更改", - "bookmarks-title": "书签", - "open-today-journal-note-title": "打开今天的日记笔记", - "quick-search-title": "快速搜索", - "protected-session-title": "受保护的会话", - "sync-status-title": "同步状态", - "settings-title": "设置", - "options-title": "选项", - "appearance-title": "外观", - "shortcuts-title": "快捷键", - "text-notes": "文本笔记", - "code-notes-title": "代码笔记", - "images-title": "图片", - "spellcheck-title": "拼写检查", - "password-title": "密码", - "multi-factor-authentication-title": "多因素认证", - "etapi-title": "ETAPI", - "backup-title": "备份", - "sync-title": "同步", - "other": "其他", - "advanced-title": "高级", - "visible-launchers-title": "可见启动器", - "user-guide": "用户指南", - "localization": "语言和区域" - }, - "notes": { - "new-note": "新建笔记", - "duplicate-note-suffix": "(重复)", - "duplicate-note-title": "{{- noteTitle }} {{ duplicateNoteSuffix }}" - }, - "backend_log": { - "log-does-not-exist": "后端日志文件 '{{ fileName }}' 暂不存在。", - "reading-log-failed": "读取后端日志文件 '{{ fileName }}' 失败。" - }, - "content_renderer": { - "note-cannot-be-displayed": "此笔记类型无法显示。" - }, - "pdf": { - "export_filter": "PDF 文档 (*.pdf)", - "unable-to-export-message": "当前笔记无法被导出为 PDF。", - "unable-to-export-title": "无法导出为 PDF", - "unable-to-save-message": "所选文件不能被写入。重试或选择另一个目的地。" - }, - "tray": { - "tooltip": "TriliumNext 笔记", - "close": "退出 Trilium", - "recents": "最近笔记", - "bookmarks": "书签", - "today": "打开今天的日记笔记", - "new-note": "新建笔记", - "show-windows": "显示窗口", - "open_new_window": "打开新窗口" - }, - "migration": { - "old_version": "由您当前版本的直接迁移不被支持。请先升级到最新的 v0.60.4 然后再到这个版本。", - "error_message": "迁移到版本 {{version}} 时发生错误: {{stack}}", - "wrong_db_version": "数据库的版本({{version}})新于应用期望的版本({{targetVersion}}),这意味着它由一个更加新的且不兼容的 Trilium 所创建。升级到最新版的 Trilium 以解决此问题。" - }, - "modals": { - "error_title": "错误" - } + "keyboard_actions": { + "open-jump-to-note-dialog": "打开“跳转到笔记”对话框", + "search-in-subtree": "在活跃笔记的子树中搜索笔记", + "expand-subtree": "展开当前笔记的子树", + "collapse-tree": "折叠完整的笔记树", + "collapse-subtree": "折叠当前笔记的子树", + "sort-child-notes": "排序子笔记", + "creating-and-moving-notes": "创建和移动笔记", + "create-note-into-inbox": "在收件箱(若已定义)或日记中创建笔记", + "delete-note": "删除笔记", + "move-note-up": "上移笔记", + "move-note-down": "下移笔记", + "move-note-up-in-hierarchy": "在层级中上移笔记", + "move-note-down-in-hierarchy": "在层级中下移笔记", + "edit-note-title": "从树跳转到笔记详情并编辑标题", + "edit-branch-prefix": "显示编辑分支前缀对话框", + "note-clipboard": "笔记剪贴板", + "copy-notes-to-clipboard": "复制选定的笔记到剪贴板", + "paste-notes-from-clipboard": "从剪贴板粘贴笔记到活跃笔记中", + "cut-notes-to-clipboard": "剪切选定的笔记到剪贴板", + "select-all-notes-in-parent": "选择当前笔记级别的所有笔记", + "add-note-above-to-the-selection": "将上方笔记添加到选择中", + "add-note-below-to-selection": "将下方笔记添加到选择中", + "duplicate-subtree": "克隆子树", + "tabs-and-windows": "标签页和窗口", + "open-new-tab": "打开新标签页", + "close-active-tab": "关闭活跃标签页", + "reopen-last-tab": "重开最后关闭的标签页", + "activate-next-tab": "激活右侧标签页", + "activate-previous-tab": "激活左侧标签页", + "open-new-window": "打开新空窗口", + "toggle-tray": "从系统托盘显示/隐藏应用程序", + "first-tab": "激活列表中的第一个标签页", + "second-tab": "激活列表中的第二个标签页", + "third-tab": "激活列表中的第三个标签页", + "fourth-tab": "激活列表中的第四个标签页", + "fifth-tab": "激活列表中的第五个标签页", + "sixth-tab": "激活列表中的第六个标签页", + "seventh-tab": "激活列表中的第七个标签页", + "eight-tab": "激活列表中的第八个标签页", + "ninth-tab": "激活列表中的第九个标签页", + "last-tab": "激活列表中的最后一个标签页", + "dialogs": "对话框", + "show-note-source": "显示笔记源对话框", + "show-options": "显示选项对话框", + "show-revisions": "显示笔记修订对话框", + "show-recent-changes": "显示最近更改对话框", + "show-sql-console": "显示 SQL 控制台对话框", + "show-backend-log": "显示后端日志对话框", + "text-note-operations": "文本笔记操作", + "add-link-to-text": "打开对话框以添加链接到文本", + "follow-link-under-cursor": "追踪光标下的链接", + "insert-date-and-time-to-text": "插入当前日期和时间到文本", + "paste-markdown-into-text": "从剪贴板粘贴 Markdown 到文本笔记", + "cut-into-note": "剪切当前笔记的选区并创建包含选定文本的子笔记", + "add-include-note-to-text": "打开对话框以引含一个笔记", + "edit-readonly-note": "编辑只读笔记", + "attributes-labels-and-relations": "属性(标签和关系)", + "add-new-label": "创建新标签", + "create-new-relation": "创建新关系", + "ribbon-tabs": "功能区标签页", + "toggle-basic-properties": "切换基本属性", + "toggle-file-properties": "切换文件属性", + "toggle-image-properties": "切换图像属性", + "toggle-owned-attributes": "切换拥有的属性", + "toggle-inherited-attributes": "切换继承的属性", + "toggle-promoted-attributes": "切换提升的属性", + "toggle-link-map": "切换链接地图", + "toggle-note-info": "切换笔记信息", + "toggle-note-paths": "切换笔记路径", + "toggle-similar-notes": "切换相似笔记", + "other": "其他", + "toggle-right-pane": "切换右侧面板的显示,包括目录和高亮", + "print-active-note": "打印活跃笔记", + "open-note-externally": "以默认应用打开笔记文件", + "render-active-note": "渲染(重新渲染)活跃笔记", + "run-active-note": "运行活跃 JavaScript(前/后端)代码笔记", + "toggle-note-hoisting": "切换活跃笔记的聚焦", + "unhoist": "从任意地方取消聚焦", + "reload-frontend-app": "重载前端应用", + "open-dev-tools": "打开开发工具", + "toggle-left-note-tree-panel": "切换左侧(笔记树)面板", + "toggle-full-screen": "切换全屏", + "zoom-out": "缩小", + "zoom-in": "放大", + "note-navigation": "笔记导航", + "reset-zoom-level": "重置缩放级别", + "copy-without-formatting": "免格式复制选定文本", + "force-save-revision": "强制创建/保存活跃笔记的新修订版本", + "show-help": "显示内置用户指南", + "toggle-book-properties": "切换书籍属性", + "toggle-classic-editor-toolbar": "为编辑器切换格式标签页的固定工具栏", + "export-as-pdf": "导出当前笔记为 PDF", + "show-cheatsheet": "显示包含常见键盘操作的弹窗", + "toggle-zen-mode": "启用/禁用禅模式(为专注编辑而精简界面)", + "open-command-palette": "打开命令面板", + "quick-search": "激活快速搜索栏", + "create-note-after": "在当前笔记之后创建新笔记", + "create-note-into": "创建活动笔记的子笔记", + "clone-notes-to": "克隆选中的笔记", + "move-notes-to": "移动选中的笔记", + "find-in-text": "切换搜索面板", + "back-in-note-history": "导航至历史记录中的上一条笔记", + "forward-in-note-history": "导航至历史记录中的下一条笔记", + "scroll-to-active-note": "滚动笔记树至活动笔记" + }, + "login": { + "title": "登录", + "heading": "Trilium 登录", + "incorrect-totp": "TOTP 不正确,请重试。", + "incorrect-password": "密码不正确,请重试。", + "password": "密码", + "remember-me": "记住我", + "button": "登录", + "sign_in_with_sso": "使用 {{ ssoIssuerName }} 登录" + }, + "set_password": { + "title": "设置密码", + "heading": "设置密码", + "description": "在您能够从网页端开始使用 Trilium 之前,您需要先设置一个密码。您之后将使用此密码登录。", + "password": "密码", + "password-confirmation": "密码确认", + "button": "设置密码" + }, + "javascript-required": "Trilium 需要启用 JavaScript。", + "setup": { + "heading": "TriliumNext 笔记设置", + "new-document": "我是新用户,我想为我的笔记创建一个新的 Trilium 文档", + "sync-from-desktop": "我已经有一个桌面实例,我想设置与它的同步", + "sync-from-server": "我已经有一个服务器实例,我想设置与它的同步", + "next": "下一步", + "init-in-progress": "文档初始化进行中", + "redirecting": "您将很快被重定向到应用程序。", + "title": "设置" + }, + "setup_sync-from-desktop": { + "heading": "从桌面同步", + "description": "此设置需要从桌面实例开始:", + "step1": "打开您的 TriliumNext 笔记桌面实例。", + "step2": "从 Trilium 菜单中,点击“选项”。", + "step3": "点击“同步”类别。", + "step4": "将服务器实例地址更改为:{{- host}} 并点击保存。", + "step5": "点击“测试同步”按钮以验证连接是否成功。", + "step6": "完成这些步骤后,点击{{- link}}。", + "step6-here": "这里" + }, + "setup_sync-from-server": { + "heading": "从服务器同步", + "instructions": "请在下面输入 Trilium 服务器地址和凭据。这将从服务器下载整个 Trilium 文档并设置与它的同步。根据文档大小和您的连接的速度,这可能需要一段时间。", + "server-host": "Trilium 服务器地址", + "server-host-placeholder": "https://<主机名称>:<端口>", + "proxy-server": "代理服务器(可选)", + "proxy-server-placeholder": "https://<主机名称>:<端口>", + "note": "注意:", + "proxy-instruction": "如果您将代理设置留空,将使用系统代理(仅适用于桌面应用)", + "password": "密码", + "password-placeholder": "密码", + "back": "返回", + "finish-setup": "完成设置" + }, + "setup_sync-in-progress": { + "heading": "同步中", + "successful": "同步已被正确设置。初始同步完成可能需要一些时间。完成后,您将被重定向到登录页面。", + "outstanding-items": "未完成的同步项目:", + "outstanding-items-default": "无" + }, + "share_404": { + "title": "未找到", + "heading": "未找到" + }, + "share_page": { + "parent": "父级:", + "clipped-from": "此笔记最初剪切自 {{- url}}", + "child-notes": "子笔记:", + "no-content": "此笔记没有内容。" + }, + "weekdays": { + "monday": "周一", + "tuesday": "周二", + "wednesday": "周三", + "thursday": "周四", + "friday": "周五", + "saturday": "周六", + "sunday": "周日" + }, + "weekdayNumber": "第 {weekNumber} 周", + "months": { + "january": "一月", + "february": "二月", + "march": "三月", + "april": "四月", + "may": "五月", + "june": "六月", + "july": "七月", + "august": "八月", + "september": "九月", + "october": "十月", + "november": "十一月", + "december": "十二月" + }, + "quarterNumber": "第 {quarterNumber} 季度", + "special_notes": { + "search_prefix": "搜索:" + }, + "test_sync": { + "not-configured": "同步服务器主机未配置。请先配置同步。", + "successful": "同步服务器握手成功,同步已开始。" + }, + "hidden-subtree": { + "root-title": "隐藏的笔记", + "search-history-title": "搜索历史", + "note-map-title": "笔记地图", + "sql-console-history-title": "SQL 控制台历史", + "shared-notes-title": "共享笔记", + "bulk-action-title": "批量操作", + "backend-log-title": "后端日志", + "user-hidden-title": "隐藏的用户", + "launch-bar-templates-title": "启动栏模板", + "base-abstract-launcher-title": "基础摘要启动器", + "command-launcher-title": "命令启动器", + "note-launcher-title": "笔记启动器", + "script-launcher-title": "脚本启动器", + "built-in-widget-title": "内置小组件", + "spacer-title": "空白占位", + "custom-widget-title": "自定义小组件", + "launch-bar-title": "启动栏", + "available-launchers-title": "可用启动器", + "go-to-previous-note-title": "跳转到上一条笔记", + "go-to-next-note-title": "跳转到下一条笔记", + "new-note-title": "新建笔记", + "search-notes-title": "搜索笔记", + "calendar-title": "日历", + "recent-changes-title": "最近更改", + "bookmarks-title": "书签", + "open-today-journal-note-title": "打开今天的日记笔记", + "quick-search-title": "快速搜索", + "protected-session-title": "受保护的会话", + "sync-status-title": "同步状态", + "settings-title": "设置", + "options-title": "选项", + "appearance-title": "外观", + "shortcuts-title": "快捷键", + "text-notes": "文本笔记", + "code-notes-title": "代码笔记", + "images-title": "图片", + "spellcheck-title": "拼写检查", + "password-title": "密码", + "multi-factor-authentication-title": "多因素认证", + "etapi-title": "ETAPI", + "backup-title": "备份", + "sync-title": "同步", + "other": "其他", + "advanced-title": "高级", + "visible-launchers-title": "可见启动器", + "user-guide": "用户指南", + "localization": "语言和区域" + }, + "notes": { + "new-note": "新建笔记", + "duplicate-note-suffix": "(重复)", + "duplicate-note-title": "{{- noteTitle }} {{ duplicateNoteSuffix }}" + }, + "backend_log": { + "log-does-not-exist": "后端日志文件 '{{ fileName }}' 暂不存在。", + "reading-log-failed": "读取后端日志文件 '{{ fileName }}' 失败。" + }, + "content_renderer": { + "note-cannot-be-displayed": "此笔记类型无法显示。" + }, + "pdf": { + "export_filter": "PDF 文档 (*.pdf)", + "unable-to-export-message": "当前笔记无法被导出为 PDF。", + "unable-to-export-title": "无法导出为 PDF", + "unable-to-save-message": "所选文件不能被写入。重试或选择另一个目的地。" + }, + "tray": { + "tooltip": "TriliumNext 笔记", + "close": "退出 Trilium", + "recents": "最近笔记", + "bookmarks": "书签", + "today": "打开今天的日记笔记", + "new-note": "新建笔记", + "show-windows": "显示窗口", + "open_new_window": "打开新窗口" + }, + "migration": { + "old_version": "由您当前版本的直接迁移不被支持。请先升级到最新的 v0.60.4 然后再到这个版本。", + "error_message": "迁移到版本 {{version}} 时发生错误: {{stack}}", + "wrong_db_version": "数据库的版本({{version}})新于应用期望的版本({{targetVersion}}),这意味着它由一个更加新的且不兼容的 Trilium 所创建。升级到最新版的 Trilium 以解决此问题。" + }, + "modals": { + "error_title": "错误" + }, + "keyboard_action_names": { + "back-in-note-history": "回到笔记历史记录", + "forward-in-note-history": "前进到笔记历史记录", + "jump-to-note": "跳转到...", + "command-palette": "命令面板", + "scroll-to-active-note": "滚动到活动笔记", + "quick-search": "快速搜索", + "search-in-subtree": "在子树中搜索", + "expand-subtree": "展开子树", + "collapse-tree": "折叠树", + "collapse-subtree": "折叠子树", + "sort-child-notes": "排序子笔记", + "create-note-after": "创建笔记后", + "create-note-into": "创建笔记到", + "create-note-into-inbox": "创建笔记到收件箱", + "delete-notes": "删除笔记", + "move-note-up": "向上移动笔记", + "move-note-down": "向下移动笔记", + "move-note-up-in-hierarchy": "在层级中向上移动笔记", + "move-note-down-in-hierarchy": "在层级中向下移动笔记", + "edit-note-title": "编辑笔记标题", + "edit-branch-prefix": "编辑分支前缀", + "clone-notes-to": "克隆笔记到", + "move-notes-to": "移动笔记到", + "copy-notes-to-clipboard": "复制笔记到剪贴板", + "paste-notes-from-clipboard": "粘贴笔记自剪贴板", + "cut-notes-to-clipboard": "剪切笔记到剪贴板", + "select-all-notes-in-parent": "选中父级中的所有笔记", + "zoom-in": "放大", + "zoom-out": "缩小", + "reset-zoom-level": "重置缩放级别", + "copy-without-formatting": "无格式复制", + "force-save-revision": "强制保存修订版本", + "add-note-above-to-selection": "在所选内容上方添加笔记", + "add-note-below-to-selection": "在所选内容下方添加笔记", + "duplicate-subtree": "复制子树", + "open-new-tab": "打开新标签页", + "close-active-tab": "关闭活动标签页", + "reopen-last-tab": "重新打开最后一个标签页", + "activate-next-tab": "激活下一个标签页", + "activate-previous-tab": "激活上一个标签页", + "open-new-window": "打开新窗口", + "toggle-system-tray-icon": "切换系统托盘图标", + "toggle-zen-mode": "切换专注模式", + "switch-to-first-tab": "切换到第一个标签页", + "switch-to-second-tab": "切换到第二个标签页", + "switch-to-third-tab": "切换到第三个标签页", + "switch-to-fourth-tab": "切换到第四个标签页", + "switch-to-fifth-tab": "切换到第五个标签页", + "switch-to-sixth-tab": "切换到第六个标签页", + "switch-to-seventh-tab": "切换到第七个标签页", + "switch-to-eighth-tab": "切换到第八个标签页", + "switch-to-ninth-tab": "切换到第九个标签页", + "switch-to-last-tab": "切换到最后一个标签页", + "show-note-source": "显示笔记源代码", + "show-options": "显示选项", + "show-revisions": "显示修订版本", + "show-recent-changes": "显示最近更改", + "show-sql-console": "显示 SQL 控制台", + "show-backend-log": "显示后端日志", + "show-help": "显示帮助", + "show-cheatsheet": "显示快捷键帮助", + "add-link-to-text": "给文本添加链接", + "follow-link-under-cursor": "点击光标处的链接", + "insert-date-and-time-to-text": "在文本中插入日期和时间", + "paste-markdown-into-text": "将 Markdown 粘贴到文本中", + "cut-into-note": "剪切到笔记中", + "add-include-note-to-text": "在文本中添加引用笔记", + "edit-read-only-note": "编辑只读笔记", + "add-new-label": "添加新标签" + } } From b2d7fbbcad364025fc33d5e0ed1b7011f6e58a27 Mon Sep 17 00:00:00 2001 From: Aitanuqui Date: Sun, 3 Aug 2025 04:49:33 +0200 Subject: [PATCH 291/505] Translated using Weblate (Spanish) Currently translated at 96.8% (366 of 378 strings) Translation: Trilium Notes/Server Translate-URL: https://hosted.weblate.org/projects/trilium/server/es/ --- .../src/assets/translations/es/server.json | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/apps/server/src/assets/translations/es/server.json b/apps/server/src/assets/translations/es/server.json index 188a1da46..b069bcd40 100644 --- a/apps/server/src/assets/translations/es/server.json +++ b/apps/server/src/assets/translations/es/server.json @@ -373,7 +373,24 @@ "zoom-in": "Acercar", "zoom-out": "Alejar", "toggle-full-screen": "Activar/desactivar pantalla completa", - "toggle-left-pane": "Abrir/cerrar panel izquierdo" + "toggle-left-pane": "Abrir/cerrar panel izquierdo", + "toggle-right-pane": "Mostrar/ocultar panel derecho", + "unhoist-note": "Desanclar nota", + "toggle-note-hoisting": "Activar/desactivar anclaje de nota", + "show-cheatsheet": "Mostrar hoja de referencia", + "follow-link-under-cursor": "Seguir enlace bajo cursor", + "reload-frontend-app": "Recargar aplicación del cliente", + "run-active-note": "Ejecutar nota activa", + "render-active-note": "Generar nota activa", + "back-in-note-history": "Anterior en el historial de notas", + "forward-in-note-history": "Posterior en el historial de notas", + "cut-notes-to-clipboard": "Cortar notas al portapapeles", + "select-all-notes-in-parent": "Seleccionar todas las notas en padre", + "show-backend-log": "Mostrar registro del servidor", + "paste-markdown-into-text": "Pegar Markdown en el texto", + "cut-into-note": "Cortar en la nota", + "add-include-note-to-text": "Agregar nota incluida al texto", + "force-save-revision": "Forzar guardado de revisión" }, "hidden_subtree_templates": { "board_note_first": "Primera nota", @@ -385,6 +402,17 @@ "list-view": "Vista de lista", "grid-view": "Vista de cuadrícula", "status": "Estado", - "table": "Tabla" + "table": "Tabla", + "text-snippet": "Fragmento de texto", + "geo-map": "Mapa Geo", + "start-date": "Fecha de inicio", + "end-date": "Fecha de finalización", + "start-time": "Hora de inicio", + "end-time": "Hora de finalización", + "geolocation": "Geolocalización", + "built-in-templates": "Plantillas predefinidas", + "board_status_todo": "Por hacer", + "board_status_done": "Hecho", + "board": "Tablero" } } From 5d55b0b0a82249122683cd97cdbf9624dc516f33 Mon Sep 17 00:00:00 2001 From: liqiuchen1988 <629266341@qq.com> Date: Sun, 3 Aug 2025 11:22:35 +0200 Subject: [PATCH 292/505] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 84.6% (1320 of 1559 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/zh_Hans/ --- apps/client/src/translations/cn/translation.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index 6a9bcf1e3..e231d95e9 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -234,7 +234,8 @@ "modal_title": "选择笔记类型", "close": "关闭", "modal_body": "选择新笔记的类型或模板:", - "templates": "模板:" + "templates": "模板:", + "change_path_prompt": "更改新笔记的创建位置:" }, "password_not_set": { "title": "密码未设置", From f9c7c5637b01b2f760f1c77cbfe9dcfddd4b0b3f Mon Sep 17 00:00:00 2001 From: liqiuchen1988 <629266341@qq.com> Date: Sun, 3 Aug 2025 11:16:14 +0200 Subject: [PATCH 293/505] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (378 of 378 strings) Translation: Trilium Notes/Server Translate-URL: https://hosted.weblate.org/projects/trilium/server/zh_Hans/ --- .../src/assets/translations/cn/server.json | 66 ++++++++++++++++++- 1 file changed, 64 insertions(+), 2 deletions(-) diff --git a/apps/server/src/assets/translations/cn/server.json b/apps/server/src/assets/translations/cn/server.json index 19d6ddb48..7001b86f5 100644 --- a/apps/server/src/assets/translations/cn/server.json +++ b/apps/server/src/assets/translations/cn/server.json @@ -254,7 +254,11 @@ "advanced-title": "高级", "visible-launchers-title": "可见启动器", "user-guide": "用户指南", - "localization": "语言和区域" + "localization": "语言和区域", + "jump-to-note-title": "跳转到……", + "llm-chat-title": "与笔记对话", + "ai-llm-title": "AI/LLM", + "inbox-title": "收件箱" }, "notes": { "new-note": "新建笔记", @@ -361,6 +365,64 @@ "cut-into-note": "剪切到笔记中", "add-include-note-to-text": "在文本中添加引用笔记", "edit-read-only-note": "编辑只读笔记", - "add-new-label": "添加新标签" + "add-new-label": "添加新标签", + "add-new-relation": "添加新关联", + "toggle-ribbon-tab-classic-editor": "切换功能区选项卡至经典编辑器模式", + "toggle-ribbon-tab-basic-properties": "切换功能区选项卡基本属性", + "toggle-ribbon-tab-book-properties": "切换功能区选项卡书籍属性", + "toggle-ribbon-tab-file-properties": "切换功能区选项卡文件属性", + "toggle-ribbon-tab-image-properties": "切换功能区选项卡图片属性", + "toggle-ribbon-tab-owned-attributes": "切换功能区选项卡自有属性", + "toggle-ribbon-tab-inherited-attributes": "切换功能区选项卡继承属性", + "toggle-ribbon-tab-promoted-attributes": "切换功能区选项卡突出显示属性", + "toggle-ribbon-tab-note-map": "切换功能区选项卡笔记地图", + "toggle-ribbon-tab-note-info": "切换功能区选项卡笔记信息", + "toggle-ribbon-tab-note-paths": "切换功能区选项卡笔记路径", + "toggle-ribbon-tab-similar-notes": "切换功能区选项卡相似笔记", + "toggle-right-pane": "切换右侧窗格", + "print-active-note": "打印当前笔记", + "export-active-note-as-pdf": "导出当前笔记为 PDF 格式", + "open-note-externally": "用外部程序打开笔记", + "render-active-note": "渲染当前笔记", + "run-active-note": "运行当前笔记", + "toggle-note-hoisting": "切换笔记提升显示", + "unhoist-note": "取消笔记提升", + "reload-frontend-app": "重新加载前端应用", + "open-developer-tools": "打开开发者工具", + "find-in-text": "在文本中查找", + "toggle-left-pane": "切换左侧窗格", + "toggle-full-screen": "切换全屏模式" + }, + "share_theme": { + "site-theme": "网站主题", + "search_placeholder": "搜索……", + "image_alt": "文稿图片", + "last-updated": "最后更新于 {{- date}}", + "subpages": "子页面:", + "on-this-page": "本页内容", + "expand": "展开" + }, + "hidden_subtree_templates": { + "text-snippet": "文本片段", + "description": "描述", + "list-view": "列表视图", + "grid-view": "网格视图", + "calendar": "日历", + "table": "表格", + "geo-map": "地理地图", + "start-date": "开始日期", + "end-date": "结束日期", + "start-time": "开始时间", + "end-time": "结束时间", + "geolocation": "地理位置", + "built-in-templates": "内置模板", + "board": "看板", + "status": "状态", + "board_note_first": "第一条笔记", + "board_note_second": "第二条笔记", + "board_note_third": "第三条笔记", + "board_status_todo": "待办事项", + "board_status_progress": "进行中", + "board_status_done": "已完成" } } From 77818d54536a992dcefa6f27c93bb7c7523e22cf Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 3 Aug 2025 17:23:47 +0300 Subject: [PATCH 294/505] feat(react): port markdown_import partially --- .../src/widgets/dialogs/markdown_import.ts | 106 ------------------ .../src/widgets/dialogs/markdown_import.tsx | 82 ++++++++++++++ apps/client/src/widgets/react/Modal.tsx | 9 +- 3 files changed, 90 insertions(+), 107 deletions(-) delete mode 100644 apps/client/src/widgets/dialogs/markdown_import.ts create mode 100644 apps/client/src/widgets/dialogs/markdown_import.tsx diff --git a/apps/client/src/widgets/dialogs/markdown_import.ts b/apps/client/src/widgets/dialogs/markdown_import.ts deleted file mode 100644 index 40af0c84a..000000000 --- a/apps/client/src/widgets/dialogs/markdown_import.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { t } from "../../services/i18n.js"; -import toastService from "../../services/toast.js"; -import utils from "../../services/utils.js"; -import appContext from "../../components/app_context.js"; -import BasicWidget from "../basic_widget.js"; -import shortcutService from "../../services/shortcuts.js"; -import server from "../../services/server.js"; -import { Modal } from "bootstrap"; -import { openDialog } from "../../services/dialog.js"; - -const TPL = /*html*/` -`; - -interface RenderMarkdownResponse { - htmlContent: string; -} - -export default class MarkdownImportDialog extends BasicWidget { - - private lastOpenedTs: number; - private modal!: bootstrap.Modal; - private $importTextarea!: JQuery; - private $importButton!: JQuery; - - constructor() { - super(); - - this.lastOpenedTs = 0; - } - - doRender() { - this.$widget = $(TPL); - this.modal = Modal.getOrCreateInstance(this.$widget[0]); - this.$importTextarea = this.$widget.find(".markdown-import-textarea"); - this.$importButton = this.$widget.find(".markdown-import-button"); - - this.$importButton.on("click", () => this.sendForm()); - - this.$widget.on("shown.bs.modal", () => this.$importTextarea.trigger("focus")); - - shortcutService.bindElShortcut(this.$widget, "ctrl+return", () => this.sendForm()); - } - - async convertMarkdownToHtml(markdownContent: string) { - const { htmlContent } = await server.post("other/render-markdown", { markdownContent }); - - const textEditor = await appContext.tabManager.getActiveContext()?.getTextEditor(); - if (!textEditor) { - return; - } - - const viewFragment = textEditor.data.processor.toView(htmlContent); - const modelFragment = textEditor.data.toModel(viewFragment); - - textEditor.model.insertContent(modelFragment, textEditor.model.document.selection); - textEditor.editing.view.focus(); - - toastService.showMessage(t("markdown_import.import_success")); - } - - async pasteMarkdownIntoTextEvent() { - await this.importMarkdownInlineEvent(); // BC with keyboard shortcuts command - } - - async importMarkdownInlineEvent() { - if (appContext.tabManager.getActiveContextNoteType() !== "text") { - return; - } - - if (utils.isElectron()) { - const { clipboard } = utils.dynamicRequire("electron"); - const text = clipboard.readText(); - - this.convertMarkdownToHtml(text); - } else { - openDialog(this.$widget); - } - } - - async sendForm() { - const text = String(this.$importTextarea.val()); - - this.modal.hide(); - - await this.convertMarkdownToHtml(text); - - this.$importTextarea.val(""); - } -} diff --git a/apps/client/src/widgets/dialogs/markdown_import.tsx b/apps/client/src/widgets/dialogs/markdown_import.tsx new file mode 100644 index 000000000..08054861c --- /dev/null +++ b/apps/client/src/widgets/dialogs/markdown_import.tsx @@ -0,0 +1,82 @@ +import { useRef, useState } from "preact/compat"; +import appContext from "../../components/app_context"; +import { closeActiveDialog, openDialog } from "../../services/dialog"; +import { t } from "../../services/i18n"; +import server from "../../services/server"; +import toast from "../../services/toast"; +import utils from "../../services/utils"; +import Modal from "../react/Modal"; +import ReactBasicWidget from "../react/ReactBasicWidget"; + +interface RenderMarkdownResponse { + htmlContent: string; +} + +function MarkdownImportDialogComponent() { + const markdownImportTextArea = useRef(null); + let [ text, setText ] = useState(""); + + async function sendForm() { + await convertMarkdownToHtml(text); + setText(""); + closeActiveDialog(); + } + + return ( + {t("markdown_import.import_button")}} + onShown={() => markdownImportTextArea.current?.focus()} + > +

{t("markdown_import.modal_body_text")}

+ +
+ ) +} + +export default class MarkdownImportDialog extends ReactBasicWidget { + + get component() { + return ; + } + + async importMarkdownInlineEvent() { + if (appContext.tabManager.getActiveContextNoteType() !== "text") { + return; + } + + if (utils.isElectron()) { + const { clipboard } = utils.dynamicRequire("electron"); + const text = clipboard.readText(); + + convertMarkdownToHtml(text); + } else { + openDialog(this.$widget); + } + } + + async pasteMarkdownIntoTextEvent() { + // BC with keyboard shortcuts command + await this.importMarkdownInlineEvent(); + } + +} + +async function convertMarkdownToHtml(markdownContent: string) { + const { htmlContent } = await server.post("other/render-markdown", { markdownContent }); + + const textEditor = await appContext.tabManager.getActiveContext()?.getTextEditor(); + if (!textEditor) { + return; + } + + const viewFragment = textEditor.data.processor.toView(htmlContent); + const modelFragment = textEditor.data.toModel(viewFragment); + + textEditor.model.insertContent(modelFragment, textEditor.model.document.selection); + textEditor.editing.view.focus(); + + toast.showMessage(t("markdown_import.import_success")); +} \ No newline at end of file diff --git a/apps/client/src/widgets/react/Modal.tsx b/apps/client/src/widgets/react/Modal.tsx index 1522a3947..0ffceb112 100644 --- a/apps/client/src/widgets/react/Modal.tsx +++ b/apps/client/src/widgets/react/Modal.tsx @@ -7,10 +7,11 @@ interface ModalProps { title: string; size: "lg" | "sm"; children: ComponentChildren; + footer?: ComponentChildren; onShown?: () => void; } -export default function Modal({ children, className, size, title, onShown }: ModalProps) { +export default function Modal({ children, className, size, title, footer, onShown }: ModalProps) { const modalRef = useRef(null); if (onShown) { @@ -34,6 +35,12 @@ export default function Modal({ children, className, size, title, onShown }: Mod
{children}
+ + {footer && ( +
+ {footer} +
+ )}
From 1229c26098d86158aa2e5ed82559aafbff928c95 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 3 Aug 2025 19:06:21 +0300 Subject: [PATCH 295/505] chore(react): add back Ctrl+Enter for markdown import --- .../src/translations/cn/translation.json | 3440 +++++++------- .../src/translations/de/translation.json | 3302 +++++++------- .../src/translations/en/translation.json | 2 +- .../src/translations/es/translation.json | 3888 ++++++++-------- .../src/translations/fr/translation.json | 3334 +++++++------- .../src/translations/ro/translation.json | 4030 ++++++++--------- .../src/translations/sr/translation.json | 750 +-- .../src/translations/tw/translation.json | 3088 ++++++------- .../src/widgets/dialogs/markdown_import.tsx | 11 +- apps/client/src/widgets/react/Button.tsx | 37 + 10 files changed, 10963 insertions(+), 10919 deletions(-) create mode 100644 apps/client/src/widgets/react/Button.tsx diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index 6a9bcf1e3..fbfd09282 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -1,1723 +1,1723 @@ { - "about": { - "title": "关于 Trilium Notes", - "close": "关闭", - "homepage": "项目主页:", - "app_version": "应用版本:", - "db_version": "数据库版本:", - "sync_version": "同步版本:", - "build_date": "编译日期:", - "build_revision": "编译版本:", - "data_directory": "数据目录:" - }, - "toast": { - "critical-error": { - "title": "严重错误", - "message": "发生了严重错误,导致客户端应用程序无法启动:\n\n{{message}}\n\n这很可能是由于脚本以意外的方式失败引起的。请尝试以安全模式启动应用程序并解决问题。" - }, - "widget-error": { - "title": "小部件初始化失败", - "message-custom": "来自 ID 为 \"{{id}}\"、标题为 \"{{title}}\" 的笔记的自定义小部件因以下原因无法初始化:\n\n{{message}}", - "message-unknown": "未知小部件因以下原因无法初始化:\n\n{{message}}" - }, - "bundle-error": { - "title": "加载自定义脚本失败", - "message": "来自 ID 为 \"{{id}}\"、标题为 \"{{title}}\" 的笔记的脚本因以下原因无法执行:\n\n{{message}}" - } - }, - "add_link": { - "add_link": "添加链接", - "help_on_links": "链接帮助", - "close": "关闭", - "note": "笔记", - "search_note": "按名称搜索笔记", - "link_title_mirrors": "链接标题跟随笔记标题变化", - "link_title_arbitrary": "链接标题可随意修改", - "link_title": "链接标题", - "button_add_link": "添加链接 回车" - }, - "branch_prefix": { - "edit_branch_prefix": "编辑分支前缀", - "help_on_tree_prefix": "有关树前缀的帮助", - "close": "关闭", - "prefix": "前缀:", - "save": "保存", - "branch_prefix_saved": "分支前缀已保存。" - }, - "bulk_actions": { - "bulk_actions": "批量操作", - "close": "关闭", - "affected_notes": "受影响的笔记", - "include_descendants": "包括所选笔记的子笔记", - "available_actions": "可用操作", - "chosen_actions": "选择的操作", - "execute_bulk_actions": "执行批量操作", - "bulk_actions_executed": "批量操作已成功执行。", - "none_yet": "暂无操作 ... 通过点击上方的可用操作添加一个操作。", - "labels": "标签", - "relations": "关联关系", - "notes": "笔记", - "other": "其它" - }, - "clone_to": { - "clone_notes_to": "克隆笔记到...", - "close": "关闭", - "help_on_links": "链接帮助", - "notes_to_clone": "要克隆的笔记", - "target_parent_note": "目标父笔记", - "search_for_note_by_its_name": "按名称搜索笔记", - "cloned_note_prefix_title": "克隆的笔记将在笔记树中显示给定的前缀", - "prefix_optional": "前缀(可选)", - "clone_to_selected_note": "克隆到选定的笔记 回车", - "no_path_to_clone_to": "没有克隆路径。", - "note_cloned": "笔记 \"{{clonedTitle}}\" 已克隆到 \"{{targetTitle}}\"" - }, - "confirm": { - "confirmation": "确认", - "close": "关闭", - "cancel": "取消", - "ok": "确定", - "are_you_sure_remove_note": "确定要从关系图中移除笔记 \"{{title}}\" ?", - "if_you_dont_check": "如果不选中此项,笔记将仅从关系图中移除。", - "also_delete_note": "同时删除笔记" - }, - "delete_notes": { - "delete_notes_preview": "删除笔记预览", - "close": "关闭", - "delete_all_clones_description": "同时删除所有克隆(可以在最近修改中撤消)", - "erase_notes_description": "通常(软)删除仅标记笔记为已删除,可以在一段时间内通过最近修改对话框撤消。选中此选项将立即擦除笔记,不可撤销。", - "erase_notes_warning": "永久擦除笔记(无法撤销),包括所有克隆。这将强制应用程序重载。", - "notes_to_be_deleted": "将删除以下笔记 ({{- noteCount}})", - "no_note_to_delete": "没有笔记将被删除(仅克隆)。", - "broken_relations_to_be_deleted": "将删除以下关系并断开连接 ({{- relationCount}})", - "cancel": "取消", - "ok": "确定", - "deleted_relation_text": "笔记 {{- note}} (将被删除的笔记) 被以下关系 {{- relation}} 引用, 来自 {{- source}}。" - }, - "export": { - "export_note_title": "导出笔记", - "close": "关闭", - "export_type_subtree": "此笔记及其所有子笔记", - "format_html": "HTML - 推荐,因为它保留所有格式", - "format_html_zip": "HTML ZIP 归档 - 建议使用此选项,因为它保留了所有格式。", - "format_markdown": "Markdown - 保留大部分格式。", - "format_opml": "OPML - 大纲交换格式,仅限文本。不包括格式、图像和文件。", - "opml_version_1": "OPML v1.0 - 仅限纯文本", - "opml_version_2": "OPML v2.0 - 还允许 HTML", - "export_type_single": "仅此笔记,不包括子笔记", - "export": "导出", - "choose_export_type": "请先选择导出类型", - "export_status": "导出状态", - "export_in_progress": "导出进行中:{{progressCount}}", - "export_finished_successfully": "导出成功完成。", - "format_pdf": "PDF - 用于打印或共享目的。" - }, - "help": { - "fullDocumentation": "帮助(完整在线文档)", - "close": "关闭", - "noteNavigation": "笔记导航", - "goUpDown": "UP, DOWN - 在笔记列表中向上/向下移动", - "collapseExpand": "LEFT, RIGHT - 折叠/展开节点", - "notSet": "未设置", - "goBackForwards": "在历史记录中前后移动", - "showJumpToNoteDialog": "显示\"跳转到\" 对话框", - "scrollToActiveNote": "滚动到活跃笔记", - "jumpToParentNote": "Backspace - 跳转到父笔记", - "collapseWholeTree": "折叠整个笔记树", - "collapseSubTree": "折叠子树", - "tabShortcuts": "标签页快捷键", - "newTabNoteLink": "CTRL+click - 在笔记链接上使用CTRL+点击(或中键点击)在新标签页中打开笔记", - "onlyInDesktop": "仅在桌面版(电子构建)中", - "openEmptyTab": "打开空白标签页", - "closeActiveTab": "关闭活跃标签页", - "activateNextTab": "激活下一个标签页", - "activatePreviousTab": "激活上一个标签页", - "creatingNotes": "创建笔记", - "createNoteAfter": "在活跃笔记后创建新笔记", - "createNoteInto": "在活跃笔记中创建新子笔记", - "editBranchPrefix": "编辑活跃笔记克隆的前缀", - "movingCloningNotes": "移动/克隆笔记", - "moveNoteUpDown": "在笔记列表中向上/向下移动笔记", - "moveNoteUpHierarchy": "在层级结构中向上移动笔记", - "multiSelectNote": "多选上/下笔记", - "selectAllNotes": "选择当前级别的所有笔记", - "selectNote": "Shift+click - 选择笔记", - "copyNotes": "将活跃笔记(或当前选择)复制到剪贴板(用于克隆)", - "cutNotes": "将当前笔记(或当前选择)剪切到剪贴板(用于移动笔记)", - "pasteNotes": "将笔记粘贴为活跃笔记的子笔记(根据是复制还是剪切到剪贴板来决定是移动还是克隆)", - "deleteNotes": "删除笔记/子树", - "editingNotes": "编辑笔记", - "editNoteTitle": "在树形笔记树中,焦点会从笔记树切换到笔记标题。按下 Enter 键会将焦点从笔记标题切换到文本编辑器。按下 Ctrl+. 会将焦点从编辑器切换回笔记树。", - "createEditLink": "Ctrl+K - 创建/编辑外部链接", - "createInternalLink": "创建内部链接", - "followLink": "跟随光标下的链接", - "insertDateTime": "在插入点插入当前日期和时间", - "jumpToTreePane": "跳转到树面板并滚动到活跃笔记", - "markdownAutoformat": "类 Markdown 自动格式化", - "headings": "##, ###, #### 等,后跟空格,自动转换为标题", - "bulletList": "*- 后跟空格,自动转换为项目符号列表", - "numberedList": "1. or 1) 后跟空格,自动转换为编号列表", - "blockQuote": "一行以 > 开头并后跟空格,自动转换为块引用", - "troubleshooting": "故障排除", - "reloadFrontend": "重载 Trilium 前端", - "showDevTools": "显示开发者工具", - "showSQLConsole": "显示 SQL 控制台", - "other": "其他", - "quickSearch": "定位到快速搜索框", - "inPageSearch": "页面内搜索" - }, - "import": { - "importIntoNote": "导入到笔记", - "close": "关闭", - "chooseImportFile": "选择导入文件", - "importDescription": "所选文件的内容将作为子笔记导入到", - "options": "选项", - "safeImportTooltip": "Trilium .zip 导出文件可能包含可能有害的可执行脚本。安全导入将停用所有导入脚本的自动执行。仅当您完全信任导入的可执行脚本的内容时,才取消选中“安全导入”。", - "safeImport": "安全导入", - "explodeArchivesTooltip": "如果选中此项,则Trilium将读取.zip.enex.opml文件,并从这些归档文件内部的文件创建笔记。如果未选中,则Trilium会将这些归档文件本身附加到笔记中。", - "explodeArchives": "读取.zip.enex.opml归档文件的内容。", - "shrinkImagesTooltip": "

如果选中此选项,Trilium将尝试通过缩放和优化来缩小导入的图像,这可能会影响图像的感知质量。如果未选中,图像将不做修改地导入。

这不适用于带有元数据的.zip导入,因为这些文件已被假定为已优化。

", - "shrinkImages": "压缩图像", - "textImportedAsText": "如果元数据不明确,将 HTML、Markdown 和 TXT 导入为文本笔记", - "codeImportedAsCode": "如果元数据不明确,将识别的代码文件(例如.json)导入为代码笔记", - "replaceUnderscoresWithSpaces": "在导入的笔记名称中将下划线替换为空格", - "import": "导入", - "failed": "导入失败: {{message}}.", - "html_import_tags": { - "title": "HTML 导入标签", - "description": "配置在导入笔记时应保留的 HTML 标签。不在此列表中的标签将在导入过程中被移除。一些标签(例如 'script')为了安全性会始终被移除。", - "placeholder": "输入 HTML 标签,每行一个", - "reset_button": "重置为默认列表" - }, - "import-status": "导入状态", - "in-progress": "导入进行中:{{progress}}", - "successful": "导入成功完成。" - }, - "include_note": { - "dialog_title": "包含笔记", - "close": "关闭", - "label_note": "笔记", - "placeholder_search": "按名称搜索笔记", - "box_size_prompt": "包含笔记的框大小:", - "box_size_small": "小型 (显示大约10行)", - "box_size_medium": "中型 (显示大约30行)", - "box_size_full": "完整显示(完整文本框)", - "button_include": "包含笔记 回车" - }, - "info": { - "modalTitle": "信息消息", - "closeButton": "关闭", - "okButton": "确定" - }, - "jump_to_note": { - "close": "关闭", - "search_button": "全文搜索 Ctrl+回车" - }, - "markdown_import": { - "dialog_title": "Markdown 导入", - "close": "关闭", - "modal_body_text": "由于浏览器沙箱的限制,无法直接从 JavaScript 读取剪贴板内容。请将要导入的 Markdown 文本粘贴到下面的文本框中,然后点击导入按钮", - "import_button": "导入 Ctrl+回车", - "import_success": "Markdown 内容已成功导入文档。" - }, - "move_to": { - "dialog_title": "移动笔记到...", - "close": "关闭", - "notes_to_move": "需要移动的笔记", - "target_parent_note": "目标父笔记", - "search_placeholder": "通过名称搜索笔记", - "move_button": "移动到选定的笔记 回车", - "error_no_path": "没有可以移动到的路径。", - "move_success_message": "所选笔记已移动到" - }, - "note_type_chooser": { - "modal_title": "选择笔记类型", - "close": "关闭", - "modal_body": "选择新笔记的类型或模板:", - "templates": "模板:" - }, - "password_not_set": { - "title": "密码未设置", - "close": "关闭", - "body1": "受保护的笔记使用用户密码加密,但密码尚未设置。", - "body2": "点击这里打开选项对话框并设置您的密码。" - }, - "prompt": { - "title": "提示", - "close": "关闭", - "ok": "确定 回车", - "defaultTitle": "提示" - }, - "protected_session_password": { - "modal_title": "保护会话", - "help_title": "关于保护笔记的帮助", - "close_label": "关闭", - "form_label": "输入密码进入保护会话以继续:", - "start_button": "开始保护会话 回车" - }, - "recent_changes": { - "title": "最近修改", - "erase_notes_button": "立即清理已删除的笔记", - "close": "关闭", - "deleted_notes_message": "已删除的笔记已清理。", - "no_changes_message": "暂无修改...", - "undelete_link": "恢复删除", - "confirm_undelete": "您确定要恢复此笔记及其子笔记吗?" - }, - "revisions": { - "note_revisions": "笔记历史版本", - "delete_all_revisions": "删除此笔记的所有修订版本", - "delete_all_button": "删除所有修订版本", - "help_title": "关于笔记修订版本的帮助", - "close": "关闭", - "revision_last_edited": "此修订版本上次编辑于 {{date}}", - "confirm_delete_all": "您是否要删除此笔记的所有修订版本?", - "no_revisions": "此笔记暂无修订版本...", - "restore_button": "恢复", - "confirm_restore": "您是否要恢复此修订版本?这将使用此修订版本覆盖笔记的当前标题和内容。", - "delete_button": "删除", - "confirm_delete": "您是否要删除此修订版本?", - "revisions_deleted": "笔记修订版本已删除。", - "revision_restored": "笔记修订版本已恢复。", - "revision_deleted": "笔记修订版本已删除。", - "snapshot_interval": "笔记快照保存间隔: {{seconds}}秒。", - "maximum_revisions": "当前笔记的最大历史数量: {{number}}。", - "settings": "笔记修订设置", - "download_button": "下载", - "mime": "MIME 类型:", - "file_size": "文件大小:", - "preview": "预览:", - "preview_not_available": "无法预览此类型的笔记。" - }, - "sort_child_notes": { - "sort_children_by": "按...排序子笔记", - "close": "关闭", - "sorting_criteria": "排序条件", - "title": "标题", - "date_created": "创建日期", - "date_modified": "修改日期", - "sorting_direction": "排序方向", - "ascending": "升序", - "descending": "降序", - "folders": "文件夹", - "sort_folders_at_top": "将文件夹置顶排序", - "natural_sort": "自然排序", - "sort_with_respect_to_different_character_sorting": "根据不同语言或地区的字符排序和排序规则排序。", - "natural_sort_language": "自然排序语言", - "the_language_code_for_natural_sort": "自然排序的语言代码,例如中文的 \"zh-CN\"。", - "sort": "排序 Enter" - }, - "upload_attachments": { - "upload_attachments_to_note": "上传附件到笔记", - "close": "关闭", - "choose_files": "选择文件", - "files_will_be_uploaded": "文件将作为附件上传到", - "options": "选项", - "shrink_images": "缩小图片", - "upload": "上传", - "tooltip": "如果您勾选此选项,Trilium 将尝试通过缩放和优化来缩小上传的图像,这可能会影响感知的图像质量。如果未选中,则将以不进行修改的方式上传图像。" - }, - "attribute_detail": { - "attr_detail_title": "属性详情标题", - "close_button_title": "取消修改并关闭", - "attr_is_owned_by": "属性所有者", - "attr_name_title": "属性名称只能由字母数字字符、冒号和下划线组成", - "name": "名称", - "value": "值", - "target_note_title": "关系是源笔记和目标笔记之间的命名连接。", - "target_note": "目标笔记", - "promoted_title": "升级属性在笔记上突出显示。", - "promoted": "升级", - "promoted_alias_title": "在升级属性界面中显示的名称。", - "promoted_alias": "别名", - "multiplicity_title": "多重性定义了可以创建的含有相同名称的属性的数量 - 最多为1或多于1。", - "multiplicity": "多重性", - "single_value": "单值", - "multi_value": "多值", - "label_type_title": "标签类型将帮助 Trilium 选择适合的界面来输入标签值。", - "label_type": "类型", - "text": "文本", - "number": "数字", - "boolean": "布尔值", - "date": "日期", - "date_time": "日期和时间", - "time": "时间", - "url": "网址", - "precision_title": "值设置界面中浮点数后的位数。", - "precision": "精度", - "digits": "位数", - "inverse_relation_title": "可选设置,定义此关系与哪个关系相反。例如:父 - 子是彼此的反向关系。", - "inverse_relation": "反向关系", - "inheritable_title": "可继承属性将被继承到此树下的所有后代。", - "inheritable": "可继承", - "save_and_close": "保存并关闭 Ctrl+回车", - "delete": "删除", - "related_notes_title": "含有此标签的其他笔记", - "more_notes": "更多笔记", - "label": "标签详情", - "label_definition": "标签定义详情", - "relation": "关系详情", - "relation_definition": "关系定义详情", - "disable_versioning": "禁用自动版本控制。适用于例如大型但不重要的笔记 - 例如用于脚本编写的大型JS库", - "calendar_root": "标记应用作为每日笔记的根。只应标记一个笔记。", - "archived": "含有此标签的笔记默认在搜索结果中不可见(也适用于跳转到、添加链接对话框等)。", - "exclude_from_export": "笔记(及其子树)不会包含在任何笔记导出中", - "run": "定义脚本应运行的事件。可能的值包括:\n
    \n
  • frontendStartup - Trilium前端启动时(或刷新时),但不会在移动端执行。
  • \n
  • mobileStartup - Trilium前端启动时(或刷新时), 在移动端会执行。
  • \n
  • backendStartup - Trilium后端启动时
  • \n
  • hourly - 每小时运行一次。您可以使用附加标签runAtHour指定小时。
  • \n
  • daily - 每天运行一次
  • \n
", - "run_on_instance": "定义应在哪个Trilium实例上运行。默认为所有实例。", - "run_at_hour": "应在哪个小时运行。应与#run=hourly一起使用。可以多次定义,以便一天内运行多次。", - "disable_inclusion": "含有此标签的脚本不会包含在父脚本执行中。", - "sorted": "按标题字母顺序保持子笔记排序", - "sort_direction": "ASC(默认)或DESC", - "sort_folders_first": "文件夹(含有子笔记的笔记)应排在顶部", - "top": "在其父级中保留给定笔记在顶部(仅适用于排序的父级)", - "hide_promoted_attributes": "隐藏此笔记上的升级属性", - "read_only": "编辑器处于只读模式。仅适用于文本和代码笔记。", - "auto_read_only_disabled": "文本/代码笔记可以在太大时自动设置为只读模式。您可以通过向笔记添加此标签来对单个笔记单独设置禁用只读。", - "app_css": "标记加载到 Trilium 应用程序中的 CSS 笔记,因此可以用于修改 Trilium 的外观。", - "app_theme": "标记为完整的 Trilium 主题的 CSS 笔记,因此可以在 Trilium 选项中使用。", - "app_theme_base": "设置为“next”,以便使用 TriliumNext 主题而不是旧主题作为自定义主题的基础。", - "css_class": "该标签的值将作为 CSS 类添加到树中表示给定笔记的节点。这对于高级主题设置非常有用。可用于模板笔记。", - "icon_class": "该标签的值将作为 CSS 类添加到树中图标上,有助于从视觉上区分笔记树里的笔记。比如可以是 bx bx-home - 图标来自 boxicons。可用于模板笔记。", - "page_size": "笔记列表中每页的项目数", - "custom_request_handler": "请参阅自定义请求处理程序", - "custom_resource_provider": "请参阅自定义请求处理程序", - "widget": "将此笔记标记为将添加到 Trilium 组件树中的自定义小部件", - "workspace": "将此笔记标记为允许轻松聚焦的工作区", - "workspace_icon_class": "定义在选项卡中聚焦到此笔记时将使用的框图图标 CSS 类", - "workspace_tab_background_color": "聚焦到此笔记时在笔记标签页中使用的 CSS 颜色", - "workspace_calendar_root": "定义每个工作区的日历根", - "workspace_template": "在创建新笔记时,此笔记将出现在可用模板的选择中,但仅当聚焦到包含此模板的工作区时", - "search_home": "新的搜索笔记将作为此笔记的子笔记创建", - "workspace_search_home": "当聚焦到此工作区笔记的某个上级笔记时,新的搜索笔记将作为此笔记的子笔记创建", - "inbox": "使用侧边栏中的“新建笔记”按钮创建笔记时,默认收件箱位置。笔记将作为标有 #inbox 标签的笔记的子笔记创建。", - "workspace_inbox": "当聚焦到此工作区笔记的某个上级笔记时,新的笔记的默认收件箱位置", - "sql_console_home": "SQL 控制台笔记的默认位置", - "bookmark_folder": "含有此标签的笔记将作为文件夹出现在书签中(允许访问其子笔记)", - "share_hidden_from_tree": "此笔记从左侧导航树中隐藏,但仍可通过其 URL 访问", - "share_external_link": "笔记将在分享树中作为指向外部网站的链接", - "share_alias": "使用此别名定义将在 https://您的trilium域名/share/[别名] 下可用的笔记", - "share_omit_default_css": "将省略默认的分享页面 CSS。当您进行广泛的样式修改时使用。", - "share_root": "标记作为在 /share 地址分享的根节点笔记。", - "share_description": "定义要添加到 HTML meta 标签以供描述的文本", - "share_raw": "笔记将以其原始格式提供,不带 HTML 包装器", - "share_disallow_robot_indexing": "将通过 X-Robots-Tag: noindex 标头禁止爬虫机器人索引此笔记", - "share_credentials": "需要凭据才能访问此分享笔记。值应以 'username:password' 格式提供。请勿忘记使其可继承以应用于子笔记/图像。", - "share_index": "含有此标签的笔记将列出所有分享笔记的根", - "display_relations": "应显示的逗号分隔关系名称。将隐藏所有其他关系。", - "hide_relations": "应隐藏的逗号分隔关系名称。将显示所有其他关系。", - "title_template": "创建为此笔记的子笔记时的默认标题。该值将作为 JavaScript 字符串评估\n 并因此可以通过注入的 nowparentNote 变量丰富动态内容。示例:\n \n
    \n
  • ${parentNote.getLabelValue('authorName')} 的文学作品
  • \n
  • ${now.format('YYYY-MM-DD HH:mm:ss')} 的日志
  • \n
\n \n 有关详细信息,请参见含有详细信息的 wikiparentNotenow 的 API 文档以获取详情。", - "template": "此笔记在创建新笔记时,将出现在可用模板的可选列表中", - "toc": "#toc#toc=show 将强制显示目录。#toc=hide 将强制隐藏它。如果标签不存在,则遵守全局设置", - "color": "定义笔记树、链接等中笔记的颜色。使用任何有效的 CSS 颜色值,如 'red' 或 #a13d5f", - "keyboard_shortcut": "定义立即跳转到此笔记的键盘快捷键。示例:'ctrl+alt+e'。需要前端重载才能生效。", - "keep_current_hoisting": "即使笔记不在当前聚焦的子树中显示,打开此链接也不会改变聚焦。", - "execute_button": "将执行当前代码笔记的按钮标题", - "execute_description": "显示与执行按钮一起显示的当前代码笔记的更长描述", - "exclude_from_note_map": "含有此标签的笔记将从笔记地图中隐藏", - "new_notes_on_top": "新笔记将创建在父笔记的顶部,而不是底部。", - "hide_highlight_widget": "隐藏高亮列表小部件", - "run_on_note_creation": "在后端创建笔记时执行。如果要为在特定子树下创建的所有笔记运行脚本,请使用此关系。在这种情况下,在子树根笔记上创建它并使其可继承。在子树中的任何深度创建新笔记都会触发脚本。", - "run_on_child_note_creation": "当创建新的子笔记时执行", - "run_on_note_title_change": "当笔记标题修改时执行(包括笔记创建)", - "run_on_note_content_change": "当笔记内容修改时执行(包括笔记创建)。", - "run_on_note_change": "当笔记修改时执行(包括笔记创建)。不包括内容修改", - "run_on_note_deletion": "在删除笔记时执行", - "run_on_branch_creation": "在创建分支时执行。分支是父笔记和子笔记之间的链接,并且在克隆或移动笔记时创建。", - "run_on_branch_change": "在分支更新时执行。", - "run_on_branch_deletion": "在删除分支时执行。分支是父笔记和子笔记之间的链接,例如在移动笔记时删除(删除旧的分支/链接)。", - "run_on_attribute_creation": "在为定义此关系的笔记创建新属性时执行", - "run_on_attribute_change": "当修改定义此关系的笔记的属性时执行。删除属性时也会触发此操作。", - "relation_template": "即使没有父子关系,笔记的属性也将继承。如果空,则笔记的内容和子树将添加到实例笔记中。有关详细信息,请参见文档。", - "inherit": "即使没有父子关系,笔记的属性也将继承。有关类似概念的模板关系,请参见模板关系。请参阅文档中的属性继承。", - "render_note": "“渲染 HTML 笔记”类型的笔记将使用代码笔记(HTML 或脚本)进行呈现,因此需要指定要渲染的笔记", - "widget_relation": "此关系的目标将作为侧边栏中的小部件执行和呈现", - "share_css": "将注入分享页面的 CSS 笔记。CSS 笔记也必须位于分享子树中。可以考虑一并使用 'share_hidden_from_tree' 和 'share_omit_default_css'。", - "share_js": "将注入分享页面的 JavaScript 笔记。JS 笔记也必须位于分享子树中。可以考虑一并使用 'share_hidden_from_tree'。", - "share_template": "用作显示分享笔记的模板的嵌入式 JavaScript 笔记。如果没有,将回退到默认模板。可以考虑一并使用 'share_hidden_from_tree'。", - "share_favicon": "在分享页面中设置的 favicon 笔记。一般需要将它设置为分享和可继承。Favicon 笔记也必须位于分享子树中。可以考虑一并使用 'share_hidden_from_tree'。", - "is_owned_by_note": "由此笔记所有", - "other_notes_with_name": "其它含有 {{attributeType}} 名为 \"{{attributeName}}\" 的的笔记", - "and_more": "... 以及另外 {{count}} 个", - "print_landscape": "导出为 PDF 时,将页面方向更改为横向而不是纵向。", - "print_page_size": "导出为 PDF 时,更改页面大小。支持的值:A0A1A2A3A4A5A6LegalLetterTabloidLedger。" - }, - "attribute_editor": { - "help_text_body1": "要添加标签,只需输入例如 #rock 或者如果您还想添加值,则例如 #year = 2020", - "help_text_body2": "对于关系,请输入 ~author = @,这将显示一个自动完成列表,您可以查找所需的笔记。", - "help_text_body3": "您也可以使用右侧的 + 按钮添加标签和关系。

", - "save_attributes": "保存属性 ", - "add_a_new_attribute": "添加新属性", - "add_new_label": "添加新标签 ", - "add_new_relation": "添加新关系 ", - "add_new_label_definition": "添加新标签定义", - "add_new_relation_definition": "添加新关系定义", - "placeholder": "在此输入标签和关系" - }, - "abstract_bulk_action": { - "remove_this_search_action": "删除此搜索操作" - }, - "execute_script": { - "execute_script": "执行脚本", - "help_text": "您可以在匹配的笔记上执行简单的脚本。", - "example_1": "例如,要在笔记标题后附加字符串,请使用以下脚本:", - "example_2": "更复杂的例子,删除所有匹配的笔记属性:" - }, - "add_label": { - "add_label": "添加标签", - "label_name_placeholder": "标签名称", - "label_name_title": "允许使用字母、数字、下划线和冒号。", - "to_value": "值为", - "new_value_placeholder": "新值", - "help_text": "在所有匹配的笔记上:", - "help_text_item1": "如果笔记尚无此标签,则创建给定的标签", - "help_text_item2": "或更改现有标签的值", - "help_text_note": "您也可以在不指定值的情况下调用此方法,这种情况下,标签将分配给没有值的笔记。" - }, - "delete_label": { - "delete_label": "删除标签", - "label_name_placeholder": "标签名称", - "label_name_title": "允许使用字母、数字、下划线和冒号。" - }, - "rename_label": { - "rename_label": "重命名标签", - "rename_label_from": "重命名标签从", - "old_name_placeholder": "旧名称", - "to": "改为", - "new_name_placeholder": "新名称", - "name_title": "允许使用字母、数字、下划线和冒号。" - }, - "update_label_value": { - "update_label_value": "更新标签值", - "label_name_placeholder": "标签名称", - "label_name_title": "允许使用字母、数字、下划线和冒号。", - "to_value": "值为", - "new_value_placeholder": "新值", - "help_text": "在所有匹配的笔记上,更改现有标签的值。", - "help_text_note": "您也可以在不指定值的情况下调用此方法,这种情况下,标签将分配给没有值的笔记。" - }, - "delete_note": { - "delete_note": "删除笔记", - "delete_matched_notes": "删除匹配的笔记", - "delete_matched_notes_description": "这将删除匹配的笔记。", - "undelete_notes_instruction": "删除后,可以从“最近修改”对话框中恢复它们。", - "erase_notes_instruction": "要永久擦除笔记,您可以在删除后转到“选项”->“其他”,然后单击“立即擦除已删除的笔记”按钮。" - }, - "delete_revisions": { - "delete_note_revisions": "删除笔记修订版本", - "all_past_note_revisions": "所有匹配笔记的过去修订版本都将被删除。笔记本身将完全保留。换句话说,笔记的历史将被删除。" - }, - "move_note": { - "move_note": "移动笔记", - "to": "到", - "target_parent_note": "目标父笔记", - "on_all_matched_notes": "对于所有匹配的笔记", - "move_note_new_parent": "如果笔记只有一个父级(即旧分支被移除并创建新分支到新父级),则将笔记移动到新父级", - "clone_note_new_parent": "如果笔记有多个克隆/分支(不清楚应该移除哪个分支),则将笔记克隆到新父级", - "nothing_will_happen": "如果笔记无法移动到目标笔记(即这会创建一个树循环),则不会发生任何事情" - }, - "rename_note": { - "rename_note": "重命名笔记", - "rename_note_title_to": "重命名笔记标题为", - "new_note_title": "新笔记标题", - "click_help_icon": "点击右侧的帮助图标查看所有选项", - "evaluated_as_js_string": "给定的值被评估为 JavaScript 字符串,因此可以通过注入的 note 变量(正在重命名的笔记)丰富动态内容。 例如:", - "example_note": "Note - 所有匹配的笔记都被重命名为“Note”", - "example_new_title": "NEW: ${note.title} - 匹配的笔记标题以“NEW: ”为前缀", - "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - 匹配的笔记以笔记的创建月份-日期为前缀", - "api_docs": "有关详细信息,请参阅笔记及其dateCreatedObj / utcDateCreatedObj 属性的API文档。" - }, - "add_relation": { - "add_relation": "添加关系", - "relation_name": "关系名称", - "allowed_characters": "允许的字符为字母数字、下划线和冒号。", - "to": "到", - "target_note": "目标笔记", - "create_relation_on_all_matched_notes": "在所有匹配的笔记上创建指定的关系。" - }, - "delete_relation": { - "delete_relation": "删除关系", - "relation_name": "关系名称", - "allowed_characters": "允许的字符为字母数字、下划线和冒号。" - }, - "rename_relation": { - "rename_relation": "重命名关系", - "rename_relation_from": "重命名关系,从", - "old_name": "旧名称", - "to": "改为", - "new_name": "新名称", - "allowed_characters": "允许的字符为字母数字、下划线和冒号。" - }, - "update_relation_target": { - "update_relation": "更新关系", - "relation_name": "关系名称", - "allowed_characters": "允许的字符为字母数字、下划线和冒号。", - "to": "到", - "target_note": "目标笔记", - "on_all_matched_notes": "在所有匹配的笔记上", - "change_target_note": "或更改现有关系的目标笔记", - "update_relation_target": "更新关系目标" - }, - "attachments_actions": { - "open_externally": "用外部程序打开", - "open_externally_title": "文件将会在外部应用程序中打开,并监视其更改。然后您可以将修改后的版本上传回 Trilium。", - "open_custom": "自定义打开方式", - "open_custom_title": "文件将会在外部应用程序中打开,并监视其更改。然后您可以将修改后的版本上传回 Trilium。", - "download": "下载", - "rename_attachment": "重命名附件", - "upload_new_revision": "上传新版本", - "copy_link_to_clipboard": "复制链接到剪贴板", - "convert_attachment_into_note": "将附件转换为笔记", - "delete_attachment": "删除附件", - "upload_success": "新附件修订版本已上传。", - "upload_failed": "新附件修订版本上传失败。", - "open_externally_detail_page": "外部打开附件仅在详细页面中可用,请首先点击附件详细信息,然后重复此操作。", - "open_custom_client_only": "自定义打开附件只能通过客户端完成。", - "delete_confirm": "您确定要删除附件 '{{title}}' 吗?", - "delete_success": "附件 '{{title}}' 已被删除。", - "convert_confirm": "您确定要将附件 '{{title}}' 转换为单独的笔记吗?", - "convert_success": "附件 '{{title}}' 已转换为笔记。", - "enter_new_name": "请输入附件的新名称" - }, - "calendar": { - "mon": "一", - "tue": "二", - "wed": "三", - "thu": "四", - "fri": "五", - "sat": "六", - "sun": "日", - "cannot_find_day_note": "无法找到日记", - "cannot_find_week_note": "无法找到周记", - "january": "一月", - "febuary": "二月", - "march": "三月", - "april": "四月", - "may": "五月", - "june": "六月", - "july": "七月", - "august": "八月", - "september": "九月", - "october": "十月", - "november": "十一月", - "december": "十二月" - }, - "close_pane_button": { - "close_this_pane": "关闭此面板" - }, - "create_pane_button": { - "create_new_split": "拆分面板" - }, - "edit_button": { - "edit_this_note": "编辑此笔记" - }, - "show_toc_widget_button": { - "show_toc": "显示目录" - }, - "show_highlights_list_widget_button": { - "show_highlights_list": "显示高亮列表" - }, - "global_menu": { - "menu": "菜单", - "options": "选项", - "open_new_window": "打开新窗口", - "switch_to_mobile_version": "切换到移动版", - "switch_to_desktop_version": "切换到桌面版", - "zoom": "缩放", - "toggle_fullscreen": "切换全屏", - "zoom_out": "缩小", - "reset_zoom_level": "重置缩放级别", - "zoom_in": "放大", - "configure_launchbar": "配置启动栏", - "show_shared_notes_subtree": "显示分享笔记子树", - "advanced": "高级", - "open_dev_tools": "打开开发工具", - "open_sql_console": "打开 SQL 控制台", - "open_sql_console_history": "打开 SQL 控制台历史记录", - "open_search_history": "打开搜索历史", - "show_backend_log": "显示后台日志", - "reload_hint": "重载可以帮助解决一些视觉故障,而无需重启整个应用程序。", - "reload_frontend": "重载前端", - "show_hidden_subtree": "显示隐藏子树", - "show_help": "显示帮助", - "about": "关于 TriliumNext 笔记", - "logout": "登出", - "show-cheatsheet": "显示快捷帮助", - "toggle-zen-mode": "禅模式" - }, - "zen_mode": { - "button_exit": "退出禅模式" - }, - "sync_status": { - "unknown": "

同步状态将在下一次同步尝试开始后显示。

点击以立即触发同步。

", - "connected_with_changes": "

已连接到同步服务器。
有一些未同步的变更。

点击以触发同步。

", - "connected_no_changes": "

已连接到同步服务器。
所有变更均已同步。

点击以触发同步。

", - "disconnected_with_changes": "

连接同步服务器失败。
有一些未同步的变更。

点击以触发同步。

", - "disconnected_no_changes": "

连接同步服务器失败。
所有已知变更均已同步。

点击以触发同步。

", - "in_progress": "正在与服务器进行同步。" - }, - "left_pane_toggle": { - "show_panel": "显示面板", - "hide_panel": "隐藏面板" - }, - "move_pane_button": { - "move_left": "向左移动", - "move_right": "向右移动" - }, - "note_actions": { - "convert_into_attachment": "转换为附件", - "re_render_note": "重新渲染笔记", - "search_in_note": "在笔记中搜索", - "note_source": "笔记源代码", - "note_attachments": "笔记附件", - "open_note_externally": "用外部程序打开笔记", - "open_note_externally_title": "文件将在外部应用程序中打开,并监视其更改。然后您可以将修改后的版本上传回 Trilium。", - "open_note_custom": "使用自定义程序打开笔记", - "import_files": "导入文件", - "export_note": "导出笔记", - "delete_note": "删除笔记", - "print_note": "打印笔记", - "save_revision": "保存笔记修订", - "convert_into_attachment_failed": "笔记 '{{title}}' 转换失败。", - "convert_into_attachment_successful": "笔记 '{{title}}' 已成功转换为附件。", - "convert_into_attachment_prompt": "确定要将笔记 '{{title}}' 转换为父笔记的附件吗?", - "print_pdf": "导出为 PDF..." - }, - "onclick_button": { - "no_click_handler": "按钮组件'{{componentId}}'没有定义点击处理程序" - }, - "protected_session_status": { - "active": "受保护的会话已激活。点击退出受保护的会话。", - "inactive": "点击进入受保护的会话" - }, - "revisions_button": { - "note_revisions": "笔记修订版本" - }, - "update_available": { - "update_available": "有更新可用" - }, - "note_launcher": { - "this_launcher_doesnt_define_target_note": "此启动器未定义目标笔记。" - }, - "code_buttons": { - "execute_button_title": "执行脚本", - "trilium_api_docs_button_title": "打开 Trilium API 文档", - "save_to_note_button_title": "保存到笔记", - "opening_api_docs_message": "正在打开 API 文档...", - "sql_console_saved_message": "SQL 控制台已保存到 {{note_path}}" - }, - "copy_image_reference_button": { - "button_title": "复制图片引用到剪贴板,可粘贴到文本笔记中。" - }, - "hide_floating_buttons_button": { - "button_title": "隐藏按钮" - }, - "show_floating_buttons_button": { - "button_title": "显示按钮" - }, - "svg_export_button": { - "button_title": "导出SVG格式图片" - }, - "relation_map_buttons": { - "create_child_note_title": "创建新的子笔记并添加到关系图", - "reset_pan_zoom_title": "重置平移和缩放到初始坐标和放大倍率", - "zoom_in_title": "放大", - "zoom_out_title": "缩小" - }, - "zpetne_odkazy": { - "backlink": "{{count}} 个反链", - "backlinks": "{{count}} 个反链", - "relation": "关系" - }, - "mobile_detail_menu": { - "insert_child_note": "插入子笔记", - "delete_this_note": "删除此笔记", - "error_cannot_get_branch_id": "无法获取 notePath '{{notePath}}' 的 branchId", - "error_unrecognized_command": "无法识别的命令 {{command}}" - }, - "note_icon": { - "change_note_icon": "更改笔记图标", - "category": "类别:", - "search": "搜索:", - "reset-default": "重置为默认图标" - }, - "basic_properties": { - "note_type": "笔记类型", - "editable": "可编辑", - "basic_properties": "基本属性" - }, - "book_properties": { - "view_type": "视图类型", - "grid": "网格", - "list": "列表", - "collapse_all_notes": "折叠所有笔记", - "expand_all_children": "展开所有子项", - "collapse": "折叠", - "expand": "展开", - "invalid_view_type": "无效的查看类型 '{{type}}'", - "calendar": "日历" - }, - "edited_notes": { - "no_edited_notes_found": "今天还没有编辑过的笔记...", - "title": "编辑过的笔记", - "deleted": "(已删除)" - }, - "file_properties": { - "note_id": "笔记 ID", - "original_file_name": "原始文件名", - "file_type": "文件类型", - "file_size": "文件大小", - "download": "下载", - "open": "打开", - "upload_new_revision": "上传新修订版本", - "upload_success": "新文件修订版本已上传。", - "upload_failed": "新文件修订版本上传失败。", - "title": "文件" - }, - "image_properties": { - "original_file_name": "原始文件名", - "file_type": "文件类型", - "file_size": "文件大小", - "download": "下载", - "open": "打开", - "copy_reference_to_clipboard": "复制引用到剪贴板", - "upload_new_revision": "上传新修订版本", - "upload_success": "新图像修订版本已上传。", - "upload_failed": "新图像修订版本上传失败:{{message}}", - "title": "图像" - }, - "inherited_attribute_list": { - "title": "继承的属性", - "no_inherited_attributes": "没有继承的属性。" - }, - "note_info_widget": { - "note_id": "笔记 ID", - "created": "创建时间", - "modified": "修改时间", - "type": "类型", - "note_size": "笔记大小", - "note_size_info": "笔记大小提供了该笔记存储需求的粗略估计。它考虑了笔记的内容及其笔记修订历史的内容。", - "calculate": "计算", - "subtree_size": "(子树大小: {{size}}, 共计 {{count}} 个笔记)", - "title": "笔记信息" - }, - "note_map": { - "open_full": "展开显示", - "collapse": "折叠到正常大小", - "title": "笔记地图", - "fix-nodes": "固定节点", - "link-distance": "链接距离" - }, - "note_paths": { - "title": "笔记路径", - "clone_button": "克隆笔记到新位置...", - "intro_placed": "此笔记放置在以下路径中:", - "intro_not_placed": "此笔记尚未放入笔记树中。", - "outside_hoisted": "此路径在提升的笔记之外,您需要取消聚焦。", - "archived": "已归档", - "search": "搜索" - }, - "note_properties": { - "this_note_was_originally_taken_from": "笔记来源:", - "info": "信息" - }, - "owned_attribute_list": { - "owned_attributes": "拥有的属性" - }, - "promoted_attributes": { - "promoted_attributes": "升级属性", - "unset-field-placeholder": "未设置", - "url_placeholder": "http://www...", - "open_external_link": "打开外部链接", - "unknown_label_type": "未知的标签类型 '{{type}}'", - "unknown_attribute_type": "未知的属性类型 '{{type}}'", - "add_new_attribute": "添加新属性", - "remove_this_attribute": "移除此属性" - }, - "script_executor": { - "query": "查询", - "script": "脚本", - "execute_query": "执行查询", - "execute_script": "执行脚本" - }, - "search_definition": { - "add_search_option": "添加搜索选项:", - "search_string": "搜索字符串", - "search_script": "搜索脚本", - "ancestor": "上级笔记", - "fast_search": "快速搜索", - "fast_search_description": "快速搜索选项禁用笔记内容的全文搜索,这可能会加速大数据库中的搜索。", - "include_archived": "包含归档", - "include_archived_notes_description": "归档的笔记默认不包含在搜索结果中,使用此选项将包含它们。", - "order_by": "排序方式", - "limit": "限制", - "limit_description": "限制结果数量", - "debug": "调试", - "debug_description": "调试将打印额外的调试信息到控制台,以帮助调试复杂查询", - "action": "操作", - "search_button": "搜索 回车", - "search_execute": "搜索并执行操作", - "save_to_note": "保存到笔记", - "search_parameters": "搜索参数", - "unknown_search_option": "未知的搜索选项 {{searchOptionName}}", - "search_note_saved": "搜索笔记已保存到 {{- notePathTitle}}", - "actions_executed": "操作已执行。" - }, - "similar_notes": { - "title": "相似笔记", - "no_similar_notes_found": "未找到相似的笔记。" - }, - "abstract_search_option": { - "remove_this_search_option": "删除此搜索选项", - "failed_rendering": "渲染搜索选项失败:{{dto}},错误信息:{{error}},堆栈:{{stack}}" - }, - "ancestor": { - "label": "上级笔记", - "placeholder": "按名称搜索笔记", - "depth_label": "深度", - "depth_doesnt_matter": "任意", - "depth_eq": "正好是 {{count}}", - "direct_children": "直接子代", - "depth_gt": "大于 {{count}}", - "depth_lt": "小于 {{count}}" - }, - "debug": { - "debug": "调试", - "debug_info": "调试将打印额外的调试信息到控制台,以帮助调试复杂的查询。", - "access_info": "要访问调试信息,请执行查询并点击左上角的“显示后端日志”。" - }, - "fast_search": { - "fast_search": "快速搜索", - "description": "快速搜索选项禁用笔记内容的全文搜索,这可能会加快在大型数据库中的搜索速度。" - }, - "include_archived_notes": { - "include_archived_notes": "包括已归档的笔记" - }, - "limit": { - "limit": "限制", - "take_first_x_results": "仅取前 X 个指定结果。" - }, - "order_by": { - "order_by": "排序依据", - "relevancy": "相关性(默认)", - "title": "标题", - "date_created": "创建日期", - "date_modified": "最后修改日期", - "content_size": "笔记内容大小", - "content_and_attachments_size": "笔记内容大小(包括附件)", - "content_and_attachments_and_revisions_size": "笔记内容大小(包括附件和笔记修订历史)", - "revision_count": "修订版本数量", - "children_count": "子笔记数量", - "parent_count": "克隆数量", - "owned_label_count": "标签数量", - "owned_relation_count": "关系数量", - "target_relation_count": "指向笔记的关系数量", - "random": "随机顺序", - "asc": "升序(默认)", - "desc": "降序" - }, - "search_script": { - "title": "搜索脚本:", - "placeholder": "按名称搜索笔记", - "description1": "搜索脚本允许通过运行脚本来定义搜索结果。这在标准搜索不足时提供了最大的灵活性。", - "description2": "搜索脚本必须是类型为“代码”和子类型为“JavaScript 后端”。脚本需要返回一个 noteIds 或 notes 数组。", - "example_title": "请看这个例子:", - "example_code": "// 1. 使用标准搜索进行预过滤\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. 应用自定义搜索条件\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", - "note": "注意,搜索脚本和搜索字符串不能相互结合使用。" - }, - "search_string": { - "title_column": "搜索字符串:", - "placeholder": "全文关键词,#标签 = 值 ...", - "search_syntax": "搜索语法", - "also_see": "另见", - "complete_help": "完整的搜索语法帮助", - "full_text_search": "只需输入任何文本进行全文搜索", - "label_abc": "返回带有标签 abc 的笔记", - "label_year": "匹配带有标签年份且值为 2019 的笔记", - "label_rock_pop": "匹配同时具有 rock 和 pop 标签的笔记", - "label_rock_or_pop": "只需一个标签存在即可", - "label_year_comparison": "数字比较(也包括>,>=,<)。", - "label_date_created": "上个月创建的笔记", - "error": "搜索错误:{{error}}", - "search_prefix": "搜索:" - }, - "attachment_detail": { - "open_help_page": "打开附件帮助页面", - "owning_note": "所属笔记:", - "you_can_also_open": ",您还可以打开", - "list_of_all_attachments": "所有附件列表", - "attachment_deleted": "该附件已被删除。" - }, - "attachment_list": { - "open_help_page": "打开附件帮助页面", - "owning_note": "所属笔记:", - "upload_attachments": "上传附件", - "no_attachments": "此笔记没有附件。" - }, - "book": { - "no_children_help": "此类型为书籍的笔记没有任何子笔记,因此没有内容显示。请参阅 wiki 了解详情" - }, - "editable_code": { - "placeholder": "在这里输入您的代码笔记内容..." - }, - "editable_text": { - "placeholder": "在这里输入您的笔记内容..." - }, - "empty": { - "open_note_instruction": "通过在下面的输入框中输入笔记标题或在树中选择笔记来打开笔记。", - "search_placeholder": "按名称搜索笔记", - "enter_workspace": "进入工作区 {{title}}" - }, - "file": { - "file_preview_not_available": "此文件格式不支持预览。", - "too_big": "预览仅显示文件的前 {{maxNumChars}} 个字符以提高性能。下载文件并在外部打开以查看完整内容。" - }, - "protected_session": { - "enter_password_instruction": "显示受保护的笔记需要输入您的密码:", - "start_session_button": "开始受保护的会话", - "started": "受保护的会话已启动。", - "wrong_password": "密码错误。", - "protecting-finished-successfully": "保护操作已成功完成。", - "unprotecting-finished-successfully": "解除保护操作已成功完成。", - "protecting-in-progress": "保护进行中:{{count}}", - "unprotecting-in-progress-count": "解除保护进行中:{{count}}", - "protecting-title": "保护状态", - "unprotecting-title": "解除保护状态" - }, - "relation_map": { - "open_in_new_tab": "在新标签页中打开", - "remove_note": "删除笔记", - "edit_title": "编辑标题", - "rename_note": "重命名笔记", - "enter_new_title": "输入新的笔记标题:", - "remove_relation": "删除关系", - "confirm_remove_relation": "您确定要删除这个关系吗?", - "specify_new_relation_name": "指定新的关系名称(允许的字符:字母数字、冒号和下划线):", - "connection_exists": "笔记之间的连接 '{{name}}' 已经存在。", - "start_dragging_relations": "从这里开始拖动关系,并将其放置到另一个笔记上。", - "note_not_found": "笔记 {{noteId}} 未找到!", - "cannot_match_transform": "无法匹配变换:{{transform}}", - "note_already_in_diagram": "笔记 \"{{title}}\" 已经在图中。", - "enter_title_of_new_note": "输入新笔记的标题", - "default_new_note_title": "新笔记", - "click_on_canvas_to_place_new_note": "点击画布以放置新笔记" - }, - "render": { - "note_detail_render_help_1": "之所以显示此帮助说明,是因为这个类型为渲染 HTML 的笔记没有正常工作所需的关系。", - "note_detail_render_help_2": "渲染 HTML 笔记类型用于编写脚本。简而言之,您有一份 HTML 代码笔记(可包含一些 JavaScript),然后这个笔记会把页面渲染出来。要使其正常工作,您需要定义一个名为 \"renderNote\" 的关系指向要渲染的 HTML 笔记。" - }, - "web_view": { - "web_view": "网页视图", - "embed_websites": "网页视图类型的笔记允许您将网站嵌入到 Trilium 中。", - "create_label": "首先,请创建一个带有您要嵌入的 URL 地址的标签,例如 #webViewSrc=\"https://www.bing.com\"" - }, - "backend_log": { - "refresh": "刷新" - }, - "consistency_checks": { - "title": "检查一致性", - "find_and_fix_button": "查找并修复一致性问题", - "finding_and_fixing_message": "正在查找并修复一致性问题...", - "issues_fixed_message": "一致性问题应该已被修复。" - }, - "database_anonymization": { - "title": "数据库匿名化", - "full_anonymization": "完全匿名化", - "full_anonymization_description": "此操作将创建一个新的数据库副本并进行匿名化处理(删除所有笔记内容,仅保留结构和一些非敏感元数据),用来分享到网上做调试而不用担心泄漏您的个人资料。", - "save_fully_anonymized_database": "保存完全匿名化的数据库", - "light_anonymization": "轻度匿名化", - "light_anonymization_description": "此操作将创建一个新的数据库副本,并对其进行轻度匿名化处理——仅删除所有笔记的内容,但保留标题和属性。此外,自定义 JS 前端/后端脚本笔记和自定义小部件将保留。这提供了更多上下文以调试问题。", - "choose_anonymization": "您可以自行决定是提供完全匿名化还是轻度匿名化的数据库。即使是完全匿名化的数据库也非常有用,但在某些情况下,轻度匿名化的数据库可以加快错误识别和修复的过程。", - "save_lightly_anonymized_database": "保存轻度匿名化的数据库", - "existing_anonymized_databases": "现有的匿名化数据库", - "creating_fully_anonymized_database": "正在创建完全匿名化的数据库...", - "creating_lightly_anonymized_database": "正在创建轻度匿名化的数据库...", - "error_creating_anonymized_database": "无法创建匿名化数据库,请检查后端日志以获取详细信息", - "successfully_created_fully_anonymized_database": "成功创建完全匿名化的数据库,路径为 {{anonymizedFilePath}}", - "successfully_created_lightly_anonymized_database": "成功创建轻度匿名化的数据库,路径为 {{anonymizedFilePath}}", - "no_anonymized_database_yet": "尚无匿名化数据库" - }, - "database_integrity_check": { - "title": "数据库完整性检查", - "description": "检查 SQLite 数据库是否损坏。根据数据库的大小,可能会需要一些时间。", - "check_button": "检查数据库完整性", - "checking_integrity": "正在检查数据库完整性...", - "integrity_check_succeeded": "完整性检查成功 - 未发现问题。", - "integrity_check_failed": "完整性检查失败: {{results}}" - }, - "sync": { - "title": "同步", - "force_full_sync_button": "强制全量同步", - "fill_entity_changes_button": "填充实体变更记录", - "full_sync_triggered": "全量同步已触发", - "filling_entity_changes": "正在填充实体变更行...", - "sync_rows_filled_successfully": "同步行填充成功", - "finished-successfully": "同步已完成。", - "failed": "同步失败:{{message}}" - }, - "vacuum_database": { - "title": "数据库清理", - "description": "这会重建数据库,通常会减少占用空间,不会删除数据。", - "button_text": "清理数据库", - "vacuuming_database": "正在清理数据库...", - "database_vacuumed": "数据库已清理" - }, - "fonts": { - "theme_defined": "跟随主题", - "fonts": "字体", - "main_font": "主字体", - "font_family": "字体系列", - "size": "大小", - "note_tree_font": "笔记树字体", - "note_detail_font": "笔记详情字体", - "monospace_font": "等宽(代码)字体", - "note_tree_and_detail_font_sizing": "请注意,笔记树字体和详细字体的大小相对于主字体大小设置。", - "not_all_fonts_available": "并非所有列出的字体都可能在您的系统上可用。", - "apply_font_changes": "要应用字体更改,请点击", - "reload_frontend": "重载前端", - "generic-fonts": "通用字体", - "sans-serif-system-fonts": "无衬线系统字体", - "serif-system-fonts": "衬线系统字体", - "monospace-system-fonts": "等宽系统字体", - "handwriting-system-fonts": "手写系统字体", - "serif": "衬线", - "sans-serif": "无衬线", - "monospace": "等宽", - "system-default": "系统默认" - }, - "max_content_width": { - "title": "内容宽度", - "default_description": "Trilium默认会限制内容的最大宽度以提高在宽屏中全屏时的可读性。", - "max_width_label": "内容最大宽度(像素)", - "apply_changes_description": "要应用内容宽度更改,请点击", - "reload_button": "重载前端", - "reload_description": "来自外观选项的更改" - }, - "native_title_bar": { - "title": "原生标题栏(需要重新启动应用)", - "enabled": "启用", - "disabled": "禁用" - }, - "ribbon": { - "widgets": "功能选项组件", - "promoted_attributes_message": "如果笔记中存在升级属性,则自动打开升级属性功能区标签页", - "edited_notes_message": "日记笔记自动打开编辑过的笔记功能区标签页" - }, - "theme": { - "title": "主题", - "theme_label": "主题", - "override_theme_fonts_label": "覆盖主题字体", - "auto_theme": "自动", - "light_theme": "浅色", - "dark_theme": "深色", - "triliumnext": "TriliumNext Beta(跟随系统颜色方案)", - "triliumnext-light": "TriliumNext Beta(浅色)", - "triliumnext-dark": "TriliumNext Beta(深色)", - "layout": "布局", - "layout-vertical-title": "垂直", - "layout-horizontal-title": "水平", - "layout-vertical-description": "启动栏位于左侧(默认)", - "layout-horizontal-description": "启动栏位于标签页栏下方,标签页栏现在是全宽的。" - }, - "zoom_factor": { - "title": "缩放系数(仅桌面客户端有效)", - "description": "缩放也可以通过 CTRL+- 和 CTRL+= 快捷键进行控制。" - }, - "code_auto_read_only_size": { - "title": "自动只读大小", - "description": "自动只读大小是指笔记超过设置的大小后自动设置为只读模式(为性能考虑)。", - "label": "自动只读大小(代码笔记)" - }, - "code_mime_types": { - "title": "下拉菜单可用的MIME文件类型" - }, - "vim_key_bindings": { - "use_vim_keybindings_in_code_notes": "Vim 快捷键", - "enable_vim_keybindings": "在代码笔记中启用 Vim 快捷键(不包含 ex 模式)" - }, - "wrap_lines": { - "wrap_lines_in_code_notes": "代码笔记自动换行", - "enable_line_wrap": "启用自动换行(需要重载前端才会生效)" - }, - "images": { - "images_section_title": "图片", - "download_images_automatically": "自动下载图片以供离线使用。", - "download_images_description": "粘贴的 HTML 可能包含在线图片的引用,Trilium 会找到这些引用并下载图片,以便它们可以离线使用。", - "enable_image_compression": "启用图片压缩", - "max_image_dimensions": "图片的最大宽度/高度(超过此限制的图像将会被缩放)。", - "jpeg_quality_description": "JPEG 质量(10 - 最差质量,100 最佳质量,建议为 50 - 85)" - }, - "attachment_erasure_timeout": { - "attachment_erasure_timeout": "附件清理超时", - "attachment_auto_deletion_description": "如果附件在一段时间后不再被笔记引用,它们将自动被删除(并被清理)。", - "erase_attachments_after": "在此时间后删除未使用的附件:", - "manual_erasing_description": "您还可以手动触发清理(而不考虑上述定义的超时时间):", - "erase_unused_attachments_now": "立即清理未使用的附件笔记", - "unused_attachments_erased": "未使用的附件已被删除。" - }, - "network_connections": { - "network_connections_title": "网络连接", - "check_for_updates": "自动检查更新" - }, - "note_erasure_timeout": { - "note_erasure_timeout_title": "笔记清理超时", - "note_erasure_description": "被删除的笔记(以及属性、修订历史等)最初仅被标记为“删除”,可以从“最近修改”对话框中恢复它们。经过一段时间后,已删除的笔记会被“清理”,这意味着它们的内容将无法恢复。此设置允许您配置从删除到清除笔记之间的时间长度。", - "erase_notes_after": "在此时间后删除笔记:", - "manual_erasing_description": "您还可以手动触发清理(不考虑上述定义的超时):", - "erase_deleted_notes_now": "立即清理已删除的笔记", - "deleted_notes_erased": "已删除的笔记已被清理。" - }, - "revisions_snapshot_interval": { - "note_revisions_snapshot_interval_title": "笔记修订快照间隔", - "note_revisions_snapshot_description": "笔记修订快照间隔是创建新笔记修订的时间。有关更多信息,请参见 wiki。", - "snapshot_time_interval_label": "笔记修订快照时间间隔:" - }, - "revisions_snapshot_limit": { - "note_revisions_snapshot_limit_title": "笔记修订快照限制", - "note_revisions_snapshot_limit_description": "笔记修订快照数限制指的是每个笔记可以保存的最大历史记录数量。其中 -1 表示没有限制,0 表示删除所有历史记录。您可以通过 #versioningLimit 标签设置单个笔记的最大修订记录数量。", - "snapshot_number_limit_label": "笔记修订快照数量限制:", - "erase_excess_revision_snapshots": "立即删除多余的修订快照", - "erase_excess_revision_snapshots_prompt": "多余的修订快照已被删除。" - }, - "search_engine": { - "title": "搜索引擎", - "custom_search_engine_info": "自定义搜索引擎需要设置名称和 URL。如果这两者之一未设置,将默认使用 DuckDuckGo 作为搜索引擎。", - "predefined_templates_label": "预定义搜索引擎模板", - "bing": "必应", - "baidu": "百度", - "duckduckgo": "DuckDuckGo", - "google": "谷歌", - "custom_name_label": "自定义搜索引擎名称", - "custom_name_placeholder": "自定义搜索引擎名称", - "custom_url_label": "自定义搜索引擎 URL 应包含 {keyword} 作为搜索词的占位符。", - "custom_url_placeholder": "自定义搜索引擎 URL", - "save_button": "保存" - }, - "tray": { - "title": "系统托盘", - "enable_tray": "启用托盘图标(需要重启 Trilium 以生效)" - }, - "heading_style": { - "title": "标题风格", - "plain": "纯文本", - "underline": "下划线", - "markdown": "Markdown 风格" - }, - "highlights_list": { - "title": "高亮列表", - "description": "您可以自定义右侧面板中显示的高亮列表:", - "bold": "粗体", - "italic": "斜体", - "underline": "下划线", - "color": "字体颜色", - "bg_color": "背景颜色", - "visibility_title": "高亮列表可见性", - "visibility_description": "您可以通过添加 #hideHighlightWidget 标签来隐藏单个笔记的高亮小部件。", - "shortcut_info": "您可以在选项 -> 快捷键中为快速切换右侧面板(包括高亮列表)配置键盘快捷键(名称为 'toggleRightPane')。" - }, - "table_of_contents": { - "title": "目录", - "description": "当笔记中有超过一定数量的标题时,显示目录。您可以自定义此数量:", - "disable_info": "您可以设置一个非常大的数来禁用目录。", - "shortcut_info": "您可以在 “选项” -> “快捷键” 中配置一个键盘快捷键,以便快速切换右侧面板(包括目录)(名称为 'toggleRightPane')。" - }, - "text_auto_read_only_size": { - "title": "自动只读大小", - "description": "自动只读笔记大小是超过该大小后,笔记将以只读模式显示(出于性能考虑)。", - "label": "自动只读大小(文本笔记)" - }, - "i18n": { - "title": "本地化", - "language": "语言", - "first-day-of-the-week": "一周的第一天", - "sunday": "周日", - "monday": "周一", - "first-week-of-the-year": "一年的第一周", - "first-week-contains-first-day": "第一周包含一年的第一天", - "first-week-contains-first-thursday": "第一周包含一年的第一个周四", - "first-week-has-minimum-days": "第一周有最小天数", - "min-days-in-first-week": "第一周的最小天数", - "first-week-info": "第一周包含一年的第一个周四,基于 ISO 8601 标准。", - "first-week-warning": "更改第一周选项可能会导致与现有周笔记重复,已创建的周笔记将不会相应更新。", - "formatting-locale": "日期和数字格式" - }, - "backup": { - "automatic_backup": "自动备份", - "automatic_backup_description": "Trilium 可以自动备份数据库:", - "enable_daily_backup": "启用每日备份", - "enable_weekly_backup": "启用每周备份", - "enable_monthly_backup": "启用每月备份", - "backup_recommendation": "建议打开备份功能,但这可能会使大型数据库和/或慢速存储设备的应用程序启动变慢。", - "backup_now": "立即备份", - "backup_database_now": "立即备份数据库", - "existing_backups": "现有备份", - "date-and-time": "日期和时间", - "path": "路径", - "database_backed_up_to": "数据库已备份到 {{backupFilePath}}", - "no_backup_yet": "尚无备份" - }, - "etapi": { - "title": "ETAPI", - "description": "ETAPI 是一个 REST API,用于以编程方式访问 Trilium 实例,而无需 UI。", - "see_more": "有关更多详细信息,请参见 {{- link_to_wiki}} 和 {{- link_to_openapi_spec}} 或 {{- link_to_swagger_ui}}。", - "wiki": "维基", - "openapi_spec": "ETAPI OpenAPI 规范", - "swagger_ui": "ETAPI Swagger UI", - "create_token": "创建新的 ETAPI 令牌", - "existing_tokens": "现有令牌", - "no_tokens_yet": "目前还没有令牌。点击上面的按钮创建一个。", - "token_name": "令牌名称", - "created": "创建时间", - "actions": "操作", - "new_token_title": "新 ETAPI 令牌", - "new_token_message": "请输入新的令牌名称", - "default_token_name": "新令牌", - "error_empty_name": "令牌名称不能为空", - "token_created_title": "ETAPI 令牌已创建", - "token_created_message": "将创建的令牌复制到剪贴板。Trilium 存储了令牌的哈希值,这是您最后一次看到它。", - "rename_token": "重命名此令牌", - "delete_token": "删除/停用此令牌", - "rename_token_title": "重命名令牌", - "rename_token_message": "请输入新的令牌名称", - "delete_token_confirmation": "您确定要删除 ETAPI 令牌 \"{{name}}\" 吗?" - }, - "options_widget": { - "options_status": "选项状态", - "options_change_saved": "选项更改已保存。" - }, - "password": { - "heading": "密码", - "alert_message": "请务必记住您的新密码。密码用于登录 Web 界面和加密保护的笔记。如果您忘记了密码,所有保护的笔记将永久丢失。", - "reset_link": "点击这里重置。", - "old_password": "旧密码", - "new_password": "新密码", - "new_password_confirmation": "新密码确认", - "change_password": "更改密码", - "protected_session_timeout": "受保护会话超时", - "protected_session_timeout_description": "受保护会话超时是一个时间段,超时后受保护会话会从浏览器内存中清除。这是从最后一次与受保护笔记的交互开始计时的。更多信息请见", - "wiki": "维基", - "for_more_info": "更多信息。", - "protected_session_timeout_label": "受保护的会话超时:", - "reset_confirmation": "重置密码将永久丧失对所有现受保护笔记的访问。您真的要重置密码吗?", - "reset_success_message": "密码已重置。请设置新密码", - "change_password_heading": "更改密码", - "set_password_heading": "设置密码", - "set_password": "设置密码", - "password_mismatch": "新密码不一致。", - "password_changed_success": "密码已更改。按 OK 后 Trilium 将重载。" - }, - "multi_factor_authentication": { - "title": "多因素认证(MFA)", - "description": "多因素认证(MFA)为您的账户添加了额外的安全层。除了输入密码登录外,MFA还要求您提供一个或多个额外的验证信息来验证您的身份。这样,即使有人获得了您的密码,没有第二个验证信息他们也无法访问您的账户。这就像给您的门添加了一把额外的锁,让他人更难闯入。

请按照以下说明启用 MFA。如果您配置不正确,登录将仅使用密码。", - "mfa_enabled": "启用多因素认证", - "mfa_method": "MFA 方法", - "electron_disabled": "当前桌面版本不支持多因素认证。", - "totp_title": "基于时间的一次性密码(TOTP)", - "totp_description": "TOTP(基于时间的一次性密码)是一种安全功能,它会生成一个每30秒变化的唯一临时代码。您需要使用这个代码和您的密码一起登录账户,这使得他人更难访问您的账户。", - "totp_secret_title": "生成 TOTP 密钥", - "totp_secret_generate": "生成 TOTP 密钥", - "totp_secret_regenerate": "重新生成 TOTP 密钥", - "no_totp_secret_warning": "要启用 TOTP,您需要先生成一个 TOTP 密钥。", - "totp_secret_description_warning": "生成新的 TOTP 密钥后,您需要使用新的 TOTP 密钥重新登录。", - "totp_secret_generated": "TOTP 密钥已生成", - "totp_secret_warning": "请将生成的密钥保存在安全的地方。它将不会再次显示。", - "totp_secret_regenerate_confirm": "您确定要重新生成 TOTP 密钥吗?这将使之前的 TOTP 密钥失效,并使所有现有的恢复代码失效。请将生成的密钥保存在安全的地方。它将不会再次显示。", - "recovery_keys_title": "单点登录恢复密钥", - "recovery_keys_description": "单点登录恢复密钥用于在您无法访问您的认证器代码时登录。离开页面后,恢复密钥将不会再次显示。请将它们保存在安全的地方。", - "recovery_keys_description_warning": "离开页面后,恢复密钥将不会再次显示。请将它们保存在安全的地方。
一旦恢复密钥被使用,它将无法再次使用。", - "recovery_keys_error": "生成恢复代码时出错", - "recovery_keys_no_key_set": "未设置恢复代码", - "recovery_keys_generate": "生成恢复代码", - "recovery_keys_regenerate": "重新生成恢复代码", - "recovery_keys_used": "已使用: {{date}}", - "recovery_keys_unused": "恢复代码 {{index}} 未使用", - "oauth_title": "OAuth/OpenID 认证", - "oauth_description": "OpenID 是一种标准化方式,允许您使用其他服务(如 Google)的账号登录网站来验证您的身份。默认的身份提供者是 Google,但您可以更改为任何其他 OpenID 提供者。点击这里了解更多信息。请参阅这些 指南 通过 Google 设置 OpenID 服务。", - "oauth_description_warning": "要启用 OAuth/OpenID,您需要设置 config.ini 文件中的 OAuth/OpenID 基础 URL、客户端 ID 和客户端密钥,并重新启动应用程序。如果要从环境变量设置,请设置 TRILIUM_OAUTH_BASE_URL、TRILIUM_OAUTH_CLIENT_ID 和 TRILIUM_OAUTH_CLIENT_SECRET 环境变量。", - "oauth_missing_vars": "缺少以下设置项: {{missingVars}}", - "oauth_user_account": "用户账号:", - "oauth_user_email": "用户邮箱:", - "oauth_user_not_logged_in": "未登录!" - }, - "shortcuts": { - "keyboard_shortcuts": "快捷键", - "multiple_shortcuts": "同一操作的多个快捷键可以用逗号分隔。", - "electron_documentation": "请参阅 Electron 文档,了解可用的修饰符和键码。", - "type_text_to_filter": "输入文字以过滤快捷键...", - "action_name": "操作名称", - "shortcuts": "快捷键", - "default_shortcuts": "默认快捷键", - "description": "描述", - "reload_app": "重载应用以应用更改", - "set_all_to_default": "将所有快捷键重置为默认值", - "confirm_reset": "您确定要将所有键盘快捷键重置为默认值吗?" - }, - "spellcheck": { - "title": "拼写检查", - "description": "这些选项仅适用于桌面版本,浏览器将使用其原生的拼写检查功能。", - "enable": "启用拼写检查", - "language_code_label": "语言代码", - "language_code_placeholder": "例如 \"en-US\", \"de-AT\"", - "multiple_languages_info": "多种语言可以用逗号分隔,例如 \"en-US, de-DE, cs\"。", - "available_language_codes_label": "可用的语言代码:", - "restart-required": "拼写检查选项的更改将在应用重启后生效。" - }, - "sync_2": { - "config_title": "同步配置", - "server_address": "服务器实例地址", - "timeout": "同步超时(单位:毫秒)", - "proxy_label": "同步代理服务器(可选)", - "note": "注意", - "note_description": "代理设置留空则使用系统代理(仅桌面客户端有效)。", - "special_value_description": "另一个特殊值是 noproxy,它强制忽略系统代理并遵守 NODE_TLS_REJECT_UNAUTHORIZED。", - "save": "保存", - "help": "帮助", - "test_title": "同步测试", - "test_description": "测试和同步服务器之间的连接。如果同步服务器没有初始化,会将本地文档同步到同步服务器上。", - "test_button": "测试同步", - "handshake_failed": "同步服务器握手失败,错误:{{message}}" - }, - "api_log": { - "close": "关闭" - }, - "attachment_detail_2": { - "will_be_deleted_in": "此附件将在 {{time}} 后自动删除", - "will_be_deleted_soon": "该附件在不久后将被自动删除", - "deletion_reason": ",因为该附件未链接在笔记的内容中。为防止被删除,请将附件链接重新添加到内容中或将附件转换为笔记。", - "role_and_size": "角色:{{role}},大小:{{size}}", - "link_copied": "附件链接已复制到剪贴板。", - "unrecognized_role": "无法识别的附件角色 '{{role}}'。" - }, - "bookmark_switch": { - "bookmark": "书签", - "bookmark_this_note": "将此笔记添加到左侧面板的书签", - "remove_bookmark": "移除书签" - }, - "editability_select": { - "auto": "自动", - "read_only": "只读", - "always_editable": "始终可编辑", - "note_is_editable": "笔记如果不太长则可编辑。", - "note_is_read_only": "笔记为只读,但可以通过点击按钮进行编辑。", - "note_is_always_editable": "无论笔记长度如何,始终可编辑。" - }, - "note-map": { - "button-link-map": "链接地图", - "button-tree-map": "树形地图" - }, - "tree-context-menu": { - "open-in-a-new-tab": "在新标签页中打开 Ctrl+Click", - "open-in-a-new-split": "在新分栏中打开", - "insert-note-after": "在后面插入笔记", - "insert-child-note": "插入子笔记", - "delete": "删除", - "search-in-subtree": "在子树中搜索", - "hoist-note": "聚焦笔记", - "unhoist-note": "取消聚焦笔记", - "edit-branch-prefix": "编辑分支前缀", - "advanced": "高级", - "expand-subtree": "展开子树", - "collapse-subtree": "折叠子树", - "sort-by": "排序方式...", - "recent-changes-in-subtree": "子树中的最近更改", - "convert-to-attachment": "转换为附件", - "copy-note-path-to-clipboard": "复制笔记路径到剪贴板", - "protect-subtree": "保护子树", - "unprotect-subtree": "取消保护子树", - "copy-clone": "复制 / 克隆", - "clone-to": "克隆到...", - "cut": "剪切", - "move-to": "移动到...", - "paste-into": "粘贴到里面", - "paste-after": "粘贴到后面", - "export": "导出", - "import-into-note": "导入到笔记", - "apply-bulk-actions": "应用批量操作", - "converted-to-attachments": "{{count}} 个笔记已被转换为附件。", - "convert-to-attachment-confirm": "确定要将选中的笔记转换为其父笔记的附件吗?" - }, - "shared_info": { - "shared_publicly": "此笔记已公开分享于", - "shared_locally": "此笔记已在本地分享于", - "help_link": "访问 wiki 获取帮助。" - }, - "note_types": { - "text": "文本", - "code": "代码", - "saved-search": "保存的搜索", - "relation-map": "关系图", - "note-map": "笔记地图", - "render-note": "渲染笔记", - "mermaid-diagram": "Mermaid 图", - "canvas": "画布", - "web-view": "网页视图", - "mind-map": "思维导图", - "file": "文件", - "image": "图片", - "launcher": "启动器", - "doc": "文档", - "widget": "小部件", - "confirm-change": "当笔记内容不为空时,不建议更改笔记类型。您仍然要继续吗?", - "geo-map": "地理地图", - "beta-feature": "测试版", - "task-list": "待办事项列表" - }, - "protect_note": { - "toggle-on": "保护笔记", - "toggle-off": "取消保护笔记", - "toggle-on-hint": "笔记未受保护,点击以保护", - "toggle-off-hint": "笔记已受保护,点击以取消保护" - }, - "shared_switch": { - "shared": "已分享", - "toggle-on-title": "分享笔记", - "toggle-off-title": "取消分享笔记", - "shared-branch": "此笔记仅作为共享笔记存在,取消共享将删除它。您确定要继续并删除此笔记吗?", - "inherited": "此笔记无法在此处取消共享,因为它通过继承自上级笔记共享。" - }, - "template_switch": { - "template": "模板", - "toggle-on-hint": "将此笔记设为模板", - "toggle-off-hint": "取消笔记模板设置" - }, - "open-help-page": "打开帮助页面", - "find": { - "case_sensitive": "区分大小写", - "match_words": "匹配单词", - "find_placeholder": "在文本中查找...", - "replace_placeholder": "替换为...", - "replace": "替换", - "replace_all": "全部替换" - }, - "highlights_list_2": { - "title": "高亮列表", - "options": "选项" - }, - "quick-search": { - "placeholder": "快速搜索", - "searching": "正在搜索...", - "no-results": "未找到结果", - "more-results": "... 以及另外 {{number}} 个结果。", - "show-in-full-search": "在完整的搜索界面中显示" - }, - "note_tree": { - "collapse-title": "折叠笔记树", - "scroll-active-title": "滚动到活跃笔记", - "tree-settings-title": "树设置", - "hide-archived-notes": "隐藏已归档笔记", - "automatically-collapse-notes": "自动折叠笔记", - "automatically-collapse-notes-title": "笔记在一段时间内未使用将被折叠,以减少树形结构的杂乱。", - "save-changes": "保存并应用更改", - "auto-collapsing-notes-after-inactivity": "在不活跃后自动折叠笔记...", - "saved-search-note-refreshed": "已保存的搜索笔记已刷新。", - "hoist-this-note-workspace": "聚焦此笔记(工作区)", - "refresh-saved-search-results": "刷新保存的搜索结果", - "create-child-note": "创建子笔记", - "unhoist": "取消聚焦" - }, - "title_bar_buttons": { - "window-on-top": "保持此窗口置顶" - }, - "note_detail": { - "could_not_find_typewidget": "找不到类型为 '{{type}}' 的 typeWidget" - }, - "note_title": { - "placeholder": "请输入笔记标题..." - }, - "search_result": { - "no_notes_found": "没有找到符合搜索条件的笔记。", - "search_not_executed": "尚未执行搜索。请点击上方的\"搜索\"按钮查看结果。" - }, - "spacer": { - "configure_launchbar": "配置启动栏" - }, - "sql_result": { - "no_rows": "此查询没有返回任何数据" - }, - "sql_table_schemas": { - "tables": "表" - }, - "tab_row": { - "close_tab": "关闭标签页", - "add_new_tab": "添加新标签页", - "close": "关闭", - "close_other_tabs": "关闭其他标签页", - "close_right_tabs": "关闭右侧标签页", - "close_all_tabs": "关闭所有标签页", - "reopen_last_tab": "重新打开关闭的标签页", - "move_tab_to_new_window": "将此标签页移动到新窗口", - "copy_tab_to_new_window": "将此标签页复制到新窗口", - "new_tab": "新标签页" - }, - "toc": { - "table_of_contents": "目录", - "options": "选项" - }, - "watched_file_update_status": { - "file_last_modified": "文件 最后修改时间为 。", - "upload_modified_file": "上传修改的文件", - "ignore_this_change": "忽略此更改" - }, - "app_context": { - "please_wait_for_save": "请等待几秒钟以完成保存,然后您可以尝试再操作一次。" - }, - "note_create": { - "duplicated": "笔记 \"{{title}}\" 已被复制。" - }, - "image": { - "copied-to-clipboard": "图片的引用已复制到剪贴板,可以粘贴到任何文本笔记中。", - "cannot-copy": "无法将图片引用复制到剪贴板。" - }, - "clipboard": { - "cut": "笔记已剪切到剪贴板。", - "copied": "笔记已复制到剪贴板。" - }, - "entrypoints": { - "note-revision-created": "笔记修订已创建。", - "note-executed": "笔记已执行。", - "sql-error": "执行 SQL 查询时发生错误:{{message}}" - }, - "branches": { - "cannot-move-notes-here": "无法将笔记移动到这里。", - "delete-status": "删除状态", - "delete-notes-in-progress": "正在删除笔记:{{count}}", - "delete-finished-successfully": "删除成功完成。", - "undeleting-notes-in-progress": "正在恢复删除的笔记:{{count}}", - "undeleting-notes-finished-successfully": "恢复删除的笔记已成功完成。" - }, - "frontend_script_api": { - "async_warning": "您正在将一个异步函数传递给 `api.runOnBackend()`,这可能无法按预期工作。\\n要么使该函数同步(通过移除 `async` 关键字),要么使用 `api.runAsyncOnBackendWithManualTransactionHandling()`。", - "sync_warning": "您正在将一个同步函数传递给 `api.runAsyncOnBackendWithManualTransactionHandling()`,\\n而您可能应该使用 `api.runOnBackend()`。" - }, - "ws": { - "sync-check-failed": "同步检查失败!", - "consistency-checks-failed": "一致性检查失败!请查看日志了解详细信息。", - "encountered-error": "遇到错误 \"{{message}}\",请查看控制台。" - }, - "hoisted_note": { - "confirm_unhoisting": "请求的笔记 '{{requestedNote}}' 位于聚焦的笔记 '{{hoistedNote}}' 的子树之外,您必须取消聚焦才能访问该笔记。是否继续取消聚焦?" - }, - "launcher_context_menu": { - "reset_launcher_confirm": "您确定要重置 \"{{title}}\" 吗?此笔记(及其子项)中的所有数据/设置将丢失,且启动器将恢复到其原始位置。", - "add-note-launcher": "添加笔记启动器", - "add-script-launcher": "添加脚本启动器", - "add-custom-widget": "添加自定义小部件", - "add-spacer": "添加间隔", - "delete": "删除 ", - "reset": "重置", - "move-to-visible-launchers": "移动到可见启动器", - "move-to-available-launchers": "移动到可用启动器", - "duplicate-launcher": "复制启动器 " - }, - "editable-text": { - "auto-detect-language": "自动检测" - }, - "highlighting": { - "title": "代码块", - "description": "控制文本笔记中代码块的语法高亮,代码笔记不会受到影响。", - "color-scheme": "颜色方案" - }, - "code_block": { - "word_wrapping": "自动换行", - "theme_none": "无语法高亮", - "theme_group_light": "浅色主题", - "theme_group_dark": "深色主题" - }, - "classic_editor_toolbar": { - "title": "格式" - }, - "editor": { - "title": "编辑器" - }, - "editing": { - "editor_type": { - "label": "格式工具栏", - "floating": { - "title": "浮动", - "description": "编辑工具出现在光标附近;" - }, - "fixed": { - "title": "固定", - "description": "编辑工具出现在 \"格式\" 功能区标签中。" - }, - "multiline-toolbar": "如果工具栏无法完全显示,则分多行显示。" - } - }, - "electron_context_menu": { - "add-term-to-dictionary": "将 \"{{term}}\" 添加到字典", - "cut": "剪切", - "copy": "复制", - "copy-link": "复制链接", - "paste": "粘贴", - "paste-as-plain-text": "以纯文本粘贴", - "search_online": "用 {{searchEngine}} 搜索 \"{{term}}\"" - }, - "image_context_menu": { - "copy_reference_to_clipboard": "复制引用到剪贴板", - "copy_image_to_clipboard": "复制图片到剪贴板" - }, - "link_context_menu": { - "open_note_in_new_tab": "在新标签页中打开笔记", - "open_note_in_new_split": "在新分屏中打开笔记", - "open_note_in_new_window": "在新窗口中打开笔记" - }, - "electron_integration": { - "desktop-application": "桌面应用程序", - "native-title-bar": "原生标题栏", - "native-title-bar-description": "对于 Windows 和 macOS,关闭原生标题栏可使应用程序看起来更紧凑。在 Linux 上,保留原生标题栏可以更好地与系统集成。", - "background-effects": "启用背景效果(仅适用于 Windows 11)", - "background-effects-description": "Mica 效果为应用窗口添加模糊且时尚的背景,营造出深度感和现代外观。", - "restart-app-button": "重启应用程序以查看更改", - "zoom-factor": "缩放系数" - }, - "note_autocomplete": { - "search-for": "搜索 \"{{term}}\"", - "create-note": "创建并链接子笔记 \"{{term}}\"", - "insert-external-link": "插入指向 \"{{term}}\" 的外部链接", - "clear-text-field": "清除文本字段", - "show-recent-notes": "显示最近的笔记", - "full-text-search": "全文搜索" - }, - "note_tooltip": { - "note-has-been-deleted": "笔记已被删除。" - }, - "geo-map": { - "create-child-note-title": "创建一个新的子笔记并将其添加到地图中", - "create-child-note-instruction": "单击地图以在该位置创建新笔记,或按 Escape 以取消。", - "unable-to-load-map": "无法加载地图。" - }, - "geo-map-context": { - "open-location": "打开位置", - "remove-from-map": "从地图中移除" - }, - "help-button": { - "title": "打开相关帮助页面" - }, - "duration": { - "seconds": "秒", - "minutes": "分钟", - "hours": "小时", - "days": "天" - }, - "share": { - "title": "共享设置", - "redirect_bare_domain": "将裸域重定向到共享页面", - "redirect_bare_domain_description": "将匿名用户重定向到共享页面,而不是显示登录", - "show_login_link": "在共享主题中显示登录链接", - "show_login_link_description": "在共享页面底部添加登录链接", - "check_share_root": "检查共享根状态", - "share_root_found": "共享根笔记 '{{noteTitle}}' 已准备好", - "share_root_not_found": "未找到带有 #shareRoot 标签的笔记", - "share_root_not_shared": "笔记 '{{noteTitle}}' 具有 #shareRoot 标签,但未共享" - }, - "time_selector": { - "invalid_input": "输入的时间值不是有效数字。", - "minimum_input": "输入的时间值需要至少 {{minimumSeconds}} 秒。" - }, - "tasks": { - "due": { - "today": "今天", - "tomorrow": "明天", - "yesterday": "昨天" - } + "about": { + "title": "关于 Trilium Notes", + "close": "关闭", + "homepage": "项目主页:", + "app_version": "应用版本:", + "db_version": "数据库版本:", + "sync_version": "同步版本:", + "build_date": "编译日期:", + "build_revision": "编译版本:", + "data_directory": "数据目录:" + }, + "toast": { + "critical-error": { + "title": "严重错误", + "message": "发生了严重错误,导致客户端应用程序无法启动:\n\n{{message}}\n\n这很可能是由于脚本以意外的方式失败引起的。请尝试以安全模式启动应用程序并解决问题。" + }, + "widget-error": { + "title": "小部件初始化失败", + "message-custom": "来自 ID 为 \"{{id}}\"、标题为 \"{{title}}\" 的笔记的自定义小部件因以下原因无法初始化:\n\n{{message}}", + "message-unknown": "未知小部件因以下原因无法初始化:\n\n{{message}}" + }, + "bundle-error": { + "title": "加载自定义脚本失败", + "message": "来自 ID 为 \"{{id}}\"、标题为 \"{{title}}\" 的笔记的脚本因以下原因无法执行:\n\n{{message}}" } + }, + "add_link": { + "add_link": "添加链接", + "help_on_links": "链接帮助", + "close": "关闭", + "note": "笔记", + "search_note": "按名称搜索笔记", + "link_title_mirrors": "链接标题跟随笔记标题变化", + "link_title_arbitrary": "链接标题可随意修改", + "link_title": "链接标题", + "button_add_link": "添加链接 回车" + }, + "branch_prefix": { + "edit_branch_prefix": "编辑分支前缀", + "help_on_tree_prefix": "有关树前缀的帮助", + "close": "关闭", + "prefix": "前缀:", + "save": "保存", + "branch_prefix_saved": "分支前缀已保存。" + }, + "bulk_actions": { + "bulk_actions": "批量操作", + "close": "关闭", + "affected_notes": "受影响的笔记", + "include_descendants": "包括所选笔记的子笔记", + "available_actions": "可用操作", + "chosen_actions": "选择的操作", + "execute_bulk_actions": "执行批量操作", + "bulk_actions_executed": "批量操作已成功执行。", + "none_yet": "暂无操作 ... 通过点击上方的可用操作添加一个操作。", + "labels": "标签", + "relations": "关联关系", + "notes": "笔记", + "other": "其它" + }, + "clone_to": { + "clone_notes_to": "克隆笔记到...", + "close": "关闭", + "help_on_links": "链接帮助", + "notes_to_clone": "要克隆的笔记", + "target_parent_note": "目标父笔记", + "search_for_note_by_its_name": "按名称搜索笔记", + "cloned_note_prefix_title": "克隆的笔记将在笔记树中显示给定的前缀", + "prefix_optional": "前缀(可选)", + "clone_to_selected_note": "克隆到选定的笔记 回车", + "no_path_to_clone_to": "没有克隆路径。", + "note_cloned": "笔记 \"{{clonedTitle}}\" 已克隆到 \"{{targetTitle}}\"" + }, + "confirm": { + "confirmation": "确认", + "close": "关闭", + "cancel": "取消", + "ok": "确定", + "are_you_sure_remove_note": "确定要从关系图中移除笔记 \"{{title}}\" ?", + "if_you_dont_check": "如果不选中此项,笔记将仅从关系图中移除。", + "also_delete_note": "同时删除笔记" + }, + "delete_notes": { + "delete_notes_preview": "删除笔记预览", + "close": "关闭", + "delete_all_clones_description": "同时删除所有克隆(可以在最近修改中撤消)", + "erase_notes_description": "通常(软)删除仅标记笔记为已删除,可以在一段时间内通过最近修改对话框撤消。选中此选项将立即擦除笔记,不可撤销。", + "erase_notes_warning": "永久擦除笔记(无法撤销),包括所有克隆。这将强制应用程序重载。", + "notes_to_be_deleted": "将删除以下笔记 ({{- noteCount}})", + "no_note_to_delete": "没有笔记将被删除(仅克隆)。", + "broken_relations_to_be_deleted": "将删除以下关系并断开连接 ({{- relationCount}})", + "cancel": "取消", + "ok": "确定", + "deleted_relation_text": "笔记 {{- note}} (将被删除的笔记) 被以下关系 {{- relation}} 引用, 来自 {{- source}}。" + }, + "export": { + "export_note_title": "导出笔记", + "close": "关闭", + "export_type_subtree": "此笔记及其所有子笔记", + "format_html": "HTML - 推荐,因为它保留所有格式", + "format_html_zip": "HTML ZIP 归档 - 建议使用此选项,因为它保留了所有格式。", + "format_markdown": "Markdown - 保留大部分格式。", + "format_opml": "OPML - 大纲交换格式,仅限文本。不包括格式、图像和文件。", + "opml_version_1": "OPML v1.0 - 仅限纯文本", + "opml_version_2": "OPML v2.0 - 还允许 HTML", + "export_type_single": "仅此笔记,不包括子笔记", + "export": "导出", + "choose_export_type": "请先选择导出类型", + "export_status": "导出状态", + "export_in_progress": "导出进行中:{{progressCount}}", + "export_finished_successfully": "导出成功完成。", + "format_pdf": "PDF - 用于打印或共享目的。" + }, + "help": { + "fullDocumentation": "帮助(完整在线文档)", + "close": "关闭", + "noteNavigation": "笔记导航", + "goUpDown": "UP, DOWN - 在笔记列表中向上/向下移动", + "collapseExpand": "LEFT, RIGHT - 折叠/展开节点", + "notSet": "未设置", + "goBackForwards": "在历史记录中前后移动", + "showJumpToNoteDialog": "显示\"跳转到\" 对话框", + "scrollToActiveNote": "滚动到活跃笔记", + "jumpToParentNote": "Backspace - 跳转到父笔记", + "collapseWholeTree": "折叠整个笔记树", + "collapseSubTree": "折叠子树", + "tabShortcuts": "标签页快捷键", + "newTabNoteLink": "CTRL+click - 在笔记链接上使用CTRL+点击(或中键点击)在新标签页中打开笔记", + "onlyInDesktop": "仅在桌面版(电子构建)中", + "openEmptyTab": "打开空白标签页", + "closeActiveTab": "关闭活跃标签页", + "activateNextTab": "激活下一个标签页", + "activatePreviousTab": "激活上一个标签页", + "creatingNotes": "创建笔记", + "createNoteAfter": "在活跃笔记后创建新笔记", + "createNoteInto": "在活跃笔记中创建新子笔记", + "editBranchPrefix": "编辑活跃笔记克隆的前缀", + "movingCloningNotes": "移动/克隆笔记", + "moveNoteUpDown": "在笔记列表中向上/向下移动笔记", + "moveNoteUpHierarchy": "在层级结构中向上移动笔记", + "multiSelectNote": "多选上/下笔记", + "selectAllNotes": "选择当前级别的所有笔记", + "selectNote": "Shift+click - 选择笔记", + "copyNotes": "将活跃笔记(或当前选择)复制到剪贴板(用于克隆)", + "cutNotes": "将当前笔记(或当前选择)剪切到剪贴板(用于移动笔记)", + "pasteNotes": "将笔记粘贴为活跃笔记的子笔记(根据是复制还是剪切到剪贴板来决定是移动还是克隆)", + "deleteNotes": "删除笔记/子树", + "editingNotes": "编辑笔记", + "editNoteTitle": "在树形笔记树中,焦点会从笔记树切换到笔记标题。按下 Enter 键会将焦点从笔记标题切换到文本编辑器。按下 Ctrl+. 会将焦点从编辑器切换回笔记树。", + "createEditLink": "Ctrl+K - 创建/编辑外部链接", + "createInternalLink": "创建内部链接", + "followLink": "跟随光标下的链接", + "insertDateTime": "在插入点插入当前日期和时间", + "jumpToTreePane": "跳转到树面板并滚动到活跃笔记", + "markdownAutoformat": "类 Markdown 自动格式化", + "headings": "##, ###, #### 等,后跟空格,自动转换为标题", + "bulletList": "*- 后跟空格,自动转换为项目符号列表", + "numberedList": "1. or 1) 后跟空格,自动转换为编号列表", + "blockQuote": "一行以 > 开头并后跟空格,自动转换为块引用", + "troubleshooting": "故障排除", + "reloadFrontend": "重载 Trilium 前端", + "showDevTools": "显示开发者工具", + "showSQLConsole": "显示 SQL 控制台", + "other": "其他", + "quickSearch": "定位到快速搜索框", + "inPageSearch": "页面内搜索" + }, + "import": { + "importIntoNote": "导入到笔记", + "close": "关闭", + "chooseImportFile": "选择导入文件", + "importDescription": "所选文件的内容将作为子笔记导入到", + "options": "选项", + "safeImportTooltip": "Trilium .zip 导出文件可能包含可能有害的可执行脚本。安全导入将停用所有导入脚本的自动执行。仅当您完全信任导入的可执行脚本的内容时,才取消选中“安全导入”。", + "safeImport": "安全导入", + "explodeArchivesTooltip": "如果选中此项,则Trilium将读取.zip.enex.opml文件,并从这些归档文件内部的文件创建笔记。如果未选中,则Trilium会将这些归档文件本身附加到笔记中。", + "explodeArchives": "读取.zip.enex.opml归档文件的内容。", + "shrinkImagesTooltip": "

如果选中此选项,Trilium将尝试通过缩放和优化来缩小导入的图像,这可能会影响图像的感知质量。如果未选中,图像将不做修改地导入。

这不适用于带有元数据的.zip导入,因为这些文件已被假定为已优化。

", + "shrinkImages": "压缩图像", + "textImportedAsText": "如果元数据不明确,将 HTML、Markdown 和 TXT 导入为文本笔记", + "codeImportedAsCode": "如果元数据不明确,将识别的代码文件(例如.json)导入为代码笔记", + "replaceUnderscoresWithSpaces": "在导入的笔记名称中将下划线替换为空格", + "import": "导入", + "failed": "导入失败: {{message}}.", + "html_import_tags": { + "title": "HTML 导入标签", + "description": "配置在导入笔记时应保留的 HTML 标签。不在此列表中的标签将在导入过程中被移除。一些标签(例如 'script')为了安全性会始终被移除。", + "placeholder": "输入 HTML 标签,每行一个", + "reset_button": "重置为默认列表" + }, + "import-status": "导入状态", + "in-progress": "导入进行中:{{progress}}", + "successful": "导入成功完成。" + }, + "include_note": { + "dialog_title": "包含笔记", + "close": "关闭", + "label_note": "笔记", + "placeholder_search": "按名称搜索笔记", + "box_size_prompt": "包含笔记的框大小:", + "box_size_small": "小型 (显示大约10行)", + "box_size_medium": "中型 (显示大约30行)", + "box_size_full": "完整显示(完整文本框)", + "button_include": "包含笔记 回车" + }, + "info": { + "modalTitle": "信息消息", + "closeButton": "关闭", + "okButton": "确定" + }, + "jump_to_note": { + "close": "关闭", + "search_button": "全文搜索 Ctrl+回车" + }, + "markdown_import": { + "dialog_title": "Markdown 导入", + "close": "关闭", + "modal_body_text": "由于浏览器沙箱的限制,无法直接从 JavaScript 读取剪贴板内容。请将要导入的 Markdown 文本粘贴到下面的文本框中,然后点击导入按钮", + "import_button": "导入", + "import_success": "Markdown 内容已成功导入文档。" + }, + "move_to": { + "dialog_title": "移动笔记到...", + "close": "关闭", + "notes_to_move": "需要移动的笔记", + "target_parent_note": "目标父笔记", + "search_placeholder": "通过名称搜索笔记", + "move_button": "移动到选定的笔记 回车", + "error_no_path": "没有可以移动到的路径。", + "move_success_message": "所选笔记已移动到" + }, + "note_type_chooser": { + "modal_title": "选择笔记类型", + "close": "关闭", + "modal_body": "选择新笔记的类型或模板:", + "templates": "模板:" + }, + "password_not_set": { + "title": "密码未设置", + "close": "关闭", + "body1": "受保护的笔记使用用户密码加密,但密码尚未设置。", + "body2": "点击这里打开选项对话框并设置您的密码。" + }, + "prompt": { + "title": "提示", + "close": "关闭", + "ok": "确定 回车", + "defaultTitle": "提示" + }, + "protected_session_password": { + "modal_title": "保护会话", + "help_title": "关于保护笔记的帮助", + "close_label": "关闭", + "form_label": "输入密码进入保护会话以继续:", + "start_button": "开始保护会话 回车" + }, + "recent_changes": { + "title": "最近修改", + "erase_notes_button": "立即清理已删除的笔记", + "close": "关闭", + "deleted_notes_message": "已删除的笔记已清理。", + "no_changes_message": "暂无修改...", + "undelete_link": "恢复删除", + "confirm_undelete": "您确定要恢复此笔记及其子笔记吗?" + }, + "revisions": { + "note_revisions": "笔记历史版本", + "delete_all_revisions": "删除此笔记的所有修订版本", + "delete_all_button": "删除所有修订版本", + "help_title": "关于笔记修订版本的帮助", + "close": "关闭", + "revision_last_edited": "此修订版本上次编辑于 {{date}}", + "confirm_delete_all": "您是否要删除此笔记的所有修订版本?", + "no_revisions": "此笔记暂无修订版本...", + "restore_button": "恢复", + "confirm_restore": "您是否要恢复此修订版本?这将使用此修订版本覆盖笔记的当前标题和内容。", + "delete_button": "删除", + "confirm_delete": "您是否要删除此修订版本?", + "revisions_deleted": "笔记修订版本已删除。", + "revision_restored": "笔记修订版本已恢复。", + "revision_deleted": "笔记修订版本已删除。", + "snapshot_interval": "笔记快照保存间隔: {{seconds}}秒。", + "maximum_revisions": "当前笔记的最大历史数量: {{number}}。", + "settings": "笔记修订设置", + "download_button": "下载", + "mime": "MIME 类型:", + "file_size": "文件大小:", + "preview": "预览:", + "preview_not_available": "无法预览此类型的笔记。" + }, + "sort_child_notes": { + "sort_children_by": "按...排序子笔记", + "close": "关闭", + "sorting_criteria": "排序条件", + "title": "标题", + "date_created": "创建日期", + "date_modified": "修改日期", + "sorting_direction": "排序方向", + "ascending": "升序", + "descending": "降序", + "folders": "文件夹", + "sort_folders_at_top": "将文件夹置顶排序", + "natural_sort": "自然排序", + "sort_with_respect_to_different_character_sorting": "根据不同语言或地区的字符排序和排序规则排序。", + "natural_sort_language": "自然排序语言", + "the_language_code_for_natural_sort": "自然排序的语言代码,例如中文的 \"zh-CN\"。", + "sort": "排序 Enter" + }, + "upload_attachments": { + "upload_attachments_to_note": "上传附件到笔记", + "close": "关闭", + "choose_files": "选择文件", + "files_will_be_uploaded": "文件将作为附件上传到", + "options": "选项", + "shrink_images": "缩小图片", + "upload": "上传", + "tooltip": "如果您勾选此选项,Trilium 将尝试通过缩放和优化来缩小上传的图像,这可能会影响感知的图像质量。如果未选中,则将以不进行修改的方式上传图像。" + }, + "attribute_detail": { + "attr_detail_title": "属性详情标题", + "close_button_title": "取消修改并关闭", + "attr_is_owned_by": "属性所有者", + "attr_name_title": "属性名称只能由字母数字字符、冒号和下划线组成", + "name": "名称", + "value": "值", + "target_note_title": "关系是源笔记和目标笔记之间的命名连接。", + "target_note": "目标笔记", + "promoted_title": "升级属性在笔记上突出显示。", + "promoted": "升级", + "promoted_alias_title": "在升级属性界面中显示的名称。", + "promoted_alias": "别名", + "multiplicity_title": "多重性定义了可以创建的含有相同名称的属性的数量 - 最多为1或多于1。", + "multiplicity": "多重性", + "single_value": "单值", + "multi_value": "多值", + "label_type_title": "标签类型将帮助 Trilium 选择适合的界面来输入标签值。", + "label_type": "类型", + "text": "文本", + "number": "数字", + "boolean": "布尔值", + "date": "日期", + "date_time": "日期和时间", + "time": "时间", + "url": "网址", + "precision_title": "值设置界面中浮点数后的位数。", + "precision": "精度", + "digits": "位数", + "inverse_relation_title": "可选设置,定义此关系与哪个关系相反。例如:父 - 子是彼此的反向关系。", + "inverse_relation": "反向关系", + "inheritable_title": "可继承属性将被继承到此树下的所有后代。", + "inheritable": "可继承", + "save_and_close": "保存并关闭 Ctrl+回车", + "delete": "删除", + "related_notes_title": "含有此标签的其他笔记", + "more_notes": "更多笔记", + "label": "标签详情", + "label_definition": "标签定义详情", + "relation": "关系详情", + "relation_definition": "关系定义详情", + "disable_versioning": "禁用自动版本控制。适用于例如大型但不重要的笔记 - 例如用于脚本编写的大型JS库", + "calendar_root": "标记应用作为每日笔记的根。只应标记一个笔记。", + "archived": "含有此标签的笔记默认在搜索结果中不可见(也适用于跳转到、添加链接对话框等)。", + "exclude_from_export": "笔记(及其子树)不会包含在任何笔记导出中", + "run": "定义脚本应运行的事件。可能的值包括:\n
    \n
  • frontendStartup - Trilium前端启动时(或刷新时),但不会在移动端执行。
  • \n
  • mobileStartup - Trilium前端启动时(或刷新时), 在移动端会执行。
  • \n
  • backendStartup - Trilium后端启动时
  • \n
  • hourly - 每小时运行一次。您可以使用附加标签runAtHour指定小时。
  • \n
  • daily - 每天运行一次
  • \n
", + "run_on_instance": "定义应在哪个Trilium实例上运行。默认为所有实例。", + "run_at_hour": "应在哪个小时运行。应与#run=hourly一起使用。可以多次定义,以便一天内运行多次。", + "disable_inclusion": "含有此标签的脚本不会包含在父脚本执行中。", + "sorted": "按标题字母顺序保持子笔记排序", + "sort_direction": "ASC(默认)或DESC", + "sort_folders_first": "文件夹(含有子笔记的笔记)应排在顶部", + "top": "在其父级中保留给定笔记在顶部(仅适用于排序的父级)", + "hide_promoted_attributes": "隐藏此笔记上的升级属性", + "read_only": "编辑器处于只读模式。仅适用于文本和代码笔记。", + "auto_read_only_disabled": "文本/代码笔记可以在太大时自动设置为只读模式。您可以通过向笔记添加此标签来对单个笔记单独设置禁用只读。", + "app_css": "标记加载到 Trilium 应用程序中的 CSS 笔记,因此可以用于修改 Trilium 的外观。", + "app_theme": "标记为完整的 Trilium 主题的 CSS 笔记,因此可以在 Trilium 选项中使用。", + "app_theme_base": "设置为“next”,以便使用 TriliumNext 主题而不是旧主题作为自定义主题的基础。", + "css_class": "该标签的值将作为 CSS 类添加到树中表示给定笔记的节点。这对于高级主题设置非常有用。可用于模板笔记。", + "icon_class": "该标签的值将作为 CSS 类添加到树中图标上,有助于从视觉上区分笔记树里的笔记。比如可以是 bx bx-home - 图标来自 boxicons。可用于模板笔记。", + "page_size": "笔记列表中每页的项目数", + "custom_request_handler": "请参阅自定义请求处理程序", + "custom_resource_provider": "请参阅自定义请求处理程序", + "widget": "将此笔记标记为将添加到 Trilium 组件树中的自定义小部件", + "workspace": "将此笔记标记为允许轻松聚焦的工作区", + "workspace_icon_class": "定义在选项卡中聚焦到此笔记时将使用的框图图标 CSS 类", + "workspace_tab_background_color": "聚焦到此笔记时在笔记标签页中使用的 CSS 颜色", + "workspace_calendar_root": "定义每个工作区的日历根", + "workspace_template": "在创建新笔记时,此笔记将出现在可用模板的选择中,但仅当聚焦到包含此模板的工作区时", + "search_home": "新的搜索笔记将作为此笔记的子笔记创建", + "workspace_search_home": "当聚焦到此工作区笔记的某个上级笔记时,新的搜索笔记将作为此笔记的子笔记创建", + "inbox": "使用侧边栏中的“新建笔记”按钮创建笔记时,默认收件箱位置。笔记将作为标有 #inbox 标签的笔记的子笔记创建。", + "workspace_inbox": "当聚焦到此工作区笔记的某个上级笔记时,新的笔记的默认收件箱位置", + "sql_console_home": "SQL 控制台笔记的默认位置", + "bookmark_folder": "含有此标签的笔记将作为文件夹出现在书签中(允许访问其子笔记)", + "share_hidden_from_tree": "此笔记从左侧导航树中隐藏,但仍可通过其 URL 访问", + "share_external_link": "笔记将在分享树中作为指向外部网站的链接", + "share_alias": "使用此别名定义将在 https://您的trilium域名/share/[别名] 下可用的笔记", + "share_omit_default_css": "将省略默认的分享页面 CSS。当您进行广泛的样式修改时使用。", + "share_root": "标记作为在 /share 地址分享的根节点笔记。", + "share_description": "定义要添加到 HTML meta 标签以供描述的文本", + "share_raw": "笔记将以其原始格式提供,不带 HTML 包装器", + "share_disallow_robot_indexing": "将通过 X-Robots-Tag: noindex 标头禁止爬虫机器人索引此笔记", + "share_credentials": "需要凭据才能访问此分享笔记。值应以 'username:password' 格式提供。请勿忘记使其可继承以应用于子笔记/图像。", + "share_index": "含有此标签的笔记将列出所有分享笔记的根", + "display_relations": "应显示的逗号分隔关系名称。将隐藏所有其他关系。", + "hide_relations": "应隐藏的逗号分隔关系名称。将显示所有其他关系。", + "title_template": "创建为此笔记的子笔记时的默认标题。该值将作为 JavaScript 字符串评估\n 并因此可以通过注入的 nowparentNote 变量丰富动态内容。示例:\n \n
    \n
  • ${parentNote.getLabelValue('authorName')} 的文学作品
  • \n
  • ${now.format('YYYY-MM-DD HH:mm:ss')} 的日志
  • \n
\n \n 有关详细信息,请参见含有详细信息的 wikiparentNotenow 的 API 文档以获取详情。", + "template": "此笔记在创建新笔记时,将出现在可用模板的可选列表中", + "toc": "#toc#toc=show 将强制显示目录。#toc=hide 将强制隐藏它。如果标签不存在,则遵守全局设置", + "color": "定义笔记树、链接等中笔记的颜色。使用任何有效的 CSS 颜色值,如 'red' 或 #a13d5f", + "keyboard_shortcut": "定义立即跳转到此笔记的键盘快捷键。示例:'ctrl+alt+e'。需要前端重载才能生效。", + "keep_current_hoisting": "即使笔记不在当前聚焦的子树中显示,打开此链接也不会改变聚焦。", + "execute_button": "将执行当前代码笔记的按钮标题", + "execute_description": "显示与执行按钮一起显示的当前代码笔记的更长描述", + "exclude_from_note_map": "含有此标签的笔记将从笔记地图中隐藏", + "new_notes_on_top": "新笔记将创建在父笔记的顶部,而不是底部。", + "hide_highlight_widget": "隐藏高亮列表小部件", + "run_on_note_creation": "在后端创建笔记时执行。如果要为在特定子树下创建的所有笔记运行脚本,请使用此关系。在这种情况下,在子树根笔记上创建它并使其可继承。在子树中的任何深度创建新笔记都会触发脚本。", + "run_on_child_note_creation": "当创建新的子笔记时执行", + "run_on_note_title_change": "当笔记标题修改时执行(包括笔记创建)", + "run_on_note_content_change": "当笔记内容修改时执行(包括笔记创建)。", + "run_on_note_change": "当笔记修改时执行(包括笔记创建)。不包括内容修改", + "run_on_note_deletion": "在删除笔记时执行", + "run_on_branch_creation": "在创建分支时执行。分支是父笔记和子笔记之间的链接,并且在克隆或移动笔记时创建。", + "run_on_branch_change": "在分支更新时执行。", + "run_on_branch_deletion": "在删除分支时执行。分支是父笔记和子笔记之间的链接,例如在移动笔记时删除(删除旧的分支/链接)。", + "run_on_attribute_creation": "在为定义此关系的笔记创建新属性时执行", + "run_on_attribute_change": "当修改定义此关系的笔记的属性时执行。删除属性时也会触发此操作。", + "relation_template": "即使没有父子关系,笔记的属性也将继承。如果空,则笔记的内容和子树将添加到实例笔记中。有关详细信息,请参见文档。", + "inherit": "即使没有父子关系,笔记的属性也将继承。有关类似概念的模板关系,请参见模板关系。请参阅文档中的属性继承。", + "render_note": "“渲染 HTML 笔记”类型的笔记将使用代码笔记(HTML 或脚本)进行呈现,因此需要指定要渲染的笔记", + "widget_relation": "此关系的目标将作为侧边栏中的小部件执行和呈现", + "share_css": "将注入分享页面的 CSS 笔记。CSS 笔记也必须位于分享子树中。可以考虑一并使用 'share_hidden_from_tree' 和 'share_omit_default_css'。", + "share_js": "将注入分享页面的 JavaScript 笔记。JS 笔记也必须位于分享子树中。可以考虑一并使用 'share_hidden_from_tree'。", + "share_template": "用作显示分享笔记的模板的嵌入式 JavaScript 笔记。如果没有,将回退到默认模板。可以考虑一并使用 'share_hidden_from_tree'。", + "share_favicon": "在分享页面中设置的 favicon 笔记。一般需要将它设置为分享和可继承。Favicon 笔记也必须位于分享子树中。可以考虑一并使用 'share_hidden_from_tree'。", + "is_owned_by_note": "由此笔记所有", + "other_notes_with_name": "其它含有 {{attributeType}} 名为 \"{{attributeName}}\" 的的笔记", + "and_more": "... 以及另外 {{count}} 个", + "print_landscape": "导出为 PDF 时,将页面方向更改为横向而不是纵向。", + "print_page_size": "导出为 PDF 时,更改页面大小。支持的值:A0A1A2A3A4A5A6LegalLetterTabloidLedger。" + }, + "attribute_editor": { + "help_text_body1": "要添加标签,只需输入例如 #rock 或者如果您还想添加值,则例如 #year = 2020", + "help_text_body2": "对于关系,请输入 ~author = @,这将显示一个自动完成列表,您可以查找所需的笔记。", + "help_text_body3": "您也可以使用右侧的 + 按钮添加标签和关系。

", + "save_attributes": "保存属性 ", + "add_a_new_attribute": "添加新属性", + "add_new_label": "添加新标签 ", + "add_new_relation": "添加新关系 ", + "add_new_label_definition": "添加新标签定义", + "add_new_relation_definition": "添加新关系定义", + "placeholder": "在此输入标签和关系" + }, + "abstract_bulk_action": { + "remove_this_search_action": "删除此搜索操作" + }, + "execute_script": { + "execute_script": "执行脚本", + "help_text": "您可以在匹配的笔记上执行简单的脚本。", + "example_1": "例如,要在笔记标题后附加字符串,请使用以下脚本:", + "example_2": "更复杂的例子,删除所有匹配的笔记属性:" + }, + "add_label": { + "add_label": "添加标签", + "label_name_placeholder": "标签名称", + "label_name_title": "允许使用字母、数字、下划线和冒号。", + "to_value": "值为", + "new_value_placeholder": "新值", + "help_text": "在所有匹配的笔记上:", + "help_text_item1": "如果笔记尚无此标签,则创建给定的标签", + "help_text_item2": "或更改现有标签的值", + "help_text_note": "您也可以在不指定值的情况下调用此方法,这种情况下,标签将分配给没有值的笔记。" + }, + "delete_label": { + "delete_label": "删除标签", + "label_name_placeholder": "标签名称", + "label_name_title": "允许使用字母、数字、下划线和冒号。" + }, + "rename_label": { + "rename_label": "重命名标签", + "rename_label_from": "重命名标签从", + "old_name_placeholder": "旧名称", + "to": "改为", + "new_name_placeholder": "新名称", + "name_title": "允许使用字母、数字、下划线和冒号。" + }, + "update_label_value": { + "update_label_value": "更新标签值", + "label_name_placeholder": "标签名称", + "label_name_title": "允许使用字母、数字、下划线和冒号。", + "to_value": "值为", + "new_value_placeholder": "新值", + "help_text": "在所有匹配的笔记上,更改现有标签的值。", + "help_text_note": "您也可以在不指定值的情况下调用此方法,这种情况下,标签将分配给没有值的笔记。" + }, + "delete_note": { + "delete_note": "删除笔记", + "delete_matched_notes": "删除匹配的笔记", + "delete_matched_notes_description": "这将删除匹配的笔记。", + "undelete_notes_instruction": "删除后,可以从“最近修改”对话框中恢复它们。", + "erase_notes_instruction": "要永久擦除笔记,您可以在删除后转到“选项”->“其他”,然后单击“立即擦除已删除的笔记”按钮。" + }, + "delete_revisions": { + "delete_note_revisions": "删除笔记修订版本", + "all_past_note_revisions": "所有匹配笔记的过去修订版本都将被删除。笔记本身将完全保留。换句话说,笔记的历史将被删除。" + }, + "move_note": { + "move_note": "移动笔记", + "to": "到", + "target_parent_note": "目标父笔记", + "on_all_matched_notes": "对于所有匹配的笔记", + "move_note_new_parent": "如果笔记只有一个父级(即旧分支被移除并创建新分支到新父级),则将笔记移动到新父级", + "clone_note_new_parent": "如果笔记有多个克隆/分支(不清楚应该移除哪个分支),则将笔记克隆到新父级", + "nothing_will_happen": "如果笔记无法移动到目标笔记(即这会创建一个树循环),则不会发生任何事情" + }, + "rename_note": { + "rename_note": "重命名笔记", + "rename_note_title_to": "重命名笔记标题为", + "new_note_title": "新笔记标题", + "click_help_icon": "点击右侧的帮助图标查看所有选项", + "evaluated_as_js_string": "给定的值被评估为 JavaScript 字符串,因此可以通过注入的 note 变量(正在重命名的笔记)丰富动态内容。 例如:", + "example_note": "Note - 所有匹配的笔记都被重命名为“Note”", + "example_new_title": "NEW: ${note.title} - 匹配的笔记标题以“NEW: ”为前缀", + "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - 匹配的笔记以笔记的创建月份-日期为前缀", + "api_docs": "有关详细信息,请参阅笔记及其dateCreatedObj / utcDateCreatedObj 属性的API文档。" + }, + "add_relation": { + "add_relation": "添加关系", + "relation_name": "关系名称", + "allowed_characters": "允许的字符为字母数字、下划线和冒号。", + "to": "到", + "target_note": "目标笔记", + "create_relation_on_all_matched_notes": "在所有匹配的笔记上创建指定的关系。" + }, + "delete_relation": { + "delete_relation": "删除关系", + "relation_name": "关系名称", + "allowed_characters": "允许的字符为字母数字、下划线和冒号。" + }, + "rename_relation": { + "rename_relation": "重命名关系", + "rename_relation_from": "重命名关系,从", + "old_name": "旧名称", + "to": "改为", + "new_name": "新名称", + "allowed_characters": "允许的字符为字母数字、下划线和冒号。" + }, + "update_relation_target": { + "update_relation": "更新关系", + "relation_name": "关系名称", + "allowed_characters": "允许的字符为字母数字、下划线和冒号。", + "to": "到", + "target_note": "目标笔记", + "on_all_matched_notes": "在所有匹配的笔记上", + "change_target_note": "或更改现有关系的目标笔记", + "update_relation_target": "更新关系目标" + }, + "attachments_actions": { + "open_externally": "用外部程序打开", + "open_externally_title": "文件将会在外部应用程序中打开,并监视其更改。然后您可以将修改后的版本上传回 Trilium。", + "open_custom": "自定义打开方式", + "open_custom_title": "文件将会在外部应用程序中打开,并监视其更改。然后您可以将修改后的版本上传回 Trilium。", + "download": "下载", + "rename_attachment": "重命名附件", + "upload_new_revision": "上传新版本", + "copy_link_to_clipboard": "复制链接到剪贴板", + "convert_attachment_into_note": "将附件转换为笔记", + "delete_attachment": "删除附件", + "upload_success": "新附件修订版本已上传。", + "upload_failed": "新附件修订版本上传失败。", + "open_externally_detail_page": "外部打开附件仅在详细页面中可用,请首先点击附件详细信息,然后重复此操作。", + "open_custom_client_only": "自定义打开附件只能通过客户端完成。", + "delete_confirm": "您确定要删除附件 '{{title}}' 吗?", + "delete_success": "附件 '{{title}}' 已被删除。", + "convert_confirm": "您确定要将附件 '{{title}}' 转换为单独的笔记吗?", + "convert_success": "附件 '{{title}}' 已转换为笔记。", + "enter_new_name": "请输入附件的新名称" + }, + "calendar": { + "mon": "一", + "tue": "二", + "wed": "三", + "thu": "四", + "fri": "五", + "sat": "六", + "sun": "日", + "cannot_find_day_note": "无法找到日记", + "cannot_find_week_note": "无法找到周记", + "january": "一月", + "febuary": "二月", + "march": "三月", + "april": "四月", + "may": "五月", + "june": "六月", + "july": "七月", + "august": "八月", + "september": "九月", + "october": "十月", + "november": "十一月", + "december": "十二月" + }, + "close_pane_button": { + "close_this_pane": "关闭此面板" + }, + "create_pane_button": { + "create_new_split": "拆分面板" + }, + "edit_button": { + "edit_this_note": "编辑此笔记" + }, + "show_toc_widget_button": { + "show_toc": "显示目录" + }, + "show_highlights_list_widget_button": { + "show_highlights_list": "显示高亮列表" + }, + "global_menu": { + "menu": "菜单", + "options": "选项", + "open_new_window": "打开新窗口", + "switch_to_mobile_version": "切换到移动版", + "switch_to_desktop_version": "切换到桌面版", + "zoom": "缩放", + "toggle_fullscreen": "切换全屏", + "zoom_out": "缩小", + "reset_zoom_level": "重置缩放级别", + "zoom_in": "放大", + "configure_launchbar": "配置启动栏", + "show_shared_notes_subtree": "显示分享笔记子树", + "advanced": "高级", + "open_dev_tools": "打开开发工具", + "open_sql_console": "打开 SQL 控制台", + "open_sql_console_history": "打开 SQL 控制台历史记录", + "open_search_history": "打开搜索历史", + "show_backend_log": "显示后台日志", + "reload_hint": "重载可以帮助解决一些视觉故障,而无需重启整个应用程序。", + "reload_frontend": "重载前端", + "show_hidden_subtree": "显示隐藏子树", + "show_help": "显示帮助", + "about": "关于 TriliumNext 笔记", + "logout": "登出", + "show-cheatsheet": "显示快捷帮助", + "toggle-zen-mode": "禅模式" + }, + "zen_mode": { + "button_exit": "退出禅模式" + }, + "sync_status": { + "unknown": "

同步状态将在下一次同步尝试开始后显示。

点击以立即触发同步。

", + "connected_with_changes": "

已连接到同步服务器。
有一些未同步的变更。

点击以触发同步。

", + "connected_no_changes": "

已连接到同步服务器。
所有变更均已同步。

点击以触发同步。

", + "disconnected_with_changes": "

连接同步服务器失败。
有一些未同步的变更。

点击以触发同步。

", + "disconnected_no_changes": "

连接同步服务器失败。
所有已知变更均已同步。

点击以触发同步。

", + "in_progress": "正在与服务器进行同步。" + }, + "left_pane_toggle": { + "show_panel": "显示面板", + "hide_panel": "隐藏面板" + }, + "move_pane_button": { + "move_left": "向左移动", + "move_right": "向右移动" + }, + "note_actions": { + "convert_into_attachment": "转换为附件", + "re_render_note": "重新渲染笔记", + "search_in_note": "在笔记中搜索", + "note_source": "笔记源代码", + "note_attachments": "笔记附件", + "open_note_externally": "用外部程序打开笔记", + "open_note_externally_title": "文件将在外部应用程序中打开,并监视其更改。然后您可以将修改后的版本上传回 Trilium。", + "open_note_custom": "使用自定义程序打开笔记", + "import_files": "导入文件", + "export_note": "导出笔记", + "delete_note": "删除笔记", + "print_note": "打印笔记", + "save_revision": "保存笔记修订", + "convert_into_attachment_failed": "笔记 '{{title}}' 转换失败。", + "convert_into_attachment_successful": "笔记 '{{title}}' 已成功转换为附件。", + "convert_into_attachment_prompt": "确定要将笔记 '{{title}}' 转换为父笔记的附件吗?", + "print_pdf": "导出为 PDF..." + }, + "onclick_button": { + "no_click_handler": "按钮组件'{{componentId}}'没有定义点击处理程序" + }, + "protected_session_status": { + "active": "受保护的会话已激活。点击退出受保护的会话。", + "inactive": "点击进入受保护的会话" + }, + "revisions_button": { + "note_revisions": "笔记修订版本" + }, + "update_available": { + "update_available": "有更新可用" + }, + "note_launcher": { + "this_launcher_doesnt_define_target_note": "此启动器未定义目标笔记。" + }, + "code_buttons": { + "execute_button_title": "执行脚本", + "trilium_api_docs_button_title": "打开 Trilium API 文档", + "save_to_note_button_title": "保存到笔记", + "opening_api_docs_message": "正在打开 API 文档...", + "sql_console_saved_message": "SQL 控制台已保存到 {{note_path}}" + }, + "copy_image_reference_button": { + "button_title": "复制图片引用到剪贴板,可粘贴到文本笔记中。" + }, + "hide_floating_buttons_button": { + "button_title": "隐藏按钮" + }, + "show_floating_buttons_button": { + "button_title": "显示按钮" + }, + "svg_export_button": { + "button_title": "导出SVG格式图片" + }, + "relation_map_buttons": { + "create_child_note_title": "创建新的子笔记并添加到关系图", + "reset_pan_zoom_title": "重置平移和缩放到初始坐标和放大倍率", + "zoom_in_title": "放大", + "zoom_out_title": "缩小" + }, + "zpetne_odkazy": { + "backlink": "{{count}} 个反链", + "backlinks": "{{count}} 个反链", + "relation": "关系" + }, + "mobile_detail_menu": { + "insert_child_note": "插入子笔记", + "delete_this_note": "删除此笔记", + "error_cannot_get_branch_id": "无法获取 notePath '{{notePath}}' 的 branchId", + "error_unrecognized_command": "无法识别的命令 {{command}}" + }, + "note_icon": { + "change_note_icon": "更改笔记图标", + "category": "类别:", + "search": "搜索:", + "reset-default": "重置为默认图标" + }, + "basic_properties": { + "note_type": "笔记类型", + "editable": "可编辑", + "basic_properties": "基本属性" + }, + "book_properties": { + "view_type": "视图类型", + "grid": "网格", + "list": "列表", + "collapse_all_notes": "折叠所有笔记", + "expand_all_children": "展开所有子项", + "collapse": "折叠", + "expand": "展开", + "invalid_view_type": "无效的查看类型 '{{type}}'", + "calendar": "日历" + }, + "edited_notes": { + "no_edited_notes_found": "今天还没有编辑过的笔记...", + "title": "编辑过的笔记", + "deleted": "(已删除)" + }, + "file_properties": { + "note_id": "笔记 ID", + "original_file_name": "原始文件名", + "file_type": "文件类型", + "file_size": "文件大小", + "download": "下载", + "open": "打开", + "upload_new_revision": "上传新修订版本", + "upload_success": "新文件修订版本已上传。", + "upload_failed": "新文件修订版本上传失败。", + "title": "文件" + }, + "image_properties": { + "original_file_name": "原始文件名", + "file_type": "文件类型", + "file_size": "文件大小", + "download": "下载", + "open": "打开", + "copy_reference_to_clipboard": "复制引用到剪贴板", + "upload_new_revision": "上传新修订版本", + "upload_success": "新图像修订版本已上传。", + "upload_failed": "新图像修订版本上传失败:{{message}}", + "title": "图像" + }, + "inherited_attribute_list": { + "title": "继承的属性", + "no_inherited_attributes": "没有继承的属性。" + }, + "note_info_widget": { + "note_id": "笔记 ID", + "created": "创建时间", + "modified": "修改时间", + "type": "类型", + "note_size": "笔记大小", + "note_size_info": "笔记大小提供了该笔记存储需求的粗略估计。它考虑了笔记的内容及其笔记修订历史的内容。", + "calculate": "计算", + "subtree_size": "(子树大小: {{size}}, 共计 {{count}} 个笔记)", + "title": "笔记信息" + }, + "note_map": { + "open_full": "展开显示", + "collapse": "折叠到正常大小", + "title": "笔记地图", + "fix-nodes": "固定节点", + "link-distance": "链接距离" + }, + "note_paths": { + "title": "笔记路径", + "clone_button": "克隆笔记到新位置...", + "intro_placed": "此笔记放置在以下路径中:", + "intro_not_placed": "此笔记尚未放入笔记树中。", + "outside_hoisted": "此路径在提升的笔记之外,您需要取消聚焦。", + "archived": "已归档", + "search": "搜索" + }, + "note_properties": { + "this_note_was_originally_taken_from": "笔记来源:", + "info": "信息" + }, + "owned_attribute_list": { + "owned_attributes": "拥有的属性" + }, + "promoted_attributes": { + "promoted_attributes": "升级属性", + "unset-field-placeholder": "未设置", + "url_placeholder": "http://www...", + "open_external_link": "打开外部链接", + "unknown_label_type": "未知的标签类型 '{{type}}'", + "unknown_attribute_type": "未知的属性类型 '{{type}}'", + "add_new_attribute": "添加新属性", + "remove_this_attribute": "移除此属性" + }, + "script_executor": { + "query": "查询", + "script": "脚本", + "execute_query": "执行查询", + "execute_script": "执行脚本" + }, + "search_definition": { + "add_search_option": "添加搜索选项:", + "search_string": "搜索字符串", + "search_script": "搜索脚本", + "ancestor": "上级笔记", + "fast_search": "快速搜索", + "fast_search_description": "快速搜索选项禁用笔记内容的全文搜索,这可能会加速大数据库中的搜索。", + "include_archived": "包含归档", + "include_archived_notes_description": "归档的笔记默认不包含在搜索结果中,使用此选项将包含它们。", + "order_by": "排序方式", + "limit": "限制", + "limit_description": "限制结果数量", + "debug": "调试", + "debug_description": "调试将打印额外的调试信息到控制台,以帮助调试复杂查询", + "action": "操作", + "search_button": "搜索 回车", + "search_execute": "搜索并执行操作", + "save_to_note": "保存到笔记", + "search_parameters": "搜索参数", + "unknown_search_option": "未知的搜索选项 {{searchOptionName}}", + "search_note_saved": "搜索笔记已保存到 {{- notePathTitle}}", + "actions_executed": "操作已执行。" + }, + "similar_notes": { + "title": "相似笔记", + "no_similar_notes_found": "未找到相似的笔记。" + }, + "abstract_search_option": { + "remove_this_search_option": "删除此搜索选项", + "failed_rendering": "渲染搜索选项失败:{{dto}},错误信息:{{error}},堆栈:{{stack}}" + }, + "ancestor": { + "label": "上级笔记", + "placeholder": "按名称搜索笔记", + "depth_label": "深度", + "depth_doesnt_matter": "任意", + "depth_eq": "正好是 {{count}}", + "direct_children": "直接子代", + "depth_gt": "大于 {{count}}", + "depth_lt": "小于 {{count}}" + }, + "debug": { + "debug": "调试", + "debug_info": "调试将打印额外的调试信息到控制台,以帮助调试复杂的查询。", + "access_info": "要访问调试信息,请执行查询并点击左上角的“显示后端日志”。" + }, + "fast_search": { + "fast_search": "快速搜索", + "description": "快速搜索选项禁用笔记内容的全文搜索,这可能会加快在大型数据库中的搜索速度。" + }, + "include_archived_notes": { + "include_archived_notes": "包括已归档的笔记" + }, + "limit": { + "limit": "限制", + "take_first_x_results": "仅取前 X 个指定结果。" + }, + "order_by": { + "order_by": "排序依据", + "relevancy": "相关性(默认)", + "title": "标题", + "date_created": "创建日期", + "date_modified": "最后修改日期", + "content_size": "笔记内容大小", + "content_and_attachments_size": "笔记内容大小(包括附件)", + "content_and_attachments_and_revisions_size": "笔记内容大小(包括附件和笔记修订历史)", + "revision_count": "修订版本数量", + "children_count": "子笔记数量", + "parent_count": "克隆数量", + "owned_label_count": "标签数量", + "owned_relation_count": "关系数量", + "target_relation_count": "指向笔记的关系数量", + "random": "随机顺序", + "asc": "升序(默认)", + "desc": "降序" + }, + "search_script": { + "title": "搜索脚本:", + "placeholder": "按名称搜索笔记", + "description1": "搜索脚本允许通过运行脚本来定义搜索结果。这在标准搜索不足时提供了最大的灵活性。", + "description2": "搜索脚本必须是类型为“代码”和子类型为“JavaScript 后端”。脚本需要返回一个 noteIds 或 notes 数组。", + "example_title": "请看这个例子:", + "example_code": "// 1. 使用标准搜索进行预过滤\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. 应用自定义搜索条件\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", + "note": "注意,搜索脚本和搜索字符串不能相互结合使用。" + }, + "search_string": { + "title_column": "搜索字符串:", + "placeholder": "全文关键词,#标签 = 值 ...", + "search_syntax": "搜索语法", + "also_see": "另见", + "complete_help": "完整的搜索语法帮助", + "full_text_search": "只需输入任何文本进行全文搜索", + "label_abc": "返回带有标签 abc 的笔记", + "label_year": "匹配带有标签年份且值为 2019 的笔记", + "label_rock_pop": "匹配同时具有 rock 和 pop 标签的笔记", + "label_rock_or_pop": "只需一个标签存在即可", + "label_year_comparison": "数字比较(也包括>,>=,<)。", + "label_date_created": "上个月创建的笔记", + "error": "搜索错误:{{error}}", + "search_prefix": "搜索:" + }, + "attachment_detail": { + "open_help_page": "打开附件帮助页面", + "owning_note": "所属笔记:", + "you_can_also_open": ",您还可以打开", + "list_of_all_attachments": "所有附件列表", + "attachment_deleted": "该附件已被删除。" + }, + "attachment_list": { + "open_help_page": "打开附件帮助页面", + "owning_note": "所属笔记:", + "upload_attachments": "上传附件", + "no_attachments": "此笔记没有附件。" + }, + "book": { + "no_children_help": "此类型为书籍的笔记没有任何子笔记,因此没有内容显示。请参阅 wiki 了解详情" + }, + "editable_code": { + "placeholder": "在这里输入您的代码笔记内容..." + }, + "editable_text": { + "placeholder": "在这里输入您的笔记内容..." + }, + "empty": { + "open_note_instruction": "通过在下面的输入框中输入笔记标题或在树中选择笔记来打开笔记。", + "search_placeholder": "按名称搜索笔记", + "enter_workspace": "进入工作区 {{title}}" + }, + "file": { + "file_preview_not_available": "此文件格式不支持预览。", + "too_big": "预览仅显示文件的前 {{maxNumChars}} 个字符以提高性能。下载文件并在外部打开以查看完整内容。" + }, + "protected_session": { + "enter_password_instruction": "显示受保护的笔记需要输入您的密码:", + "start_session_button": "开始受保护的会话", + "started": "受保护的会话已启动。", + "wrong_password": "密码错误。", + "protecting-finished-successfully": "保护操作已成功完成。", + "unprotecting-finished-successfully": "解除保护操作已成功完成。", + "protecting-in-progress": "保护进行中:{{count}}", + "unprotecting-in-progress-count": "解除保护进行中:{{count}}", + "protecting-title": "保护状态", + "unprotecting-title": "解除保护状态" + }, + "relation_map": { + "open_in_new_tab": "在新标签页中打开", + "remove_note": "删除笔记", + "edit_title": "编辑标题", + "rename_note": "重命名笔记", + "enter_new_title": "输入新的笔记标题:", + "remove_relation": "删除关系", + "confirm_remove_relation": "您确定要删除这个关系吗?", + "specify_new_relation_name": "指定新的关系名称(允许的字符:字母数字、冒号和下划线):", + "connection_exists": "笔记之间的连接 '{{name}}' 已经存在。", + "start_dragging_relations": "从这里开始拖动关系,并将其放置到另一个笔记上。", + "note_not_found": "笔记 {{noteId}} 未找到!", + "cannot_match_transform": "无法匹配变换:{{transform}}", + "note_already_in_diagram": "笔记 \"{{title}}\" 已经在图中。", + "enter_title_of_new_note": "输入新笔记的标题", + "default_new_note_title": "新笔记", + "click_on_canvas_to_place_new_note": "点击画布以放置新笔记" + }, + "render": { + "note_detail_render_help_1": "之所以显示此帮助说明,是因为这个类型为渲染 HTML 的笔记没有正常工作所需的关系。", + "note_detail_render_help_2": "渲染 HTML 笔记类型用于编写脚本。简而言之,您有一份 HTML 代码笔记(可包含一些 JavaScript),然后这个笔记会把页面渲染出来。要使其正常工作,您需要定义一个名为 \"renderNote\" 的关系指向要渲染的 HTML 笔记。" + }, + "web_view": { + "web_view": "网页视图", + "embed_websites": "网页视图类型的笔记允许您将网站嵌入到 Trilium 中。", + "create_label": "首先,请创建一个带有您要嵌入的 URL 地址的标签,例如 #webViewSrc=\"https://www.bing.com\"" + }, + "backend_log": { + "refresh": "刷新" + }, + "consistency_checks": { + "title": "检查一致性", + "find_and_fix_button": "查找并修复一致性问题", + "finding_and_fixing_message": "正在查找并修复一致性问题...", + "issues_fixed_message": "一致性问题应该已被修复。" + }, + "database_anonymization": { + "title": "数据库匿名化", + "full_anonymization": "完全匿名化", + "full_anonymization_description": "此操作将创建一个新的数据库副本并进行匿名化处理(删除所有笔记内容,仅保留结构和一些非敏感元数据),用来分享到网上做调试而不用担心泄漏您的个人资料。", + "save_fully_anonymized_database": "保存完全匿名化的数据库", + "light_anonymization": "轻度匿名化", + "light_anonymization_description": "此操作将创建一个新的数据库副本,并对其进行轻度匿名化处理——仅删除所有笔记的内容,但保留标题和属性。此外,自定义 JS 前端/后端脚本笔记和自定义小部件将保留。这提供了更多上下文以调试问题。", + "choose_anonymization": "您可以自行决定是提供完全匿名化还是轻度匿名化的数据库。即使是完全匿名化的数据库也非常有用,但在某些情况下,轻度匿名化的数据库可以加快错误识别和修复的过程。", + "save_lightly_anonymized_database": "保存轻度匿名化的数据库", + "existing_anonymized_databases": "现有的匿名化数据库", + "creating_fully_anonymized_database": "正在创建完全匿名化的数据库...", + "creating_lightly_anonymized_database": "正在创建轻度匿名化的数据库...", + "error_creating_anonymized_database": "无法创建匿名化数据库,请检查后端日志以获取详细信息", + "successfully_created_fully_anonymized_database": "成功创建完全匿名化的数据库,路径为 {{anonymizedFilePath}}", + "successfully_created_lightly_anonymized_database": "成功创建轻度匿名化的数据库,路径为 {{anonymizedFilePath}}", + "no_anonymized_database_yet": "尚无匿名化数据库" + }, + "database_integrity_check": { + "title": "数据库完整性检查", + "description": "检查 SQLite 数据库是否损坏。根据数据库的大小,可能会需要一些时间。", + "check_button": "检查数据库完整性", + "checking_integrity": "正在检查数据库完整性...", + "integrity_check_succeeded": "完整性检查成功 - 未发现问题。", + "integrity_check_failed": "完整性检查失败: {{results}}" + }, + "sync": { + "title": "同步", + "force_full_sync_button": "强制全量同步", + "fill_entity_changes_button": "填充实体变更记录", + "full_sync_triggered": "全量同步已触发", + "filling_entity_changes": "正在填充实体变更行...", + "sync_rows_filled_successfully": "同步行填充成功", + "finished-successfully": "同步已完成。", + "failed": "同步失败:{{message}}" + }, + "vacuum_database": { + "title": "数据库清理", + "description": "这会重建数据库,通常会减少占用空间,不会删除数据。", + "button_text": "清理数据库", + "vacuuming_database": "正在清理数据库...", + "database_vacuumed": "数据库已清理" + }, + "fonts": { + "theme_defined": "跟随主题", + "fonts": "字体", + "main_font": "主字体", + "font_family": "字体系列", + "size": "大小", + "note_tree_font": "笔记树字体", + "note_detail_font": "笔记详情字体", + "monospace_font": "等宽(代码)字体", + "note_tree_and_detail_font_sizing": "请注意,笔记树字体和详细字体的大小相对于主字体大小设置。", + "not_all_fonts_available": "并非所有列出的字体都可能在您的系统上可用。", + "apply_font_changes": "要应用字体更改,请点击", + "reload_frontend": "重载前端", + "generic-fonts": "通用字体", + "sans-serif-system-fonts": "无衬线系统字体", + "serif-system-fonts": "衬线系统字体", + "monospace-system-fonts": "等宽系统字体", + "handwriting-system-fonts": "手写系统字体", + "serif": "衬线", + "sans-serif": "无衬线", + "monospace": "等宽", + "system-default": "系统默认" + }, + "max_content_width": { + "title": "内容宽度", + "default_description": "Trilium默认会限制内容的最大宽度以提高在宽屏中全屏时的可读性。", + "max_width_label": "内容最大宽度(像素)", + "apply_changes_description": "要应用内容宽度更改,请点击", + "reload_button": "重载前端", + "reload_description": "来自外观选项的更改" + }, + "native_title_bar": { + "title": "原生标题栏(需要重新启动应用)", + "enabled": "启用", + "disabled": "禁用" + }, + "ribbon": { + "widgets": "功能选项组件", + "promoted_attributes_message": "如果笔记中存在升级属性,则自动打开升级属性功能区标签页", + "edited_notes_message": "日记笔记自动打开编辑过的笔记功能区标签页" + }, + "theme": { + "title": "主题", + "theme_label": "主题", + "override_theme_fonts_label": "覆盖主题字体", + "auto_theme": "自动", + "light_theme": "浅色", + "dark_theme": "深色", + "triliumnext": "TriliumNext Beta(跟随系统颜色方案)", + "triliumnext-light": "TriliumNext Beta(浅色)", + "triliumnext-dark": "TriliumNext Beta(深色)", + "layout": "布局", + "layout-vertical-title": "垂直", + "layout-horizontal-title": "水平", + "layout-vertical-description": "启动栏位于左侧(默认)", + "layout-horizontal-description": "启动栏位于标签页栏下方,标签页栏现在是全宽的。" + }, + "zoom_factor": { + "title": "缩放系数(仅桌面客户端有效)", + "description": "缩放也可以通过 CTRL+- 和 CTRL+= 快捷键进行控制。" + }, + "code_auto_read_only_size": { + "title": "自动只读大小", + "description": "自动只读大小是指笔记超过设置的大小后自动设置为只读模式(为性能考虑)。", + "label": "自动只读大小(代码笔记)" + }, + "code_mime_types": { + "title": "下拉菜单可用的MIME文件类型" + }, + "vim_key_bindings": { + "use_vim_keybindings_in_code_notes": "Vim 快捷键", + "enable_vim_keybindings": "在代码笔记中启用 Vim 快捷键(不包含 ex 模式)" + }, + "wrap_lines": { + "wrap_lines_in_code_notes": "代码笔记自动换行", + "enable_line_wrap": "启用自动换行(需要重载前端才会生效)" + }, + "images": { + "images_section_title": "图片", + "download_images_automatically": "自动下载图片以供离线使用。", + "download_images_description": "粘贴的 HTML 可能包含在线图片的引用,Trilium 会找到这些引用并下载图片,以便它们可以离线使用。", + "enable_image_compression": "启用图片压缩", + "max_image_dimensions": "图片的最大宽度/高度(超过此限制的图像将会被缩放)。", + "jpeg_quality_description": "JPEG 质量(10 - 最差质量,100 最佳质量,建议为 50 - 85)" + }, + "attachment_erasure_timeout": { + "attachment_erasure_timeout": "附件清理超时", + "attachment_auto_deletion_description": "如果附件在一段时间后不再被笔记引用,它们将自动被删除(并被清理)。", + "erase_attachments_after": "在此时间后删除未使用的附件:", + "manual_erasing_description": "您还可以手动触发清理(而不考虑上述定义的超时时间):", + "erase_unused_attachments_now": "立即清理未使用的附件笔记", + "unused_attachments_erased": "未使用的附件已被删除。" + }, + "network_connections": { + "network_connections_title": "网络连接", + "check_for_updates": "自动检查更新" + }, + "note_erasure_timeout": { + "note_erasure_timeout_title": "笔记清理超时", + "note_erasure_description": "被删除的笔记(以及属性、修订历史等)最初仅被标记为“删除”,可以从“最近修改”对话框中恢复它们。经过一段时间后,已删除的笔记会被“清理”,这意味着它们的内容将无法恢复。此设置允许您配置从删除到清除笔记之间的时间长度。", + "erase_notes_after": "在此时间后删除笔记:", + "manual_erasing_description": "您还可以手动触发清理(不考虑上述定义的超时):", + "erase_deleted_notes_now": "立即清理已删除的笔记", + "deleted_notes_erased": "已删除的笔记已被清理。" + }, + "revisions_snapshot_interval": { + "note_revisions_snapshot_interval_title": "笔记修订快照间隔", + "note_revisions_snapshot_description": "笔记修订快照间隔是创建新笔记修订的时间。有关更多信息,请参见 wiki。", + "snapshot_time_interval_label": "笔记修订快照时间间隔:" + }, + "revisions_snapshot_limit": { + "note_revisions_snapshot_limit_title": "笔记修订快照限制", + "note_revisions_snapshot_limit_description": "笔记修订快照数限制指的是每个笔记可以保存的最大历史记录数量。其中 -1 表示没有限制,0 表示删除所有历史记录。您可以通过 #versioningLimit 标签设置单个笔记的最大修订记录数量。", + "snapshot_number_limit_label": "笔记修订快照数量限制:", + "erase_excess_revision_snapshots": "立即删除多余的修订快照", + "erase_excess_revision_snapshots_prompt": "多余的修订快照已被删除。" + }, + "search_engine": { + "title": "搜索引擎", + "custom_search_engine_info": "自定义搜索引擎需要设置名称和 URL。如果这两者之一未设置,将默认使用 DuckDuckGo 作为搜索引擎。", + "predefined_templates_label": "预定义搜索引擎模板", + "bing": "必应", + "baidu": "百度", + "duckduckgo": "DuckDuckGo", + "google": "谷歌", + "custom_name_label": "自定义搜索引擎名称", + "custom_name_placeholder": "自定义搜索引擎名称", + "custom_url_label": "自定义搜索引擎 URL 应包含 {keyword} 作为搜索词的占位符。", + "custom_url_placeholder": "自定义搜索引擎 URL", + "save_button": "保存" + }, + "tray": { + "title": "系统托盘", + "enable_tray": "启用托盘图标(需要重启 Trilium 以生效)" + }, + "heading_style": { + "title": "标题风格", + "plain": "纯文本", + "underline": "下划线", + "markdown": "Markdown 风格" + }, + "highlights_list": { + "title": "高亮列表", + "description": "您可以自定义右侧面板中显示的高亮列表:", + "bold": "粗体", + "italic": "斜体", + "underline": "下划线", + "color": "字体颜色", + "bg_color": "背景颜色", + "visibility_title": "高亮列表可见性", + "visibility_description": "您可以通过添加 #hideHighlightWidget 标签来隐藏单个笔记的高亮小部件。", + "shortcut_info": "您可以在选项 -> 快捷键中为快速切换右侧面板(包括高亮列表)配置键盘快捷键(名称为 'toggleRightPane')。" + }, + "table_of_contents": { + "title": "目录", + "description": "当笔记中有超过一定数量的标题时,显示目录。您可以自定义此数量:", + "disable_info": "您可以设置一个非常大的数来禁用目录。", + "shortcut_info": "您可以在 “选项” -> “快捷键” 中配置一个键盘快捷键,以便快速切换右侧面板(包括目录)(名称为 'toggleRightPane')。" + }, + "text_auto_read_only_size": { + "title": "自动只读大小", + "description": "自动只读笔记大小是超过该大小后,笔记将以只读模式显示(出于性能考虑)。", + "label": "自动只读大小(文本笔记)" + }, + "i18n": { + "title": "本地化", + "language": "语言", + "first-day-of-the-week": "一周的第一天", + "sunday": "周日", + "monday": "周一", + "first-week-of-the-year": "一年的第一周", + "first-week-contains-first-day": "第一周包含一年的第一天", + "first-week-contains-first-thursday": "第一周包含一年的第一个周四", + "first-week-has-minimum-days": "第一周有最小天数", + "min-days-in-first-week": "第一周的最小天数", + "first-week-info": "第一周包含一年的第一个周四,基于 ISO 8601 标准。", + "first-week-warning": "更改第一周选项可能会导致与现有周笔记重复,已创建的周笔记将不会相应更新。", + "formatting-locale": "日期和数字格式" + }, + "backup": { + "automatic_backup": "自动备份", + "automatic_backup_description": "Trilium 可以自动备份数据库:", + "enable_daily_backup": "启用每日备份", + "enable_weekly_backup": "启用每周备份", + "enable_monthly_backup": "启用每月备份", + "backup_recommendation": "建议打开备份功能,但这可能会使大型数据库和/或慢速存储设备的应用程序启动变慢。", + "backup_now": "立即备份", + "backup_database_now": "立即备份数据库", + "existing_backups": "现有备份", + "date-and-time": "日期和时间", + "path": "路径", + "database_backed_up_to": "数据库已备份到 {{backupFilePath}}", + "no_backup_yet": "尚无备份" + }, + "etapi": { + "title": "ETAPI", + "description": "ETAPI 是一个 REST API,用于以编程方式访问 Trilium 实例,而无需 UI。", + "see_more": "有关更多详细信息,请参见 {{- link_to_wiki}} 和 {{- link_to_openapi_spec}} 或 {{- link_to_swagger_ui}}。", + "wiki": "维基", + "openapi_spec": "ETAPI OpenAPI 规范", + "swagger_ui": "ETAPI Swagger UI", + "create_token": "创建新的 ETAPI 令牌", + "existing_tokens": "现有令牌", + "no_tokens_yet": "目前还没有令牌。点击上面的按钮创建一个。", + "token_name": "令牌名称", + "created": "创建时间", + "actions": "操作", + "new_token_title": "新 ETAPI 令牌", + "new_token_message": "请输入新的令牌名称", + "default_token_name": "新令牌", + "error_empty_name": "令牌名称不能为空", + "token_created_title": "ETAPI 令牌已创建", + "token_created_message": "将创建的令牌复制到剪贴板。Trilium 存储了令牌的哈希值,这是您最后一次看到它。", + "rename_token": "重命名此令牌", + "delete_token": "删除/停用此令牌", + "rename_token_title": "重命名令牌", + "rename_token_message": "请输入新的令牌名称", + "delete_token_confirmation": "您确定要删除 ETAPI 令牌 \"{{name}}\" 吗?" + }, + "options_widget": { + "options_status": "选项状态", + "options_change_saved": "选项更改已保存。" + }, + "password": { + "heading": "密码", + "alert_message": "请务必记住您的新密码。密码用于登录 Web 界面和加密保护的笔记。如果您忘记了密码,所有保护的笔记将永久丢失。", + "reset_link": "点击这里重置。", + "old_password": "旧密码", + "new_password": "新密码", + "new_password_confirmation": "新密码确认", + "change_password": "更改密码", + "protected_session_timeout": "受保护会话超时", + "protected_session_timeout_description": "受保护会话超时是一个时间段,超时后受保护会话会从浏览器内存中清除。这是从最后一次与受保护笔记的交互开始计时的。更多信息请见", + "wiki": "维基", + "for_more_info": "更多信息。", + "protected_session_timeout_label": "受保护的会话超时:", + "reset_confirmation": "重置密码将永久丧失对所有现受保护笔记的访问。您真的要重置密码吗?", + "reset_success_message": "密码已重置。请设置新密码", + "change_password_heading": "更改密码", + "set_password_heading": "设置密码", + "set_password": "设置密码", + "password_mismatch": "新密码不一致。", + "password_changed_success": "密码已更改。按 OK 后 Trilium 将重载。" + }, + "multi_factor_authentication": { + "title": "多因素认证(MFA)", + "description": "多因素认证(MFA)为您的账户添加了额外的安全层。除了输入密码登录外,MFA还要求您提供一个或多个额外的验证信息来验证您的身份。这样,即使有人获得了您的密码,没有第二个验证信息他们也无法访问您的账户。这就像给您的门添加了一把额外的锁,让他人更难闯入。

请按照以下说明启用 MFA。如果您配置不正确,登录将仅使用密码。", + "mfa_enabled": "启用多因素认证", + "mfa_method": "MFA 方法", + "electron_disabled": "当前桌面版本不支持多因素认证。", + "totp_title": "基于时间的一次性密码(TOTP)", + "totp_description": "TOTP(基于时间的一次性密码)是一种安全功能,它会生成一个每30秒变化的唯一临时代码。您需要使用这个代码和您的密码一起登录账户,这使得他人更难访问您的账户。", + "totp_secret_title": "生成 TOTP 密钥", + "totp_secret_generate": "生成 TOTP 密钥", + "totp_secret_regenerate": "重新生成 TOTP 密钥", + "no_totp_secret_warning": "要启用 TOTP,您需要先生成一个 TOTP 密钥。", + "totp_secret_description_warning": "生成新的 TOTP 密钥后,您需要使用新的 TOTP 密钥重新登录。", + "totp_secret_generated": "TOTP 密钥已生成", + "totp_secret_warning": "请将生成的密钥保存在安全的地方。它将不会再次显示。", + "totp_secret_regenerate_confirm": "您确定要重新生成 TOTP 密钥吗?这将使之前的 TOTP 密钥失效,并使所有现有的恢复代码失效。请将生成的密钥保存在安全的地方。它将不会再次显示。", + "recovery_keys_title": "单点登录恢复密钥", + "recovery_keys_description": "单点登录恢复密钥用于在您无法访问您的认证器代码时登录。离开页面后,恢复密钥将不会再次显示。请将它们保存在安全的地方。", + "recovery_keys_description_warning": "离开页面后,恢复密钥将不会再次显示。请将它们保存在安全的地方。
一旦恢复密钥被使用,它将无法再次使用。", + "recovery_keys_error": "生成恢复代码时出错", + "recovery_keys_no_key_set": "未设置恢复代码", + "recovery_keys_generate": "生成恢复代码", + "recovery_keys_regenerate": "重新生成恢复代码", + "recovery_keys_used": "已使用: {{date}}", + "recovery_keys_unused": "恢复代码 {{index}} 未使用", + "oauth_title": "OAuth/OpenID 认证", + "oauth_description": "OpenID 是一种标准化方式,允许您使用其他服务(如 Google)的账号登录网站来验证您的身份。默认的身份提供者是 Google,但您可以更改为任何其他 OpenID 提供者。点击这里了解更多信息。请参阅这些 指南 通过 Google 设置 OpenID 服务。", + "oauth_description_warning": "要启用 OAuth/OpenID,您需要设置 config.ini 文件中的 OAuth/OpenID 基础 URL、客户端 ID 和客户端密钥,并重新启动应用程序。如果要从环境变量设置,请设置 TRILIUM_OAUTH_BASE_URL、TRILIUM_OAUTH_CLIENT_ID 和 TRILIUM_OAUTH_CLIENT_SECRET 环境变量。", + "oauth_missing_vars": "缺少以下设置项: {{missingVars}}", + "oauth_user_account": "用户账号:", + "oauth_user_email": "用户邮箱:", + "oauth_user_not_logged_in": "未登录!" + }, + "shortcuts": { + "keyboard_shortcuts": "快捷键", + "multiple_shortcuts": "同一操作的多个快捷键可以用逗号分隔。", + "electron_documentation": "请参阅 Electron 文档,了解可用的修饰符和键码。", + "type_text_to_filter": "输入文字以过滤快捷键...", + "action_name": "操作名称", + "shortcuts": "快捷键", + "default_shortcuts": "默认快捷键", + "description": "描述", + "reload_app": "重载应用以应用更改", + "set_all_to_default": "将所有快捷键重置为默认值", + "confirm_reset": "您确定要将所有键盘快捷键重置为默认值吗?" + }, + "spellcheck": { + "title": "拼写检查", + "description": "这些选项仅适用于桌面版本,浏览器将使用其原生的拼写检查功能。", + "enable": "启用拼写检查", + "language_code_label": "语言代码", + "language_code_placeholder": "例如 \"en-US\", \"de-AT\"", + "multiple_languages_info": "多种语言可以用逗号分隔,例如 \"en-US, de-DE, cs\"。", + "available_language_codes_label": "可用的语言代码:", + "restart-required": "拼写检查选项的更改将在应用重启后生效。" + }, + "sync_2": { + "config_title": "同步配置", + "server_address": "服务器实例地址", + "timeout": "同步超时(单位:毫秒)", + "proxy_label": "同步代理服务器(可选)", + "note": "注意", + "note_description": "代理设置留空则使用系统代理(仅桌面客户端有效)。", + "special_value_description": "另一个特殊值是 noproxy,它强制忽略系统代理并遵守 NODE_TLS_REJECT_UNAUTHORIZED。", + "save": "保存", + "help": "帮助", + "test_title": "同步测试", + "test_description": "测试和同步服务器之间的连接。如果同步服务器没有初始化,会将本地文档同步到同步服务器上。", + "test_button": "测试同步", + "handshake_failed": "同步服务器握手失败,错误:{{message}}" + }, + "api_log": { + "close": "关闭" + }, + "attachment_detail_2": { + "will_be_deleted_in": "此附件将在 {{time}} 后自动删除", + "will_be_deleted_soon": "该附件在不久后将被自动删除", + "deletion_reason": ",因为该附件未链接在笔记的内容中。为防止被删除,请将附件链接重新添加到内容中或将附件转换为笔记。", + "role_and_size": "角色:{{role}},大小:{{size}}", + "link_copied": "附件链接已复制到剪贴板。", + "unrecognized_role": "无法识别的附件角色 '{{role}}'。" + }, + "bookmark_switch": { + "bookmark": "书签", + "bookmark_this_note": "将此笔记添加到左侧面板的书签", + "remove_bookmark": "移除书签" + }, + "editability_select": { + "auto": "自动", + "read_only": "只读", + "always_editable": "始终可编辑", + "note_is_editable": "笔记如果不太长则可编辑。", + "note_is_read_only": "笔记为只读,但可以通过点击按钮进行编辑。", + "note_is_always_editable": "无论笔记长度如何,始终可编辑。" + }, + "note-map": { + "button-link-map": "链接地图", + "button-tree-map": "树形地图" + }, + "tree-context-menu": { + "open-in-a-new-tab": "在新标签页中打开 Ctrl+Click", + "open-in-a-new-split": "在新分栏中打开", + "insert-note-after": "在后面插入笔记", + "insert-child-note": "插入子笔记", + "delete": "删除", + "search-in-subtree": "在子树中搜索", + "hoist-note": "聚焦笔记", + "unhoist-note": "取消聚焦笔记", + "edit-branch-prefix": "编辑分支前缀", + "advanced": "高级", + "expand-subtree": "展开子树", + "collapse-subtree": "折叠子树", + "sort-by": "排序方式...", + "recent-changes-in-subtree": "子树中的最近更改", + "convert-to-attachment": "转换为附件", + "copy-note-path-to-clipboard": "复制笔记路径到剪贴板", + "protect-subtree": "保护子树", + "unprotect-subtree": "取消保护子树", + "copy-clone": "复制 / 克隆", + "clone-to": "克隆到...", + "cut": "剪切", + "move-to": "移动到...", + "paste-into": "粘贴到里面", + "paste-after": "粘贴到后面", + "export": "导出", + "import-into-note": "导入到笔记", + "apply-bulk-actions": "应用批量操作", + "converted-to-attachments": "{{count}} 个笔记已被转换为附件。", + "convert-to-attachment-confirm": "确定要将选中的笔记转换为其父笔记的附件吗?" + }, + "shared_info": { + "shared_publicly": "此笔记已公开分享于", + "shared_locally": "此笔记已在本地分享于", + "help_link": "访问 wiki 获取帮助。" + }, + "note_types": { + "text": "文本", + "code": "代码", + "saved-search": "保存的搜索", + "relation-map": "关系图", + "note-map": "笔记地图", + "render-note": "渲染笔记", + "mermaid-diagram": "Mermaid 图", + "canvas": "画布", + "web-view": "网页视图", + "mind-map": "思维导图", + "file": "文件", + "image": "图片", + "launcher": "启动器", + "doc": "文档", + "widget": "小部件", + "confirm-change": "当笔记内容不为空时,不建议更改笔记类型。您仍然要继续吗?", + "geo-map": "地理地图", + "beta-feature": "测试版", + "task-list": "待办事项列表" + }, + "protect_note": { + "toggle-on": "保护笔记", + "toggle-off": "取消保护笔记", + "toggle-on-hint": "笔记未受保护,点击以保护", + "toggle-off-hint": "笔记已受保护,点击以取消保护" + }, + "shared_switch": { + "shared": "已分享", + "toggle-on-title": "分享笔记", + "toggle-off-title": "取消分享笔记", + "shared-branch": "此笔记仅作为共享笔记存在,取消共享将删除它。您确定要继续并删除此笔记吗?", + "inherited": "此笔记无法在此处取消共享,因为它通过继承自上级笔记共享。" + }, + "template_switch": { + "template": "模板", + "toggle-on-hint": "将此笔记设为模板", + "toggle-off-hint": "取消笔记模板设置" + }, + "open-help-page": "打开帮助页面", + "find": { + "case_sensitive": "区分大小写", + "match_words": "匹配单词", + "find_placeholder": "在文本中查找...", + "replace_placeholder": "替换为...", + "replace": "替换", + "replace_all": "全部替换" + }, + "highlights_list_2": { + "title": "高亮列表", + "options": "选项" + }, + "quick-search": { + "placeholder": "快速搜索", + "searching": "正在搜索...", + "no-results": "未找到结果", + "more-results": "... 以及另外 {{number}} 个结果。", + "show-in-full-search": "在完整的搜索界面中显示" + }, + "note_tree": { + "collapse-title": "折叠笔记树", + "scroll-active-title": "滚动到活跃笔记", + "tree-settings-title": "树设置", + "hide-archived-notes": "隐藏已归档笔记", + "automatically-collapse-notes": "自动折叠笔记", + "automatically-collapse-notes-title": "笔记在一段时间内未使用将被折叠,以减少树形结构的杂乱。", + "save-changes": "保存并应用更改", + "auto-collapsing-notes-after-inactivity": "在不活跃后自动折叠笔记...", + "saved-search-note-refreshed": "已保存的搜索笔记已刷新。", + "hoist-this-note-workspace": "聚焦此笔记(工作区)", + "refresh-saved-search-results": "刷新保存的搜索结果", + "create-child-note": "创建子笔记", + "unhoist": "取消聚焦" + }, + "title_bar_buttons": { + "window-on-top": "保持此窗口置顶" + }, + "note_detail": { + "could_not_find_typewidget": "找不到类型为 '{{type}}' 的 typeWidget" + }, + "note_title": { + "placeholder": "请输入笔记标题..." + }, + "search_result": { + "no_notes_found": "没有找到符合搜索条件的笔记。", + "search_not_executed": "尚未执行搜索。请点击上方的\"搜索\"按钮查看结果。" + }, + "spacer": { + "configure_launchbar": "配置启动栏" + }, + "sql_result": { + "no_rows": "此查询没有返回任何数据" + }, + "sql_table_schemas": { + "tables": "表" + }, + "tab_row": { + "close_tab": "关闭标签页", + "add_new_tab": "添加新标签页", + "close": "关闭", + "close_other_tabs": "关闭其他标签页", + "close_right_tabs": "关闭右侧标签页", + "close_all_tabs": "关闭所有标签页", + "reopen_last_tab": "重新打开关闭的标签页", + "move_tab_to_new_window": "将此标签页移动到新窗口", + "copy_tab_to_new_window": "将此标签页复制到新窗口", + "new_tab": "新标签页" + }, + "toc": { + "table_of_contents": "目录", + "options": "选项" + }, + "watched_file_update_status": { + "file_last_modified": "文件 最后修改时间为 。", + "upload_modified_file": "上传修改的文件", + "ignore_this_change": "忽略此更改" + }, + "app_context": { + "please_wait_for_save": "请等待几秒钟以完成保存,然后您可以尝试再操作一次。" + }, + "note_create": { + "duplicated": "笔记 \"{{title}}\" 已被复制。" + }, + "image": { + "copied-to-clipboard": "图片的引用已复制到剪贴板,可以粘贴到任何文本笔记中。", + "cannot-copy": "无法将图片引用复制到剪贴板。" + }, + "clipboard": { + "cut": "笔记已剪切到剪贴板。", + "copied": "笔记已复制到剪贴板。" + }, + "entrypoints": { + "note-revision-created": "笔记修订已创建。", + "note-executed": "笔记已执行。", + "sql-error": "执行 SQL 查询时发生错误:{{message}}" + }, + "branches": { + "cannot-move-notes-here": "无法将笔记移动到这里。", + "delete-status": "删除状态", + "delete-notes-in-progress": "正在删除笔记:{{count}}", + "delete-finished-successfully": "删除成功完成。", + "undeleting-notes-in-progress": "正在恢复删除的笔记:{{count}}", + "undeleting-notes-finished-successfully": "恢复删除的笔记已成功完成。" + }, + "frontend_script_api": { + "async_warning": "您正在将一个异步函数传递给 `api.runOnBackend()`,这可能无法按预期工作。\\n要么使该函数同步(通过移除 `async` 关键字),要么使用 `api.runAsyncOnBackendWithManualTransactionHandling()`。", + "sync_warning": "您正在将一个同步函数传递给 `api.runAsyncOnBackendWithManualTransactionHandling()`,\\n而您可能应该使用 `api.runOnBackend()`。" + }, + "ws": { + "sync-check-failed": "同步检查失败!", + "consistency-checks-failed": "一致性检查失败!请查看日志了解详细信息。", + "encountered-error": "遇到错误 \"{{message}}\",请查看控制台。" + }, + "hoisted_note": { + "confirm_unhoisting": "请求的笔记 '{{requestedNote}}' 位于聚焦的笔记 '{{hoistedNote}}' 的子树之外,您必须取消聚焦才能访问该笔记。是否继续取消聚焦?" + }, + "launcher_context_menu": { + "reset_launcher_confirm": "您确定要重置 \"{{title}}\" 吗?此笔记(及其子项)中的所有数据/设置将丢失,且启动器将恢复到其原始位置。", + "add-note-launcher": "添加笔记启动器", + "add-script-launcher": "添加脚本启动器", + "add-custom-widget": "添加自定义小部件", + "add-spacer": "添加间隔", + "delete": "删除 ", + "reset": "重置", + "move-to-visible-launchers": "移动到可见启动器", + "move-to-available-launchers": "移动到可用启动器", + "duplicate-launcher": "复制启动器 " + }, + "editable-text": { + "auto-detect-language": "自动检测" + }, + "highlighting": { + "title": "代码块", + "description": "控制文本笔记中代码块的语法高亮,代码笔记不会受到影响。", + "color-scheme": "颜色方案" + }, + "code_block": { + "word_wrapping": "自动换行", + "theme_none": "无语法高亮", + "theme_group_light": "浅色主题", + "theme_group_dark": "深色主题" + }, + "classic_editor_toolbar": { + "title": "格式" + }, + "editor": { + "title": "编辑器" + }, + "editing": { + "editor_type": { + "label": "格式工具栏", + "floating": { + "title": "浮动", + "description": "编辑工具出现在光标附近;" + }, + "fixed": { + "title": "固定", + "description": "编辑工具出现在 \"格式\" 功能区标签中。" + }, + "multiline-toolbar": "如果工具栏无法完全显示,则分多行显示。" + } + }, + "electron_context_menu": { + "add-term-to-dictionary": "将 \"{{term}}\" 添加到字典", + "cut": "剪切", + "copy": "复制", + "copy-link": "复制链接", + "paste": "粘贴", + "paste-as-plain-text": "以纯文本粘贴", + "search_online": "用 {{searchEngine}} 搜索 \"{{term}}\"" + }, + "image_context_menu": { + "copy_reference_to_clipboard": "复制引用到剪贴板", + "copy_image_to_clipboard": "复制图片到剪贴板" + }, + "link_context_menu": { + "open_note_in_new_tab": "在新标签页中打开笔记", + "open_note_in_new_split": "在新分屏中打开笔记", + "open_note_in_new_window": "在新窗口中打开笔记" + }, + "electron_integration": { + "desktop-application": "桌面应用程序", + "native-title-bar": "原生标题栏", + "native-title-bar-description": "对于 Windows 和 macOS,关闭原生标题栏可使应用程序看起来更紧凑。在 Linux 上,保留原生标题栏可以更好地与系统集成。", + "background-effects": "启用背景效果(仅适用于 Windows 11)", + "background-effects-description": "Mica 效果为应用窗口添加模糊且时尚的背景,营造出深度感和现代外观。", + "restart-app-button": "重启应用程序以查看更改", + "zoom-factor": "缩放系数" + }, + "note_autocomplete": { + "search-for": "搜索 \"{{term}}\"", + "create-note": "创建并链接子笔记 \"{{term}}\"", + "insert-external-link": "插入指向 \"{{term}}\" 的外部链接", + "clear-text-field": "清除文本字段", + "show-recent-notes": "显示最近的笔记", + "full-text-search": "全文搜索" + }, + "note_tooltip": { + "note-has-been-deleted": "笔记已被删除。" + }, + "geo-map": { + "create-child-note-title": "创建一个新的子笔记并将其添加到地图中", + "create-child-note-instruction": "单击地图以在该位置创建新笔记,或按 Escape 以取消。", + "unable-to-load-map": "无法加载地图。" + }, + "geo-map-context": { + "open-location": "打开位置", + "remove-from-map": "从地图中移除" + }, + "help-button": { + "title": "打开相关帮助页面" + }, + "duration": { + "seconds": "秒", + "minutes": "分钟", + "hours": "小时", + "days": "天" + }, + "share": { + "title": "共享设置", + "redirect_bare_domain": "将裸域重定向到共享页面", + "redirect_bare_domain_description": "将匿名用户重定向到共享页面,而不是显示登录", + "show_login_link": "在共享主题中显示登录链接", + "show_login_link_description": "在共享页面底部添加登录链接", + "check_share_root": "检查共享根状态", + "share_root_found": "共享根笔记 '{{noteTitle}}' 已准备好", + "share_root_not_found": "未找到带有 #shareRoot 标签的笔记", + "share_root_not_shared": "笔记 '{{noteTitle}}' 具有 #shareRoot 标签,但未共享" + }, + "time_selector": { + "invalid_input": "输入的时间值不是有效数字。", + "minimum_input": "输入的时间值需要至少 {{minimumSeconds}} 秒。" + }, + "tasks": { + "due": { + "today": "今天", + "tomorrow": "明天", + "yesterday": "昨天" + } + } } diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index 3e8629677..31d65b005 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -1,1654 +1,1654 @@ { - "about": { - "title": "Über Trilium Notes", - "close": "Schließen", - "homepage": "Startseite:", - "app_version": "App-Version:", - "db_version": "DB-Version:", - "sync_version": "Synch-version:", - "build_date": "Build-Datum:", - "build_revision": "Build-Revision:", - "data_directory": "Datenverzeichnis:" - }, - "toast": { - "critical-error": { - "title": "Kritischer Fehler", - "message": "Ein kritischer Fehler ist aufgetreten, der das Starten der Client-Anwendung verhindert:\n\n{{message}}\n\nDies wird höchstwahrscheinlich durch ein Skript verursacht, das auf unerwartete Weise fehlschlägt. Versuche, die Anwendung im abgesicherten Modus zu starten und das Problem zu lokalisieren." - }, - "widget-error": { - "title": "Ein Widget konnte nicht initialisiert werden", - "message-custom": "Benutzerdefiniertes Widget von der Notiz mit der ID \"{{id}}\", und dem Titel \"{{title}}\" konnte nicht initialisiert werden wegen:\n\n{{message}}", - "message-unknown": "Unbekanntes Widget konnte nicht initialisiert werden wegen:\n\n{{message}}" - }, - "bundle-error": { - "title": "Benutzerdefiniertes Skript konnte nicht geladen werden", - "message": "Skript von der Notiz mit der ID \"{{id}}\", und dem Titel \"{{title}}\" konnte nicht ausgeführt werden wegen:\n\n{{message}}" - } - }, - "add_link": { - "add_link": "Link hinzufügen", - "help_on_links": "Hilfe zu Links", - "close": "Schließen", - "note": "Notiz", - "search_note": "Suche nach einer Notiz anhand ihres Namens", - "link_title_mirrors": "Der Linktitel spiegelt den aktuellen Titel der Notiz wider", - "link_title_arbitrary": "Der Linktitel kann beliebig geändert werden", - "link_title": "Linktitel", - "button_add_link": "Link hinzufügen Eingabetaste" - }, - "branch_prefix": { - "edit_branch_prefix": "Zweigpräfix bearbeiten", - "help_on_tree_prefix": "Hilfe zum Baumpräfix", - "close": "Schließen", - "prefix": "Präfix: ", - "save": "Speichern", - "branch_prefix_saved": "Zweigpräfix wurde gespeichert." - }, - "bulk_actions": { - "bulk_actions": "Massenaktionen", - "close": "Schließen", - "affected_notes": "Betroffene Notizen", - "include_descendants": "Unternotizen der ausgewählten Notizen einbeziehen", - "available_actions": "Verfügbare Aktionen", - "chosen_actions": "Ausgewählte Aktionen", - "execute_bulk_actions": "Massenaktionen ausführen", - "bulk_actions_executed": "Massenaktionen wurden erfolgreich ausgeführt.", - "none_yet": "Noch keine ... Füge eine Aktion hinzu, indem du oben auf eine der verfügbaren Aktionen klicken.", - "labels": "Labels", - "relations": "Beziehungen", - "notes": "Notizen", - "other": "Andere" - }, - "clone_to": { - "clone_notes_to": "Notizen klonen nach...", - "close": "Schließen", - "help_on_links": "Hilfe zu Links", - "notes_to_clone": "Notizen zum Klonen", - "target_parent_note": "Ziel-Übergeordnetenotiz", - "search_for_note_by_its_name": "Suche nach einer Notiz anhand ihres Namens", - "cloned_note_prefix_title": "Die geklonte Notiz wird im Notizbaum mit dem angegebenen Präfix angezeigt", - "prefix_optional": "Präfix (optional)", - "clone_to_selected_note": "Auf ausgewählte Notiz klonen Eingabe", - "no_path_to_clone_to": "Kein Pfad zum Klonen.", - "note_cloned": "Die Notiz \"{{clonedTitle}}\" wurde in \"{{targetTitle}}\" hinein geklont" - }, - "confirm": { - "confirmation": "Bestätigung", - "close": "Schließen", - "cancel": "Abbrechen", - "ok": "OK", - "are_you_sure_remove_note": "Bist du sicher, dass du \"{{title}}\" von der Beziehungskarte entfernen möchten? ", - "if_you_dont_check": "Wenn du dies nicht aktivierst, wird die Notiz nur aus der Beziehungskarte entfernt.", - "also_delete_note": "Auch die Notiz löschen" - }, - "delete_notes": { - "delete_notes_preview": "Vorschau der Notizen löschen", - "close": "Schließen", - "delete_all_clones_description": "auch alle Klone löschen (kann bei letzte Änderungen rückgängig gemacht werden)", - "erase_notes_description": "Beim normalen (vorläufigen) Löschen werden die Notizen nur als gelöscht markiert und sie können innerhalb eines bestimmten Zeitraums (im Dialogfeld „Letzte Änderungen“) wiederhergestellt werden. Wenn du diese Option aktivierst, werden die Notizen sofort gelöscht und es ist nicht möglich, die Notizen wiederherzustellen.", - "erase_notes_warning": "Notizen dauerhaft löschen (kann nicht rückgängig gemacht werden), einschließlich aller Klone. Dadurch wird ein Neuladen der Anwendung erzwungen.", - "notes_to_be_deleted": "Folgende Notizen werden gelöscht ()", - "no_note_to_delete": "Es werden keine Notizen gelöscht (nur Klone).", - "broken_relations_to_be_deleted": "Folgende Beziehungen werden gelöst und gelöscht ()", - "cancel": "Abbrechen", - "ok": "OK", - "deleted_relation_text": "Notiz {{- note}} (soll gelöscht werden) wird von Beziehung {{- relation}} ausgehend von {{- source}} referenziert." - }, - "export": { - "export_note_title": "Notiz exportieren", - "close": "Schließen", - "export_type_subtree": "Diese Notiz und alle ihre Unternotizen", - "format_html": "HTML - empfohlen, da dadurch alle Formatierungen erhalten bleiben", - "format_html_zip": "HTML im ZIP-Archiv – dies wird empfohlen, da dadurch die gesamte Formatierung erhalten bleibt.", - "format_markdown": "Markdown – dadurch bleiben die meisten Formatierungen erhalten.", - "format_opml": "OPML – Outliner-Austauschformat nur für Text. Formatierungen, Bilder und Dateien sind nicht enthalten.", - "opml_version_1": "OPML v1.0 – nur Klartext", - "opml_version_2": "OPML v2.0 – erlaubt auch HTML", - "export_type_single": "Nur diese Notiz ohne ihre Unternotizen", - "export": "Export", - "choose_export_type": "Bitte wähle zuerst den Exporttypen aus", - "export_status": "Exportstatus", - "export_in_progress": "Export läuft: {{progressCount}}", - "export_finished_successfully": "Der Export wurde erfolgreich abgeschlossen.", - "format_pdf": "PDF - für Ausdrucke oder Teilen." - }, - "help": { - "fullDocumentation": "Hilfe (gesamte Dokumentation ist online verfügbar)", - "close": "Schließen", - "noteNavigation": "Notiz Navigation", - "goUpDown": "Pfeil Hoch, Pfeil Runter - In der Liste der Notizen nach oben/unten gehen", - "collapseExpand": "LEFT, RIGHT - Knoten reduzieren/erweitern", - "notSet": "nicht eingestellt", - "goBackForwards": "in der Historie zurück/vorwärts gehen", - "showJumpToNoteDialog": "zeige \"Springe zu\" dialog", - "scrollToActiveNote": "Scrolle zur aktiven Notiz", - "jumpToParentNote": "Backspace - Zur übergeordneten Notiz springen", - "collapseWholeTree": "Reduziere den gesamten Notizbaum", - "collapseSubTree": "Teilbaum einklappen", - "tabShortcuts": "Tab-Tastenkürzel", - "newTabNoteLink": "Strg+Klick - (oder mittlerer Mausklick) auf den Notizlink öffnet die Notiz in einem neuen Tab", - "onlyInDesktop": "Nur im Desktop (Electron Build)", - "openEmptyTab": "Leeren Tab öffnen", - "closeActiveTab": "Aktiven Tab schließen", - "activateNextTab": "Nächsten Tab aktivieren", - "activatePreviousTab": "Vorherigen Tab aktivieren", - "creatingNotes": "Notizen erstellen", - "createNoteAfter": "Erstelle eine neue Notiz nach der aktiven Notiz", - "createNoteInto": "Neue Unternotiz in aktive Notiz erstellen", - "editBranchPrefix": "bearbeite Präfix vom aktiven Notizklon", - "movingCloningNotes": "Notizen verschieben/klonen", - "moveNoteUpDown": "Notiz in der Notizenliste nach oben/unten verschieben", - "moveNoteUpHierarchy": "Verschiebe die Notiz in der Hierarchie nach oben", - "multiSelectNote": "Mehrfachauswahl von Notizen oben/unten", - "selectAllNotes": "Wähle alle Notizen in der aktuellen Ebene aus", - "selectNote": "Umschalt+Klick - Notiz auswählen", - "copyNotes": "Kopiere aktive Notiz (oder aktuelle Auswahl) in den Zwischenspeicher (wird genutzt für Klonen)", - "cutNotes": "Aktuelle Notiz (oder aktuelle Auswahl) in die Zwischenablage ausschneiden (wird zum Verschieben von Notizen verwendet)", - "pasteNotes": "Notiz(en) als Unternotiz in die aktive Notiz einfügen (entweder verschieben oder klonen, je nachdem, ob sie kopiert oder in die Zwischenablag e ausgeschnitten wurde)", - "deleteNotes": "Notiz / Unterbaum löschen", - "editingNotes": "Notizen bearbeiten", - "editNoteTitle": "Im Baumbereich wird vom Baumbereich zum Notiztitel gewechselt. Beim Druck auf Eingabe im Notiztitel, wechselt der Fokus zum Texteditor. Strg+. wechselt vom Editor zurück zum Baumbereich.", - "createEditLink": "Strg+K - Externen Link erstellen/bearbeiten", - "createInternalLink": "Internen Link erstellen", - "followLink": "Folge dem Link unter dem Cursor", - "insertDateTime": "Gebe das aktuelle Datum und die aktuelle Uhrzeit an der Einfügemarke ein", - "jumpToTreePane": "Springe zum Baumbereich und scrolle zur aktiven Notiz", - "markdownAutoformat": "Markdown-ähnliche Autoformatierung", - "headings": "##, ###, #### usw. gefolgt von Platz für Überschriften", - "bulletList": "* oder - gefolgt von Leerzeichen für Aufzählungsliste", - "numberedList": "1. oder 1) gefolgt von Leerzeichen für nummerierte Liste", - "blockQuote": "Beginne eine Zeile mit > gefolgt von einem Leerzeichen für Blockzitate", - "troubleshooting": "Fehlerbehebung", - "reloadFrontend": "Trilium-Frontend neuladen", - "showDevTools": "Entwicklertools anzeigen", - "showSQLConsole": "SQL-Konsole anzeigen", - "other": "Andere", - "quickSearch": "Fokus auf schnelle Sucheingabe", - "inPageSearch": "Auf-der-Seite-Suche" - }, - "import": { - "importIntoNote": "In Notiz importieren", - "close": "Schließen", - "chooseImportFile": "Wähle Importdatei aus", - "importDescription": "Der Inhalt der ausgewählten Datei(en) wird als untergeordnete Notiz(en) importiert", - "options": "Optionen", - "safeImportTooltip": "Trilium .zip-Exportdateien können ausführbare Skripte enthalten, die möglicherweise schädliches Verhalten aufweisen. Der sichere Import deaktiviert die automatische Ausführung aller importierten Skripte. Deaktiviere 'Sicherer Import' nur, wenn das importierte Archiv ausführbare Skripte enthalten soll und du dem Inhalt der Importdatei vollständig vertraust.", - "safeImport": "Sicherer Import", - "explodeArchivesTooltip": "Wenn dies aktiviert ist, liest Trilium die Dateien .zip, .enex und .opml und erstellt Notizen aus Dateien in diesen Archiven. Wenn diese Option deaktiviert ist, hängt Trilium die Archive selbst an die Notiz an.", - "explodeArchives": "Lese den Inhalt der Archive .zip, .enex und .opml.", - "shrinkImagesTooltip": "

Wenn du diese Option aktivierst, versucht Trilium, die importierten Bilder durch Skalierung und Optimierung zu verkleinern, was sich auf die wahrgenommene Bildqualität auswirken kann. Wenn diese Option deaktiviert ist, werden Bilder ohne Änderungen importiert.

Dies gilt nicht für .zip-Importe mit Metadaten, da davon ausgegangen wird, dass diese Dateien bereits optimiert sind.

", - "shrinkImages": "Bilder verkleinern", - "textImportedAsText": "Importiere HTML, Markdown und TXT als Textnotizen, wenn die Metadaten unklar sind", - "codeImportedAsCode": "Importiere erkannte Codedateien (z. B. .json) als Codenotizen, wenn die Metadaten unklar sind", - "replaceUnderscoresWithSpaces": "Ersetze Unterstriche in importierten Notiznamen durch Leerzeichen", - "import": "Import", - "failed": "Import fehlgeschlagen: {{message}}.", - "html_import_tags": { - "title": "HTML Tag Import", - "description": "Festlegen, welche HTML tags beim Import von Notizen beibehalten werden sollen. Tags, die nicht in dieser Liste stehen, werden beim Import entfernt. Einige tags (wie bspw. 'script') werden aus Sicherheitsgründen immer entfernt.", - "placeholder": "HTML tags eintragen, pro Zeile nur einer pro Zeile", - "reset_button": "Zur Standardliste zurücksetzen" - }, - "import-status": "Importstatus", - "in-progress": "Import läuft: {{progress}}", - "successful": "Import erfolgreich abgeschlossen." - }, - "include_note": { - "dialog_title": "Notiz beifügen", - "close": "Schließen", - "label_note": "Notiz", - "placeholder_search": "Suche nach einer Notiz anhand ihres Namens", - "box_size_prompt": "Kartongröße des beigelegten Zettels:", - "box_size_small": "klein (~ 10 Zeilen)", - "box_size_medium": "mittel (~ 30 Zeilen)", - "box_size_full": "vollständig (Feld zeigt vollständigen Text)", - "button_include": "Notiz beifügen Eingabetaste" - }, - "info": { - "modalTitle": "Infonachricht", - "closeButton": "Schließen", - "okButton": "OK" - }, - "jump_to_note": { - "close": "Schließen", - "search_button": "Suche im Volltext: Strg+Eingabetaste" - }, - "markdown_import": { - "dialog_title": "Markdown-Import", - "close": "Schließen", - "modal_body_text": "Aufgrund der Browser-Sandbox ist es nicht möglich, die Zwischenablage direkt aus JavaScript zu lesen. Bitte füge den zu importierenden Markdown in den Textbereich unten ein und klicke auf die Schaltfläche „Importieren“.", - "import_button": "Importieren Strg+Eingabe", - "import_success": "Markdown-Inhalt wurde in das Dokument importiert." - }, - "move_to": { - "dialog_title": "Notizen verschieben nach ...", - "close": "Schließen", - "notes_to_move": "Notizen zum Verschieben", - "target_parent_note": "Ziel-Elternnotiz", - "search_placeholder": "Suche nach einer Notiz anhand ihres Namens", - "move_button": "Zur ausgewählten Notiz wechseln Eingabetaste", - "error_no_path": "Kein Weg, auf den man sich bewegen kann.", - "move_success_message": "Ausgewählte Notizen wurden verschoben" - }, - "note_type_chooser": { - "modal_title": "Wähle den Notiztyp aus", - "close": "Schließen", - "modal_body": "Wähle den Notiztyp / die Vorlage der neuen Notiz:", - "templates": "Vorlagen:" - }, - "password_not_set": { - "title": "Das Passwort ist nicht festgelegt", - "close": "Schließen", - "body1": "Geschützte Notizen werden mit einem Benutzerpasswort verschlüsselt, es wurde jedoch noch kein Passwort festgelegt.", - "body2": "Um Notizen verschlüsseln zu können, klicke hier um das Optionsmenu zu öffnen und ein Passwort zu setzen." - }, - "prompt": { - "title": "Prompt", - "close": "Schließen", - "ok": "OK Eingabe", - "defaultTitle": "Prompt" - }, - "protected_session_password": { - "modal_title": "Geschützte Sitzung", - "help_title": "Hilfe zu geschützten Notizen", - "close_label": "Schließen", - "form_label": "Um mit der angeforderten Aktion fortzufahren, musst du eine geschützte Sitzung starten, indem du ein Passwort eingibst:", - "start_button": "Geschützte Sitzung starten enter" - }, - "recent_changes": { - "title": "Aktuelle Änderungen", - "erase_notes_button": "Jetzt gelöschte Notizen löschen", - "close": "Schließen", - "deleted_notes_message": "Gelöschte Notizen wurden gelöscht.", - "no_changes_message": "Noch keine Änderungen...", - "undelete_link": "Wiederherstellen", - "confirm_undelete": "Möchten Sie diese Notiz und ihre Unternotizen wiederherstellen?" - }, - "revisions": { - "note_revisions": "Notizrevisionen", - "delete_all_revisions": "Lösche alle Revisionen dieser Notiz", - "delete_all_button": "Alle Revisionen löschen", - "help_title": "Hilfe zu Notizrevisionen", - "close": "Schließen", - "revision_last_edited": "Diese Revision wurde zuletzt am {{date}} bearbeitet", - "confirm_delete_all": "Möchtest du alle Revisionen dieser Notiz löschen?", - "no_revisions": "Für diese Notiz gibt es noch keine Revisionen...", - "confirm_restore": "Möchtest du diese Revision wiederherstellen? Dadurch werden der aktuelle Titel und Inhalt der Notiz mit dieser Revision überschrieben.", - "confirm_delete": "Möchtest du diese Revision löschen?", - "revisions_deleted": "Notizrevisionen wurden gelöscht.", - "revision_restored": "Die Notizrevision wurde wiederhergestellt.", - "revision_deleted": "Notizrevision wurde gelöscht.", - "snapshot_interval": "Notizrevisionen-Snapshot Intervall: {{seconds}}s.", - "maximum_revisions": "Maximale Revisionen für aktuelle Notiz: {{number}}.", - "settings": "Einstellungen für Notizrevisionen", - "download_button": "Herunterladen", - "mime": "MIME:", - "file_size": "Dateigröße:", - "preview": "Vorschau:", - "preview_not_available": "Für diesen Notiztyp ist keine Vorschau verfügbar." - }, - "sort_child_notes": { - "sort_children_by": "Unternotizen sortieren nach...", - "close": "Schließen", - "sorting_criteria": "Sortierkriterien", - "title": "Titel", - "date_created": "Erstellungsdatum", - "date_modified": "Änderungsdatum", - "sorting_direction": "Sortierrichtung", - "ascending": "aufsteigend", - "descending": "absteigend", - "folders": "Ordner", - "sort_folders_at_top": "Ordne die Ordner oben", - "natural_sort": "Natürliche Sortierung", - "sort_with_respect_to_different_character_sorting": "Sortierung im Hinblick auf unterschiedliche Sortier- und Sortierregeln für Zeichen in verschiedenen Sprachen oder Regionen.", - "natural_sort_language": "Natürliche Sortiersprache", - "the_language_code_for_natural_sort": "Der Sprachcode für die natürliche Sortierung, z. B. \"de-DE\" für Deutsch.", - "sort": "Sortieren Eingabetaste" - }, - "upload_attachments": { - "upload_attachments_to_note": "Lade Anhänge zur Notiz hoch", - "close": "Schließen", - "choose_files": "Wähle Dateien aus", - "files_will_be_uploaded": "Dateien werden als Anhänge in hochgeladen", - "options": "Optionen", - "shrink_images": "Bilder verkleinern", - "upload": "Hochladen", - "tooltip": "Wenn du diese Option aktivieren, versucht Trilium, die hochgeladenen Bilder durch Skalierung und Optimierung zu verkleinern, was sich auf die wahrgenommene Bildqualität auswirken kann. Wenn diese Option deaktiviert ist, werden die Bilder ohne Änderungen hochgeladen." - }, - "attribute_detail": { - "attr_detail_title": "Attributdetailtitel", - "close_button_title": "Änderungen verwerfen und schließen", - "attr_is_owned_by": "Das Attribut ist Eigentum von", - "attr_name_title": "Der Attributname darf nur aus alphanumerischen Zeichen, Doppelpunkten und Unterstrichen bestehen", - "name": "Name", - "value": "Wert", - "target_note_title": "Eine Beziehung ist eine benannte Verbindung zwischen Quellnotiz und Zielnotiz.", - "target_note": "Zielnotiz", - "promoted_title": "Das heraufgestufte Attribut wird deutlich in der Notiz angezeigt.", - "promoted": "Gefördert", - "promoted_alias_title": "Der Name, der in der Benutzeroberfläche für heraufgestufte Attribute angezeigt werden soll.", - "promoted_alias": "Alias", - "multiplicity_title": "Multiplizität definiert, wie viele Attribute mit demselben Namen erstellt werden können – maximal 1 oder mehr als 1.", - "multiplicity": "Vielzahl", - "single_value": "Einzelwert", - "multi_value": "Mehrfachwert", - "label_type_title": "Der Etikettentyp hilft Trilium bei der Auswahl einer geeigneten Schnittstelle zur Eingabe des Etikettenwerts.", - "label_type": "Typ", - "text": "Text", - "number": "Nummer", - "boolean": "Boolescher Wert", - "date": "Datum", - "date_time": "Datum und Uhrzeit", - "time": "Uhrzeit", - "url": "URL", - "precision_title": "Wie viele Nachkommastellen im Wert-Einstellungs-Interface verfügbar sein sollen.", - "precision": "Präzision", - "digits": "Ziffern", - "inverse_relation_title": "Optionale Einstellung, um zu definieren, zu welcher Beziehung diese entgegengesetzt ist. Beispiel: Vater – Sohn stehen in umgekehrter Beziehung zueinander.", - "inverse_relation": "Inverse Beziehung", - "inheritable_title": "Das vererbbare Attribut wird an alle Nachkommen unter diesem Baum vererbt.", - "inheritable": "Vererbbar", - "save_and_close": "Speichern und schließen Strg+Eingabetaste", - "delete": "Löschen", - "related_notes_title": "Weitere Notizen mit diesem Label", - "more_notes": "Weitere Notizen", - "label": "Labeldetail", - "label_definition": "Details zur Labeldefinition", - "relation": "Beziehungsdetails", - "relation_definition": "Details zur Beziehungsdefinition", - "disable_versioning": "deaktiviert die automatische Versionierung. Nützlich z.B. große, aber unwichtige Notizen – z.B. große JS-Bibliotheken, die für die Skripterstellung verwendet werden", - "calendar_root": "Markiert eine Notiz, die als Basis für Tagesnotizen verwendet werden soll. Nur einer sollte als solcher gekennzeichnet sein.", - "archived": "Notizen mit dieser Bezeichnung werden standardmäßig nicht in den Suchergebnissen angezeigt (auch nicht in den Dialogen „Springen zu“, „Link hinzufügen“ usw.).", - "exclude_from_export": "Notizen (mit ihrem Unterbaum) werden nicht in den Notizexport einbezogen", - "run": "Definiert, bei welchen Ereignissen das Skript ausgeführt werden soll. Mögliche Werte sind:\n
    \n
  • frontendStartup - wenn das Trilium-Frontend startet (oder aktualisiert wird), außer auf mobilen Geräten.
  • \n
  • mobileStartup - wenn das Trilium-Frontend auf einem mobilen Gerät startet (oder aktualisiert wird).
  • \n
  • backendStartup - wenn das Trilium-Backend startet
  • \n
  • hourly - einmal pro Stunde ausführen. Du kannst das zusätzliche Label runAtHour verwenden, um die genaue Stunde festzulegen.
  • \n
  • daily - einmal pro Tag ausführen
  • \n
", - "run_on_instance": "Definiere, auf welcher Trilium-Instanz dies ausgeführt werden soll. Standardmäßig alle Instanzen.", - "run_at_hour": "Zu welcher Stunde soll das laufen? Sollte zusammen mit #runu003dhourly verwendet werden. Kann für mehr Läufe im Laufe des Tages mehrfach definiert werden.", - "disable_inclusion": "Skripte mit dieser Bezeichnung werden nicht in die Ausführung des übergeordneten Skripts einbezogen.", - "sorted": "Hält untergeordnete Notizen alphabetisch nach Titel sortiert", - "sort_direction": "ASC (Standard) oder DESC", - "sort_folders_first": "Ordner (Notizen mit Unternotizen) sollten oben sortiert werden", - "top": "Behalte die angegebene Notiz oben in der übergeordneten Notiz (gilt nur für sortierte übergeordnete Notizen).", - "hide_promoted_attributes": "Heraufgestufte Attribute für diese Notiz ausblenden", - "read_only": "Der Editor befindet sich im schreibgeschützten Modus. Funktioniert nur für Text- und Codenotizen.", - "auto_read_only_disabled": "Text-/Codenotizen können automatisch in den Lesemodus versetzt werden, wenn sie zu groß sind. Du kannst dieses Verhalten für jede einzelne Notiz deaktivieren, indem du diese Beschriftung zur Notiz hinzufügst", - "app_css": "markiert CSS-Notizen, die in die Trilium-Anwendung geladen werden und somit zur Änderung des Aussehens von Trilium verwendet werden können.", - "app_theme": "markiert CSS-Notizen, die vollständige Trilium-Themen sind und daher in den Trilium-Optionen verfügbar sind.", - "app_theme_base": "markiert Notiz als \"nächste\" in der Reihe für ein Trilium-Theme als Grundlage für ein Custom-Theme. Ersetzt damit das Standard Theme.", - "css_class": "Der Wert dieser Bezeichnung wird dann als CSS-Klasse dem Knoten hinzugefügt, der die angegebene Notiz im Baum darstellt. Dies kann für fortgeschrittene Themen nützlich sein. Kann in Vorlagennotizen verwendet werden.", - "icon_class": "Der Wert dieser Bezeichnung wird als CSS-Klasse zum Symbol im Baum hinzugefügt, was dabei helfen kann, die Notizen im Baum visuell zu unterscheiden. Beispiel könnte bx bx-home sein – Symbole werden von Boxicons übernommen. Kann in Vorlagennotizen verwendet werden.", - "page_size": "Anzahl der Elemente pro Seite in der Notizliste", - "custom_request_handler": "siehe Custom request handler", - "custom_resource_provider": "siehe Custom request handler", - "widget": "Markiert diese Notiz als benutzerdefiniertes Widget, das dem Trilium-Komponentenbaum hinzugefügt wird", - "workspace": "Markiert diese Notiz als Arbeitsbereich, der ein einfaches Heben ermöglicht", - "workspace_icon_class": "Definiert die CSS-Klasse des Boxsymbols, die im Tab verwendet wird, wenn es zu dieser Notiz gehoben wird", - "workspace_tab_background_color": "CSS-Farbe, die in der Registerkarte „Notiz“ verwendet wird, wenn sie auf diese Notiz hochgezogen wird", - "workspace_calendar_root": "Definiert den Kalenderstamm pro Arbeitsbereich", - "workspace_template": "Diese Notiz wird beim Erstellen einer neuen Notiz in der Auswahl der verfügbaren Vorlage angezeigt, jedoch nur, wenn sie in einen Arbeitsbereich verschoben wird, der diese Vorlage enthält", - "search_home": "Neue Suchnotizen werden als untergeordnete Elemente dieser Notiz erstellt", - "workspace_search_home": "Neue Suchnotizen werden als untergeordnete Elemente dieser Notiz erstellt, wenn sie zu einem Vorgänger dieser Arbeitsbereichsnotiz verschoben werden", - "inbox": "Standard-Inbox-Position für neue Notizen – wenn du eine Notiz über den \"Neue Notiz\"-Button in der Seitenleiste erstellst, wird die Notiz als untergeordnete Notiz der Notiz erstellt, die mit dem #inbox-Label markiert ist.", - "workspace_inbox": "Standard-Posteingangsspeicherort für neue Notizen, wenn sie zu einem Vorgänger dieser Arbeitsbereichsnotiz verschoben werden", - "sql_console_home": "Standardspeicherort der SQL-Konsolennotizen", - "bookmark_folder": "Notizen mit dieser Bezeichnung werden in den Lesezeichen als Ordner angezeigt (und ermöglichen den Zugriff auf ihre untergeordneten Ordner).", - "share_hidden_from_tree": "Diese Notiz ist im linken Navigationsbaum ausgeblendet, kann aber weiterhin über ihre URL aufgerufen werden", - "share_external_link": "Die Notiz dient als Link zu einer externen Website im Freigabebaum", - "share_alias": "Lege einen Alias fest, unter dem die Notiz unter https://your_trilium_host/share/[dein_alias] verfügbar sein wird.", - "share_omit_default_css": "Das Standard-CSS für die Freigabeseite wird weggelassen. Verwende es, wenn du umfangreiche Stylingänderungen vornimmst.", - "share_root": "Markiert eine Notiz, die im /share-Root bereitgestellt wird.", - "share_description": "Definiere Text, der dem HTML-Meta-Tag zur Beschreibung hinzugefügt werden soll", - "share_raw": "Die Notiz wird im Rohformat ohne HTML-Wrapper bereitgestellt", - "share_disallow_robot_indexing": "verbietet die Robot-Indizierung dieser Notiz über den Header X-Robots-Tag: noindex", - "share_credentials": "Für den Zugriff auf diese freigegebene Notiz sind Anmeldeinformationen erforderlich. Es wird erwartet, dass der Wert das Format „Benutzername:Passwort“ hat. Vergiss nicht, dies vererbbar zu machen, um es auf untergeordnete Notizen/Bilder anzuwenden.", - "share_index": "Eine Notiz mit dieser Bezeichnung listet alle Wurzeln gemeinsamer Notizen auf", - "display_relations": "Durch Kommas getrennte Namen der Beziehungen, die angezeigt werden sollen. Alle anderen werden ausgeblendet.", - "hide_relations": "Durch Kommas getrennte Namen von Beziehungen, die ausgeblendet werden sollen. Alle anderen werden angezeigt.", - "title_template": "Standardtitel von Notizen, die als untergeordnete Notizen dieser Notiz erstellt werden. Der Wert wird als JavaScript-String ausgewertet \n und kann daher mit dynamischen Inhalten über die injizierten now und parentNote-Variablen angereichert werden. Beispiele:\n \n
    \n
  • ${parentNote.getLabelValue('authorName')}'s literarische Werke
  • \n
  • Logbuch für ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n Siehe Wiki mit Details, API-Dokumentation für parentNote und now für Details.", - "template": "Diese Notiz wird beim Erstellen einer neuen Notiz in der Auswahl der verfügbaren Vorlage angezeigt", - "toc": "#toc oder #tocu003dshow erzwingen die Anzeige des Inhaltsverzeichnisses, #tocu003dhide erzwingt das Ausblenden. Wenn die Bezeichnung nicht vorhanden ist, wird die globale Einstellung beachtet", - "color": "Definiert die Farbe der Notiz im Notizbaum, in Links usw. Verwende einen beliebigen gültigen CSS-Farbwert wie „rot“ oder #a13d5f", - "keyboard_shortcut": "Definiert eine Tastenkombination, die sofort zu dieser Notiz springt. Beispiel: „Strg+Alt+E“. Erfordert ein Neuladen des Frontends, damit die Änderung wirksam wird.", - "keep_current_hoisting": "Das Öffnen dieses Links ändert das Hochziehen nicht, selbst wenn die Notiz im aktuell hochgezogenen Unterbaum nicht angezeigt werden kann.", - "execute_button": "Titel der Schaltfläche, die die aktuelle Codenotiz ausführt", - "execute_description": "Längere Beschreibung der aktuellen Codenotiz, die zusammen mit der Schaltfläche „Ausführen“ angezeigt wird", - "exclude_from_note_map": "Notizen mit dieser Bezeichnung werden in der Notizenkarte ausgeblendet", - "new_notes_on_top": "Neue Notizen werden oben in der übergeordneten Notiz erstellt, nicht unten.", - "hide_highlight_widget": "Widget „Hervorhebungsliste“ ausblenden", - "run_on_note_creation": "Wird ausgeführt, wenn eine Notiz im Backend erstellt wird. Verwende diese Beziehung, wenn du das Skript für alle Notizen ausführen möchtest, die unter einer bestimmten Unternotiz erstellt wurden. Erstelle es in diesem Fall auf der Unternotiz-Stammnotiz und mache es vererbbar. Eine neue Notiz, die innerhalb der Unternotiz (beliebige Tiefe) erstellt wird, löst das Skript aus.", - "run_on_child_note_creation": "Wird ausgeführt, wenn eine neue Notiz unter der Notiz erstellt wird, in der diese Beziehung definiert ist", - "run_on_note_title_change": "Wird ausgeführt, wenn der Notiztitel geändert wird (einschließlich der Notizerstellung)", - "run_on_note_content_change": "Wird ausgeführt, wenn der Inhalt einer Notiz geändert wird (einschließlich der Erstellung von Notizen).", - "run_on_note_change": "Wird ausgeführt, wenn eine Notiz geändert wird (einschließlich der Erstellung von Notizen). Enthält keine Inhaltsänderungen", - "run_on_note_deletion": "Wird ausgeführt, wenn eine Notiz gelöscht wird", - "run_on_branch_creation": "wird ausgeführt, wenn ein Zweig erstellt wird. Der Zweig ist eine Verbindung zwischen der übergeordneten Notiz und der untergeordneten Notiz und wird z. B. erstellt. beim Klonen oder Verschieben von Notizen.", - "run_on_branch_change": "wird ausgeführt, wenn ein Zweig aktualisiert wird.", - "run_on_branch_deletion": "wird ausgeführt, wenn ein Zweig gelöscht wird. Der Zweig ist eine Verknüpfung zwischen der übergeordneten Notiz und der untergeordneten Notiz und wird z. B. gelöscht. beim Verschieben der Notiz (alter Zweig/Link wird gelöscht).", - "run_on_attribute_creation": "wird ausgeführt, wenn für die Notiz ein neues Attribut erstellt wird, das diese Beziehung definiert", - "run_on_attribute_change": "wird ausgeführt, wenn das Attribut einer Notiz geändert wird, die diese Beziehung definiert. Dies wird auch ausgelöst, wenn das Attribut gelöscht wird", - "relation_template": "Die Attribute der Notiz werden auch ohne eine Eltern-Kind-Beziehung vererbt. Der Inhalt und der Unterbaum der Notiz werden den Instanznotizen hinzugefügt, wenn sie leer sind. Einzelheiten findest du in der Dokumentation.", - "inherit": "Die Attribute einer Notiz werden auch ohne eine Eltern-Kind-Beziehung vererbt. Ein ähnliches Konzept findest du unter Vorlagenbeziehung. Siehe Attributvererbung in der Dokumentation.", - "render_note": "Notizen vom Typ \"HTML-Notiz rendern\" werden mit einer Code-Notiz (HTML oder Skript) gerendert, und es ist notwendig, über diese Beziehung anzugeben, welche Notiz gerendert werden soll.", - "widget_relation": "Das Ziel dieser Beziehung wird ausgeführt und als Widget in der Seitenleiste gerendert", - "share_css": "CSS-Hinweis, der in die Freigabeseite eingefügt wird. Die CSS-Notiz muss sich ebenfalls im gemeinsamen Unterbaum befinden. Erwäge auch die Verwendung von „share_hidden_from_tree“ und „share_omit_default_css“.", - "share_js": "JavaScript-Hinweis, der in die Freigabeseite eingefügt wird. Die JS-Notiz muss sich ebenfalls im gemeinsamen Unterbaum befinden. Erwäge die Verwendung von „share_hidden_from_tree“.", - "share_template": "Eingebettete JavaScript-Notiz, die als Vorlage für die Anzeige der geteilten Notiz verwendet wird. Greift auf die Standardvorlage zurück. Erwäge die Verwendung von „share_hidden_from_tree“.", - "share_favicon": "Favicon-Notiz, die auf der freigegebenen Seite festgelegt werden soll. Normalerweise möchtest du es so einstellen, dass es Root teilt und es vererbbar macht. Die Favicon-Notiz muss sich ebenfalls im freigegebenen Unterbaum befinden. Erwäge die Verwendung von „share_hidden_from_tree“.", - "is_owned_by_note": "ist Eigentum von Note", - "other_notes_with_name": "Other notes with {{attributeType}} name \"{{attributeName}}\"", - "and_more": "... und {{count}} mehr.", - "print_landscape": "Beim Export als PDF, wird die Seitenausrichtung Querformat anstatt Hochformat verwendet.", - "print_page_size": "Beim Export als PDF, wird die Größe der Seite angepasst. Unterstützte Größen: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." - }, - "attribute_editor": { - "help_text_body1": "Um ein Label hinzuzufügen, gebe einfach z.B. ein. #rock oder wenn du auch einen Wert hinzufügen möchten, dann z.B. #year = 2024", - "help_text_body2": "Gebe für die Beziehung ~author = @ ein, woraufhin eine automatische Vervollständigung angezeigt wird, in der du die gewünschte Notiz nachschlagen kannst.", - "help_text_body3": "Alternativ kannst du Label und Beziehung über die Schaltfläche + auf der rechten Seite hinzufügen.", - "save_attributes": "Attribute speichern ", - "add_a_new_attribute": "Füge ein neues Attribut hinzu", - "add_new_label": "Füge ein neues Label hinzu ", - "add_new_relation": "Füge eine neue Beziehung hinzu ", - "add_new_label_definition": "Füge eine neue Labeldefinition hinzu", - "add_new_relation_definition": "Füge eine neue Beziehungsdefinition hinzu", - "placeholder": "Gebe die Labels und Beziehungen hier ein" - }, - "abstract_bulk_action": { - "remove_this_search_action": "Entferne diese Suchaktion" - }, - "execute_script": { - "execute_script": "Skript ausführen", - "help_text": "Du kannst einfache Skripte für die übereinstimmenden Notizen ausführen.", - "example_1": "Um beispielsweise eine Zeichenfolge an den Titel einer Notiz anzuhängen, verwende dieses kleine Skript:", - "example_2": "Ein komplexeres Beispiel wäre das Löschen aller übereinstimmenden Notizattribute:" - }, - "add_label": { - "add_label": "Etikett hinzufügen", - "label_name_placeholder": "Labelname", - "label_name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", - "to_value": "zu schätzen", - "new_value_placeholder": "neuer Wert", - "help_text": "Auf allen übereinstimmenden Notizen:", - "help_text_item1": "Erstelle ein bestimmtes Label, wenn die Notiz noch keins hat", - "help_text_item2": "oder den Wert des vorhandenen Labels ändern", - "help_text_note": "Du kannst diese Methode auch ohne Wert aufrufen. In diesem Fall wird der Notiz ein Label ohne Wert zugewiesen." - }, - "delete_label": { - "delete_label": "Label löschen", - "label_name_placeholder": "Labelname", - "label_name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." - }, - "rename_label": { - "rename_label": "Label umbenennen", - "rename_label_from": "Label umbenennen von", - "old_name_placeholder": "alter Name", - "to": "zu", - "new_name_placeholder": "neuer Name", - "name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." - }, - "update_label_value": { - "update_label_value": "Labelwert aktualisieren", - "label_name_placeholder": "Labelname", - "label_name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", - "to_value": "zum Wert", - "new_value_placeholder": "neuer Wert", - "help_text": "Ändere bei allen übereinstimmenden Notizen den Wert des vorhandenen Labels.", - "help_text_note": "Du kannst diese Methode auch ohne Wert aufrufen. In diesem Fall wird der Notiz ein Label ohne Wert zugewiesen." - }, - "delete_note": { - "delete_note": "Notiz löschen", - "delete_matched_notes": "Übereinstimmende Notizen löschen", - "delete_matched_notes_description": "Dadurch werden übereinstimmende Notizen gelöscht.", - "undelete_notes_instruction": "Nach dem Löschen ist es möglich, sie im Dialogfeld „Letzte Änderungen“ wiederherzustellen.", - "erase_notes_instruction": "Um Notizen dauerhaft zu löschen, geh nach der Löschung zu Optionen -> Andere und klicke auf den Button \"Gelöschte Notizen jetzt löschen\"." - }, - "delete_revisions": { - "delete_note_revisions": "Notizrevisionen löschen", - "all_past_note_revisions": "Alle früheren Notizrevisionen übereinstimmender Notizen werden gelöscht. Die Notiz selbst bleibt vollständig erhalten. Mit anderen Worten: Der Verlauf der Notiz wird entfernt." - }, - "move_note": { - "move_note": "Notiz verschieben", - "to": "nach", - "target_parent_note": "Ziel-Übergeordnetenotiz", - "on_all_matched_notes": "Auf allen übereinstimmenden Notizen", - "move_note_new_parent": "Verschiebe die Notiz in die neue übergeordnete Notiz, wenn die Notiz nur eine übergeordnete Notiz hat (d. h. der alte Zweig wird entfernt und ein neuer Zweig in die neue übergeordnete Notiz erstellt).", - "clone_note_new_parent": "Notiz auf die neue übergeordnete Notiz klonen, wenn die Notiz mehrere Klone/Zweige hat (es ist nicht klar, welcher Zweig entfernt werden soll)", - "nothing_will_happen": "Es passiert nichts, wenn die Notiz nicht zur Zielnotiz verschoben werden kann (d. h. dies würde einen Baumzyklus erzeugen)." - }, - "rename_note": { - "rename_note": "Notiz umbenennen", - "rename_note_title_to": "Notiztitel umbenennen in", - "new_note_title": "neuer Notiztitel", - "click_help_icon": "Klicke rechts auf das Hilfesymbol, um alle Optionen anzuzeigen", - "evaluated_as_js_string": "Der angegebene Wert wird als JavaScript-String ausgewertet und kann somit über die injizierte note-Variable mit dynamischem Inhalt angereichert werden (Notiz wird umbenannt). Beispiele:", - "example_note": "Notiz – alle übereinstimmenden Notizen werden in „Notiz“ umbenannt.", - "example_new_title": "NEU: ${note.title} – Übereinstimmende Notiztitel erhalten das Präfix „NEU:“", - "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} – übereinstimmende Notizen werden mit dem Erstellungsmonat und -datum der Notiz vorangestellt", - "api_docs": "Siehe API-Dokumente für Notiz und seinen dateCreatedObj / utcDateCreatedObj-Eigenschaften für Details." - }, - "add_relation": { - "add_relation": "Beziehung hinzufügen", - "relation_name": "Beziehungsname", - "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", - "to": "zu", - "target_note": "Zielnotiz", - "create_relation_on_all_matched_notes": "Erstelle für alle übereinstimmenden Notizen eine bestimmte Beziehung." - }, - "delete_relation": { - "delete_relation": "Beziehung löschen", - "relation_name": "Beziehungsname", - "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." - }, - "rename_relation": { - "rename_relation": "Beziehung umbenennen", - "rename_relation_from": "Beziehung umbenennen von", - "old_name": "alter Name", - "to": "zu", - "new_name": "neuer Name", - "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." - }, - "update_relation_target": { - "update_relation": "Beziehung aktualisieren", - "relation_name": "Beziehungsname", - "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", - "to": "zu", - "target_note": "Zielnotiz", - "on_all_matched_notes": "Auf allen übereinstimmenden Notizen", - "change_target_note": "oder ändere die Zielnotiz der bestehenden Beziehung", - "update_relation_target": "Beziehungsziel aktualisieren" - }, - "attachments_actions": { - "open_externally": "Extern öffnen", - "open_externally_title": "Die Datei wird in einer externen Anwendung geöffnet und auf Änderungen überwacht. Anschließend kannst du die geänderte Version wieder auf Trilium hochladen.", - "open_custom": "Benutzerdefiniert öffnen", - "open_custom_title": "Die Datei wird in einer externen Anwendung geöffnet und auf Änderungen überwacht. Anschließend kannst du die geänderte Version wieder auf Trilium hochladen.", - "download": "Herunterladen", - "rename_attachment": "Anhang umbenennen", - "upload_new_revision": "Neue Revision hochladen", - "copy_link_to_clipboard": "Link in die Zwischenablage kopieren", - "convert_attachment_into_note": "Anhang in Notiz umwandeln", - "delete_attachment": "Anhang löschen", - "upload_success": "Eine neue Revision des Anhangs wurde hochgeladen.", - "upload_failed": "Das Hochladen einer neuen Anhangrevision ist fehlgeschlagen.", - "open_externally_detail_page": "Das externe Öffnen des Anhangs ist nur auf der Detailseite möglich. Klicke bitte zuerst auf Details des Anhangs und wiederhole den Vorgang.", - "open_custom_client_only": "Das benutzerdefinierte Öffnen von Anhängen kann nur über den Desktop-Client erfolgen.", - "delete_confirm": "Bist du sicher, dass du den Anhang „{{title}}“ löschen möchtest?", - "delete_success": "Anhang „{{title}}“ wurde gelöscht.", - "convert_confirm": "Bist du sicher, dass du den Anhang „{{title}}“ in eine separate Notiz umwandeln möchtest?", - "convert_success": "Anhang „{{title}}“ wurde in eine Notiz umgewandelt.", - "enter_new_name": "Bitte gebe den Namen des neuen Anhangs ein" - }, - "calendar": { - "mon": "Mo", - "tue": "Di", - "wed": "Mi", - "thu": "Do", - "fri": "Fr", - "sat": "Sa", - "sun": "So", - "cannot_find_day_note": "Tagesnotiz kann nicht gefunden werden", - "january": "Januar", - "febuary": "Februar", - "march": "März", - "april": "April", - "may": "Mai", - "june": "Juni", - "july": "Juli", - "august": "August", - "september": "September", - "october": "Oktober", - "november": "November", - "december": "Dezember" - }, - "close_pane_button": { - "close_this_pane": "Schließe diesen Bereich" - }, - "create_pane_button": { - "create_new_split": "Neuen Split erstellen" - }, - "edit_button": { - "edit_this_note": "Bearbeite diese Notiz" - }, - "show_toc_widget_button": { - "show_toc": "Inhaltsverzeichnis anzeigen" - }, - "show_highlights_list_widget_button": { - "show_highlights_list": "Hervorhebungen anzeigen" - }, - "global_menu": { - "menu": "Menü", - "options": "Optionen", - "open_new_window": "Öffne ein neues Fenster", - "switch_to_mobile_version": "Zur mobilen Ansicht wechseln", - "switch_to_desktop_version": "Zur Desktop-Ansicht wechseln", - "zoom": "Zoom", - "toggle_fullscreen": "Vollbild umschalten", - "zoom_out": "Herauszoomen", - "reset_zoom_level": "Zoomstufe zurücksetzen", - "zoom_in": "Hineinzoomen", - "configure_launchbar": "Konfiguriere die Launchbar", - "show_shared_notes_subtree": "Unterbaum „Freigegebene Notizen“ anzeigen", - "advanced": "Erweitert", - "open_dev_tools": "Öffne die Entwicklungstools", - "open_sql_console": "Öffne die SQL-Konsole", - "open_sql_console_history": "Öffne den SQL-Konsolenverlauf", - "open_search_history": "Öffne den Suchverlauf", - "show_backend_log": "Backend-Protokoll anzeigen", - "reload_hint": "Ein Neuladen kann bei einigen visuellen Störungen Abhilfe schaffen, ohne die gesamte App neu starten zu müssen.", - "reload_frontend": "Frontend neu laden", - "show_hidden_subtree": "Versteckten Teilbaum anzeigen", - "show_help": "Hilfe anzeigen", - "about": "Über Trilium Notes", - "logout": "Abmelden", - "show-cheatsheet": "Cheatsheet anzeigen", - "toggle-zen-mode": "Zen Modus" - }, - "sync_status": { - "unknown": "

Der Synchronisations-Status wird bekannt, sobald der nächste Synchronisierungsversuch gestartet wird.

Klicke, um eine Synchronisierung jetzt auszulösen.

", - "connected_with_changes": "

Mit dem Synchronisations-Server verbunden.
Es gibt noch ausstehende Änderungen, die synchronisiert werden müssen.

Klicke, um eine Synchronisierung jetzt auszulösen.

", - "connected_no_changes": "

Mit dem Synchronisations-Server verbunden.
Alle Änderungen wurden bereits synchronisiert.

Klicke, um eine Synchronisierung jetzt auszulösen.

", - "disconnected_with_changes": "

Die Verbindung zum Synchronisations-Server konnte nicht hergestellt werden.
Es gibt noch ausstehende Änderungen, die synchronisiert werden müssen.

Klicke, um eine Synchronisierung jetzt auszulösen.

", - "disconnected_no_changes": "

Die Verbindung zum SySynchronisationsnc-Server konnte nicht hergestellt werden.
Alle bekannten Änderungen wurden synchronisiert.

Klicke, um eine Synchronisierung jetzt auszulösen.

", - "in_progress": "Der Synchronisierungsvorgang mit dem Server ist im Gange." - }, - "left_pane_toggle": { - "show_panel": "Panel anzeigen", - "hide_panel": "Panel ausblenden" - }, - "move_pane_button": { - "move_left": "Nach links bewegen", - "move_right": "Nach rechts bewegen" - }, - "note_actions": { - "convert_into_attachment": "In Anhang umwandeln", - "re_render_note": "Notiz erneut rendern", - "search_in_note": "In Notiz suchen", - "note_source": "Notizquelle", - "note_attachments": "Notizanhänge", - "open_note_externally": "Notiz extern öffnen", - "open_note_externally_title": "Die Datei wird in einer externen Anwendung geöffnet und auf Änderungen überwacht. Anschließend kannst du die geänderte Version wieder auf Trilium hochladen.", - "open_note_custom": "Benutzerdefiniert Notiz öffnen", - "import_files": "Dateien importieren", - "export_note": "Notiz exportieren", - "delete_note": "Notiz löschen", - "print_note": "Notiz drucken", - "save_revision": "Revision speichern", - "convert_into_attachment_failed": "Konvertierung der Notiz '{{title}}' fehlgeschlagen.", - "convert_into_attachment_successful": "Notiz '{{title}}' wurde als Anhang konvertiert.", - "convert_into_attachment_prompt": "Bist du dir sicher, dass du die Notiz '{{title}}' in ein Anhang der übergeordneten Notiz konvertieren möchtest?", - "print_pdf": "Export als PDF..." - }, - "onclick_button": { - "no_click_handler": "Das Schaltflächen-Widget „{{componentId}}“ hat keinen definierten Klick-Handler" - }, - "protected_session_status": { - "active": "Die geschützte Sitzung ist aktiv. Klicke hier, um die geschützte Sitzung zu verlassen.", - "inactive": "Klicke hier, um die geschützte Sitzung aufzurufen" - }, - "revisions_button": { - "note_revisions": "Notizrevisionen" - }, - "update_available": { - "update_available": "Update verfügbar" - }, - "note_launcher": { - "this_launcher_doesnt_define_target_note": "Dieser Launcher definiert keine Zielnotiz." - }, - "code_buttons": { - "execute_button_title": "Skript ausführen", - "trilium_api_docs_button_title": "Öffne die Trilium-API-Dokumentation", - "save_to_note_button_title": "In die Notiz speichern", - "opening_api_docs_message": "API-Dokumentation wird geöffnet...", - "sql_console_saved_message": "SQL-Konsolennotiz wurde in {{note_path}} gespeichert" - }, - "copy_image_reference_button": { - "button_title": "Bildreferenz in die Zwischenablage kopieren, kann in eine Textnotiz eingefügt werden." - }, - "hide_floating_buttons_button": { - "button_title": "Schaltflächen ausblenden" - }, - "show_floating_buttons_button": { - "button_title": "Schaltflächen einblenden" - }, - "svg_export_button": { - "button_title": "Diagramm als SVG exportieren" - }, - "relation_map_buttons": { - "create_child_note_title": "Erstelle eine neue untergeordnete Notiz und füge sie dieser Beziehungskarte hinzu", - "reset_pan_zoom_title": "Schwenken und Zoomen auf die ursprünglichen Koordinaten und Vergrößerung zurücksetzen", - "zoom_in_title": "Hineinzoom", - "zoom_out_title": "Herauszoomen" - }, - "zpetne_odkazy": { - "backlink": "{{count}} Backlink", - "backlinks": "{{count}} Backlinks", - "relation": "Beziehung" - }, - "mobile_detail_menu": { - "insert_child_note": "Untergeordnete Notiz einfügen", - "delete_this_note": "Diese Notiz löschen", - "error_cannot_get_branch_id": "BranchId für notePath „{{notePath}}“ kann nicht abgerufen werden.", - "error_unrecognized_command": "Unbekannter Befehl {{command}}" - }, - "note_icon": { - "change_note_icon": "Notiz-Icon ändern", - "category": "Kategorie:", - "search": "Suche:", - "reset-default": "Standard wiederherstellen" - }, - "basic_properties": { - "note_type": "Notiztyp", - "editable": "Bearbeitbar", - "basic_properties": "Grundlegende Eigenschaften" - }, - "book_properties": { - "view_type": "Ansichtstyp", - "grid": "Gitter", - "list": "Liste", - "collapse_all_notes": "Alle Notizen einklappen", - "expand_all_children": "Unternotizen ausklappen", - "collapse": "Einklappen", - "expand": "Ausklappen", - "invalid_view_type": "Ungültiger Ansichtstyp „{{type}}“", - "calendar": "Kalender" - }, - "edited_notes": { - "no_edited_notes_found": "An diesem Tag wurden noch keine Notizen bearbeitet...", - "title": "Bearbeitete Notizen", - "deleted": "(gelöscht)" - }, - "file_properties": { - "note_id": "Notiz-ID", - "original_file_name": "Ursprünglicher Dateiname", - "file_type": "Dateityp", - "file_size": "Dateigröße", - "download": "Herunterladen", - "open": "Offen", - "upload_new_revision": "Neue Revision hochladen", - "upload_success": "Neue Dateirevision wurde hochgeladen.", - "upload_failed": "Das Hochladen einer neuen Dateirevision ist fehlgeschlagen.", - "title": "Datei" - }, - "image_properties": { - "original_file_name": "Ursprünglicher Dateiname", - "file_type": "Dateityp", - "file_size": "Dateigröße", - "download": "Herunterladen", - "open": "Offen", - "copy_reference_to_clipboard": "Verweis in die Zwischenablage kopieren", - "upload_new_revision": "Neue Revision hochladen", - "upload_success": "Neue Bildrevision wurde hochgeladen.", - "upload_failed": "Das Hochladen einer neuen Bildrevision ist fehlgeschlagen: {{message}}", - "title": "Bild" - }, - "inherited_attribute_list": { - "title": "Geerbte Attribute", - "no_inherited_attributes": "Keine geerbten Attribute." - }, - "note_info_widget": { - "note_id": "Notiz-ID", - "created": "Erstellt", - "modified": "Geändert", - "type": "Typ", - "note_size": "Notengröße", - "note_size_info": "Die Notizgröße bietet eine grobe Schätzung des Speicherbedarfs für diese Notiz. Es berücksichtigt den Inhalt der Notiz und den Inhalt ihrer Notizrevisionen.", - "calculate": "berechnen", - "subtree_size": "(Teilbaumgröße: {{size}} in {{count}} Notizen)", - "title": "Notizinfo" - }, - "note_map": { - "open_full": "Vollständig erweitern", - "collapse": "Auf normale Größe reduzieren", - "title": "Notizkarte", - "fix-nodes": "Knoten fixieren", - "link-distance": "Verbindungslänge" - }, - "note_paths": { - "title": "Notizpfade", - "clone_button": "Notiz an neuen Speicherort klonen...", - "intro_placed": "Diese Notiz wird in den folgenden Pfaden abgelegt:", - "intro_not_placed": "Diese Notiz ist noch nicht im Notizbaum platziert.", - "outside_hoisted": "Dieser Pfad liegt außerhalb der fokusierten Notiz und du müssten den Fokus aufheben.", - "archived": "Archiviert", - "search": "Suchen" - }, - "note_properties": { - "this_note_was_originally_taken_from": "Diese Notiz stammt ursprünglich aus:", - "info": "Info" - }, - "owned_attribute_list": { - "owned_attributes": "Eigene Attribute" - }, - "promoted_attributes": { - "promoted_attributes": "Übergebene Attribute", - "url_placeholder": "http://website...", - "open_external_link": "Externen Link öffnen", - "unknown_label_type": "Unbekannter Labeltyp „{{type}}“", - "unknown_attribute_type": "Unbekannter Attributtyp „{{type}}“", - "add_new_attribute": "Neues Attribut hinzufügen", - "remove_this_attribute": "Entferne dieses Attribut" - }, - "script_executor": { - "query": "Abfrage", - "script": "Skript", - "execute_query": "Abfrage ausführen", - "execute_script": "Skript ausführen" - }, - "search_definition": { - "add_search_option": "Suchoption hinzufügen:", - "search_string": "Suchzeichenfolge", - "search_script": "Suchskript", - "ancestor": "Vorfahr", - "fast_search": "schnelle Suche", - "fast_search_description": "Die Option „Schnellsuche“ deaktiviert die Volltextsuche von Notizinhalten, was die Suche in großen Datenbanken beschleunigen könnte.", - "include_archived": "archiviert einschließen", - "include_archived_notes_description": "Archivierte Notizen sind standardmäßig von den Suchergebnissen ausgeschlossen, mit dieser Option werden sie einbezogen.", - "order_by": "Bestellen nach", - "limit": "Limit", - "limit_description": "Begrenze die Anzahl der Ergebnisse", - "debug": "debuggen", - "debug_description": "Debug gibt zusätzliche Debuginformationen in die Konsole aus, um das Debuggen komplexer Abfragen zu erleichtern", - "action": "Aktion", - "search_button": "Suchen Eingabetaste", - "search_execute": "Aktionen suchen und ausführen", - "save_to_note": "Als Notiz speichern", - "search_parameters": "Suchparameter", - "unknown_search_option": "Unbekannte Suchoption {{searchOptionName}}", - "search_note_saved": "Suchnotiz wurde in {{-notePathTitle}} gespeichert", - "actions_executed": "Aktionen wurden ausgeführt." - }, - "similar_notes": { - "title": "Ähnliche Notizen", - "no_similar_notes_found": "Keine ähnlichen Notizen gefunden." - }, - "abstract_search_option": { - "remove_this_search_option": "Entferne diese Suchoption", - "failed_rendering": "Fehler beim Rendern der Suchoption: {{dto}} mit Fehler: {{error}} {{stack}}" - }, - "ancestor": { - "label": "Vorfahre", - "placeholder": "Suche nach einer Notiz anhand ihres Namens", - "depth_label": "Tiefe", - "depth_doesnt_matter": "spielt keine Rolle", - "depth_eq": "ist genau {{count}}", - "direct_children": "direkte Kinder", - "depth_gt": "ist größer als {{count}}", - "depth_lt": "ist kleiner als {{count}}" - }, - "debug": { - "debug": "Debuggen", - "debug_info": "Debug gibt zusätzliche Debuginformationen in die Konsole aus, um das Debuggen komplexer Abfragen zu erleichtern.", - "access_info": "Um auf die Debug-Informationen zuzugreifen, führe die Abfrage aus und klicke oben links auf \"Backend-Log anzeigen\"." - }, - "fast_search": { - "fast_search": "Schnelle Suche", - "description": "Die Option „Schnellsuche“ deaktiviert die Volltextsuche von Notizinhalten, was die Suche in großen Datenbanken beschleunigen könnte." - }, - "include_archived_notes": { - "include_archived_notes": "Füge archivierte Notizen hinzu" - }, - "limit": { - "limit": "Limit", - "take_first_x_results": "Nehmen Sie nur die ersten X angegebenen Ergebnisse." - }, - "order_by": { - "order_by": "Bestellen nach", - "relevancy": "Relevanz (Standard)", - "title": "Titel", - "date_created": "Erstellungsdatum", - "date_modified": "Datum der letzten Änderung", - "content_size": "Beachte die Inhaltsgröße", - "content_and_attachments_size": "Beachte die Inhaltsgröße einschließlich der Anhänge", - "content_and_attachments_and_revisions_size": "Beachte die Inhaltsgröße einschließlich Anhängen und Revisionen", - "revision_count": "Anzahl der Revisionen", - "children_count": "Anzahl der Unternotizen", - "parent_count": "Anzahl der Klone", - "owned_label_count": "Anzahl der Etiketten", - "owned_relation_count": "Anzahl der Beziehungen", - "target_relation_count": "Anzahl der Beziehungen, die auf die Notiz abzielen", - "random": "Zufällige Reihenfolge", - "asc": "Aufsteigend (Standard)", - "desc": "Absteigend" - }, - "search_script": { - "title": "Suchskript:", - "placeholder": "Suche nach einer Notiz anhand ihres Namens", - "description1": "Das Suchskript ermöglicht das Definieren von Suchergebnissen durch Ausführen eines Skripts. Dies bietet maximale Flexibilität, wenn die Standardsuche nicht ausreicht.", - "description2": "Das Suchskript muss vom Typ \"Code\" und dem Subtyp \"JavaScript Backend\" sein. Das Skript muss ein Array von noteIds oder Notizen zurückgeben.", - "example_title": "Siehe dir dieses Beispiel an:", - "example_code": "// 1. Vorfiltern mit der Standardsuche\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. Anwenden benutzerdefinierter Suchkriterien\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", - "note": "Beachte, dass Suchskript und Suchzeichenfolge nicht miteinander kombiniert werden können." - }, - "search_string": { - "title_column": "Suchbegriff:", - "placeholder": "Volltextschlüsselwörter, #tag u003d Wert...", - "search_syntax": "Suchsyntax", - "also_see": "siehe auch", - "complete_help": "Vollständige Hilfe zur Suchsyntax", - "full_text_search": "Gebe einfach einen beliebigen Text für die Volltextsuche ein", - "label_abc": "gibt Notizen mit der Bezeichnung abc zurück", - "label_year": "Entspricht Notizen mit der Beschriftung Jahr und dem Wert 2019", - "label_rock_pop": "Entspricht Noten, die sowohl Rock- als auch Pop-Bezeichnungen haben", - "label_rock_or_pop": "Es darf nur eines der Labels vorhanden sein", - "label_year_comparison": "numerischer Vergleich (auch >, >u003d, <).", - "label_date_created": "Notizen, die im letzten Monat erstellt wurden", - "error": "Suchfehler: {{error}}", - "search_prefix": "Suche:" - }, - "attachment_detail": { - "open_help_page": "Hilfeseite zu Anhängen öffnen", - "owning_note": "Eigentümernotiz: ", - "you_can_also_open": ", Du kannst auch das öffnen", - "list_of_all_attachments": "Liste aller Anhänge", - "attachment_deleted": "Dieser Anhang wurde gelöscht." - }, - "attachment_list": { - "open_help_page": "Hilfeseite zu Anhängen öffnen", - "owning_note": "Eigentümernotiz: ", - "upload_attachments": "Anhänge hochladen", - "no_attachments": "Diese Notiz enthält keine Anhänge." - }, - "book": { - "no_children_help": "Diese Notiz mit dem Notiztyp Buch besitzt keine Unternotizen, deshalb ist nichts zum Anzeigen vorhanden. Siehe Wiki für mehr Details." - }, - "editable_code": { - "placeholder": "Gebe hier den Inhalt deiner Codenotiz ein..." - }, - "editable_text": { - "placeholder": "Gebe hier den Inhalt deiner Notiz ein..." - }, - "empty": { - "open_note_instruction": "Öffne eine Notiz, indem du den Titel der Notiz in die Eingabe unten eingibst oder eine Notiz in der Baumstruktur auswählst.", - "search_placeholder": "Suche nach einer Notiz anhand ihres Namens", - "enter_workspace": "Betrete den Arbeitsbereich {{title}}" - }, - "file": { - "file_preview_not_available": "Für dieses Dateiformat ist keine Dateivorschau verfügbar." - }, - "protected_session": { - "enter_password_instruction": "Um die geschützte Notiz anzuzeigen, musst du dein Passwort eingeben:", - "start_session_button": "Starte eine geschützte Sitzung Eingabetaste", - "started": "Geschützte Sitzung gestartet.", - "wrong_password": "Passwort flasch.", - "protecting-finished-successfully": "Geschützt erfolgreich beendet.", - "unprotecting-finished-successfully": "Ungeschützt erfolgreich beendet.", - "protecting-in-progress": "Schützen läuft: {{count}}", - "unprotecting-in-progress-count": "Entschützen läuft: {{count}}", - "protecting-title": "Geschützt-Status", - "unprotecting-title": "Ungeschützt-Status" - }, - "relation_map": { - "open_in_new_tab": "In neuem Tab öffnen", - "remove_note": "Notiz entfernen", - "edit_title": "Titel bearbeiten", - "rename_note": "Notiz umbenennen", - "enter_new_title": "Gebe einen neuen Notiztitel ein:", - "remove_relation": "Beziehung entfernen", - "confirm_remove_relation": "Bist du sicher, dass du die Beziehung entfernen möchtest?", - "specify_new_relation_name": "Gebe den neuen Beziehungsnamen an (erlaubte Zeichen: alphanumerisch, Doppelpunkt und Unterstrich):", - "connection_exists": "Die Verbindung „{{name}}“ zwischen diesen Notizen besteht bereits.", - "start_dragging_relations": "Beginne hier mit dem Ziehen von Beziehungen und lege sie auf einer anderen Notiz ab.", - "note_not_found": "Notiz {{noteId}} nicht gefunden!", - "cannot_match_transform": "Transformation kann nicht übereinstimmen: {{transform}}", - "note_already_in_diagram": "Die Notiz \"{{title}}\" ist schon im Diagram.", - "enter_title_of_new_note": "Gebe den Titel der neuen Notiz ein", - "default_new_note_title": "neue Notiz", - "click_on_canvas_to_place_new_note": "Klicke auf den Canvas, um eine neue Notiz zu platzieren" - }, - "render": { - "note_detail_render_help_1": "Diese Hilfesnotiz wird angezeigt, da diese Notiz vom Typ „HTML rendern“ nicht über die erforderliche Beziehung verfügt, um ordnungsgemäß zu funktionieren.", - "note_detail_render_help_2": "Render-HTML-Notiztyp wird benutzt für scripting. Kurzgesagt, du hast ein HTML-Code-Notiz (optional mit JavaScript) und diese Notiz rendert es. Damit es funktioniert, musst du eine a Beziehung namens \"renderNote\" zeigend auf die HTML-Notiz zum rendern definieren." - }, - "web_view": { - "web_view": "Webansicht", - "embed_websites": "Notiz vom Typ Web View ermöglicht das Einbetten von Websites in Trilium.", - "create_label": "To start, please create a label with a URL address you want to embed, e.g. #webViewSrc=\"https://www.google.com\"" - }, - "backend_log": { - "refresh": "Aktualisieren" - }, - "consistency_checks": { - "title": "Konsistenzprüfungen", - "find_and_fix_button": "Finde und behebe die Konsistenzprobleme", - "finding_and_fixing_message": "Konsistenzprobleme finden und beheben...", - "issues_fixed_message": "Konsistenzprobleme sollten behoben werden." - }, - "database_anonymization": { - "title": "Datenbankanonymisierung", - "full_anonymization": "Vollständige Anonymisierung", - "full_anonymization_description": "Durch diese Aktion wird eine neue Kopie der Datenbank erstellt und anonymisiert (der gesamte Notizinhalt wird entfernt und nur die Struktur und einige nicht vertrauliche Metadaten bleiben übrig), sodass sie zu Debugging-Zwecken online geteilt werden kann, ohne befürchten zu müssen, dass Ihre persönlichen Daten verloren gehen.", - "save_fully_anonymized_database": "Speichere eine vollständig anonymisierte Datenbank", - "light_anonymization": "Leichte Anonymisierung", - "light_anonymization_description": "Durch diese Aktion wird eine neue Kopie der Datenbank erstellt und eine leichte Anonymisierung vorgenommen – insbesondere wird nur der Inhalt aller Notizen entfernt, Titel und Attribute bleiben jedoch erhalten. Darüber hinaus bleiben benutzerdefinierte JS-Frontend-/Backend-Skriptnotizen und benutzerdefinierte Widgets erhalten. Dies bietet mehr Kontext zum Debuggen der Probleme.", - "choose_anonymization": "Du kannst selbst entscheiden, ob du eine vollständig oder leicht anonymisierte Datenbank bereitstellen möchten. Selbst eine vollständig anonymisierte Datenbank ist sehr nützlich. In einigen Fällen kann jedoch eine leicht anonymisierte Datenbank den Prozess der Fehlererkennung und -behebung beschleunigen.", - "save_lightly_anonymized_database": "Speichere eine leicht anonymisierte Datenbank", - "existing_anonymized_databases": "Vorhandene anonymisierte Datenbanken", - "creating_fully_anonymized_database": "Vollständig anonymisierte Datenbank erstellen...", - "creating_lightly_anonymized_database": "Erstellen einer leicht anonymisierten Datenbank...", - "error_creating_anonymized_database": "Die anonymisierte Datenbank konnte nicht erstellt werden. Überprüfe die Backend-Protokolle auf Details", - "successfully_created_fully_anonymized_database": "Vollständig anonymisierte Datenbank in {{anonymizedFilePath}} erstellt", - "successfully_created_lightly_anonymized_database": "Leicht anonymisierte Datenbank in {{anonymizedFilePath}} erstellt", - "no_anonymized_database_yet": "Noch keine anonymisierte Datenbank" - }, - "database_integrity_check": { - "title": "Datenbankintegritätsprüfung", - "description": "Dadurch wird überprüft, ob die Datenbank auf SQLite-Ebene nicht beschädigt ist. Abhängig von der DB-Größe kann es einige Zeit dauern.", - "check_button": "Überprüfe die Datenbankintegrität", - "checking_integrity": "Datenbankintegrität prüfen...", - "integrity_check_succeeded": "Integritätsprüfung erfolgreich – keine Probleme gefunden.", - "integrity_check_failed": "Integritätsprüfung fehlgeschlagen: {{results}}" - }, - "sync": { - "title": "Synchronisieren", - "force_full_sync_button": "Vollständige Synchronisierung erzwingen", - "fill_entity_changes_button": "Entitätsänderungsdatensätze füllen", - "full_sync_triggered": "Vollständige Synchronisierung ausgelöst", - "filling_entity_changes": "Entitätsänderungszeilen werden gefüllt...", - "sync_rows_filled_successfully": "Synchronisierungszeilen erfolgreich gefüllt", - "finished-successfully": "Synchronisierung erfolgreich beendet.", - "failed": "Synchronisierung fehlgeschlagen: {{message}}" - }, - "vacuum_database": { - "title": "Vakuumdatenbank", - "description": "Dadurch wird die Datenbank neu erstellt, was normalerweise zu einer kleineren Datenbankdatei führt. Es werden keine Daten tatsächlich geändert.", - "button_text": "Vakuumdatenbank", - "vacuuming_database": "Datenbank wird geleert...", - "database_vacuumed": "Die Datenbank wurde geleert" - }, - "fonts": { - "theme_defined": "Thema definiert", - "fonts": "Schriftarten", - "main_font": "Handschrift", - "font_family": "Schriftfamilie", - "size": "Größe", - "note_tree_font": "Notizbaum-Schriftart", - "note_detail_font": "Notiz-Detail-Schriftart", - "monospace_font": "Minivan (Code) Schriftart", - "note_tree_and_detail_font_sizing": "Beachte, dass die Größe der Baum- und Detailschriftarten relativ zur Hauptschriftgrößeneinstellung ist.", - "not_all_fonts_available": "Möglicherweise sind nicht alle aufgelisteten Schriftarten auf Ihrem System verfügbar.", - "apply_font_changes": "Um Schriftartänderungen zu übernehmen, klicke auf", - "reload_frontend": "Frontend neu laden", - "generic-fonts": "Generische Schriftarten", - "sans-serif-system-fonts": "Sans-serif Systemschriftarten", - "serif-system-fonts": "Serif Systemschriftarten", - "monospace-system-fonts": "Monospace Systemschriftarten", - "handwriting-system-fonts": "Handschrift Systemschriftarten", - "serif": "Serif", - "sans-serif": "Sans Serif", - "monospace": "Monospace", - "system-default": "System Standard" - }, - "max_content_width": { - "title": "Inhaltsbreite", - "default_description": "Trilium begrenzt standardmäßig die maximale Inhaltsbreite, um die Lesbarkeit für maximierte Bildschirme auf Breitbildschirmen zu verbessern.", - "max_width_label": "Maximale Inhaltsbreite in Pixel", - "apply_changes_description": "Um Änderungen an der Inhaltsbreite anzuwenden, klicke auf", - "reload_button": "Frontend neu laden", - "reload_description": "Änderungen an den Darstellungsoptionen" - }, - "native_title_bar": { - "title": "Native Titelleiste (App-Neustart erforderlich)", - "enabled": "ermöglicht", - "disabled": "deaktiviert" - }, - "ribbon": { - "widgets": "Multifunktionsleisten-Widgets", - "promoted_attributes_message": "Die Multifunktionsleisten-Registerkarte „Heraufgestufte Attribute“ wird automatisch geöffnet, wenn in der Notiz heraufgestufte Attribute vorhanden sind", - "edited_notes_message": "Die Multifunktionsleisten-Registerkarte „Bearbeitete Notizen“ wird bei Tagesnotizen automatisch geöffnet" - }, - "theme": { - "title": "Thema", - "theme_label": "Thema", - "override_theme_fonts_label": "Theme-Schriftarten überschreiben", - "auto_theme": "Auto", - "light_theme": "Hell", - "dark_theme": "Dunkel", - "triliumnext": "TriliumNext Beta (Systemfarbschema folgend)", - "triliumnext-light": "TriliumNext Beta (Hell)", - "triliumnext-dark": "TriliumNext Beta (Dunkel)", - "layout": "Layout", - "layout-vertical-title": "Vertikal", - "layout-horizontal-title": "Horizontal", - "layout-vertical-description": "Startleiste ist auf der linken Seite (standard)", - "layout-horizontal-description": "Startleiste ist unter der Tableiste. Die Tableiste wird dadurch auf die ganze Breite erweitert." - }, - "zoom_factor": { - "title": "Zoomfaktor (nur Desktop-Build)", - "description": "Das Zoomen kann auch mit den Tastenkombinationen STRG+- und STRG+u003d gesteuert werden." - }, - "code_auto_read_only_size": { - "title": "Automatische schreibgeschützte Größe", - "description": "Die automatische schreibgeschützte Notizgröße ist die Größe, ab der Notizen im schreibgeschützten Modus angezeigt werden (aus Leistungsgründen).", - "label": "Automatische schreibgeschützte Größe (Codenotizen)" - }, - "code_mime_types": { - "title": "Verfügbare MIME-Typen im Dropdown-Menü" - }, - "vim_key_bindings": { - "use_vim_keybindings_in_code_notes": "Verwende VIM-Tastenkombinationen in Codenotizen (kein Ex-Modus)", - "enable_vim_keybindings": "Aktiviere Vim-Tastenkombinationen" - }, - "wrap_lines": { - "wrap_lines_in_code_notes": "Zeilen in Codenotizen umbrechen", - "enable_line_wrap": "Zeilenumbruch aktivieren (Änderung erfordert möglicherweise ein Neuladen des Frontends, um wirksam zu werden)" - }, - "images": { - "images_section_title": "Bilder", - "download_images_automatically": "Lade Bilder automatisch herunter, um sie offline zu verwenden.", - "download_images_description": "Eingefügter HTML-Code kann Verweise auf Online-Bilder enthalten. Trilium findet diese Verweise und lädt die Bilder herunter, sodass sie offline verfügbar sind.", - "enable_image_compression": "Bildkomprimierung aktivieren", - "max_image_dimensions": "Maximale Breite/Höhe eines Bildes in Pixel (die Größe des Bildes wird geändert, wenn es diese Einstellung überschreitet).", - "jpeg_quality_description": "JPEG-Qualität (10 – schlechteste Qualität, 100 – beste Qualität, 50 – 85 wird empfohlen)" - }, - "attachment_erasure_timeout": { - "attachment_erasure_timeout": "Zeitüberschreitung beim Löschen von Anhängen", - "attachment_auto_deletion_description": "Anhänge werden automatisch gelöscht (und gelöscht), wenn sie nach einer definierten Zeitspanne nicht mehr in ihrer Notiz referenziert werden.", - "erase_attachments_after": "Erase unused attachments after:", - "manual_erasing_description": "Du kannst das Löschen auch manuell auslösen (ohne Berücksichtigung des oben definierten Timeouts):", - "erase_unused_attachments_now": "Lösche jetzt nicht verwendete Anhangnotizen", - "unused_attachments_erased": "Nicht verwendete Anhänge wurden gelöscht." - }, - "network_connections": { - "network_connections_title": "Netzwerkverbindungen", - "check_for_updates": "Suche automatisch nach Updates" - }, - "note_erasure_timeout": { - "note_erasure_timeout_title": "Beachte das Zeitlimit für die Löschung", - "note_erasure_description": "Deleted notes (and attributes, revisions...) are at first only marked as deleted and it is possible to recover them from Recent Notes dialog. After a period of time, deleted notes are \"erased\" which means their content is not recoverable anymore. This setting allows you to configure the length of the period between deleting and erasing the note.", - "erase_notes_after": "Notizen löschen nach:", - "manual_erasing_description": "Du kannst das Löschen auch manuell auslösen (ohne Berücksichtigung des oben definierten Timeouts):", - "erase_deleted_notes_now": "Jetzt gelöschte Notizen löschen", - "deleted_notes_erased": "Gelöschte Notizen wurden gelöscht." - }, - "revisions_snapshot_interval": { - "note_revisions_snapshot_interval_title": "Snapshot-Intervall für Notizrevisionen", - "note_revisions_snapshot_description": "Das Snapshot-Zeitintervall für Notizrevisionen ist die Zeit, nach der eine neue Notizrevision erstellt wird. Weitere Informationen findest du im Wiki.", - "snapshot_time_interval_label": "Zeitintervall für Notiz-Revisions-Snapshot:" - }, - "revisions_snapshot_limit": { - "note_revisions_snapshot_limit_title": "Limit für Notizrevision-Snapshots", - "note_revisions_snapshot_limit_description": "Das Limit für Notizrevision-Snapshots bezieht sich auf die maximale Anzahl von Revisionen, die für jede Notiz gespeichert werden können. Dabei bedeutet -1, dass es kein Limit gibt, und 0 bedeutet, dass alle Revisionen gelöscht werden. Du kannst das maximale Limit für Revisionen einer einzelnen Notiz über das Label #versioningLimit festlegen.", - "snapshot_number_limit_label": "Limit der Notizrevision-Snapshots:", - "erase_excess_revision_snapshots": "Überschüssige Revision-Snapshots jetzt löschen", - "erase_excess_revision_snapshots_prompt": "Überschüssige Revision-Snapshots wurden gelöscht." - }, - "search_engine": { - "title": "Suchmaschine", - "custom_search_engine_info": "Für eine benutzerdefinierte Suchmaschine müssen sowohl ein Name als auch eine URL festgelegt werden. Wenn keine dieser Optionen festgelegt ist, wird DuckDuckGo als Standardsuchmaschine verwendet.", - "predefined_templates_label": "Vordefinierte Suchmaschinenvorlagen", - "bing": "Bing", - "baidu": "Baidu", - "duckduckgo": "DuckDuckGo", - "google": "Google", - "custom_name_label": "Benutzerdefinierter Suchmaschinenname", - "custom_name_placeholder": "Passe den Suchmaschinennamen an", - "custom_url_label": "Die benutzerdefinierte Suchmaschinen-URL sollte {keyword} als Platzhalter für den Suchbegriff enthalten.", - "custom_url_placeholder": "Passe die Suchmaschinen-URL an", - "save_button": "Speichern" - }, - "tray": { - "title": "Systemablage", - "enable_tray": "Tray aktivieren (Trilium muss neu gestartet werden, damit diese Änderung wirksam wird)" - }, - "heading_style": { - "title": "Überschriftenstil", - "plain": "Schmucklos", - "underline": "Unterstreichen", - "markdown": "Markdown-Stil" - }, - "highlights_list": { - "title": "Highlights-Liste", - "description": "Du kannst die im rechten Bereich angezeigte Highlights-Liste anpassen:", - "bold": "Fettgedruckter Text", - "italic": "Kursiver Text", - "underline": "Unterstrichener Text", - "color": "Farbiger Text", - "bg_color": "Text mit Hintergrundfarbe", - "visibility_title": "Sichtbarkeit der Highlights-Liste", - "visibility_description": "Du kannst das Hervorhebungs-Widget pro Notiz ausblenden, indem du die Beschriftung #hideHighlightWidget hinzufügst.", - "shortcut_info": "Du kannst eine Tastenkombination zum schnellen Umschalten des rechten Bereichs (einschließlich Hervorhebungen) in den Optionen -> Tastenkombinationen konfigurieren (Name „toggleRightPane“)." - }, - "table_of_contents": { - "title": "Inhaltsverzeichnis", - "description": "Das Inhaltsverzeichnis wird in Textnotizen angezeigt, wenn die Notiz mehr als eine definierte Anzahl von Überschriften enthält. Du kannst diese Nummer anpassen:", - "disable_info": "Du kannst diese Option auch verwenden, um TOC effektiv zu deaktivieren, indem du eine sehr hohe Zahl festlegst.", - "shortcut_info": "Du kannst eine Tastenkombination zum schnellen Umschalten des rechten Bereichs (einschließlich Inhaltsverzeichnis) unter Optionen -> Tastenkombinationen konfigurieren (Name „toggleRightPane“)." - }, - "text_auto_read_only_size": { - "title": "Automatische schreibgeschützte Größe", - "description": "Die automatische schreibgeschützte Notizgröße ist die Größe, ab der Notizen im schreibgeschützten Modus angezeigt werden (aus Leistungsgründen).", - "label": "Automatische schreibgeschützte Größe (Textnotizen)" - }, - "i18n": { - "title": "Lokalisierung", - "language": "Sprache", - "first-day-of-the-week": "Erster Tag der Woche", - "sunday": "Sonntag", - "monday": "Montag" - }, - "backup": { - "automatic_backup": "Automatische Sicherung", - "automatic_backup_description": "Trilium kann die Datenbank automatisch sichern:", - "enable_daily_backup": "Aktiviere die tägliche Sicherung", - "enable_weekly_backup": "Aktiviere die wöchentliche Sicherung", - "enable_monthly_backup": "Aktiviere die monatliche Sicherung", - "backup_recommendation": "Es wird empfohlen, die Sicherung aktiviert zu lassen. Dies kann jedoch bei großen Datenbanken und/oder langsamen Speichergeräten den Anwendungsstart verlangsamen.", - "backup_now": "Jetzt sichern", - "backup_database_now": "Jetzt Datenbank sichern", - "existing_backups": "Vorhandene Backups", - "date-and-time": "Datum & Uhrzeit", - "path": "Pfad", - "database_backed_up_to": "Die Datenbank wurde gesichert unter {{backupFilePath}}", - "no_backup_yet": "noch kein Backup" - }, - "etapi": { - "title": "ETAPI", - "description": "ETAPI ist eine REST-API, die für den programmgesteuerten Zugriff auf die Trilium-Instanz ohne Benutzeroberfläche verwendet wird.", - "see_more": "Weitere Details können im {{- link_to_wiki}} und in der {{- link_to_openapi_spec}} oder der {{- link_to_swagger_ui }} gefunden werden.", - "wiki": "Wiki", - "openapi_spec": "ETAPI OpenAPI-Spezifikation", - "swagger_ui": "ETAPI Swagger UI", - "create_token": "Erstelle ein neues ETAPI-Token", - "existing_tokens": "Vorhandene Token", - "no_tokens_yet": "Es sind noch keine Token vorhanden. Klicke auf die Schaltfläche oben, um eine zu erstellen.", - "token_name": "Tokenname", - "created": "Erstellt", - "actions": "Aktionen", - "new_token_title": "Neuer ETAPI-Token", - "new_token_message": "Bitte gebe en Namen des neuen Tokens ein", - "default_token_name": "neues Token", - "error_empty_name": "Der Tokenname darf nicht leer sein", - "token_created_title": "ETAPI-Token erstellt", - "token_created_message": "Kopiere den erstellten Token in die Zwischenablage. Trilium speichert den Token gehasht und dies ist das letzte Mal, dass du ihn siehst.", - "rename_token": "Benenne dieses Token um", - "delete_token": "Dieses Token löschen/deaktivieren", - "rename_token_title": "Token umbenennen", - "rename_token_message": "Bitte gebe den Namen des neuen Tokens ein", - "delete_token_confirmation": "Bist du sicher, dass den ETAPI token \"{{name}}\" löschen möchstest?" - }, - "options_widget": { - "options_status": "Optionsstatus", - "options_change_saved": "Die Änderung der Optionen wurde gespeichert." - }, - "password": { - "heading": "Passwort", - "alert_message": "Bitte merke dir dein neues Passwort gut. Das Passwort wird zum Anmelden bei der Weboberfläche und zum Verschlüsseln geschützter Notizen verwendet. Wenn du dein Passwort vergisst, gehen alle deine geschützten Notizen für immer verloren.", - "reset_link": "Klicke hier, um es zurückzusetzen.", - "old_password": "Altes Passwort", - "new_password": "Neues Passwort", - "new_password_confirmation": "Neue Passwortbestätigung", - "change_password": "Kennwort ändern", - "protected_session_timeout": "Zeitüberschreitung der geschützten Sitzung", - "protected_session_timeout_description": "Das Zeitlimit für geschützte Sitzungen ist ein Zeitraum, nach dem die geschützte Sitzung aus dem Speicher des Browsers gelöscht wird. Dies wird ab der letzten Interaktion mit geschützten Notizen gemessen. Sehen", - "wiki": "Wiki", - "for_more_info": "für weitere Informationen.", - "protected_session_timeout_label": "Zeitüberschreitung der geschützten Sitzung:", - "reset_confirmation": "Durch das Zurücksetzen des Passworts verlierst du für immer den Zugriff auf alle Ihre bestehenden geschützten Notizen. Möchtest du das Passwort wirklich zurücksetzen?", - "reset_success_message": "Das Passwort wurde zurückgesetzt. Bitte lege ein neues Passwort fest", - "change_password_heading": "Kennwort ändern", - "set_password_heading": "Passwort festlegen", - "set_password": "Passwort festlegen", - "password_mismatch": "Neue Passwörter sind nicht dasselbe.", - "password_changed_success": "Das Passwort wurde geändert. Trilium wird neu geladen, nachdem du auf OK geklickt hast." - }, - "shortcuts": { - "keyboard_shortcuts": "Tastaturkürzel", - "multiple_shortcuts": "Mehrere Tastenkombinationen für dieselbe Aktion können durch Komma getrennt werden.", - "electron_documentation": "Siehe Electron documentation für verfügbare Modifier und key codes.", - "type_text_to_filter": "Gebe Text ein, um Verknüpfungen zu filtern...", - "action_name": "Aktionsname", - "shortcuts": "Tastenkürzel", - "default_shortcuts": "Standardtastenkürzel", - "description": "Beschreibung", - "reload_app": "Lade die App neu, um die Änderungen zu übernehmen", - "set_all_to_default": "Setze alle Verknüpfungen auf die Standardeinstellungen", - "confirm_reset": "Möchtest du wirklich alle Tastaturkürzel auf die Standardeinstellungen zurücksetzen?" - }, - "spellcheck": { - "title": "Rechtschreibprüfung", - "description": "Diese Optionen gelten nur für Desktop-Builds. Browser verwenden ihre eigene native Rechtschreibprüfung.", - "enable": "Aktiviere die Rechtschreibprüfung", - "language_code_label": "Sprachcode(s)", - "language_code_placeholder": "zum Beispiel \"en-US\", \"de-AT\"", - "multiple_languages_info": "Mehrere Sprachen können mit einem Komma getrennt werden z.B. \"en-US, de-DE, cs\". ", - "available_language_codes_label": "Verfügbare Sprachcodes:", - "restart-required": "Änderungen an den Rechtschreibprüfungsoptionen werden nach dem Neustart der Anwendung wirksam." - }, - "sync_2": { - "config_title": "Synchronisierungskonfiguration", - "server_address": "Adresse der Serverinstanz", - "timeout": "Synchronisierungs-Timeout (Millisekunden)", - "proxy_label": "Proxyserver synchronisieren (optional)", - "note": "Notiz", - "note_description": "Wenn du die Proxy-Einstellung leer lässt, wird der System-Proxy verwendet (gilt nur für Desktop-/Electron-Build).", - "special_value_description": "Ein weiterer besonderer Wert ist noproxy, der das Ignorieren sogar des System-Proxys erzwingt und NODE_TLS_REJECT_UNAUTHORIZED respektiert.", - "save": "Speichern", - "help": "Helfen", - "test_title": "Synchronisierungstest", - "test_description": "Dadurch werden die Verbindung und der Handshake zum Synchronisierungsserver getestet. Wenn der Synchronisierungsserver nicht initialisiert ist, wird er dadurch für die Synchronisierung mit dem lokalen Dokument eingerichtet.", - "test_button": "Teste die Synchronisierung", - "handshake_failed": "Handshake des Synchronisierungsservers fehlgeschlagen, Fehler: {{message}}" - }, - "api_log": { - "close": "Schließen" - }, - "attachment_detail_2": { - "will_be_deleted_in": "Dieser Anhang wird in {{time}} automatisch gelöscht", - "will_be_deleted_soon": "Dieser Anhang wird bald automatisch gelöscht", - "deletion_reason": ", da der Anhang nicht im Inhalt der Notiz verlinkt ist. Um das Löschen zu verhindern, füge den Anhangslink wieder in den Inhalt ein oder wandel den Anhang in eine Notiz um.", - "role_and_size": "Rolle: {{role}}, Größe: {{size}}", - "link_copied": "Anhangslink in die Zwischenablage kopiert.", - "unrecognized_role": "Unbekannte Anhangsrolle „{{role}}“." - }, - "bookmark_switch": { - "bookmark": "Lesezeichen", - "bookmark_this_note": "Setze ein Lesezeichen für diese Notiz im linken Seitenbereich", - "remove_bookmark": "Lesezeichen entfernen" - }, - "editability_select": { - "auto": "Auto", - "read_only": "Schreibgeschützt", - "always_editable": "Immer editierbar", - "note_is_editable": "Die Notiz kann bearbeitet werden, wenn sie nicht zu lang ist.", - "note_is_read_only": "Die Notiz ist schreibgeschützt, kann aber per Knopfdruck bearbeitet werden.", - "note_is_always_editable": "Die Notiz kann immer bearbeitet werden, unabhängig von ihrer Länge." - }, - "note-map": { - "button-link-map": "Beziehungskarte", - "button-tree-map": "Baumkarte" - }, - "tree-context-menu": { - "open-in-a-new-tab": "In neuem Tab öffnen Strg+Klick", - "open-in-a-new-split": "In neuem Split öffnen", - "insert-note-after": "Notiz dahinter einfügen", - "insert-child-note": "Unternotiz einfügen", - "delete": "Löschen", - "search-in-subtree": "Im Notizbaum suchen", - "hoist-note": "Notiz-Fokus setzen", - "unhoist-note": "Notiz-Fokus aufheben", - "edit-branch-prefix": "Zweig-Präfix bearbeiten", - "advanced": "Erweitert", - "expand-subtree": "Notizbaum ausklappen", - "collapse-subtree": "Notizbaum einklappen", - "sort-by": "Sortieren nach...", - "recent-changes-in-subtree": "Kürzliche Änderungen im Notizbaum", - "convert-to-attachment": "Als Anhang konvertieren", - "copy-note-path-to-clipboard": "Notiz-Pfad in die Zwischenablage kopieren", - "protect-subtree": "Notizbaum schützen", - "unprotect-subtree": "Notizenbaum-Schutz aufheben", - "copy-clone": "Kopieren / Klonen", - "clone-to": "Klonen nach...", - "cut": "Ausschneiden", - "move-to": "Verschieben nach...", - "paste-into": "Als Unternotiz einfügen", - "paste-after": "Danach einfügen", - "duplicate": "Duplizieren", - "export": "Exportieren", - "import-into-note": "In Notiz importieren", - "apply-bulk-actions": "Massenaktionen ausführen", - "converted-to-attachments": "{{count}} Notizen wurden als Anhang konvertiert.", - "convert-to-attachment-confirm": "Bist du sicher, dass du die ausgewählten Notizen in Anhänge ihrer übergeordneten Notizen umwandeln möchtest?" - }, - "shared_info": { - "shared_publicly": "Diese Notiz ist öffentlich geteilt auf", - "shared_locally": "Diese Notiz ist lokal geteilt auf", - "help_link": "Für Hilfe besuche wiki." - }, - "note_types": { - "text": "Text", - "code": "Code", - "saved-search": "Gespeicherte Such-Notiz", - "relation-map": "Beziehungskarte", - "note-map": "Notizkarte", - "render-note": "Render Notiz", - "mermaid-diagram": "Mermaid Diagram", - "canvas": "Canvas", - "web-view": "Webansicht", - "mind-map": "Mind Map", - "file": "Datei", - "image": "Bild", - "launcher": "Launcher", - "doc": "Dokument", - "widget": "Widget", - "confirm-change": "Es is nicht empfehlenswert den Notiz-Typ zu ändern, wenn der Inhalt der Notiz nicht leer ist. Möchtest du dennoch fortfahren?", - "geo-map": "Geo Map", - "beta-feature": "Beta" - }, - "protect_note": { - "toggle-on": "Notiz schützen", - "toggle-off": "Notizschutz aufheben", - "toggle-on-hint": "Notiz ist ungeschützt, klicken, um sie zu schützen", - "toggle-off-hint": "Notiz ist geschützt, klicken, um den Schutz aufzuheben" - }, - "shared_switch": { - "shared": "Teilen", - "toggle-on-title": "Notiz teilen", - "toggle-off-title": "Notiz-Freigabe aufheben", - "shared-branch": "Diese Notiz existiert nur als geteilte Notiz, das Aufheben der Freigabe würde sie löschen. Möchtest du fortfahren und die Notiz damit löschen?", - "inherited": "Die Notiz kann hier nicht von der Freigabe entfernt werden, da sie über Vererbung von einer übergeordneten Notiz geteilt wird." - }, - "template_switch": { - "template": "Vorlage", - "toggle-on-hint": "Notiz zu einer Vorlage machen", - "toggle-off-hint": "Entferne die Notiz als Vorlage" - }, - "open-help-page": "Hilfeseite öffnen", - "find": { - "case_sensitive": "Groß-/Kleinschreibung beachten", - "match_words": "Wörter genau übereinstimmen", - "find_placeholder": "Finde in Text...", - "replace_placeholder": "Ersetze mit...", - "replace": "Ersetzen", - "replace_all": "Alle Ersetzen" - }, - "highlights_list_2": { - "title": "Hervorhebungs-Liste", - "options": "Optionen" - }, - "quick-search": { - "placeholder": "Schnellsuche", - "searching": "Suche läuft…", - "no-results": "Keine Ergebnisse gefunden", - "more-results": "... und {{number}} weitere Ergebnisse.", - "show-in-full-search": "In der vollständigen Suche anzeigen" - }, - "note_tree": { - "collapse-title": "Notizbaum zusammenklappen", - "scroll-active-title": "Zur aktiven Notiz scrollen", - "tree-settings-title": "Baum-Einstellungen", - "hide-archived-notes": "Archivierte Notizen ausblenden", - "automatically-collapse-notes": "Notizen automatisch zusammenklappen", - "automatically-collapse-notes-title": "Notizen werden nach einer Inaktivitätsperiode automatisch zusammengeklappt, um den Baum zu entlasten.", - "save-changes": "Änderungen speichern und anwenden", - "auto-collapsing-notes-after-inactivity": "Automatisches Zusammenklappen von Notizen nach Inaktivität…", - "saved-search-note-refreshed": "Gespeicherte Such-Notiz wurde aktualisiert.", - "hoist-this-note-workspace": "Diese Notiz fokussieren (Arbeitsbereich)", - "refresh-saved-search-results": "Gespeicherte Suchergebnisse aktualisieren", - "create-child-note": "Unternotiz anlegen", - "unhoist": "Entfokussieren" - }, - "title_bar_buttons": { - "window-on-top": "Dieses Fenster immer oben halten" - }, - "note_detail": { - "could_not_find_typewidget": "Konnte typeWidget für Typ ‚{{type}}‘ nicht finden" - }, - "note_title": { - "placeholder": "Titel der Notiz hier eingeben…" - }, - "search_result": { - "no_notes_found": "Es wurden keine Notizen mit den angegebenen Suchparametern gefunden.", - "search_not_executed": "Die Suche wurde noch nicht ausgeführt. Klicke oben auf „Suchen“, um die Ergebnisse anzuzeigen." - }, - "spacer": { - "configure_launchbar": "Startleiste konfigurieren" - }, - "sql_result": { - "no_rows": "Es wurden keine Zeilen für diese Abfrage zurückgegeben" - }, - "sql_table_schemas": { - "tables": "Tabellen" - }, - "tab_row": { - "close_tab": "Tab schließen", - "add_new_tab": "Neuen Tab hinzufügen", - "close": "Schließen", - "close_other_tabs": "Andere Tabs schließen", - "close_right_tabs": "Tabs rechts schließen", - "close_all_tabs": "Alle Tabs schließen", - "reopen_last_tab": "Zuletzt geschlossenen Tab erneut öffnen", - "move_tab_to_new_window": "Tab in neues Fenster verschieben", - "copy_tab_to_new_window": "Tab in neues Fenster kopieren", - "new_tab": "Neuer Tab" - }, - "toc": { - "table_of_contents": "Inhaltsverzeichnis", - "options": "Optionen" - }, - "watched_file_update_status": { - "file_last_modified": "Datei wurde zuletzt geändert am .", - "upload_modified_file": "Modifizierte Datei hochladen", - "ignore_this_change": "Diese Änderung ignorieren" - }, - "app_context": { - "please_wait_for_save": "Bitte warte ein paar Sekunden, bis das Speichern abgeschlossen ist, und versuche es dann erneut." - }, - "note_create": { - "duplicated": "Notiz ‚{{title}}‘ wurde dupliziert." - }, - "image": { - "copied-to-clipboard": "Ein Verweis auf das Bild wurde in die Zwischenablage kopiert. Dieser kann in eine beliebige Textnotiz eingefügt werden.", - "cannot-copy": "Das Bild konnte nicht in die Zwischenablage kopiert werden." - }, - "clipboard": { - "cut": "Notiz(en) wurden in die Zwischenablage ausgeschnitten.", - "copied": "Notiz(en) wurden in die Zwischenablage kopiert." - }, - "entrypoints": { - "note-revision-created": "Notizrevision wurde erstellt.", - "note-executed": "Notiz wurde ausgeführt.", - "sql-error": "Fehler bei der Ausführung der SQL-Abfrage: {{message}}" - }, - "branches": { - "cannot-move-notes-here": "Notizen können hier nicht verschoben werden.", - "delete-status": "Löschstatus", - "delete-notes-in-progress": "Löschen von Notizen in Bearbeitung: {{count}}", - "delete-finished-successfully": "Löschen erfolgreich abgeschlossen.", - "undeleting-notes-in-progress": "Wiederherstellen von Notizen in Bearbeitung: {{count}}", - "undeleting-notes-finished-successfully": "Wiederherstellen von Notizen erfolgreich abgeschlossen." - }, - "frontend_script_api": { - "async_warning": "Du übergibst eine asynchrone Funktion an `api.runOnBackend()`, was wahrscheinlich nicht wie beabsichtigt funktioniert.\\nEntweder mach die Funktion synchron (indem du das `async`-Schlüsselwort entfernst) oder benutze `api.runAsyncOnBackendWithManualTransactionHandling()`.", - "sync_warning": "Du übergibst eine synchrone Funktion an `api.runAsyncOnBackendWithManualTransactionHandling()`,\\nobwohl du wahrscheinlich `api.runOnBackend()` verwenden solltest." - }, - "ws": { - "sync-check-failed": "Synchronisationsprüfung fehlgeschlagen!", - "consistency-checks-failed": "Konsistenzprüfung fehlgeschlagen! Siehe Logs für Details.", - "encountered-error": "Fehler „{{message}}“ aufgetreten, siehe Konsole für Details." - }, - "hoisted_note": { - "confirm_unhoisting": "Die angeforderte Notiz ‚{{requestedNote}}‘ befindet sich außerhalb des hoisted Bereichs der Notiz ‚{{hoistedNote}}‘. Du musst sie unhoisten, um auf die Notiz zuzugreifen. Möchtest du mit dem Unhoisting fortfahren?" - }, - "launcher_context_menu": { - "reset_launcher_confirm": "Möchtest du „{{title}}“ wirklich zurücksetzen? Alle Daten / Einstellungen in dieser Notiz (und ihren Unternotizen) gehen verloren und der Launcher wird an seinen ursprünglichen Standort zurückgesetzt.", - "add-note-launcher": "Launcher für Notiz hinzufügen", - "add-script-launcher": "Launcher für Skript hinzufügen", - "add-custom-widget": "Benutzerdefiniertes Widget hinzufügen", - "add-spacer": "Spacer hinzufügen", - "delete": "Löschen ", - "reset": "Zurücksetzen", - "move-to-visible-launchers": "Zu sichtbaren Launchern verschieben", - "move-to-available-launchers": "Zu verfügbaren Launchern verschieben", - "duplicate-launcher": "Launcher duplizieren " - }, - "editable-text": { - "auto-detect-language": "Automatisch erkannt" - }, - "highlighting": { - "description": "Steuert die Syntaxhervorhebung für Codeblöcke in Textnotizen, Code-Notizen sind nicht betroffen.", - "color-scheme": "Farbschema" - }, - "code_block": { - "word_wrapping": "Wortumbruch", - "theme_none": "Keine Syntax-Hervorhebung", - "theme_group_light": "Helle Themen", - "theme_group_dark": "Dunkle Themen" - }, - "classic_editor_toolbar": { - "title": "Format" - }, - "editor": { - "title": "Editor" - }, - "editing": { - "editor_type": { - "label": "Format Toolbar", - "floating": { - "title": "Schwebend", - "description": "Werkzeuge erscheinen in Cursornähe" - }, - "fixed": { - "title": "Fixiert", - "description": "Werkzeuge erscheinen im \"Format\" Tab" - }, - "multiline-toolbar": "Toolbar wenn nötig in mehreren Zeilen darstellen." - } - }, - "electron_context_menu": { - "add-term-to-dictionary": "Begriff \"{{term}}\" zum Wörterbuch hinzufügen", - "cut": "Ausschneiden", - "copy": "Kopieren", - "copy-link": "Link opieren", - "paste": "Einfügen", - "paste-as-plain-text": "Als unformatierten Text einfügen", - "search_online": "Suche nach \"{{term}}\" mit {{searchEngine}} starten" - }, - "image_context_menu": { - "copy_reference_to_clipboard": "Referenz in Zwischenablage kopieren", - "copy_image_to_clipboard": "Bild in die Zwischenablage kopieren" - }, - "link_context_menu": { - "open_note_in_new_tab": "Notiz in neuen Tab öffnen", - "open_note_in_new_split": "Notiz in neuen geteilten Tab öffnen", - "open_note_in_new_window": "Notiz in neuen Fenster öffnen" - }, - "electron_integration": { - "desktop-application": "Desktop Anwendung", - "native-title-bar": "Native Anwendungsleiste", - "native-title-bar-description": "In Windows und macOS, sorgt das Deaktivieren der nativen Anwendungsleiste für ein kompakteres Aussehen. Unter Linux, sorgt das Aktivieren der nativen Anwendungsleiste für eine bessere Integration mit anderen Teilen des Systems.", - "background-effects": "Hintergrundeffekte aktivieren (nur Windows 11)", - "background-effects-description": "Der Mica Effekt fügt einen unscharfen, stylischen Hintergrund in Anwendungsfenstern ein. Dieser erzeugt Tiefe und ein modernes Auftreten.", - "restart-app-button": "Anwendung neustarten um Änderungen anzuwenden", - "zoom-factor": "Zoomfaktor" - }, - "note_autocomplete": { - "search-for": "Suche nach \"{{term}}\"", - "create-note": "Erstelle und verlinke Unternotiz \"{{term}}\"", - "insert-external-link": "Einfügen von Externen Link zu \"{{term}}\"", - "clear-text-field": "Textfeldinhalt löschen", - "show-recent-notes": "Aktuelle Notizen anzeigen", - "full-text-search": "Volltextsuche" - }, - "note_tooltip": { - "note-has-been-deleted": "Notiz wurde gelöscht." - }, - "geo-map": { - "create-child-note-title": "Neue Unternotiz anlegen und zur Karte hinzufügen", - "create-child-note-instruction": "Auf die Karte klicken, um eine neue Notiz an der Stelle zu erstellen oder Escape drücken um abzubrechen.", - "unable-to-load-map": "Karte konnte nicht geladen werden." - }, - "geo-map-context": { - "open-location": "Ort öffnen", - "remove-from-map": "Von Karte entfernen" - }, - "help-button": { - "title": "Relevante Hilfeseite öffnen" - }, - "duration": { - "seconds": "Sekunden", - "minutes": "Minuten", - "hours": "Stunden", - "days": "Tage" - }, - "time_selector": { - "invalid_input": "Die eingegebene Zeit ist keine valide Zahl." + "about": { + "title": "Über Trilium Notes", + "close": "Schließen", + "homepage": "Startseite:", + "app_version": "App-Version:", + "db_version": "DB-Version:", + "sync_version": "Synch-version:", + "build_date": "Build-Datum:", + "build_revision": "Build-Revision:", + "data_directory": "Datenverzeichnis:" + }, + "toast": { + "critical-error": { + "title": "Kritischer Fehler", + "message": "Ein kritischer Fehler ist aufgetreten, der das Starten der Client-Anwendung verhindert:\n\n{{message}}\n\nDies wird höchstwahrscheinlich durch ein Skript verursacht, das auf unerwartete Weise fehlschlägt. Versuche, die Anwendung im abgesicherten Modus zu starten und das Problem zu lokalisieren." + }, + "widget-error": { + "title": "Ein Widget konnte nicht initialisiert werden", + "message-custom": "Benutzerdefiniertes Widget von der Notiz mit der ID \"{{id}}\", und dem Titel \"{{title}}\" konnte nicht initialisiert werden wegen:\n\n{{message}}", + "message-unknown": "Unbekanntes Widget konnte nicht initialisiert werden wegen:\n\n{{message}}" + }, + "bundle-error": { + "title": "Benutzerdefiniertes Skript konnte nicht geladen werden", + "message": "Skript von der Notiz mit der ID \"{{id}}\", und dem Titel \"{{title}}\" konnte nicht ausgeführt werden wegen:\n\n{{message}}" } + }, + "add_link": { + "add_link": "Link hinzufügen", + "help_on_links": "Hilfe zu Links", + "close": "Schließen", + "note": "Notiz", + "search_note": "Suche nach einer Notiz anhand ihres Namens", + "link_title_mirrors": "Der Linktitel spiegelt den aktuellen Titel der Notiz wider", + "link_title_arbitrary": "Der Linktitel kann beliebig geändert werden", + "link_title": "Linktitel", + "button_add_link": "Link hinzufügen Eingabetaste" + }, + "branch_prefix": { + "edit_branch_prefix": "Zweigpräfix bearbeiten", + "help_on_tree_prefix": "Hilfe zum Baumpräfix", + "close": "Schließen", + "prefix": "Präfix: ", + "save": "Speichern", + "branch_prefix_saved": "Zweigpräfix wurde gespeichert." + }, + "bulk_actions": { + "bulk_actions": "Massenaktionen", + "close": "Schließen", + "affected_notes": "Betroffene Notizen", + "include_descendants": "Unternotizen der ausgewählten Notizen einbeziehen", + "available_actions": "Verfügbare Aktionen", + "chosen_actions": "Ausgewählte Aktionen", + "execute_bulk_actions": "Massenaktionen ausführen", + "bulk_actions_executed": "Massenaktionen wurden erfolgreich ausgeführt.", + "none_yet": "Noch keine ... Füge eine Aktion hinzu, indem du oben auf eine der verfügbaren Aktionen klicken.", + "labels": "Labels", + "relations": "Beziehungen", + "notes": "Notizen", + "other": "Andere" + }, + "clone_to": { + "clone_notes_to": "Notizen klonen nach...", + "close": "Schließen", + "help_on_links": "Hilfe zu Links", + "notes_to_clone": "Notizen zum Klonen", + "target_parent_note": "Ziel-Übergeordnetenotiz", + "search_for_note_by_its_name": "Suche nach einer Notiz anhand ihres Namens", + "cloned_note_prefix_title": "Die geklonte Notiz wird im Notizbaum mit dem angegebenen Präfix angezeigt", + "prefix_optional": "Präfix (optional)", + "clone_to_selected_note": "Auf ausgewählte Notiz klonen Eingabe", + "no_path_to_clone_to": "Kein Pfad zum Klonen.", + "note_cloned": "Die Notiz \"{{clonedTitle}}\" wurde in \"{{targetTitle}}\" hinein geklont" + }, + "confirm": { + "confirmation": "Bestätigung", + "close": "Schließen", + "cancel": "Abbrechen", + "ok": "OK", + "are_you_sure_remove_note": "Bist du sicher, dass du \"{{title}}\" von der Beziehungskarte entfernen möchten? ", + "if_you_dont_check": "Wenn du dies nicht aktivierst, wird die Notiz nur aus der Beziehungskarte entfernt.", + "also_delete_note": "Auch die Notiz löschen" + }, + "delete_notes": { + "delete_notes_preview": "Vorschau der Notizen löschen", + "close": "Schließen", + "delete_all_clones_description": "auch alle Klone löschen (kann bei letzte Änderungen rückgängig gemacht werden)", + "erase_notes_description": "Beim normalen (vorläufigen) Löschen werden die Notizen nur als gelöscht markiert und sie können innerhalb eines bestimmten Zeitraums (im Dialogfeld „Letzte Änderungen“) wiederhergestellt werden. Wenn du diese Option aktivierst, werden die Notizen sofort gelöscht und es ist nicht möglich, die Notizen wiederherzustellen.", + "erase_notes_warning": "Notizen dauerhaft löschen (kann nicht rückgängig gemacht werden), einschließlich aller Klone. Dadurch wird ein Neuladen der Anwendung erzwungen.", + "notes_to_be_deleted": "Folgende Notizen werden gelöscht ()", + "no_note_to_delete": "Es werden keine Notizen gelöscht (nur Klone).", + "broken_relations_to_be_deleted": "Folgende Beziehungen werden gelöst und gelöscht ()", + "cancel": "Abbrechen", + "ok": "OK", + "deleted_relation_text": "Notiz {{- note}} (soll gelöscht werden) wird von Beziehung {{- relation}} ausgehend von {{- source}} referenziert." + }, + "export": { + "export_note_title": "Notiz exportieren", + "close": "Schließen", + "export_type_subtree": "Diese Notiz und alle ihre Unternotizen", + "format_html": "HTML - empfohlen, da dadurch alle Formatierungen erhalten bleiben", + "format_html_zip": "HTML im ZIP-Archiv – dies wird empfohlen, da dadurch die gesamte Formatierung erhalten bleibt.", + "format_markdown": "Markdown – dadurch bleiben die meisten Formatierungen erhalten.", + "format_opml": "OPML – Outliner-Austauschformat nur für Text. Formatierungen, Bilder und Dateien sind nicht enthalten.", + "opml_version_1": "OPML v1.0 – nur Klartext", + "opml_version_2": "OPML v2.0 – erlaubt auch HTML", + "export_type_single": "Nur diese Notiz ohne ihre Unternotizen", + "export": "Export", + "choose_export_type": "Bitte wähle zuerst den Exporttypen aus", + "export_status": "Exportstatus", + "export_in_progress": "Export läuft: {{progressCount}}", + "export_finished_successfully": "Der Export wurde erfolgreich abgeschlossen.", + "format_pdf": "PDF - für Ausdrucke oder Teilen." + }, + "help": { + "fullDocumentation": "Hilfe (gesamte Dokumentation ist online verfügbar)", + "close": "Schließen", + "noteNavigation": "Notiz Navigation", + "goUpDown": "Pfeil Hoch, Pfeil Runter - In der Liste der Notizen nach oben/unten gehen", + "collapseExpand": "LEFT, RIGHT - Knoten reduzieren/erweitern", + "notSet": "nicht eingestellt", + "goBackForwards": "in der Historie zurück/vorwärts gehen", + "showJumpToNoteDialog": "zeige \"Springe zu\" dialog", + "scrollToActiveNote": "Scrolle zur aktiven Notiz", + "jumpToParentNote": "Backspace - Zur übergeordneten Notiz springen", + "collapseWholeTree": "Reduziere den gesamten Notizbaum", + "collapseSubTree": "Teilbaum einklappen", + "tabShortcuts": "Tab-Tastenkürzel", + "newTabNoteLink": "Strg+Klick - (oder mittlerer Mausklick) auf den Notizlink öffnet die Notiz in einem neuen Tab", + "onlyInDesktop": "Nur im Desktop (Electron Build)", + "openEmptyTab": "Leeren Tab öffnen", + "closeActiveTab": "Aktiven Tab schließen", + "activateNextTab": "Nächsten Tab aktivieren", + "activatePreviousTab": "Vorherigen Tab aktivieren", + "creatingNotes": "Notizen erstellen", + "createNoteAfter": "Erstelle eine neue Notiz nach der aktiven Notiz", + "createNoteInto": "Neue Unternotiz in aktive Notiz erstellen", + "editBranchPrefix": "bearbeite Präfix vom aktiven Notizklon", + "movingCloningNotes": "Notizen verschieben/klonen", + "moveNoteUpDown": "Notiz in der Notizenliste nach oben/unten verschieben", + "moveNoteUpHierarchy": "Verschiebe die Notiz in der Hierarchie nach oben", + "multiSelectNote": "Mehrfachauswahl von Notizen oben/unten", + "selectAllNotes": "Wähle alle Notizen in der aktuellen Ebene aus", + "selectNote": "Umschalt+Klick - Notiz auswählen", + "copyNotes": "Kopiere aktive Notiz (oder aktuelle Auswahl) in den Zwischenspeicher (wird genutzt für Klonen)", + "cutNotes": "Aktuelle Notiz (oder aktuelle Auswahl) in die Zwischenablage ausschneiden (wird zum Verschieben von Notizen verwendet)", + "pasteNotes": "Notiz(en) als Unternotiz in die aktive Notiz einfügen (entweder verschieben oder klonen, je nachdem, ob sie kopiert oder in die Zwischenablag e ausgeschnitten wurde)", + "deleteNotes": "Notiz / Unterbaum löschen", + "editingNotes": "Notizen bearbeiten", + "editNoteTitle": "Im Baumbereich wird vom Baumbereich zum Notiztitel gewechselt. Beim Druck auf Eingabe im Notiztitel, wechselt der Fokus zum Texteditor. Strg+. wechselt vom Editor zurück zum Baumbereich.", + "createEditLink": "Strg+K - Externen Link erstellen/bearbeiten", + "createInternalLink": "Internen Link erstellen", + "followLink": "Folge dem Link unter dem Cursor", + "insertDateTime": "Gebe das aktuelle Datum und die aktuelle Uhrzeit an der Einfügemarke ein", + "jumpToTreePane": "Springe zum Baumbereich und scrolle zur aktiven Notiz", + "markdownAutoformat": "Markdown-ähnliche Autoformatierung", + "headings": "##, ###, #### usw. gefolgt von Platz für Überschriften", + "bulletList": "* oder - gefolgt von Leerzeichen für Aufzählungsliste", + "numberedList": "1. oder 1) gefolgt von Leerzeichen für nummerierte Liste", + "blockQuote": "Beginne eine Zeile mit > gefolgt von einem Leerzeichen für Blockzitate", + "troubleshooting": "Fehlerbehebung", + "reloadFrontend": "Trilium-Frontend neuladen", + "showDevTools": "Entwicklertools anzeigen", + "showSQLConsole": "SQL-Konsole anzeigen", + "other": "Andere", + "quickSearch": "Fokus auf schnelle Sucheingabe", + "inPageSearch": "Auf-der-Seite-Suche" + }, + "import": { + "importIntoNote": "In Notiz importieren", + "close": "Schließen", + "chooseImportFile": "Wähle Importdatei aus", + "importDescription": "Der Inhalt der ausgewählten Datei(en) wird als untergeordnete Notiz(en) importiert", + "options": "Optionen", + "safeImportTooltip": "Trilium .zip-Exportdateien können ausführbare Skripte enthalten, die möglicherweise schädliches Verhalten aufweisen. Der sichere Import deaktiviert die automatische Ausführung aller importierten Skripte. Deaktiviere 'Sicherer Import' nur, wenn das importierte Archiv ausführbare Skripte enthalten soll und du dem Inhalt der Importdatei vollständig vertraust.", + "safeImport": "Sicherer Import", + "explodeArchivesTooltip": "Wenn dies aktiviert ist, liest Trilium die Dateien .zip, .enex und .opml und erstellt Notizen aus Dateien in diesen Archiven. Wenn diese Option deaktiviert ist, hängt Trilium die Archive selbst an die Notiz an.", + "explodeArchives": "Lese den Inhalt der Archive .zip, .enex und .opml.", + "shrinkImagesTooltip": "

Wenn du diese Option aktivierst, versucht Trilium, die importierten Bilder durch Skalierung und Optimierung zu verkleinern, was sich auf die wahrgenommene Bildqualität auswirken kann. Wenn diese Option deaktiviert ist, werden Bilder ohne Änderungen importiert.

Dies gilt nicht für .zip-Importe mit Metadaten, da davon ausgegangen wird, dass diese Dateien bereits optimiert sind.

", + "shrinkImages": "Bilder verkleinern", + "textImportedAsText": "Importiere HTML, Markdown und TXT als Textnotizen, wenn die Metadaten unklar sind", + "codeImportedAsCode": "Importiere erkannte Codedateien (z. B. .json) als Codenotizen, wenn die Metadaten unklar sind", + "replaceUnderscoresWithSpaces": "Ersetze Unterstriche in importierten Notiznamen durch Leerzeichen", + "import": "Import", + "failed": "Import fehlgeschlagen: {{message}}.", + "html_import_tags": { + "title": "HTML Tag Import", + "description": "Festlegen, welche HTML tags beim Import von Notizen beibehalten werden sollen. Tags, die nicht in dieser Liste stehen, werden beim Import entfernt. Einige tags (wie bspw. 'script') werden aus Sicherheitsgründen immer entfernt.", + "placeholder": "HTML tags eintragen, pro Zeile nur einer pro Zeile", + "reset_button": "Zur Standardliste zurücksetzen" + }, + "import-status": "Importstatus", + "in-progress": "Import läuft: {{progress}}", + "successful": "Import erfolgreich abgeschlossen." + }, + "include_note": { + "dialog_title": "Notiz beifügen", + "close": "Schließen", + "label_note": "Notiz", + "placeholder_search": "Suche nach einer Notiz anhand ihres Namens", + "box_size_prompt": "Kartongröße des beigelegten Zettels:", + "box_size_small": "klein (~ 10 Zeilen)", + "box_size_medium": "mittel (~ 30 Zeilen)", + "box_size_full": "vollständig (Feld zeigt vollständigen Text)", + "button_include": "Notiz beifügen Eingabetaste" + }, + "info": { + "modalTitle": "Infonachricht", + "closeButton": "Schließen", + "okButton": "OK" + }, + "jump_to_note": { + "close": "Schließen", + "search_button": "Suche im Volltext: Strg+Eingabetaste" + }, + "markdown_import": { + "dialog_title": "Markdown-Import", + "close": "Schließen", + "modal_body_text": "Aufgrund der Browser-Sandbox ist es nicht möglich, die Zwischenablage direkt aus JavaScript zu lesen. Bitte füge den zu importierenden Markdown in den Textbereich unten ein und klicke auf die Schaltfläche „Importieren“.", + "import_button": "Importieren", + "import_success": "Markdown-Inhalt wurde in das Dokument importiert." + }, + "move_to": { + "dialog_title": "Notizen verschieben nach ...", + "close": "Schließen", + "notes_to_move": "Notizen zum Verschieben", + "target_parent_note": "Ziel-Elternnotiz", + "search_placeholder": "Suche nach einer Notiz anhand ihres Namens", + "move_button": "Zur ausgewählten Notiz wechseln Eingabetaste", + "error_no_path": "Kein Weg, auf den man sich bewegen kann.", + "move_success_message": "Ausgewählte Notizen wurden verschoben" + }, + "note_type_chooser": { + "modal_title": "Wähle den Notiztyp aus", + "close": "Schließen", + "modal_body": "Wähle den Notiztyp / die Vorlage der neuen Notiz:", + "templates": "Vorlagen:" + }, + "password_not_set": { + "title": "Das Passwort ist nicht festgelegt", + "close": "Schließen", + "body1": "Geschützte Notizen werden mit einem Benutzerpasswort verschlüsselt, es wurde jedoch noch kein Passwort festgelegt.", + "body2": "Um Notizen verschlüsseln zu können, klicke hier um das Optionsmenu zu öffnen und ein Passwort zu setzen." + }, + "prompt": { + "title": "Prompt", + "close": "Schließen", + "ok": "OK Eingabe", + "defaultTitle": "Prompt" + }, + "protected_session_password": { + "modal_title": "Geschützte Sitzung", + "help_title": "Hilfe zu geschützten Notizen", + "close_label": "Schließen", + "form_label": "Um mit der angeforderten Aktion fortzufahren, musst du eine geschützte Sitzung starten, indem du ein Passwort eingibst:", + "start_button": "Geschützte Sitzung starten enter" + }, + "recent_changes": { + "title": "Aktuelle Änderungen", + "erase_notes_button": "Jetzt gelöschte Notizen löschen", + "close": "Schließen", + "deleted_notes_message": "Gelöschte Notizen wurden gelöscht.", + "no_changes_message": "Noch keine Änderungen...", + "undelete_link": "Wiederherstellen", + "confirm_undelete": "Möchten Sie diese Notiz und ihre Unternotizen wiederherstellen?" + }, + "revisions": { + "note_revisions": "Notizrevisionen", + "delete_all_revisions": "Lösche alle Revisionen dieser Notiz", + "delete_all_button": "Alle Revisionen löschen", + "help_title": "Hilfe zu Notizrevisionen", + "close": "Schließen", + "revision_last_edited": "Diese Revision wurde zuletzt am {{date}} bearbeitet", + "confirm_delete_all": "Möchtest du alle Revisionen dieser Notiz löschen?", + "no_revisions": "Für diese Notiz gibt es noch keine Revisionen...", + "confirm_restore": "Möchtest du diese Revision wiederherstellen? Dadurch werden der aktuelle Titel und Inhalt der Notiz mit dieser Revision überschrieben.", + "confirm_delete": "Möchtest du diese Revision löschen?", + "revisions_deleted": "Notizrevisionen wurden gelöscht.", + "revision_restored": "Die Notizrevision wurde wiederhergestellt.", + "revision_deleted": "Notizrevision wurde gelöscht.", + "snapshot_interval": "Notizrevisionen-Snapshot Intervall: {{seconds}}s.", + "maximum_revisions": "Maximale Revisionen für aktuelle Notiz: {{number}}.", + "settings": "Einstellungen für Notizrevisionen", + "download_button": "Herunterladen", + "mime": "MIME:", + "file_size": "Dateigröße:", + "preview": "Vorschau:", + "preview_not_available": "Für diesen Notiztyp ist keine Vorschau verfügbar." + }, + "sort_child_notes": { + "sort_children_by": "Unternotizen sortieren nach...", + "close": "Schließen", + "sorting_criteria": "Sortierkriterien", + "title": "Titel", + "date_created": "Erstellungsdatum", + "date_modified": "Änderungsdatum", + "sorting_direction": "Sortierrichtung", + "ascending": "aufsteigend", + "descending": "absteigend", + "folders": "Ordner", + "sort_folders_at_top": "Ordne die Ordner oben", + "natural_sort": "Natürliche Sortierung", + "sort_with_respect_to_different_character_sorting": "Sortierung im Hinblick auf unterschiedliche Sortier- und Sortierregeln für Zeichen in verschiedenen Sprachen oder Regionen.", + "natural_sort_language": "Natürliche Sortiersprache", + "the_language_code_for_natural_sort": "Der Sprachcode für die natürliche Sortierung, z. B. \"de-DE\" für Deutsch.", + "sort": "Sortieren Eingabetaste" + }, + "upload_attachments": { + "upload_attachments_to_note": "Lade Anhänge zur Notiz hoch", + "close": "Schließen", + "choose_files": "Wähle Dateien aus", + "files_will_be_uploaded": "Dateien werden als Anhänge in hochgeladen", + "options": "Optionen", + "shrink_images": "Bilder verkleinern", + "upload": "Hochladen", + "tooltip": "Wenn du diese Option aktivieren, versucht Trilium, die hochgeladenen Bilder durch Skalierung und Optimierung zu verkleinern, was sich auf die wahrgenommene Bildqualität auswirken kann. Wenn diese Option deaktiviert ist, werden die Bilder ohne Änderungen hochgeladen." + }, + "attribute_detail": { + "attr_detail_title": "Attributdetailtitel", + "close_button_title": "Änderungen verwerfen und schließen", + "attr_is_owned_by": "Das Attribut ist Eigentum von", + "attr_name_title": "Der Attributname darf nur aus alphanumerischen Zeichen, Doppelpunkten und Unterstrichen bestehen", + "name": "Name", + "value": "Wert", + "target_note_title": "Eine Beziehung ist eine benannte Verbindung zwischen Quellnotiz und Zielnotiz.", + "target_note": "Zielnotiz", + "promoted_title": "Das heraufgestufte Attribut wird deutlich in der Notiz angezeigt.", + "promoted": "Gefördert", + "promoted_alias_title": "Der Name, der in der Benutzeroberfläche für heraufgestufte Attribute angezeigt werden soll.", + "promoted_alias": "Alias", + "multiplicity_title": "Multiplizität definiert, wie viele Attribute mit demselben Namen erstellt werden können – maximal 1 oder mehr als 1.", + "multiplicity": "Vielzahl", + "single_value": "Einzelwert", + "multi_value": "Mehrfachwert", + "label_type_title": "Der Etikettentyp hilft Trilium bei der Auswahl einer geeigneten Schnittstelle zur Eingabe des Etikettenwerts.", + "label_type": "Typ", + "text": "Text", + "number": "Nummer", + "boolean": "Boolescher Wert", + "date": "Datum", + "date_time": "Datum und Uhrzeit", + "time": "Uhrzeit", + "url": "URL", + "precision_title": "Wie viele Nachkommastellen im Wert-Einstellungs-Interface verfügbar sein sollen.", + "precision": "Präzision", + "digits": "Ziffern", + "inverse_relation_title": "Optionale Einstellung, um zu definieren, zu welcher Beziehung diese entgegengesetzt ist. Beispiel: Vater – Sohn stehen in umgekehrter Beziehung zueinander.", + "inverse_relation": "Inverse Beziehung", + "inheritable_title": "Das vererbbare Attribut wird an alle Nachkommen unter diesem Baum vererbt.", + "inheritable": "Vererbbar", + "save_and_close": "Speichern und schließen Strg+Eingabetaste", + "delete": "Löschen", + "related_notes_title": "Weitere Notizen mit diesem Label", + "more_notes": "Weitere Notizen", + "label": "Labeldetail", + "label_definition": "Details zur Labeldefinition", + "relation": "Beziehungsdetails", + "relation_definition": "Details zur Beziehungsdefinition", + "disable_versioning": "deaktiviert die automatische Versionierung. Nützlich z.B. große, aber unwichtige Notizen – z.B. große JS-Bibliotheken, die für die Skripterstellung verwendet werden", + "calendar_root": "Markiert eine Notiz, die als Basis für Tagesnotizen verwendet werden soll. Nur einer sollte als solcher gekennzeichnet sein.", + "archived": "Notizen mit dieser Bezeichnung werden standardmäßig nicht in den Suchergebnissen angezeigt (auch nicht in den Dialogen „Springen zu“, „Link hinzufügen“ usw.).", + "exclude_from_export": "Notizen (mit ihrem Unterbaum) werden nicht in den Notizexport einbezogen", + "run": "Definiert, bei welchen Ereignissen das Skript ausgeführt werden soll. Mögliche Werte sind:\n
    \n
  • frontendStartup - wenn das Trilium-Frontend startet (oder aktualisiert wird), außer auf mobilen Geräten.
  • \n
  • mobileStartup - wenn das Trilium-Frontend auf einem mobilen Gerät startet (oder aktualisiert wird).
  • \n
  • backendStartup - wenn das Trilium-Backend startet
  • \n
  • hourly - einmal pro Stunde ausführen. Du kannst das zusätzliche Label runAtHour verwenden, um die genaue Stunde festzulegen.
  • \n
  • daily - einmal pro Tag ausführen
  • \n
", + "run_on_instance": "Definiere, auf welcher Trilium-Instanz dies ausgeführt werden soll. Standardmäßig alle Instanzen.", + "run_at_hour": "Zu welcher Stunde soll das laufen? Sollte zusammen mit #runu003dhourly verwendet werden. Kann für mehr Läufe im Laufe des Tages mehrfach definiert werden.", + "disable_inclusion": "Skripte mit dieser Bezeichnung werden nicht in die Ausführung des übergeordneten Skripts einbezogen.", + "sorted": "Hält untergeordnete Notizen alphabetisch nach Titel sortiert", + "sort_direction": "ASC (Standard) oder DESC", + "sort_folders_first": "Ordner (Notizen mit Unternotizen) sollten oben sortiert werden", + "top": "Behalte die angegebene Notiz oben in der übergeordneten Notiz (gilt nur für sortierte übergeordnete Notizen).", + "hide_promoted_attributes": "Heraufgestufte Attribute für diese Notiz ausblenden", + "read_only": "Der Editor befindet sich im schreibgeschützten Modus. Funktioniert nur für Text- und Codenotizen.", + "auto_read_only_disabled": "Text-/Codenotizen können automatisch in den Lesemodus versetzt werden, wenn sie zu groß sind. Du kannst dieses Verhalten für jede einzelne Notiz deaktivieren, indem du diese Beschriftung zur Notiz hinzufügst", + "app_css": "markiert CSS-Notizen, die in die Trilium-Anwendung geladen werden und somit zur Änderung des Aussehens von Trilium verwendet werden können.", + "app_theme": "markiert CSS-Notizen, die vollständige Trilium-Themen sind und daher in den Trilium-Optionen verfügbar sind.", + "app_theme_base": "markiert Notiz als \"nächste\" in der Reihe für ein Trilium-Theme als Grundlage für ein Custom-Theme. Ersetzt damit das Standard Theme.", + "css_class": "Der Wert dieser Bezeichnung wird dann als CSS-Klasse dem Knoten hinzugefügt, der die angegebene Notiz im Baum darstellt. Dies kann für fortgeschrittene Themen nützlich sein. Kann in Vorlagennotizen verwendet werden.", + "icon_class": "Der Wert dieser Bezeichnung wird als CSS-Klasse zum Symbol im Baum hinzugefügt, was dabei helfen kann, die Notizen im Baum visuell zu unterscheiden. Beispiel könnte bx bx-home sein – Symbole werden von Boxicons übernommen. Kann in Vorlagennotizen verwendet werden.", + "page_size": "Anzahl der Elemente pro Seite in der Notizliste", + "custom_request_handler": "siehe Custom request handler", + "custom_resource_provider": "siehe Custom request handler", + "widget": "Markiert diese Notiz als benutzerdefiniertes Widget, das dem Trilium-Komponentenbaum hinzugefügt wird", + "workspace": "Markiert diese Notiz als Arbeitsbereich, der ein einfaches Heben ermöglicht", + "workspace_icon_class": "Definiert die CSS-Klasse des Boxsymbols, die im Tab verwendet wird, wenn es zu dieser Notiz gehoben wird", + "workspace_tab_background_color": "CSS-Farbe, die in der Registerkarte „Notiz“ verwendet wird, wenn sie auf diese Notiz hochgezogen wird", + "workspace_calendar_root": "Definiert den Kalenderstamm pro Arbeitsbereich", + "workspace_template": "Diese Notiz wird beim Erstellen einer neuen Notiz in der Auswahl der verfügbaren Vorlage angezeigt, jedoch nur, wenn sie in einen Arbeitsbereich verschoben wird, der diese Vorlage enthält", + "search_home": "Neue Suchnotizen werden als untergeordnete Elemente dieser Notiz erstellt", + "workspace_search_home": "Neue Suchnotizen werden als untergeordnete Elemente dieser Notiz erstellt, wenn sie zu einem Vorgänger dieser Arbeitsbereichsnotiz verschoben werden", + "inbox": "Standard-Inbox-Position für neue Notizen – wenn du eine Notiz über den \"Neue Notiz\"-Button in der Seitenleiste erstellst, wird die Notiz als untergeordnete Notiz der Notiz erstellt, die mit dem #inbox-Label markiert ist.", + "workspace_inbox": "Standard-Posteingangsspeicherort für neue Notizen, wenn sie zu einem Vorgänger dieser Arbeitsbereichsnotiz verschoben werden", + "sql_console_home": "Standardspeicherort der SQL-Konsolennotizen", + "bookmark_folder": "Notizen mit dieser Bezeichnung werden in den Lesezeichen als Ordner angezeigt (und ermöglichen den Zugriff auf ihre untergeordneten Ordner).", + "share_hidden_from_tree": "Diese Notiz ist im linken Navigationsbaum ausgeblendet, kann aber weiterhin über ihre URL aufgerufen werden", + "share_external_link": "Die Notiz dient als Link zu einer externen Website im Freigabebaum", + "share_alias": "Lege einen Alias fest, unter dem die Notiz unter https://your_trilium_host/share/[dein_alias] verfügbar sein wird.", + "share_omit_default_css": "Das Standard-CSS für die Freigabeseite wird weggelassen. Verwende es, wenn du umfangreiche Stylingänderungen vornimmst.", + "share_root": "Markiert eine Notiz, die im /share-Root bereitgestellt wird.", + "share_description": "Definiere Text, der dem HTML-Meta-Tag zur Beschreibung hinzugefügt werden soll", + "share_raw": "Die Notiz wird im Rohformat ohne HTML-Wrapper bereitgestellt", + "share_disallow_robot_indexing": "verbietet die Robot-Indizierung dieser Notiz über den Header X-Robots-Tag: noindex", + "share_credentials": "Für den Zugriff auf diese freigegebene Notiz sind Anmeldeinformationen erforderlich. Es wird erwartet, dass der Wert das Format „Benutzername:Passwort“ hat. Vergiss nicht, dies vererbbar zu machen, um es auf untergeordnete Notizen/Bilder anzuwenden.", + "share_index": "Eine Notiz mit dieser Bezeichnung listet alle Wurzeln gemeinsamer Notizen auf", + "display_relations": "Durch Kommas getrennte Namen der Beziehungen, die angezeigt werden sollen. Alle anderen werden ausgeblendet.", + "hide_relations": "Durch Kommas getrennte Namen von Beziehungen, die ausgeblendet werden sollen. Alle anderen werden angezeigt.", + "title_template": "Standardtitel von Notizen, die als untergeordnete Notizen dieser Notiz erstellt werden. Der Wert wird als JavaScript-String ausgewertet \n und kann daher mit dynamischen Inhalten über die injizierten now und parentNote-Variablen angereichert werden. Beispiele:\n \n
    \n
  • ${parentNote.getLabelValue('authorName')}'s literarische Werke
  • \n
  • Logbuch für ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n Siehe Wiki mit Details, API-Dokumentation für parentNote und now für Details.", + "template": "Diese Notiz wird beim Erstellen einer neuen Notiz in der Auswahl der verfügbaren Vorlage angezeigt", + "toc": "#toc oder #tocu003dshow erzwingen die Anzeige des Inhaltsverzeichnisses, #tocu003dhide erzwingt das Ausblenden. Wenn die Bezeichnung nicht vorhanden ist, wird die globale Einstellung beachtet", + "color": "Definiert die Farbe der Notiz im Notizbaum, in Links usw. Verwende einen beliebigen gültigen CSS-Farbwert wie „rot“ oder #a13d5f", + "keyboard_shortcut": "Definiert eine Tastenkombination, die sofort zu dieser Notiz springt. Beispiel: „Strg+Alt+E“. Erfordert ein Neuladen des Frontends, damit die Änderung wirksam wird.", + "keep_current_hoisting": "Das Öffnen dieses Links ändert das Hochziehen nicht, selbst wenn die Notiz im aktuell hochgezogenen Unterbaum nicht angezeigt werden kann.", + "execute_button": "Titel der Schaltfläche, die die aktuelle Codenotiz ausführt", + "execute_description": "Längere Beschreibung der aktuellen Codenotiz, die zusammen mit der Schaltfläche „Ausführen“ angezeigt wird", + "exclude_from_note_map": "Notizen mit dieser Bezeichnung werden in der Notizenkarte ausgeblendet", + "new_notes_on_top": "Neue Notizen werden oben in der übergeordneten Notiz erstellt, nicht unten.", + "hide_highlight_widget": "Widget „Hervorhebungsliste“ ausblenden", + "run_on_note_creation": "Wird ausgeführt, wenn eine Notiz im Backend erstellt wird. Verwende diese Beziehung, wenn du das Skript für alle Notizen ausführen möchtest, die unter einer bestimmten Unternotiz erstellt wurden. Erstelle es in diesem Fall auf der Unternotiz-Stammnotiz und mache es vererbbar. Eine neue Notiz, die innerhalb der Unternotiz (beliebige Tiefe) erstellt wird, löst das Skript aus.", + "run_on_child_note_creation": "Wird ausgeführt, wenn eine neue Notiz unter der Notiz erstellt wird, in der diese Beziehung definiert ist", + "run_on_note_title_change": "Wird ausgeführt, wenn der Notiztitel geändert wird (einschließlich der Notizerstellung)", + "run_on_note_content_change": "Wird ausgeführt, wenn der Inhalt einer Notiz geändert wird (einschließlich der Erstellung von Notizen).", + "run_on_note_change": "Wird ausgeführt, wenn eine Notiz geändert wird (einschließlich der Erstellung von Notizen). Enthält keine Inhaltsänderungen", + "run_on_note_deletion": "Wird ausgeführt, wenn eine Notiz gelöscht wird", + "run_on_branch_creation": "wird ausgeführt, wenn ein Zweig erstellt wird. Der Zweig ist eine Verbindung zwischen der übergeordneten Notiz und der untergeordneten Notiz und wird z. B. erstellt. beim Klonen oder Verschieben von Notizen.", + "run_on_branch_change": "wird ausgeführt, wenn ein Zweig aktualisiert wird.", + "run_on_branch_deletion": "wird ausgeführt, wenn ein Zweig gelöscht wird. Der Zweig ist eine Verknüpfung zwischen der übergeordneten Notiz und der untergeordneten Notiz und wird z. B. gelöscht. beim Verschieben der Notiz (alter Zweig/Link wird gelöscht).", + "run_on_attribute_creation": "wird ausgeführt, wenn für die Notiz ein neues Attribut erstellt wird, das diese Beziehung definiert", + "run_on_attribute_change": "wird ausgeführt, wenn das Attribut einer Notiz geändert wird, die diese Beziehung definiert. Dies wird auch ausgelöst, wenn das Attribut gelöscht wird", + "relation_template": "Die Attribute der Notiz werden auch ohne eine Eltern-Kind-Beziehung vererbt. Der Inhalt und der Unterbaum der Notiz werden den Instanznotizen hinzugefügt, wenn sie leer sind. Einzelheiten findest du in der Dokumentation.", + "inherit": "Die Attribute einer Notiz werden auch ohne eine Eltern-Kind-Beziehung vererbt. Ein ähnliches Konzept findest du unter Vorlagenbeziehung. Siehe Attributvererbung in der Dokumentation.", + "render_note": "Notizen vom Typ \"HTML-Notiz rendern\" werden mit einer Code-Notiz (HTML oder Skript) gerendert, und es ist notwendig, über diese Beziehung anzugeben, welche Notiz gerendert werden soll.", + "widget_relation": "Das Ziel dieser Beziehung wird ausgeführt und als Widget in der Seitenleiste gerendert", + "share_css": "CSS-Hinweis, der in die Freigabeseite eingefügt wird. Die CSS-Notiz muss sich ebenfalls im gemeinsamen Unterbaum befinden. Erwäge auch die Verwendung von „share_hidden_from_tree“ und „share_omit_default_css“.", + "share_js": "JavaScript-Hinweis, der in die Freigabeseite eingefügt wird. Die JS-Notiz muss sich ebenfalls im gemeinsamen Unterbaum befinden. Erwäge die Verwendung von „share_hidden_from_tree“.", + "share_template": "Eingebettete JavaScript-Notiz, die als Vorlage für die Anzeige der geteilten Notiz verwendet wird. Greift auf die Standardvorlage zurück. Erwäge die Verwendung von „share_hidden_from_tree“.", + "share_favicon": "Favicon-Notiz, die auf der freigegebenen Seite festgelegt werden soll. Normalerweise möchtest du es so einstellen, dass es Root teilt und es vererbbar macht. Die Favicon-Notiz muss sich ebenfalls im freigegebenen Unterbaum befinden. Erwäge die Verwendung von „share_hidden_from_tree“.", + "is_owned_by_note": "ist Eigentum von Note", + "other_notes_with_name": "Other notes with {{attributeType}} name \"{{attributeName}}\"", + "and_more": "... und {{count}} mehr.", + "print_landscape": "Beim Export als PDF, wird die Seitenausrichtung Querformat anstatt Hochformat verwendet.", + "print_page_size": "Beim Export als PDF, wird die Größe der Seite angepasst. Unterstützte Größen: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." + }, + "attribute_editor": { + "help_text_body1": "Um ein Label hinzuzufügen, gebe einfach z.B. ein. #rock oder wenn du auch einen Wert hinzufügen möchten, dann z.B. #year = 2024", + "help_text_body2": "Gebe für die Beziehung ~author = @ ein, woraufhin eine automatische Vervollständigung angezeigt wird, in der du die gewünschte Notiz nachschlagen kannst.", + "help_text_body3": "Alternativ kannst du Label und Beziehung über die Schaltfläche + auf der rechten Seite hinzufügen.", + "save_attributes": "Attribute speichern ", + "add_a_new_attribute": "Füge ein neues Attribut hinzu", + "add_new_label": "Füge ein neues Label hinzu ", + "add_new_relation": "Füge eine neue Beziehung hinzu ", + "add_new_label_definition": "Füge eine neue Labeldefinition hinzu", + "add_new_relation_definition": "Füge eine neue Beziehungsdefinition hinzu", + "placeholder": "Gebe die Labels und Beziehungen hier ein" + }, + "abstract_bulk_action": { + "remove_this_search_action": "Entferne diese Suchaktion" + }, + "execute_script": { + "execute_script": "Skript ausführen", + "help_text": "Du kannst einfache Skripte für die übereinstimmenden Notizen ausführen.", + "example_1": "Um beispielsweise eine Zeichenfolge an den Titel einer Notiz anzuhängen, verwende dieses kleine Skript:", + "example_2": "Ein komplexeres Beispiel wäre das Löschen aller übereinstimmenden Notizattribute:" + }, + "add_label": { + "add_label": "Etikett hinzufügen", + "label_name_placeholder": "Labelname", + "label_name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", + "to_value": "zu schätzen", + "new_value_placeholder": "neuer Wert", + "help_text": "Auf allen übereinstimmenden Notizen:", + "help_text_item1": "Erstelle ein bestimmtes Label, wenn die Notiz noch keins hat", + "help_text_item2": "oder den Wert des vorhandenen Labels ändern", + "help_text_note": "Du kannst diese Methode auch ohne Wert aufrufen. In diesem Fall wird der Notiz ein Label ohne Wert zugewiesen." + }, + "delete_label": { + "delete_label": "Label löschen", + "label_name_placeholder": "Labelname", + "label_name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." + }, + "rename_label": { + "rename_label": "Label umbenennen", + "rename_label_from": "Label umbenennen von", + "old_name_placeholder": "alter Name", + "to": "zu", + "new_name_placeholder": "neuer Name", + "name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." + }, + "update_label_value": { + "update_label_value": "Labelwert aktualisieren", + "label_name_placeholder": "Labelname", + "label_name_title": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", + "to_value": "zum Wert", + "new_value_placeholder": "neuer Wert", + "help_text": "Ändere bei allen übereinstimmenden Notizen den Wert des vorhandenen Labels.", + "help_text_note": "Du kannst diese Methode auch ohne Wert aufrufen. In diesem Fall wird der Notiz ein Label ohne Wert zugewiesen." + }, + "delete_note": { + "delete_note": "Notiz löschen", + "delete_matched_notes": "Übereinstimmende Notizen löschen", + "delete_matched_notes_description": "Dadurch werden übereinstimmende Notizen gelöscht.", + "undelete_notes_instruction": "Nach dem Löschen ist es möglich, sie im Dialogfeld „Letzte Änderungen“ wiederherzustellen.", + "erase_notes_instruction": "Um Notizen dauerhaft zu löschen, geh nach der Löschung zu Optionen -> Andere und klicke auf den Button \"Gelöschte Notizen jetzt löschen\"." + }, + "delete_revisions": { + "delete_note_revisions": "Notizrevisionen löschen", + "all_past_note_revisions": "Alle früheren Notizrevisionen übereinstimmender Notizen werden gelöscht. Die Notiz selbst bleibt vollständig erhalten. Mit anderen Worten: Der Verlauf der Notiz wird entfernt." + }, + "move_note": { + "move_note": "Notiz verschieben", + "to": "nach", + "target_parent_note": "Ziel-Übergeordnetenotiz", + "on_all_matched_notes": "Auf allen übereinstimmenden Notizen", + "move_note_new_parent": "Verschiebe die Notiz in die neue übergeordnete Notiz, wenn die Notiz nur eine übergeordnete Notiz hat (d. h. der alte Zweig wird entfernt und ein neuer Zweig in die neue übergeordnete Notiz erstellt).", + "clone_note_new_parent": "Notiz auf die neue übergeordnete Notiz klonen, wenn die Notiz mehrere Klone/Zweige hat (es ist nicht klar, welcher Zweig entfernt werden soll)", + "nothing_will_happen": "Es passiert nichts, wenn die Notiz nicht zur Zielnotiz verschoben werden kann (d. h. dies würde einen Baumzyklus erzeugen)." + }, + "rename_note": { + "rename_note": "Notiz umbenennen", + "rename_note_title_to": "Notiztitel umbenennen in", + "new_note_title": "neuer Notiztitel", + "click_help_icon": "Klicke rechts auf das Hilfesymbol, um alle Optionen anzuzeigen", + "evaluated_as_js_string": "Der angegebene Wert wird als JavaScript-String ausgewertet und kann somit über die injizierte note-Variable mit dynamischem Inhalt angereichert werden (Notiz wird umbenannt). Beispiele:", + "example_note": "Notiz – alle übereinstimmenden Notizen werden in „Notiz“ umbenannt.", + "example_new_title": "NEU: ${note.title} – Übereinstimmende Notiztitel erhalten das Präfix „NEU:“", + "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} – übereinstimmende Notizen werden mit dem Erstellungsmonat und -datum der Notiz vorangestellt", + "api_docs": "Siehe API-Dokumente für Notiz und seinen dateCreatedObj / utcDateCreatedObj-Eigenschaften für Details." + }, + "add_relation": { + "add_relation": "Beziehung hinzufügen", + "relation_name": "Beziehungsname", + "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", + "to": "zu", + "target_note": "Zielnotiz", + "create_relation_on_all_matched_notes": "Erstelle für alle übereinstimmenden Notizen eine bestimmte Beziehung." + }, + "delete_relation": { + "delete_relation": "Beziehung löschen", + "relation_name": "Beziehungsname", + "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." + }, + "rename_relation": { + "rename_relation": "Beziehung umbenennen", + "rename_relation_from": "Beziehung umbenennen von", + "old_name": "alter Name", + "to": "zu", + "new_name": "neuer Name", + "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt." + }, + "update_relation_target": { + "update_relation": "Beziehung aktualisieren", + "relation_name": "Beziehungsname", + "allowed_characters": "Erlaubte Zeichen sind alphanumerische Zeichen, Unterstrich und Doppelpunkt.", + "to": "zu", + "target_note": "Zielnotiz", + "on_all_matched_notes": "Auf allen übereinstimmenden Notizen", + "change_target_note": "oder ändere die Zielnotiz der bestehenden Beziehung", + "update_relation_target": "Beziehungsziel aktualisieren" + }, + "attachments_actions": { + "open_externally": "Extern öffnen", + "open_externally_title": "Die Datei wird in einer externen Anwendung geöffnet und auf Änderungen überwacht. Anschließend kannst du die geänderte Version wieder auf Trilium hochladen.", + "open_custom": "Benutzerdefiniert öffnen", + "open_custom_title": "Die Datei wird in einer externen Anwendung geöffnet und auf Änderungen überwacht. Anschließend kannst du die geänderte Version wieder auf Trilium hochladen.", + "download": "Herunterladen", + "rename_attachment": "Anhang umbenennen", + "upload_new_revision": "Neue Revision hochladen", + "copy_link_to_clipboard": "Link in die Zwischenablage kopieren", + "convert_attachment_into_note": "Anhang in Notiz umwandeln", + "delete_attachment": "Anhang löschen", + "upload_success": "Eine neue Revision des Anhangs wurde hochgeladen.", + "upload_failed": "Das Hochladen einer neuen Anhangrevision ist fehlgeschlagen.", + "open_externally_detail_page": "Das externe Öffnen des Anhangs ist nur auf der Detailseite möglich. Klicke bitte zuerst auf Details des Anhangs und wiederhole den Vorgang.", + "open_custom_client_only": "Das benutzerdefinierte Öffnen von Anhängen kann nur über den Desktop-Client erfolgen.", + "delete_confirm": "Bist du sicher, dass du den Anhang „{{title}}“ löschen möchtest?", + "delete_success": "Anhang „{{title}}“ wurde gelöscht.", + "convert_confirm": "Bist du sicher, dass du den Anhang „{{title}}“ in eine separate Notiz umwandeln möchtest?", + "convert_success": "Anhang „{{title}}“ wurde in eine Notiz umgewandelt.", + "enter_new_name": "Bitte gebe den Namen des neuen Anhangs ein" + }, + "calendar": { + "mon": "Mo", + "tue": "Di", + "wed": "Mi", + "thu": "Do", + "fri": "Fr", + "sat": "Sa", + "sun": "So", + "cannot_find_day_note": "Tagesnotiz kann nicht gefunden werden", + "january": "Januar", + "febuary": "Februar", + "march": "März", + "april": "April", + "may": "Mai", + "june": "Juni", + "july": "Juli", + "august": "August", + "september": "September", + "october": "Oktober", + "november": "November", + "december": "Dezember" + }, + "close_pane_button": { + "close_this_pane": "Schließe diesen Bereich" + }, + "create_pane_button": { + "create_new_split": "Neuen Split erstellen" + }, + "edit_button": { + "edit_this_note": "Bearbeite diese Notiz" + }, + "show_toc_widget_button": { + "show_toc": "Inhaltsverzeichnis anzeigen" + }, + "show_highlights_list_widget_button": { + "show_highlights_list": "Hervorhebungen anzeigen" + }, + "global_menu": { + "menu": "Menü", + "options": "Optionen", + "open_new_window": "Öffne ein neues Fenster", + "switch_to_mobile_version": "Zur mobilen Ansicht wechseln", + "switch_to_desktop_version": "Zur Desktop-Ansicht wechseln", + "zoom": "Zoom", + "toggle_fullscreen": "Vollbild umschalten", + "zoom_out": "Herauszoomen", + "reset_zoom_level": "Zoomstufe zurücksetzen", + "zoom_in": "Hineinzoomen", + "configure_launchbar": "Konfiguriere die Launchbar", + "show_shared_notes_subtree": "Unterbaum „Freigegebene Notizen“ anzeigen", + "advanced": "Erweitert", + "open_dev_tools": "Öffne die Entwicklungstools", + "open_sql_console": "Öffne die SQL-Konsole", + "open_sql_console_history": "Öffne den SQL-Konsolenverlauf", + "open_search_history": "Öffne den Suchverlauf", + "show_backend_log": "Backend-Protokoll anzeigen", + "reload_hint": "Ein Neuladen kann bei einigen visuellen Störungen Abhilfe schaffen, ohne die gesamte App neu starten zu müssen.", + "reload_frontend": "Frontend neu laden", + "show_hidden_subtree": "Versteckten Teilbaum anzeigen", + "show_help": "Hilfe anzeigen", + "about": "Über Trilium Notes", + "logout": "Abmelden", + "show-cheatsheet": "Cheatsheet anzeigen", + "toggle-zen-mode": "Zen Modus" + }, + "sync_status": { + "unknown": "

Der Synchronisations-Status wird bekannt, sobald der nächste Synchronisierungsversuch gestartet wird.

Klicke, um eine Synchronisierung jetzt auszulösen.

", + "connected_with_changes": "

Mit dem Synchronisations-Server verbunden.
Es gibt noch ausstehende Änderungen, die synchronisiert werden müssen.

Klicke, um eine Synchronisierung jetzt auszulösen.

", + "connected_no_changes": "

Mit dem Synchronisations-Server verbunden.
Alle Änderungen wurden bereits synchronisiert.

Klicke, um eine Synchronisierung jetzt auszulösen.

", + "disconnected_with_changes": "

Die Verbindung zum Synchronisations-Server konnte nicht hergestellt werden.
Es gibt noch ausstehende Änderungen, die synchronisiert werden müssen.

Klicke, um eine Synchronisierung jetzt auszulösen.

", + "disconnected_no_changes": "

Die Verbindung zum SySynchronisationsnc-Server konnte nicht hergestellt werden.
Alle bekannten Änderungen wurden synchronisiert.

Klicke, um eine Synchronisierung jetzt auszulösen.

", + "in_progress": "Der Synchronisierungsvorgang mit dem Server ist im Gange." + }, + "left_pane_toggle": { + "show_panel": "Panel anzeigen", + "hide_panel": "Panel ausblenden" + }, + "move_pane_button": { + "move_left": "Nach links bewegen", + "move_right": "Nach rechts bewegen" + }, + "note_actions": { + "convert_into_attachment": "In Anhang umwandeln", + "re_render_note": "Notiz erneut rendern", + "search_in_note": "In Notiz suchen", + "note_source": "Notizquelle", + "note_attachments": "Notizanhänge", + "open_note_externally": "Notiz extern öffnen", + "open_note_externally_title": "Die Datei wird in einer externen Anwendung geöffnet und auf Änderungen überwacht. Anschließend kannst du die geänderte Version wieder auf Trilium hochladen.", + "open_note_custom": "Benutzerdefiniert Notiz öffnen", + "import_files": "Dateien importieren", + "export_note": "Notiz exportieren", + "delete_note": "Notiz löschen", + "print_note": "Notiz drucken", + "save_revision": "Revision speichern", + "convert_into_attachment_failed": "Konvertierung der Notiz '{{title}}' fehlgeschlagen.", + "convert_into_attachment_successful": "Notiz '{{title}}' wurde als Anhang konvertiert.", + "convert_into_attachment_prompt": "Bist du dir sicher, dass du die Notiz '{{title}}' in ein Anhang der übergeordneten Notiz konvertieren möchtest?", + "print_pdf": "Export als PDF..." + }, + "onclick_button": { + "no_click_handler": "Das Schaltflächen-Widget „{{componentId}}“ hat keinen definierten Klick-Handler" + }, + "protected_session_status": { + "active": "Die geschützte Sitzung ist aktiv. Klicke hier, um die geschützte Sitzung zu verlassen.", + "inactive": "Klicke hier, um die geschützte Sitzung aufzurufen" + }, + "revisions_button": { + "note_revisions": "Notizrevisionen" + }, + "update_available": { + "update_available": "Update verfügbar" + }, + "note_launcher": { + "this_launcher_doesnt_define_target_note": "Dieser Launcher definiert keine Zielnotiz." + }, + "code_buttons": { + "execute_button_title": "Skript ausführen", + "trilium_api_docs_button_title": "Öffne die Trilium-API-Dokumentation", + "save_to_note_button_title": "In die Notiz speichern", + "opening_api_docs_message": "API-Dokumentation wird geöffnet...", + "sql_console_saved_message": "SQL-Konsolennotiz wurde in {{note_path}} gespeichert" + }, + "copy_image_reference_button": { + "button_title": "Bildreferenz in die Zwischenablage kopieren, kann in eine Textnotiz eingefügt werden." + }, + "hide_floating_buttons_button": { + "button_title": "Schaltflächen ausblenden" + }, + "show_floating_buttons_button": { + "button_title": "Schaltflächen einblenden" + }, + "svg_export_button": { + "button_title": "Diagramm als SVG exportieren" + }, + "relation_map_buttons": { + "create_child_note_title": "Erstelle eine neue untergeordnete Notiz und füge sie dieser Beziehungskarte hinzu", + "reset_pan_zoom_title": "Schwenken und Zoomen auf die ursprünglichen Koordinaten und Vergrößerung zurücksetzen", + "zoom_in_title": "Hineinzoom", + "zoom_out_title": "Herauszoomen" + }, + "zpetne_odkazy": { + "backlink": "{{count}} Backlink", + "backlinks": "{{count}} Backlinks", + "relation": "Beziehung" + }, + "mobile_detail_menu": { + "insert_child_note": "Untergeordnete Notiz einfügen", + "delete_this_note": "Diese Notiz löschen", + "error_cannot_get_branch_id": "BranchId für notePath „{{notePath}}“ kann nicht abgerufen werden.", + "error_unrecognized_command": "Unbekannter Befehl {{command}}" + }, + "note_icon": { + "change_note_icon": "Notiz-Icon ändern", + "category": "Kategorie:", + "search": "Suche:", + "reset-default": "Standard wiederherstellen" + }, + "basic_properties": { + "note_type": "Notiztyp", + "editable": "Bearbeitbar", + "basic_properties": "Grundlegende Eigenschaften" + }, + "book_properties": { + "view_type": "Ansichtstyp", + "grid": "Gitter", + "list": "Liste", + "collapse_all_notes": "Alle Notizen einklappen", + "expand_all_children": "Unternotizen ausklappen", + "collapse": "Einklappen", + "expand": "Ausklappen", + "invalid_view_type": "Ungültiger Ansichtstyp „{{type}}“", + "calendar": "Kalender" + }, + "edited_notes": { + "no_edited_notes_found": "An diesem Tag wurden noch keine Notizen bearbeitet...", + "title": "Bearbeitete Notizen", + "deleted": "(gelöscht)" + }, + "file_properties": { + "note_id": "Notiz-ID", + "original_file_name": "Ursprünglicher Dateiname", + "file_type": "Dateityp", + "file_size": "Dateigröße", + "download": "Herunterladen", + "open": "Offen", + "upload_new_revision": "Neue Revision hochladen", + "upload_success": "Neue Dateirevision wurde hochgeladen.", + "upload_failed": "Das Hochladen einer neuen Dateirevision ist fehlgeschlagen.", + "title": "Datei" + }, + "image_properties": { + "original_file_name": "Ursprünglicher Dateiname", + "file_type": "Dateityp", + "file_size": "Dateigröße", + "download": "Herunterladen", + "open": "Offen", + "copy_reference_to_clipboard": "Verweis in die Zwischenablage kopieren", + "upload_new_revision": "Neue Revision hochladen", + "upload_success": "Neue Bildrevision wurde hochgeladen.", + "upload_failed": "Das Hochladen einer neuen Bildrevision ist fehlgeschlagen: {{message}}", + "title": "Bild" + }, + "inherited_attribute_list": { + "title": "Geerbte Attribute", + "no_inherited_attributes": "Keine geerbten Attribute." + }, + "note_info_widget": { + "note_id": "Notiz-ID", + "created": "Erstellt", + "modified": "Geändert", + "type": "Typ", + "note_size": "Notengröße", + "note_size_info": "Die Notizgröße bietet eine grobe Schätzung des Speicherbedarfs für diese Notiz. Es berücksichtigt den Inhalt der Notiz und den Inhalt ihrer Notizrevisionen.", + "calculate": "berechnen", + "subtree_size": "(Teilbaumgröße: {{size}} in {{count}} Notizen)", + "title": "Notizinfo" + }, + "note_map": { + "open_full": "Vollständig erweitern", + "collapse": "Auf normale Größe reduzieren", + "title": "Notizkarte", + "fix-nodes": "Knoten fixieren", + "link-distance": "Verbindungslänge" + }, + "note_paths": { + "title": "Notizpfade", + "clone_button": "Notiz an neuen Speicherort klonen...", + "intro_placed": "Diese Notiz wird in den folgenden Pfaden abgelegt:", + "intro_not_placed": "Diese Notiz ist noch nicht im Notizbaum platziert.", + "outside_hoisted": "Dieser Pfad liegt außerhalb der fokusierten Notiz und du müssten den Fokus aufheben.", + "archived": "Archiviert", + "search": "Suchen" + }, + "note_properties": { + "this_note_was_originally_taken_from": "Diese Notiz stammt ursprünglich aus:", + "info": "Info" + }, + "owned_attribute_list": { + "owned_attributes": "Eigene Attribute" + }, + "promoted_attributes": { + "promoted_attributes": "Übergebene Attribute", + "url_placeholder": "http://website...", + "open_external_link": "Externen Link öffnen", + "unknown_label_type": "Unbekannter Labeltyp „{{type}}“", + "unknown_attribute_type": "Unbekannter Attributtyp „{{type}}“", + "add_new_attribute": "Neues Attribut hinzufügen", + "remove_this_attribute": "Entferne dieses Attribut" + }, + "script_executor": { + "query": "Abfrage", + "script": "Skript", + "execute_query": "Abfrage ausführen", + "execute_script": "Skript ausführen" + }, + "search_definition": { + "add_search_option": "Suchoption hinzufügen:", + "search_string": "Suchzeichenfolge", + "search_script": "Suchskript", + "ancestor": "Vorfahr", + "fast_search": "schnelle Suche", + "fast_search_description": "Die Option „Schnellsuche“ deaktiviert die Volltextsuche von Notizinhalten, was die Suche in großen Datenbanken beschleunigen könnte.", + "include_archived": "archiviert einschließen", + "include_archived_notes_description": "Archivierte Notizen sind standardmäßig von den Suchergebnissen ausgeschlossen, mit dieser Option werden sie einbezogen.", + "order_by": "Bestellen nach", + "limit": "Limit", + "limit_description": "Begrenze die Anzahl der Ergebnisse", + "debug": "debuggen", + "debug_description": "Debug gibt zusätzliche Debuginformationen in die Konsole aus, um das Debuggen komplexer Abfragen zu erleichtern", + "action": "Aktion", + "search_button": "Suchen Eingabetaste", + "search_execute": "Aktionen suchen und ausführen", + "save_to_note": "Als Notiz speichern", + "search_parameters": "Suchparameter", + "unknown_search_option": "Unbekannte Suchoption {{searchOptionName}}", + "search_note_saved": "Suchnotiz wurde in {{-notePathTitle}} gespeichert", + "actions_executed": "Aktionen wurden ausgeführt." + }, + "similar_notes": { + "title": "Ähnliche Notizen", + "no_similar_notes_found": "Keine ähnlichen Notizen gefunden." + }, + "abstract_search_option": { + "remove_this_search_option": "Entferne diese Suchoption", + "failed_rendering": "Fehler beim Rendern der Suchoption: {{dto}} mit Fehler: {{error}} {{stack}}" + }, + "ancestor": { + "label": "Vorfahre", + "placeholder": "Suche nach einer Notiz anhand ihres Namens", + "depth_label": "Tiefe", + "depth_doesnt_matter": "spielt keine Rolle", + "depth_eq": "ist genau {{count}}", + "direct_children": "direkte Kinder", + "depth_gt": "ist größer als {{count}}", + "depth_lt": "ist kleiner als {{count}}" + }, + "debug": { + "debug": "Debuggen", + "debug_info": "Debug gibt zusätzliche Debuginformationen in die Konsole aus, um das Debuggen komplexer Abfragen zu erleichtern.", + "access_info": "Um auf die Debug-Informationen zuzugreifen, führe die Abfrage aus und klicke oben links auf \"Backend-Log anzeigen\"." + }, + "fast_search": { + "fast_search": "Schnelle Suche", + "description": "Die Option „Schnellsuche“ deaktiviert die Volltextsuche von Notizinhalten, was die Suche in großen Datenbanken beschleunigen könnte." + }, + "include_archived_notes": { + "include_archived_notes": "Füge archivierte Notizen hinzu" + }, + "limit": { + "limit": "Limit", + "take_first_x_results": "Nehmen Sie nur die ersten X angegebenen Ergebnisse." + }, + "order_by": { + "order_by": "Bestellen nach", + "relevancy": "Relevanz (Standard)", + "title": "Titel", + "date_created": "Erstellungsdatum", + "date_modified": "Datum der letzten Änderung", + "content_size": "Beachte die Inhaltsgröße", + "content_and_attachments_size": "Beachte die Inhaltsgröße einschließlich der Anhänge", + "content_and_attachments_and_revisions_size": "Beachte die Inhaltsgröße einschließlich Anhängen und Revisionen", + "revision_count": "Anzahl der Revisionen", + "children_count": "Anzahl der Unternotizen", + "parent_count": "Anzahl der Klone", + "owned_label_count": "Anzahl der Etiketten", + "owned_relation_count": "Anzahl der Beziehungen", + "target_relation_count": "Anzahl der Beziehungen, die auf die Notiz abzielen", + "random": "Zufällige Reihenfolge", + "asc": "Aufsteigend (Standard)", + "desc": "Absteigend" + }, + "search_script": { + "title": "Suchskript:", + "placeholder": "Suche nach einer Notiz anhand ihres Namens", + "description1": "Das Suchskript ermöglicht das Definieren von Suchergebnissen durch Ausführen eines Skripts. Dies bietet maximale Flexibilität, wenn die Standardsuche nicht ausreicht.", + "description2": "Das Suchskript muss vom Typ \"Code\" und dem Subtyp \"JavaScript Backend\" sein. Das Skript muss ein Array von noteIds oder Notizen zurückgeben.", + "example_title": "Siehe dir dieses Beispiel an:", + "example_code": "// 1. Vorfiltern mit der Standardsuche\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. Anwenden benutzerdefinierter Suchkriterien\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", + "note": "Beachte, dass Suchskript und Suchzeichenfolge nicht miteinander kombiniert werden können." + }, + "search_string": { + "title_column": "Suchbegriff:", + "placeholder": "Volltextschlüsselwörter, #tag u003d Wert...", + "search_syntax": "Suchsyntax", + "also_see": "siehe auch", + "complete_help": "Vollständige Hilfe zur Suchsyntax", + "full_text_search": "Gebe einfach einen beliebigen Text für die Volltextsuche ein", + "label_abc": "gibt Notizen mit der Bezeichnung abc zurück", + "label_year": "Entspricht Notizen mit der Beschriftung Jahr und dem Wert 2019", + "label_rock_pop": "Entspricht Noten, die sowohl Rock- als auch Pop-Bezeichnungen haben", + "label_rock_or_pop": "Es darf nur eines der Labels vorhanden sein", + "label_year_comparison": "numerischer Vergleich (auch >, >u003d, <).", + "label_date_created": "Notizen, die im letzten Monat erstellt wurden", + "error": "Suchfehler: {{error}}", + "search_prefix": "Suche:" + }, + "attachment_detail": { + "open_help_page": "Hilfeseite zu Anhängen öffnen", + "owning_note": "Eigentümernotiz: ", + "you_can_also_open": ", Du kannst auch das öffnen", + "list_of_all_attachments": "Liste aller Anhänge", + "attachment_deleted": "Dieser Anhang wurde gelöscht." + }, + "attachment_list": { + "open_help_page": "Hilfeseite zu Anhängen öffnen", + "owning_note": "Eigentümernotiz: ", + "upload_attachments": "Anhänge hochladen", + "no_attachments": "Diese Notiz enthält keine Anhänge." + }, + "book": { + "no_children_help": "Diese Notiz mit dem Notiztyp Buch besitzt keine Unternotizen, deshalb ist nichts zum Anzeigen vorhanden. Siehe Wiki für mehr Details." + }, + "editable_code": { + "placeholder": "Gebe hier den Inhalt deiner Codenotiz ein..." + }, + "editable_text": { + "placeholder": "Gebe hier den Inhalt deiner Notiz ein..." + }, + "empty": { + "open_note_instruction": "Öffne eine Notiz, indem du den Titel der Notiz in die Eingabe unten eingibst oder eine Notiz in der Baumstruktur auswählst.", + "search_placeholder": "Suche nach einer Notiz anhand ihres Namens", + "enter_workspace": "Betrete den Arbeitsbereich {{title}}" + }, + "file": { + "file_preview_not_available": "Für dieses Dateiformat ist keine Dateivorschau verfügbar." + }, + "protected_session": { + "enter_password_instruction": "Um die geschützte Notiz anzuzeigen, musst du dein Passwort eingeben:", + "start_session_button": "Starte eine geschützte Sitzung Eingabetaste", + "started": "Geschützte Sitzung gestartet.", + "wrong_password": "Passwort flasch.", + "protecting-finished-successfully": "Geschützt erfolgreich beendet.", + "unprotecting-finished-successfully": "Ungeschützt erfolgreich beendet.", + "protecting-in-progress": "Schützen läuft: {{count}}", + "unprotecting-in-progress-count": "Entschützen läuft: {{count}}", + "protecting-title": "Geschützt-Status", + "unprotecting-title": "Ungeschützt-Status" + }, + "relation_map": { + "open_in_new_tab": "In neuem Tab öffnen", + "remove_note": "Notiz entfernen", + "edit_title": "Titel bearbeiten", + "rename_note": "Notiz umbenennen", + "enter_new_title": "Gebe einen neuen Notiztitel ein:", + "remove_relation": "Beziehung entfernen", + "confirm_remove_relation": "Bist du sicher, dass du die Beziehung entfernen möchtest?", + "specify_new_relation_name": "Gebe den neuen Beziehungsnamen an (erlaubte Zeichen: alphanumerisch, Doppelpunkt und Unterstrich):", + "connection_exists": "Die Verbindung „{{name}}“ zwischen diesen Notizen besteht bereits.", + "start_dragging_relations": "Beginne hier mit dem Ziehen von Beziehungen und lege sie auf einer anderen Notiz ab.", + "note_not_found": "Notiz {{noteId}} nicht gefunden!", + "cannot_match_transform": "Transformation kann nicht übereinstimmen: {{transform}}", + "note_already_in_diagram": "Die Notiz \"{{title}}\" ist schon im Diagram.", + "enter_title_of_new_note": "Gebe den Titel der neuen Notiz ein", + "default_new_note_title": "neue Notiz", + "click_on_canvas_to_place_new_note": "Klicke auf den Canvas, um eine neue Notiz zu platzieren" + }, + "render": { + "note_detail_render_help_1": "Diese Hilfesnotiz wird angezeigt, da diese Notiz vom Typ „HTML rendern“ nicht über die erforderliche Beziehung verfügt, um ordnungsgemäß zu funktionieren.", + "note_detail_render_help_2": "Render-HTML-Notiztyp wird benutzt für scripting. Kurzgesagt, du hast ein HTML-Code-Notiz (optional mit JavaScript) und diese Notiz rendert es. Damit es funktioniert, musst du eine a Beziehung namens \"renderNote\" zeigend auf die HTML-Notiz zum rendern definieren." + }, + "web_view": { + "web_view": "Webansicht", + "embed_websites": "Notiz vom Typ Web View ermöglicht das Einbetten von Websites in Trilium.", + "create_label": "To start, please create a label with a URL address you want to embed, e.g. #webViewSrc=\"https://www.google.com\"" + }, + "backend_log": { + "refresh": "Aktualisieren" + }, + "consistency_checks": { + "title": "Konsistenzprüfungen", + "find_and_fix_button": "Finde und behebe die Konsistenzprobleme", + "finding_and_fixing_message": "Konsistenzprobleme finden und beheben...", + "issues_fixed_message": "Konsistenzprobleme sollten behoben werden." + }, + "database_anonymization": { + "title": "Datenbankanonymisierung", + "full_anonymization": "Vollständige Anonymisierung", + "full_anonymization_description": "Durch diese Aktion wird eine neue Kopie der Datenbank erstellt und anonymisiert (der gesamte Notizinhalt wird entfernt und nur die Struktur und einige nicht vertrauliche Metadaten bleiben übrig), sodass sie zu Debugging-Zwecken online geteilt werden kann, ohne befürchten zu müssen, dass Ihre persönlichen Daten verloren gehen.", + "save_fully_anonymized_database": "Speichere eine vollständig anonymisierte Datenbank", + "light_anonymization": "Leichte Anonymisierung", + "light_anonymization_description": "Durch diese Aktion wird eine neue Kopie der Datenbank erstellt und eine leichte Anonymisierung vorgenommen – insbesondere wird nur der Inhalt aller Notizen entfernt, Titel und Attribute bleiben jedoch erhalten. Darüber hinaus bleiben benutzerdefinierte JS-Frontend-/Backend-Skriptnotizen und benutzerdefinierte Widgets erhalten. Dies bietet mehr Kontext zum Debuggen der Probleme.", + "choose_anonymization": "Du kannst selbst entscheiden, ob du eine vollständig oder leicht anonymisierte Datenbank bereitstellen möchten. Selbst eine vollständig anonymisierte Datenbank ist sehr nützlich. In einigen Fällen kann jedoch eine leicht anonymisierte Datenbank den Prozess der Fehlererkennung und -behebung beschleunigen.", + "save_lightly_anonymized_database": "Speichere eine leicht anonymisierte Datenbank", + "existing_anonymized_databases": "Vorhandene anonymisierte Datenbanken", + "creating_fully_anonymized_database": "Vollständig anonymisierte Datenbank erstellen...", + "creating_lightly_anonymized_database": "Erstellen einer leicht anonymisierten Datenbank...", + "error_creating_anonymized_database": "Die anonymisierte Datenbank konnte nicht erstellt werden. Überprüfe die Backend-Protokolle auf Details", + "successfully_created_fully_anonymized_database": "Vollständig anonymisierte Datenbank in {{anonymizedFilePath}} erstellt", + "successfully_created_lightly_anonymized_database": "Leicht anonymisierte Datenbank in {{anonymizedFilePath}} erstellt", + "no_anonymized_database_yet": "Noch keine anonymisierte Datenbank" + }, + "database_integrity_check": { + "title": "Datenbankintegritätsprüfung", + "description": "Dadurch wird überprüft, ob die Datenbank auf SQLite-Ebene nicht beschädigt ist. Abhängig von der DB-Größe kann es einige Zeit dauern.", + "check_button": "Überprüfe die Datenbankintegrität", + "checking_integrity": "Datenbankintegrität prüfen...", + "integrity_check_succeeded": "Integritätsprüfung erfolgreich – keine Probleme gefunden.", + "integrity_check_failed": "Integritätsprüfung fehlgeschlagen: {{results}}" + }, + "sync": { + "title": "Synchronisieren", + "force_full_sync_button": "Vollständige Synchronisierung erzwingen", + "fill_entity_changes_button": "Entitätsänderungsdatensätze füllen", + "full_sync_triggered": "Vollständige Synchronisierung ausgelöst", + "filling_entity_changes": "Entitätsänderungszeilen werden gefüllt...", + "sync_rows_filled_successfully": "Synchronisierungszeilen erfolgreich gefüllt", + "finished-successfully": "Synchronisierung erfolgreich beendet.", + "failed": "Synchronisierung fehlgeschlagen: {{message}}" + }, + "vacuum_database": { + "title": "Vakuumdatenbank", + "description": "Dadurch wird die Datenbank neu erstellt, was normalerweise zu einer kleineren Datenbankdatei führt. Es werden keine Daten tatsächlich geändert.", + "button_text": "Vakuumdatenbank", + "vacuuming_database": "Datenbank wird geleert...", + "database_vacuumed": "Die Datenbank wurde geleert" + }, + "fonts": { + "theme_defined": "Thema definiert", + "fonts": "Schriftarten", + "main_font": "Handschrift", + "font_family": "Schriftfamilie", + "size": "Größe", + "note_tree_font": "Notizbaum-Schriftart", + "note_detail_font": "Notiz-Detail-Schriftart", + "monospace_font": "Minivan (Code) Schriftart", + "note_tree_and_detail_font_sizing": "Beachte, dass die Größe der Baum- und Detailschriftarten relativ zur Hauptschriftgrößeneinstellung ist.", + "not_all_fonts_available": "Möglicherweise sind nicht alle aufgelisteten Schriftarten auf Ihrem System verfügbar.", + "apply_font_changes": "Um Schriftartänderungen zu übernehmen, klicke auf", + "reload_frontend": "Frontend neu laden", + "generic-fonts": "Generische Schriftarten", + "sans-serif-system-fonts": "Sans-serif Systemschriftarten", + "serif-system-fonts": "Serif Systemschriftarten", + "monospace-system-fonts": "Monospace Systemschriftarten", + "handwriting-system-fonts": "Handschrift Systemschriftarten", + "serif": "Serif", + "sans-serif": "Sans Serif", + "monospace": "Monospace", + "system-default": "System Standard" + }, + "max_content_width": { + "title": "Inhaltsbreite", + "default_description": "Trilium begrenzt standardmäßig die maximale Inhaltsbreite, um die Lesbarkeit für maximierte Bildschirme auf Breitbildschirmen zu verbessern.", + "max_width_label": "Maximale Inhaltsbreite in Pixel", + "apply_changes_description": "Um Änderungen an der Inhaltsbreite anzuwenden, klicke auf", + "reload_button": "Frontend neu laden", + "reload_description": "Änderungen an den Darstellungsoptionen" + }, + "native_title_bar": { + "title": "Native Titelleiste (App-Neustart erforderlich)", + "enabled": "ermöglicht", + "disabled": "deaktiviert" + }, + "ribbon": { + "widgets": "Multifunktionsleisten-Widgets", + "promoted_attributes_message": "Die Multifunktionsleisten-Registerkarte „Heraufgestufte Attribute“ wird automatisch geöffnet, wenn in der Notiz heraufgestufte Attribute vorhanden sind", + "edited_notes_message": "Die Multifunktionsleisten-Registerkarte „Bearbeitete Notizen“ wird bei Tagesnotizen automatisch geöffnet" + }, + "theme": { + "title": "Thema", + "theme_label": "Thema", + "override_theme_fonts_label": "Theme-Schriftarten überschreiben", + "auto_theme": "Auto", + "light_theme": "Hell", + "dark_theme": "Dunkel", + "triliumnext": "TriliumNext Beta (Systemfarbschema folgend)", + "triliumnext-light": "TriliumNext Beta (Hell)", + "triliumnext-dark": "TriliumNext Beta (Dunkel)", + "layout": "Layout", + "layout-vertical-title": "Vertikal", + "layout-horizontal-title": "Horizontal", + "layout-vertical-description": "Startleiste ist auf der linken Seite (standard)", + "layout-horizontal-description": "Startleiste ist unter der Tableiste. Die Tableiste wird dadurch auf die ganze Breite erweitert." + }, + "zoom_factor": { + "title": "Zoomfaktor (nur Desktop-Build)", + "description": "Das Zoomen kann auch mit den Tastenkombinationen STRG+- und STRG+u003d gesteuert werden." + }, + "code_auto_read_only_size": { + "title": "Automatische schreibgeschützte Größe", + "description": "Die automatische schreibgeschützte Notizgröße ist die Größe, ab der Notizen im schreibgeschützten Modus angezeigt werden (aus Leistungsgründen).", + "label": "Automatische schreibgeschützte Größe (Codenotizen)" + }, + "code_mime_types": { + "title": "Verfügbare MIME-Typen im Dropdown-Menü" + }, + "vim_key_bindings": { + "use_vim_keybindings_in_code_notes": "Verwende VIM-Tastenkombinationen in Codenotizen (kein Ex-Modus)", + "enable_vim_keybindings": "Aktiviere Vim-Tastenkombinationen" + }, + "wrap_lines": { + "wrap_lines_in_code_notes": "Zeilen in Codenotizen umbrechen", + "enable_line_wrap": "Zeilenumbruch aktivieren (Änderung erfordert möglicherweise ein Neuladen des Frontends, um wirksam zu werden)" + }, + "images": { + "images_section_title": "Bilder", + "download_images_automatically": "Lade Bilder automatisch herunter, um sie offline zu verwenden.", + "download_images_description": "Eingefügter HTML-Code kann Verweise auf Online-Bilder enthalten. Trilium findet diese Verweise und lädt die Bilder herunter, sodass sie offline verfügbar sind.", + "enable_image_compression": "Bildkomprimierung aktivieren", + "max_image_dimensions": "Maximale Breite/Höhe eines Bildes in Pixel (die Größe des Bildes wird geändert, wenn es diese Einstellung überschreitet).", + "jpeg_quality_description": "JPEG-Qualität (10 – schlechteste Qualität, 100 – beste Qualität, 50 – 85 wird empfohlen)" + }, + "attachment_erasure_timeout": { + "attachment_erasure_timeout": "Zeitüberschreitung beim Löschen von Anhängen", + "attachment_auto_deletion_description": "Anhänge werden automatisch gelöscht (und gelöscht), wenn sie nach einer definierten Zeitspanne nicht mehr in ihrer Notiz referenziert werden.", + "erase_attachments_after": "Erase unused attachments after:", + "manual_erasing_description": "Du kannst das Löschen auch manuell auslösen (ohne Berücksichtigung des oben definierten Timeouts):", + "erase_unused_attachments_now": "Lösche jetzt nicht verwendete Anhangnotizen", + "unused_attachments_erased": "Nicht verwendete Anhänge wurden gelöscht." + }, + "network_connections": { + "network_connections_title": "Netzwerkverbindungen", + "check_for_updates": "Suche automatisch nach Updates" + }, + "note_erasure_timeout": { + "note_erasure_timeout_title": "Beachte das Zeitlimit für die Löschung", + "note_erasure_description": "Deleted notes (and attributes, revisions...) are at first only marked as deleted and it is possible to recover them from Recent Notes dialog. After a period of time, deleted notes are \"erased\" which means their content is not recoverable anymore. This setting allows you to configure the length of the period between deleting and erasing the note.", + "erase_notes_after": "Notizen löschen nach:", + "manual_erasing_description": "Du kannst das Löschen auch manuell auslösen (ohne Berücksichtigung des oben definierten Timeouts):", + "erase_deleted_notes_now": "Jetzt gelöschte Notizen löschen", + "deleted_notes_erased": "Gelöschte Notizen wurden gelöscht." + }, + "revisions_snapshot_interval": { + "note_revisions_snapshot_interval_title": "Snapshot-Intervall für Notizrevisionen", + "note_revisions_snapshot_description": "Das Snapshot-Zeitintervall für Notizrevisionen ist die Zeit, nach der eine neue Notizrevision erstellt wird. Weitere Informationen findest du im Wiki.", + "snapshot_time_interval_label": "Zeitintervall für Notiz-Revisions-Snapshot:" + }, + "revisions_snapshot_limit": { + "note_revisions_snapshot_limit_title": "Limit für Notizrevision-Snapshots", + "note_revisions_snapshot_limit_description": "Das Limit für Notizrevision-Snapshots bezieht sich auf die maximale Anzahl von Revisionen, die für jede Notiz gespeichert werden können. Dabei bedeutet -1, dass es kein Limit gibt, und 0 bedeutet, dass alle Revisionen gelöscht werden. Du kannst das maximale Limit für Revisionen einer einzelnen Notiz über das Label #versioningLimit festlegen.", + "snapshot_number_limit_label": "Limit der Notizrevision-Snapshots:", + "erase_excess_revision_snapshots": "Überschüssige Revision-Snapshots jetzt löschen", + "erase_excess_revision_snapshots_prompt": "Überschüssige Revision-Snapshots wurden gelöscht." + }, + "search_engine": { + "title": "Suchmaschine", + "custom_search_engine_info": "Für eine benutzerdefinierte Suchmaschine müssen sowohl ein Name als auch eine URL festgelegt werden. Wenn keine dieser Optionen festgelegt ist, wird DuckDuckGo als Standardsuchmaschine verwendet.", + "predefined_templates_label": "Vordefinierte Suchmaschinenvorlagen", + "bing": "Bing", + "baidu": "Baidu", + "duckduckgo": "DuckDuckGo", + "google": "Google", + "custom_name_label": "Benutzerdefinierter Suchmaschinenname", + "custom_name_placeholder": "Passe den Suchmaschinennamen an", + "custom_url_label": "Die benutzerdefinierte Suchmaschinen-URL sollte {keyword} als Platzhalter für den Suchbegriff enthalten.", + "custom_url_placeholder": "Passe die Suchmaschinen-URL an", + "save_button": "Speichern" + }, + "tray": { + "title": "Systemablage", + "enable_tray": "Tray aktivieren (Trilium muss neu gestartet werden, damit diese Änderung wirksam wird)" + }, + "heading_style": { + "title": "Überschriftenstil", + "plain": "Schmucklos", + "underline": "Unterstreichen", + "markdown": "Markdown-Stil" + }, + "highlights_list": { + "title": "Highlights-Liste", + "description": "Du kannst die im rechten Bereich angezeigte Highlights-Liste anpassen:", + "bold": "Fettgedruckter Text", + "italic": "Kursiver Text", + "underline": "Unterstrichener Text", + "color": "Farbiger Text", + "bg_color": "Text mit Hintergrundfarbe", + "visibility_title": "Sichtbarkeit der Highlights-Liste", + "visibility_description": "Du kannst das Hervorhebungs-Widget pro Notiz ausblenden, indem du die Beschriftung #hideHighlightWidget hinzufügst.", + "shortcut_info": "Du kannst eine Tastenkombination zum schnellen Umschalten des rechten Bereichs (einschließlich Hervorhebungen) in den Optionen -> Tastenkombinationen konfigurieren (Name „toggleRightPane“)." + }, + "table_of_contents": { + "title": "Inhaltsverzeichnis", + "description": "Das Inhaltsverzeichnis wird in Textnotizen angezeigt, wenn die Notiz mehr als eine definierte Anzahl von Überschriften enthält. Du kannst diese Nummer anpassen:", + "disable_info": "Du kannst diese Option auch verwenden, um TOC effektiv zu deaktivieren, indem du eine sehr hohe Zahl festlegst.", + "shortcut_info": "Du kannst eine Tastenkombination zum schnellen Umschalten des rechten Bereichs (einschließlich Inhaltsverzeichnis) unter Optionen -> Tastenkombinationen konfigurieren (Name „toggleRightPane“)." + }, + "text_auto_read_only_size": { + "title": "Automatische schreibgeschützte Größe", + "description": "Die automatische schreibgeschützte Notizgröße ist die Größe, ab der Notizen im schreibgeschützten Modus angezeigt werden (aus Leistungsgründen).", + "label": "Automatische schreibgeschützte Größe (Textnotizen)" + }, + "i18n": { + "title": "Lokalisierung", + "language": "Sprache", + "first-day-of-the-week": "Erster Tag der Woche", + "sunday": "Sonntag", + "monday": "Montag" + }, + "backup": { + "automatic_backup": "Automatische Sicherung", + "automatic_backup_description": "Trilium kann die Datenbank automatisch sichern:", + "enable_daily_backup": "Aktiviere die tägliche Sicherung", + "enable_weekly_backup": "Aktiviere die wöchentliche Sicherung", + "enable_monthly_backup": "Aktiviere die monatliche Sicherung", + "backup_recommendation": "Es wird empfohlen, die Sicherung aktiviert zu lassen. Dies kann jedoch bei großen Datenbanken und/oder langsamen Speichergeräten den Anwendungsstart verlangsamen.", + "backup_now": "Jetzt sichern", + "backup_database_now": "Jetzt Datenbank sichern", + "existing_backups": "Vorhandene Backups", + "date-and-time": "Datum & Uhrzeit", + "path": "Pfad", + "database_backed_up_to": "Die Datenbank wurde gesichert unter {{backupFilePath}}", + "no_backup_yet": "noch kein Backup" + }, + "etapi": { + "title": "ETAPI", + "description": "ETAPI ist eine REST-API, die für den programmgesteuerten Zugriff auf die Trilium-Instanz ohne Benutzeroberfläche verwendet wird.", + "see_more": "Weitere Details können im {{- link_to_wiki}} und in der {{- link_to_openapi_spec}} oder der {{- link_to_swagger_ui }} gefunden werden.", + "wiki": "Wiki", + "openapi_spec": "ETAPI OpenAPI-Spezifikation", + "swagger_ui": "ETAPI Swagger UI", + "create_token": "Erstelle ein neues ETAPI-Token", + "existing_tokens": "Vorhandene Token", + "no_tokens_yet": "Es sind noch keine Token vorhanden. Klicke auf die Schaltfläche oben, um eine zu erstellen.", + "token_name": "Tokenname", + "created": "Erstellt", + "actions": "Aktionen", + "new_token_title": "Neuer ETAPI-Token", + "new_token_message": "Bitte gebe en Namen des neuen Tokens ein", + "default_token_name": "neues Token", + "error_empty_name": "Der Tokenname darf nicht leer sein", + "token_created_title": "ETAPI-Token erstellt", + "token_created_message": "Kopiere den erstellten Token in die Zwischenablage. Trilium speichert den Token gehasht und dies ist das letzte Mal, dass du ihn siehst.", + "rename_token": "Benenne dieses Token um", + "delete_token": "Dieses Token löschen/deaktivieren", + "rename_token_title": "Token umbenennen", + "rename_token_message": "Bitte gebe den Namen des neuen Tokens ein", + "delete_token_confirmation": "Bist du sicher, dass den ETAPI token \"{{name}}\" löschen möchstest?" + }, + "options_widget": { + "options_status": "Optionsstatus", + "options_change_saved": "Die Änderung der Optionen wurde gespeichert." + }, + "password": { + "heading": "Passwort", + "alert_message": "Bitte merke dir dein neues Passwort gut. Das Passwort wird zum Anmelden bei der Weboberfläche und zum Verschlüsseln geschützter Notizen verwendet. Wenn du dein Passwort vergisst, gehen alle deine geschützten Notizen für immer verloren.", + "reset_link": "Klicke hier, um es zurückzusetzen.", + "old_password": "Altes Passwort", + "new_password": "Neues Passwort", + "new_password_confirmation": "Neue Passwortbestätigung", + "change_password": "Kennwort ändern", + "protected_session_timeout": "Zeitüberschreitung der geschützten Sitzung", + "protected_session_timeout_description": "Das Zeitlimit für geschützte Sitzungen ist ein Zeitraum, nach dem die geschützte Sitzung aus dem Speicher des Browsers gelöscht wird. Dies wird ab der letzten Interaktion mit geschützten Notizen gemessen. Sehen", + "wiki": "Wiki", + "for_more_info": "für weitere Informationen.", + "protected_session_timeout_label": "Zeitüberschreitung der geschützten Sitzung:", + "reset_confirmation": "Durch das Zurücksetzen des Passworts verlierst du für immer den Zugriff auf alle Ihre bestehenden geschützten Notizen. Möchtest du das Passwort wirklich zurücksetzen?", + "reset_success_message": "Das Passwort wurde zurückgesetzt. Bitte lege ein neues Passwort fest", + "change_password_heading": "Kennwort ändern", + "set_password_heading": "Passwort festlegen", + "set_password": "Passwort festlegen", + "password_mismatch": "Neue Passwörter sind nicht dasselbe.", + "password_changed_success": "Das Passwort wurde geändert. Trilium wird neu geladen, nachdem du auf OK geklickt hast." + }, + "shortcuts": { + "keyboard_shortcuts": "Tastaturkürzel", + "multiple_shortcuts": "Mehrere Tastenkombinationen für dieselbe Aktion können durch Komma getrennt werden.", + "electron_documentation": "Siehe Electron documentation für verfügbare Modifier und key codes.", + "type_text_to_filter": "Gebe Text ein, um Verknüpfungen zu filtern...", + "action_name": "Aktionsname", + "shortcuts": "Tastenkürzel", + "default_shortcuts": "Standardtastenkürzel", + "description": "Beschreibung", + "reload_app": "Lade die App neu, um die Änderungen zu übernehmen", + "set_all_to_default": "Setze alle Verknüpfungen auf die Standardeinstellungen", + "confirm_reset": "Möchtest du wirklich alle Tastaturkürzel auf die Standardeinstellungen zurücksetzen?" + }, + "spellcheck": { + "title": "Rechtschreibprüfung", + "description": "Diese Optionen gelten nur für Desktop-Builds. Browser verwenden ihre eigene native Rechtschreibprüfung.", + "enable": "Aktiviere die Rechtschreibprüfung", + "language_code_label": "Sprachcode(s)", + "language_code_placeholder": "zum Beispiel \"en-US\", \"de-AT\"", + "multiple_languages_info": "Mehrere Sprachen können mit einem Komma getrennt werden z.B. \"en-US, de-DE, cs\". ", + "available_language_codes_label": "Verfügbare Sprachcodes:", + "restart-required": "Änderungen an den Rechtschreibprüfungsoptionen werden nach dem Neustart der Anwendung wirksam." + }, + "sync_2": { + "config_title": "Synchronisierungskonfiguration", + "server_address": "Adresse der Serverinstanz", + "timeout": "Synchronisierungs-Timeout (Millisekunden)", + "proxy_label": "Proxyserver synchronisieren (optional)", + "note": "Notiz", + "note_description": "Wenn du die Proxy-Einstellung leer lässt, wird der System-Proxy verwendet (gilt nur für Desktop-/Electron-Build).", + "special_value_description": "Ein weiterer besonderer Wert ist noproxy, der das Ignorieren sogar des System-Proxys erzwingt und NODE_TLS_REJECT_UNAUTHORIZED respektiert.", + "save": "Speichern", + "help": "Helfen", + "test_title": "Synchronisierungstest", + "test_description": "Dadurch werden die Verbindung und der Handshake zum Synchronisierungsserver getestet. Wenn der Synchronisierungsserver nicht initialisiert ist, wird er dadurch für die Synchronisierung mit dem lokalen Dokument eingerichtet.", + "test_button": "Teste die Synchronisierung", + "handshake_failed": "Handshake des Synchronisierungsservers fehlgeschlagen, Fehler: {{message}}" + }, + "api_log": { + "close": "Schließen" + }, + "attachment_detail_2": { + "will_be_deleted_in": "Dieser Anhang wird in {{time}} automatisch gelöscht", + "will_be_deleted_soon": "Dieser Anhang wird bald automatisch gelöscht", + "deletion_reason": ", da der Anhang nicht im Inhalt der Notiz verlinkt ist. Um das Löschen zu verhindern, füge den Anhangslink wieder in den Inhalt ein oder wandel den Anhang in eine Notiz um.", + "role_and_size": "Rolle: {{role}}, Größe: {{size}}", + "link_copied": "Anhangslink in die Zwischenablage kopiert.", + "unrecognized_role": "Unbekannte Anhangsrolle „{{role}}“." + }, + "bookmark_switch": { + "bookmark": "Lesezeichen", + "bookmark_this_note": "Setze ein Lesezeichen für diese Notiz im linken Seitenbereich", + "remove_bookmark": "Lesezeichen entfernen" + }, + "editability_select": { + "auto": "Auto", + "read_only": "Schreibgeschützt", + "always_editable": "Immer editierbar", + "note_is_editable": "Die Notiz kann bearbeitet werden, wenn sie nicht zu lang ist.", + "note_is_read_only": "Die Notiz ist schreibgeschützt, kann aber per Knopfdruck bearbeitet werden.", + "note_is_always_editable": "Die Notiz kann immer bearbeitet werden, unabhängig von ihrer Länge." + }, + "note-map": { + "button-link-map": "Beziehungskarte", + "button-tree-map": "Baumkarte" + }, + "tree-context-menu": { + "open-in-a-new-tab": "In neuem Tab öffnen Strg+Klick", + "open-in-a-new-split": "In neuem Split öffnen", + "insert-note-after": "Notiz dahinter einfügen", + "insert-child-note": "Unternotiz einfügen", + "delete": "Löschen", + "search-in-subtree": "Im Notizbaum suchen", + "hoist-note": "Notiz-Fokus setzen", + "unhoist-note": "Notiz-Fokus aufheben", + "edit-branch-prefix": "Zweig-Präfix bearbeiten", + "advanced": "Erweitert", + "expand-subtree": "Notizbaum ausklappen", + "collapse-subtree": "Notizbaum einklappen", + "sort-by": "Sortieren nach...", + "recent-changes-in-subtree": "Kürzliche Änderungen im Notizbaum", + "convert-to-attachment": "Als Anhang konvertieren", + "copy-note-path-to-clipboard": "Notiz-Pfad in die Zwischenablage kopieren", + "protect-subtree": "Notizbaum schützen", + "unprotect-subtree": "Notizenbaum-Schutz aufheben", + "copy-clone": "Kopieren / Klonen", + "clone-to": "Klonen nach...", + "cut": "Ausschneiden", + "move-to": "Verschieben nach...", + "paste-into": "Als Unternotiz einfügen", + "paste-after": "Danach einfügen", + "duplicate": "Duplizieren", + "export": "Exportieren", + "import-into-note": "In Notiz importieren", + "apply-bulk-actions": "Massenaktionen ausführen", + "converted-to-attachments": "{{count}} Notizen wurden als Anhang konvertiert.", + "convert-to-attachment-confirm": "Bist du sicher, dass du die ausgewählten Notizen in Anhänge ihrer übergeordneten Notizen umwandeln möchtest?" + }, + "shared_info": { + "shared_publicly": "Diese Notiz ist öffentlich geteilt auf", + "shared_locally": "Diese Notiz ist lokal geteilt auf", + "help_link": "Für Hilfe besuche wiki." + }, + "note_types": { + "text": "Text", + "code": "Code", + "saved-search": "Gespeicherte Such-Notiz", + "relation-map": "Beziehungskarte", + "note-map": "Notizkarte", + "render-note": "Render Notiz", + "mermaid-diagram": "Mermaid Diagram", + "canvas": "Canvas", + "web-view": "Webansicht", + "mind-map": "Mind Map", + "file": "Datei", + "image": "Bild", + "launcher": "Launcher", + "doc": "Dokument", + "widget": "Widget", + "confirm-change": "Es is nicht empfehlenswert den Notiz-Typ zu ändern, wenn der Inhalt der Notiz nicht leer ist. Möchtest du dennoch fortfahren?", + "geo-map": "Geo Map", + "beta-feature": "Beta" + }, + "protect_note": { + "toggle-on": "Notiz schützen", + "toggle-off": "Notizschutz aufheben", + "toggle-on-hint": "Notiz ist ungeschützt, klicken, um sie zu schützen", + "toggle-off-hint": "Notiz ist geschützt, klicken, um den Schutz aufzuheben" + }, + "shared_switch": { + "shared": "Teilen", + "toggle-on-title": "Notiz teilen", + "toggle-off-title": "Notiz-Freigabe aufheben", + "shared-branch": "Diese Notiz existiert nur als geteilte Notiz, das Aufheben der Freigabe würde sie löschen. Möchtest du fortfahren und die Notiz damit löschen?", + "inherited": "Die Notiz kann hier nicht von der Freigabe entfernt werden, da sie über Vererbung von einer übergeordneten Notiz geteilt wird." + }, + "template_switch": { + "template": "Vorlage", + "toggle-on-hint": "Notiz zu einer Vorlage machen", + "toggle-off-hint": "Entferne die Notiz als Vorlage" + }, + "open-help-page": "Hilfeseite öffnen", + "find": { + "case_sensitive": "Groß-/Kleinschreibung beachten", + "match_words": "Wörter genau übereinstimmen", + "find_placeholder": "Finde in Text...", + "replace_placeholder": "Ersetze mit...", + "replace": "Ersetzen", + "replace_all": "Alle Ersetzen" + }, + "highlights_list_2": { + "title": "Hervorhebungs-Liste", + "options": "Optionen" + }, + "quick-search": { + "placeholder": "Schnellsuche", + "searching": "Suche läuft…", + "no-results": "Keine Ergebnisse gefunden", + "more-results": "... und {{number}} weitere Ergebnisse.", + "show-in-full-search": "In der vollständigen Suche anzeigen" + }, + "note_tree": { + "collapse-title": "Notizbaum zusammenklappen", + "scroll-active-title": "Zur aktiven Notiz scrollen", + "tree-settings-title": "Baum-Einstellungen", + "hide-archived-notes": "Archivierte Notizen ausblenden", + "automatically-collapse-notes": "Notizen automatisch zusammenklappen", + "automatically-collapse-notes-title": "Notizen werden nach einer Inaktivitätsperiode automatisch zusammengeklappt, um den Baum zu entlasten.", + "save-changes": "Änderungen speichern und anwenden", + "auto-collapsing-notes-after-inactivity": "Automatisches Zusammenklappen von Notizen nach Inaktivität…", + "saved-search-note-refreshed": "Gespeicherte Such-Notiz wurde aktualisiert.", + "hoist-this-note-workspace": "Diese Notiz fokussieren (Arbeitsbereich)", + "refresh-saved-search-results": "Gespeicherte Suchergebnisse aktualisieren", + "create-child-note": "Unternotiz anlegen", + "unhoist": "Entfokussieren" + }, + "title_bar_buttons": { + "window-on-top": "Dieses Fenster immer oben halten" + }, + "note_detail": { + "could_not_find_typewidget": "Konnte typeWidget für Typ ‚{{type}}‘ nicht finden" + }, + "note_title": { + "placeholder": "Titel der Notiz hier eingeben…" + }, + "search_result": { + "no_notes_found": "Es wurden keine Notizen mit den angegebenen Suchparametern gefunden.", + "search_not_executed": "Die Suche wurde noch nicht ausgeführt. Klicke oben auf „Suchen“, um die Ergebnisse anzuzeigen." + }, + "spacer": { + "configure_launchbar": "Startleiste konfigurieren" + }, + "sql_result": { + "no_rows": "Es wurden keine Zeilen für diese Abfrage zurückgegeben" + }, + "sql_table_schemas": { + "tables": "Tabellen" + }, + "tab_row": { + "close_tab": "Tab schließen", + "add_new_tab": "Neuen Tab hinzufügen", + "close": "Schließen", + "close_other_tabs": "Andere Tabs schließen", + "close_right_tabs": "Tabs rechts schließen", + "close_all_tabs": "Alle Tabs schließen", + "reopen_last_tab": "Zuletzt geschlossenen Tab erneut öffnen", + "move_tab_to_new_window": "Tab in neues Fenster verschieben", + "copy_tab_to_new_window": "Tab in neues Fenster kopieren", + "new_tab": "Neuer Tab" + }, + "toc": { + "table_of_contents": "Inhaltsverzeichnis", + "options": "Optionen" + }, + "watched_file_update_status": { + "file_last_modified": "Datei wurde zuletzt geändert am .", + "upload_modified_file": "Modifizierte Datei hochladen", + "ignore_this_change": "Diese Änderung ignorieren" + }, + "app_context": { + "please_wait_for_save": "Bitte warte ein paar Sekunden, bis das Speichern abgeschlossen ist, und versuche es dann erneut." + }, + "note_create": { + "duplicated": "Notiz ‚{{title}}‘ wurde dupliziert." + }, + "image": { + "copied-to-clipboard": "Ein Verweis auf das Bild wurde in die Zwischenablage kopiert. Dieser kann in eine beliebige Textnotiz eingefügt werden.", + "cannot-copy": "Das Bild konnte nicht in die Zwischenablage kopiert werden." + }, + "clipboard": { + "cut": "Notiz(en) wurden in die Zwischenablage ausgeschnitten.", + "copied": "Notiz(en) wurden in die Zwischenablage kopiert." + }, + "entrypoints": { + "note-revision-created": "Notizrevision wurde erstellt.", + "note-executed": "Notiz wurde ausgeführt.", + "sql-error": "Fehler bei der Ausführung der SQL-Abfrage: {{message}}" + }, + "branches": { + "cannot-move-notes-here": "Notizen können hier nicht verschoben werden.", + "delete-status": "Löschstatus", + "delete-notes-in-progress": "Löschen von Notizen in Bearbeitung: {{count}}", + "delete-finished-successfully": "Löschen erfolgreich abgeschlossen.", + "undeleting-notes-in-progress": "Wiederherstellen von Notizen in Bearbeitung: {{count}}", + "undeleting-notes-finished-successfully": "Wiederherstellen von Notizen erfolgreich abgeschlossen." + }, + "frontend_script_api": { + "async_warning": "Du übergibst eine asynchrone Funktion an `api.runOnBackend()`, was wahrscheinlich nicht wie beabsichtigt funktioniert.\\nEntweder mach die Funktion synchron (indem du das `async`-Schlüsselwort entfernst) oder benutze `api.runAsyncOnBackendWithManualTransactionHandling()`.", + "sync_warning": "Du übergibst eine synchrone Funktion an `api.runAsyncOnBackendWithManualTransactionHandling()`,\\nobwohl du wahrscheinlich `api.runOnBackend()` verwenden solltest." + }, + "ws": { + "sync-check-failed": "Synchronisationsprüfung fehlgeschlagen!", + "consistency-checks-failed": "Konsistenzprüfung fehlgeschlagen! Siehe Logs für Details.", + "encountered-error": "Fehler „{{message}}“ aufgetreten, siehe Konsole für Details." + }, + "hoisted_note": { + "confirm_unhoisting": "Die angeforderte Notiz ‚{{requestedNote}}‘ befindet sich außerhalb des hoisted Bereichs der Notiz ‚{{hoistedNote}}‘. Du musst sie unhoisten, um auf die Notiz zuzugreifen. Möchtest du mit dem Unhoisting fortfahren?" + }, + "launcher_context_menu": { + "reset_launcher_confirm": "Möchtest du „{{title}}“ wirklich zurücksetzen? Alle Daten / Einstellungen in dieser Notiz (und ihren Unternotizen) gehen verloren und der Launcher wird an seinen ursprünglichen Standort zurückgesetzt.", + "add-note-launcher": "Launcher für Notiz hinzufügen", + "add-script-launcher": "Launcher für Skript hinzufügen", + "add-custom-widget": "Benutzerdefiniertes Widget hinzufügen", + "add-spacer": "Spacer hinzufügen", + "delete": "Löschen ", + "reset": "Zurücksetzen", + "move-to-visible-launchers": "Zu sichtbaren Launchern verschieben", + "move-to-available-launchers": "Zu verfügbaren Launchern verschieben", + "duplicate-launcher": "Launcher duplizieren " + }, + "editable-text": { + "auto-detect-language": "Automatisch erkannt" + }, + "highlighting": { + "description": "Steuert die Syntaxhervorhebung für Codeblöcke in Textnotizen, Code-Notizen sind nicht betroffen.", + "color-scheme": "Farbschema" + }, + "code_block": { + "word_wrapping": "Wortumbruch", + "theme_none": "Keine Syntax-Hervorhebung", + "theme_group_light": "Helle Themen", + "theme_group_dark": "Dunkle Themen" + }, + "classic_editor_toolbar": { + "title": "Format" + }, + "editor": { + "title": "Editor" + }, + "editing": { + "editor_type": { + "label": "Format Toolbar", + "floating": { + "title": "Schwebend", + "description": "Werkzeuge erscheinen in Cursornähe" + }, + "fixed": { + "title": "Fixiert", + "description": "Werkzeuge erscheinen im \"Format\" Tab" + }, + "multiline-toolbar": "Toolbar wenn nötig in mehreren Zeilen darstellen." + } + }, + "electron_context_menu": { + "add-term-to-dictionary": "Begriff \"{{term}}\" zum Wörterbuch hinzufügen", + "cut": "Ausschneiden", + "copy": "Kopieren", + "copy-link": "Link opieren", + "paste": "Einfügen", + "paste-as-plain-text": "Als unformatierten Text einfügen", + "search_online": "Suche nach \"{{term}}\" mit {{searchEngine}} starten" + }, + "image_context_menu": { + "copy_reference_to_clipboard": "Referenz in Zwischenablage kopieren", + "copy_image_to_clipboard": "Bild in die Zwischenablage kopieren" + }, + "link_context_menu": { + "open_note_in_new_tab": "Notiz in neuen Tab öffnen", + "open_note_in_new_split": "Notiz in neuen geteilten Tab öffnen", + "open_note_in_new_window": "Notiz in neuen Fenster öffnen" + }, + "electron_integration": { + "desktop-application": "Desktop Anwendung", + "native-title-bar": "Native Anwendungsleiste", + "native-title-bar-description": "In Windows und macOS, sorgt das Deaktivieren der nativen Anwendungsleiste für ein kompakteres Aussehen. Unter Linux, sorgt das Aktivieren der nativen Anwendungsleiste für eine bessere Integration mit anderen Teilen des Systems.", + "background-effects": "Hintergrundeffekte aktivieren (nur Windows 11)", + "background-effects-description": "Der Mica Effekt fügt einen unscharfen, stylischen Hintergrund in Anwendungsfenstern ein. Dieser erzeugt Tiefe und ein modernes Auftreten.", + "restart-app-button": "Anwendung neustarten um Änderungen anzuwenden", + "zoom-factor": "Zoomfaktor" + }, + "note_autocomplete": { + "search-for": "Suche nach \"{{term}}\"", + "create-note": "Erstelle und verlinke Unternotiz \"{{term}}\"", + "insert-external-link": "Einfügen von Externen Link zu \"{{term}}\"", + "clear-text-field": "Textfeldinhalt löschen", + "show-recent-notes": "Aktuelle Notizen anzeigen", + "full-text-search": "Volltextsuche" + }, + "note_tooltip": { + "note-has-been-deleted": "Notiz wurde gelöscht." + }, + "geo-map": { + "create-child-note-title": "Neue Unternotiz anlegen und zur Karte hinzufügen", + "create-child-note-instruction": "Auf die Karte klicken, um eine neue Notiz an der Stelle zu erstellen oder Escape drücken um abzubrechen.", + "unable-to-load-map": "Karte konnte nicht geladen werden." + }, + "geo-map-context": { + "open-location": "Ort öffnen", + "remove-from-map": "Von Karte entfernen" + }, + "help-button": { + "title": "Relevante Hilfeseite öffnen" + }, + "duration": { + "seconds": "Sekunden", + "minutes": "Minuten", + "hours": "Stunden", + "days": "Tage" + }, + "time_selector": { + "invalid_input": "Die eingegebene Zeit ist keine valide Zahl." + } } diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 09c336115..578260ef8 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -219,7 +219,7 @@ "dialog_title": "Markdown import", "close": "Close", "modal_body_text": "Because of browser sandbox it's not possible to directly read clipboard from JavaScript. Please paste the Markdown to import to textarea below and click on Import button", - "import_button": "Import Ctrl+Enter", + "import_button": "Import", "import_success": "Markdown content has been imported into the document." }, "move_to": { diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json index ac185b804..b3ea6ff2a 100644 --- a/apps/client/src/translations/es/translation.json +++ b/apps/client/src/translations/es/translation.json @@ -1,1947 +1,1947 @@ { - "about": { - "title": "Acerca de Trilium Notes", - "close": "Cerrar", - "homepage": "Página principal:", - "app_version": "Versión de la aplicación:", - "db_version": "Versión de base de datos:", - "sync_version": "Versión de sincronización:", - "build_date": "Fecha de creación:", - "build_revision": "Revisión de compilación:", - "data_directory": "Directorio de datos:" - }, - "toast": { - "critical-error": { - "title": "Error crítico", - "message": "Ha ocurrido un error crítico que previene que el cliente de la aplicación inicie:\n\n{{message}}\n\nMuy probablemente es causado por un script que falla de forma inesperada. Intente iniciar la aplicación en modo seguro y atienda el error." - }, - "widget-error": { - "title": "Hubo un fallo al inicializar un widget", - "message-custom": "El widget personalizado de la nota con ID \"{{id}}\", titulada \"{{title}}\" no pudo ser inicializado debido a:\n\n{{message}}", - "message-unknown": "Un widget no pudo ser inicializado debido a:\n\n{{message}}" - }, - "bundle-error": { - "title": "Hubo un fallo al cargar un script personalizado", - "message": "El script de la nota con ID \"{{id}}\", titulado \"{{title}}\" no pudo ser ejecutado debido a:\n\n{{message}}" - } - }, - "add_link": { - "add_link": "Agregar enlace", - "help_on_links": "Ayuda sobre enlaces", - "close": "Cerrar", - "note": "Nota", - "search_note": "buscar nota por su nombre", - "link_title_mirrors": "el título del enlace replica el título actual de la nota", - "link_title_arbitrary": "el título del enlace se puede cambiar arbitrariamente", - "link_title": "Título del enlace", - "button_add_link": "Agregar enlace Enter" - }, - "branch_prefix": { - "edit_branch_prefix": "Editar prefijo de rama", - "help_on_tree_prefix": "Ayuda sobre el prefijo del árbol", - "close": "Cerrar", - "prefix": "Prefijo: ", - "save": "Guardar", - "branch_prefix_saved": "Se ha guardado el prefijo de rama." - }, - "bulk_actions": { - "bulk_actions": "Acciones en bloque", - "close": "Cerrar", - "affected_notes": "Notas afectadas", - "include_descendants": "Incluir descendientes de las notas seleccionadas", - "available_actions": "Acciones disponibles", - "chosen_actions": "Acciones elegidas", - "execute_bulk_actions": "Ejecutar acciones en bloque", - "bulk_actions_executed": "Las acciones en bloque se han ejecutado con éxito.", - "none_yet": "Ninguna todavía... agregue una acción haciendo clic en una de las disponibles arriba.", - "labels": "Etiquetas", - "relations": "Relaciones", - "notes": "Notas", - "other": "Otro" - }, - "clone_to": { - "clone_notes_to": "Clonar notas a...", - "close": "Cerrar", - "help_on_links": "Ayuda sobre enlaces", - "notes_to_clone": "Notas a clonar", - "target_parent_note": "Nota padre de destino", - "search_for_note_by_its_name": "buscar nota por su nombre", - "cloned_note_prefix_title": "La nota clonada se mostrará en el árbol de notas con el prefijo dado", - "prefix_optional": "Prefijo (opcional)", - "clone_to_selected_note": "Clonar a nota seleccionada enter", - "no_path_to_clone_to": "No hay ruta para clonar.", - "note_cloned": "La nota \"{{clonedTitle}}\" a sido clonada en \"{{targetTitle}}\"" - }, - "confirm": { - "confirmation": "Confirmación", - "close": "Cerrar", - "cancel": "Cancelar", - "ok": "Aceptar", - "are_you_sure_remove_note": "¿Está seguro que desea eliminar la nota \"{{title}}\" del mapa de relaciones? ", - "if_you_dont_check": "Si no marca esto, la nota solo se eliminará del mapa de relaciones.", - "also_delete_note": "También eliminar la nota" - }, - "delete_notes": { - "delete_notes_preview": "Eliminar vista previa de notas", - "close": "Cerrar", - "delete_all_clones_description": "Eliminar también todos los clones (se puede deshacer en cambios recientes)", - "erase_notes_description": "La eliminación normal (suave) solo marca las notas como eliminadas y se pueden recuperar (en el cuadro de diálogo de cambios recientes) dentro de un periodo de tiempo. Al marcar esta opción se borrarán las notas inmediatamente y no será posible recuperarlas.", - "erase_notes_warning": "Eliminar notas permanentemente (no se puede deshacer), incluidos todos los clones. Esto forzará la recarga de la aplicación.", - "notes_to_be_deleted": "Las siguientes notas serán eliminadas ({{- noteCount}})", - "no_note_to_delete": "No se eliminará ninguna nota (solo clones).", - "broken_relations_to_be_deleted": "Las siguientes relaciones se romperán y serán eliminadas ({{- relationCount}})", - "cancel": "Cancelar", - "ok": "Aceptar", - "deleted_relation_text": "Nota {{- note}} (para ser eliminada) está referenciado por la relación {{- relation}} que se origina en {{- source}}." - }, - "export": { - "export_note_title": "Exportar nota", - "close": "Cerrar", - "export_type_subtree": "Esta nota y todos sus descendientes", - "format_html": "HTML - ya que preserva todo el formato", - "format_html_zip": "HTML en un archivo ZIP: se recomienda ya que conserva todo el formato.", - "format_markdown": "Markdown: esto conserva la mayor parte del formato.", - "format_opml": "OPML: formato de intercambio de esquemas solo para texto. El formato, las imágenes y los archivos no están incluidos.", - "opml_version_1": "OPML v1.0: solo texto sin formato", - "opml_version_2": "OPML v2.0 - también permite HTML", - "export_type_single": "Sólo esta nota sin sus descendientes", - "export": "Exportar", - "choose_export_type": "Por favor, elija primero el tipo de exportación", - "export_status": "Estado de exportación", - "export_in_progress": "Exportación en curso: {{progressCount}}", - "export_finished_successfully": "La exportación finalizó exitosamente.", - "format_pdf": "PDF - para propósitos de impresión o compartición." - }, - "help": { - "fullDocumentation": "Ayuda (la documentación completa está disponible online)", - "close": "Cerrar", - "noteNavigation": "Navegación de notas", - "goUpDown": "UP, DOWN - subir/bajar en la lista de notas", - "collapseExpand": "LEFT, RIGHT - colapsar/expandir nodo", - "notSet": "no establecido", - "goBackForwards": "retroceder / avanzar en la historia", - "showJumpToNoteDialog": "mostrar \"Saltar a\" diálogo", - "scrollToActiveNote": "desplazarse hasta la nota activa", - "jumpToParentNote": "Backspace - saltar a la nota padre", - "collapseWholeTree": "colapsar todo el árbol de notas", - "collapseSubTree": "colapsar subárbol", - "tabShortcuts": "Atajos de pestañas", - "newTabNoteLink": "CTRL+clic - (o clic central del mouse) en el enlace de la nota abre la nota en una nueva pestaña", - "newTabWithActivationNoteLink": "Ctrl+Shift+clic - (o Shift+clic de rueda de ratón) en el enlace de la nota abre y activa la nota en una nueva pestaña", - "onlyInDesktop": "Solo en escritorio (compilación con Electron)", - "openEmptyTab": "abrir pestaña vacía", - "closeActiveTab": "cerrar pestaña activa", - "activateNextTab": "activar pestaña siguiente", - "activatePreviousTab": "activar pestaña anterior", - "creatingNotes": "Creando notas", - "createNoteAfter": "crear una nueva nota después de la nota activa", - "createNoteInto": "crear una nueva subnota en la nota activa", - "editBranchPrefix": "edición prefix de clon de nota activa", - "movingCloningNotes": "Moviendo/clonando notas", - "moveNoteUpDown": "mover nota arriba/abajo en la lista de notas", - "moveNoteUpHierarchy": "mover nota hacia arriba en la jerarquía", - "multiSelectNote": "selección múltiple de nota hacia arriba/abajo", - "selectAllNotes": "seleccionar todas las notas en el nivel actual", - "selectNote": "Shift+click - seleccionar nota", - "copyNotes": "copiar nota activa (o selección actual) al portapapeles (usado para clonar)", - "cutNotes": "cortar la nota actual (o la selección actual) en el portapapeles (usado para mover notas)", - "pasteNotes": "pegar notas como subnotas en la nota activa (que se puede mover o clonar dependiendo de si se copió o cortó en el portapapeles)", - "deleteNotes": "eliminar nota/subárbol", - "editingNotes": "Editando notas", - "editNoteTitle": "en el panel de árbol cambiará del panel de árbol al título de la nota. Ingresar desde el título de la nota cambiará el foco al editor de texto. Ctrl+. cambiará de nuevo del editor al panel de árbol.", - "createEditLink": "Ctrl+K - crear/editar enlace externo", - "createInternalLink": "crear enlace interno", - "followLink": "siga el enlace debajo del cursor", - "insertDateTime": "insertar la fecha y hora actuales en la posición del cursor", - "jumpToTreePane": "saltar al panel de árbol y desplazarse hasta la nota activa", - "markdownAutoformat": "Autoformato tipo Markdown", - "headings": "##, ###, #### etc. seguido de espacio para encabezados", - "bulletList": "* o - seguido de espacio para la lista de viñetas", - "numberedList": "1. o 1) seguido de espacio para la lista numerada", - "blockQuote": "comience una línea con > seguido de espacio para el bloque de cita", - "troubleshooting": "Solución de problemas", - "reloadFrontend": "recargar la interfaz de Trilium", - "showDevTools": "mostrar herramientas de desarrollador", - "showSQLConsole": "mostrar consola SQL", - "other": "Otro", - "quickSearch": "centrarse en la entrada de búsqueda rápida", - "inPageSearch": "búsqueda en la página" - }, - "import": { - "importIntoNote": "Importar a nota", - "close": "Cerrar", - "chooseImportFile": "Elija el archivo de importación", - "importDescription": "El contenido de los archivos seleccionados se importará como notas secundarias en", - "options": "Opciones", - "safeImportTooltip": "Los archivos .zip de Trilium pueden contener scripts ejecutables que pudieran tener un comportamiento peligroso. La importación segura va a desactivar la ejecución automática de todos los scripts importados. Desmarque \"Importación segura\" solo si el archivo importado contiene scripts ejecutables y usted confía totalmente en el contenido del archivo importado.", - "safeImport": "Importación segura", - "explodeArchivesTooltip": "Si esto está marcado, Trilium leerá los archivos .zip, .enex y .opml y creará notas a partir de archivos dentro de esos archivos. Si no está marcado, Trilium adjuntará los archivos a la nota.", - "explodeArchives": "Leer el contenido de los archivos .zip, .enex y .opml.", - "shrinkImagesTooltip": "

Si marca esta opción, Trilium intentará reducir las imágenes importadas mediante escalado y optimización, lo que puede afectar la calidad de la imagen percibida. Si no está marcada, las imágenes se importarán sin cambios.

Esto no se aplica a las importaciones .zip con metadatos, ya que se supone que estos archivos ya están optimizados.

", - "shrinkImages": "Reducir imágenes", - "textImportedAsText": "Importar HTML, Markdown y TXT como notas de texto si no está claro en los metadatos", - "codeImportedAsCode": "Importar archivos de código reconocidos (por ejemplo, .json) como notas de código si no están claros en los metadatos", - "replaceUnderscoresWithSpaces": "Reemplazar guiones bajos con espacios en nombres de notas importadas", - "import": "Importar", - "failed": "La importación falló: {{message}}.", - "html_import_tags": { - "title": "HTML Importar Etiquetas", - "description": "Configurar que etiquetas HTML deben ser preservadas al importar notas. Las etiquetas que no estén en esta lista serán eliminadas durante la importación. Algunas etiquetas (como 'script') siempre son eliminadas por seguridad.", - "placeholder": "Ingrese las etiquetas HTML, una por línea", - "reset_button": "Restablecer a lista por defecto" - }, - "import-status": "Estado de importación", - "in-progress": "Importación en progreso: {{progress}}", - "successful": "Importación finalizada exitosamente." - }, - "include_note": { - "dialog_title": "Incluir nota", - "close": "Cerrar", - "label_note": "Nota", - "placeholder_search": "buscar nota por su nombre", - "box_size_prompt": "Tamaño de caja de la nota incluida:", - "box_size_small": "pequeño (~ 10 líneas)", - "box_size_medium": "medio (~ 30 líneas)", - "box_size_full": "completo (el cuadro muestra el texto completo)", - "button_include": "Incluir nota Enter" - }, - "info": { - "modalTitle": "Mensaje informativo", - "closeButton": "Cerrar", - "okButton": "Aceptar" - }, - "jump_to_note": { - "close": "Cerrar", - "search_button": "Buscar en texto completo Ctrl+Enter" - }, - "markdown_import": { - "dialog_title": "Importación de Markdown", - "close": "Cerrar", - "modal_body_text": "Debido al entorno limitado del navegador, no es posible leer directamente el portapapeles desde JavaScript. Por favor, pegue el código Markdown para importar en el área de texto a continuación y haga clic en el botón Importar", - "import_button": "Importar Ctrl+Enter", - "import_success": "El contenido de Markdown se ha importado al documento." - }, - "move_to": { - "dialog_title": "Mover notas a...", - "close": "Cerrar", - "notes_to_move": "Notas a mover", - "target_parent_note": "Nota padre de destino", - "search_placeholder": "buscar nota por su nombre", - "move_button": "Mover a la nota seleccionada enter", - "error_no_path": "No hay ruta a donde mover.", - "move_success_message": "Las notas seleccionadas se han movido a " - }, - "note_type_chooser": { - "change_path_prompt": "Cambiar donde se creará la nueva nota:", - "search_placeholder": "ruta de búsqueda por nombre (por defecto si está vacío)", - "modal_title": "Elija el tipo de nota", - "close": "Cerrar", - "modal_body": "Elija el tipo de nota/plantilla de la nueva nota:", - "templates": "Plantillas:" - }, - "password_not_set": { - "title": "La contraseña no está establecida", - "close": "Cerrar", - "body1": "Las notas protegidas se cifran mediante una contraseña de usuario, pero la contraseña aún no se ha establecido.", - "body2": "Para poder proteger notas, dé clic aquí para abrir el diálogo de Opciones y establecer tu contraseña." - }, - "prompt": { - "title": "Aviso", - "close": "Cerrar", - "ok": "Aceptar enter", - "defaultTitle": "Aviso" - }, - "protected_session_password": { - "modal_title": "Sesión protegida", - "help_title": "Ayuda sobre notas protegidas", - "close_label": "Cerrar", - "form_label": "Para continuar con la acción solicitada, debe iniciar en la sesión protegida ingresando la contraseña:", - "start_button": "Iniciar sesión protegida entrar" - }, - "recent_changes": { - "title": "Cambios recientes", - "erase_notes_button": "Borrar notas eliminadas ahora", - "close": "Cerrar", - "deleted_notes_message": "Las notas eliminadas han sido borradas.", - "no_changes_message": "Aún no hay cambios...", - "undelete_link": "recuperar", - "confirm_undelete": "¿Quiere recuperar esta nota y sus subnotas?" - }, - "revisions": { - "note_revisions": "Revisiones de nota", - "delete_all_revisions": "Eliminar todas las revisiones de esta nota", - "delete_all_button": "Eliminar todas las revisiones", - "help_title": "Ayuda sobre revisiones de notas", - "close": "Cerrar", - "revision_last_edited": "Esta revisión se editó por última vez en {{date}}", - "confirm_delete_all": "¿Quiere eliminar todas las revisiones de esta nota?", - "no_revisions": "Aún no hay revisiones para esta nota...", - "restore_button": "Restaurar", - "confirm_restore": "¿Quiere restaurar esta revisión? Esto sobrescribirá el título actual y el contenido de la nota con esta revisión.", - "delete_button": "Eliminar", - "confirm_delete": "¿Quieres eliminar esta revisión?", - "revisions_deleted": "Se han eliminado las revisiones de nota.", - "revision_restored": "Se ha restaurado la revisión de nota.", - "revision_deleted": "Se ha eliminado la revisión de la nota.", - "snapshot_interval": "Intervalo de respaldo de revisiones de nota: {{seconds}}s.", - "maximum_revisions": "Máximo de revisiones para la nota actual: {{number}}.", - "settings": "Ajustes para revisiones de nota", - "download_button": "Descargar", - "mime": "MIME: ", - "file_size": "Tamaño del archivo:", - "preview": "Vista previa:", - "preview_not_available": "La vista previa no está disponible para este tipo de notas." - }, - "sort_child_notes": { - "sort_children_by": "Ordenar hijos por...", - "close": "Cerrar", - "sorting_criteria": "Criterios de ordenamiento", - "title": "título", - "date_created": "fecha de creación", - "date_modified": "fecha de modificación", - "sorting_direction": "Dirección de ordenamiento", - "ascending": "ascendente", - "descending": "descendente", - "folders": "Carpetas", - "sort_folders_at_top": "ordenar carpetas en la parte superior", - "natural_sort": "Ordenamiento natural", - "sort_with_respect_to_different_character_sorting": "ordenar con respecto a diferentes reglas de ordenamiento y clasificación de caracteres en diferentes idiomas o regiones.", - "natural_sort_language": "Idioma de clasificación natural", - "the_language_code_for_natural_sort": "El código del idioma para el ordenamiento natural, ej. \"zh-CN\" para Chino.", - "sort": "Ordenar Enter" - }, - "upload_attachments": { - "upload_attachments_to_note": "Cargar archivos adjuntos a nota", - "close": "Cerrar", - "choose_files": "Elija los archivos", - "files_will_be_uploaded": "Los archivos se cargarán como archivos adjuntos en", - "options": "Opciones", - "shrink_images": "Reducir imágenes", - "upload": "Subir", - "tooltip": "Si marca esta opción, Trilium intentará reducir las imágenes cargadas mediante escalado y optimización, lo que puede afectar la calidad de la imagen percibida. Si no está marcada, las imágenes se cargarán sin cambios." - }, - "attribute_detail": { - "attr_detail_title": "Título del detalle del atributo", - "close_button_title": "Cancelar cambios y cerrar", - "attr_is_owned_by": "El atributo es propiedad de", - "attr_name_title": "El nombre del atributo solo puede estar compuesto de caracteres alfanuméricos, dos puntos y guión bajo", - "name": "Nombre", - "value": "Valor", - "target_note_title": "La relación es una conexión con nombre entre la nota de origen y la nota de destino.", - "target_note": "Nota de destino", - "promoted_title": "El atributo promovido se muestra de forma destacada en la nota.", - "promoted": "Promovido", - "promoted_alias_title": "El nombre que se mostrará en la interfaz de usuario de atributos promovidos.", - "promoted_alias": "Alias", - "multiplicity_title": "La multiplicidad define cuántos atributos del mismo nombre se pueden crear - como máximo 1 o más de 1.", - "multiplicity": "Multiplicidad", - "single_value": "Valor único", - "multi_value": "Valor múltiple", - "label_type_title": "El tipo de etiqueta ayudará a Trilium a elegir la interfaz adecuada para ingresar el valor de la etiqueta.", - "label_type": "Tipo", - "text": "Texto", - "number": "Número", - "boolean": "Booleano", - "date": "Fecha", - "date_time": "Fecha y hora", - "time": "Hora", - "url": "URL", - "precision_title": "Cantidad de dígitos después del punto flotante que deben estar disponibles en la interfaz de configuración del valor.", - "precision": "Precisión", - "digits": "dígitos", - "inverse_relation_title": "Configuración opcional para definir a qué relación es ésta opuesta. Ejemplo: Padre - Hijo son relaciones inversas entre sí.", - "inverse_relation": "Relación inversa", - "inheritable_title": "El atributo heredable se heredará a todos los descendientes de este árbol.", - "inheritable": "Heredable", - "save_and_close": "Guardar y cerrar Ctrl+Enter", - "delete": "Eliminar", - "related_notes_title": "Otras notas con esta etiqueta", - "more_notes": "Más notas", - "label": "Detalle de etiqueta", - "label_definition": "Detalle de definición de etiqueta", - "relation": "Detalle de relación", - "relation_definition": "Detalle de definición de relación", - "disable_versioning": "deshabilita el control de versiones automático. Útil para, por ejemplo. notas grandes pero sin importancia, p. grandes bibliotecas JS utilizadas para secuencias de comandos (scripts)", - "calendar_root": "marca la nota que debe usarse como raíz para las notas del día. Sólo uno debe estar marcado como tal.", - "archived": "las notas con esta etiqueta no serán visibles de forma predeterminada en los resultados de búsqueda (tampoco en los cuadros de diálogo Saltar a, Agregar vínculo, etc.).", - "exclude_from_export": "las notas (con su subárbol) no se incluirán en ninguna exportación de notas", - "run": "define en qué eventos debe ejecutarse el script. Los valores posibles son:\n
    \n
  • frontendStartup - cuando el frontend de Trilium inicia (o es recargado), pero no en dispositivos móviles.
  • \n
  • backendStartup - cuando el backend de Trilium se inicia
  • \n
  • hourly - se ejecuta una vez cada hora. Puede usar etiqueta adicional runAtHour para especificar a la hora.
  • \n
  • daily - ejecutar una vez al día
  • \n
", - "run_on_instance": "Definir en qué instancia de Trilium se debe ejecutar esto. Predeterminado para todas las instancias.", - "run_at_hour": "¿A qué hora debería funcionar? Debe usarse junto con #run=hourly. Se puede definir varias veces para varias ejecuciones durante el día.", - "disable_inclusion": "los scripts con esta etiqueta no se incluirán en la ejecución del script principal.", - "sorted": "mantiene las subnotas ordenadas alfabéticamente por título", - "sort_direction": "ASC (el valor predeterminado) o DESC", - "sort_folders_first": "Las carpetas (notas con subnotas) deben ordenarse en la parte superior", - "top": "mantener la nota dada en la parte superior de su padre (se aplica solo en padres ordenados)", - "hide_promoted_attributes": "Ocultar atributos promovidos en esta nota", - "read_only": "el editor está en modo de sólo lectura. Funciona sólo para notas de texto y código.", - "auto_read_only_disabled": "las notas de texto/código se pueden configurar automáticamente en modo lectura cuando son muy grandes. Puede desactivar este comportamiento por nota agregando esta etiqueta a la nota", - "app_css": "marca notas CSS que se cargan en la aplicación Trilium y, por lo tanto, se pueden usar para modificar la apariencia de Trilium.", - "app_theme": "marca notas CSS que son temas completos de Trilium y, por lo tanto, están disponibles en las opciones de Trilium.", - "app_theme_base": "establecer a \"siguiente\" para utilizar el tema TriliumNext como base para un tema personalizado en lugar del tema anterior.", - "css_class": "el valor de esta etiqueta se agrega como clase CSS al nodo que representa la nota dada en el árbol. Esto puede resultar útil para temas avanzados. Se puede utilizar en notas de plantilla.", - "icon_class": "el valor de esta etiqueta se agrega como una clase CSS al icono en el árbol, lo que puede ayudar a distinguir visualmente las notas en el árbol. El ejemplo podría ser bx bx-home: los iconos se toman de boxicons. Se puede utilizar en notas de plantilla.", - "page_size": "número de elementos por página en el listado de notas", - "custom_request_handler": "véa Manejador de solicitudes personalizado", - "custom_resource_provider": "véa Manejador de solicitudes personalizado", - "widget": "marca esta nota como un widget personalizado que se agregará al árbol de componentes de Trilium", - "workspace": "marca esta nota como un espacio de trabajo que permite un fácil levantamiento", - "workspace_icon_class": "define la clase CSS del icono de cuadro que se usará en la pestaña cuando se levante a esta nota", - "workspace_tab_background_color": "color CSS utilizado en la pestaña de nota cuando se ancla a esta nota", - "workspace_calendar_root": "Define la raíz del calendario por cada espacio de trabajo", - "workspace_template": "Esta nota aparecerá en la selección de plantillas disponibles al crear una nueva nota, pero solo cuando se levante a un espacio de trabajo que contenga esta plantilla", - "search_home": "se crearán nuevas notas de búsqueda como subnotas de esta nota", - "workspace_search_home": "se crearán nuevas notas de búsqueda como subnotas de esta nota cuando se anclan a algún antecesor de esta nota del espacio de trabajo", - "inbox": "ubicación predeterminada de la bandeja de entrada para nuevas notas - cuando crea una nota usando el botón \"nueva nota\" en la barra lateral, las notas serán creadas como subnotas de la nota marcada con la etiqueta #inbox.", - "workspace_inbox": "ubicación predeterminada de la bandeja de entrada para nuevas notas cuando se anclan a algún antecesor de esta nota del espacio de trabajo", - "sql_console_home": "ubicación predeterminada de las notas de la consola SQL", - "bookmark_folder": "la nota con esta etiqueta aparecerá en los marcadores como carpeta (permitiendo el acceso a sus elementos hijos).", - "share_hidden_from_tree": "esta nota está oculta en el árbol de navegación izquierdo, pero aún se puede acceder a ella con su URL", - "share_external_link": "la nota actuará como un enlace a un sitio web externo en el árbol compartido", - "share_alias": "define un alias que al usar la nota va a estar disponible en https://your_trilium_host/share/[tu_alias]", - "share_omit_default_css": "se omitirá el CSS de la página para compartir predeterminada. Úselo cuando realice cambios importantes de estilo.", - "share_root": "marca la nota que se publica en /share root.", - "share_description": "definir el texto que se agregará a la etiqueta HTML meta para la descripción", - "share_raw": "la nota se entregará en su formato original, sin contenedor HTML", - "share_disallow_robot_indexing": "prohibirá la indexación por robots de esta nota a través del encabezado X-Robots-Tag: noindex", - "share_credentials": "requiere credenciales para acceder a esta nota compartida. Se espera que el valor tenga el formato 'nombre_de_usuario:contraseña'. No olvide hacer que esto sea heredable para aplicarlo a notas/imágenes hijo.", - "share_index": "tenga en cuenta que con esto esta etiqueta enumerará todas las raíces de las notas compartidas", - "display_relations": "nombres de relaciones delimitados por comas que deben mostrarse. Todos los demás estarán ocultos.", - "hide_relations": "nombres de relaciones delimitados por comas que deben ocultarse. Se mostrarán todos los demás.", - "title_template": "título por defecto de notas creadas como subnota de esta nota. El valor es evaluado como una cadena de JavaScript \n y por lo tanto puede ser enriquecida con contenido dinámico vía las variables inyectadas now y parentNote. Ejemplos:\n \n
    \n
  • trabajos literarios de ${parentNote.getLabelValue('authorName')}
  • \n
  • Registro para ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n Consulte la wiki para obtener más detalles, documentación de la API para parentNote y now para más detalles.", - "template": "Esta nota aparecerá en la selección de plantillas disponibles al crear una nueva nota", - "toc": "#toc o #toc=show forzará que se muestre la tabla de contenido, #toc=hide forzará a ocultarla. Si la etiqueta no existe, se observa la configuración global", - "color": "define el color de la nota en el árbol de notas, enlaces, etc. Utilice cualquier valor de color CSS válido como 'red' o #a13d5f", - "keyboard_shortcut": "Define un atajo de teclado que saltará inmediatamente a esta nota. Ejemplo: 'ctrl+alt+e'. Es necesario recargar la interfaz para que el cambio surta efecto.", - "keep_current_hoisting": "Abrir este enlace no cambiará el anclaje incluso si la nota no se puede mostrar en el subárbol anclado actualmente.", - "execute_button": "Título del botón que ejecutará la nota de código actual", - "execute_description": "Descripción más larga de la nota de código actual que se muestra junto con el botón de ejecución", - "exclude_from_note_map": "Las notas con esta etiqueta se ocultarán del Mapa de notas", - "new_notes_on_top": "Las notas nuevas se crearán en la parte superior de la nota principal, no en la parte inferior.", - "hide_highlight_widget": "Ocultar widget de lista destacada", - "run_on_note_creation": "se ejecuta cuando se crea la nota en el backend. Utilice esta relación si desea ejecutar el script para todas las notas creadas en un subárbol específico. En ese caso, créela en la nota raíz del subárbol y hágala heredable. Una nueva nota creada dentro del subárbol (cualquier profundidad) activará el script.", - "run_on_child_note_creation": "se ejecuta cuando se crea una nueva nota bajo la nota donde se define esta relación", - "run_on_note_title_change": "se ejecuta cuando se cambia el título de la nota (también incluye la creación de notas)", - "run_on_note_content_change": "se ejecuta cuando se cambia el contenido de la nota (también incluye la creación de notas).", - "run_on_note_change": "se ejecuta cuando se cambia la nota (incluye también la creación de notas). No incluye cambios de contenido", - "run_on_note_deletion": "se ejecuta cuando se elimina la nota", - "run_on_branch_creation": "se ejecuta cuando se crea una rama. Una rama es un vínculo entre la nota principal y la nota secundaria y se crea, por ejemplo, al clonar o mover una nota.", - "run_on_branch_change": "se ejecuta cuando se actualiza una rama.", - "run_on_branch_deletion": "se ejecuta cuando se elimina una rama. Una rama es un vínculo entre la nota principal y la nota secundaria y se elimina, por ejemplo, al mover la nota (se elimina la rama/enlace antiguo).", - "run_on_attribute_creation": "se ejecuta cuando se crea un nuevo atributo para la nota que define esta relación", - "run_on_attribute_change": " se ejecuta cuando se cambia el atributo de una nota que define esta relación. Esto también se activa cuando se elimina el atributo", - "relation_template": "los atributos de la nota se heredarán incluso sin una relación padre-hijo, el contenido y el subárbol de la nota se agregarán a las notas de instancia si están vacíos. Consulte la documentación para obtener más detalles.", - "inherit": "los atributos de la nota se heredarán incluso sin una relación padre-hijo. Consulte la relación de plantilla para conocer un concepto similar. Consulte herencia de atributos en la documentación.", - "render_note": "notas de tipo \"render HTML note\" serán renderizadas usando una nota de código (HTML o script) y es necesario apuntar usando esta relación con la nota que debe de ser renderizada", - "widget_relation": "el objetivo de esta relación se ejecutará y representará como un widget en la barra lateral", - "share_css": "Nota CSS que se inyectará en la página para compartir. La nota CSS también debe estar en el subárbol compartido. Considere usar también 'share_hidden_from_tree' y 'share_omit_default_css'.", - "share_js": "Nota de JavaScript que se inyectará en la página para compartir. La nota JS también debe estar en el subárbol compartido. Considere usar 'share_hidden_from_tree'.", - "share_template": "Nota de JavaScript integrada que se utilizará como plantilla para mostrar la nota compartida. Su no existe se usa la plantilla predeterminada. Considere usar 'share_hidden_from_tree'.", - "share_favicon": "La nota de favicon se configurará en la página compartida. Por lo general, se desea configurarlo para que comparta la raíz y lo haga heredable. La nota de Favicon también debe estar en el subárbol compartido. Considere usar 'share_hidden_from_tree'.", - "is_owned_by_note": "es propiedad de una nota", - "other_notes_with_name": "Otras notas con nombre de {{attributeType}} \"{{attributeName}}\"", - "and_more": "... y {{count}} más.", - "print_landscape": "Al exportar a PDF, cambia la orientación de la página a paisaje en lugar de retrato.", - "print_page_size": "Al exportar a PDF, cambia el tamaño de la página. Valores soportados: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." - }, - "attribute_editor": { - "help_text_body1": "Para agregar una etiqueta, simplemente escriba, por ejemplo. #rock o si desea agregar también valor, p.e. #año = 2020", - "help_text_body2": "Para relación, escriba ~author = @, lo que debería abrir un autocompletado donde podrá buscar la nota deseada.", - "help_text_body3": "Alternativamente, puede agregar una etiqueta y una relación usando el botón + en el lado derecho.", - "save_attributes": "Guardar atributos ", - "add_a_new_attribute": "Agregar un nuevo atributo", - "add_new_label": "Agregar nueva etiqueta ", - "add_new_relation": "Agregar nueva relación ", - "add_new_label_definition": "Agregar nueva definición de etiqueta", - "add_new_relation_definition": "Agregar nueva definición de relación", - "placeholder": "Ingrese las etiquetas y relaciones aquí" - }, - "abstract_bulk_action": { - "remove_this_search_action": "Eliminar esta acción de búsqueda" - }, - "execute_script": { - "execute_script": "Ejecutar script", - "help_text": "Puede ejecutar scripts simples en las notas coincidentes.", - "example_1": "Por ejemplo, para agregar una cadena al título de una nota, use este pequeño script:", - "example_2": "Un ejemplo más complejo sería eliminar todos los atributos de las notas coincidentes:" - }, - "add_label": { - "add_label": "Agregar etiqueta", - "label_name_placeholder": "nombre de la etiqueta", - "label_name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", - "to_value": "a valor", - "new_value_placeholder": "nuevo valor", - "help_text": "Sobre todas las notas coincidentes:", - "help_text_item1": "crear una etiqueta dada si la nota aún no tiene una", - "help_text_item2": "o cambiar el valor de la etiqueta existente", - "help_text_note": "También puede llamar a este método sin valor, en tal caso se asignará una etiqueta a la nota sin valor." - }, - "delete_label": { - "delete_label": "Eliminar etiqueta", - "label_name_placeholder": "nombre de la etiqueta", - "label_name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." - }, - "rename_label": { - "rename_label": "Renombrar etiqueta", - "rename_label_from": "Renombrar etiqueta de", - "old_name_placeholder": "antiguo nombre", - "to": "A", - "new_name_placeholder": "nuevo nombre", - "name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." - }, - "update_label_value": { - "update_label_value": "Actualizar valor de etiqueta", - "label_name_placeholder": "nombre de la etiqueta", - "label_name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", - "to_value": "a valor", - "new_value_placeholder": "nuevo valor", - "help_text": "En todas las notas coincidentes, cambie el valor de la etiqueta existente.", - "help_text_note": "También puede llamar a este método sin valor, en tal caso se asignará una etiqueta a la nota sin valor." - }, - "delete_note": { - "delete_note": "Eliminar nota", - "delete_matched_notes": "Eliminar notas coincidentes", - "delete_matched_notes_description": "Esto eliminará las notas coincidentes.", - "undelete_notes_instruction": "Después de la eliminación, es posible recuperarlos desde el cuadro de diálogo Cambios recientes.", - "erase_notes_instruction": "Para eliminar las notas permanentemente, puede ir después de la eliminación a Opción -> Otro y dar clic en el botón \"Borrar notas eliminadas ahora\"." - }, - "delete_revisions": { - "delete_note_revisions": "Eliminar revisiones de notas", - "all_past_note_revisions": "Se eliminarán todas las revisiones anteriores de notas coincidentes. La nota en sí se conservará por completo. En otros términos, se eliminará el historial de la nota." - }, - "move_note": { - "move_note": "Mover nota", - "to": "a", - "target_parent_note": "nota padre objetivo", - "on_all_matched_notes": "En todas las notas coincidentes", - "move_note_new_parent": "mover nota al nuevo padre si la nota solo tiene un padre (es decir, la rama anterior es eliminada y una nueva rama es creada en el nuevo padre)", - "clone_note_new_parent": "clonar la nota al nuevo padre si la nota tiene múltiples clones/ramas (no es claro que rama debe de ser eliminada)", - "nothing_will_happen": "no pasará nada si la nota no se puede mover a la nota de destino (es decir, esto crearía un ciclo de árbol)" - }, - "rename_note": { - "rename_note": "Renombrar nota", - "rename_note_title_to": "Renombrar título de la nota a", - "new_note_title": "nuevo título de nota", - "click_help_icon": "Haga clic en el icono de ayuda a la derecha para ver todas las opciones", - "evaluated_as_js_string": "El valor dado se evalúa como una cadena de JavaScript y, por lo tanto, se puede enriquecer con contenido dinámico a través de la variable note inyectada (se cambia el nombre de la nota). Ejemplos:", - "example_note": "Nota: todas las notas coincidentes son renombradas a 'Nota'", - "example_new_title": "NUEVO: ${note.title} - los títulos de las notas coincidentes tienen el prefijo 'NUEVO: '", - "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - las notas coincidentes tienen el prefijo fecha-mes de creación de la nota", - "api_docs": "Consulte los documentos de API para nota y su propiedades dateCreatedObj/utcDateCreatedObj para obtener más detalles." - }, - "add_relation": { - "add_relation": "Agregar relación", - "relation_name": "nombre de relación", - "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", - "to": "a", - "target_note": "nota de destino", - "create_relation_on_all_matched_notes": "En todas las notas coincidentes, cree una relación determinada." - }, - "delete_relation": { - "delete_relation": "Eliminar relación", - "relation_name": "nombre de relación", - "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." - }, - "rename_relation": { - "rename_relation": "Renombrar relación", - "rename_relation_from": "Renombrar relación de", - "old_name": "antiguo nombre", - "to": "A", - "new_name": "nuevo nombre", - "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." - }, - "update_relation_target": { - "update_relation": "Relación de actualización", - "relation_name": "nombre de la relación", - "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", - "to": "a", - "target_note": "nota de destino", - "on_all_matched_notes": "En todas las notas coincidentes", - "change_target_note": "o cambiar la nota de destino de la relación existente", - "update_relation_target": "Actualizar destino de relación" - }, - "attachments_actions": { - "open_externally": "Abrir externamente", - "open_externally_title": "El archivo se abrirá en una aplicación externa y se observará en busca de cambios. Luego podrá volver a cargar la versión modificada en Trilium.", - "open_custom": "Abrir de forma personalizada", - "open_custom_title": "El archivo se abrirá en una aplicación externa y se observará en busca de cambios. Luego podrá volver a cargar la versión modificada en Trilium.", - "download": "Descargar", - "rename_attachment": "Renombrar archivo adjunto", - "upload_new_revision": "Subir nueva revisión", - "copy_link_to_clipboard": "Copiar enlace al portapapeles", - "convert_attachment_into_note": "Convertir archivo adjunto en nota", - "delete_attachment": "Eliminar archivo adjunto", - "upload_success": "Se ha subido una nueva revisión del archivo adjunto.", - "upload_failed": "Error al cargar una nueva revisión del archivo adjunto.", - "open_externally_detail_page": "Abrir un archivo adjunto externamente solo está disponible desde la página de detalles; primero haga clic en el detalle del archivo adjunto y repita la acción.", - "open_custom_client_only": "La apertura personalizada de archivos adjuntos solo se puede realizar desde el cliente.", - "delete_confirm": "¿Está seguro de que desea eliminar el archivo adjunto '{{title}}'?", - "delete_success": "El archivo adjunto '{{title}}' ha sido eliminado.", - "convert_confirm": "¿Está seguro de que desea convertir el archivo adjunto '{{title}}' en una nota separada?", - "convert_success": "El archivo adjunto '{{title}}' se ha convertido en una nota.", - "enter_new_name": "Por favor ingresa el nombre del nuevo archivo adjunto" - }, - "calendar": { - "mon": "Lun", - "tue": "Mar", - "wed": "Mié", - "thu": "Jue", - "fri": "Vie", - "sat": "Sáb", - "sun": "Dom", - "cannot_find_day_note": "No se puede encontrar la nota del día", - "cannot_find_week_note": "No se puede encontrar la nota de la semana", - "january": "Enero", - "febuary": "Febrero", - "march": "Marzo", - "april": "Abril", - "may": "Mayo", - "june": "Junio", - "july": "Julio", - "august": "Agosto", - "september": "Septiembre", - "october": "Octubre", - "november": "Noviembre", - "december": "Diciembre" - }, - "close_pane_button": { - "close_this_pane": "Cerrar este panel" - }, - "create_pane_button": { - "create_new_split": "Crear nueva división" - }, - "edit_button": { - "edit_this_note": "Editar esta nota" - }, - "show_toc_widget_button": { - "show_toc": "Mostrar tabla de contenido" - }, - "show_highlights_list_widget_button": { - "show_highlights_list": "Mostrar lista de destacados" - }, - "global_menu": { - "menu": "Menú", - "options": "Opciones", - "open_new_window": "Abrir nueva ventana", - "switch_to_mobile_version": "Cambiar a la versión móvil", - "switch_to_desktop_version": "Cambiar a la versión de escritorio", - "zoom": "Zoom", - "toggle_fullscreen": "Alternar pantalla completa", - "zoom_out": "Alejar", - "reset_zoom_level": "Restablecer nivel de zoom", - "zoom_in": "Acercar", - "configure_launchbar": "Configurar la barra de inicio", - "show_shared_notes_subtree": "Mostrar subárbol de notas compartidas", - "advanced": "Avanzado", - "open_dev_tools": "Abrir herramientas de desarrollo", - "open_sql_console": "Abrir la consola SQL", - "open_sql_console_history": "Abrir el historial de la consola SQL", - "open_search_history": "Abrir historial de búsqueda", - "show_backend_log": "Mostrar registro de backend", - "reload_hint": "Recargar puede ayudar con algunos fallos visuales sin reiniciar toda la aplicación.", - "reload_frontend": "Recargar interfaz", - "show_hidden_subtree": "Mostrar subárbol oculto", - "show_help": "Mostrar ayuda", - "about": "Acerca de Trilium Notes", - "logout": "Cerrar sesión", - "show-cheatsheet": "Mostrar hoja de trucos", - "toggle-zen-mode": "Modo Zen" - }, - "zen_mode": { - "button_exit": "Salir del modo Zen" - }, - "sync_status": { - "unknown": "

El estado de sincronización será conocido una vez que el siguiente intento de sincronización comience.

Dé clic para activar la sincronización ahora

", - "connected_with_changes": "

Conectado al servidor de sincronización.
Hay cambios pendientes que aún no se han sincronizado.

Dé clic para activar la sincronización.

", - "connected_no_changes": "

Conectado al servidor de sincronización.
Todos los cambios ya han sido sincronizados.

Dé clic para activar la sincronización.

", - "disconnected_with_changes": "

El establecimiento de la conexión con el servidor de sincronización no ha tenido éxito.
Hay algunos cambios pendientes que aún no se han sincronizado.

Dé clic para activar la sincronización.

", - "disconnected_no_changes": "

El establecimiento de la conexión con el servidor de sincronización no ha tenido éxito.
Todos los cambios conocidos han sido sincronizados.

Dé clic para activar la sincronización.

", - "in_progress": "La sincronización con el servidor está en progreso." - }, - "left_pane_toggle": { - "show_panel": "Mostrar panel", - "hide_panel": "Ocultar panel" - }, - "move_pane_button": { - "move_left": "Mover a la izquierda", - "move_right": "Mover a la derecha" - }, - "note_actions": { - "convert_into_attachment": "Convertir en archivo adjunto", - "re_render_note": "Volver a renderizar nota", - "search_in_note": "Buscar en nota", - "note_source": "Fuente de la nota", - "note_attachments": "Notas adjuntas", - "open_note_externally": "Abrir nota externamente", - "open_note_externally_title": "El archivo se abrirá en una aplicación externa y se observará en busca de cambios. Luego podrá volver a cargar la versión modificada en Trilium.", - "open_note_custom": "Abrir nota personalizada", - "import_files": "Importar archivos", - "export_note": "Exportar nota", - "delete_note": "Eliminar nota", - "print_note": "Imprimir nota", - "save_revision": "Guardar revisión", - "convert_into_attachment_failed": "La conversión de nota '{{title}}' falló.", - "convert_into_attachment_successful": "La nota '{{title}}' ha sido convertida a un archivo adjunto.", - "convert_into_attachment_prompt": "¿Está seguro que desea convertir la nota '{{title}}' en un archivo adjunto de la nota padre?", - "print_pdf": "Exportar como PDF..." - }, - "onclick_button": { - "no_click_handler": "El widget de botón '{{componentId}}' no tiene un controlador de clics definido" - }, - "protected_session_status": { - "active": "La sesión protegida está activa. Dé clic para salir de la sesión protegida.", - "inactive": "Dé clic para ingresar a la sesión protegida" - }, - "revisions_button": { - "note_revisions": "Revisiones de nota" - }, - "update_available": { - "update_available": "Actualización disponible" - }, - "note_launcher": { - "this_launcher_doesnt_define_target_note": "Este lanzador no define la nota de destino." - }, - "code_buttons": { - "execute_button_title": "Ejecutar script", - "trilium_api_docs_button_title": "Abrir documentación de la API de Trilium", - "save_to_note_button_title": "Guardar en nota", - "opening_api_docs_message": "Abriendo documentación API...", - "sql_console_saved_message": "La nota de la consola SQL se ha guardado en {{note_path}}" - }, - "copy_image_reference_button": { - "button_title": "Copiar la referencia de la imagen al portapapeles; se puede pegar en una nota de texto." - }, - "hide_floating_buttons_button": { - "button_title": "Ocultar botones" - }, - "show_floating_buttons_button": { - "button_title": "Mostrar botones" - }, - "svg_export_button": { - "button_title": "Exportar diagrama como SVG" - }, - "relation_map_buttons": { - "create_child_note_title": "Crear una nueva subnota y agregarla a este mapa de relaciones", - "reset_pan_zoom_title": "Restablecer la panorámica y el zoom a las coordenadas y ampliación iniciales", - "zoom_in_title": "Acercar", - "zoom_out_title": "Alejar" - }, - "zpetne_odkazy": { - "backlink": "{{count}} Vínculo de retroceso", - "backlinks": "{{count}} vínculos de retroceso", - "relation": "relación" - }, - "mobile_detail_menu": { - "insert_child_note": "Insertar subnota", - "delete_this_note": "Eliminar esta nota", - "error_cannot_get_branch_id": "No se puede obtener el branchID del notePath '{{notePath}}'", - "error_unrecognized_command": "Comando no reconocido {{command}}" - }, - "note_icon": { - "change_note_icon": "Cambiar icono de nota", - "category": "Categoría:", - "search": "Búsqueda:", - "reset-default": "Restablecer a icono por defecto" - }, - "basic_properties": { - "note_type": "Tipo de nota", - "editable": "Editable", - "basic_properties": "Propiedades básicas", - "language": "Idioma" - }, - "book_properties": { - "view_type": "Tipo de vista", - "grid": "Cuadrícula", - "list": "Lista", - "collapse_all_notes": "Contraer todas las notas", - "expand_all_children": "Ampliar todas las subnotas", - "collapse": "Colapsar", - "expand": "Expandir", - "invalid_view_type": "Tipo de vista inválida '{{type}}'", - "calendar": "Calendario" - }, - "edited_notes": { - "no_edited_notes_found": "Aún no hay notas editadas en este día...", - "title": "Notas editadas", - "deleted": "(eliminado)" - }, - "file_properties": { - "note_id": "ID de nota", - "original_file_name": "Nombre del archivo original", - "file_type": "Tipo de archivo", - "file_size": "Tamaño del archivo", - "download": "Descargar", - "open": "Abrir", - "upload_new_revision": "Subir nueva revisión", - "upload_success": "Se ha subido una nueva revisión de archivo.", - "upload_failed": "Error al cargar una nueva revisión de archivo.", - "title": "Archivo" - }, - "image_properties": { - "original_file_name": "Nombre del archivo original", - "file_type": "Tipo de archivo", - "file_size": "Tamaño del archivo", - "download": "Descargar", - "open": "Abrir", - "copy_reference_to_clipboard": "Copiar referencia al portapapeles", - "upload_new_revision": "Subir nueva revisión", - "upload_success": "Se ha subido una nueva revisión de imagen.", - "upload_failed": "Error al cargar una nueva revisión de imagen: {{message}}", - "title": "Imagen" - }, - "inherited_attribute_list": { - "title": "Atributos heredados", - "no_inherited_attributes": "Sin atributos heredados." - }, - "note_info_widget": { - "note_id": "ID de nota", - "created": "Creado", - "modified": "Modificado", - "type": "Tipo", - "note_size": "Tamaño de nota", - "note_size_info": "El tamaño de la nota proporciona una estimación aproximada de los requisitos de almacenamiento para esta nota. Toma en cuenta el contenido de la nota y el contenido de sus revisiones de nota.", - "calculate": "calcular", - "subtree_size": "(tamaño del subárbol: {{size}} en {{count}} notas)", - "title": "Información de nota" - }, - "note_map": { - "open_full": "Ampliar al máximo", - "collapse": "Contraer al tamaño normal", - "title": "Mapa de notas", - "fix-nodes": "Fijar nodos", - "link-distance": "Distancia de enlace" - }, - "note_paths": { - "title": "Rutas de nota", - "clone_button": "Clonar nota a nueva ubicación...", - "intro_placed": "Esta nota está colocada en las siguientes rutas:", - "intro_not_placed": "Esta nota aún no se ha colocado en el árbol de notas.", - "outside_hoisted": "Esta ruta está fuera de la nota anclada y habría que bajarla.", - "archived": "Archivado", - "search": "Buscar" - }, - "note_properties": { - "this_note_was_originally_taken_from": "Esta nota fue tomada originalmente de:", - "info": "Información" - }, - "owned_attribute_list": { - "owned_attributes": "Atributos propios" - }, - "promoted_attributes": { - "promoted_attributes": "Atributos promovidos", - "unset-field-placeholder": "no establecido", - "url_placeholder": "http://sitioweb...", - "open_external_link": "Abrir enlace externo", - "unknown_label_type": "Tipo de etiqueta desconocido '{{type}}'", - "unknown_attribute_type": "Tipo de atributo desconocido '{{type}}'", - "add_new_attribute": "Agregar nuevo atributo", - "remove_this_attribute": "Eliminar este atributo" - }, - "script_executor": { - "query": "Consulta", - "script": "Script", - "execute_query": "Ejecutar consulta", - "execute_script": "Ejecutar script" - }, - "search_definition": { - "add_search_option": "Agregar opción de búsqueda:", - "search_string": "cadena de búsqueda", - "search_script": "script de búsqueda", - "ancestor": "antepasado", - "fast_search": "búsqueda rápida", - "fast_search_description": "La opción de búsqueda rápida desactiva la búsqueda de texto completo del contenido de las notas, lo que podría acelerar la búsqueda en bases de datos grandes.", - "include_archived": "incluir notas archivadas", - "include_archived_notes_description": "Las notas archivadas se excluyen por defecto de los resultados de búsqueda; con esta opción se incluirán.", - "order_by": "ordenar por", - "limit": "límite", - "limit_description": "Limitar el número de resultados", - "debug": "depurar", - "debug_description": "La depuración imprimirá información de depuración adicional en la consola para ayudar a depurar consultas complejas", - "action": "acción", - "search_button": "Buscar Enter", - "search_execute": "Buscar y ejecutar acciones", - "save_to_note": "Guardar en nota", - "search_parameters": "Parámetros de búsqueda", - "unknown_search_option": "Opción de búsqueda desconocida {{searchOptionName}}", - "search_note_saved": "La nota de búsqueda se ha guardado en {{- notePathTitle}}", - "actions_executed": "Las acciones han sido ejecutadas." - }, - "similar_notes": { - "title": "Notas similares", - "no_similar_notes_found": "No se encontraron notas similares." - }, - "abstract_search_option": { - "remove_this_search_option": "Eliminar esta opción de búsqueda", - "failed_rendering": "Error al renderizar opción de búsqueda: {{dto}} con error: {{error}} {{stack}}" - }, - "ancestor": { - "label": "Antepasado", - "placeholder": "buscar nota por su nombre", - "depth_label": "profundidad", - "depth_doesnt_matter": "no importa", - "depth_eq": "es exactamente {{count}}", - "direct_children": "hijos directos", - "depth_gt": "es mayor que {{count}}", - "depth_lt": "es menor que {{count}}" - }, - "debug": { - "debug": "Depurar", - "debug_info": "Al depurar se imprimirá información de depuración adicional en la consola para ayudar a depurar consultas complejas.", - "access_info": "Para acceder a la información de depuración, ejecute la consulta y dé clic en \"Mostrar registro de backend\" en la esquina superior izquierda." - }, - "fast_search": { - "fast_search": "Búsqueda rápida", - "description": "La opción de búsqueda rápida desactiva la búsqueda de texto completo del contenido de las notas, lo que podría acelerar la búsqueda en bases de datos grandes." - }, - "include_archived_notes": { - "include_archived_notes": "Incluir notas archivadas" - }, - "limit": { - "limit": "Límite", - "take_first_x_results": "Tomar solo los primeros X resultados especificados." - }, - "order_by": { - "order_by": "Ordenar por", - "relevancy": "Relevancia (predeterminado)", - "title": "Título", - "date_created": "Fecha de creación", - "date_modified": "Fecha de la última modificación", - "content_size": "Tamaño del contenido de la nota", - "content_and_attachments_size": "Tenga en cuenta el tamaño del contenido, incluidos los archivos adjuntos", - "content_and_attachments_and_revisions_size": "Tenga en cuenta el tamaño del contenido, incluidos los archivos adjuntos y las revisiones", - "revision_count": "Número de revisiones", - "children_count": "Número de subnotas", - "parent_count": "Número de clones", - "owned_label_count": "Número de etiquetas", - "owned_relation_count": "Número de relaciones", - "target_relation_count": "Número de relaciones dirigidas a la nota", - "random": "Orden aleatorio", - "asc": "Ascendente (predeterminado)", - "desc": "Descendente" - }, - "search_script": { - "title": "Script de búsqueda:", - "placeholder": "buscar nota por su nombre", - "description1": "El script de búsqueda permite definir los resultados de la búsqueda ejecutando un script. Esto proporciona la máxima flexibilidad cuando la búsqueda estándar no es suficiente.", - "description2": "El script de búsqueda debe ser de tipo \"código\" y subtipo \"JavaScript backend\". El script tiene que devolver un arreglo de noteIds o notas.", - "example_title": "Véa este ejemplo:", - "example_code": "// 1. prefiltro usando búsqueda estandar\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. aplicar criterios de búsqueda personalizada\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", - "note": "Tenga en cuenta que el script de búsqueda y la cadena de búsqueda no se pueden combinar entre sí." - }, - "search_string": { - "title_column": "Cadena de búsqueda:", - "placeholder": "palabras clave de texto completo, #etiqueta = valor...", - "search_syntax": "Sintaxis de búsqueda", - "also_see": "ver también", - "complete_help": "ayuda completa sobre la sintaxis de búsqueda", - "full_text_search": "Simplemente ingrese cualquier texto para realizar una búsqueda de texto completo", - "label_abc": "devuelve notas con etiqueta abc", - "label_year": "coincide con las notas con el año de la etiqueta que tiene valor 2019", - "label_rock_pop": "coincide con notas que tienen etiquetas tanto de rock como de pop", - "label_rock_or_pop": "sólo una de las etiquetas debe estar presente", - "label_year_comparison": "comparación numérica (también >, >=, <).", - "label_date_created": "notas creadas en el último mes", - "error": "Error de búsqueda: {{error}}", - "search_prefix": "Buscar:" - }, - "attachment_detail": { - "open_help_page": "Abrir página de ayuda en archivos adjuntos", - "owning_note": "Nota dueña: ", - "you_can_also_open": ", también puede abrir el ", - "list_of_all_attachments": "Lista de todos los archivos adjuntos", - "attachment_deleted": "Este archivo adjunto ha sido eliminado." - }, - "attachment_list": { - "open_help_page": "Abrir página de ayuda en archivos adjuntos", - "owning_note": "Nota dueña: ", - "upload_attachments": "Subir archivos adjuntos", - "no_attachments": "Esta nota no tiene archivos adjuntos." - }, - "book": { - "no_children_help": "Esta nota de tipo libro no tiene ninguna subnota así que no hay nada que mostrar. Véa la wiki para más detalles." - }, - "editable_code": { - "placeholder": "Escriba el contenido de su nota de código aquí..." - }, - "editable_text": { - "placeholder": "Escribe aquí el contenido de tu nota..." - }, - "empty": { - "open_note_instruction": "Abra una nota escribiendo el título de la nota en la entrada a continuación o elija una nota en el árbol.", - "search_placeholder": "buscar una nota por su nombre", - "enter_workspace": "Ingresar al espacio de trabajo {{title}}" - }, - "file": { - "file_preview_not_available": "La vista previa del archivo no está disponible para este formato de archivo.", - "too_big": "La vista previa solo muestra los primeros {{maxNumChars}} caracteres del archivo por razones de rendimiento. Descargue el archivo y ábralo externamente para poder ver todo el contenido." - }, - "protected_session": { - "enter_password_instruction": "Para mostrar una nota protegida es necesario ingresar su contraseña:", - "start_session_button": "Iniciar sesión protegida Enter", - "started": "La sesión protegida ha iniciado.", - "wrong_password": "Contraseña incorrecta.", - "protecting-finished-successfully": "La protección finalizó exitosamente.", - "unprotecting-finished-successfully": "La desprotección finalizó exitosamente.", - "protecting-in-progress": "Protección en progreso: {{count}}", - "unprotecting-in-progress-count": "Desprotección en progreso: {{count}}", - "protecting-title": "Estado de protección", - "unprotecting-title": "Estado de desprotección" - }, - "relation_map": { - "open_in_new_tab": "Abrir en nueva pestaña", - "remove_note": "Quitar nota", - "edit_title": "Editar título", - "rename_note": "Cambiar nombre de nota", - "enter_new_title": "Ingrese el nuevo título de la nota:", - "remove_relation": "Eliminar relación", - "confirm_remove_relation": "¿Estás seguro de que deseas eliminar la relación?", - "specify_new_relation_name": "Especifique el nuevo nombre de la relación (caracteres permitidos: alfanuméricos, dos puntos y guión bajo):", - "connection_exists": "La conexión '{{name}}' entre estas notas ya existe.", - "start_dragging_relations": "Empiece a arrastrar relaciones desde aquí y suéltelas en otra nota.", - "note_not_found": "¡Nota {{noteId}} no encontrada!", - "cannot_match_transform": "No se puede coincidir con la transformación: {{transform}}", - "note_already_in_diagram": "Note \"{{title}}\" is already in the diagram.", - "enter_title_of_new_note": "Ingrese el título de la nueva nota", - "default_new_note_title": "nueva nota", - "click_on_canvas_to_place_new_note": "Haga clic en el lienzo para colocar una nueva nota" - }, - "render": { - "note_detail_render_help_1": "Esta nota de ayuda se muestra porque esta nota de tipo Renderizar HTML no tiene la relación requerida para funcionar correctamente.", - "note_detail_render_help_2": "El tipo de nota Render HTML es usado para scripting. De forma resumida, tiene una nota con código HTML (opcionalmente con algo de JavaScript) y esta nota la renderizará. Para que funcione, es necesario definir una relación llamada \"renderNote\" apuntando a la nota HTML nota a renderizar." - }, - "web_view": { - "web_view": "Vista web", - "embed_websites": "La nota de tipo Web View le permite insertar sitios web en Trilium.", - "create_label": "Para comenzar, por favor cree una etiqueta con una dirección URL que desee empotrar, e.g. #webViewSrc=\"https://www.google.com\"" - }, - "backend_log": { - "refresh": "Refrescar" - }, - "consistency_checks": { - "title": "Comprobación de coherencia", - "find_and_fix_button": "Buscar y solucionar problemas de coherencia", - "finding_and_fixing_message": "Buscando y solucionando problemas de coherencia...", - "issues_fixed_message": "Los problemas de coherencia han sido solucionados." - }, - "database_anonymization": { - "title": "Anonimización de bases de datos", - "full_anonymization": "Anonimización total", - "full_anonymization_description": "Esta acción creará una nueva copia de la base de datos y la anonimizará (eliminará todo el contenido de las notas y dejará solo la estructura y algunos metadatos no confidenciales) para compartirla en línea con fines de depuración sin temor a filtrar sus datos personales.", - "save_fully_anonymized_database": "Guarde la base de datos completamente anónima", - "light_anonymization": "Anonimización ligera", - "light_anonymization_description": "Esta acción creará una nueva copia de la base de datos y realizará una ligera anonimización en ella; específicamente, solo se eliminará el contenido de todas las notas, pero los títulos y atributos permanecerán. Además, se mantendrán las notas de script JS frontend/backend personalizadas y los widgets personalizados. Esto proporciona más contexto para depurar los problemas.", - "choose_anonymization": "Puede decidir usted mismo si desea proporcionar una base de datos total o ligeramente anónima. Incluso una base de datos totalmente anónima es muy útil; sin embargo, en algunos casos, una base de datos ligeramente anónima puede acelerar el proceso de identificación y corrección de errores.", - "save_lightly_anonymized_database": "Guarde una base de datos ligeramente anónima", - "existing_anonymized_databases": "Bases de datos anónimas existentes", - "creating_fully_anonymized_database": "Creando una base de datos totalmente anónima...", - "creating_lightly_anonymized_database": "Creando una base de datos ligeramente anónima...", - "error_creating_anonymized_database": "No se pudo crear una base de datos anónima; consulte los registros de backend para obtener más detalles", - "successfully_created_fully_anonymized_database": "Se creó una base de datos completamente anónima en {{anonymizedFilePath}}", - "successfully_created_lightly_anonymized_database": "Se creó una base de datos ligeramente anónima en {{anonymizedFilePath}}", - "no_anonymized_database_yet": "Aún no hay base de datos anónima." - }, - "database_integrity_check": { - "title": "Verificación de integridad de la base de datos", - "description": "Esto verificará que la base de datos no esté dañada en el nivel SQLite. Puede que tarde algún tiempo, dependiendo del tamaño de la base de datos.", - "check_button": "Verificar la integridad de la base de datos", - "checking_integrity": "Comprobando la integridad de la base de datos...", - "integrity_check_succeeded": "La verificación de integridad fue exitosa; no se encontraron problemas.", - "integrity_check_failed": "La verificación de integridad falló: {{results}}" - }, - "sync": { - "title": "Sincronizar", - "force_full_sync_button": "Forzar sincronización completa", - "fill_entity_changes_button": "Llenar registros de cambios de entidad", - "full_sync_triggered": "Sincronización completa activada", - "filling_entity_changes": "Rellenar filas de cambios de entidad...", - "sync_rows_filled_successfully": "Sincronizar filas completadas correctamente", - "finished-successfully": "La sincronización finalizó exitosamente.", - "failed": "La sincronización falló: {{message}}" - }, - "vacuum_database": { - "title": "Limpiar base de datos", - "description": "Esto reconstruirá la base de datos, lo que normalmente dará como resultado un archivo de base de datos más pequeño. En realidad, no se cambiará ningún dato.", - "button_text": "Limpiar base de datos", - "vacuuming_database": "Limpiando base de datos...", - "database_vacuumed": "La base de datos ha sido limpiada" - }, - "fonts": { - "theme_defined": "Tema definido", - "fonts": "Fuentes", - "main_font": "Fuente principal", - "font_family": "Familia de fuentes", - "size": "Tamaño", - "note_tree_font": "Fuente del árbol de notas", - "note_detail_font": "Fuente de detalle de nota", - "monospace_font": "Fuente Monospace (código)", - "note_tree_and_detail_font_sizing": "Tenga en cuenta que el tamaño de fuente del árbol y de los detalles es relativo a la configuración del tamaño de fuente principal.", - "not_all_fonts_available": "Es posible que no todas las fuentes enumeradas estén disponibles en su sistema.", - "apply_font_changes": "Para aplicar cambios de fuente, haga clic en", - "reload_frontend": "recargar la interfaz", - "generic-fonts": "Fuentes genéricas", - "sans-serif-system-fonts": "Fuentes Sans-serif del sistema", - "serif-system-fonts": "Fuentes Serif del sistema", - "monospace-system-fonts": "Fuentes Monoespaciadas del sistema", - "handwriting-system-fonts": "Fuentes a mano alzada del sistema", - "serif": "Serif", - "sans-serif": "Sans Serif", - "monospace": "Monoespaciada", - "system-default": "Predeterminada del sistema" - }, - "max_content_width": { - "title": "Ancho del contenido", - "default_description": "Trilium limita de forma predeterminada el ancho máximo del contenido para mejorar la legibilidad de ventanas maximizadas en pantallas anchas.", - "max_width_label": "Ancho máximo del contenido en píxeles", - "max_width_unit": "píxeles", - "apply_changes_description": "Para aplicar cambios en el ancho del contenido, haga clic en", - "reload_button": "recargar la interfaz", - "reload_description": "cambios desde las opciones de apariencia" - }, - "native_title_bar": { - "title": "Barra de título nativa (requiere reiniciar la aplicación)", - "enabled": "activado", - "disabled": "desactivado" - }, - "ribbon": { - "widgets": "Widgets de cinta", - "promoted_attributes_message": "La pestaña de la cinta Atributos promovidos se abrirá automáticamente si los atributos promovidos están presentes en la nota", - "edited_notes_message": "La pestaña de la cinta Notas editadas se abrirá automáticamente en las notas del día" - }, - "theme": { - "title": "Tema", - "theme_label": "Tema", - "override_theme_fonts_label": "Sobreescribir fuentes de tema", - "auto_theme": "Automático", - "light_theme": "Claro", - "dark_theme": "Oscuro", - "triliumnext": "TriliumNext Beta (Sigue el esquema de color del sistema)", - "triliumnext-light": "TriliumNext Beta (Claro)", - "triliumnext-dark": "TriliumNext Beta (Oscuro)", - "layout": "Disposición", - "layout-vertical-title": "Vertical", - "layout-horizontal-title": "Horizontal", - "layout-vertical-description": "la barra del lanzador está en la izquierda (por defecto)", - "layout-horizontal-description": "la barra de lanzamiento está debajo de la barra de pestañas, la barra de pestañas ahora tiene ancho completo." - }, - "ai_llm": { - "not_started": "No iniciado", - "title": "IA y ajustes de embeddings", - "processed_notes": "Notas procesadas", - "total_notes": "Notas totales", - "progress": "Progreso", - "queued_notes": "Notas en fila", - "failed_notes": "Notas fallidas", - "last_processed": "Última procesada", - "refresh_stats": "Recargar estadísticas", - "enable_ai_features": "Habilitar características IA/LLM", - "enable_ai_description": "Habilitar características de IA como resumen de notas, generación de contenido y otras capacidades LLM", - "openai_tab": "OpenAI", - "anthropic_tab": "Anthropic", - "voyage_tab": "Voyage AI", - "ollama_tab": "Ollama", - "enable_ai": "Habilitar características IA/LLM", - "enable_ai_desc": "Habilitar características de IA como resumen de notas, generación de contenido y otras capacidades LLM", - "provider_configuration": "Configuración de proveedor de IA", - "provider_precedence": "Precedencia de proveedor", - "provider_precedence_description": "Lista de proveedores en orden de precedencia separada por comas (p.e., 'openai,anthropic,ollama')", - "temperature": "Temperatura", - "temperature_description": "Controla la aleatoriedad de las respuestas (0 = determinista, 2 = aleatoriedad máxima)", - "system_prompt": "Mensaje de sistema", - "system_prompt_description": "Mensaje de sistema predeterminado utilizado para todas las interacciones de IA", - "openai_configuration": "Configuración de OpenAI", - "openai_settings": "Ajustes de OpenAI", - "api_key": "Clave API", - "url": "URL base", - "model": "Modelo", - "openai_api_key_description": "Tu clave API de OpenAI para acceder a sus servicios de IA", - "anthropic_api_key_description": "Tu clave API de Anthropic para acceder a los modelos Claude", - "default_model": "Modelo por defecto", - "openai_model_description": "Ejemplos: gpt-4o, gpt-4-turbo, gpt-3.5-turbo", - "base_url": "URL base", - "openai_url_description": "Por defecto: https://api.openai.com/v1", - "anthropic_settings": "Ajustes de Anthropic", - "anthropic_url_description": "URL base para la API de Anthropic (por defecto: https://api.anthropic.com)", - "anthropic_model_description": "Modelos Claude de Anthropic para el completado de chat", - "voyage_settings": "Ajustes de Voyage AI", - "ollama_settings": "Ajustes de Ollama", - "ollama_url_description": "URL para la API de Ollama (por defecto: http://localhost:11434)", - "ollama_model_description": "Modelo de Ollama a usar para el completado de chat", - "anthropic_configuration": "Configuración de Anthropic", - "voyage_configuration": "Configuración de Voyage AI", - "voyage_url_description": "Por defecto: https://api.voyageai.com/v1", - "ollama_configuration": "Configuración de Ollama", - "enable_ollama": "Habilitar Ollama", - "enable_ollama_description": "Habilitar Ollama para uso de modelo de IA local", - "ollama_url": "URL de Ollama", - "ollama_model": "Modelo de Ollama", - "refresh_models": "Refrescar modelos", - "refreshing_models": "Refrescando...", - "enable_automatic_indexing": "Habilitar indexado automático", - "rebuild_index": "Recrear índice", - "rebuild_index_error": "Error al comenzar la reconstrucción del índice. Consulte los registros para más detalles.", - "note_title": "Título de nota", - "error": "Error", - "last_attempt": "Último intento", - "actions": "Acciones", - "retry": "Reintentar", - "partial": "{{ percentage }}% completado", - "retry_queued": "Nota en la cola para reintento", - "retry_failed": "Hubo un fallo al poner en la cola a la nota para reintento", - "max_notes_per_llm_query": "Máximo de notas por consulta", - "max_notes_per_llm_query_description": "Número máximo de notas similares a incluir en el contexto IA", - "active_providers": "Proveedores activos", - "disabled_providers": "Proveedores deshabilitados", - "remove_provider": "Eliminar proveedor de la búsqueda", - "restore_provider": "Restaurar proveedor a la búsqueda", - "similarity_threshold": "Bias de similaridad", - "similarity_threshold_description": "Puntuación de similaridad mínima (0-1) para incluir notas en el contexto para consultas LLM", - "reprocess_index": "Reconstruir el índice de búsqueda", - "reprocessing_index": "Reconstruyendo...", - "reprocess_index_started": "La optimización de índice de búsqueda comenzó en segundo plano", - "reprocess_index_error": "Error al reconstruir el índice de búsqueda", - "index_rebuild_progress": "Progreso de reconstrucción de índice", - "index_rebuilding": "Optimizando índice ({{percentage}}%)", - "index_rebuild_complete": "Optimización de índice completa", - "index_rebuild_status_error": "Error al comprobar el estado de reconstrucción del índice", - "never": "Nunca", - "processing": "Procesando ({{percentage}}%)", - "incomplete": "Incompleto ({{percentage}}%)", - "complete": "Completo (100%)", - "refreshing": "Refrescando...", - "auto_refresh_notice": "Refrescar automáticamente cada {{seconds}} segundos", - "note_queued_for_retry": "Nota en la cola para reintento", - "failed_to_retry_note": "Hubo un fallo al reintentar nota", - "all_notes_queued_for_retry": "Todas las notas con fallo agregadas a la cola para reintento", - "failed_to_retry_all": "Hubo un fallo al reintentar notas", - "ai_settings": "Ajustes de IA", - "api_key_tooltip": "Clave API para acceder al servicio", - "empty_key_warning": { - "anthropic": "La clave API de Anthropic está vacía. Por favor, ingrese una clave API válida.", - "openai": "La clave API de OpenAI está vacía. Por favor, ingrese una clave API válida.", - "voyage": "La clave API de Voyage está vacía. Por favor, ingrese una clave API válida.", - "ollama": "La clave API de Ollama está vacía. Por favor, ingrese una clave API válida." - }, - "agent": { - "processing": "Procesando...", - "thinking": "Pensando...", - "loading": "Cargando...", - "generating": "Generando..." - }, - "name": "IA", - "openai": "OpenAI", - "use_enhanced_context": "Utilizar contexto mejorado", - "enhanced_context_description": "Provee a la IA con más contexto de la nota y sus notas relacionadas para obtener mejores respuestas", - "show_thinking": "Mostrar pensamiento", - "show_thinking_description": "Mostrar la cadena del proceso de pensamiento de la IA", - "enter_message": "Ingrese su mensaje...", - "error_contacting_provider": "Error al contactar con su proveedor de IA. Por favor compruebe sus ajustes y conexión a internet.", - "error_generating_response": "Error al generar respuesta de IA", - "index_all_notes": "Indexar todas las notas", - "index_status": "Estado de índice", - "indexed_notes": "Notas indexadas", - "indexing_stopped": "Indexado detenido", - "indexing_in_progress": "Indexado en progreso...", - "last_indexed": "Último indexado", - "n_notes_queued": "{{ count }} nota agregada a la cola para indexado", - "n_notes_queued_plural": "{{ count }} notas agregadas a la cola para indexado", - "note_chat": "Chat de nota", - "notes_indexed": "{{ count }} nota indexada", - "notes_indexed_plural": "{{ count }} notas indexadas", - "sources": "Fuentes", - "start_indexing": "Comenzar indexado", - "use_advanced_context": "Usar contexto avanzado", - "ollama_no_url": "Ollama no está configurado. Por favor ingrese una URL válida.", - "chat": { - "root_note_title": "Chats de IA", - "root_note_content": "Esta nota contiene tus conversaciones de chat de IA guardadas.", - "new_chat_title": "Nuevo chat", - "create_new_ai_chat": "Crear nuevo chat de IA" - }, - "create_new_ai_chat": "Crear nuevo chat de IA", - "configuration_warnings": "Hay algunos problemas con su configuración de IA. Por favor compruebe sus ajustes.", - "experimental_warning": "La característica de LLM aún es experimental - ha sido advertido.", - "selected_provider": "Proveedor seleccionado", - "selected_provider_description": "Elija el proveedor de IA para el chat y características de completado", - "select_model": "Seleccionar modelo...", - "select_provider": "Seleccionar proveedor..." - }, - "zoom_factor": { - "title": "Factor de zoom (solo versión de escritorio)", - "description": "El zoom también se puede controlar con los atajos CTRL+- y CTRL+=." - }, - "code_auto_read_only_size": { - "title": "Tamaño automático de solo lectura", - "description": "El tamaño de nota de solo lectura automático es el tamaño después del cual las notas se mostrarán en modo de solo lectura (por razones de rendimiento).", - "label": "Tamaño automático de solo lectura (notas de código)", - "unit": "caracteres" - }, - "code-editor-options": { - "title": "Editor" - }, - "code_mime_types": { - "title": "Tipos MIME disponibles en el menú desplegable" - }, - "vim_key_bindings": { - "use_vim_keybindings_in_code_notes": "Atajos de teclas de Vim", - "enable_vim_keybindings": "Habilitar los atajos de teclas de Vim en la notas de código (no es modo ex)" - }, - "wrap_lines": { - "wrap_lines_in_code_notes": "Ajustar líneas en notas de código", - "enable_line_wrap": "Habilitar ajuste de línea (es posible que el cambio requiera una recarga de interfaz para que surta efecto)" - }, - "images": { - "images_section_title": "Imágenes", - "download_images_automatically": "Descargar imágenes automáticamente para usarlas sin conexión.", - "download_images_description": "El HTML pegado puede contener referencias a imágenes en línea; Trilium encontrará esas referencias y descargará las imágenes para que estén disponibles sin conexión.", - "enable_image_compression": "Habilitar la compresión de imágenes", - "max_image_dimensions": "Ancho/alto máximo de una imagen en píxeles (la imagen cambiará de tamaño si excede esta configuración).", - "max_image_dimensions_unit": "píxeles", - "jpeg_quality_description": "Calidad JPEG (10 - peor calidad, 100 - mejor calidad, se recomienda 50 - 85)" - }, - "attachment_erasure_timeout": { - "attachment_erasure_timeout": "Tiempo de espera para borrar archivos adjuntos", - "attachment_auto_deletion_description": "Los archivos adjuntos se eliminan (y borran) automáticamente si ya no se hace referencia a ellos en su nota después de un tiempo de espera definido.", - "erase_attachments_after": "Borrar archivos adjuntos después de:", - "manual_erasing_description": "También puede activar el borrado manualmente (sin considerar el tiempo de espera definido anteriormente):", - "erase_unused_attachments_now": "Borrar ahora los archivos adjuntos no utilizados en la nota", - "unused_attachments_erased": "Los archivos adjuntos no utilizados se han eliminado." - }, - "network_connections": { - "network_connections_title": "Conexiones de red", - "check_for_updates": "Buscar actualizaciones automáticamente" - }, - "note_erasure_timeout": { - "note_erasure_timeout_title": "Tiempo de espera de borrado de notas", - "note_erasure_description": "Las notas eliminadas (y los atributos, las revisiones ...) en principio solo están marcadas como eliminadas y es posible recuperarlas del diálogo de Notas recientes. Después de un período de tiempo, las notas eliminadas son \" borradas\", lo que significa que su contenido ya no es recuperable. Esta configuración le permite configurar la longitud del período entre eliminar y borrar la nota.", - "erase_notes_after": "Borrar notas después de:", - "manual_erasing_description": "También puede activar el borrado manualmente (sin considerar el tiempo de espera definido anteriormente):", - "erase_deleted_notes_now": "Borrar notas eliminadas ahora", - "deleted_notes_erased": "Las notas eliminadas han sido borradas." - }, - "revisions_snapshot_interval": { - "note_revisions_snapshot_interval_title": "Intervalo de instantáneas de revisiones de notas", - "note_revisions_snapshot_description": "El intervalo de tiempo de la instantánea de revisión de nota es el tiempo después de lo cual se creará una nueva revisión para la nota. Ver wiki para obtener más información.", - "snapshot_time_interval_label": "Intervalo de tiempo de la instantánea de revisión de notas:" - }, - "revisions_snapshot_limit": { - "note_revisions_snapshot_limit_title": "Límite de respaldos de revisiones de nota", - "note_revisions_snapshot_limit_description": "El límite de número de respaldos de revisiones de notas se refiere al número máximo de revisiones que pueden guardarse para cada nota. Donde -1 significa sin límite, 0 significa borrar todas las revisiones. Puede establecer el máximo de revisiones para una sola nota a través de la etiqueta #versioningLimit.", - "snapshot_number_limit_label": "Número límite de respaldos de revisiones de nota:", - "snapshot_number_limit_unit": "respaldos", - "erase_excess_revision_snapshots": "Eliminar el exceso de respaldos de revisiones ahora", - "erase_excess_revision_snapshots_prompt": "El exceso de respaldos de revisiones han sido eliminadas." - }, - "search_engine": { - "title": "Motor de búsqueda", - "custom_search_engine_info": "El motor de búsqueda personalizado requiere que se establezcan un nombre y una URL. Si alguno de estos no está configurado, DuckDuckGo se utilizará como motor de búsqueda predeterminado.", - "predefined_templates_label": "Plantillas de motor de búsqueda predefinidas", - "bing": "Bing", - "baidu": "Baidu", - "duckduckgo": "DuckDuckGo", - "google": "Google", - "custom_name_label": "Nombre del motor de búsqueda personalizado", - "custom_name_placeholder": "Personalizar el nombre del motor de búsqueda", - "custom_url_label": "La URL del motor de búsqueda personalizado debe incluir {keyword} como marcador de posición para el término de búsqueda.", - "custom_url_placeholder": "Personalizar la URL del motor de búsqueda", - "save_button": "Guardar" - }, - "tray": { - "title": "Bandeja de sistema", - "enable_tray": "Habilitar bandeja (es necesario reiniciar Trilium para que este cambio surta efecto)" - }, - "heading_style": { - "title": "Estilo de título", - "plain": "Plano", - "underline": "Subrayar", - "markdown": "Estilo Markdown" - }, - "highlights_list": { - "title": "Lista de aspectos destacados", - "description": "Puede personalizar la lista de aspectos destacados que se muestra en el panel derecho:", - "bold": "Texto en negrita", - "italic": "Texto en cursiva", - "underline": "Texto subrayado", - "color": "Texto con color", - "bg_color": "Texto con color de fondo", - "visibility_title": "Visibilidad de la lista de aspectos destacados", - "visibility_description": "Puede ocultar el widget de aspectos destacados por nota agregando una etiqueta #hideHighlightWidget.", - "shortcut_info": "Puede configurar un método abreviado de teclado para alternar rápidamente el panel derecho (incluidos los aspectos destacados) en Opciones -> Atajos (nombre 'toggleRightPane')." - }, - "table_of_contents": { - "title": "Tabla de contenido", - "description": "La tabla de contenido aparecerá en las notas de texto cuando la nota tenga más de un número definido de títulos. Puede personalizar este número:", - "unit": "títulos", - "disable_info": "También puede utilizar esta opción para desactivar la TDC (TOC) de forma efectiva estableciendo un número muy alto.", - "shortcut_info": "Puede configurar un atajo de teclado para alternar rápidamente el panel derecho (incluido el TDC) en Opciones -> Atajos (nombre 'toggleRightPane')." - }, - "text_auto_read_only_size": { - "title": "Tamaño para modo de solo lectura automático", - "description": "El tamaño de nota de solo lectura automático es el tamaño después del cual las notas se mostrarán en modo de solo lectura (por razones de rendimiento).", - "label": "Tamaño para modo de solo lectura automático (notas de texto)", - "unit": "caracteres" - }, - "custom_date_time_format": { - "title": "Formato de fecha/hora personalizada", - "description": "Personalizar el formado de fecha y la hora insertada vía o la barra de herramientas. Véa la documentación de Day.js para más tokens de formato disponibles.", - "format_string": "Cadena de formato:", - "formatted_time": "Fecha/hora personalizada:" - }, - "i18n": { - "title": "Localización", - "language": "Idioma", - "first-day-of-the-week": "Primer día de la semana", - "sunday": "Domingo", - "monday": "Lunes", - "first-week-of-the-year": "Primer semana del año", - "first-week-contains-first-day": "Primer semana que contiene al primer día del año", - "first-week-contains-first-thursday": "Primer semana que contiene al primer jueves del año", - "first-week-has-minimum-days": "Primer semana que contiene un mínimo de días", - "min-days-in-first-week": "Días mínimos en la primer semana", - "first-week-info": "Primer semana que contiene al primer jueves del año está basado en el estándarISO 8601.", - "first-week-warning": "Cambiar las opciones de primer semana puede causar duplicados con las Notas Semanales existentes y las Notas Semanales existentes no serán actualizadas respectivamente.", - "formatting-locale": "Fecha y formato de número" - }, - "backup": { - "automatic_backup": "Copia de seguridad automática", - "automatic_backup_description": "Trilium puede realizar copias de seguridad de la base de datos automáticamente:", - "enable_daily_backup": "Habilitar copia de seguridad diaria", - "enable_weekly_backup": "Habilitar copia de seguridad semanal", - "enable_monthly_backup": "Habilitar copia de seguridad mensual", - "backup_recommendation": "Se recomienda mantener la copia de seguridad activada, pero esto puede ralentizar el inicio de la aplicación con bases de datos grandes y/o dispositivos de almacenamiento lentos.", - "backup_now": "Realizar copia de seguridad ahora", - "backup_database_now": "Realizar copia de seguridad de la base de datos ahora", - "existing_backups": "Copias de seguridad existentes", - "date-and-time": "Fecha y hora", - "path": "Ruta", - "database_backed_up_to": "Se ha realizado una copia de seguridad de la base de datos en {{backupFilePath}}", - "no_backup_yet": "no hay copia de seguridad todavía" - }, - "etapi": { - "title": "ETAPI", - "description": "ETAPI es una REST API que se utiliza para acceder a la instancia de Trilium mediante programación, sin interfaz de usuario.", - "see_more": "Véa más detalles en el {{- link_to_wiki}} y el {{- link_to_openapi_spec}} o el {{- link_to_swagger_ui }}.", - "wiki": "wiki", - "openapi_spec": "Especificación ETAPI OpenAPI", - "swagger_ui": "ETAPI Swagger UI", - "create_token": "Crear nuevo token ETAPI", - "existing_tokens": "Tokens existentes", - "no_tokens_yet": "Aún no hay tokens. Dé clic en el botón de arriba para crear uno.", - "token_name": "Nombre del token", - "created": "Creado", - "actions": "Acciones", - "new_token_title": "Nuevo token ETAPI", - "new_token_message": "Por favor ingresa el nombre del nuevo token", - "default_token_name": "nuevo token", - "error_empty_name": "El nombre del token no puede estar vacío", - "token_created_title": "Token ETAPI creado", - "token_created_message": "Copiar el token creado en el portapapeles. Trilium almacena el token con hash y esta es la última vez que lo ve.", - "rename_token": "Renombrar este token", - "delete_token": "Eliminar/Desactivar este token", - "rename_token_title": "Renombrar token", - "rename_token_message": "Por favor ingresa el nombre del nuevo token", - "delete_token_confirmation": "¿Está seguro de que desea eliminar el token ETAPI \"{{name}}\"?" - }, - "options_widget": { - "options_status": "Estado de las opciones", - "options_change_saved": "Se han guardado los cambios de las opciones." - }, - "password": { - "heading": "Contraseña", - "alert_message": "Tenga cuidado de recordar su nueva contraseña. La contraseña se utiliza para iniciar sesión en la interfaz web y cifrar las notas protegidas. Si olvida su contraseña, todas sus notas protegidas se perderán para siempre.", - "reset_link": "Dé clic aquí para restablecerla.", - "old_password": "Contraseña anterior", - "new_password": "Nueva contraseña", - "new_password_confirmation": "Confirmación de nueva contraseña", - "change_password": "Cambiar contraseña", - "protected_session_timeout": "Tiempo de espera de sesión protegida", - "protected_session_timeout_description": "El tiempo de espera de la sesión protegida es el período de tiempo después del cual la sesión protegida se borra de la memoria del navegador. Esto se mide desde la última interacción con notas protegidas. Ver", - "wiki": "wiki", - "for_more_info": "para más información.", - "protected_session_timeout_label": "Tiempo de espera de sesión protegida:", - "reset_confirmation": "Al restablecer la contraseña, perderá para siempre el acceso a todas sus notas protegidas existentes. ¿Realmente quieres restablecer la contraseña?", - "reset_success_message": "La contraseña ha sido restablecida. Por favor establezca una nueva contraseña", - "change_password_heading": "Cambiar contraseña", - "set_password_heading": "Establecer contraseña", - "set_password": "Establecer contraseña", - "password_mismatch": "Las nuevas contraseñas no son las mismas.", - "password_changed_success": "La contraseña ha sido cambiada. Trilium se recargará después de presionar Aceptar." - }, - "multi_factor_authentication": { - "title": "Autenticación Multi-Factor", - "description": "La autenticación multifactor (MFA) agrega una capa adicional de seguridad a su cuenta. En lugar de solo ingresar una contraseña para iniciar sesión, MFA requiere que proporcione una o más pruebas adicionales para verificar su identidad. De esta manera, incluso si alguien se apodera de su contraseña, aún no puede acceder a su cuenta sin la segunda pieza de información. Es como agregar una cerradura adicional a su puerta, lo que hace que sea mucho más difícil para cualquier otra persona entrar.

Por favor siga las instrucciones a continuación para habilitar MFA. Si no lo configura correctamente, el inicio de sesión volverá a solo contraseña.", - "mfa_enabled": "Habilitar la autenticación multifactor", - "mfa_method": "Método MFA", - "electron_disabled": "Actualmente la autenticación multifactor no está soportada en la compilación de escritorio.", - "totp_title": "Contraseña de un solo uso basada en el tiempo (TOTP)", - "totp_description": "TOTP (contraseña de un solo uso basada en el tiempo) es una característica de seguridad que genera un código temporal único que cambia cada 30 segundos. Utiliza este código, junto con su contraseña para iniciar sesión en su cuenta, lo que hace que sea mucho más difícil para cualquier otra persona acceder a ella.", - "totp_secret_title": "Generar secreto TOTP", - "totp_secret_generate": "Generar secreto TOTP", - "totp_secret_regenerate": "Regenerar secreto TOTP", - "no_totp_secret_warning": "Para habilitar TOTP, primero debe de generar un secreto TOTP.", - "totp_secret_description_warning": "Después de generar un nuevo secreto TOTP, le será requerido que inicie sesión otra vez con el nuevo secreto TOTP.", - "totp_secret_generated": "Secreto TOTP generado", - "totp_secret_warning": "Por favor guarde el secreto generado en una ubicación segura. No será mostrado de nuevo.", - "totp_secret_regenerate_confirm": "¿Está seguro que desea regenerar el secreto TOTP? Esto va a invalidar el secreto TOTP previo y todos los códigos de recuperación existentes.", - "recovery_keys_title": "Claves de recuperación para un solo inicio de sesión", - "recovery_keys_description": "Las claves de recuperación para un solo inicio de sesión son usadas para iniciar sesión incluso cuando no puede acceder a los códigos de su autentificador.", - "recovery_keys_description_warning": "Las claves de recuperación no son mostrada de nuevo después de dejar esta página, manténgalas en un lugar seguro.
Después de que una clave de recuperación es utilizada ya no puede utilizarse de nuevo.", - "recovery_keys_error": "Error al generar códigos de recuperación", - "recovery_keys_no_key_set": "No hay códigos de recuperación establecidos", - "recovery_keys_generate": "Generar códigos de recuperación", - "recovery_keys_regenerate": "Regenerar códigos de recuperación", - "recovery_keys_used": "Usado: {{date}}", - "recovery_keys_unused": "El código de recuperación {{index}} está sin usar", - "oauth_title": "OAuth/OpenID", - "oauth_description": "OpenID es una forma estandarizada de permitirle iniciar sesión en sitios web utilizando una cuenta de otro servicio, como Google, para verificar su identidad. Siga estas instrucciones para configurar un servicio OpenID a través de Google.", - "oauth_description_warning": "Para habilitar OAuth/OpenID, necesita establecer la URL base de OAuth/OpenID, ID de cliente y secreto de cliente en el archivo config.ini y reiniciar la aplicación. Si desea establecerlas desde variables de ambiente, por favor establezca TRILIUM_OAUTH_BASE_URL, TRILIUM_OAUTH_CLIENT_ID y TRILIUM_OAUTH_CLIENT_SECRET.", - "oauth_missing_vars": "Ajustes faltantes: {{variables}}", - "oauth_user_account": "Cuenta de usuario: ", - "oauth_user_email": "Correo electrónico de usuario: ", - "oauth_user_not_logged_in": "¡No ha iniciado sesión!" - }, - "shortcuts": { - "keyboard_shortcuts": "Atajos de teclado", - "multiple_shortcuts": "Varios atajos para la misma acción se pueden separar mediante comas.", - "electron_documentation": "Véa la documentación de Electron para los modificadores y códigos de tecla disponibles.", - "type_text_to_filter": "Escriba texto para filtrar los accesos directos...", - "action_name": "Nombre de la acción", - "shortcuts": "Atajos", - "default_shortcuts": "Atajos predeterminados", - "description": "Descripción", - "reload_app": "Vuelva a cargar la aplicación para aplicar los cambios", - "set_all_to_default": "Establecer todos los accesos directos al valor predeterminado", - "confirm_reset": "¿Realmente desea restablecer todos los atajos de teclado a sus valores predeterminados?" - }, - "spellcheck": { - "title": "Revisión ortográfica", - "description": "Estas opciones se aplican sólo para compilaciones de escritorio; los navegadores utilizarán su corrector ortográfico nativo.", - "enable": "Habilitar corrector ortográfico", - "language_code_label": "Código(s) de idioma", - "language_code_placeholder": "por ejemplo \"en-US\", \"de-AT\"", - "multiple_languages_info": "Múltiples idiomas se pueden separar por coma, por ejemplo \"en-US, de-DE, cs\". ", - "available_language_codes_label": "Códigos de idioma disponibles:", - "restart-required": "Los cambios en las opciones de corrección ortográfica entrarán en vigor después del reinicio de la aplicación." - }, - "sync_2": { - "config_title": "Configuración de sincronización", - "server_address": "Dirección de la instancia del servidor", - "timeout": "Tiempo de espera de sincronización (milisegundos)", - "timeout_unit": "milisegundos", - "proxy_label": "Sincronizar servidor proxy (opcional)", - "note": "Nota", - "note_description": "Si deja la configuración del proxy en blanco, se utilizará el proxy del sistema (se aplica únicamente a la compilación de escritorio/electron).", - "special_value_description": "Otro valor especial es noproxy que obliga a ignorar incluso al proxy del sistema y respeta NODE_TLS_REJECT_UNAUTHORIZED.", - "save": "Guardar", - "help": "Ayuda", - "test_title": "Prueba de sincronización", - "test_description": "Esto probará la conexión y el protocolo de enlace con el servidor de sincronización. Si el servidor de sincronización no está inicializado, esto lo configurará para sincronizarse con el documento local.", - "test_button": "Prueba de sincronización", - "handshake_failed": "Error en el protocolo de enlace del servidor de sincronización, error: {{message}}" - }, - "api_log": { - "close": "Cerrar" - }, - "attachment_detail_2": { - "will_be_deleted_in": "Este archivo adjunto se eliminará automáticamente en {{time}}", - "will_be_deleted_soon": "Este archivo adjunto se eliminará automáticamente pronto", - "deletion_reason": ", porque el archivo adjunto no está vinculado en el contenido de la nota. Para evitar la eliminación, vuelva a agregar el enlace del archivo adjunto al contenido o convierta el archivo adjunto en una nota.", - "role_and_size": "Rol: {{role}}, Tamaño: {{size}}", - "link_copied": "Enlace del archivo adjunto copiado al portapapeles.", - "unrecognized_role": "Rol de archivo adjunto no reconocido '{{role}}'." - }, - "bookmark_switch": { - "bookmark": "Marcador", - "bookmark_this_note": "Añadir esta nota a marcadores en el panel lateral izquierdo", - "remove_bookmark": "Eliminar marcador" - }, - "editability_select": { - "auto": "Automático", - "read_only": "Sólo lectura", - "always_editable": "Siempre editable", - "note_is_editable": "La nota es editable si no es muy grande.", - "note_is_read_only": "La nota es de solo lectura, pero se puede editar con un clic en un botón.", - "note_is_always_editable": "La nota siempre es editable, independientemente de su tamaño." - }, - "note-map": { - "button-link-map": "Mapa de Enlaces", - "button-tree-map": "Mapa de Árbol" - }, - "tree-context-menu": { - "open-in-a-new-tab": "Abrir en nueva pestaña Ctrl+Click", - "open-in-a-new-split": "Abrir en nueva división", - "insert-note-after": "Insertar nota después de", - "insert-child-note": "Insertar subnota", - "delete": "Eliminar", - "search-in-subtree": "Buscar en subárbol", - "hoist-note": "Anclar nota", - "unhoist-note": "Desanclar nota", - "edit-branch-prefix": "Editar prefijo de rama", - "advanced": "Avanzado", - "expand-subtree": "Expandir subárbol", - "collapse-subtree": "Colapsar subárbol", - "sort-by": "Ordenar por...", - "recent-changes-in-subtree": "Cambios recientes en subárbol", - "convert-to-attachment": "Convertir en adjunto", - "copy-note-path-to-clipboard": "Copiar ruta de nota al portapapeles", - "protect-subtree": "Proteger subárbol", - "unprotect-subtree": "Desproteger subárbol", - "copy-clone": "Copiar / clonar", - "clone-to": "Clonar en...", - "cut": "Cortar", - "move-to": "Mover a...", - "paste-into": "Pegar en", - "paste-after": "Pegar después de", - "duplicate": "Duplicar", - "export": "Exportar", - "import-into-note": "Importar a nota", - "apply-bulk-actions": "Aplicar acciones en lote", - "converted-to-attachments": "{{count}} notas han sido convertidas en archivos adjuntos.", - "convert-to-attachment-confirm": "¿Está seguro que desea convertir las notas seleccionadas en archivos adjuntos de sus notas padres?" - }, - "shared_info": { - "shared_publicly": "Esta nota está compartida públicamente en", - "shared_locally": "Esta nota está compartida localmente en", - "help_link": "Para obtener ayuda visite wiki." - }, - "note_types": { - "text": "Texto", - "code": "Código", - "saved-search": "Búsqueda Guardada", - "relation-map": "Mapa de Relaciones", - "note-map": "Mapa de Notas", - "render-note": "Nota de Renderizado", - "mermaid-diagram": "Diagrama Mermaid", - "canvas": "Lienzo", - "web-view": "Vista Web", - "mind-map": "Mapa Mental", - "file": "Archivo", - "image": "Imagen", - "launcher": "Lanzador", - "doc": "Doc", - "widget": "Widget", - "confirm-change": "No es recomendado cambiar el tipo de nota cuando el contenido de la nota no está vacío. ¿Desea continuar de cualquier manera?", - "geo-map": "Mapa Geo", - "beta-feature": "Beta", - "ai-chat": "Chat de IA", - "task-list": "Lista de tareas" - }, - "protect_note": { - "toggle-on": "Proteger la nota", - "toggle-off": "Desproteger la nota", - "toggle-on-hint": "La nota no está protegida, dé clic para protegerla", - "toggle-off-hint": "La nota está protegida, dé clic para desprotegerla" - }, - "shared_switch": { - "shared": "Compartida", - "toggle-on-title": "Compartir la nota", - "toggle-off-title": "Descompartir la nota", - "shared-branch": "Esta nota sólo existe como una nota compartida, si la deja de compartir será eliminada. ¿Quiere continuar y eliminar esta nota?", - "inherited": "No puede dejar de compartir la nota aquí porque es compartida a través de la herencia de un ancestro." - }, - "template_switch": { - "template": "Plantilla", - "toggle-on-hint": "Hacer de la nota una plantilla", - "toggle-off-hint": "Eliminar la nota como una plantilla" - }, - "open-help-page": "Abrir página de ayuda", - "find": { - "case_sensitive": "Distingue entre mayúsculas y minúsculas", - "match_words": "Coincidir palabras", - "find_placeholder": "Encontrar en texto...", - "replace_placeholder": "Reemplazar con...", - "replace": "Reemplazar", - "replace_all": "Reemplazar todo" - }, - "highlights_list_2": { - "title": "Lista de destacados", - "options": "Opciones" - }, - "quick-search": { - "placeholder": "Búsqueda rápida", - "searching": "Buscando...", - "no-results": "No se encontraron resultados", - "more-results": "... y {{number}} resultados más.", - "show-in-full-search": "Mostrar en búsqueda completa" - }, - "note_tree": { - "collapse-title": "Colapsar árbol de nota", - "scroll-active-title": "Desplazarse a nota activa", - "tree-settings-title": "Ajustes de árbol", - "hide-archived-notes": "Ocultar notas archivadas", - "automatically-collapse-notes": "Colapsar notas automaticamente", - "automatically-collapse-notes-title": "Las notas serán colapsadas después de un periodo de inactividad para despejar el árbol.", - "save-changes": "Guardar y aplicar cambios", - "auto-collapsing-notes-after-inactivity": "Colapsando notas automáticamente después de inactividad...", - "saved-search-note-refreshed": "La nota de búsqueda guardada fue recargada.", - "hoist-this-note-workspace": "Anclar esta nota (espacio de trabajo)", - "refresh-saved-search-results": "Refrescar resultados de búsqueda guardados", - "create-child-note": "Crear subnota", - "unhoist": "Desanclar" - }, - "title_bar_buttons": { - "window-on-top": "Mantener esta ventana en la parte superior" - }, - "note_detail": { - "could_not_find_typewidget": "No se pudo encontrar typeWidget para el tipo '{{type}}'" - }, - "note_title": { - "placeholder": "escriba el título de la nota aquí..." - }, - "search_result": { - "no_notes_found": "No se han encontrado notas para los parámetros de búsqueda dados.", - "search_not_executed": "La búsqueda aún no se ha ejecutado. Dé clic en el botón «Buscar» para ver los resultados." - }, - "spacer": { - "configure_launchbar": "Configurar barra de lanzamiento" - }, - "sql_result": { - "no_rows": "No se han devuelto filas para esta consulta" - }, - "sql_table_schemas": { - "tables": "Tablas" - }, - "tab_row": { - "close_tab": "Cerrar pestaña", - "add_new_tab": "Agregar nueva pestaña", - "close": "Cerrar", - "close_other_tabs": "Cerrar otras pestañas", - "close_right_tabs": "Cerrar pestañas a la derecha", - "close_all_tabs": "Cerrar todas las pestañas", - "reopen_last_tab": "Reabrir última pestaña cerrada", - "move_tab_to_new_window": "Mover esta pestaña a una nueva ventana", - "copy_tab_to_new_window": "Copiar esta pestaña a una ventana nueva", - "new_tab": "Nueva pestaña" - }, - "toc": { - "table_of_contents": "Tabla de contenido", - "options": "Opciones" - }, - "watched_file_update_status": { - "file_last_modified": "Archivo ha sido modificado por última vez en.", - "upload_modified_file": "Subir archivo modificado", - "ignore_this_change": "Ignorar este cambio" - }, - "app_context": { - "please_wait_for_save": "Por favor espere algunos segundos a que se termine de guardar, después intente de nuevo." - }, - "note_create": { - "duplicated": "La nota \"{{title}}\" ha sido duplicada." - }, - "image": { - "copied-to-clipboard": "Una referencia a la imagen ha sido copiada al portapapeles. Esta puede ser pegada en cualquier nota de texto.", - "cannot-copy": "No se pudo copiar la referencia de imagen al portapapeles." - }, - "clipboard": { - "cut": "La(s) notas(s) han sido cortadas al portapapeles.", - "copied": "La(s) notas(s) han sido copiadas al portapapeles.", - "copy_failed": "No se puede copiar al portapapeles debido a problemas de permisos.", - "copy_success": "Copiado al portapapeles." - }, - "entrypoints": { - "note-revision-created": "Una revisión de nota ha sido creada.", - "note-executed": "Nota ejecutada.", - "sql-error": "Ocurrió un error al ejecutar la consulta SQL: {{message}}" - }, - "branches": { - "cannot-move-notes-here": "No se pueden mover notas aquí.", - "delete-status": "Estado de eliminación", - "delete-notes-in-progress": "Eliminación de notas en progreso: {{count}}", - "delete-finished-successfully": "La eliminación finalizó exitosamente.", - "undeleting-notes-in-progress": "Recuperación de notas en progreso: {{count}}", - "undeleting-notes-finished-successfully": "La recuperación de notas finalizó exitosamente." - }, - "frontend_script_api": { - "async_warning": "Está pasando una función asíncrona a `api.runOnBackend ()` que probablemente no funcionará como pretendía.", - "sync_warning": "Estás pasando una función sincrónica a `api.runasynconbackendwithmanualTransactionHandling ()`, \\ n while debería usar `api.runonbackend ()` en su lugar." - }, - "ws": { - "sync-check-failed": "¡La comprobación de sincronización falló!", - "consistency-checks-failed": "¡Las comprobaciones de consistencia fallaron! Vea los registros para más detalles.", - "encountered-error": "Error encontrado \"{{message}}\", compruebe la consola." - }, - "hoisted_note": { - "confirm_unhoisting": "La nota requerida '{{requestedNote}}' está fuera del subárbol de la nota anclada '{{hoistedNote}}' y debe desanclarla para acceder a la nota. ¿Desea proceder con el desanclaje?" - }, - "launcher_context_menu": { - "reset_launcher_confirm": "¿Realmente desea restaurar \"{{title}}\"? Todos los datos / ajustes en esta nota (y sus subnotas) se van a perder y el lanzador regresará a su ubicación original.", - "add-note-launcher": "Agregar un lanzador de nota", - "add-script-launcher": "Agregar un lanzador de script", - "add-custom-widget": "Agregar un widget personalizado", - "add-spacer": "Agregar espaciador", - "delete": "Eliminar ", - "reset": "Restaurar", - "move-to-visible-launchers": "Mover a lanzadores visibles", - "move-to-available-launchers": "Mover a lanzadores disponibles", - "duplicate-launcher": "Duplicar lanzador " - }, - "editable-text": { - "auto-detect-language": "Detectado automáticamente" - }, - "highlighting": { - "title": "Bloques de código", - "description": "Controla el resaltado de sintaxis para bloques de código dentro de las notas de texto, las notas de código no serán afectadas.", - "color-scheme": "Esquema de color" - }, - "code_block": { - "word_wrapping": "Ajuste de palabras", - "theme_none": "Sin resaltado de sintaxis", - "theme_group_light": "Temas claros", - "theme_group_dark": "Temas oscuros", - "copy_title": "Copiar al portapapeles" - }, - "classic_editor_toolbar": { - "title": "Formato" - }, - "editor": { - "title": "Editor" - }, - "editing": { - "editor_type": { - "label": "Barra de herramientas de formato", - "floating": { - "title": "Flotante", - "description": "las herramientas de edición aparecen cerca del cursor;" - }, - "fixed": { - "title": "Fijo", - "description": "las herramientas de edición aparecen en la pestaña de la cinta \"Formato\")." - }, - "multiline-toolbar": "Mostrar la barra de herramientas en múltiples líneas si no cabe." - } - }, - "electron_context_menu": { - "add-term-to-dictionary": "Agregar \"{{term}}\" al diccionario", - "cut": "Cortar", - "copy": "Copiar", - "copy-link": "Copiar enlace", - "paste": "Pegar", - "paste-as-plain-text": "Pegar como texto plano", - "search_online": "Buscar \"{{term}}\" con {{searchEngine}}" - }, - "image_context_menu": { - "copy_reference_to_clipboard": "Copiar referencia al portapapeles", - "copy_image_to_clipboard": "Copiar imagen al portapapeles" - }, - "link_context_menu": { - "open_note_in_new_tab": "Abrir nota en una pestaña nueva", - "open_note_in_new_split": "Abrir nota en una nueva división", - "open_note_in_new_window": "Abrir nota en una nueva ventana" - }, - "electron_integration": { - "desktop-application": "Aplicación de escritorio", - "native-title-bar": "Barra de título nativa", - "native-title-bar-description": "Para Windows y macOS, quitar la barra de título nativa hace que la aplicación se vea más compacta. En Linux, mantener la barra de título nativa hace que se integre mejor con el resto del sistema.", - "background-effects": "Habilitar efectos de fondo (sólo en Windows 11)", - "background-effects-description": "El efecto Mica agrega un fondo borroso y elegante a las ventanas de aplicaciones, creando profundidad y un aspecto moderno.", - "restart-app-button": "Reiniciar la aplicación para ver los cambios", - "zoom-factor": "Factor de zoom" - }, - "note_autocomplete": { - "search-for": "Buscar por \"{{term}}\"", - "create-note": "Crear y enlazar subnota \"{{term}}\"", - "insert-external-link": "Insertar enlace externo a \"{{term}}\"", - "clear-text-field": "Limpiar campo de texto", - "show-recent-notes": "Mostrar notas recientes", - "full-text-search": "Búsqueda de texto completo" - }, - "note_tooltip": { - "note-has-been-deleted": "La nota ha sido eliminada." - }, - "geo-map": { - "create-child-note-title": "Crear una nueva subnota y agregarla al mapa", - "create-child-note-instruction": "Dé clic en el mapa para crear una nueva nota en esa ubicación o presione Escape para cancelar.", - "unable-to-load-map": "No se puede cargar el mapa." - }, - "geo-map-context": { - "open-location": "Abrir ubicación", - "remove-from-map": "Eliminar del mapa" - }, - "help-button": { - "title": "Abrir la página de ayuda relevante" - }, - "duration": { - "seconds": "Segundos", - "minutes": "Minutos", - "hours": "Horas", - "days": "Días" - }, - "share": { - "title": "Ajustes de uso compartido", - "redirect_bare_domain": "Redirigir el dominio absoluto a página Compartir", - "redirect_bare_domain_description": "Redirigir usuarios anónimos a la página Compartir en vez de mostrar Inicio de sesión", - "show_login_link": "Mostrar enlace a Inicio de sesión en tema de Compartir", - "show_login_link_description": "Mostrar enlace a Inicio de sesión en el pie de página de Compartir", - "check_share_root": "Comprobar estado de raíz de Compartir", - "share_root_found": "La nota raíz de Compartir '{{noteTitle}}' está lista", - "share_root_not_found": "No se encontró ninguna nota con la etiqueta #shareRoot", - "share_root_not_shared": "La nota '{{noteTitle}}' tiene la etiqueta #shareRoot pero no ha sido compartida" - }, - "time_selector": { - "invalid_input": "El valor de tiempo ingresado no es un número válido.", - "minimum_input": "El valor de tiempo ingresado necesita ser de al menos {{minimumSeconds}} segundos." - }, - "tasks": { - "due": { - "today": "Hoy", - "tomorrow": "Mañana", - "yesterday": "Ayer" - } - }, - "content_widget": { - "unknown_widget": "Widget desconocido para \"{{id}}\"." - }, - "note_language": { - "not_set": "No establecido", - "configure-languages": "Configurar idiomas..." - }, - "content_language": { - "title": "Contenido de idiomas", - "description": "Seleccione uno o más idiomas que deben aparecer en la selección del idioma en la sección Propiedades Básicas de una nota de texto de solo lectura o editable. Esto permitirá características tales como corrección de ortografía o soporte de derecha a izquierda." - }, - "switch_layout_button": { - "title_vertical": "Mover el panel de edición hacia abajo", - "title_horizontal": "Mover el panel de edición a la izquierda" - }, - "toggle_read_only_button": { - "unlock-editing": "Desbloquear la edición", - "lock-editing": "Bloquear la edición" - }, - "png_export_button": { - "button_title": "Exportar diagrama como PNG" - }, - "svg": { - "export_to_png": "El diagrama no pudo ser exportado a PNG." - }, - "code_theme": { - "title": "Apariencia", - "word_wrapping": "Ajuste de palabras", - "color-scheme": "Esquema de color" - }, - "cpu_arch_warning": { - "title": "Por favor descargue la versión ARM64", - "message_macos": "TriliumNext está siendo ejecutado bajo traducción Rosetta 2, lo que significa que está usando la versión Intel (x64) en Apple Silicon Mac. Esto impactará significativamente en el rendimiento y la vida de la batería.", - "message_windows": "TriliumNext está siendo ejecutado bajo emulación, lo que significa que está usando la version Intel (x64) en Windows en un dispositivo ARM. Esto impactará significativamente en el rendimiento y la vida de la batería.", - "recommendation": "Para la mejor experiencia, por favor descargue la versión nativa ARM64 de TriliumNext desde nuestra página de lanzamientos.", - "download_link": "Descargar versión nativa", - "continue_anyway": "Continuar de todas maneras", - "dont_show_again": "No mostrar esta advertencia otra vez" - }, - "book_properties_config": { - "hide-weekends": "Ocultar fines de semana", - "show-scale": "Mostrar escala" - }, - "table_context_menu": { - "delete_row": "Eliminar fila" - }, - "board_view": { - "delete-note": "Eliminar nota", - "move-to": "Mover a", - "insert-above": "Insertar arriba", - "insert-below": "Insertar abajo", - "delete-column": "Eliminar columna", - "delete-column-confirmation": "¿Seguro que desea eliminar esta columna? El atributo correspondiente también se eliminará de las notas de esta columna." - }, - "content_renderer": { - "open_externally": "Abrir externamente" + "about": { + "title": "Acerca de Trilium Notes", + "close": "Cerrar", + "homepage": "Página principal:", + "app_version": "Versión de la aplicación:", + "db_version": "Versión de base de datos:", + "sync_version": "Versión de sincronización:", + "build_date": "Fecha de creación:", + "build_revision": "Revisión de compilación:", + "data_directory": "Directorio de datos:" + }, + "toast": { + "critical-error": { + "title": "Error crítico", + "message": "Ha ocurrido un error crítico que previene que el cliente de la aplicación inicie:\n\n{{message}}\n\nMuy probablemente es causado por un script que falla de forma inesperada. Intente iniciar la aplicación en modo seguro y atienda el error." + }, + "widget-error": { + "title": "Hubo un fallo al inicializar un widget", + "message-custom": "El widget personalizado de la nota con ID \"{{id}}\", titulada \"{{title}}\" no pudo ser inicializado debido a:\n\n{{message}}", + "message-unknown": "Un widget no pudo ser inicializado debido a:\n\n{{message}}" + }, + "bundle-error": { + "title": "Hubo un fallo al cargar un script personalizado", + "message": "El script de la nota con ID \"{{id}}\", titulado \"{{title}}\" no pudo ser ejecutado debido a:\n\n{{message}}" } + }, + "add_link": { + "add_link": "Agregar enlace", + "help_on_links": "Ayuda sobre enlaces", + "close": "Cerrar", + "note": "Nota", + "search_note": "buscar nota por su nombre", + "link_title_mirrors": "el título del enlace replica el título actual de la nota", + "link_title_arbitrary": "el título del enlace se puede cambiar arbitrariamente", + "link_title": "Título del enlace", + "button_add_link": "Agregar enlace Enter" + }, + "branch_prefix": { + "edit_branch_prefix": "Editar prefijo de rama", + "help_on_tree_prefix": "Ayuda sobre el prefijo del árbol", + "close": "Cerrar", + "prefix": "Prefijo: ", + "save": "Guardar", + "branch_prefix_saved": "Se ha guardado el prefijo de rama." + }, + "bulk_actions": { + "bulk_actions": "Acciones en bloque", + "close": "Cerrar", + "affected_notes": "Notas afectadas", + "include_descendants": "Incluir descendientes de las notas seleccionadas", + "available_actions": "Acciones disponibles", + "chosen_actions": "Acciones elegidas", + "execute_bulk_actions": "Ejecutar acciones en bloque", + "bulk_actions_executed": "Las acciones en bloque se han ejecutado con éxito.", + "none_yet": "Ninguna todavía... agregue una acción haciendo clic en una de las disponibles arriba.", + "labels": "Etiquetas", + "relations": "Relaciones", + "notes": "Notas", + "other": "Otro" + }, + "clone_to": { + "clone_notes_to": "Clonar notas a...", + "close": "Cerrar", + "help_on_links": "Ayuda sobre enlaces", + "notes_to_clone": "Notas a clonar", + "target_parent_note": "Nota padre de destino", + "search_for_note_by_its_name": "buscar nota por su nombre", + "cloned_note_prefix_title": "La nota clonada se mostrará en el árbol de notas con el prefijo dado", + "prefix_optional": "Prefijo (opcional)", + "clone_to_selected_note": "Clonar a nota seleccionada enter", + "no_path_to_clone_to": "No hay ruta para clonar.", + "note_cloned": "La nota \"{{clonedTitle}}\" a sido clonada en \"{{targetTitle}}\"" + }, + "confirm": { + "confirmation": "Confirmación", + "close": "Cerrar", + "cancel": "Cancelar", + "ok": "Aceptar", + "are_you_sure_remove_note": "¿Está seguro que desea eliminar la nota \"{{title}}\" del mapa de relaciones? ", + "if_you_dont_check": "Si no marca esto, la nota solo se eliminará del mapa de relaciones.", + "also_delete_note": "También eliminar la nota" + }, + "delete_notes": { + "delete_notes_preview": "Eliminar vista previa de notas", + "close": "Cerrar", + "delete_all_clones_description": "Eliminar también todos los clones (se puede deshacer en cambios recientes)", + "erase_notes_description": "La eliminación normal (suave) solo marca las notas como eliminadas y se pueden recuperar (en el cuadro de diálogo de cambios recientes) dentro de un periodo de tiempo. Al marcar esta opción se borrarán las notas inmediatamente y no será posible recuperarlas.", + "erase_notes_warning": "Eliminar notas permanentemente (no se puede deshacer), incluidos todos los clones. Esto forzará la recarga de la aplicación.", + "notes_to_be_deleted": "Las siguientes notas serán eliminadas ({{- noteCount}})", + "no_note_to_delete": "No se eliminará ninguna nota (solo clones).", + "broken_relations_to_be_deleted": "Las siguientes relaciones se romperán y serán eliminadas ({{- relationCount}})", + "cancel": "Cancelar", + "ok": "Aceptar", + "deleted_relation_text": "Nota {{- note}} (para ser eliminada) está referenciado por la relación {{- relation}} que se origina en {{- source}}." + }, + "export": { + "export_note_title": "Exportar nota", + "close": "Cerrar", + "export_type_subtree": "Esta nota y todos sus descendientes", + "format_html": "HTML - ya que preserva todo el formato", + "format_html_zip": "HTML en un archivo ZIP: se recomienda ya que conserva todo el formato.", + "format_markdown": "Markdown: esto conserva la mayor parte del formato.", + "format_opml": "OPML: formato de intercambio de esquemas solo para texto. El formato, las imágenes y los archivos no están incluidos.", + "opml_version_1": "OPML v1.0: solo texto sin formato", + "opml_version_2": "OPML v2.0 - también permite HTML", + "export_type_single": "Sólo esta nota sin sus descendientes", + "export": "Exportar", + "choose_export_type": "Por favor, elija primero el tipo de exportación", + "export_status": "Estado de exportación", + "export_in_progress": "Exportación en curso: {{progressCount}}", + "export_finished_successfully": "La exportación finalizó exitosamente.", + "format_pdf": "PDF - para propósitos de impresión o compartición." + }, + "help": { + "fullDocumentation": "Ayuda (la documentación completa está disponible online)", + "close": "Cerrar", + "noteNavigation": "Navegación de notas", + "goUpDown": "UP, DOWN - subir/bajar en la lista de notas", + "collapseExpand": "LEFT, RIGHT - colapsar/expandir nodo", + "notSet": "no establecido", + "goBackForwards": "retroceder / avanzar en la historia", + "showJumpToNoteDialog": "mostrar \"Saltar a\" diálogo", + "scrollToActiveNote": "desplazarse hasta la nota activa", + "jumpToParentNote": "Backspace - saltar a la nota padre", + "collapseWholeTree": "colapsar todo el árbol de notas", + "collapseSubTree": "colapsar subárbol", + "tabShortcuts": "Atajos de pestañas", + "newTabNoteLink": "CTRL+clic - (o clic central del mouse) en el enlace de la nota abre la nota en una nueva pestaña", + "newTabWithActivationNoteLink": "Ctrl+Shift+clic - (o Shift+clic de rueda de ratón) en el enlace de la nota abre y activa la nota en una nueva pestaña", + "onlyInDesktop": "Solo en escritorio (compilación con Electron)", + "openEmptyTab": "abrir pestaña vacía", + "closeActiveTab": "cerrar pestaña activa", + "activateNextTab": "activar pestaña siguiente", + "activatePreviousTab": "activar pestaña anterior", + "creatingNotes": "Creando notas", + "createNoteAfter": "crear una nueva nota después de la nota activa", + "createNoteInto": "crear una nueva subnota en la nota activa", + "editBranchPrefix": "edición prefix de clon de nota activa", + "movingCloningNotes": "Moviendo/clonando notas", + "moveNoteUpDown": "mover nota arriba/abajo en la lista de notas", + "moveNoteUpHierarchy": "mover nota hacia arriba en la jerarquía", + "multiSelectNote": "selección múltiple de nota hacia arriba/abajo", + "selectAllNotes": "seleccionar todas las notas en el nivel actual", + "selectNote": "Shift+click - seleccionar nota", + "copyNotes": "copiar nota activa (o selección actual) al portapapeles (usado para clonar)", + "cutNotes": "cortar la nota actual (o la selección actual) en el portapapeles (usado para mover notas)", + "pasteNotes": "pegar notas como subnotas en la nota activa (que se puede mover o clonar dependiendo de si se copió o cortó en el portapapeles)", + "deleteNotes": "eliminar nota/subárbol", + "editingNotes": "Editando notas", + "editNoteTitle": "en el panel de árbol cambiará del panel de árbol al título de la nota. Ingresar desde el título de la nota cambiará el foco al editor de texto. Ctrl+. cambiará de nuevo del editor al panel de árbol.", + "createEditLink": "Ctrl+K - crear/editar enlace externo", + "createInternalLink": "crear enlace interno", + "followLink": "siga el enlace debajo del cursor", + "insertDateTime": "insertar la fecha y hora actuales en la posición del cursor", + "jumpToTreePane": "saltar al panel de árbol y desplazarse hasta la nota activa", + "markdownAutoformat": "Autoformato tipo Markdown", + "headings": "##, ###, #### etc. seguido de espacio para encabezados", + "bulletList": "* o - seguido de espacio para la lista de viñetas", + "numberedList": "1. o 1) seguido de espacio para la lista numerada", + "blockQuote": "comience una línea con > seguido de espacio para el bloque de cita", + "troubleshooting": "Solución de problemas", + "reloadFrontend": "recargar la interfaz de Trilium", + "showDevTools": "mostrar herramientas de desarrollador", + "showSQLConsole": "mostrar consola SQL", + "other": "Otro", + "quickSearch": "centrarse en la entrada de búsqueda rápida", + "inPageSearch": "búsqueda en la página" + }, + "import": { + "importIntoNote": "Importar a nota", + "close": "Cerrar", + "chooseImportFile": "Elija el archivo de importación", + "importDescription": "El contenido de los archivos seleccionados se importará como notas secundarias en", + "options": "Opciones", + "safeImportTooltip": "Los archivos .zip de Trilium pueden contener scripts ejecutables que pudieran tener un comportamiento peligroso. La importación segura va a desactivar la ejecución automática de todos los scripts importados. Desmarque \"Importación segura\" solo si el archivo importado contiene scripts ejecutables y usted confía totalmente en el contenido del archivo importado.", + "safeImport": "Importación segura", + "explodeArchivesTooltip": "Si esto está marcado, Trilium leerá los archivos .zip, .enex y .opml y creará notas a partir de archivos dentro de esos archivos. Si no está marcado, Trilium adjuntará los archivos a la nota.", + "explodeArchives": "Leer el contenido de los archivos .zip, .enex y .opml.", + "shrinkImagesTooltip": "

Si marca esta opción, Trilium intentará reducir las imágenes importadas mediante escalado y optimización, lo que puede afectar la calidad de la imagen percibida. Si no está marcada, las imágenes se importarán sin cambios.

Esto no se aplica a las importaciones .zip con metadatos, ya que se supone que estos archivos ya están optimizados.

", + "shrinkImages": "Reducir imágenes", + "textImportedAsText": "Importar HTML, Markdown y TXT como notas de texto si no está claro en los metadatos", + "codeImportedAsCode": "Importar archivos de código reconocidos (por ejemplo, .json) como notas de código si no están claros en los metadatos", + "replaceUnderscoresWithSpaces": "Reemplazar guiones bajos con espacios en nombres de notas importadas", + "import": "Importar", + "failed": "La importación falló: {{message}}.", + "html_import_tags": { + "title": "HTML Importar Etiquetas", + "description": "Configurar que etiquetas HTML deben ser preservadas al importar notas. Las etiquetas que no estén en esta lista serán eliminadas durante la importación. Algunas etiquetas (como 'script') siempre son eliminadas por seguridad.", + "placeholder": "Ingrese las etiquetas HTML, una por línea", + "reset_button": "Restablecer a lista por defecto" + }, + "import-status": "Estado de importación", + "in-progress": "Importación en progreso: {{progress}}", + "successful": "Importación finalizada exitosamente." + }, + "include_note": { + "dialog_title": "Incluir nota", + "close": "Cerrar", + "label_note": "Nota", + "placeholder_search": "buscar nota por su nombre", + "box_size_prompt": "Tamaño de caja de la nota incluida:", + "box_size_small": "pequeño (~ 10 líneas)", + "box_size_medium": "medio (~ 30 líneas)", + "box_size_full": "completo (el cuadro muestra el texto completo)", + "button_include": "Incluir nota Enter" + }, + "info": { + "modalTitle": "Mensaje informativo", + "closeButton": "Cerrar", + "okButton": "Aceptar" + }, + "jump_to_note": { + "close": "Cerrar", + "search_button": "Buscar en texto completo Ctrl+Enter" + }, + "markdown_import": { + "dialog_title": "Importación de Markdown", + "close": "Cerrar", + "modal_body_text": "Debido al entorno limitado del navegador, no es posible leer directamente el portapapeles desde JavaScript. Por favor, pegue el código Markdown para importar en el área de texto a continuación y haga clic en el botón Importar", + "import_button": "Importar", + "import_success": "El contenido de Markdown se ha importado al documento." + }, + "move_to": { + "dialog_title": "Mover notas a...", + "close": "Cerrar", + "notes_to_move": "Notas a mover", + "target_parent_note": "Nota padre de destino", + "search_placeholder": "buscar nota por su nombre", + "move_button": "Mover a la nota seleccionada enter", + "error_no_path": "No hay ruta a donde mover.", + "move_success_message": "Las notas seleccionadas se han movido a " + }, + "note_type_chooser": { + "change_path_prompt": "Cambiar donde se creará la nueva nota:", + "search_placeholder": "ruta de búsqueda por nombre (por defecto si está vacío)", + "modal_title": "Elija el tipo de nota", + "close": "Cerrar", + "modal_body": "Elija el tipo de nota/plantilla de la nueva nota:", + "templates": "Plantillas:" + }, + "password_not_set": { + "title": "La contraseña no está establecida", + "close": "Cerrar", + "body1": "Las notas protegidas se cifran mediante una contraseña de usuario, pero la contraseña aún no se ha establecido.", + "body2": "Para poder proteger notas, dé clic aquí para abrir el diálogo de Opciones y establecer tu contraseña." + }, + "prompt": { + "title": "Aviso", + "close": "Cerrar", + "ok": "Aceptar enter", + "defaultTitle": "Aviso" + }, + "protected_session_password": { + "modal_title": "Sesión protegida", + "help_title": "Ayuda sobre notas protegidas", + "close_label": "Cerrar", + "form_label": "Para continuar con la acción solicitada, debe iniciar en la sesión protegida ingresando la contraseña:", + "start_button": "Iniciar sesión protegida entrar" + }, + "recent_changes": { + "title": "Cambios recientes", + "erase_notes_button": "Borrar notas eliminadas ahora", + "close": "Cerrar", + "deleted_notes_message": "Las notas eliminadas han sido borradas.", + "no_changes_message": "Aún no hay cambios...", + "undelete_link": "recuperar", + "confirm_undelete": "¿Quiere recuperar esta nota y sus subnotas?" + }, + "revisions": { + "note_revisions": "Revisiones de nota", + "delete_all_revisions": "Eliminar todas las revisiones de esta nota", + "delete_all_button": "Eliminar todas las revisiones", + "help_title": "Ayuda sobre revisiones de notas", + "close": "Cerrar", + "revision_last_edited": "Esta revisión se editó por última vez en {{date}}", + "confirm_delete_all": "¿Quiere eliminar todas las revisiones de esta nota?", + "no_revisions": "Aún no hay revisiones para esta nota...", + "restore_button": "Restaurar", + "confirm_restore": "¿Quiere restaurar esta revisión? Esto sobrescribirá el título actual y el contenido de la nota con esta revisión.", + "delete_button": "Eliminar", + "confirm_delete": "¿Quieres eliminar esta revisión?", + "revisions_deleted": "Se han eliminado las revisiones de nota.", + "revision_restored": "Se ha restaurado la revisión de nota.", + "revision_deleted": "Se ha eliminado la revisión de la nota.", + "snapshot_interval": "Intervalo de respaldo de revisiones de nota: {{seconds}}s.", + "maximum_revisions": "Máximo de revisiones para la nota actual: {{number}}.", + "settings": "Ajustes para revisiones de nota", + "download_button": "Descargar", + "mime": "MIME: ", + "file_size": "Tamaño del archivo:", + "preview": "Vista previa:", + "preview_not_available": "La vista previa no está disponible para este tipo de notas." + }, + "sort_child_notes": { + "sort_children_by": "Ordenar hijos por...", + "close": "Cerrar", + "sorting_criteria": "Criterios de ordenamiento", + "title": "título", + "date_created": "fecha de creación", + "date_modified": "fecha de modificación", + "sorting_direction": "Dirección de ordenamiento", + "ascending": "ascendente", + "descending": "descendente", + "folders": "Carpetas", + "sort_folders_at_top": "ordenar carpetas en la parte superior", + "natural_sort": "Ordenamiento natural", + "sort_with_respect_to_different_character_sorting": "ordenar con respecto a diferentes reglas de ordenamiento y clasificación de caracteres en diferentes idiomas o regiones.", + "natural_sort_language": "Idioma de clasificación natural", + "the_language_code_for_natural_sort": "El código del idioma para el ordenamiento natural, ej. \"zh-CN\" para Chino.", + "sort": "Ordenar Enter" + }, + "upload_attachments": { + "upload_attachments_to_note": "Cargar archivos adjuntos a nota", + "close": "Cerrar", + "choose_files": "Elija los archivos", + "files_will_be_uploaded": "Los archivos se cargarán como archivos adjuntos en", + "options": "Opciones", + "shrink_images": "Reducir imágenes", + "upload": "Subir", + "tooltip": "Si marca esta opción, Trilium intentará reducir las imágenes cargadas mediante escalado y optimización, lo que puede afectar la calidad de la imagen percibida. Si no está marcada, las imágenes se cargarán sin cambios." + }, + "attribute_detail": { + "attr_detail_title": "Título del detalle del atributo", + "close_button_title": "Cancelar cambios y cerrar", + "attr_is_owned_by": "El atributo es propiedad de", + "attr_name_title": "El nombre del atributo solo puede estar compuesto de caracteres alfanuméricos, dos puntos y guión bajo", + "name": "Nombre", + "value": "Valor", + "target_note_title": "La relación es una conexión con nombre entre la nota de origen y la nota de destino.", + "target_note": "Nota de destino", + "promoted_title": "El atributo promovido se muestra de forma destacada en la nota.", + "promoted": "Promovido", + "promoted_alias_title": "El nombre que se mostrará en la interfaz de usuario de atributos promovidos.", + "promoted_alias": "Alias", + "multiplicity_title": "La multiplicidad define cuántos atributos del mismo nombre se pueden crear - como máximo 1 o más de 1.", + "multiplicity": "Multiplicidad", + "single_value": "Valor único", + "multi_value": "Valor múltiple", + "label_type_title": "El tipo de etiqueta ayudará a Trilium a elegir la interfaz adecuada para ingresar el valor de la etiqueta.", + "label_type": "Tipo", + "text": "Texto", + "number": "Número", + "boolean": "Booleano", + "date": "Fecha", + "date_time": "Fecha y hora", + "time": "Hora", + "url": "URL", + "precision_title": "Cantidad de dígitos después del punto flotante que deben estar disponibles en la interfaz de configuración del valor.", + "precision": "Precisión", + "digits": "dígitos", + "inverse_relation_title": "Configuración opcional para definir a qué relación es ésta opuesta. Ejemplo: Padre - Hijo son relaciones inversas entre sí.", + "inverse_relation": "Relación inversa", + "inheritable_title": "El atributo heredable se heredará a todos los descendientes de este árbol.", + "inheritable": "Heredable", + "save_and_close": "Guardar y cerrar Ctrl+Enter", + "delete": "Eliminar", + "related_notes_title": "Otras notas con esta etiqueta", + "more_notes": "Más notas", + "label": "Detalle de etiqueta", + "label_definition": "Detalle de definición de etiqueta", + "relation": "Detalle de relación", + "relation_definition": "Detalle de definición de relación", + "disable_versioning": "deshabilita el control de versiones automático. Útil para, por ejemplo. notas grandes pero sin importancia, p. grandes bibliotecas JS utilizadas para secuencias de comandos (scripts)", + "calendar_root": "marca la nota que debe usarse como raíz para las notas del día. Sólo uno debe estar marcado como tal.", + "archived": "las notas con esta etiqueta no serán visibles de forma predeterminada en los resultados de búsqueda (tampoco en los cuadros de diálogo Saltar a, Agregar vínculo, etc.).", + "exclude_from_export": "las notas (con su subárbol) no se incluirán en ninguna exportación de notas", + "run": "define en qué eventos debe ejecutarse el script. Los valores posibles son:\n
    \n
  • frontendStartup - cuando el frontend de Trilium inicia (o es recargado), pero no en dispositivos móviles.
  • \n
  • backendStartup - cuando el backend de Trilium se inicia
  • \n
  • hourly - se ejecuta una vez cada hora. Puede usar etiqueta adicional runAtHour para especificar a la hora.
  • \n
  • daily - ejecutar una vez al día
  • \n
", + "run_on_instance": "Definir en qué instancia de Trilium se debe ejecutar esto. Predeterminado para todas las instancias.", + "run_at_hour": "¿A qué hora debería funcionar? Debe usarse junto con #run=hourly. Se puede definir varias veces para varias ejecuciones durante el día.", + "disable_inclusion": "los scripts con esta etiqueta no se incluirán en la ejecución del script principal.", + "sorted": "mantiene las subnotas ordenadas alfabéticamente por título", + "sort_direction": "ASC (el valor predeterminado) o DESC", + "sort_folders_first": "Las carpetas (notas con subnotas) deben ordenarse en la parte superior", + "top": "mantener la nota dada en la parte superior de su padre (se aplica solo en padres ordenados)", + "hide_promoted_attributes": "Ocultar atributos promovidos en esta nota", + "read_only": "el editor está en modo de sólo lectura. Funciona sólo para notas de texto y código.", + "auto_read_only_disabled": "las notas de texto/código se pueden configurar automáticamente en modo lectura cuando son muy grandes. Puede desactivar este comportamiento por nota agregando esta etiqueta a la nota", + "app_css": "marca notas CSS que se cargan en la aplicación Trilium y, por lo tanto, se pueden usar para modificar la apariencia de Trilium.", + "app_theme": "marca notas CSS que son temas completos de Trilium y, por lo tanto, están disponibles en las opciones de Trilium.", + "app_theme_base": "establecer a \"siguiente\" para utilizar el tema TriliumNext como base para un tema personalizado en lugar del tema anterior.", + "css_class": "el valor de esta etiqueta se agrega como clase CSS al nodo que representa la nota dada en el árbol. Esto puede resultar útil para temas avanzados. Se puede utilizar en notas de plantilla.", + "icon_class": "el valor de esta etiqueta se agrega como una clase CSS al icono en el árbol, lo que puede ayudar a distinguir visualmente las notas en el árbol. El ejemplo podría ser bx bx-home: los iconos se toman de boxicons. Se puede utilizar en notas de plantilla.", + "page_size": "número de elementos por página en el listado de notas", + "custom_request_handler": "véa Manejador de solicitudes personalizado", + "custom_resource_provider": "véa Manejador de solicitudes personalizado", + "widget": "marca esta nota como un widget personalizado que se agregará al árbol de componentes de Trilium", + "workspace": "marca esta nota como un espacio de trabajo que permite un fácil levantamiento", + "workspace_icon_class": "define la clase CSS del icono de cuadro que se usará en la pestaña cuando se levante a esta nota", + "workspace_tab_background_color": "color CSS utilizado en la pestaña de nota cuando se ancla a esta nota", + "workspace_calendar_root": "Define la raíz del calendario por cada espacio de trabajo", + "workspace_template": "Esta nota aparecerá en la selección de plantillas disponibles al crear una nueva nota, pero solo cuando se levante a un espacio de trabajo que contenga esta plantilla", + "search_home": "se crearán nuevas notas de búsqueda como subnotas de esta nota", + "workspace_search_home": "se crearán nuevas notas de búsqueda como subnotas de esta nota cuando se anclan a algún antecesor de esta nota del espacio de trabajo", + "inbox": "ubicación predeterminada de la bandeja de entrada para nuevas notas - cuando crea una nota usando el botón \"nueva nota\" en la barra lateral, las notas serán creadas como subnotas de la nota marcada con la etiqueta #inbox.", + "workspace_inbox": "ubicación predeterminada de la bandeja de entrada para nuevas notas cuando se anclan a algún antecesor de esta nota del espacio de trabajo", + "sql_console_home": "ubicación predeterminada de las notas de la consola SQL", + "bookmark_folder": "la nota con esta etiqueta aparecerá en los marcadores como carpeta (permitiendo el acceso a sus elementos hijos).", + "share_hidden_from_tree": "esta nota está oculta en el árbol de navegación izquierdo, pero aún se puede acceder a ella con su URL", + "share_external_link": "la nota actuará como un enlace a un sitio web externo en el árbol compartido", + "share_alias": "define un alias que al usar la nota va a estar disponible en https://your_trilium_host/share/[tu_alias]", + "share_omit_default_css": "se omitirá el CSS de la página para compartir predeterminada. Úselo cuando realice cambios importantes de estilo.", + "share_root": "marca la nota que se publica en /share root.", + "share_description": "definir el texto que se agregará a la etiqueta HTML meta para la descripción", + "share_raw": "la nota se entregará en su formato original, sin contenedor HTML", + "share_disallow_robot_indexing": "prohibirá la indexación por robots de esta nota a través del encabezado X-Robots-Tag: noindex", + "share_credentials": "requiere credenciales para acceder a esta nota compartida. Se espera que el valor tenga el formato 'nombre_de_usuario:contraseña'. No olvide hacer que esto sea heredable para aplicarlo a notas/imágenes hijo.", + "share_index": "tenga en cuenta que con esto esta etiqueta enumerará todas las raíces de las notas compartidas", + "display_relations": "nombres de relaciones delimitados por comas que deben mostrarse. Todos los demás estarán ocultos.", + "hide_relations": "nombres de relaciones delimitados por comas que deben ocultarse. Se mostrarán todos los demás.", + "title_template": "título por defecto de notas creadas como subnota de esta nota. El valor es evaluado como una cadena de JavaScript \n y por lo tanto puede ser enriquecida con contenido dinámico vía las variables inyectadas now y parentNote. Ejemplos:\n \n
    \n
  • trabajos literarios de ${parentNote.getLabelValue('authorName')}
  • \n
  • Registro para ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n Consulte la wiki para obtener más detalles, documentación de la API para parentNote y now para más detalles.", + "template": "Esta nota aparecerá en la selección de plantillas disponibles al crear una nueva nota", + "toc": "#toc o #toc=show forzará que se muestre la tabla de contenido, #toc=hide forzará a ocultarla. Si la etiqueta no existe, se observa la configuración global", + "color": "define el color de la nota en el árbol de notas, enlaces, etc. Utilice cualquier valor de color CSS válido como 'red' o #a13d5f", + "keyboard_shortcut": "Define un atajo de teclado que saltará inmediatamente a esta nota. Ejemplo: 'ctrl+alt+e'. Es necesario recargar la interfaz para que el cambio surta efecto.", + "keep_current_hoisting": "Abrir este enlace no cambiará el anclaje incluso si la nota no se puede mostrar en el subárbol anclado actualmente.", + "execute_button": "Título del botón que ejecutará la nota de código actual", + "execute_description": "Descripción más larga de la nota de código actual que se muestra junto con el botón de ejecución", + "exclude_from_note_map": "Las notas con esta etiqueta se ocultarán del Mapa de notas", + "new_notes_on_top": "Las notas nuevas se crearán en la parte superior de la nota principal, no en la parte inferior.", + "hide_highlight_widget": "Ocultar widget de lista destacada", + "run_on_note_creation": "se ejecuta cuando se crea la nota en el backend. Utilice esta relación si desea ejecutar el script para todas las notas creadas en un subárbol específico. En ese caso, créela en la nota raíz del subárbol y hágala heredable. Una nueva nota creada dentro del subárbol (cualquier profundidad) activará el script.", + "run_on_child_note_creation": "se ejecuta cuando se crea una nueva nota bajo la nota donde se define esta relación", + "run_on_note_title_change": "se ejecuta cuando se cambia el título de la nota (también incluye la creación de notas)", + "run_on_note_content_change": "se ejecuta cuando se cambia el contenido de la nota (también incluye la creación de notas).", + "run_on_note_change": "se ejecuta cuando se cambia la nota (incluye también la creación de notas). No incluye cambios de contenido", + "run_on_note_deletion": "se ejecuta cuando se elimina la nota", + "run_on_branch_creation": "se ejecuta cuando se crea una rama. Una rama es un vínculo entre la nota principal y la nota secundaria y se crea, por ejemplo, al clonar o mover una nota.", + "run_on_branch_change": "se ejecuta cuando se actualiza una rama.", + "run_on_branch_deletion": "se ejecuta cuando se elimina una rama. Una rama es un vínculo entre la nota principal y la nota secundaria y se elimina, por ejemplo, al mover la nota (se elimina la rama/enlace antiguo).", + "run_on_attribute_creation": "se ejecuta cuando se crea un nuevo atributo para la nota que define esta relación", + "run_on_attribute_change": " se ejecuta cuando se cambia el atributo de una nota que define esta relación. Esto también se activa cuando se elimina el atributo", + "relation_template": "los atributos de la nota se heredarán incluso sin una relación padre-hijo, el contenido y el subárbol de la nota se agregarán a las notas de instancia si están vacíos. Consulte la documentación para obtener más detalles.", + "inherit": "los atributos de la nota se heredarán incluso sin una relación padre-hijo. Consulte la relación de plantilla para conocer un concepto similar. Consulte herencia de atributos en la documentación.", + "render_note": "notas de tipo \"render HTML note\" serán renderizadas usando una nota de código (HTML o script) y es necesario apuntar usando esta relación con la nota que debe de ser renderizada", + "widget_relation": "el objetivo de esta relación se ejecutará y representará como un widget en la barra lateral", + "share_css": "Nota CSS que se inyectará en la página para compartir. La nota CSS también debe estar en el subárbol compartido. Considere usar también 'share_hidden_from_tree' y 'share_omit_default_css'.", + "share_js": "Nota de JavaScript que se inyectará en la página para compartir. La nota JS también debe estar en el subárbol compartido. Considere usar 'share_hidden_from_tree'.", + "share_template": "Nota de JavaScript integrada que se utilizará como plantilla para mostrar la nota compartida. Su no existe se usa la plantilla predeterminada. Considere usar 'share_hidden_from_tree'.", + "share_favicon": "La nota de favicon se configurará en la página compartida. Por lo general, se desea configurarlo para que comparta la raíz y lo haga heredable. La nota de Favicon también debe estar en el subárbol compartido. Considere usar 'share_hidden_from_tree'.", + "is_owned_by_note": "es propiedad de una nota", + "other_notes_with_name": "Otras notas con nombre de {{attributeType}} \"{{attributeName}}\"", + "and_more": "... y {{count}} más.", + "print_landscape": "Al exportar a PDF, cambia la orientación de la página a paisaje en lugar de retrato.", + "print_page_size": "Al exportar a PDF, cambia el tamaño de la página. Valores soportados: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." + }, + "attribute_editor": { + "help_text_body1": "Para agregar una etiqueta, simplemente escriba, por ejemplo. #rock o si desea agregar también valor, p.e. #año = 2020", + "help_text_body2": "Para relación, escriba ~author = @, lo que debería abrir un autocompletado donde podrá buscar la nota deseada.", + "help_text_body3": "Alternativamente, puede agregar una etiqueta y una relación usando el botón + en el lado derecho.", + "save_attributes": "Guardar atributos ", + "add_a_new_attribute": "Agregar un nuevo atributo", + "add_new_label": "Agregar nueva etiqueta ", + "add_new_relation": "Agregar nueva relación ", + "add_new_label_definition": "Agregar nueva definición de etiqueta", + "add_new_relation_definition": "Agregar nueva definición de relación", + "placeholder": "Ingrese las etiquetas y relaciones aquí" + }, + "abstract_bulk_action": { + "remove_this_search_action": "Eliminar esta acción de búsqueda" + }, + "execute_script": { + "execute_script": "Ejecutar script", + "help_text": "Puede ejecutar scripts simples en las notas coincidentes.", + "example_1": "Por ejemplo, para agregar una cadena al título de una nota, use este pequeño script:", + "example_2": "Un ejemplo más complejo sería eliminar todos los atributos de las notas coincidentes:" + }, + "add_label": { + "add_label": "Agregar etiqueta", + "label_name_placeholder": "nombre de la etiqueta", + "label_name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", + "to_value": "a valor", + "new_value_placeholder": "nuevo valor", + "help_text": "Sobre todas las notas coincidentes:", + "help_text_item1": "crear una etiqueta dada si la nota aún no tiene una", + "help_text_item2": "o cambiar el valor de la etiqueta existente", + "help_text_note": "También puede llamar a este método sin valor, en tal caso se asignará una etiqueta a la nota sin valor." + }, + "delete_label": { + "delete_label": "Eliminar etiqueta", + "label_name_placeholder": "nombre de la etiqueta", + "label_name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." + }, + "rename_label": { + "rename_label": "Renombrar etiqueta", + "rename_label_from": "Renombrar etiqueta de", + "old_name_placeholder": "antiguo nombre", + "to": "A", + "new_name_placeholder": "nuevo nombre", + "name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." + }, + "update_label_value": { + "update_label_value": "Actualizar valor de etiqueta", + "label_name_placeholder": "nombre de la etiqueta", + "label_name_title": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", + "to_value": "a valor", + "new_value_placeholder": "nuevo valor", + "help_text": "En todas las notas coincidentes, cambie el valor de la etiqueta existente.", + "help_text_note": "También puede llamar a este método sin valor, en tal caso se asignará una etiqueta a la nota sin valor." + }, + "delete_note": { + "delete_note": "Eliminar nota", + "delete_matched_notes": "Eliminar notas coincidentes", + "delete_matched_notes_description": "Esto eliminará las notas coincidentes.", + "undelete_notes_instruction": "Después de la eliminación, es posible recuperarlos desde el cuadro de diálogo Cambios recientes.", + "erase_notes_instruction": "Para eliminar las notas permanentemente, puede ir después de la eliminación a Opción -> Otro y dar clic en el botón \"Borrar notas eliminadas ahora\"." + }, + "delete_revisions": { + "delete_note_revisions": "Eliminar revisiones de notas", + "all_past_note_revisions": "Se eliminarán todas las revisiones anteriores de notas coincidentes. La nota en sí se conservará por completo. En otros términos, se eliminará el historial de la nota." + }, + "move_note": { + "move_note": "Mover nota", + "to": "a", + "target_parent_note": "nota padre objetivo", + "on_all_matched_notes": "En todas las notas coincidentes", + "move_note_new_parent": "mover nota al nuevo padre si la nota solo tiene un padre (es decir, la rama anterior es eliminada y una nueva rama es creada en el nuevo padre)", + "clone_note_new_parent": "clonar la nota al nuevo padre si la nota tiene múltiples clones/ramas (no es claro que rama debe de ser eliminada)", + "nothing_will_happen": "no pasará nada si la nota no se puede mover a la nota de destino (es decir, esto crearía un ciclo de árbol)" + }, + "rename_note": { + "rename_note": "Renombrar nota", + "rename_note_title_to": "Renombrar título de la nota a", + "new_note_title": "nuevo título de nota", + "click_help_icon": "Haga clic en el icono de ayuda a la derecha para ver todas las opciones", + "evaluated_as_js_string": "El valor dado se evalúa como una cadena de JavaScript y, por lo tanto, se puede enriquecer con contenido dinámico a través de la variable note inyectada (se cambia el nombre de la nota). Ejemplos:", + "example_note": "Nota: todas las notas coincidentes son renombradas a 'Nota'", + "example_new_title": "NUEVO: ${note.title} - los títulos de las notas coincidentes tienen el prefijo 'NUEVO: '", + "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - las notas coincidentes tienen el prefijo fecha-mes de creación de la nota", + "api_docs": "Consulte los documentos de API para nota y su propiedades dateCreatedObj/utcDateCreatedObj para obtener más detalles." + }, + "add_relation": { + "add_relation": "Agregar relación", + "relation_name": "nombre de relación", + "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", + "to": "a", + "target_note": "nota de destino", + "create_relation_on_all_matched_notes": "En todas las notas coincidentes, cree una relación determinada." + }, + "delete_relation": { + "delete_relation": "Eliminar relación", + "relation_name": "nombre de relación", + "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." + }, + "rename_relation": { + "rename_relation": "Renombrar relación", + "rename_relation_from": "Renombrar relación de", + "old_name": "antiguo nombre", + "to": "A", + "new_name": "nuevo nombre", + "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos." + }, + "update_relation_target": { + "update_relation": "Relación de actualización", + "relation_name": "nombre de la relación", + "allowed_characters": "Se permiten caracteres alfanuméricos, guiones bajos y dos puntos.", + "to": "a", + "target_note": "nota de destino", + "on_all_matched_notes": "En todas las notas coincidentes", + "change_target_note": "o cambiar la nota de destino de la relación existente", + "update_relation_target": "Actualizar destino de relación" + }, + "attachments_actions": { + "open_externally": "Abrir externamente", + "open_externally_title": "El archivo se abrirá en una aplicación externa y se observará en busca de cambios. Luego podrá volver a cargar la versión modificada en Trilium.", + "open_custom": "Abrir de forma personalizada", + "open_custom_title": "El archivo se abrirá en una aplicación externa y se observará en busca de cambios. Luego podrá volver a cargar la versión modificada en Trilium.", + "download": "Descargar", + "rename_attachment": "Renombrar archivo adjunto", + "upload_new_revision": "Subir nueva revisión", + "copy_link_to_clipboard": "Copiar enlace al portapapeles", + "convert_attachment_into_note": "Convertir archivo adjunto en nota", + "delete_attachment": "Eliminar archivo adjunto", + "upload_success": "Se ha subido una nueva revisión del archivo adjunto.", + "upload_failed": "Error al cargar una nueva revisión del archivo adjunto.", + "open_externally_detail_page": "Abrir un archivo adjunto externamente solo está disponible desde la página de detalles; primero haga clic en el detalle del archivo adjunto y repita la acción.", + "open_custom_client_only": "La apertura personalizada de archivos adjuntos solo se puede realizar desde el cliente.", + "delete_confirm": "¿Está seguro de que desea eliminar el archivo adjunto '{{title}}'?", + "delete_success": "El archivo adjunto '{{title}}' ha sido eliminado.", + "convert_confirm": "¿Está seguro de que desea convertir el archivo adjunto '{{title}}' en una nota separada?", + "convert_success": "El archivo adjunto '{{title}}' se ha convertido en una nota.", + "enter_new_name": "Por favor ingresa el nombre del nuevo archivo adjunto" + }, + "calendar": { + "mon": "Lun", + "tue": "Mar", + "wed": "Mié", + "thu": "Jue", + "fri": "Vie", + "sat": "Sáb", + "sun": "Dom", + "cannot_find_day_note": "No se puede encontrar la nota del día", + "cannot_find_week_note": "No se puede encontrar la nota de la semana", + "january": "Enero", + "febuary": "Febrero", + "march": "Marzo", + "april": "Abril", + "may": "Mayo", + "june": "Junio", + "july": "Julio", + "august": "Agosto", + "september": "Septiembre", + "october": "Octubre", + "november": "Noviembre", + "december": "Diciembre" + }, + "close_pane_button": { + "close_this_pane": "Cerrar este panel" + }, + "create_pane_button": { + "create_new_split": "Crear nueva división" + }, + "edit_button": { + "edit_this_note": "Editar esta nota" + }, + "show_toc_widget_button": { + "show_toc": "Mostrar tabla de contenido" + }, + "show_highlights_list_widget_button": { + "show_highlights_list": "Mostrar lista de destacados" + }, + "global_menu": { + "menu": "Menú", + "options": "Opciones", + "open_new_window": "Abrir nueva ventana", + "switch_to_mobile_version": "Cambiar a la versión móvil", + "switch_to_desktop_version": "Cambiar a la versión de escritorio", + "zoom": "Zoom", + "toggle_fullscreen": "Alternar pantalla completa", + "zoom_out": "Alejar", + "reset_zoom_level": "Restablecer nivel de zoom", + "zoom_in": "Acercar", + "configure_launchbar": "Configurar la barra de inicio", + "show_shared_notes_subtree": "Mostrar subárbol de notas compartidas", + "advanced": "Avanzado", + "open_dev_tools": "Abrir herramientas de desarrollo", + "open_sql_console": "Abrir la consola SQL", + "open_sql_console_history": "Abrir el historial de la consola SQL", + "open_search_history": "Abrir historial de búsqueda", + "show_backend_log": "Mostrar registro de backend", + "reload_hint": "Recargar puede ayudar con algunos fallos visuales sin reiniciar toda la aplicación.", + "reload_frontend": "Recargar interfaz", + "show_hidden_subtree": "Mostrar subárbol oculto", + "show_help": "Mostrar ayuda", + "about": "Acerca de Trilium Notes", + "logout": "Cerrar sesión", + "show-cheatsheet": "Mostrar hoja de trucos", + "toggle-zen-mode": "Modo Zen" + }, + "zen_mode": { + "button_exit": "Salir del modo Zen" + }, + "sync_status": { + "unknown": "

El estado de sincronización será conocido una vez que el siguiente intento de sincronización comience.

Dé clic para activar la sincronización ahora

", + "connected_with_changes": "

Conectado al servidor de sincronización.
Hay cambios pendientes que aún no se han sincronizado.

Dé clic para activar la sincronización.

", + "connected_no_changes": "

Conectado al servidor de sincronización.
Todos los cambios ya han sido sincronizados.

Dé clic para activar la sincronización.

", + "disconnected_with_changes": "

El establecimiento de la conexión con el servidor de sincronización no ha tenido éxito.
Hay algunos cambios pendientes que aún no se han sincronizado.

Dé clic para activar la sincronización.

", + "disconnected_no_changes": "

El establecimiento de la conexión con el servidor de sincronización no ha tenido éxito.
Todos los cambios conocidos han sido sincronizados.

Dé clic para activar la sincronización.

", + "in_progress": "La sincronización con el servidor está en progreso." + }, + "left_pane_toggle": { + "show_panel": "Mostrar panel", + "hide_panel": "Ocultar panel" + }, + "move_pane_button": { + "move_left": "Mover a la izquierda", + "move_right": "Mover a la derecha" + }, + "note_actions": { + "convert_into_attachment": "Convertir en archivo adjunto", + "re_render_note": "Volver a renderizar nota", + "search_in_note": "Buscar en nota", + "note_source": "Fuente de la nota", + "note_attachments": "Notas adjuntas", + "open_note_externally": "Abrir nota externamente", + "open_note_externally_title": "El archivo se abrirá en una aplicación externa y se observará en busca de cambios. Luego podrá volver a cargar la versión modificada en Trilium.", + "open_note_custom": "Abrir nota personalizada", + "import_files": "Importar archivos", + "export_note": "Exportar nota", + "delete_note": "Eliminar nota", + "print_note": "Imprimir nota", + "save_revision": "Guardar revisión", + "convert_into_attachment_failed": "La conversión de nota '{{title}}' falló.", + "convert_into_attachment_successful": "La nota '{{title}}' ha sido convertida a un archivo adjunto.", + "convert_into_attachment_prompt": "¿Está seguro que desea convertir la nota '{{title}}' en un archivo adjunto de la nota padre?", + "print_pdf": "Exportar como PDF..." + }, + "onclick_button": { + "no_click_handler": "El widget de botón '{{componentId}}' no tiene un controlador de clics definido" + }, + "protected_session_status": { + "active": "La sesión protegida está activa. Dé clic para salir de la sesión protegida.", + "inactive": "Dé clic para ingresar a la sesión protegida" + }, + "revisions_button": { + "note_revisions": "Revisiones de nota" + }, + "update_available": { + "update_available": "Actualización disponible" + }, + "note_launcher": { + "this_launcher_doesnt_define_target_note": "Este lanzador no define la nota de destino." + }, + "code_buttons": { + "execute_button_title": "Ejecutar script", + "trilium_api_docs_button_title": "Abrir documentación de la API de Trilium", + "save_to_note_button_title": "Guardar en nota", + "opening_api_docs_message": "Abriendo documentación API...", + "sql_console_saved_message": "La nota de la consola SQL se ha guardado en {{note_path}}" + }, + "copy_image_reference_button": { + "button_title": "Copiar la referencia de la imagen al portapapeles; se puede pegar en una nota de texto." + }, + "hide_floating_buttons_button": { + "button_title": "Ocultar botones" + }, + "show_floating_buttons_button": { + "button_title": "Mostrar botones" + }, + "svg_export_button": { + "button_title": "Exportar diagrama como SVG" + }, + "relation_map_buttons": { + "create_child_note_title": "Crear una nueva subnota y agregarla a este mapa de relaciones", + "reset_pan_zoom_title": "Restablecer la panorámica y el zoom a las coordenadas y ampliación iniciales", + "zoom_in_title": "Acercar", + "zoom_out_title": "Alejar" + }, + "zpetne_odkazy": { + "backlink": "{{count}} Vínculo de retroceso", + "backlinks": "{{count}} vínculos de retroceso", + "relation": "relación" + }, + "mobile_detail_menu": { + "insert_child_note": "Insertar subnota", + "delete_this_note": "Eliminar esta nota", + "error_cannot_get_branch_id": "No se puede obtener el branchID del notePath '{{notePath}}'", + "error_unrecognized_command": "Comando no reconocido {{command}}" + }, + "note_icon": { + "change_note_icon": "Cambiar icono de nota", + "category": "Categoría:", + "search": "Búsqueda:", + "reset-default": "Restablecer a icono por defecto" + }, + "basic_properties": { + "note_type": "Tipo de nota", + "editable": "Editable", + "basic_properties": "Propiedades básicas", + "language": "Idioma" + }, + "book_properties": { + "view_type": "Tipo de vista", + "grid": "Cuadrícula", + "list": "Lista", + "collapse_all_notes": "Contraer todas las notas", + "expand_all_children": "Ampliar todas las subnotas", + "collapse": "Colapsar", + "expand": "Expandir", + "invalid_view_type": "Tipo de vista inválida '{{type}}'", + "calendar": "Calendario" + }, + "edited_notes": { + "no_edited_notes_found": "Aún no hay notas editadas en este día...", + "title": "Notas editadas", + "deleted": "(eliminado)" + }, + "file_properties": { + "note_id": "ID de nota", + "original_file_name": "Nombre del archivo original", + "file_type": "Tipo de archivo", + "file_size": "Tamaño del archivo", + "download": "Descargar", + "open": "Abrir", + "upload_new_revision": "Subir nueva revisión", + "upload_success": "Se ha subido una nueva revisión de archivo.", + "upload_failed": "Error al cargar una nueva revisión de archivo.", + "title": "Archivo" + }, + "image_properties": { + "original_file_name": "Nombre del archivo original", + "file_type": "Tipo de archivo", + "file_size": "Tamaño del archivo", + "download": "Descargar", + "open": "Abrir", + "copy_reference_to_clipboard": "Copiar referencia al portapapeles", + "upload_new_revision": "Subir nueva revisión", + "upload_success": "Se ha subido una nueva revisión de imagen.", + "upload_failed": "Error al cargar una nueva revisión de imagen: {{message}}", + "title": "Imagen" + }, + "inherited_attribute_list": { + "title": "Atributos heredados", + "no_inherited_attributes": "Sin atributos heredados." + }, + "note_info_widget": { + "note_id": "ID de nota", + "created": "Creado", + "modified": "Modificado", + "type": "Tipo", + "note_size": "Tamaño de nota", + "note_size_info": "El tamaño de la nota proporciona una estimación aproximada de los requisitos de almacenamiento para esta nota. Toma en cuenta el contenido de la nota y el contenido de sus revisiones de nota.", + "calculate": "calcular", + "subtree_size": "(tamaño del subárbol: {{size}} en {{count}} notas)", + "title": "Información de nota" + }, + "note_map": { + "open_full": "Ampliar al máximo", + "collapse": "Contraer al tamaño normal", + "title": "Mapa de notas", + "fix-nodes": "Fijar nodos", + "link-distance": "Distancia de enlace" + }, + "note_paths": { + "title": "Rutas de nota", + "clone_button": "Clonar nota a nueva ubicación...", + "intro_placed": "Esta nota está colocada en las siguientes rutas:", + "intro_not_placed": "Esta nota aún no se ha colocado en el árbol de notas.", + "outside_hoisted": "Esta ruta está fuera de la nota anclada y habría que bajarla.", + "archived": "Archivado", + "search": "Buscar" + }, + "note_properties": { + "this_note_was_originally_taken_from": "Esta nota fue tomada originalmente de:", + "info": "Información" + }, + "owned_attribute_list": { + "owned_attributes": "Atributos propios" + }, + "promoted_attributes": { + "promoted_attributes": "Atributos promovidos", + "unset-field-placeholder": "no establecido", + "url_placeholder": "http://sitioweb...", + "open_external_link": "Abrir enlace externo", + "unknown_label_type": "Tipo de etiqueta desconocido '{{type}}'", + "unknown_attribute_type": "Tipo de atributo desconocido '{{type}}'", + "add_new_attribute": "Agregar nuevo atributo", + "remove_this_attribute": "Eliminar este atributo" + }, + "script_executor": { + "query": "Consulta", + "script": "Script", + "execute_query": "Ejecutar consulta", + "execute_script": "Ejecutar script" + }, + "search_definition": { + "add_search_option": "Agregar opción de búsqueda:", + "search_string": "cadena de búsqueda", + "search_script": "script de búsqueda", + "ancestor": "antepasado", + "fast_search": "búsqueda rápida", + "fast_search_description": "La opción de búsqueda rápida desactiva la búsqueda de texto completo del contenido de las notas, lo que podría acelerar la búsqueda en bases de datos grandes.", + "include_archived": "incluir notas archivadas", + "include_archived_notes_description": "Las notas archivadas se excluyen por defecto de los resultados de búsqueda; con esta opción se incluirán.", + "order_by": "ordenar por", + "limit": "límite", + "limit_description": "Limitar el número de resultados", + "debug": "depurar", + "debug_description": "La depuración imprimirá información de depuración adicional en la consola para ayudar a depurar consultas complejas", + "action": "acción", + "search_button": "Buscar Enter", + "search_execute": "Buscar y ejecutar acciones", + "save_to_note": "Guardar en nota", + "search_parameters": "Parámetros de búsqueda", + "unknown_search_option": "Opción de búsqueda desconocida {{searchOptionName}}", + "search_note_saved": "La nota de búsqueda se ha guardado en {{- notePathTitle}}", + "actions_executed": "Las acciones han sido ejecutadas." + }, + "similar_notes": { + "title": "Notas similares", + "no_similar_notes_found": "No se encontraron notas similares." + }, + "abstract_search_option": { + "remove_this_search_option": "Eliminar esta opción de búsqueda", + "failed_rendering": "Error al renderizar opción de búsqueda: {{dto}} con error: {{error}} {{stack}}" + }, + "ancestor": { + "label": "Antepasado", + "placeholder": "buscar nota por su nombre", + "depth_label": "profundidad", + "depth_doesnt_matter": "no importa", + "depth_eq": "es exactamente {{count}}", + "direct_children": "hijos directos", + "depth_gt": "es mayor que {{count}}", + "depth_lt": "es menor que {{count}}" + }, + "debug": { + "debug": "Depurar", + "debug_info": "Al depurar se imprimirá información de depuración adicional en la consola para ayudar a depurar consultas complejas.", + "access_info": "Para acceder a la información de depuración, ejecute la consulta y dé clic en \"Mostrar registro de backend\" en la esquina superior izquierda." + }, + "fast_search": { + "fast_search": "Búsqueda rápida", + "description": "La opción de búsqueda rápida desactiva la búsqueda de texto completo del contenido de las notas, lo que podría acelerar la búsqueda en bases de datos grandes." + }, + "include_archived_notes": { + "include_archived_notes": "Incluir notas archivadas" + }, + "limit": { + "limit": "Límite", + "take_first_x_results": "Tomar solo los primeros X resultados especificados." + }, + "order_by": { + "order_by": "Ordenar por", + "relevancy": "Relevancia (predeterminado)", + "title": "Título", + "date_created": "Fecha de creación", + "date_modified": "Fecha de la última modificación", + "content_size": "Tamaño del contenido de la nota", + "content_and_attachments_size": "Tenga en cuenta el tamaño del contenido, incluidos los archivos adjuntos", + "content_and_attachments_and_revisions_size": "Tenga en cuenta el tamaño del contenido, incluidos los archivos adjuntos y las revisiones", + "revision_count": "Número de revisiones", + "children_count": "Número de subnotas", + "parent_count": "Número de clones", + "owned_label_count": "Número de etiquetas", + "owned_relation_count": "Número de relaciones", + "target_relation_count": "Número de relaciones dirigidas a la nota", + "random": "Orden aleatorio", + "asc": "Ascendente (predeterminado)", + "desc": "Descendente" + }, + "search_script": { + "title": "Script de búsqueda:", + "placeholder": "buscar nota por su nombre", + "description1": "El script de búsqueda permite definir los resultados de la búsqueda ejecutando un script. Esto proporciona la máxima flexibilidad cuando la búsqueda estándar no es suficiente.", + "description2": "El script de búsqueda debe ser de tipo \"código\" y subtipo \"JavaScript backend\". El script tiene que devolver un arreglo de noteIds o notas.", + "example_title": "Véa este ejemplo:", + "example_code": "// 1. prefiltro usando búsqueda estandar\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. aplicar criterios de búsqueda personalizada\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", + "note": "Tenga en cuenta que el script de búsqueda y la cadena de búsqueda no se pueden combinar entre sí." + }, + "search_string": { + "title_column": "Cadena de búsqueda:", + "placeholder": "palabras clave de texto completo, #etiqueta = valor...", + "search_syntax": "Sintaxis de búsqueda", + "also_see": "ver también", + "complete_help": "ayuda completa sobre la sintaxis de búsqueda", + "full_text_search": "Simplemente ingrese cualquier texto para realizar una búsqueda de texto completo", + "label_abc": "devuelve notas con etiqueta abc", + "label_year": "coincide con las notas con el año de la etiqueta que tiene valor 2019", + "label_rock_pop": "coincide con notas que tienen etiquetas tanto de rock como de pop", + "label_rock_or_pop": "sólo una de las etiquetas debe estar presente", + "label_year_comparison": "comparación numérica (también >, >=, <).", + "label_date_created": "notas creadas en el último mes", + "error": "Error de búsqueda: {{error}}", + "search_prefix": "Buscar:" + }, + "attachment_detail": { + "open_help_page": "Abrir página de ayuda en archivos adjuntos", + "owning_note": "Nota dueña: ", + "you_can_also_open": ", también puede abrir el ", + "list_of_all_attachments": "Lista de todos los archivos adjuntos", + "attachment_deleted": "Este archivo adjunto ha sido eliminado." + }, + "attachment_list": { + "open_help_page": "Abrir página de ayuda en archivos adjuntos", + "owning_note": "Nota dueña: ", + "upload_attachments": "Subir archivos adjuntos", + "no_attachments": "Esta nota no tiene archivos adjuntos." + }, + "book": { + "no_children_help": "Esta nota de tipo libro no tiene ninguna subnota así que no hay nada que mostrar. Véa la wiki para más detalles." + }, + "editable_code": { + "placeholder": "Escriba el contenido de su nota de código aquí..." + }, + "editable_text": { + "placeholder": "Escribe aquí el contenido de tu nota..." + }, + "empty": { + "open_note_instruction": "Abra una nota escribiendo el título de la nota en la entrada a continuación o elija una nota en el árbol.", + "search_placeholder": "buscar una nota por su nombre", + "enter_workspace": "Ingresar al espacio de trabajo {{title}}" + }, + "file": { + "file_preview_not_available": "La vista previa del archivo no está disponible para este formato de archivo.", + "too_big": "La vista previa solo muestra los primeros {{maxNumChars}} caracteres del archivo por razones de rendimiento. Descargue el archivo y ábralo externamente para poder ver todo el contenido." + }, + "protected_session": { + "enter_password_instruction": "Para mostrar una nota protegida es necesario ingresar su contraseña:", + "start_session_button": "Iniciar sesión protegida Enter", + "started": "La sesión protegida ha iniciado.", + "wrong_password": "Contraseña incorrecta.", + "protecting-finished-successfully": "La protección finalizó exitosamente.", + "unprotecting-finished-successfully": "La desprotección finalizó exitosamente.", + "protecting-in-progress": "Protección en progreso: {{count}}", + "unprotecting-in-progress-count": "Desprotección en progreso: {{count}}", + "protecting-title": "Estado de protección", + "unprotecting-title": "Estado de desprotección" + }, + "relation_map": { + "open_in_new_tab": "Abrir en nueva pestaña", + "remove_note": "Quitar nota", + "edit_title": "Editar título", + "rename_note": "Cambiar nombre de nota", + "enter_new_title": "Ingrese el nuevo título de la nota:", + "remove_relation": "Eliminar relación", + "confirm_remove_relation": "¿Estás seguro de que deseas eliminar la relación?", + "specify_new_relation_name": "Especifique el nuevo nombre de la relación (caracteres permitidos: alfanuméricos, dos puntos y guión bajo):", + "connection_exists": "La conexión '{{name}}' entre estas notas ya existe.", + "start_dragging_relations": "Empiece a arrastrar relaciones desde aquí y suéltelas en otra nota.", + "note_not_found": "¡Nota {{noteId}} no encontrada!", + "cannot_match_transform": "No se puede coincidir con la transformación: {{transform}}", + "note_already_in_diagram": "Note \"{{title}}\" is already in the diagram.", + "enter_title_of_new_note": "Ingrese el título de la nueva nota", + "default_new_note_title": "nueva nota", + "click_on_canvas_to_place_new_note": "Haga clic en el lienzo para colocar una nueva nota" + }, + "render": { + "note_detail_render_help_1": "Esta nota de ayuda se muestra porque esta nota de tipo Renderizar HTML no tiene la relación requerida para funcionar correctamente.", + "note_detail_render_help_2": "El tipo de nota Render HTML es usado para scripting. De forma resumida, tiene una nota con código HTML (opcionalmente con algo de JavaScript) y esta nota la renderizará. Para que funcione, es necesario definir una relación llamada \"renderNote\" apuntando a la nota HTML nota a renderizar." + }, + "web_view": { + "web_view": "Vista web", + "embed_websites": "La nota de tipo Web View le permite insertar sitios web en Trilium.", + "create_label": "Para comenzar, por favor cree una etiqueta con una dirección URL que desee empotrar, e.g. #webViewSrc=\"https://www.google.com\"" + }, + "backend_log": { + "refresh": "Refrescar" + }, + "consistency_checks": { + "title": "Comprobación de coherencia", + "find_and_fix_button": "Buscar y solucionar problemas de coherencia", + "finding_and_fixing_message": "Buscando y solucionando problemas de coherencia...", + "issues_fixed_message": "Los problemas de coherencia han sido solucionados." + }, + "database_anonymization": { + "title": "Anonimización de bases de datos", + "full_anonymization": "Anonimización total", + "full_anonymization_description": "Esta acción creará una nueva copia de la base de datos y la anonimizará (eliminará todo el contenido de las notas y dejará solo la estructura y algunos metadatos no confidenciales) para compartirla en línea con fines de depuración sin temor a filtrar sus datos personales.", + "save_fully_anonymized_database": "Guarde la base de datos completamente anónima", + "light_anonymization": "Anonimización ligera", + "light_anonymization_description": "Esta acción creará una nueva copia de la base de datos y realizará una ligera anonimización en ella; específicamente, solo se eliminará el contenido de todas las notas, pero los títulos y atributos permanecerán. Además, se mantendrán las notas de script JS frontend/backend personalizadas y los widgets personalizados. Esto proporciona más contexto para depurar los problemas.", + "choose_anonymization": "Puede decidir usted mismo si desea proporcionar una base de datos total o ligeramente anónima. Incluso una base de datos totalmente anónima es muy útil; sin embargo, en algunos casos, una base de datos ligeramente anónima puede acelerar el proceso de identificación y corrección de errores.", + "save_lightly_anonymized_database": "Guarde una base de datos ligeramente anónima", + "existing_anonymized_databases": "Bases de datos anónimas existentes", + "creating_fully_anonymized_database": "Creando una base de datos totalmente anónima...", + "creating_lightly_anonymized_database": "Creando una base de datos ligeramente anónima...", + "error_creating_anonymized_database": "No se pudo crear una base de datos anónima; consulte los registros de backend para obtener más detalles", + "successfully_created_fully_anonymized_database": "Se creó una base de datos completamente anónima en {{anonymizedFilePath}}", + "successfully_created_lightly_anonymized_database": "Se creó una base de datos ligeramente anónima en {{anonymizedFilePath}}", + "no_anonymized_database_yet": "Aún no hay base de datos anónima." + }, + "database_integrity_check": { + "title": "Verificación de integridad de la base de datos", + "description": "Esto verificará que la base de datos no esté dañada en el nivel SQLite. Puede que tarde algún tiempo, dependiendo del tamaño de la base de datos.", + "check_button": "Verificar la integridad de la base de datos", + "checking_integrity": "Comprobando la integridad de la base de datos...", + "integrity_check_succeeded": "La verificación de integridad fue exitosa; no se encontraron problemas.", + "integrity_check_failed": "La verificación de integridad falló: {{results}}" + }, + "sync": { + "title": "Sincronizar", + "force_full_sync_button": "Forzar sincronización completa", + "fill_entity_changes_button": "Llenar registros de cambios de entidad", + "full_sync_triggered": "Sincronización completa activada", + "filling_entity_changes": "Rellenar filas de cambios de entidad...", + "sync_rows_filled_successfully": "Sincronizar filas completadas correctamente", + "finished-successfully": "La sincronización finalizó exitosamente.", + "failed": "La sincronización falló: {{message}}" + }, + "vacuum_database": { + "title": "Limpiar base de datos", + "description": "Esto reconstruirá la base de datos, lo que normalmente dará como resultado un archivo de base de datos más pequeño. En realidad, no se cambiará ningún dato.", + "button_text": "Limpiar base de datos", + "vacuuming_database": "Limpiando base de datos...", + "database_vacuumed": "La base de datos ha sido limpiada" + }, + "fonts": { + "theme_defined": "Tema definido", + "fonts": "Fuentes", + "main_font": "Fuente principal", + "font_family": "Familia de fuentes", + "size": "Tamaño", + "note_tree_font": "Fuente del árbol de notas", + "note_detail_font": "Fuente de detalle de nota", + "monospace_font": "Fuente Monospace (código)", + "note_tree_and_detail_font_sizing": "Tenga en cuenta que el tamaño de fuente del árbol y de los detalles es relativo a la configuración del tamaño de fuente principal.", + "not_all_fonts_available": "Es posible que no todas las fuentes enumeradas estén disponibles en su sistema.", + "apply_font_changes": "Para aplicar cambios de fuente, haga clic en", + "reload_frontend": "recargar la interfaz", + "generic-fonts": "Fuentes genéricas", + "sans-serif-system-fonts": "Fuentes Sans-serif del sistema", + "serif-system-fonts": "Fuentes Serif del sistema", + "monospace-system-fonts": "Fuentes Monoespaciadas del sistema", + "handwriting-system-fonts": "Fuentes a mano alzada del sistema", + "serif": "Serif", + "sans-serif": "Sans Serif", + "monospace": "Monoespaciada", + "system-default": "Predeterminada del sistema" + }, + "max_content_width": { + "title": "Ancho del contenido", + "default_description": "Trilium limita de forma predeterminada el ancho máximo del contenido para mejorar la legibilidad de ventanas maximizadas en pantallas anchas.", + "max_width_label": "Ancho máximo del contenido en píxeles", + "max_width_unit": "píxeles", + "apply_changes_description": "Para aplicar cambios en el ancho del contenido, haga clic en", + "reload_button": "recargar la interfaz", + "reload_description": "cambios desde las opciones de apariencia" + }, + "native_title_bar": { + "title": "Barra de título nativa (requiere reiniciar la aplicación)", + "enabled": "activado", + "disabled": "desactivado" + }, + "ribbon": { + "widgets": "Widgets de cinta", + "promoted_attributes_message": "La pestaña de la cinta Atributos promovidos se abrirá automáticamente si los atributos promovidos están presentes en la nota", + "edited_notes_message": "La pestaña de la cinta Notas editadas se abrirá automáticamente en las notas del día" + }, + "theme": { + "title": "Tema", + "theme_label": "Tema", + "override_theme_fonts_label": "Sobreescribir fuentes de tema", + "auto_theme": "Automático", + "light_theme": "Claro", + "dark_theme": "Oscuro", + "triliumnext": "TriliumNext Beta (Sigue el esquema de color del sistema)", + "triliumnext-light": "TriliumNext Beta (Claro)", + "triliumnext-dark": "TriliumNext Beta (Oscuro)", + "layout": "Disposición", + "layout-vertical-title": "Vertical", + "layout-horizontal-title": "Horizontal", + "layout-vertical-description": "la barra del lanzador está en la izquierda (por defecto)", + "layout-horizontal-description": "la barra de lanzamiento está debajo de la barra de pestañas, la barra de pestañas ahora tiene ancho completo." + }, + "ai_llm": { + "not_started": "No iniciado", + "title": "IA y ajustes de embeddings", + "processed_notes": "Notas procesadas", + "total_notes": "Notas totales", + "progress": "Progreso", + "queued_notes": "Notas en fila", + "failed_notes": "Notas fallidas", + "last_processed": "Última procesada", + "refresh_stats": "Recargar estadísticas", + "enable_ai_features": "Habilitar características IA/LLM", + "enable_ai_description": "Habilitar características de IA como resumen de notas, generación de contenido y otras capacidades LLM", + "openai_tab": "OpenAI", + "anthropic_tab": "Anthropic", + "voyage_tab": "Voyage AI", + "ollama_tab": "Ollama", + "enable_ai": "Habilitar características IA/LLM", + "enable_ai_desc": "Habilitar características de IA como resumen de notas, generación de contenido y otras capacidades LLM", + "provider_configuration": "Configuración de proveedor de IA", + "provider_precedence": "Precedencia de proveedor", + "provider_precedence_description": "Lista de proveedores en orden de precedencia separada por comas (p.e., 'openai,anthropic,ollama')", + "temperature": "Temperatura", + "temperature_description": "Controla la aleatoriedad de las respuestas (0 = determinista, 2 = aleatoriedad máxima)", + "system_prompt": "Mensaje de sistema", + "system_prompt_description": "Mensaje de sistema predeterminado utilizado para todas las interacciones de IA", + "openai_configuration": "Configuración de OpenAI", + "openai_settings": "Ajustes de OpenAI", + "api_key": "Clave API", + "url": "URL base", + "model": "Modelo", + "openai_api_key_description": "Tu clave API de OpenAI para acceder a sus servicios de IA", + "anthropic_api_key_description": "Tu clave API de Anthropic para acceder a los modelos Claude", + "default_model": "Modelo por defecto", + "openai_model_description": "Ejemplos: gpt-4o, gpt-4-turbo, gpt-3.5-turbo", + "base_url": "URL base", + "openai_url_description": "Por defecto: https://api.openai.com/v1", + "anthropic_settings": "Ajustes de Anthropic", + "anthropic_url_description": "URL base para la API de Anthropic (por defecto: https://api.anthropic.com)", + "anthropic_model_description": "Modelos Claude de Anthropic para el completado de chat", + "voyage_settings": "Ajustes de Voyage AI", + "ollama_settings": "Ajustes de Ollama", + "ollama_url_description": "URL para la API de Ollama (por defecto: http://localhost:11434)", + "ollama_model_description": "Modelo de Ollama a usar para el completado de chat", + "anthropic_configuration": "Configuración de Anthropic", + "voyage_configuration": "Configuración de Voyage AI", + "voyage_url_description": "Por defecto: https://api.voyageai.com/v1", + "ollama_configuration": "Configuración de Ollama", + "enable_ollama": "Habilitar Ollama", + "enable_ollama_description": "Habilitar Ollama para uso de modelo de IA local", + "ollama_url": "URL de Ollama", + "ollama_model": "Modelo de Ollama", + "refresh_models": "Refrescar modelos", + "refreshing_models": "Refrescando...", + "enable_automatic_indexing": "Habilitar indexado automático", + "rebuild_index": "Recrear índice", + "rebuild_index_error": "Error al comenzar la reconstrucción del índice. Consulte los registros para más detalles.", + "note_title": "Título de nota", + "error": "Error", + "last_attempt": "Último intento", + "actions": "Acciones", + "retry": "Reintentar", + "partial": "{{ percentage }}% completado", + "retry_queued": "Nota en la cola para reintento", + "retry_failed": "Hubo un fallo al poner en la cola a la nota para reintento", + "max_notes_per_llm_query": "Máximo de notas por consulta", + "max_notes_per_llm_query_description": "Número máximo de notas similares a incluir en el contexto IA", + "active_providers": "Proveedores activos", + "disabled_providers": "Proveedores deshabilitados", + "remove_provider": "Eliminar proveedor de la búsqueda", + "restore_provider": "Restaurar proveedor a la búsqueda", + "similarity_threshold": "Bias de similaridad", + "similarity_threshold_description": "Puntuación de similaridad mínima (0-1) para incluir notas en el contexto para consultas LLM", + "reprocess_index": "Reconstruir el índice de búsqueda", + "reprocessing_index": "Reconstruyendo...", + "reprocess_index_started": "La optimización de índice de búsqueda comenzó en segundo plano", + "reprocess_index_error": "Error al reconstruir el índice de búsqueda", + "index_rebuild_progress": "Progreso de reconstrucción de índice", + "index_rebuilding": "Optimizando índice ({{percentage}}%)", + "index_rebuild_complete": "Optimización de índice completa", + "index_rebuild_status_error": "Error al comprobar el estado de reconstrucción del índice", + "never": "Nunca", + "processing": "Procesando ({{percentage}}%)", + "incomplete": "Incompleto ({{percentage}}%)", + "complete": "Completo (100%)", + "refreshing": "Refrescando...", + "auto_refresh_notice": "Refrescar automáticamente cada {{seconds}} segundos", + "note_queued_for_retry": "Nota en la cola para reintento", + "failed_to_retry_note": "Hubo un fallo al reintentar nota", + "all_notes_queued_for_retry": "Todas las notas con fallo agregadas a la cola para reintento", + "failed_to_retry_all": "Hubo un fallo al reintentar notas", + "ai_settings": "Ajustes de IA", + "api_key_tooltip": "Clave API para acceder al servicio", + "empty_key_warning": { + "anthropic": "La clave API de Anthropic está vacía. Por favor, ingrese una clave API válida.", + "openai": "La clave API de OpenAI está vacía. Por favor, ingrese una clave API válida.", + "voyage": "La clave API de Voyage está vacía. Por favor, ingrese una clave API válida.", + "ollama": "La clave API de Ollama está vacía. Por favor, ingrese una clave API válida." + }, + "agent": { + "processing": "Procesando...", + "thinking": "Pensando...", + "loading": "Cargando...", + "generating": "Generando..." + }, + "name": "IA", + "openai": "OpenAI", + "use_enhanced_context": "Utilizar contexto mejorado", + "enhanced_context_description": "Provee a la IA con más contexto de la nota y sus notas relacionadas para obtener mejores respuestas", + "show_thinking": "Mostrar pensamiento", + "show_thinking_description": "Mostrar la cadena del proceso de pensamiento de la IA", + "enter_message": "Ingrese su mensaje...", + "error_contacting_provider": "Error al contactar con su proveedor de IA. Por favor compruebe sus ajustes y conexión a internet.", + "error_generating_response": "Error al generar respuesta de IA", + "index_all_notes": "Indexar todas las notas", + "index_status": "Estado de índice", + "indexed_notes": "Notas indexadas", + "indexing_stopped": "Indexado detenido", + "indexing_in_progress": "Indexado en progreso...", + "last_indexed": "Último indexado", + "n_notes_queued": "{{ count }} nota agregada a la cola para indexado", + "n_notes_queued_plural": "{{ count }} notas agregadas a la cola para indexado", + "note_chat": "Chat de nota", + "notes_indexed": "{{ count }} nota indexada", + "notes_indexed_plural": "{{ count }} notas indexadas", + "sources": "Fuentes", + "start_indexing": "Comenzar indexado", + "use_advanced_context": "Usar contexto avanzado", + "ollama_no_url": "Ollama no está configurado. Por favor ingrese una URL válida.", + "chat": { + "root_note_title": "Chats de IA", + "root_note_content": "Esta nota contiene tus conversaciones de chat de IA guardadas.", + "new_chat_title": "Nuevo chat", + "create_new_ai_chat": "Crear nuevo chat de IA" + }, + "create_new_ai_chat": "Crear nuevo chat de IA", + "configuration_warnings": "Hay algunos problemas con su configuración de IA. Por favor compruebe sus ajustes.", + "experimental_warning": "La característica de LLM aún es experimental - ha sido advertido.", + "selected_provider": "Proveedor seleccionado", + "selected_provider_description": "Elija el proveedor de IA para el chat y características de completado", + "select_model": "Seleccionar modelo...", + "select_provider": "Seleccionar proveedor..." + }, + "zoom_factor": { + "title": "Factor de zoom (solo versión de escritorio)", + "description": "El zoom también se puede controlar con los atajos CTRL+- y CTRL+=." + }, + "code_auto_read_only_size": { + "title": "Tamaño automático de solo lectura", + "description": "El tamaño de nota de solo lectura automático es el tamaño después del cual las notas se mostrarán en modo de solo lectura (por razones de rendimiento).", + "label": "Tamaño automático de solo lectura (notas de código)", + "unit": "caracteres" + }, + "code-editor-options": { + "title": "Editor" + }, + "code_mime_types": { + "title": "Tipos MIME disponibles en el menú desplegable" + }, + "vim_key_bindings": { + "use_vim_keybindings_in_code_notes": "Atajos de teclas de Vim", + "enable_vim_keybindings": "Habilitar los atajos de teclas de Vim en la notas de código (no es modo ex)" + }, + "wrap_lines": { + "wrap_lines_in_code_notes": "Ajustar líneas en notas de código", + "enable_line_wrap": "Habilitar ajuste de línea (es posible que el cambio requiera una recarga de interfaz para que surta efecto)" + }, + "images": { + "images_section_title": "Imágenes", + "download_images_automatically": "Descargar imágenes automáticamente para usarlas sin conexión.", + "download_images_description": "El HTML pegado puede contener referencias a imágenes en línea; Trilium encontrará esas referencias y descargará las imágenes para que estén disponibles sin conexión.", + "enable_image_compression": "Habilitar la compresión de imágenes", + "max_image_dimensions": "Ancho/alto máximo de una imagen en píxeles (la imagen cambiará de tamaño si excede esta configuración).", + "max_image_dimensions_unit": "píxeles", + "jpeg_quality_description": "Calidad JPEG (10 - peor calidad, 100 - mejor calidad, se recomienda 50 - 85)" + }, + "attachment_erasure_timeout": { + "attachment_erasure_timeout": "Tiempo de espera para borrar archivos adjuntos", + "attachment_auto_deletion_description": "Los archivos adjuntos se eliminan (y borran) automáticamente si ya no se hace referencia a ellos en su nota después de un tiempo de espera definido.", + "erase_attachments_after": "Borrar archivos adjuntos después de:", + "manual_erasing_description": "También puede activar el borrado manualmente (sin considerar el tiempo de espera definido anteriormente):", + "erase_unused_attachments_now": "Borrar ahora los archivos adjuntos no utilizados en la nota", + "unused_attachments_erased": "Los archivos adjuntos no utilizados se han eliminado." + }, + "network_connections": { + "network_connections_title": "Conexiones de red", + "check_for_updates": "Buscar actualizaciones automáticamente" + }, + "note_erasure_timeout": { + "note_erasure_timeout_title": "Tiempo de espera de borrado de notas", + "note_erasure_description": "Las notas eliminadas (y los atributos, las revisiones ...) en principio solo están marcadas como eliminadas y es posible recuperarlas del diálogo de Notas recientes. Después de un período de tiempo, las notas eliminadas son \" borradas\", lo que significa que su contenido ya no es recuperable. Esta configuración le permite configurar la longitud del período entre eliminar y borrar la nota.", + "erase_notes_after": "Borrar notas después de:", + "manual_erasing_description": "También puede activar el borrado manualmente (sin considerar el tiempo de espera definido anteriormente):", + "erase_deleted_notes_now": "Borrar notas eliminadas ahora", + "deleted_notes_erased": "Las notas eliminadas han sido borradas." + }, + "revisions_snapshot_interval": { + "note_revisions_snapshot_interval_title": "Intervalo de instantáneas de revisiones de notas", + "note_revisions_snapshot_description": "El intervalo de tiempo de la instantánea de revisión de nota es el tiempo después de lo cual se creará una nueva revisión para la nota. Ver wiki para obtener más información.", + "snapshot_time_interval_label": "Intervalo de tiempo de la instantánea de revisión de notas:" + }, + "revisions_snapshot_limit": { + "note_revisions_snapshot_limit_title": "Límite de respaldos de revisiones de nota", + "note_revisions_snapshot_limit_description": "El límite de número de respaldos de revisiones de notas se refiere al número máximo de revisiones que pueden guardarse para cada nota. Donde -1 significa sin límite, 0 significa borrar todas las revisiones. Puede establecer el máximo de revisiones para una sola nota a través de la etiqueta #versioningLimit.", + "snapshot_number_limit_label": "Número límite de respaldos de revisiones de nota:", + "snapshot_number_limit_unit": "respaldos", + "erase_excess_revision_snapshots": "Eliminar el exceso de respaldos de revisiones ahora", + "erase_excess_revision_snapshots_prompt": "El exceso de respaldos de revisiones han sido eliminadas." + }, + "search_engine": { + "title": "Motor de búsqueda", + "custom_search_engine_info": "El motor de búsqueda personalizado requiere que se establezcan un nombre y una URL. Si alguno de estos no está configurado, DuckDuckGo se utilizará como motor de búsqueda predeterminado.", + "predefined_templates_label": "Plantillas de motor de búsqueda predefinidas", + "bing": "Bing", + "baidu": "Baidu", + "duckduckgo": "DuckDuckGo", + "google": "Google", + "custom_name_label": "Nombre del motor de búsqueda personalizado", + "custom_name_placeholder": "Personalizar el nombre del motor de búsqueda", + "custom_url_label": "La URL del motor de búsqueda personalizado debe incluir {keyword} como marcador de posición para el término de búsqueda.", + "custom_url_placeholder": "Personalizar la URL del motor de búsqueda", + "save_button": "Guardar" + }, + "tray": { + "title": "Bandeja de sistema", + "enable_tray": "Habilitar bandeja (es necesario reiniciar Trilium para que este cambio surta efecto)" + }, + "heading_style": { + "title": "Estilo de título", + "plain": "Plano", + "underline": "Subrayar", + "markdown": "Estilo Markdown" + }, + "highlights_list": { + "title": "Lista de aspectos destacados", + "description": "Puede personalizar la lista de aspectos destacados que se muestra en el panel derecho:", + "bold": "Texto en negrita", + "italic": "Texto en cursiva", + "underline": "Texto subrayado", + "color": "Texto con color", + "bg_color": "Texto con color de fondo", + "visibility_title": "Visibilidad de la lista de aspectos destacados", + "visibility_description": "Puede ocultar el widget de aspectos destacados por nota agregando una etiqueta #hideHighlightWidget.", + "shortcut_info": "Puede configurar un método abreviado de teclado para alternar rápidamente el panel derecho (incluidos los aspectos destacados) en Opciones -> Atajos (nombre 'toggleRightPane')." + }, + "table_of_contents": { + "title": "Tabla de contenido", + "description": "La tabla de contenido aparecerá en las notas de texto cuando la nota tenga más de un número definido de títulos. Puede personalizar este número:", + "unit": "títulos", + "disable_info": "También puede utilizar esta opción para desactivar la TDC (TOC) de forma efectiva estableciendo un número muy alto.", + "shortcut_info": "Puede configurar un atajo de teclado para alternar rápidamente el panel derecho (incluido el TDC) en Opciones -> Atajos (nombre 'toggleRightPane')." + }, + "text_auto_read_only_size": { + "title": "Tamaño para modo de solo lectura automático", + "description": "El tamaño de nota de solo lectura automático es el tamaño después del cual las notas se mostrarán en modo de solo lectura (por razones de rendimiento).", + "label": "Tamaño para modo de solo lectura automático (notas de texto)", + "unit": "caracteres" + }, + "custom_date_time_format": { + "title": "Formato de fecha/hora personalizada", + "description": "Personalizar el formado de fecha y la hora insertada vía o la barra de herramientas. Véa la documentación de Day.js para más tokens de formato disponibles.", + "format_string": "Cadena de formato:", + "formatted_time": "Fecha/hora personalizada:" + }, + "i18n": { + "title": "Localización", + "language": "Idioma", + "first-day-of-the-week": "Primer día de la semana", + "sunday": "Domingo", + "monday": "Lunes", + "first-week-of-the-year": "Primer semana del año", + "first-week-contains-first-day": "Primer semana que contiene al primer día del año", + "first-week-contains-first-thursday": "Primer semana que contiene al primer jueves del año", + "first-week-has-minimum-days": "Primer semana que contiene un mínimo de días", + "min-days-in-first-week": "Días mínimos en la primer semana", + "first-week-info": "Primer semana que contiene al primer jueves del año está basado en el estándarISO 8601.", + "first-week-warning": "Cambiar las opciones de primer semana puede causar duplicados con las Notas Semanales existentes y las Notas Semanales existentes no serán actualizadas respectivamente.", + "formatting-locale": "Fecha y formato de número" + }, + "backup": { + "automatic_backup": "Copia de seguridad automática", + "automatic_backup_description": "Trilium puede realizar copias de seguridad de la base de datos automáticamente:", + "enable_daily_backup": "Habilitar copia de seguridad diaria", + "enable_weekly_backup": "Habilitar copia de seguridad semanal", + "enable_monthly_backup": "Habilitar copia de seguridad mensual", + "backup_recommendation": "Se recomienda mantener la copia de seguridad activada, pero esto puede ralentizar el inicio de la aplicación con bases de datos grandes y/o dispositivos de almacenamiento lentos.", + "backup_now": "Realizar copia de seguridad ahora", + "backup_database_now": "Realizar copia de seguridad de la base de datos ahora", + "existing_backups": "Copias de seguridad existentes", + "date-and-time": "Fecha y hora", + "path": "Ruta", + "database_backed_up_to": "Se ha realizado una copia de seguridad de la base de datos en {{backupFilePath}}", + "no_backup_yet": "no hay copia de seguridad todavía" + }, + "etapi": { + "title": "ETAPI", + "description": "ETAPI es una REST API que se utiliza para acceder a la instancia de Trilium mediante programación, sin interfaz de usuario.", + "see_more": "Véa más detalles en el {{- link_to_wiki}} y el {{- link_to_openapi_spec}} o el {{- link_to_swagger_ui }}.", + "wiki": "wiki", + "openapi_spec": "Especificación ETAPI OpenAPI", + "swagger_ui": "ETAPI Swagger UI", + "create_token": "Crear nuevo token ETAPI", + "existing_tokens": "Tokens existentes", + "no_tokens_yet": "Aún no hay tokens. Dé clic en el botón de arriba para crear uno.", + "token_name": "Nombre del token", + "created": "Creado", + "actions": "Acciones", + "new_token_title": "Nuevo token ETAPI", + "new_token_message": "Por favor ingresa el nombre del nuevo token", + "default_token_name": "nuevo token", + "error_empty_name": "El nombre del token no puede estar vacío", + "token_created_title": "Token ETAPI creado", + "token_created_message": "Copiar el token creado en el portapapeles. Trilium almacena el token con hash y esta es la última vez que lo ve.", + "rename_token": "Renombrar este token", + "delete_token": "Eliminar/Desactivar este token", + "rename_token_title": "Renombrar token", + "rename_token_message": "Por favor ingresa el nombre del nuevo token", + "delete_token_confirmation": "¿Está seguro de que desea eliminar el token ETAPI \"{{name}}\"?" + }, + "options_widget": { + "options_status": "Estado de las opciones", + "options_change_saved": "Se han guardado los cambios de las opciones." + }, + "password": { + "heading": "Contraseña", + "alert_message": "Tenga cuidado de recordar su nueva contraseña. La contraseña se utiliza para iniciar sesión en la interfaz web y cifrar las notas protegidas. Si olvida su contraseña, todas sus notas protegidas se perderán para siempre.", + "reset_link": "Dé clic aquí para restablecerla.", + "old_password": "Contraseña anterior", + "new_password": "Nueva contraseña", + "new_password_confirmation": "Confirmación de nueva contraseña", + "change_password": "Cambiar contraseña", + "protected_session_timeout": "Tiempo de espera de sesión protegida", + "protected_session_timeout_description": "El tiempo de espera de la sesión protegida es el período de tiempo después del cual la sesión protegida se borra de la memoria del navegador. Esto se mide desde la última interacción con notas protegidas. Ver", + "wiki": "wiki", + "for_more_info": "para más información.", + "protected_session_timeout_label": "Tiempo de espera de sesión protegida:", + "reset_confirmation": "Al restablecer la contraseña, perderá para siempre el acceso a todas sus notas protegidas existentes. ¿Realmente quieres restablecer la contraseña?", + "reset_success_message": "La contraseña ha sido restablecida. Por favor establezca una nueva contraseña", + "change_password_heading": "Cambiar contraseña", + "set_password_heading": "Establecer contraseña", + "set_password": "Establecer contraseña", + "password_mismatch": "Las nuevas contraseñas no son las mismas.", + "password_changed_success": "La contraseña ha sido cambiada. Trilium se recargará después de presionar Aceptar." + }, + "multi_factor_authentication": { + "title": "Autenticación Multi-Factor", + "description": "La autenticación multifactor (MFA) agrega una capa adicional de seguridad a su cuenta. En lugar de solo ingresar una contraseña para iniciar sesión, MFA requiere que proporcione una o más pruebas adicionales para verificar su identidad. De esta manera, incluso si alguien se apodera de su contraseña, aún no puede acceder a su cuenta sin la segunda pieza de información. Es como agregar una cerradura adicional a su puerta, lo que hace que sea mucho más difícil para cualquier otra persona entrar.

Por favor siga las instrucciones a continuación para habilitar MFA. Si no lo configura correctamente, el inicio de sesión volverá a solo contraseña.", + "mfa_enabled": "Habilitar la autenticación multifactor", + "mfa_method": "Método MFA", + "electron_disabled": "Actualmente la autenticación multifactor no está soportada en la compilación de escritorio.", + "totp_title": "Contraseña de un solo uso basada en el tiempo (TOTP)", + "totp_description": "TOTP (contraseña de un solo uso basada en el tiempo) es una característica de seguridad que genera un código temporal único que cambia cada 30 segundos. Utiliza este código, junto con su contraseña para iniciar sesión en su cuenta, lo que hace que sea mucho más difícil para cualquier otra persona acceder a ella.", + "totp_secret_title": "Generar secreto TOTP", + "totp_secret_generate": "Generar secreto TOTP", + "totp_secret_regenerate": "Regenerar secreto TOTP", + "no_totp_secret_warning": "Para habilitar TOTP, primero debe de generar un secreto TOTP.", + "totp_secret_description_warning": "Después de generar un nuevo secreto TOTP, le será requerido que inicie sesión otra vez con el nuevo secreto TOTP.", + "totp_secret_generated": "Secreto TOTP generado", + "totp_secret_warning": "Por favor guarde el secreto generado en una ubicación segura. No será mostrado de nuevo.", + "totp_secret_regenerate_confirm": "¿Está seguro que desea regenerar el secreto TOTP? Esto va a invalidar el secreto TOTP previo y todos los códigos de recuperación existentes.", + "recovery_keys_title": "Claves de recuperación para un solo inicio de sesión", + "recovery_keys_description": "Las claves de recuperación para un solo inicio de sesión son usadas para iniciar sesión incluso cuando no puede acceder a los códigos de su autentificador.", + "recovery_keys_description_warning": "Las claves de recuperación no son mostrada de nuevo después de dejar esta página, manténgalas en un lugar seguro.
Después de que una clave de recuperación es utilizada ya no puede utilizarse de nuevo.", + "recovery_keys_error": "Error al generar códigos de recuperación", + "recovery_keys_no_key_set": "No hay códigos de recuperación establecidos", + "recovery_keys_generate": "Generar códigos de recuperación", + "recovery_keys_regenerate": "Regenerar códigos de recuperación", + "recovery_keys_used": "Usado: {{date}}", + "recovery_keys_unused": "El código de recuperación {{index}} está sin usar", + "oauth_title": "OAuth/OpenID", + "oauth_description": "OpenID es una forma estandarizada de permitirle iniciar sesión en sitios web utilizando una cuenta de otro servicio, como Google, para verificar su identidad. Siga estas instrucciones para configurar un servicio OpenID a través de Google.", + "oauth_description_warning": "Para habilitar OAuth/OpenID, necesita establecer la URL base de OAuth/OpenID, ID de cliente y secreto de cliente en el archivo config.ini y reiniciar la aplicación. Si desea establecerlas desde variables de ambiente, por favor establezca TRILIUM_OAUTH_BASE_URL, TRILIUM_OAUTH_CLIENT_ID y TRILIUM_OAUTH_CLIENT_SECRET.", + "oauth_missing_vars": "Ajustes faltantes: {{variables}}", + "oauth_user_account": "Cuenta de usuario: ", + "oauth_user_email": "Correo electrónico de usuario: ", + "oauth_user_not_logged_in": "¡No ha iniciado sesión!" + }, + "shortcuts": { + "keyboard_shortcuts": "Atajos de teclado", + "multiple_shortcuts": "Varios atajos para la misma acción se pueden separar mediante comas.", + "electron_documentation": "Véa la documentación de Electron para los modificadores y códigos de tecla disponibles.", + "type_text_to_filter": "Escriba texto para filtrar los accesos directos...", + "action_name": "Nombre de la acción", + "shortcuts": "Atajos", + "default_shortcuts": "Atajos predeterminados", + "description": "Descripción", + "reload_app": "Vuelva a cargar la aplicación para aplicar los cambios", + "set_all_to_default": "Establecer todos los accesos directos al valor predeterminado", + "confirm_reset": "¿Realmente desea restablecer todos los atajos de teclado a sus valores predeterminados?" + }, + "spellcheck": { + "title": "Revisión ortográfica", + "description": "Estas opciones se aplican sólo para compilaciones de escritorio; los navegadores utilizarán su corrector ortográfico nativo.", + "enable": "Habilitar corrector ortográfico", + "language_code_label": "Código(s) de idioma", + "language_code_placeholder": "por ejemplo \"en-US\", \"de-AT\"", + "multiple_languages_info": "Múltiples idiomas se pueden separar por coma, por ejemplo \"en-US, de-DE, cs\". ", + "available_language_codes_label": "Códigos de idioma disponibles:", + "restart-required": "Los cambios en las opciones de corrección ortográfica entrarán en vigor después del reinicio de la aplicación." + }, + "sync_2": { + "config_title": "Configuración de sincronización", + "server_address": "Dirección de la instancia del servidor", + "timeout": "Tiempo de espera de sincronización (milisegundos)", + "timeout_unit": "milisegundos", + "proxy_label": "Sincronizar servidor proxy (opcional)", + "note": "Nota", + "note_description": "Si deja la configuración del proxy en blanco, se utilizará el proxy del sistema (se aplica únicamente a la compilación de escritorio/electron).", + "special_value_description": "Otro valor especial es noproxy que obliga a ignorar incluso al proxy del sistema y respeta NODE_TLS_REJECT_UNAUTHORIZED.", + "save": "Guardar", + "help": "Ayuda", + "test_title": "Prueba de sincronización", + "test_description": "Esto probará la conexión y el protocolo de enlace con el servidor de sincronización. Si el servidor de sincronización no está inicializado, esto lo configurará para sincronizarse con el documento local.", + "test_button": "Prueba de sincronización", + "handshake_failed": "Error en el protocolo de enlace del servidor de sincronización, error: {{message}}" + }, + "api_log": { + "close": "Cerrar" + }, + "attachment_detail_2": { + "will_be_deleted_in": "Este archivo adjunto se eliminará automáticamente en {{time}}", + "will_be_deleted_soon": "Este archivo adjunto se eliminará automáticamente pronto", + "deletion_reason": ", porque el archivo adjunto no está vinculado en el contenido de la nota. Para evitar la eliminación, vuelva a agregar el enlace del archivo adjunto al contenido o convierta el archivo adjunto en una nota.", + "role_and_size": "Rol: {{role}}, Tamaño: {{size}}", + "link_copied": "Enlace del archivo adjunto copiado al portapapeles.", + "unrecognized_role": "Rol de archivo adjunto no reconocido '{{role}}'." + }, + "bookmark_switch": { + "bookmark": "Marcador", + "bookmark_this_note": "Añadir esta nota a marcadores en el panel lateral izquierdo", + "remove_bookmark": "Eliminar marcador" + }, + "editability_select": { + "auto": "Automático", + "read_only": "Sólo lectura", + "always_editable": "Siempre editable", + "note_is_editable": "La nota es editable si no es muy grande.", + "note_is_read_only": "La nota es de solo lectura, pero se puede editar con un clic en un botón.", + "note_is_always_editable": "La nota siempre es editable, independientemente de su tamaño." + }, + "note-map": { + "button-link-map": "Mapa de Enlaces", + "button-tree-map": "Mapa de Árbol" + }, + "tree-context-menu": { + "open-in-a-new-tab": "Abrir en nueva pestaña Ctrl+Click", + "open-in-a-new-split": "Abrir en nueva división", + "insert-note-after": "Insertar nota después de", + "insert-child-note": "Insertar subnota", + "delete": "Eliminar", + "search-in-subtree": "Buscar en subárbol", + "hoist-note": "Anclar nota", + "unhoist-note": "Desanclar nota", + "edit-branch-prefix": "Editar prefijo de rama", + "advanced": "Avanzado", + "expand-subtree": "Expandir subárbol", + "collapse-subtree": "Colapsar subárbol", + "sort-by": "Ordenar por...", + "recent-changes-in-subtree": "Cambios recientes en subárbol", + "convert-to-attachment": "Convertir en adjunto", + "copy-note-path-to-clipboard": "Copiar ruta de nota al portapapeles", + "protect-subtree": "Proteger subárbol", + "unprotect-subtree": "Desproteger subárbol", + "copy-clone": "Copiar / clonar", + "clone-to": "Clonar en...", + "cut": "Cortar", + "move-to": "Mover a...", + "paste-into": "Pegar en", + "paste-after": "Pegar después de", + "duplicate": "Duplicar", + "export": "Exportar", + "import-into-note": "Importar a nota", + "apply-bulk-actions": "Aplicar acciones en lote", + "converted-to-attachments": "{{count}} notas han sido convertidas en archivos adjuntos.", + "convert-to-attachment-confirm": "¿Está seguro que desea convertir las notas seleccionadas en archivos adjuntos de sus notas padres?" + }, + "shared_info": { + "shared_publicly": "Esta nota está compartida públicamente en", + "shared_locally": "Esta nota está compartida localmente en", + "help_link": "Para obtener ayuda visite wiki." + }, + "note_types": { + "text": "Texto", + "code": "Código", + "saved-search": "Búsqueda Guardada", + "relation-map": "Mapa de Relaciones", + "note-map": "Mapa de Notas", + "render-note": "Nota de Renderizado", + "mermaid-diagram": "Diagrama Mermaid", + "canvas": "Lienzo", + "web-view": "Vista Web", + "mind-map": "Mapa Mental", + "file": "Archivo", + "image": "Imagen", + "launcher": "Lanzador", + "doc": "Doc", + "widget": "Widget", + "confirm-change": "No es recomendado cambiar el tipo de nota cuando el contenido de la nota no está vacío. ¿Desea continuar de cualquier manera?", + "geo-map": "Mapa Geo", + "beta-feature": "Beta", + "ai-chat": "Chat de IA", + "task-list": "Lista de tareas" + }, + "protect_note": { + "toggle-on": "Proteger la nota", + "toggle-off": "Desproteger la nota", + "toggle-on-hint": "La nota no está protegida, dé clic para protegerla", + "toggle-off-hint": "La nota está protegida, dé clic para desprotegerla" + }, + "shared_switch": { + "shared": "Compartida", + "toggle-on-title": "Compartir la nota", + "toggle-off-title": "Descompartir la nota", + "shared-branch": "Esta nota sólo existe como una nota compartida, si la deja de compartir será eliminada. ¿Quiere continuar y eliminar esta nota?", + "inherited": "No puede dejar de compartir la nota aquí porque es compartida a través de la herencia de un ancestro." + }, + "template_switch": { + "template": "Plantilla", + "toggle-on-hint": "Hacer de la nota una plantilla", + "toggle-off-hint": "Eliminar la nota como una plantilla" + }, + "open-help-page": "Abrir página de ayuda", + "find": { + "case_sensitive": "Distingue entre mayúsculas y minúsculas", + "match_words": "Coincidir palabras", + "find_placeholder": "Encontrar en texto...", + "replace_placeholder": "Reemplazar con...", + "replace": "Reemplazar", + "replace_all": "Reemplazar todo" + }, + "highlights_list_2": { + "title": "Lista de destacados", + "options": "Opciones" + }, + "quick-search": { + "placeholder": "Búsqueda rápida", + "searching": "Buscando...", + "no-results": "No se encontraron resultados", + "more-results": "... y {{number}} resultados más.", + "show-in-full-search": "Mostrar en búsqueda completa" + }, + "note_tree": { + "collapse-title": "Colapsar árbol de nota", + "scroll-active-title": "Desplazarse a nota activa", + "tree-settings-title": "Ajustes de árbol", + "hide-archived-notes": "Ocultar notas archivadas", + "automatically-collapse-notes": "Colapsar notas automaticamente", + "automatically-collapse-notes-title": "Las notas serán colapsadas después de un periodo de inactividad para despejar el árbol.", + "save-changes": "Guardar y aplicar cambios", + "auto-collapsing-notes-after-inactivity": "Colapsando notas automáticamente después de inactividad...", + "saved-search-note-refreshed": "La nota de búsqueda guardada fue recargada.", + "hoist-this-note-workspace": "Anclar esta nota (espacio de trabajo)", + "refresh-saved-search-results": "Refrescar resultados de búsqueda guardados", + "create-child-note": "Crear subnota", + "unhoist": "Desanclar" + }, + "title_bar_buttons": { + "window-on-top": "Mantener esta ventana en la parte superior" + }, + "note_detail": { + "could_not_find_typewidget": "No se pudo encontrar typeWidget para el tipo '{{type}}'" + }, + "note_title": { + "placeholder": "escriba el título de la nota aquí..." + }, + "search_result": { + "no_notes_found": "No se han encontrado notas para los parámetros de búsqueda dados.", + "search_not_executed": "La búsqueda aún no se ha ejecutado. Dé clic en el botón «Buscar» para ver los resultados." + }, + "spacer": { + "configure_launchbar": "Configurar barra de lanzamiento" + }, + "sql_result": { + "no_rows": "No se han devuelto filas para esta consulta" + }, + "sql_table_schemas": { + "tables": "Tablas" + }, + "tab_row": { + "close_tab": "Cerrar pestaña", + "add_new_tab": "Agregar nueva pestaña", + "close": "Cerrar", + "close_other_tabs": "Cerrar otras pestañas", + "close_right_tabs": "Cerrar pestañas a la derecha", + "close_all_tabs": "Cerrar todas las pestañas", + "reopen_last_tab": "Reabrir última pestaña cerrada", + "move_tab_to_new_window": "Mover esta pestaña a una nueva ventana", + "copy_tab_to_new_window": "Copiar esta pestaña a una ventana nueva", + "new_tab": "Nueva pestaña" + }, + "toc": { + "table_of_contents": "Tabla de contenido", + "options": "Opciones" + }, + "watched_file_update_status": { + "file_last_modified": "Archivo ha sido modificado por última vez en.", + "upload_modified_file": "Subir archivo modificado", + "ignore_this_change": "Ignorar este cambio" + }, + "app_context": { + "please_wait_for_save": "Por favor espere algunos segundos a que se termine de guardar, después intente de nuevo." + }, + "note_create": { + "duplicated": "La nota \"{{title}}\" ha sido duplicada." + }, + "image": { + "copied-to-clipboard": "Una referencia a la imagen ha sido copiada al portapapeles. Esta puede ser pegada en cualquier nota de texto.", + "cannot-copy": "No se pudo copiar la referencia de imagen al portapapeles." + }, + "clipboard": { + "cut": "La(s) notas(s) han sido cortadas al portapapeles.", + "copied": "La(s) notas(s) han sido copiadas al portapapeles.", + "copy_failed": "No se puede copiar al portapapeles debido a problemas de permisos.", + "copy_success": "Copiado al portapapeles." + }, + "entrypoints": { + "note-revision-created": "Una revisión de nota ha sido creada.", + "note-executed": "Nota ejecutada.", + "sql-error": "Ocurrió un error al ejecutar la consulta SQL: {{message}}" + }, + "branches": { + "cannot-move-notes-here": "No se pueden mover notas aquí.", + "delete-status": "Estado de eliminación", + "delete-notes-in-progress": "Eliminación de notas en progreso: {{count}}", + "delete-finished-successfully": "La eliminación finalizó exitosamente.", + "undeleting-notes-in-progress": "Recuperación de notas en progreso: {{count}}", + "undeleting-notes-finished-successfully": "La recuperación de notas finalizó exitosamente." + }, + "frontend_script_api": { + "async_warning": "Está pasando una función asíncrona a `api.runOnBackend ()` que probablemente no funcionará como pretendía.", + "sync_warning": "Estás pasando una función sincrónica a `api.runasynconbackendwithmanualTransactionHandling ()`, \\ n while debería usar `api.runonbackend ()` en su lugar." + }, + "ws": { + "sync-check-failed": "¡La comprobación de sincronización falló!", + "consistency-checks-failed": "¡Las comprobaciones de consistencia fallaron! Vea los registros para más detalles.", + "encountered-error": "Error encontrado \"{{message}}\", compruebe la consola." + }, + "hoisted_note": { + "confirm_unhoisting": "La nota requerida '{{requestedNote}}' está fuera del subárbol de la nota anclada '{{hoistedNote}}' y debe desanclarla para acceder a la nota. ¿Desea proceder con el desanclaje?" + }, + "launcher_context_menu": { + "reset_launcher_confirm": "¿Realmente desea restaurar \"{{title}}\"? Todos los datos / ajustes en esta nota (y sus subnotas) se van a perder y el lanzador regresará a su ubicación original.", + "add-note-launcher": "Agregar un lanzador de nota", + "add-script-launcher": "Agregar un lanzador de script", + "add-custom-widget": "Agregar un widget personalizado", + "add-spacer": "Agregar espaciador", + "delete": "Eliminar ", + "reset": "Restaurar", + "move-to-visible-launchers": "Mover a lanzadores visibles", + "move-to-available-launchers": "Mover a lanzadores disponibles", + "duplicate-launcher": "Duplicar lanzador " + }, + "editable-text": { + "auto-detect-language": "Detectado automáticamente" + }, + "highlighting": { + "title": "Bloques de código", + "description": "Controla el resaltado de sintaxis para bloques de código dentro de las notas de texto, las notas de código no serán afectadas.", + "color-scheme": "Esquema de color" + }, + "code_block": { + "word_wrapping": "Ajuste de palabras", + "theme_none": "Sin resaltado de sintaxis", + "theme_group_light": "Temas claros", + "theme_group_dark": "Temas oscuros", + "copy_title": "Copiar al portapapeles" + }, + "classic_editor_toolbar": { + "title": "Formato" + }, + "editor": { + "title": "Editor" + }, + "editing": { + "editor_type": { + "label": "Barra de herramientas de formato", + "floating": { + "title": "Flotante", + "description": "las herramientas de edición aparecen cerca del cursor;" + }, + "fixed": { + "title": "Fijo", + "description": "las herramientas de edición aparecen en la pestaña de la cinta \"Formato\")." + }, + "multiline-toolbar": "Mostrar la barra de herramientas en múltiples líneas si no cabe." + } + }, + "electron_context_menu": { + "add-term-to-dictionary": "Agregar \"{{term}}\" al diccionario", + "cut": "Cortar", + "copy": "Copiar", + "copy-link": "Copiar enlace", + "paste": "Pegar", + "paste-as-plain-text": "Pegar como texto plano", + "search_online": "Buscar \"{{term}}\" con {{searchEngine}}" + }, + "image_context_menu": { + "copy_reference_to_clipboard": "Copiar referencia al portapapeles", + "copy_image_to_clipboard": "Copiar imagen al portapapeles" + }, + "link_context_menu": { + "open_note_in_new_tab": "Abrir nota en una pestaña nueva", + "open_note_in_new_split": "Abrir nota en una nueva división", + "open_note_in_new_window": "Abrir nota en una nueva ventana" + }, + "electron_integration": { + "desktop-application": "Aplicación de escritorio", + "native-title-bar": "Barra de título nativa", + "native-title-bar-description": "Para Windows y macOS, quitar la barra de título nativa hace que la aplicación se vea más compacta. En Linux, mantener la barra de título nativa hace que se integre mejor con el resto del sistema.", + "background-effects": "Habilitar efectos de fondo (sólo en Windows 11)", + "background-effects-description": "El efecto Mica agrega un fondo borroso y elegante a las ventanas de aplicaciones, creando profundidad y un aspecto moderno.", + "restart-app-button": "Reiniciar la aplicación para ver los cambios", + "zoom-factor": "Factor de zoom" + }, + "note_autocomplete": { + "search-for": "Buscar por \"{{term}}\"", + "create-note": "Crear y enlazar subnota \"{{term}}\"", + "insert-external-link": "Insertar enlace externo a \"{{term}}\"", + "clear-text-field": "Limpiar campo de texto", + "show-recent-notes": "Mostrar notas recientes", + "full-text-search": "Búsqueda de texto completo" + }, + "note_tooltip": { + "note-has-been-deleted": "La nota ha sido eliminada." + }, + "geo-map": { + "create-child-note-title": "Crear una nueva subnota y agregarla al mapa", + "create-child-note-instruction": "Dé clic en el mapa para crear una nueva nota en esa ubicación o presione Escape para cancelar.", + "unable-to-load-map": "No se puede cargar el mapa." + }, + "geo-map-context": { + "open-location": "Abrir ubicación", + "remove-from-map": "Eliminar del mapa" + }, + "help-button": { + "title": "Abrir la página de ayuda relevante" + }, + "duration": { + "seconds": "Segundos", + "minutes": "Minutos", + "hours": "Horas", + "days": "Días" + }, + "share": { + "title": "Ajustes de uso compartido", + "redirect_bare_domain": "Redirigir el dominio absoluto a página Compartir", + "redirect_bare_domain_description": "Redirigir usuarios anónimos a la página Compartir en vez de mostrar Inicio de sesión", + "show_login_link": "Mostrar enlace a Inicio de sesión en tema de Compartir", + "show_login_link_description": "Mostrar enlace a Inicio de sesión en el pie de página de Compartir", + "check_share_root": "Comprobar estado de raíz de Compartir", + "share_root_found": "La nota raíz de Compartir '{{noteTitle}}' está lista", + "share_root_not_found": "No se encontró ninguna nota con la etiqueta #shareRoot", + "share_root_not_shared": "La nota '{{noteTitle}}' tiene la etiqueta #shareRoot pero no ha sido compartida" + }, + "time_selector": { + "invalid_input": "El valor de tiempo ingresado no es un número válido.", + "minimum_input": "El valor de tiempo ingresado necesita ser de al menos {{minimumSeconds}} segundos." + }, + "tasks": { + "due": { + "today": "Hoy", + "tomorrow": "Mañana", + "yesterday": "Ayer" + } + }, + "content_widget": { + "unknown_widget": "Widget desconocido para \"{{id}}\"." + }, + "note_language": { + "not_set": "No establecido", + "configure-languages": "Configurar idiomas..." + }, + "content_language": { + "title": "Contenido de idiomas", + "description": "Seleccione uno o más idiomas que deben aparecer en la selección del idioma en la sección Propiedades Básicas de una nota de texto de solo lectura o editable. Esto permitirá características tales como corrección de ortografía o soporte de derecha a izquierda." + }, + "switch_layout_button": { + "title_vertical": "Mover el panel de edición hacia abajo", + "title_horizontal": "Mover el panel de edición a la izquierda" + }, + "toggle_read_only_button": { + "unlock-editing": "Desbloquear la edición", + "lock-editing": "Bloquear la edición" + }, + "png_export_button": { + "button_title": "Exportar diagrama como PNG" + }, + "svg": { + "export_to_png": "El diagrama no pudo ser exportado a PNG." + }, + "code_theme": { + "title": "Apariencia", + "word_wrapping": "Ajuste de palabras", + "color-scheme": "Esquema de color" + }, + "cpu_arch_warning": { + "title": "Por favor descargue la versión ARM64", + "message_macos": "TriliumNext está siendo ejecutado bajo traducción Rosetta 2, lo que significa que está usando la versión Intel (x64) en Apple Silicon Mac. Esto impactará significativamente en el rendimiento y la vida de la batería.", + "message_windows": "TriliumNext está siendo ejecutado bajo emulación, lo que significa que está usando la version Intel (x64) en Windows en un dispositivo ARM. Esto impactará significativamente en el rendimiento y la vida de la batería.", + "recommendation": "Para la mejor experiencia, por favor descargue la versión nativa ARM64 de TriliumNext desde nuestra página de lanzamientos.", + "download_link": "Descargar versión nativa", + "continue_anyway": "Continuar de todas maneras", + "dont_show_again": "No mostrar esta advertencia otra vez" + }, + "book_properties_config": { + "hide-weekends": "Ocultar fines de semana", + "show-scale": "Mostrar escala" + }, + "table_context_menu": { + "delete_row": "Eliminar fila" + }, + "board_view": { + "delete-note": "Eliminar nota", + "move-to": "Mover a", + "insert-above": "Insertar arriba", + "insert-below": "Insertar abajo", + "delete-column": "Eliminar columna", + "delete-column-confirmation": "¿Seguro que desea eliminar esta columna? El atributo correspondiente también se eliminará de las notas de esta columna." + }, + "content_renderer": { + "open_externally": "Abrir externamente" + } } diff --git a/apps/client/src/translations/fr/translation.json b/apps/client/src/translations/fr/translation.json index 3bc3aa4ba..5e01bb9ec 100644 --- a/apps/client/src/translations/fr/translation.json +++ b/apps/client/src/translations/fr/translation.json @@ -1,1670 +1,1670 @@ { - "about": { - "title": "À propos de Trilium Notes", - "close": "Fermer", - "homepage": "Page d'accueil :", - "app_version": "Version de l'application :", - "db_version": "Version de la base de données :", - "sync_version": "Version de la synchronisation :", - "build_date": "Date du build :", - "build_revision": "Version de build :", - "data_directory": "Répertoire des données :" - }, - "toast": { - "critical-error": { - "title": "Erreur critique", - "message": "Une erreur critique s'est produite et empêche l'application client de démarrer :\n\n{{message}}\n\nCeci est probablement dû à un échec inattendu d'un script. Essayez de démarrer l'application en mode sans échec et de résoudre le problème." - }, - "widget-error": { - "title": "Impossible d'initialiser un widget", - "message-custom": "Le widget personnalisé de la note avec l'ID \"{{id}}\", intitulée \"{{title}}\" n'a pas pu être initialisé en raison de\n\n{{message}}", - "message-unknown": "Le widget inconnu n'a pas pu être initialisé :\n\n{{message}}" - }, - "bundle-error": { - "title": "Echec du chargement d'un script personnalisé", - "message": "Le script de la note avec l'ID \"{{id}}\", intitulé \"{{title}}\" n'a pas pu être exécuté à cause de\n\n{{message}}" - } - }, - "add_link": { - "add_link": "Ajouter un lien", - "help_on_links": "Aide sur les liens", - "close": "Fermer", - "note": "Note", - "search_note": "rechercher une note par son nom", - "link_title_mirrors": "le titre du lien reflète le titre actuel de la note", - "link_title_arbitrary": "le titre du lien peut être modifié arbitrairement", - "link_title": "Titre du lien", - "button_add_link": "Ajouter un lien Entrée" - }, - "branch_prefix": { - "edit_branch_prefix": "Modifier le préfixe de branche", - "help_on_tree_prefix": "Aide sur le préfixe de l'arbre", - "close": "Fermer", - "prefix": "Préfixe : ", - "save": "Sauvegarder", - "branch_prefix_saved": "Le préfixe de la branche a été enregistré." - }, - "bulk_actions": { - "bulk_actions": "Actions groupées", - "close": "Fermer", - "affected_notes": "Notes concernées", - "include_descendants": "Inclure les descendants des notes sélectionnées", - "available_actions": "Actions disponibles", - "chosen_actions": "Actions choisies", - "execute_bulk_actions": "Exécuter des Actions groupées", - "bulk_actions_executed": "Les actions groupées ont été exécutées avec succès.", - "none_yet": "Aucune pour l'instant... ajoutez une action en cliquant sur l'une des actions disponibles ci-dessus.", - "labels": "Labels", - "relations": "Relations", - "notes": "Notes", - "other": "Autre" - }, - "clone_to": { - "clone_notes_to": "Cloner les notes dans...", - "close": "Fermer", - "help_on_links": "Aide sur les liens", - "notes_to_clone": "Notes à cloner", - "target_parent_note": "Note parent cible", - "search_for_note_by_its_name": "rechercher une note par son nom", - "cloned_note_prefix_title": "La note clonée sera affichée dans l'arbre des notes avec le préfixe donné", - "prefix_optional": "Préfixe (facultatif)", - "clone_to_selected_note": "Cloner vers la note sélectionnée entrer", - "no_path_to_clone_to": "Aucun chemin vers lequel cloner.", - "note_cloned": "La note \"{{clonedTitle}}\" a été clonée dans \"{{targetTitle}}\"" - }, - "confirm": { - "confirmation": "Confirmation", - "close": "Fermer", - "cancel": "Annuler", - "ok": "OK", - "are_you_sure_remove_note": "Voulez-vous vraiment supprimer la note « {{title}} » de la carte des relations ? ", - "if_you_dont_check": "Si vous ne cochez pas cette case, la note sera seulement supprimée de la carte des relations.", - "also_delete_note": "Supprimer également la note" - }, - "delete_notes": { - "delete_notes_preview": "Supprimer la note", - "close": "Fermer", - "delete_all_clones_description": "Supprimer aussi les clones (peut être annulé dans des modifications récentes)", - "erase_notes_description": "La suppression normale (douce) marque uniquement les notes comme supprimées et elles peuvent être restaurées (dans la boîte de dialogue des Modifications récentes) dans un délai donné. Cocher cette option effacera les notes immédiatement et il ne sera pas possible de les restaurer.", - "erase_notes_warning": "Efface les notes de manière permanente (ne peut pas être annulée), y compris les clones. L'application va être rechargée.", - "notes_to_be_deleted": "Les notes suivantes seront supprimées ({{- noteCount}})", - "no_note_to_delete": "Aucune note ne sera supprimée (uniquement les clones).", - "broken_relations_to_be_deleted": "Les relations suivantes seront rompues et supprimées ({{- relationCount}})", - "cancel": "Annuler", - "ok": "OK", - "deleted_relation_text": "Note {{- note}} (à supprimer) est référencée dans la relation {{- relation}} provenant de {{- source}}." - }, - "export": { - "export_note_title": "Exporter la note", - "close": "Fermer", - "export_type_subtree": "Cette note et tous ses descendants", - "format_html": "HTML - recommandé car il conserve la mise en forme", - "format_html_zip": "HTML dans l'archive ZIP - recommandé car préserve la mise en forme.", - "format_markdown": "Markdown - préserve la majeure partie du formatage.", - "format_opml": "OPML - format d'échange pour les outlineurs, uniquement pour le texte. La mise en forme, les images et les fichiers ne sont pas inclus.", - "opml_version_1": "OPML v1.0 - texte brut uniquement", - "opml_version_2": "OPML v2.0 - HTML également autorisé", - "export_type_single": "Seulement cette note sans ses descendants", - "export": "Exporter", - "choose_export_type": "Choisissez d'abord le type d'export", - "export_status": "Statut d'exportation", - "export_in_progress": "Exportation en cours : {{progressCount}}", - "export_finished_successfully": "L'exportation s'est terminée avec succès.", - "format_pdf": "PDF - pour l'impression ou le partage de documents." - }, - "help": { - "fullDocumentation": "Aide (la documentation complète est disponible en ligne)", - "close": "Fermer", - "noteNavigation": "Navigation dans les notes", - "goUpDown": "HAUT, BAS - aller vers le haut/bas dans la liste des notes", - "collapseExpand": "GAUCHE, DROITE - réduire/développer le nœud", - "notSet": "non défini", - "goBackForwards": "reculer/avancer dans l'historique", - "showJumpToNoteDialog": "afficher la boîte de dialogue \"Aller à la note\"", - "scrollToActiveNote": "faire défiler jusqu'à la note active", - "jumpToParentNote": "Retour arrière - aller à la note parent", - "collapseWholeTree": "réduire tout l'arbre des notes", - "collapseSubTree": "réduire le sous-arbre", - "tabShortcuts": "Raccourcis des onglets", - "newTabNoteLink": "CTRL+clic - (ou clic central de la souris) sur le lien de la note ouvre la note dans un nouvel onglet", - "onlyInDesktop": "Uniquement sur ordinateur (version Electron)", - "openEmptyTab": "ouvrir un onglet vide", - "closeActiveTab": "fermer l'onglet actif", - "activateNextTab": "activer l'onglet suivant", - "activatePreviousTab": "activer l'onglet précédent", - "creatingNotes": "Création de notes", - "createNoteAfter": "créer une nouvelle note après la note active", - "createNoteInto": "créer une nouvelle sous-note dans la note active", - "editBranchPrefix": "modifier le préfixe du clone de note actif", - "movingCloningNotes": "Déplacement / Clonage des notes", - "moveNoteUpDown": "déplacer la note vers le haut/bas dans la liste de notes", - "moveNoteUpHierarchy": "déplacer la note vers le haut dans la hiérarchie", - "multiSelectNote": "sélectionner plusieurs notes au-dessus/au-dessous", - "selectAllNotes": "sélectionner toutes les notes du niveau actuel", - "selectNote": "Shift+clic - sélectionner une note", - "copyNotes": "copier la note active (ou la sélection actuelle) dans le presse-papiers (utilisé pour le clonage)", - "cutNotes": "couper la note actuelle (ou la sélection actuelle) dans le presse-papiers (utilisé pour déplacer les notes)", - "pasteNotes": "coller la ou les notes en tant que sous-note dans la note active (qui est soit déplacée, soit clonée selon qu'elle a été copiée ou coupée dans le presse-papiers)", - "deleteNotes": "supprimer une note / un sous-arbre", - "editingNotes": "Édition des notes", - "editNoteTitle": "dans le volet de l'arborescence, basculera du volet au titre de la note. Presser Entrer à partir du titre de la note basculera vers l’éditeur de texte. Ctrl+. bascule de l'éditeur au volet arborescent.", - "createEditLink": "Ctrl+K - créer/éditer un lien externe", - "createInternalLink": "créer un lien interne", - "followLink": "suivre le lien sous le curseur", - "insertDateTime": "insérer la date et l'heure courante à la position du curseur", - "jumpToTreePane": "passer au volet de l'arborescence et aller jusqu'à la note active", - "markdownAutoformat": "Mise en forme automatique (comme Markdown)", - "headings": "##, ###, #### etc. suivi d'un espace pour les titres", - "bulletList": "* ou - suivi d'un espace pour une liste à puces", - "numberedList": "1. ou 1) suivi d'un espace pour une liste numérotée", - "blockQuote": "commencez une ligne avec > suivi d'un espace pour une citation", - "troubleshooting": "Dépannage", - "reloadFrontend": "recharger l'interface Trilium", - "showDevTools": "afficher les outils de développement", - "showSQLConsole": "afficher la console SQL", - "other": "Autre", - "quickSearch": "aller à la recherche rapide", - "inPageSearch": "recherche sur la page" - }, - "import": { - "importIntoNote": "Importer dans la note", - "close": "Fermer", - "chooseImportFile": "Choisissez le fichier à importer", - "importDescription": "Le contenu du ou des fichiers sélectionnés sera importé en tant que note(s) enfant dans", - "options": "Options", - "safeImportTooltip": "Les fichiers d'exportation Trilium .zip peuvent contenir des scripts exécutables susceptibles de comporter un comportement nuisible. L'importation sécurisée désactivera l'exécution automatique de tous les scripts importés. Décochez \"Importation sécurisée\" uniquement si l'archive importée est censée contenir des scripts exécutables et que vous faites entièrement confiance au contenu du fichier d'importation.", - "safeImport": "Importation sécurisée", - "explodeArchivesTooltip": "Si cette case est cochée, Trilium lira les fichiers .zip, .enex et .opml et créera des notes à partir des fichiers contenus dans ces archives. Si cette case n'est pas cochée, Trilium joindra les archives elles-mêmes à la note.", - "explodeArchives": "Lire le contenu des archives .zip, .enex et .opml.", - "shrinkImagesTooltip": "

Si vous cochez cette option, Trilium tentera de réduire les images importées par mise à l'échelle et optimisation, ce qui peut affecter la qualité de l'image perçue. Si cette case n'est pas cochée, les images seront importées sans modifications.

Cela ne s'applique pas aux importations .zip avec des métadonnées, car on suppose que ces fichiers sont déjà optimisés.

", - "shrinkImages": "Réduire les images", - "textImportedAsText": "Importez HTML, Markdown et TXT sous forme de notes de texte si les métadonnées ne sont pas claires", - "codeImportedAsCode": "Importez des fichiers de code reconnus (par exemple .json) en tant que notes de code si cela n'est pas clair à partir des métadonnées", - "replaceUnderscoresWithSpaces": "Remplacez les tirets bas par des espaces dans les noms de notes importées", - "import": "Importer", - "failed": "Échec de l'importation : {{message}}.", - "html_import_tags": { - "title": "Balises HTML d'importation", - "description": "Configurer quelles balises HTML doivent être préservées lors de l'importation des notes. Les balises qui ne sont pas dans cette liste seront supprimées pendant l'importation. Certaines balises (comme 'script') sont toujours supprimées pour des raisons de sécurité.", - "placeholder": "Saisir les balises HTML, une par ligne", - "reset_button": "Réinitialiser à la liste par défaut" - }, - "import-status": "Statut de l'importation", - "in-progress": "Importation en cours : {{progress}}", - "successful": "Importation terminée avec succès." - }, - "include_note": { - "dialog_title": "Inclure une note", - "close": "Fermer", - "label_note": "Note", - "placeholder_search": "rechercher une note par son nom", - "box_size_prompt": "Taille de la boîte de la note incluse :", - "box_size_small": "petit (~ 10 lignes)", - "box_size_medium": "moyen (~ 30 lignes)", - "box_size_full": "complet (la boîte affiche le texte complet)", - "button_include": "Inclure une note Entrée" - }, - "info": { - "modalTitle": "Message d'information", - "closeButton": "Fermer", - "okButton": "OK" - }, - "jump_to_note": { - "close": "Fermer", - "search_button": "Rechercher dans le texte intégral Ctrl+Entrée" - }, - "markdown_import": { - "dialog_title": "Importation Markdown", - "close": "Fermer", - "modal_body_text": "En raison du bac à sable du navigateur, il n'est pas possible de lire directement le presse-papiers à partir de JavaScript. Veuillez coller le Markdown à importer dans la zone de texte ci-dessous et cliquez sur le bouton Importer", - "import_button": "Importer Ctrl+Entrée", - "import_success": "Le contenu Markdown a été importé dans le document." - }, - "move_to": { - "dialog_title": "Déplacer les notes vers...", - "close": "Fermer", - "notes_to_move": "Notes à déplacer", - "target_parent_note": "Note parent cible", - "search_placeholder": "rechercher une note par son nom", - "move_button": "Déplacer vers la note sélectionnée entrer", - "error_no_path": "Aucun chemin vers lequel déplacer.", - "move_success_message": "Les notes sélectionnées ont été déplacées dans " - }, - "note_type_chooser": { - "modal_title": "Choisissez le type de note", - "close": "Fermer", - "modal_body": "Choisissez le type de note/le modèle de la nouvelle note :", - "templates": "Modèles :" - }, - "password_not_set": { - "title": "Le mot de passe n'est pas défini", - "close": "Fermer", - "body1": "Les notes protégées sont cryptées à l'aide d'un mot de passe utilisateur, mais le mot de passe n'a pas encore été défini.", - "body2": "Pour pouvoir protéger les notes, cliquez ici pour ouvrir les Options et définir votre mot de passe." - }, - "prompt": { - "title": "Prompt", - "close": "Fermer", - "ok": "OK entrer", - "defaultTitle": "Prompt" - }, - "protected_session_password": { - "modal_title": "Session protégée", - "help_title": "Aide sur les notes protégées", - "close_label": "Fermer", - "form_label": "Pour procéder à l'action demandée, vous devez démarrer une session protégée en saisissant le mot de passe :", - "start_button": "Démarrer une session protégée entrer" - }, - "recent_changes": { - "title": "Modifications récentes", - "erase_notes_button": "Effacer les notes supprimées maintenant", - "close": "Fermer", - "deleted_notes_message": "Les notes supprimées ont été effacées.", - "no_changes_message": "Aucun changement pour l'instant...", - "undelete_link": "annuler la suppression", - "confirm_undelete": "Voulez-vous restaurer cette note et ses sous-notes ?" - }, - "revisions": { - "note_revisions": "Versions de la note", - "delete_all_revisions": "Supprimer toutes les versions de cette note", - "delete_all_button": "Supprimer toutes les versions", - "help_title": "Aide sur les versions de notes", - "close": "Fermer", - "revision_last_edited": "Cette version a été modifiée pour la dernière fois le {{date}}", - "confirm_delete_all": "Voulez-vous supprimer toutes les versions de cette note ?", - "no_revisions": "Aucune version pour cette note pour l'instant...", - "confirm_restore": "Voulez-vous restaurer cette version ? Le titre et le contenu actuels de la note seront écrasés par cette version.", - "confirm_delete": "Voulez-vous supprimer cette version ?", - "revisions_deleted": "Les versions de notes ont été supprimées.", - "revision_restored": "La version de la note a été restaurée.", - "revision_deleted": "La version de la note a été supprimée.", - "snapshot_interval": "Délai d'enregistrement automatique des versions de notes : {{seconds}}s.", - "maximum_revisions": "Nombre maximal de versions : {{number}}.", - "settings": "Paramètres des versions de notes", - "download_button": "Télécharger", - "mime": "MIME : ", - "file_size": "Taille du fichier :", - "preview": "Aperçu :", - "preview_not_available": "L'aperçu n'est pas disponible pour ce type de note." - }, - "sort_child_notes": { - "sort_children_by": "Trier les enfants par...", - "close": "Fermer", - "sorting_criteria": "Critères de tri", - "title": "titre", - "date_created": "date de création", - "date_modified": "date de modification", - "sorting_direction": "Sens de tri", - "ascending": "ascendant", - "descending": "descendant", - "folders": "Dossiers", - "sort_folders_at_top": "trier les dossiers en haut", - "natural_sort": "Tri naturel", - "sort_with_respect_to_different_character_sorting": "trier en fonction de différentes règles de tri et de classement des caractères dans différentes langues ou régions.", - "natural_sort_language": "Langage de tri naturel", - "the_language_code_for_natural_sort": "Le code de langue pour le tri naturel, par ex. \"zh-CN\" pour le chinois.", - "sort": "Trier Entrée" - }, - "upload_attachments": { - "upload_attachments_to_note": "Téléverser des pièces jointes à la note", - "close": "Fermer", - "choose_files": "Choisir des fichiers", - "files_will_be_uploaded": "Les fichiers seront téléversés sous forme de pièces jointes dans", - "options": "Options", - "shrink_images": "Réduire les images", - "upload": "Téléverser", - "tooltip": "Si vous cochez cette option, Trilium tentera de réduire les images téléversées par mise à l'échelle et optimisation, ce qui peut affecter la qualité de l'image perçue. Si cette case n'est pas cochée, les images seront téléversées sans modifications." - }, - "attribute_detail": { - "attr_detail_title": "Titre détaillé de l'attribut", - "close_button_title": "Annuler les modifications et fermer", - "attr_is_owned_by": "L'attribut appartient à", - "attr_name_title": "Le nom de l'attribut ne peut être composé que de caractères alphanumériques, de deux-points et de tirets bas", - "name": "Nom", - "value": "Valeur", - "target_note_title": "La relation est une liaison nommée entre une note source et une note cible.", - "target_note": "Note cible", - "promoted_title": "L'attribut promu est affiché bien en évidence sur la note.", - "promoted": "Promu", - "promoted_alias_title": "Nom à afficher dans l'interface des attributs promus.", - "promoted_alias": "Alias", - "multiplicity_title": "La multiplicité définit combien d'attributs du même nom peuvent être créés - au maximum 1 ou plus de 1.", - "multiplicity": "Multiplicité", - "single_value": "Valeur unique", - "multi_value": "Valeur multiple", - "label_type_title": "Le type de label aidera Trilium à choisir l'interface appropriée pour saisir la valeur du label.", - "label_type": "Type", - "text": "Texte", - "number": "Nombre", - "boolean": "Booléen", - "date": "Date", - "date_time": "Date et heure", - "time": "Heure", - "url": "URL", - "precision_title": "Nombre de chiffres après la virgule devant être disponible dans l'interface définissant la valeur.", - "precision": "Précision", - "digits": "chiffres", - "inverse_relation_title": "Paramètre optionnel pour définir à la relation inverse de celle actuellement définie. Exemple : Père - Fils sont des relations inverses l'une par rapport à l'autre.", - "inverse_relation": "Relation inverse", - "inheritable_title": "L'attribut hérité sera transmis à tous les descendants dans cet arbre.", - "inheritable": "Héritable", - "save_and_close": "Enregistrer et fermer Ctrl+Entrée", - "delete": "Supprimer", - "related_notes_title": "Autres notes avec ce label", - "more_notes": "Plus de notes", - "label": "Détail du label", - "label_definition": "Détails de la définition du label", - "relation": "Détail de la relation", - "relation_definition": "Détail de la définition de la relation", - "disable_versioning": "désactive la gestion automatique des versions. Utile pour les notes volumineuses mais sans importance - par ex. grandes bibliothèques JS utilisées pour les scripts", - "calendar_root": "indique la note qui doit être utilisée comme racine pour les notes journalières. Une seule note doit être marquée comme telle.", - "archived": "les notes portant ce label ne seront pas visibles par défaut dans les résultats de recherche (ou dans les boîtes de dialogue Aller à, Ajouter un lien, etc.).", - "exclude_from_export": "les notes (avec leurs sous-arbres) ne seront incluses dans aucune exportation de notes", - "run": "définit à quels événements le script doit s'exécuter. Les valeurs possibles sont :\n
    \n
  • frontendStartup : lorsque l'interface Trilium démarre (ou est actualisée), mais pas sur mobile.
  • \n
  • mobileStartup : lorsque l'interface Trilium démarre (ou est actualisée), sur mobile.
  • \n
  • backendStartup : lorsque le backend Trilium démarre
  • \n
  • toutes les heures : exécution une fois par heure. Vous pouvez utiliser le label supplémentaire runAtHour pour spécifier à quelle heure.
  • \n
  • quotidiennement – exécuter une fois par jour
  • \n
", - "run_on_instance": "Définissez quelle instance de Trilium doit exécuter cette note. Par défaut, toutes les instances.", - "run_at_hour": "À quelle heure la note doit-elle s'exécuter. Doit être utilisé avec #run=hourly. Peut être défini plusieurs fois pour plus d'occurrences au cours de la journée.", - "disable_inclusion": "les scripts portant ce label ne seront pas inclus dans l'exécution du script parent.", - "sorted": "conserve les notes enfants triées alphabétiquement selon leur titre", - "sort_direction": "ASC (par défaut) ou DESC", - "sort_folders_first": "Les dossiers (notes avec enfants) doivent être triés en haut", - "top": "conserver la note donnée en haut dans l'arbre de son parent (s'applique uniquement aux parents triés)", - "hide_promoted_attributes": "Masquer les attributs promus sur cette note", - "read_only": "l'éditeur est en mode lecture seule. Fonctionne uniquement pour les notes de texte et de code.", - "auto_read_only_disabled": "les notes textuelles/de code peuvent être automatiquement mises en mode lecture lorsqu'elles sont trop volumineuses. Vous pouvez désactiver ce comportement note par note en ajoutant ce label à la note", - "app_css": "marque les notes CSS qui sont chargées dans l'application Trilium et peuvent ainsi être utilisées pour modifier l'apparence de Trilium.", - "app_theme": "marque les notes CSS qui sont des thèmes Trilium complets et sont donc disponibles dans les options Trilium.", - "app_theme_base": "définir sur \"next\" afin d'utiliser le thème TriliumNext comme base pour un thème personnalisé à la place de l'ancien thème.", - "css_class": "la valeur de ce label est ensuite ajoutée en tant que classe CSS au nœud représentant la note donnée dans l'arborescence. Cela peut être utile pour les thèmes avancés. Peut être utilisé dans les notes modèle.", - "icon_class": "la valeur de ce label est ajoutée en tant que classe CSS à l'icône dans l'arbre, ce qui peut aider à distinguer visuellement les notes dans l'arborescence. Un exemple pourrait être bx bx-home - les icônes sont extraites de boxicons. Peut être utilisé dans les notes modèle.", - "page_size": "nombre d'éléments par page dans la liste de notes", - "custom_request_handler": "voir le Gestionnaire de requêtes personnalisé", - "custom_resource_provider": "voir le Gestionnaire de requêtes personnalisé", - "widget": "indique que cette note est un widget personnalisé qui sera ajouté à l'arbre des composants Trilium", - "workspace": "cette note devient un espace de travail. Le focus sur cette note est facilité", - "workspace_icon_class": "définit l'icône CSS utilisé dans l'onglet lorsque la note est focus", - "workspace_tab_background_color": "Couleur CSS utilisée dans l'onglet lorsque cette note est focus", - "workspace_calendar_root": "Définit la racine du calendrier pour un espace de travail", - "workspace_template": "Cette note apparaîtra dans la sélection des modèles disponibles lors de la création d'une nouvelle note, mais uniquement si un espace de travail contenant ce modèle est focus", - "search_home": "les nouvelles notes de recherche seront créées en tant qu'enfants de cette note", - "workspace_search_home": "de nouvelles notes de recherche seront créées en tant qu'enfants de cette note, lorsqu'une note ancêtre de cet espace de travail est focus", - "inbox": "emplacement par défaut pour les nouvelles notes - lorsque vous créez une note à l'aide du bouton \"nouvelle note\" dans la barre latérale, les notes seront créées en tant que notes enfants dans la note marquée avec le label #inbox.", - "workspace_inbox": "emplacement par défaut des nouvelles notes lorsque le focus est sur une note ancêtre de cet espace de travail", - "sql_console_home": "emplacement par défaut des notes de la console SQL", - "bookmark_folder": "une note avec ce label apparaîtra dans les favoris sous forme de dossier (permettant l'accès à ses notes enfants)", - "share_hidden_from_tree": "cette note est masquée dans l'arbre de navigation de gauche, mais toujours accessible avec son URL", - "share_external_link": "la note fera office de lien vers un site Web externe dans l'arbre partagée", - "share_alias": "définit un alias à l'aide duquel la note sera disponible sous https://your_trilium_host/share/[votre_alias]", - "share_omit_default_css": "le CSS de la page de partage par défaut ne sera pas pris en compte. À utiliser lorsque vous apportez des modifications de style importantes.", - "share_root": "partage cette note à l'adresse racine /share.", - "share_description": "définir le texte à ajouter à la balise méta HTML pour la description", - "share_raw": "la note sera servie dans son format brut, sans wrapper HTML", - "share_disallow_robot_indexing": "interdira l'indexation par robot de cette note via l'en-tête X-Robots-Tag: noindex", - "share_credentials": "exiger des informations d’identification pour accéder à cette note partagée. La valeur devrait être au format « nom d'utilisateur : mot de passe ». N'oubliez pas de rendre cela héritable pour l'appliquer aux notes/images enfants.", - "share_index": "la note avec ce label listera toutes les racines des notes partagées", - "display_relations": "noms des relations délimités par des virgules qui doivent être affichés. Tous les autres seront masqués.", - "hide_relations": "noms de relations délimités par des virgules qui doivent être masqués. Tous les autres seront affichés.", - "title_template": "titre par défaut des notes créées en tant qu'enfants de cette note. La valeur est évaluée sous forme de chaîne JavaScript \n et peut ainsi être enrichi de contenu dynamique via les variables injectées now et parentNote. Exemples :\n \n
    \n
  • Œuvres littéraires de ${parentNote.getLabelValue('authorName')}
  • \n
  • Connectez-vous pour ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n Consultez le wiki avec plus de détails, la documentation sur l'API pour parentNote et maintenant< /a> pour plus de détails.", - "template": "Cette note apparaîtra parmi les modèles disponibles lors de la création d'une nouvelle note", - "toc": "#toc ou #toc=show forcera l'affichage de la table des matières, #toc=hide force qu'elle soit masquée. Si le label n'existe pas, le paramètre global est utilisé", - "color": "définit la couleur de la note dans l'arborescence des notes, les liens, etc. Utilisez n'importe quelle valeur de couleur CSS valide comme « rouge » ou #a13d5f", - "keyboard_shortcut": "Définit un raccourci clavier qui ouvrira immédiatement cette note. Exemple : 'ctrl+alt+e'. Nécessite un rechargement du frontend pour que la modification prenne effet.", - "keep_current_hoisting": "L'ouverture de ce lien ne modifiera pas le focus même si la note n'est pas affichable dans le sous-arbre actuellement focus.", - "execute_button": "Titre du bouton qui exécutera la note de code en cours", - "execute_description": "Description plus longue de la note de code actuelle affichée avec le bouton d'exécution", - "exclude_from_note_map": "Les notes avec ce label seront masquées de la carte des notes", - "new_notes_on_top": "Les nouvelles notes seront créées en haut de la note parent, et non en bas.", - "hide_highlight_widget": "Masquer le widget Important", - "run_on_note_creation": "s'exécute lorsque la note est créée dans le backend. Utilisez cette relation si vous souhaitez exécuter le script pour toutes les notes créées sous un sous-arbre spécifique. Dans ce cas, créez-le sur la note racine du sous-arbre et rendez-la héritable. Une nouvelle note créée dans le sous-arbre (peu importe la profondeur) déclenchera le script.", - "run_on_child_note_creation": "s'exécute lorsqu'une nouvelle note est créée sous la note où cette relation est définie", - "run_on_note_title_change": "s'exécute lorsque le titre de la note est modifié (inclut également la création de notes)", - "run_on_note_content_change": "s'exécute lorsque le contenu de la note est modifié (inclut également la création de notes).", - "run_on_note_change": "s'exécute lorsque la note est modifiée (inclut également la création de notes). N'inclut pas les modifications de contenu", - "run_on_note_deletion": "s'exécute lorsque la note est supprimée", - "run_on_branch_creation": "s'exécute lorsqu'une branche est créée. La branche est un lien entre la note parent et la note enfant. Elle est créée, par exemple, lors du clonage ou du déplacement d'une note.", - "run_on_branch_change": "s'exécute lorsqu'une branche est mise à jour.", - "run_on_branch_deletion": "s'exécute lorsqu'une branche est supprimée La branche est un lien entre la note parent et la note enfant. Elle est supprimée, par exemple, lors du déplacement d'une note (l'ancienne branche/lien est supprimé).", - "run_on_attribute_creation": "s'exécute lorsqu'un nouvel attribut pour la note qui définit cette relation est créé", - "run_on_attribute_change": " s'exécute lorsque l'attribut est modifié d'une note qui définit cette relation. Ceci est également déclenché lorsque l'attribut est supprimé", - "relation_template": "les attributs de la note seront hérités même sans relation parent-enfant, le contenu de la note et son sous-arbre seront transmis aux notes utilisant ce modèle si elles sont vides. Voir la documentation pour plus de détails.", - "inherit": "les attributs de la note seront hérités même sans relation parent-enfant. Voir la relation Modèle pour un comportement similaire. Voir l'héritage des attributs dans la documentation.", - "render_note": "les notes de type \"Rendu HTML\" seront rendues à partir d'une note de code (HTML ou script). Utilisez cette relation pour pointer vers la note de code à afficher", - "widget_relation": "la note cible de cette relation sera exécutée et affichée sous forme de widget dans la barre latérale", - "share_css": "Note CSS qui sera injectée dans la page de partage. La note CSS doit également figurer dans le sous-arbre partagé. Pensez également à utiliser « share_hidden_from_tree » et « share_omit_default_css ».", - "share_js": "Note JavaScript qui sera injectée dans la page de partage. La note JS doit également figurer dans le sous-arbre partagé. Pensez à utiliser 'share_hidden_from_tree'.", - "share_template": "Note JavaScript intégrée qui sera utilisée comme modèle pour afficher la note partagée. Revient au modèle par défaut. Pensez à utiliser 'share_hidden_from_tree'.", - "share_favicon": "Favicon de la note à définir dans la page partagée. En règle générale, vous souhaitez le configurer pour partager la racine et le rendre héritable. La note Favicon doit également figurer dans le sous-arbre partagé. Pensez à utiliser 'share_hidden_from_tree'.", - "is_owned_by_note": "appartient à la note", - "other_notes_with_name": "Autres notes portant le nom {{attributeType}} \"{{attributeName}}\"", - "and_more": "... et {{count}} plus.", - "print_landscape": "Lors de l'exportation en PDF, change l'orientation de la page en paysage au lieu de portrait.", - "print_page_size": "Lors de l'exportation en PDF, change la taille de la page. Valeurs supportées : A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." - }, - "attribute_editor": { - "help_text_body1": "Pour ajouter un label, tapez simplement par ex. #rock, ou si vous souhaitez également ajouter une valeur, tapez par ex. #année = 2020", - "help_text_body2": "Pour la relation, tapez ~author = @ qui devrait afficher une saisie semi-automatique où vous pourrez rechercher la note souhaitée.", - "help_text_body3": "Vous pouvez également ajouter un label et une relation en utilisant le bouton + sur le côté droit.", - "save_attributes": "Enregistrer les attributs ", - "add_a_new_attribute": "Ajouter un nouvel attribut", - "add_new_label": "Ajouter un nouveau label ", - "add_new_relation": "Ajouter une nouvelle relation ", - "add_new_label_definition": "Ajouter une nouvelle définition de label", - "add_new_relation_definition": "Ajouter une nouvelle définition de relation", - "placeholder": "Saisir les labels et les relations ici" - }, - "abstract_bulk_action": { - "remove_this_search_action": "Supprimer cette action dans la recherche" - }, - "execute_script": { - "execute_script": "Exécuter le script", - "help_text": "Vous pouvez exécuter des scripts simples sur les notes correspondantes.", - "example_1": "Par exemple pour ajouter une chaîne de caractères au titre d'une note, utilisez ce petit script :", - "example_2": "Un exemple plus complexe serait de supprimer tous les attributs de la note correspondante :" - }, - "add_label": { - "add_label": "Ajouter un label", - "label_name_placeholder": "nom du label", - "label_name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", - "to_value": "modifié par", - "new_value_placeholder": "nouvelle valeur", - "help_text": "Pour toutes les notes correspondantes :", - "help_text_item1": "créer un label donné si la note ne le possède pas encore", - "help_text_item2": "ou modifier la valeur du label existant", - "help_text_note": "Vous pouvez également appeler cette méthode sans valeur : dans ce cas le label sera attribué sans valeur à la note." - }, - "delete_label": { - "delete_label": "Supprimer le label", - "label_name_placeholder": "nom du label", - "label_name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." - }, - "rename_label": { - "rename_label": "Renommer le label", - "rename_label_from": "Renommer le label de", - "old_name_placeholder": "ancien nom", - "to": "En", - "new_name_placeholder": "nouveau nom", - "name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." - }, - "update_label_value": { - "update_label_value": "Mettre à jour la valeur du label", - "label_name_placeholder": "nom du label", - "label_name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", - "to_value": "modifié par", - "new_value_placeholder": "nouvelle valeur", - "help_text": "Pour toutes les notes correspondantes, modifier la valeur du label.", - "help_text_note": "Vous pouvez également appeler cette méthode sans valeur, dans ce cas le label sera attribué à la note sans valeur." - }, - "delete_note": { - "delete_note": "Supprimer la note", - "delete_matched_notes": "Supprimer les notes correspondantes", - "delete_matched_notes_description": "Cela supprimera les notes correspondantes.", - "undelete_notes_instruction": "Après la suppression, il est possible de les restaurer à partir de la boîte de dialogue Modifications récentes.", - "erase_notes_instruction": "Pour effacer les notes définitivement, vous pouvez aller après la suppression dans Options -> Autre et cliquer sur le bouton \"Effacer les notes supprimées maintenant\"." - }, - "delete_revisions": { - "delete_note_revisions": "Supprimer les versions de notes", - "all_past_note_revisions": "Toutes les versions de notes antérieures des notes correspondantes seront supprimées. La note elle-même sera entièrement préservée. En d’autres termes, l’historique de la note sera supprimé." - }, - "move_note": { - "move_note": "Déplacer la note", - "to": "vers", - "target_parent_note": "note parent cible", - "on_all_matched_notes": "Pour toutes les notes correspondantes", - "move_note_new_parent": "déplacer la note vers le nouveau parent si la note n'a qu'un seul parent (c.-à-d. l'ancienne branche est supprimée et une nouvelle branche est créée dans le nouveau parent)", - "clone_note_new_parent": "cloner la note vers le nouveau parent si la note a plusieurs clones/branches (il n'est pas clair quelle branche doit être supprimée)", - "nothing_will_happen": "rien ne se passera si la note ne peut pas être déplacée vers la note cible (cela créerait une boucle dans l'arborescence)" - }, - "rename_note": { - "rename_note": "Renommer la note", - "rename_note_title_to": "Renommer le titre de la note en", - "new_note_title": "nouveau titre de note", - "click_help_icon": "Cliquez sur l'icône d'aide à droite pour voir toutes les options", - "evaluated_as_js_string": "La valeur donnée est évaluée comme une chaîne JavaScript et peut ainsi être enrichie de contenu dynamique via la variable note injectée (la note étant renommée). Exemples :", - "example_note": "Note - toutes les notes correspondantes sont renommées « Note »", - "example_new_title": "NOUVEAU : ${note.title} : les titres des notes correspondantes sont préfixés par \"NOUVEAU : \"", - "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')} : ${note.title} : les notes correspondantes sont précédées du mois et de la date de création de la note", - "api_docs": "Consultez la documentation de l'API pour la note et ses propriétés dateCreatedObj / utcDateCreatedObj pour plus de détails." - }, - "add_relation": { - "add_relation": "Ajouter une relation", - "relation_name": "nom de la relation", - "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", - "to": "vers", - "target_note": "note cible", - "create_relation_on_all_matched_notes": "Pour toutes les notes correspondantes, créer une relation donnée." - }, - "delete_relation": { - "delete_relation": "Supprimer la relation", - "relation_name": "nom de la relation", - "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." - }, - "rename_relation": { - "rename_relation": "Renommer la relation", - "rename_relation_from": "Renommer la relation de", - "old_name": "ancien nom", - "to": "En", - "new_name": "nouveau nom", - "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." - }, - "update_relation_target": { - "update_relation": "Mettre à jour la relation", - "relation_name": "nom de la relation", - "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", - "to": "vers", - "target_note": "note cible", - "on_all_matched_notes": "Pour toutes les notes correspondantes", - "change_target_note": "ou changer la note cible de la relation existante", - "update_relation_target": "Mettre à jour la cible de la relation" - }, - "attachments_actions": { - "open_externally": "Ouverture externe", - "open_externally_title": "Le fichier sera ouvert dans une application externe et les modifications apportées seront surveillées. \nVous pourrez ensuite téléverser la version modifiée dans Trilium.", - "open_custom": "Ouvrir avec", - "open_custom_title": "Le fichier sera ouvert dans une application externe et surveillé pour les modifications. Vous pourrez ensuite téléverser la version modifiée sur Trilium.", - "download": "Télécharger", - "rename_attachment": "Renommer la pièce jointe", - "upload_new_revision": "Téléverser une nouvelle version", - "copy_link_to_clipboard": "Copier le lien dans le presse-papier", - "convert_attachment_into_note": "Convertir la pièce jointe en note", - "delete_attachment": "Supprimer la pièce jointe", - "upload_success": "Une nouvelle version de pièce jointe a été téléversée.", - "upload_failed": "Le téléversement d'une nouvelle version de pièce jointe a échoué.", - "open_externally_detail_page": "L'ouverture externe d'une pièce jointe n''est disponible qu'à partir de la page de détails. Veuillez d'abord cliquer sur les détails de la pièce jointe et répéter l'opération.", - "open_custom_client_only": "L'option \"Ouvrir avec\" des pièces jointes n'est disponible que dans la version bureau de Trilium.", - "delete_confirm": "Êtes-vous sûr de vouloir supprimer la pièce jointe « {{title}} » ?", - "delete_success": "La pièce jointe « {{title}} » a été supprimée.", - "convert_confirm": "Êtes-vous sûr de vouloir convertir la pièce jointe « {{title}} » en une note distincte ?", - "convert_success": "La pièce jointe « {{title}} » a été convertie en note.", - "enter_new_name": "Veuillez saisir le nom de la nouvelle pièce jointe" - }, - "calendar": { - "mon": "Lun", - "tue": "Mar", - "wed": "Mer", - "thu": "Jeu", - "fri": "Ven", - "sat": "Sam", - "sun": "Dim", - "cannot_find_day_note": "Note journalière introuvable", - "january": "Janvier", - "febuary": "Février", - "march": "Mars", - "april": "Avril", - "may": "Mai", - "june": "Juin", - "july": "Juillet", - "august": "Août", - "september": "Septembre", - "october": "Octobre", - "november": "Novembre", - "december": "Décembre" - }, - "close_pane_button": { - "close_this_pane": "Fermer ce volet" - }, - "create_pane_button": { - "create_new_split": "Créer une nouvelle division" - }, - "edit_button": { - "edit_this_note": "Modifier cette note" - }, - "show_toc_widget_button": { - "show_toc": "Afficher la Table des matières" - }, - "show_highlights_list_widget_button": { - "show_highlights_list": "Afficher la liste des Accentuations" - }, - "global_menu": { - "menu": "Menu", - "options": "Options", - "open_new_window": "Ouvrir une nouvelle fenêtre", - "switch_to_mobile_version": "Passer à la version mobile", - "switch_to_desktop_version": "Passer à la version de bureau", - "zoom": "Zoom", - "toggle_fullscreen": "Basculer en plein écran", - "zoom_out": "Zoom arrière", - "reset_zoom_level": "Réinitialiser le niveau de zoom", - "zoom_in": "Zoomer", - "configure_launchbar": "Configurer la Barre de raccourcis", - "show_shared_notes_subtree": "Afficher le Sous-arbre des Notes Partagées", - "advanced": "Avancé", - "open_dev_tools": "Ouvrir les Outils de dév", - "open_sql_console": "Ouvrir la Console SQL", - "open_sql_console_history": "Ouvrir l'Historique de la console SQL", - "open_search_history": "Ouvrir l'Historique de recherche", - "show_backend_log": "Afficher le Journal back-end", - "reload_hint": "Recharger l'application peut aider à résoudre certains problèmes visuels sans redémarrer l'application.", - "reload_frontend": "Recharger l'interface", - "show_hidden_subtree": "Afficher le Sous-arbre caché", - "show_help": "Afficher l'aide", - "about": "À propos de Trilium Notes", - "logout": "Déconnexion", - "show-cheatsheet": "Afficher l'aide rapide", - "toggle-zen-mode": "Zen Mode" - }, - "zen_mode": { - "button_exit": "Sortir du Zen mode" - }, - "sync_status": { - "unknown": "

Le statut de la synchronisation sera connu à la prochaine tentative de synchronisation.

Cliquez pour déclencher la synchronisation maintenant.

", - "connected_with_changes": "

Connecté au serveur de synchronisation.
Il reste quelques modifications à synchroniser.

Cliquez pour déclencher la synchronisation.

", - "connected_no_changes": "

Connecté au serveur de synchronisation.
Toutes les modifications ont déjà été synchronisées.

Cliquez pour déclencher la synchronisation.

", - "disconnected_with_changes": "

La connexion au serveur de synchronisation a échoué.
Il reste encore des modifications à synchroniser.

Cliquez pour déclencher la synchronisation.

", - "disconnected_no_changes": "

La connexion au serveur de synchronisation a échoué.
Il reste encore des modifications à synchroniser.

Cliquez pour déclencher la synchronisation.

", - "in_progress": "La synchronisation avec le serveur est en cours." - }, - "left_pane_toggle": { - "show_panel": "Afficher le panneau", - "hide_panel": "Masquer le panneau" - }, - "move_pane_button": { - "move_left": "Déplacer vers la gauche", - "move_right": "Déplacer à droite" - }, - "note_actions": { - "convert_into_attachment": "Convertir en pièce jointe", - "re_render_note": "Re-rendre la note", - "search_in_note": "Rechercher dans la note", - "note_source": "Code source", - "note_attachments": "Pièces jointes", - "open_note_externally": "Ouverture externe", - "open_note_externally_title": "Le fichier sera ouvert dans une application externe et les modifications apportées seront surveillées. Vous pourrez ensuite téléverser la version modifiée dans Trilium.", - "open_note_custom": "Ouvrir la note avec", - "import_files": "Importer des fichiers", - "export_note": "Exporter la note", - "delete_note": "Supprimer la note", - "print_note": "Imprimer la note", - "save_revision": "Enregistrer la version", - "convert_into_attachment_failed": "La conversion de la note '{{title}}' a échoué.", - "convert_into_attachment_successful": "La note '{{title}}' a été convertie en pièce jointe.", - "convert_into_attachment_prompt": "Êtes-vous sûr de vouloir convertir la note '{{title}}' en une pièce jointe de la note parente ?", - "print_pdf": "Exporter en PDF..." - }, - "onclick_button": { - "no_click_handler": "Le widget bouton '{{componentId}}' n'a pas de gestionnaire de clic défini" - }, - "protected_session_status": { - "active": "La session protégée est active. Cliquez pour quitter la session protégée.", - "inactive": "Cliquez pour accéder à une session protégée" - }, - "revisions_button": { - "note_revisions": "Versions des Notes" - }, - "update_available": { - "update_available": "Mise à jour disponible" - }, - "note_launcher": { - "this_launcher_doesnt_define_target_note": "Ce raccourci ne définit pas de note cible." - }, - "code_buttons": { - "execute_button_title": "Exécuter le script", - "trilium_api_docs_button_title": "Ouvrir la documentation de l'API Trilium", - "save_to_note_button_title": "Enregistrer dans la note", - "opening_api_docs_message": "Ouverture de la documentation de l'API...", - "sql_console_saved_message": "La note de la console SQL a été enregistrée dans {{note_path}}" - }, - "copy_image_reference_button": { - "button_title": "Copier la référence de l'image dans le presse-papiers, peut être collée dans une note textuelle." - }, - "hide_floating_buttons_button": { - "button_title": "Masquer les boutons" - }, - "show_floating_buttons_button": { - "button_title": "Afficher les boutons" - }, - "svg_export_button": { - "button_title": "Exporter le diagramme au format SVG" - }, - "relation_map_buttons": { - "create_child_note_title": "Créer une nouvelle note enfant et l'ajouter à cette carte de relation", - "reset_pan_zoom_title": "Réinitialiser le panoramique et le zoom aux coordonnées et à la position initiales", - "zoom_in_title": "Zoomer", - "zoom_out_title": "Zoom arrière" - }, - "zpetne_odkazy": { - "backlink": "{{count}} Lien inverse", - "backlinks": "{{count}} Liens inverses", - "relation": "relation" - }, - "mobile_detail_menu": { - "insert_child_note": "Insérer une note enfant", - "delete_this_note": "Supprimer cette note", - "error_cannot_get_branch_id": "Impossible d'obtenir branchId pour notePath '{{notePath}}'", - "error_unrecognized_command": "Commande non reconnue {{command}}" - }, - "note_icon": { - "change_note_icon": "Changer l'icône de note", - "category": "Catégorie :", - "search": "Recherche :", - "reset-default": "Réinitialiser l'icône par défaut" - }, - "basic_properties": { - "note_type": "Type de note", - "editable": "Modifiable", - "basic_properties": "Propriétés de base" - }, - "book_properties": { - "view_type": "Type d'affichage", - "grid": "Grille", - "list": "Liste", - "collapse_all_notes": "Réduire toutes les notes", - "expand_all_children": "Développer tous les enfants", - "collapse": "Réduire", - "expand": "Développer", - "invalid_view_type": "Type de vue non valide '{{type}}'", - "calendar": "Calendrier" - }, - "edited_notes": { - "no_edited_notes_found": "Aucune note modifiée ce jour-là...", - "title": "Notes modifiées", - "deleted": "(supprimé)" - }, - "file_properties": { - "note_id": "Identifiant de la note", - "original_file_name": "Nom du fichier d'origine", - "file_type": "Type de fichier", - "file_size": "Taille du fichier", - "download": "Télécharger", - "open": "Ouvrir", - "upload_new_revision": "Téléverser une nouvelle version", - "upload_success": "Une nouvelle version de fichier a été téléversée.", - "upload_failed": "Le téléversement d'une nouvelle version de fichier a échoué.", - "title": "Fichier" - }, - "image_properties": { - "original_file_name": "Nom du fichier d'origine", - "file_type": "Type de fichier", - "file_size": "Taille du fichier", - "download": "Télécharger", - "open": "Ouvrir", - "copy_reference_to_clipboard": "Copier la référence dans le presse-papiers", - "upload_new_revision": "Téléverser une nouvelle version", - "upload_success": "Une nouvelle version d'image a été téléversée.", - "upload_failed": "Échec de l'importation d'une nouvelle version d'image : {{message}}", - "title": "Image" - }, - "inherited_attribute_list": { - "title": "Attributs hérités", - "no_inherited_attributes": "Aucun attribut hérité." - }, - "note_info_widget": { - "note_id": "Identifiant de la note", - "created": "Créé", - "modified": "Modifié", - "type": "Type", - "note_size": "Taille de la note", - "note_size_info": "La taille de la note fournit une estimation approximative des besoins de stockage pour cette note. Il prend en compte le contenu de la note et de ses versions.", - "calculate": "calculer", - "subtree_size": "(taille du sous-arbre : {{size}} pour {{count}} notes)", - "title": "Infos sur la Note" - }, - "note_map": { - "open_full": "Développer au maximum", - "collapse": "Réduire à la taille normale", - "title": "Carte de la Note", - "fix-nodes": "Réparer les nœuds", - "link-distance": "Distance du lien" - }, - "note_paths": { - "title": "Chemins de la Note", - "clone_button": "Cloner la note vers un nouvel emplacement...", - "intro_placed": "Cette note est située dans les chemins suivants :", - "intro_not_placed": "Cette note n'est pas encore située dans l'arbre des notes.", - "outside_hoisted": "Ce chemin est en dehors de la note focus et vous devrez désactiver le focus.", - "archived": "Archivé", - "search": "Recherche" - }, - "note_properties": { - "this_note_was_originally_taken_from": "Cette note est initialement extraite de :", - "info": "Infos" - }, - "owned_attribute_list": { - "owned_attributes": "Attributs propres" - }, - "promoted_attributes": { - "promoted_attributes": "Attributs promus", - "unset-field-placeholder": "non défini", - "url_placeholder": "http://siteweb...", - "open_external_link": "Ouvrir le lien externe", - "unknown_label_type": "Type de label inconnu '{{type}}'", - "unknown_attribute_type": "Type d'attribut inconnu '{{type}}'", - "add_new_attribute": "Ajouter un nouvel attribut", - "remove_this_attribute": "Supprimer cet attribut" - }, - "script_executor": { - "query": "Requête", - "script": "Script", - "execute_query": "Exécuter la requête", - "execute_script": "Exécuter le script" - }, - "search_definition": { - "add_search_option": "Ajouter une option de recherche :", - "search_string": "chaîne de caractères à rechercher", - "search_script": "script de recherche", - "ancestor": "ancêtre", - "fast_search": "recherche rapide", - "fast_search_description": "L'option de recherche rapide désactive la recherche dans le texte intégral du contenu des notes, ce qui peut accélérer la recherche dans les grandes bases de données.", - "include_archived": "inclure les archivées", - "include_archived_notes_description": "Par défaut, les notes archivées sont exclues des résultats de recherche : avec cette option, elles seront incluses.", - "order_by": "trier par", - "limit": "limite", - "limit_description": "Limiter le nombre de résultats", - "debug": "debug", - "debug_description": "Debug imprimera des informations supplémentaires dans la console pour faciliter le débogage des requêtes complexes", - "action": "action", - "search_button": "Recherche Entrée", - "search_execute": "Rechercher et exécuter des actions", - "save_to_note": "Enregistrer dans la note", - "search_parameters": "Paramètres de recherche", - "unknown_search_option": "Option de recherche inconnue {{searchOptionName}}", - "search_note_saved": "La note de recherche a été enregistrée dans {{- notePathTitle}}", - "actions_executed": "Les actions ont été exécutées." - }, - "similar_notes": { - "title": "Notes similaires", - "no_similar_notes_found": "Aucune note similaire trouvée." - }, - "abstract_search_option": { - "remove_this_search_option": "Supprimer cette option de recherche", - "failed_rendering": "Le chargement de l'option de recherche : {{dto}} a échoué avec l'erreur : {{error}} {{stack}}" - }, - "ancestor": { - "label": "Ancêtre", - "placeholder": "rechercher une note par son nom", - "depth_label": "profondeur", - "depth_doesnt_matter": "n'a pas d'importance", - "depth_eq": "est exactement {{count}}", - "direct_children": "enfants directs", - "depth_gt": "est supérieur à {{count}}", - "depth_lt": "est inférieur à {{count}}" - }, - "debug": { - "debug": "Debug", - "debug_info": "Debug imprimera des informations supplémentaires dans la console pour faciliter le débogage des requêtes complexes.", - "access_info": "Pour accéder aux informations de débogage, exécutez la requête et cliquez sur \"Afficher le journal backend\" dans le coin supérieur gauche." - }, - "fast_search": { - "fast_search": "Recherche rapide", - "description": "L'option de recherche rapide désactive la recherche dans le texte intégral du contenu des notes, ce qui peut accélérer la recherche dans les grandes bases de données." - }, - "include_archived_notes": { - "include_archived_notes": "Inclure les notes archivées" - }, - "limit": { - "limit": "Limite", - "take_first_x_results": "Ne prendre que les X premiers résultats spécifiés." - }, - "order_by": { - "order_by": "Trier par", - "relevancy": "Pertinence (par défaut)", - "title": "Titre", - "date_created": "Date de création", - "date_modified": "Date de dernière modification", - "content_size": "Taille de la note", - "content_and_attachments_size": "Taille de la note (pièces jointes comprises)", - "content_and_attachments_and_revisions_size": "Taille de note (pièces jointes et versions comprises)", - "revision_count": "Nombre de versions", - "children_count": "Nombre de notes enfants", - "parent_count": "Nombre de clones", - "owned_label_count": "Nombre de labels", - "owned_relation_count": "Nombre de relations", - "target_relation_count": "Nombre de relations ciblant la note", - "random": "Ordre aléatoire", - "asc": "Ascendant (par défaut)", - "desc": "Descendant" - }, - "search_script": { - "title": "Script de recherche :", - "placeholder": "rechercher une note par son nom", - "description1": "Le script de recherche permet de définir les résultats de la recherche en exécutant un script. Cela offre une flexibilité maximale lorsque la recherche standard ne suffit pas.", - "description2": "Le script de recherche doit être de type \"code\" et sous-type \"backend JavaScript\". Le script doit retourner un tableau de noteIds ou de notes.", - "example_title": "Voir cet exemple :", - "example_code": "// 1. préfiltrage à l'aide de la recherche standard\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. application de critères de recherche personnalisés\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", - "note": "Notez que le script de recherche et la l'expression à rechercher standard ne peuvent pas être combinés." - }, - "search_string": { - "title_column": "Expression à rechercher :", - "placeholder": "mots-clés du texte, #tag = valeur...", - "search_syntax": "Syntaxe de recherche", - "also_see": "voir aussi", - "complete_help": "aide complète sur la syntaxe de recherche", - "full_text_search": "Entrez simplement n'importe quel texte pour rechercher dans le contenu des notes", - "label_abc": "renvoie les notes avec le label abc", - "label_year": "correspond aux notes possédant le label year ayant la valeur 2019", - "label_rock_pop": "correspond aux notes qui ont à la fois les labels rock et pop", - "label_rock_or_pop": "un seul des labels doit être présent", - "label_year_comparison": "comparaison numérique (également >, >=, <).", - "label_date_created": "notes créées le mois dernier", - "error": "Erreur de recherche : {{error}}", - "search_prefix": "Recherche :" - }, - "attachment_detail": { - "open_help_page": "Ouvrir la page d'aide sur les pièces jointes", - "owning_note": "Note d'appartenance : ", - "you_can_also_open": ", vous pouvez également ouvrir ", - "list_of_all_attachments": "Liste de toutes les pièces jointes", - "attachment_deleted": "Cette pièce jointe a été supprimée." - }, - "attachment_list": { - "open_help_page": "Ouvrir la page d'aide à propos des pièces jointes", - "owning_note": "Note d'appartenance : ", - "upload_attachments": "Téléverser des pièces jointes", - "no_attachments": "Cette note ne contient aucune pièce jointe." - }, - "book": { - "no_children_help": "Cette note de type Livre n'a aucune note enfant, donc il n'y a rien à afficher. Consultez le wiki pour plus de détails." - }, - "editable_code": { - "placeholder": "Saisir le contenu de votre note de code ici..." - }, - "editable_text": { - "placeholder": "Saisir le contenu de votre note ici..." - }, - "empty": { - "open_note_instruction": "Ouvrez une note en tapant son titre dans la zone ci-dessous ou choisissez une note dans l'arborescence.", - "search_placeholder": "rechercher une note par son nom", - "enter_workspace": "Entrez dans l'espace de travail {{title}}" - }, - "file": { - "file_preview_not_available": "L'aperçu du fichier n'est pas disponible pour ce format de fichier.", - "too_big": "L'aperçu ne montre que les premiers caractères {{maxNumChars}} du fichier pour des raisons de performance. Téléchargez le fichier et ouvrez-le en dehors de Trilium pour voir tout le contenu." - }, - "protected_session": { - "enter_password_instruction": "L'affichage de la note protégée nécessite la saisie de votre mot de passe :", - "start_session_button": "Démarrer une session protégée Entrée", - "started": "La session protégée a démarré.", - "wrong_password": "Mot de passe incorrect.", - "protecting-finished-successfully": "La protection de la note s'est terminée avec succès.", - "unprotecting-finished-successfully": "La protection de la note a été retirée avec succès.", - "protecting-in-progress": "Protection en cours : {{count}}", - "unprotecting-in-progress-count": "Retrait de la protection en cours : {{count}}", - "protecting-title": "Statut de la protection", - "unprotecting-title": "Statut de la non-protection" - }, - "relation_map": { - "open_in_new_tab": "Ouvrir dans un nouvel onglet", - "remove_note": "Supprimer la note", - "edit_title": "Modifier le titre", - "rename_note": "Renommer la note", - "enter_new_title": "Saisissez le nouveau titre de la note :", - "remove_relation": "Supprimer la relation", - "confirm_remove_relation": "Êtes-vous sûr de vouloir supprimer la relation ?", - "specify_new_relation_name": "Spécifiez le nom de la nouvelle relation (caractères autorisés : alphanumérique, deux-points et tiret-bas.) :", - "connection_exists": "La connexion « {{name}} » entre ces notes existe déjà.", - "start_dragging_relations": "Commencez à faire glisser les relations à partir d'ici et déposez-les sur une autre note.", - "note_not_found": "Note {{noteId}} introuvable !", - "cannot_match_transform": "Correspondance à la transformation : {{transform}} introuvable", - "note_already_in_diagram": "La note \"{{title}}\" est déjà dans le diagramme.", - "enter_title_of_new_note": "Entrez le titre de la nouvelle note", - "default_new_note_title": "nouvelle note", - "click_on_canvas_to_place_new_note": "Cliquez sur le canevas pour placer une nouvelle note" - }, - "render": { - "note_detail_render_help_1": "Cette note d'aide s'affiche car cette note de type Rendu HTML n'a pas la relation requise pour fonctionner correctement.", - "note_detail_render_help_2": "Le type de note Rendu HTML est utilisé pour les scripts. En résumé, vous disposez d'une note de code HTML (éventuellement contenant JavaScript) et cette note affichera le rendu. Pour que cela fonctionne, vous devez définir une relation appelée \"renderNote\" pointant vers la note HTML à rendre." - }, - "web_view": { - "web_view": "Affichage Web", - "embed_websites": "Les notes de type Affichage Web vous permet d'intégrer des sites Web dans Trilium.", - "create_label": "Pour commencer, veuillez créer un label avec l'adresse URL que vous souhaitez intégrer, par ex. #webViewSrc=\"https://www.google.com\"" - }, - "backend_log": { - "refresh": "Rafraîchir" - }, - "consistency_checks": { - "title": "Vérification de la cohérence", - "find_and_fix_button": "Rechercher et résoudre les problèmes de cohérence", - "finding_and_fixing_message": "Recherche et résolution des problèmes de cohérence...", - "issues_fixed_message": "Les problèmes de cohérence devraient être résolus." - }, - "database_anonymization": { - "title": "Anonymisation de la base de données", - "full_anonymization": "Anonymisation complète", - "full_anonymization_description": "Cette action créera une nouvelle copie de la base de données et l'anonymisera (tout le contenu des notes sera supprimé et ne restera que la structure et certaines métadonnées non sensibles) pour la partager en ligne à des fins de débogage sans crainte de fuite de vos données personnelles.", - "save_fully_anonymized_database": "Enregistrer la base de données entièrement anonymisée", - "light_anonymization": "Anonymisation légère", - "light_anonymization_description": "Cette action créera une nouvelle copie de la base de données et y réalisera une légère anonymisation — seul le contenu de toutes les notes sera supprimé, mais les titres et les attributs resteront. De plus, les notes de script frontend/backend JS personnalisées et les widgets personnalisés resteront. Fournit plus de contexte pour déboguer les problèmes.", - "choose_anonymization": "Vous pouvez décider vous-même si vous souhaitez fournir une base de données entièrement ou partiellement anonymisée. Même une base de données entièrement anonymisée est très utile, mais dans certains cas, une base de données partiellement anonymisée peut accélérer le processus d'identification et de correction des bugs.", - "save_lightly_anonymized_database": "Enregistrer la base de données partiellement anonymisée", - "existing_anonymized_databases": "Bases de données anonymisées existantes", - "creating_fully_anonymized_database": "Création d'une base de données entièrement anonymisée...", - "creating_lightly_anonymized_database": "Création d'une base de données partiellement anonymisée...", - "error_creating_anonymized_database": "Impossible de créer une base de données anonymisée, vérifiez les journaux backend pour plus de détails", - "successfully_created_fully_anonymized_database": "Base de données entièrement anonymisée crée dans {{anonymizedFilePath}}", - "successfully_created_lightly_anonymized_database": "Base de données partiellement anonymisée crée dans {{anonymizedFilePath}}", - "no_anonymized_database_yet": "Aucune base de données anonymisée." - }, - "database_integrity_check": { - "title": "Vérification de l'intégrité de la base de données", - "description": "Vérifiera que la base de données n'est pas corrompue au niveau SQLite. Cela peut prendre un certain temps, en fonction de la taille de la base de données.", - "check_button": "Vérifier l'intégrité de la base de données", - "checking_integrity": "Vérification de l'intégrité de la base de données...", - "integrity_check_succeeded": "Le contrôle d'intégrité a réussi - aucun problème détecté.", - "integrity_check_failed": "Échec du contrôle d'intégrité : {{results}}" - }, - "sync": { - "title": "Synchroniser", - "force_full_sync_button": "Forcer la synchronisation complète", - "fill_entity_changes_button": "Remplir les enregistrements de modifications d'entité", - "full_sync_triggered": "Synchronisation complète déclenchée", - "filling_entity_changes": "Remplissage changements de ligne d'entité ...", - "sync_rows_filled_successfully": "Synchronisation avec succès des lignes remplies", - "finished-successfully": "Synchronisation terminée avec succès.", - "failed": "Échec de la synchronisation : {{message}}" - }, - "vacuum_database": { - "title": "Nettoyage la base de donnée", - "description": "Cela reconstruira la base de données, ce qui générera un fichier de base de données généralement plus petit. Aucune donnée ne sera réellement modifiée.", - "button_text": "Nettoyer de la base de donnée", - "vacuuming_database": "Nettoyage de la base de données en cours...", - "database_vacuumed": "La base de données a été nettoyée" - }, - "fonts": { - "theme_defined": "Défini par le thème", - "fonts": "Polices", - "main_font": "Police principale", - "font_family": "Famille de polices", - "size": "Taille", - "note_tree_font": "Police de l'arborescence", - "note_detail_font": "Police du contenu des notes", - "monospace_font": "Police Monospace (code)", - "note_tree_and_detail_font_sizing": "Notez que la taille de la police de l’arborescence et du contenu est relative au paramètre de taille de police principal.", - "not_all_fonts_available": "Toutes les polices répertoriées peuvent ne pas être disponibles sur votre système.", - "apply_font_changes": "Pour appliquer les modifications de police, cliquez sur", - "reload_frontend": "recharger l'interface", - "generic-fonts": "Polices génériques", - "sans-serif-system-fonts": "Polices système sans serif", - "serif-system-fonts": "Polices système Serif", - "monospace-system-fonts": "Polices système monospace", - "handwriting-system-fonts": "Polices système d'écriture manuelle", - "serif": "Serif", - "sans-serif": "Sans sérif", - "monospace": "Monospace", - "system-default": "Thème système" - }, - "max_content_width": { - "title": "Largeur du contenu", - "default_description": "Trilium limite par défaut la largeur maximale du contenu pour améliorer la lisibilité sur des écrans larges.", - "max_width_label": "Largeur maximale du contenu en pixels", - "apply_changes_description": "Pour appliquer les modifications de largeur du contenu, cliquez sur", - "reload_button": "recharger l'interface", - "reload_description": "changements par rapport aux options d'apparence" - }, - "native_title_bar": { - "title": "Barre de titre native (nécessite le redémarrage de l'application)", - "enabled": "activé", - "disabled": "désactivé" - }, - "ribbon": { - "widgets": "Ruban de widgets", - "promoted_attributes_message": "L'onglet du ruban Attributs promus s'ouvrira automatiquement si la note possède des attributs mis en avant", - "edited_notes_message": "L'onglet du ruban Notes modifiées s'ouvrira automatiquement sur les notes journalières" - }, - "theme": { - "title": "Thème de l'application", - "theme_label": "Thème", - "override_theme_fonts_label": "Remplacer les polices du thème", - "auto_theme": "Auto", - "light_theme": "Lumière", - "dark_theme": "Sombre", - "triliumnext": "TriliumNext Beta (Suit le thème du système)", - "triliumnext-light": "TriliumNext Beta (Clair)", - "triliumnext-dark": "TriliumNext Beta (sombre)", - "layout": "Disposition", - "layout-vertical-title": "Vertical", - "layout-horizontal-title": "Horizontal", - "layout-vertical-description": "la barre de raccourcis est à gauche (défaut)", - "layout-horizontal-description": "la barre de raccourcis est sous la barre des onglets, cette-dernière est s'affiche en pleine largeur." - }, - "zoom_factor": { - "title": "Facteur de zoom (version bureau uniquement)", - "description": "Le zoom peut également être contrôlé avec les raccourcis CTRL+- et CTRL+=." - }, - "code_auto_read_only_size": { - "title": "Taille pour la lecture seule automatique", - "description": "La taille pour la lecture seule automatique est le seuil au-delà de laquelle les notes seront affichées en mode lecture seule (pour optimiser les performances).", - "label": "Taille pour la lecture seule automatique (notes de code)" - }, - "code_mime_types": { - "title": "Types MIME disponibles dans la liste déroulante" - }, - "vim_key_bindings": { - "use_vim_keybindings_in_code_notes": "Raccourcis clavier Vim", - "enable_vim_keybindings": "Activer les raccourcis clavier Vim dans les notes de code (pas de mode ex)" - }, - "wrap_lines": { - "wrap_lines_in_code_notes": "Ligne wrappées dans les notes de code", - "enable_line_wrap": "Active le wrapping des lignes (le changement peut nécessiter un rechargement du frontend pour prendre effet)" - }, - "images": { - "images_section_title": "Images", - "download_images_automatically": "Téléchargez automatiquement les images pour une utilisation hors ligne.", - "download_images_description": "Le HTML collé peut contenir des références à des images en ligne, Trilium trouvera ces références et téléchargera les images afin qu'elles soient disponibles hors ligne.", - "enable_image_compression": "Activer la compression des images", - "max_image_dimensions": "Largeur/hauteur maximale d'une image en pixels (l'image sera redimensionnée si elle dépasse ce paramètre).", - "jpeg_quality_description": "Qualité JPEG (10 - pire qualité, 100 - meilleure qualité, 50 - 85 est recommandé)" - }, - "attachment_erasure_timeout": { - "attachment_erasure_timeout": "Délai d'effacement des pièces jointes", - "attachment_auto_deletion_description": "Les pièces jointes sont automatiquement supprimées (et effacées) si elles ne sont plus référencées par leur note après un certain délai.", - "erase_attachments_after": "Effacer les pièces jointes inutilisées après :", - "manual_erasing_description": "Vous pouvez également déclencher l'effacement manuellement (sans tenir compte du délai défini ci-dessus) :", - "erase_unused_attachments_now": "Effacez maintenant les pièces jointes inutilisées", - "unused_attachments_erased": "Les pièces jointes inutilisées ont été effacées." - }, - "network_connections": { - "network_connections_title": "Connexions réseau", - "check_for_updates": "Rechercher automatiquement les mises à jour" - }, - "note_erasure_timeout": { - "note_erasure_timeout_title": "Délai d'effacement des notes", - "note_erasure_description": "Les notes supprimées (et les attributs, versions...) sont seulement marquées comme supprimées et il est possible de les récupérer à partir de la boîte de dialogue Notes récentes. Après un certain temps, les notes supprimées sont « effacées », ce qui signifie que leur contenu n'est plus récupérable. Ce paramètre vous permet de configurer la durée entre la suppression et l'effacement de la note.", - "erase_notes_after": "Effacer les notes après", - "manual_erasing_description": "Vous pouvez également déclencher l'effacement manuellement (sans tenir compte de la durée définie ci-dessus) :", - "erase_deleted_notes_now": "Effacer les notes supprimées maintenant", - "deleted_notes_erased": "Les notes supprimées ont été effacées." - }, - "revisions_snapshot_interval": { - "note_revisions_snapshot_interval_title": "Délai d'enregistrement automatique d'une version de note", - "note_revisions_snapshot_description": "Le délai d'enregistrement automatique des versions de note définit le temps avant la création automatique d'une nouvelle version de note. Consultez le wiki pour plus d'informations.", - "snapshot_time_interval_label": "Délai d'enregistrement automatique de version de note :" - }, - "revisions_snapshot_limit": { - "note_revisions_snapshot_limit_title": "Limite du nombre de versions de note", - "note_revisions_snapshot_limit_description": "La limite du nombre de versions de note désigne le nombre maximum de versions pouvant être enregistrées pour chaque note. -1 signifie aucune limite, 0 signifie supprimer toutes les versions. Vous pouvez définir le nombre maximal de versions pour une seule note avec le label #versioningLimit.", - "snapshot_number_limit_label": "Nombre limite de versions de note :", - "erase_excess_revision_snapshots": "Effacer maintenant les versions en excès", - "erase_excess_revision_snapshots_prompt": "Les versions en excès ont été effacées." - }, - "search_engine": { - "title": "Moteur de recherche", - "custom_search_engine_info": "Le moteur de recherche personnalisé nécessite à la fois la définition d’un nom et d’une URL. Si l’un ou l’autre de ces éléments n’est défini, DuckDuckGo sera utilisé comme moteur de recherche par défaut.", - "predefined_templates_label": "Modèles de moteur de recherche prédéfinis", - "bing": "Bing", - "baidu": "Baidu", - "duckduckgo": "DuckDuckGo", - "google": "Google", - "custom_name_label": "Nom du moteur de recherche personnalisé", - "custom_name_placeholder": "Personnaliser le nom du moteur de recherche", - "custom_url_label": "L'URL du moteur de recherche personnalisé doit inclure {keyword} comme espace réservé pour le terme de recherche.", - "custom_url_placeholder": "Personnaliser l'url du moteur de recherche", - "save_button": "Sauvegarder" - }, - "tray": { - "title": "Barre d'état système", - "enable_tray": "Activer l'icône dans la barre d'état (Trilium doit être redémarré pour que cette modification prenne effet)" - }, - "heading_style": { - "title": "Style de titre", - "plain": "Simple", - "underline": "Souligné", - "markdown": "Style Markdown" - }, - "highlights_list": { - "title": "Accentuations", - "description": "Vous pouvez personnaliser la liste des accentuations affichée dans le panneau de droite :", - "bold": "Texte en gras", - "italic": "Texte en italique", - "underline": "Texte souligné", - "color": "Texte en couleur", - "bg_color": "Texte avec couleur de fond", - "visibility_title": "Visibilité de la Liste des Accentuations", - "visibility_description": "Vous pouvez masquer le widget des accentuations par note en ajoutant un label #hideHighlightWidget.", - "shortcut_info": "Vous pouvez configurer un raccourci clavier pour basculer rapidement vers le volet droit (comprenant les Accentuations) dans Options -> Raccourcis (nom « toggleRightPane »)." - }, - "table_of_contents": { - "title": "Table des matières", - "description": "La table des matières apparaîtra dans les notes textuelles lorsque la note comporte plus d'un nombre défini de titres. Vous pouvez personnaliser ce nombre :", - "disable_info": "Vous pouvez également utiliser cette option pour désactiver la table des matières en définissant un nombre très élevé.", - "shortcut_info": "Vous pouvez configurer un raccourci clavier pour afficher/masquer le volet de droite (y compris la table des matières) dans Options -> Raccourcis (nom « toggleRightPane »)." - }, - "text_auto_read_only_size": { - "title": "Taille automatique en lecture seule", - "description": "La taille automatique des notes en lecture seule est la taille au-delà de laquelle les notes seront affichées en mode lecture seule (pour des raisons de performances).", - "label": "Taille automatique en lecture seule (notes de texte)" - }, - "i18n": { - "title": "Paramètres régionaux", - "language": "Langue", - "first-day-of-the-week": "Premier jour de la semaine", - "sunday": "Dimanche", - "monday": "Lundi" - }, - "backup": { - "automatic_backup": "Sauvegarde automatique", - "automatic_backup_description": "Trilium peut sauvegarder la base de données automatiquement :", - "enable_daily_backup": "Activer la sauvegarde quotidienne", - "enable_weekly_backup": "Activer la sauvegarde hebdomadaire", - "enable_monthly_backup": "Activer la sauvegarde mensuelle", - "backup_recommendation": "Il est recommandé de garder la sauvegarde activée, mais cela peut ralentir le démarrage des applications avec des bases de données volumineuses et/ou des périphériques de stockage lents.", - "backup_now": "Sauvegarder maintenant", - "backup_database_now": "Sauvegarder la base de données maintenant", - "existing_backups": "Sauvegardes existantes", - "date-and-time": "Date & heure", - "path": "Chemin", - "database_backed_up_to": "La base de données a été sauvegardée dans {{backupFilePath}}", - "no_backup_yet": "pas encore de sauvegarde" - }, - "etapi": { - "title": "ETAPI", - "description": "ETAPI est une API REST utilisée pour accéder à l'instance Trilium par programme, sans interface utilisateur.", - "wiki": "wiki", - "openapi_spec": "Spec ETAPI OpenAPI", - "create_token": "Créer un nouveau jeton ETAPI", - "existing_tokens": "Jetons existants", - "no_tokens_yet": "Il n'y a pas encore de jetons. Cliquez sur le bouton ci-dessus pour en créer un.", - "token_name": "Nom du jeton", - "created": "Créé", - "actions": "Actions", - "new_token_title": "Nouveau jeton ETAPI", - "new_token_message": "Veuillez saisir le nom du nouveau jeton", - "default_token_name": "nouveau jeton", - "error_empty_name": "Le nom du jeton ne peut pas être vide", - "token_created_title": "Jeton ETAPI créé", - "token_created_message": "Copiez le jeton créé dans le presse-papiers. Trilium enregistre le jeton haché et c'est la dernière fois que vous le verrez.", - "rename_token": "Renommer ce jeton", - "delete_token": "Supprimer/désactiver ce token", - "rename_token_title": "Renommer le jeton", - "rename_token_message": "Veuillez saisir le nom du nouveau jeton", - "delete_token_confirmation": "Êtes-vous sûr de vouloir supprimer le jeton ETAPI « {{name}} » ?" - }, - "options_widget": { - "options_status": "Statut des options", - "options_change_saved": "Les modifications des options ont été enregistrées." - }, - "password": { - "heading": "Mot de passe", - "alert_message": "Prenez soin de mémoriser votre nouveau mot de passe. Le mot de passe est utilisé pour se connecter à l'interface Web et pour crypter les notes protégées. Si vous oubliez votre mot de passe, toutes vos notes protégées seront définitivement perdues.", - "reset_link": "Cliquez ici pour le réinitialiser.", - "old_password": "Ancien mot de passe", - "new_password": "Nouveau mot de passe", - "new_password_confirmation": "Confirmation du nouveau mot de passe", - "change_password": "Changer le mot de passe", - "protected_session_timeout": "Expiration de la session protégée", - "protected_session_timeout_description": "Le délai d'expiration de la session protégée est une période de temps après laquelle la session protégée est effacée de la mémoire du navigateur. Il est mesuré à partir de la dernière interaction avec des notes protégées. Voir", - "wiki": "wiki", - "for_more_info": "pour plus d'informations.", - "protected_session_timeout_label": "Délai d'expiration de la session protégée :", - "reset_confirmation": "En réinitialisant le mot de passe, vous perdrez à jamais l'accès à toutes vos notes protégées existantes. Voulez-vous vraiment réinitialiser le mot de passe ?", - "reset_success_message": "Le mot de passe a été réinitialisé. Veuillez définir un nouveau mot de passe", - "change_password_heading": "Changer le mot de passe", - "set_password_heading": "Définir le mot de passe", - "set_password": "Définir le mot de passe", - "password_mismatch": "Les nouveaux mots de passe saisis ne sont pas les mêmes.", - "password_changed_success": "Le mot de passe a été modifié. Trilium va redémarrer après avoir appuyé sur OK." - }, - "shortcuts": { - "keyboard_shortcuts": "Raccourcis clavier", - "multiple_shortcuts": "Plusieurs raccourcis pour la même action peuvent être séparés par une virgule.", - "electron_documentation": "Consultez la documentation Electron pour connaître les modificateurs et codes clés disponibles.", - "type_text_to_filter": "Saisir du texte pour filtrer les raccourcis...", - "action_name": "Nom de l'action", - "shortcuts": "Raccourcis", - "default_shortcuts": "Raccourcis par défaut", - "description": "Description", - "reload_app": "Recharger l'application pour appliquer les modifications", - "set_all_to_default": "Réinitialiser aux valeurs par défaut", - "confirm_reset": "Voulez-vous vraiment réinitialiser tous les raccourcis clavier par défaut ?" - }, - "spellcheck": { - "title": "Vérification orthographique", - "description": "Ces options s'appliquent uniquement aux versions de bureau, les navigateurs utiliseront leur propre vérification orthographique native.", - "enable": "Activer la vérification orthographique", - "language_code_label": "Code(s) de langue", - "language_code_placeholder": "par exemple \"fr-FR\", \"en-US\", \"de-AT\"", - "multiple_languages_info": "Plusieurs langues peuvent être séparées par une virgule, par ex. \"fr-FR, en-US, de-DE, cs\". ", - "available_language_codes_label": "Codes de langue disponibles :", - "restart-required": "Les modifications apportées aux options de vérification orthographique prendront effet après le redémarrage de l'application." - }, - "sync_2": { - "config_title": "Configuration de synchronisation", - "server_address": "Adresse de l'instance du serveur", - "timeout": "Délai d'expiration de la synchronisation (millisecondes)", - "proxy_label": "Serveur proxy de synchronisation (facultatif)", - "note": "Note", - "note_description": "Si vous laissez le paramètre de proxy vide, le proxy système sera utilisé (applicable uniquement à la version de bureau/électronique).", - "special_value_description": "Une autre valeur spéciale est noproxy qui oblige à ignorer même le proxy système et respecte NODE_TLS_REJECT_UNAUTHORIZED.", - "save": "Sauvegarder", - "help": "Aide", - "test_title": "Test de synchronisation", - "test_description": "Testera la connexion et la prise de contact avec le serveur de synchronisation. Si le serveur de synchronisation n'est pas initialisé, cela le configurera pour qu'il se synchronise avec le document local.", - "test_button": "Tester la synchronisation", - "handshake_failed": "Échec de la négociation avec le serveur de synchronisation, erreur : {{message}}" - }, - "api_log": { - "close": "Fermer" - }, - "attachment_detail_2": { - "will_be_deleted_in": "Cette pièce jointe sera automatiquement supprimée dans {{time}}", - "will_be_deleted_soon": "Cette pièce jointe sera bientôt supprimée automatiquement", - "deletion_reason": ", car la pièce jointe n'est pas liée dans le contenu de la note. Pour empêcher la suppression, ajoutez à nouveau le lien de la pièce jointe dans le contenu d'une note ou convertissez la pièce jointe en note.", - "role_and_size": "Rôle : {{role}}, Taille : {{size}}", - "link_copied": "Lien de pièce jointe copié dans le presse-papiers.", - "unrecognized_role": "Rôle de pièce jointe « {{role}} » non reconnu." - }, - "bookmark_switch": { - "bookmark": "Favori", - "bookmark_this_note": "Ajouter cette note à vos favoris dans le panneau latéral gauche", - "remove_bookmark": "Supprimer le favori" - }, - "editability_select": { - "auto": "Auto", - "read_only": "Lecture seule", - "always_editable": "Toujours modifiable", - "note_is_editable": "La note est modifiable si elle n'est pas trop longue.", - "note_is_read_only": "La note est en lecture seule, mais peut être modifiée en cliquant sur un bouton.", - "note_is_always_editable": "La note est toujours modifiable, quelle que soit sa longueur." - }, - "note-map": { - "button-link-map": "Carte des liens", - "button-tree-map": "Carte de l'arborescence" - }, - "tree-context-menu": { - "open-in-a-new-tab": "Ouvrir dans un nouvel onglet Ctrl+Clic", - "open-in-a-new-split": "Ouvrir dans une nouvelle division", - "insert-note-after": "Insérer une note après", - "insert-child-note": "Insérer une note enfant", - "delete": "Supprimer", - "search-in-subtree": "Rechercher dans le sous-arbre", - "hoist-note": "Focus sur cette note", - "unhoist-note": "Désactiver le focus", - "edit-branch-prefix": "Modifier le préfixe de branche", - "advanced": "Avancé", - "expand-subtree": "Développer le sous-arbre", - "collapse-subtree": "Réduire le sous-arbre", - "sort-by": "Trier par...", - "recent-changes-in-subtree": "Modifications récentes du sous-arbre", - "convert-to-attachment": "Convertir en pièce jointe", - "copy-note-path-to-clipboard": "Copier le chemin de la note dans le presse-papiers", - "protect-subtree": "Protéger le sous-arbre", - "unprotect-subtree": "Ne plus protéger le sous-arbre", - "copy-clone": "Copier/cloner", - "clone-to": "Cloner vers...", - "cut": "Couper", - "move-to": "Déplacer vers...", - "paste-into": "Coller dans", - "paste-after": "Coller après", - "duplicate": "Dupliquer", - "export": "Exporter", - "import-into-note": "Importer dans la note", - "apply-bulk-actions": "Appliquer des Actions groupées", - "converted-to-attachments": "Les notes {{count}} ont été converties en pièces jointes.", - "convert-to-attachment-confirm": "Êtes-vous sûr de vouloir convertir les notes sélectionnées en pièces jointes de leurs notes parentes ?" - }, - "shared_info": { - "shared_publicly": "Cette note est partagée publiquement sur", - "shared_locally": "Cette note est partagée localement sur", - "help_link": "Pour obtenir de l'aide, visitez le wiki." - }, - "note_types": { - "text": "Texte", - "code": "Code", - "saved-search": "Recherche enregistrée", - "relation-map": "Carte des relations", - "note-map": "Carte de notes", - "render-note": "Rendu Html", - "mermaid-diagram": "Diagramme Mermaid", - "canvas": "Canevas", - "web-view": "Affichage Web", - "mind-map": "Carte mentale", - "file": "Fichier", - "image": "Image", - "launcher": "Raccourci", - "doc": "Doc", - "widget": "Widget", - "confirm-change": "Il n'est pas recommandé de modifier le type de note lorsque son contenu n'est pas vide. Voulez-vous continuer ?", - "geo-map": "Carte géo", - "beta-feature": "Beta", - "task-list": "Liste de tâches" - }, - "protect_note": { - "toggle-on": "Protéger la note", - "toggle-off": "Déprotéger la note", - "toggle-on-hint": "La note n'est pas protégée, cliquez pour la protéger", - "toggle-off-hint": "La note est protégée, cliquez pour ne plus la protéger" - }, - "shared_switch": { - "shared": "Partagé", - "toggle-on-title": "Partager la note", - "toggle-off-title": "Ne plus partager de la note", - "shared-branch": "Cette note existe uniquement en tant que note partagée, l'annulation du partage la supprimerait. Voulez-vous continuer et ainsi supprimer cette note ?", - "inherited": "Il n'est pas possible de ne plus partager cette note, car son partage est défini par héritage d'une note ancêtre." - }, - "template_switch": { - "template": "Modèle", - "toggle-on-hint": "Faire de la note un modèle", - "toggle-off-hint": "Supprimer la note comme modèle" - }, - "open-help-page": "Ouvrir la page d'aide", - "find": { - "case_sensitive": "Sensible à la casse", - "match_words": "Mots exacts", - "find_placeholder": "Chercher dans le texte...", - "replace_placeholder": "Remplacer par...", - "replace": "Remplacer", - "replace_all": "Tout remplacer" - }, - "highlights_list_2": { - "title": "Accentuations", - "options": "Options" - }, - "quick-search": { - "placeholder": "Recherche rapide", - "searching": "Recherche...", - "no-results": "Aucun résultat trouvé", - "more-results": "... et {{number}} autres résultats.", - "show-in-full-search": "Afficher dans la recherche complète" - }, - "note_tree": { - "collapse-title": "Réduire l'arborescence des notes", - "scroll-active-title": "Faire défiler jusqu'à la note active", - "tree-settings-title": "Paramètres de l'arborescence", - "hide-archived-notes": "Masquer les notes archivées", - "automatically-collapse-notes": "Réduire automatiquement les notes", - "automatically-collapse-notes-title": "Les notes seront réduites après une période d'inactivité pour désencombrer l'arborescence.", - "save-changes": "Enregistrer et appliquer les modifications", - "auto-collapsing-notes-after-inactivity": "Réduction automatique des notes après inactivité...", - "saved-search-note-refreshed": "Note de recherche enregistrée actualisée.", - "hoist-this-note-workspace": "Focus cette note (espace de travail)", - "refresh-saved-search-results": "Rafraîchir les résultats de recherche enregistrée", - "create-child-note": "Créer une note enfant", - "unhoist": "Désactiver le focus" - }, - "title_bar_buttons": { - "window-on-top": "Épingler cette fenêtre au premier plan" - }, - "note_detail": { - "could_not_find_typewidget": "Impossible de trouver typeWidget pour le type '{{type}}'" - }, - "note_title": { - "placeholder": "saisir le titre de la note ici..." - }, - "search_result": { - "no_notes_found": "Aucune note n'a été trouvée pour les paramètres de recherche donnés.", - "search_not_executed": "La recherche n'a pas encore été exécutée. Cliquez sur le bouton \"Rechercher\" ci-dessus pour voir les résultats." - }, - "spacer": { - "configure_launchbar": "Configurer la Barre de raccourcis" - }, - "sql_result": { - "no_rows": "Aucune ligne n'a été renvoyée pour cette requête" - }, - "sql_table_schemas": { - "tables": "Tableaux" - }, - "tab_row": { - "close_tab": "Fermer l'onglet", - "add_new_tab": "Ajouter un nouvel onglet", - "close": "Fermer", - "close_other_tabs": "Fermer les autres onglets", - "close_right_tabs": "Fermer les onglets à droite", - "close_all_tabs": "Fermer tous les onglets", - "reopen_last_tab": "Rouvrir le dernier onglet fermé", - "move_tab_to_new_window": "Déplacer cet onglet vers une nouvelle fenêtre", - "copy_tab_to_new_window": "Copier cet onglet dans une nouvelle fenêtre", - "new_tab": "Nouvel onglet" - }, - "toc": { - "table_of_contents": "Table des matières", - "options": "Options" - }, - "watched_file_update_status": { - "file_last_modified": "Le fichier a été modifié pour la dernière fois le .", - "upload_modified_file": "Téléverser le fichier modifié", - "ignore_this_change": "Ignorer ce changement" - }, - "app_context": { - "please_wait_for_save": "Veuillez patienter quelques secondes la fin de la sauvegarde, puis réessayer." - }, - "note_create": { - "duplicated": "La note «{{title}}» a été dupliquée." - }, - "image": { - "copied-to-clipboard": "Une référence à l'image a été copiée dans le presse-papiers. Elle peut être collée dans n'importe quelle note texte.", - "cannot-copy": "Impossible de copier la référence d'image dans le presse-papiers." - }, - "clipboard": { - "cut": "Les note(s) ont été coupées dans le presse-papiers.", - "copied": "Les note(s) ont été coupées dans le presse-papiers." - }, - "entrypoints": { - "note-revision-created": "La version de la note a été créée.", - "note-executed": "Note exécutée.", - "sql-error": "Erreur lors de l'exécution de la requête SQL: {{message}}" - }, - "branches": { - "cannot-move-notes-here": "Impossible de déplacer les notes ici.", - "delete-status": "Etat de la suppression", - "delete-notes-in-progress": "Suppression des notes en cours : {{count}}", - "delete-finished-successfully": "Suppression terminée avec succès.", - "undeleting-notes-in-progress": "Restauration des notes en cours : {{count}}", - "undeleting-notes-finished-successfully": "Restauration des notes terminée avec succès." - }, - "frontend_script_api": { - "async_warning": "Vous passez une fonction asynchrone à `api.runOnBackend()`, ce qui ne fonctionnera probablement pas comme vous le souhaitez.\\n Rendez la fonction synchronisée (en supprimant le mot-clé `async`), ou bien utilisez `api.runAsyncOnBackendWithManualTransactionHandling()`.", - "sync_warning": "Vous passez une fonction synchrone à `api.runAsyncOnBackendWithManualTransactionHandling()`,\\nalors que vous devriez probablement utiliser `api.runOnBackend()` à la place." - }, - "ws": { - "sync-check-failed": "Le test de synchronisation a échoué !", - "consistency-checks-failed": "Les tests de cohérence ont échoué ! Consultez les journaux pour plus de détails.", - "encountered-error": "Erreur \"{{message}}\", consultez la console." - }, - "hoisted_note": { - "confirm_unhoisting": "La note demandée «{{requestedNote}}» est en dehors du sous-arbre de la note focus «{{hoistedNote}}». Le focus doit être désactivé pour accéder à la note. Voulez-vous enlever le focus ?" - }, - "launcher_context_menu": { - "reset_launcher_confirm": "Voulez-vous vraiment réinitialiser \"{{title}}\" ? Toutes les données / paramètres de cette note (et de ses enfants) seront perdus et le raccourci retrouvera son emplacement d'origine.", - "add-note-launcher": "Ajouter un raccourci de note", - "add-script-launcher": "Ajouter un raccourci de script", - "add-custom-widget": "Ajouter un widget personnalisé", - "add-spacer": "Ajouter un séparateur", - "delete": "Supprimer ", - "reset": "Réinitialiser", - "move-to-visible-launchers": "Déplacer vers les raccourcis visibles", - "move-to-available-launchers": "Déplacer vers les raccourcis disponibles", - "duplicate-launcher": "Dupliquer le raccourci " - }, - "editable-text": { - "auto-detect-language": "Détecté automatiquement" - }, - "highlighting": { - "description": "Contrôle la coloration syntaxique des blocs de code à l'intérieur des notes texte, les notes de code ne seront pas affectées.", - "color-scheme": "Jeu de couleurs" - }, - "code_block": { - "word_wrapping": "Saut à la ligne automatique suivant la largeur", - "theme_none": "Pas de coloration syntaxique", - "theme_group_light": "Thèmes clairs", - "theme_group_dark": "Thèmes sombres" - }, - "classic_editor_toolbar": { - "title": "Mise en forme" - }, - "editor": { - "title": "Éditeur" - }, - "editing": { - "editor_type": { - "label": "Barre d'outils d'édition", - "floating": { - "title": "Flottante", - "description": "les outils d'édition apparaissent près du curseur ;" - }, - "fixed": { - "title": "Fixe", - "description": "les outils d'édition apparaissent dans l'onglet \"Mise en forme\"." - }, - "multiline-toolbar": "Afficher la barre d'outils sur plusieurs lignes si elle est trop grande." - } - }, - "electron_context_menu": { - "add-term-to-dictionary": "Ajouter «{{term}}» au dictionnaire", - "cut": "Couper", - "copy": "Copier", - "copy-link": "Copier le lien", - "paste": "Coller", - "paste-as-plain-text": "Coller comme texte brut", - "search_online": "Rechercher «{{term}}» avec {{searchEngine}}" - }, - "image_context_menu": { - "copy_reference_to_clipboard": "Copier la référence dans le presse-papiers", - "copy_image_to_clipboard": "Copier l'image dans le presse-papiers" - }, - "link_context_menu": { - "open_note_in_new_tab": "Ouvrir la note dans un nouvel onglet", - "open_note_in_new_split": "Ouvrir la note dans une nouvelle division", - "open_note_in_new_window": "Ouvrir la note dans une nouvelle fenêtre" - }, - "electron_integration": { - "desktop-application": "Application de bureau", - "native-title-bar": "Barre de titre native", - "native-title-bar-description": "Sous Windows et macOS, désactiver la barre de titre native rend l'application plus compacte. Sous Linux, le maintien de la barre de titre native permet une meilleure intégration avec le reste du système.", - "background-effects": "Activer les effets d'arrière-plan (Windows 11 uniquement)", - "background-effects-description": "L'effet Mica ajoute un fond flou et élégant aux fenêtres de l'application, créant une profondeur et un style moderne.", - "restart-app-button": "Redémarrez l'application pour afficher les modifications", - "zoom-factor": "Facteur de zoom" - }, - "note_autocomplete": { - "search-for": "Rechercher \"{{term}}\"", - "create-note": "Créer et lier une note enfant \"{{term}}\"", - "insert-external-link": "Insérer un lien externe vers \"{{term}}\"", - "clear-text-field": "Effacer le champ de texte", - "show-recent-notes": "Afficher les notes récentes", - "full-text-search": "Recherche dans le texte" - }, - "note_tooltip": { - "note-has-been-deleted": "La note a été supprimée." - }, - "geo-map": { - "create-child-note-title": "Créer une nouvelle note enfant et l'ajouter à la carte", - "create-child-note-instruction": "Cliquez sur la carte pour créer une nouvelle note à cet endroit ou appuyez sur Échap pour la supprimer.", - "unable-to-load-map": "Impossible de charger la carte." - }, - "geo-map-context": { - "open-location": "Ouvrir la position", - "remove-from-map": "Retirer de la carte" - }, - "help-button": { - "title": "Ouvrir la page d'aide correspondante" - }, - "duration": { - "seconds": "Secondes", - "minutes": "Minutes", - "hours": "Heures", - "days": "Jours" - }, - "share": { - "title": "Paramètres de partage", - "redirect_bare_domain": "Rediriger le domaine principal vers la page de partage", - "redirect_bare_domain_description": "Rediriger les utilisateurs anonymes vers la page de partage au lieu d'afficher la connexion", - "show_login_link": "Afficher le lien de connexion dans le thème de partage", - "show_login_link_description": "Ajouter un lien de connexion dans le pied de page de la page de partage", - "check_share_root": "Vérifier l'état du partage de la racine", - "share_root_found": "La note racine du partage '{{noteTitle}}' est prête", - "share_root_not_found": "Aucune note avec le label #shareRoot trouvée", - "share_root_not_shared": "Note '{{noteTitle}}' a le label #shareRoot mais n'est pas partagée" - }, - "time_selector": { - "invalid_input": "La valeur de l'heure saisie n'est pas un nombre valide.", - "minimum_input": "La valeur de temps saisie doit être d'au moins {{minimumSeconds}} secondes." + "about": { + "title": "À propos de Trilium Notes", + "close": "Fermer", + "homepage": "Page d'accueil :", + "app_version": "Version de l'application :", + "db_version": "Version de la base de données :", + "sync_version": "Version de la synchronisation :", + "build_date": "Date du build :", + "build_revision": "Version de build :", + "data_directory": "Répertoire des données :" + }, + "toast": { + "critical-error": { + "title": "Erreur critique", + "message": "Une erreur critique s'est produite et empêche l'application client de démarrer :\n\n{{message}}\n\nCeci est probablement dû à un échec inattendu d'un script. Essayez de démarrer l'application en mode sans échec et de résoudre le problème." + }, + "widget-error": { + "title": "Impossible d'initialiser un widget", + "message-custom": "Le widget personnalisé de la note avec l'ID \"{{id}}\", intitulée \"{{title}}\" n'a pas pu être initialisé en raison de\n\n{{message}}", + "message-unknown": "Le widget inconnu n'a pas pu être initialisé :\n\n{{message}}" + }, + "bundle-error": { + "title": "Echec du chargement d'un script personnalisé", + "message": "Le script de la note avec l'ID \"{{id}}\", intitulé \"{{title}}\" n'a pas pu être exécuté à cause de\n\n{{message}}" } + }, + "add_link": { + "add_link": "Ajouter un lien", + "help_on_links": "Aide sur les liens", + "close": "Fermer", + "note": "Note", + "search_note": "rechercher une note par son nom", + "link_title_mirrors": "le titre du lien reflète le titre actuel de la note", + "link_title_arbitrary": "le titre du lien peut être modifié arbitrairement", + "link_title": "Titre du lien", + "button_add_link": "Ajouter un lien Entrée" + }, + "branch_prefix": { + "edit_branch_prefix": "Modifier le préfixe de branche", + "help_on_tree_prefix": "Aide sur le préfixe de l'arbre", + "close": "Fermer", + "prefix": "Préfixe : ", + "save": "Sauvegarder", + "branch_prefix_saved": "Le préfixe de la branche a été enregistré." + }, + "bulk_actions": { + "bulk_actions": "Actions groupées", + "close": "Fermer", + "affected_notes": "Notes concernées", + "include_descendants": "Inclure les descendants des notes sélectionnées", + "available_actions": "Actions disponibles", + "chosen_actions": "Actions choisies", + "execute_bulk_actions": "Exécuter des Actions groupées", + "bulk_actions_executed": "Les actions groupées ont été exécutées avec succès.", + "none_yet": "Aucune pour l'instant... ajoutez une action en cliquant sur l'une des actions disponibles ci-dessus.", + "labels": "Labels", + "relations": "Relations", + "notes": "Notes", + "other": "Autre" + }, + "clone_to": { + "clone_notes_to": "Cloner les notes dans...", + "close": "Fermer", + "help_on_links": "Aide sur les liens", + "notes_to_clone": "Notes à cloner", + "target_parent_note": "Note parent cible", + "search_for_note_by_its_name": "rechercher une note par son nom", + "cloned_note_prefix_title": "La note clonée sera affichée dans l'arbre des notes avec le préfixe donné", + "prefix_optional": "Préfixe (facultatif)", + "clone_to_selected_note": "Cloner vers la note sélectionnée entrer", + "no_path_to_clone_to": "Aucun chemin vers lequel cloner.", + "note_cloned": "La note \"{{clonedTitle}}\" a été clonée dans \"{{targetTitle}}\"" + }, + "confirm": { + "confirmation": "Confirmation", + "close": "Fermer", + "cancel": "Annuler", + "ok": "OK", + "are_you_sure_remove_note": "Voulez-vous vraiment supprimer la note « {{title}} » de la carte des relations ? ", + "if_you_dont_check": "Si vous ne cochez pas cette case, la note sera seulement supprimée de la carte des relations.", + "also_delete_note": "Supprimer également la note" + }, + "delete_notes": { + "delete_notes_preview": "Supprimer la note", + "close": "Fermer", + "delete_all_clones_description": "Supprimer aussi les clones (peut être annulé dans des modifications récentes)", + "erase_notes_description": "La suppression normale (douce) marque uniquement les notes comme supprimées et elles peuvent être restaurées (dans la boîte de dialogue des Modifications récentes) dans un délai donné. Cocher cette option effacera les notes immédiatement et il ne sera pas possible de les restaurer.", + "erase_notes_warning": "Efface les notes de manière permanente (ne peut pas être annulée), y compris les clones. L'application va être rechargée.", + "notes_to_be_deleted": "Les notes suivantes seront supprimées ({{- noteCount}})", + "no_note_to_delete": "Aucune note ne sera supprimée (uniquement les clones).", + "broken_relations_to_be_deleted": "Les relations suivantes seront rompues et supprimées ({{- relationCount}})", + "cancel": "Annuler", + "ok": "OK", + "deleted_relation_text": "Note {{- note}} (à supprimer) est référencée dans la relation {{- relation}} provenant de {{- source}}." + }, + "export": { + "export_note_title": "Exporter la note", + "close": "Fermer", + "export_type_subtree": "Cette note et tous ses descendants", + "format_html": "HTML - recommandé car il conserve la mise en forme", + "format_html_zip": "HTML dans l'archive ZIP - recommandé car préserve la mise en forme.", + "format_markdown": "Markdown - préserve la majeure partie du formatage.", + "format_opml": "OPML - format d'échange pour les outlineurs, uniquement pour le texte. La mise en forme, les images et les fichiers ne sont pas inclus.", + "opml_version_1": "OPML v1.0 - texte brut uniquement", + "opml_version_2": "OPML v2.0 - HTML également autorisé", + "export_type_single": "Seulement cette note sans ses descendants", + "export": "Exporter", + "choose_export_type": "Choisissez d'abord le type d'export", + "export_status": "Statut d'exportation", + "export_in_progress": "Exportation en cours : {{progressCount}}", + "export_finished_successfully": "L'exportation s'est terminée avec succès.", + "format_pdf": "PDF - pour l'impression ou le partage de documents." + }, + "help": { + "fullDocumentation": "Aide (la documentation complète est disponible en ligne)", + "close": "Fermer", + "noteNavigation": "Navigation dans les notes", + "goUpDown": "HAUT, BAS - aller vers le haut/bas dans la liste des notes", + "collapseExpand": "GAUCHE, DROITE - réduire/développer le nœud", + "notSet": "non défini", + "goBackForwards": "reculer/avancer dans l'historique", + "showJumpToNoteDialog": "afficher la boîte de dialogue \"Aller à la note\"", + "scrollToActiveNote": "faire défiler jusqu'à la note active", + "jumpToParentNote": "Retour arrière - aller à la note parent", + "collapseWholeTree": "réduire tout l'arbre des notes", + "collapseSubTree": "réduire le sous-arbre", + "tabShortcuts": "Raccourcis des onglets", + "newTabNoteLink": "CTRL+clic - (ou clic central de la souris) sur le lien de la note ouvre la note dans un nouvel onglet", + "onlyInDesktop": "Uniquement sur ordinateur (version Electron)", + "openEmptyTab": "ouvrir un onglet vide", + "closeActiveTab": "fermer l'onglet actif", + "activateNextTab": "activer l'onglet suivant", + "activatePreviousTab": "activer l'onglet précédent", + "creatingNotes": "Création de notes", + "createNoteAfter": "créer une nouvelle note après la note active", + "createNoteInto": "créer une nouvelle sous-note dans la note active", + "editBranchPrefix": "modifier le préfixe du clone de note actif", + "movingCloningNotes": "Déplacement / Clonage des notes", + "moveNoteUpDown": "déplacer la note vers le haut/bas dans la liste de notes", + "moveNoteUpHierarchy": "déplacer la note vers le haut dans la hiérarchie", + "multiSelectNote": "sélectionner plusieurs notes au-dessus/au-dessous", + "selectAllNotes": "sélectionner toutes les notes du niveau actuel", + "selectNote": "Shift+clic - sélectionner une note", + "copyNotes": "copier la note active (ou la sélection actuelle) dans le presse-papiers (utilisé pour le clonage)", + "cutNotes": "couper la note actuelle (ou la sélection actuelle) dans le presse-papiers (utilisé pour déplacer les notes)", + "pasteNotes": "coller la ou les notes en tant que sous-note dans la note active (qui est soit déplacée, soit clonée selon qu'elle a été copiée ou coupée dans le presse-papiers)", + "deleteNotes": "supprimer une note / un sous-arbre", + "editingNotes": "Édition des notes", + "editNoteTitle": "dans le volet de l'arborescence, basculera du volet au titre de la note. Presser Entrer à partir du titre de la note basculera vers l’éditeur de texte. Ctrl+. bascule de l'éditeur au volet arborescent.", + "createEditLink": "Ctrl+K - créer/éditer un lien externe", + "createInternalLink": "créer un lien interne", + "followLink": "suivre le lien sous le curseur", + "insertDateTime": "insérer la date et l'heure courante à la position du curseur", + "jumpToTreePane": "passer au volet de l'arborescence et aller jusqu'à la note active", + "markdownAutoformat": "Mise en forme automatique (comme Markdown)", + "headings": "##, ###, #### etc. suivi d'un espace pour les titres", + "bulletList": "* ou - suivi d'un espace pour une liste à puces", + "numberedList": "1. ou 1) suivi d'un espace pour une liste numérotée", + "blockQuote": "commencez une ligne avec > suivi d'un espace pour une citation", + "troubleshooting": "Dépannage", + "reloadFrontend": "recharger l'interface Trilium", + "showDevTools": "afficher les outils de développement", + "showSQLConsole": "afficher la console SQL", + "other": "Autre", + "quickSearch": "aller à la recherche rapide", + "inPageSearch": "recherche sur la page" + }, + "import": { + "importIntoNote": "Importer dans la note", + "close": "Fermer", + "chooseImportFile": "Choisissez le fichier à importer", + "importDescription": "Le contenu du ou des fichiers sélectionnés sera importé en tant que note(s) enfant dans", + "options": "Options", + "safeImportTooltip": "Les fichiers d'exportation Trilium .zip peuvent contenir des scripts exécutables susceptibles de comporter un comportement nuisible. L'importation sécurisée désactivera l'exécution automatique de tous les scripts importés. Décochez \"Importation sécurisée\" uniquement si l'archive importée est censée contenir des scripts exécutables et que vous faites entièrement confiance au contenu du fichier d'importation.", + "safeImport": "Importation sécurisée", + "explodeArchivesTooltip": "Si cette case est cochée, Trilium lira les fichiers .zip, .enex et .opml et créera des notes à partir des fichiers contenus dans ces archives. Si cette case n'est pas cochée, Trilium joindra les archives elles-mêmes à la note.", + "explodeArchives": "Lire le contenu des archives .zip, .enex et .opml.", + "shrinkImagesTooltip": "

Si vous cochez cette option, Trilium tentera de réduire les images importées par mise à l'échelle et optimisation, ce qui peut affecter la qualité de l'image perçue. Si cette case n'est pas cochée, les images seront importées sans modifications.

Cela ne s'applique pas aux importations .zip avec des métadonnées, car on suppose que ces fichiers sont déjà optimisés.

", + "shrinkImages": "Réduire les images", + "textImportedAsText": "Importez HTML, Markdown et TXT sous forme de notes de texte si les métadonnées ne sont pas claires", + "codeImportedAsCode": "Importez des fichiers de code reconnus (par exemple .json) en tant que notes de code si cela n'est pas clair à partir des métadonnées", + "replaceUnderscoresWithSpaces": "Remplacez les tirets bas par des espaces dans les noms de notes importées", + "import": "Importer", + "failed": "Échec de l'importation : {{message}}.", + "html_import_tags": { + "title": "Balises HTML d'importation", + "description": "Configurer quelles balises HTML doivent être préservées lors de l'importation des notes. Les balises qui ne sont pas dans cette liste seront supprimées pendant l'importation. Certaines balises (comme 'script') sont toujours supprimées pour des raisons de sécurité.", + "placeholder": "Saisir les balises HTML, une par ligne", + "reset_button": "Réinitialiser à la liste par défaut" + }, + "import-status": "Statut de l'importation", + "in-progress": "Importation en cours : {{progress}}", + "successful": "Importation terminée avec succès." + }, + "include_note": { + "dialog_title": "Inclure une note", + "close": "Fermer", + "label_note": "Note", + "placeholder_search": "rechercher une note par son nom", + "box_size_prompt": "Taille de la boîte de la note incluse :", + "box_size_small": "petit (~ 10 lignes)", + "box_size_medium": "moyen (~ 30 lignes)", + "box_size_full": "complet (la boîte affiche le texte complet)", + "button_include": "Inclure une note Entrée" + }, + "info": { + "modalTitle": "Message d'information", + "closeButton": "Fermer", + "okButton": "OK" + }, + "jump_to_note": { + "close": "Fermer", + "search_button": "Rechercher dans le texte intégral Ctrl+Entrée" + }, + "markdown_import": { + "dialog_title": "Importation Markdown", + "close": "Fermer", + "modal_body_text": "En raison du bac à sable du navigateur, il n'est pas possible de lire directement le presse-papiers à partir de JavaScript. Veuillez coller le Markdown à importer dans la zone de texte ci-dessous et cliquez sur le bouton Importer", + "import_button": "Importer", + "import_success": "Le contenu Markdown a été importé dans le document." + }, + "move_to": { + "dialog_title": "Déplacer les notes vers...", + "close": "Fermer", + "notes_to_move": "Notes à déplacer", + "target_parent_note": "Note parent cible", + "search_placeholder": "rechercher une note par son nom", + "move_button": "Déplacer vers la note sélectionnée entrer", + "error_no_path": "Aucun chemin vers lequel déplacer.", + "move_success_message": "Les notes sélectionnées ont été déplacées dans " + }, + "note_type_chooser": { + "modal_title": "Choisissez le type de note", + "close": "Fermer", + "modal_body": "Choisissez le type de note/le modèle de la nouvelle note :", + "templates": "Modèles :" + }, + "password_not_set": { + "title": "Le mot de passe n'est pas défini", + "close": "Fermer", + "body1": "Les notes protégées sont cryptées à l'aide d'un mot de passe utilisateur, mais le mot de passe n'a pas encore été défini.", + "body2": "Pour pouvoir protéger les notes, cliquez ici pour ouvrir les Options et définir votre mot de passe." + }, + "prompt": { + "title": "Prompt", + "close": "Fermer", + "ok": "OK entrer", + "defaultTitle": "Prompt" + }, + "protected_session_password": { + "modal_title": "Session protégée", + "help_title": "Aide sur les notes protégées", + "close_label": "Fermer", + "form_label": "Pour procéder à l'action demandée, vous devez démarrer une session protégée en saisissant le mot de passe :", + "start_button": "Démarrer une session protégée entrer" + }, + "recent_changes": { + "title": "Modifications récentes", + "erase_notes_button": "Effacer les notes supprimées maintenant", + "close": "Fermer", + "deleted_notes_message": "Les notes supprimées ont été effacées.", + "no_changes_message": "Aucun changement pour l'instant...", + "undelete_link": "annuler la suppression", + "confirm_undelete": "Voulez-vous restaurer cette note et ses sous-notes ?" + }, + "revisions": { + "note_revisions": "Versions de la note", + "delete_all_revisions": "Supprimer toutes les versions de cette note", + "delete_all_button": "Supprimer toutes les versions", + "help_title": "Aide sur les versions de notes", + "close": "Fermer", + "revision_last_edited": "Cette version a été modifiée pour la dernière fois le {{date}}", + "confirm_delete_all": "Voulez-vous supprimer toutes les versions de cette note ?", + "no_revisions": "Aucune version pour cette note pour l'instant...", + "confirm_restore": "Voulez-vous restaurer cette version ? Le titre et le contenu actuels de la note seront écrasés par cette version.", + "confirm_delete": "Voulez-vous supprimer cette version ?", + "revisions_deleted": "Les versions de notes ont été supprimées.", + "revision_restored": "La version de la note a été restaurée.", + "revision_deleted": "La version de la note a été supprimée.", + "snapshot_interval": "Délai d'enregistrement automatique des versions de notes : {{seconds}}s.", + "maximum_revisions": "Nombre maximal de versions : {{number}}.", + "settings": "Paramètres des versions de notes", + "download_button": "Télécharger", + "mime": "MIME : ", + "file_size": "Taille du fichier :", + "preview": "Aperçu :", + "preview_not_available": "L'aperçu n'est pas disponible pour ce type de note." + }, + "sort_child_notes": { + "sort_children_by": "Trier les enfants par...", + "close": "Fermer", + "sorting_criteria": "Critères de tri", + "title": "titre", + "date_created": "date de création", + "date_modified": "date de modification", + "sorting_direction": "Sens de tri", + "ascending": "ascendant", + "descending": "descendant", + "folders": "Dossiers", + "sort_folders_at_top": "trier les dossiers en haut", + "natural_sort": "Tri naturel", + "sort_with_respect_to_different_character_sorting": "trier en fonction de différentes règles de tri et de classement des caractères dans différentes langues ou régions.", + "natural_sort_language": "Langage de tri naturel", + "the_language_code_for_natural_sort": "Le code de langue pour le tri naturel, par ex. \"zh-CN\" pour le chinois.", + "sort": "Trier Entrée" + }, + "upload_attachments": { + "upload_attachments_to_note": "Téléverser des pièces jointes à la note", + "close": "Fermer", + "choose_files": "Choisir des fichiers", + "files_will_be_uploaded": "Les fichiers seront téléversés sous forme de pièces jointes dans", + "options": "Options", + "shrink_images": "Réduire les images", + "upload": "Téléverser", + "tooltip": "Si vous cochez cette option, Trilium tentera de réduire les images téléversées par mise à l'échelle et optimisation, ce qui peut affecter la qualité de l'image perçue. Si cette case n'est pas cochée, les images seront téléversées sans modifications." + }, + "attribute_detail": { + "attr_detail_title": "Titre détaillé de l'attribut", + "close_button_title": "Annuler les modifications et fermer", + "attr_is_owned_by": "L'attribut appartient à", + "attr_name_title": "Le nom de l'attribut ne peut être composé que de caractères alphanumériques, de deux-points et de tirets bas", + "name": "Nom", + "value": "Valeur", + "target_note_title": "La relation est une liaison nommée entre une note source et une note cible.", + "target_note": "Note cible", + "promoted_title": "L'attribut promu est affiché bien en évidence sur la note.", + "promoted": "Promu", + "promoted_alias_title": "Nom à afficher dans l'interface des attributs promus.", + "promoted_alias": "Alias", + "multiplicity_title": "La multiplicité définit combien d'attributs du même nom peuvent être créés - au maximum 1 ou plus de 1.", + "multiplicity": "Multiplicité", + "single_value": "Valeur unique", + "multi_value": "Valeur multiple", + "label_type_title": "Le type de label aidera Trilium à choisir l'interface appropriée pour saisir la valeur du label.", + "label_type": "Type", + "text": "Texte", + "number": "Nombre", + "boolean": "Booléen", + "date": "Date", + "date_time": "Date et heure", + "time": "Heure", + "url": "URL", + "precision_title": "Nombre de chiffres après la virgule devant être disponible dans l'interface définissant la valeur.", + "precision": "Précision", + "digits": "chiffres", + "inverse_relation_title": "Paramètre optionnel pour définir à la relation inverse de celle actuellement définie. Exemple : Père - Fils sont des relations inverses l'une par rapport à l'autre.", + "inverse_relation": "Relation inverse", + "inheritable_title": "L'attribut hérité sera transmis à tous les descendants dans cet arbre.", + "inheritable": "Héritable", + "save_and_close": "Enregistrer et fermer Ctrl+Entrée", + "delete": "Supprimer", + "related_notes_title": "Autres notes avec ce label", + "more_notes": "Plus de notes", + "label": "Détail du label", + "label_definition": "Détails de la définition du label", + "relation": "Détail de la relation", + "relation_definition": "Détail de la définition de la relation", + "disable_versioning": "désactive la gestion automatique des versions. Utile pour les notes volumineuses mais sans importance - par ex. grandes bibliothèques JS utilisées pour les scripts", + "calendar_root": "indique la note qui doit être utilisée comme racine pour les notes journalières. Une seule note doit être marquée comme telle.", + "archived": "les notes portant ce label ne seront pas visibles par défaut dans les résultats de recherche (ou dans les boîtes de dialogue Aller à, Ajouter un lien, etc.).", + "exclude_from_export": "les notes (avec leurs sous-arbres) ne seront incluses dans aucune exportation de notes", + "run": "définit à quels événements le script doit s'exécuter. Les valeurs possibles sont :\n
    \n
  • frontendStartup : lorsque l'interface Trilium démarre (ou est actualisée), mais pas sur mobile.
  • \n
  • mobileStartup : lorsque l'interface Trilium démarre (ou est actualisée), sur mobile.
  • \n
  • backendStartup : lorsque le backend Trilium démarre
  • \n
  • toutes les heures : exécution une fois par heure. Vous pouvez utiliser le label supplémentaire runAtHour pour spécifier à quelle heure.
  • \n
  • quotidiennement – exécuter une fois par jour
  • \n
", + "run_on_instance": "Définissez quelle instance de Trilium doit exécuter cette note. Par défaut, toutes les instances.", + "run_at_hour": "À quelle heure la note doit-elle s'exécuter. Doit être utilisé avec #run=hourly. Peut être défini plusieurs fois pour plus d'occurrences au cours de la journée.", + "disable_inclusion": "les scripts portant ce label ne seront pas inclus dans l'exécution du script parent.", + "sorted": "conserve les notes enfants triées alphabétiquement selon leur titre", + "sort_direction": "ASC (par défaut) ou DESC", + "sort_folders_first": "Les dossiers (notes avec enfants) doivent être triés en haut", + "top": "conserver la note donnée en haut dans l'arbre de son parent (s'applique uniquement aux parents triés)", + "hide_promoted_attributes": "Masquer les attributs promus sur cette note", + "read_only": "l'éditeur est en mode lecture seule. Fonctionne uniquement pour les notes de texte et de code.", + "auto_read_only_disabled": "les notes textuelles/de code peuvent être automatiquement mises en mode lecture lorsqu'elles sont trop volumineuses. Vous pouvez désactiver ce comportement note par note en ajoutant ce label à la note", + "app_css": "marque les notes CSS qui sont chargées dans l'application Trilium et peuvent ainsi être utilisées pour modifier l'apparence de Trilium.", + "app_theme": "marque les notes CSS qui sont des thèmes Trilium complets et sont donc disponibles dans les options Trilium.", + "app_theme_base": "définir sur \"next\" afin d'utiliser le thème TriliumNext comme base pour un thème personnalisé à la place de l'ancien thème.", + "css_class": "la valeur de ce label est ensuite ajoutée en tant que classe CSS au nœud représentant la note donnée dans l'arborescence. Cela peut être utile pour les thèmes avancés. Peut être utilisé dans les notes modèle.", + "icon_class": "la valeur de ce label est ajoutée en tant que classe CSS à l'icône dans l'arbre, ce qui peut aider à distinguer visuellement les notes dans l'arborescence. Un exemple pourrait être bx bx-home - les icônes sont extraites de boxicons. Peut être utilisé dans les notes modèle.", + "page_size": "nombre d'éléments par page dans la liste de notes", + "custom_request_handler": "voir le Gestionnaire de requêtes personnalisé", + "custom_resource_provider": "voir le Gestionnaire de requêtes personnalisé", + "widget": "indique que cette note est un widget personnalisé qui sera ajouté à l'arbre des composants Trilium", + "workspace": "cette note devient un espace de travail. Le focus sur cette note est facilité", + "workspace_icon_class": "définit l'icône CSS utilisé dans l'onglet lorsque la note est focus", + "workspace_tab_background_color": "Couleur CSS utilisée dans l'onglet lorsque cette note est focus", + "workspace_calendar_root": "Définit la racine du calendrier pour un espace de travail", + "workspace_template": "Cette note apparaîtra dans la sélection des modèles disponibles lors de la création d'une nouvelle note, mais uniquement si un espace de travail contenant ce modèle est focus", + "search_home": "les nouvelles notes de recherche seront créées en tant qu'enfants de cette note", + "workspace_search_home": "de nouvelles notes de recherche seront créées en tant qu'enfants de cette note, lorsqu'une note ancêtre de cet espace de travail est focus", + "inbox": "emplacement par défaut pour les nouvelles notes - lorsque vous créez une note à l'aide du bouton \"nouvelle note\" dans la barre latérale, les notes seront créées en tant que notes enfants dans la note marquée avec le label #inbox.", + "workspace_inbox": "emplacement par défaut des nouvelles notes lorsque le focus est sur une note ancêtre de cet espace de travail", + "sql_console_home": "emplacement par défaut des notes de la console SQL", + "bookmark_folder": "une note avec ce label apparaîtra dans les favoris sous forme de dossier (permettant l'accès à ses notes enfants)", + "share_hidden_from_tree": "cette note est masquée dans l'arbre de navigation de gauche, mais toujours accessible avec son URL", + "share_external_link": "la note fera office de lien vers un site Web externe dans l'arbre partagée", + "share_alias": "définit un alias à l'aide duquel la note sera disponible sous https://your_trilium_host/share/[votre_alias]", + "share_omit_default_css": "le CSS de la page de partage par défaut ne sera pas pris en compte. À utiliser lorsque vous apportez des modifications de style importantes.", + "share_root": "partage cette note à l'adresse racine /share.", + "share_description": "définir le texte à ajouter à la balise méta HTML pour la description", + "share_raw": "la note sera servie dans son format brut, sans wrapper HTML", + "share_disallow_robot_indexing": "interdira l'indexation par robot de cette note via l'en-tête X-Robots-Tag: noindex", + "share_credentials": "exiger des informations d’identification pour accéder à cette note partagée. La valeur devrait être au format « nom d'utilisateur : mot de passe ». N'oubliez pas de rendre cela héritable pour l'appliquer aux notes/images enfants.", + "share_index": "la note avec ce label listera toutes les racines des notes partagées", + "display_relations": "noms des relations délimités par des virgules qui doivent être affichés. Tous les autres seront masqués.", + "hide_relations": "noms de relations délimités par des virgules qui doivent être masqués. Tous les autres seront affichés.", + "title_template": "titre par défaut des notes créées en tant qu'enfants de cette note. La valeur est évaluée sous forme de chaîne JavaScript \n et peut ainsi être enrichi de contenu dynamique via les variables injectées now et parentNote. Exemples :\n \n
    \n
  • Œuvres littéraires de ${parentNote.getLabelValue('authorName')}
  • \n
  • Connectez-vous pour ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n Consultez le wiki avec plus de détails, la documentation sur l'API pour parentNote et maintenant< /a> pour plus de détails.", + "template": "Cette note apparaîtra parmi les modèles disponibles lors de la création d'une nouvelle note", + "toc": "#toc ou #toc=show forcera l'affichage de la table des matières, #toc=hide force qu'elle soit masquée. Si le label n'existe pas, le paramètre global est utilisé", + "color": "définit la couleur de la note dans l'arborescence des notes, les liens, etc. Utilisez n'importe quelle valeur de couleur CSS valide comme « rouge » ou #a13d5f", + "keyboard_shortcut": "Définit un raccourci clavier qui ouvrira immédiatement cette note. Exemple : 'ctrl+alt+e'. Nécessite un rechargement du frontend pour que la modification prenne effet.", + "keep_current_hoisting": "L'ouverture de ce lien ne modifiera pas le focus même si la note n'est pas affichable dans le sous-arbre actuellement focus.", + "execute_button": "Titre du bouton qui exécutera la note de code en cours", + "execute_description": "Description plus longue de la note de code actuelle affichée avec le bouton d'exécution", + "exclude_from_note_map": "Les notes avec ce label seront masquées de la carte des notes", + "new_notes_on_top": "Les nouvelles notes seront créées en haut de la note parent, et non en bas.", + "hide_highlight_widget": "Masquer le widget Important", + "run_on_note_creation": "s'exécute lorsque la note est créée dans le backend. Utilisez cette relation si vous souhaitez exécuter le script pour toutes les notes créées sous un sous-arbre spécifique. Dans ce cas, créez-le sur la note racine du sous-arbre et rendez-la héritable. Une nouvelle note créée dans le sous-arbre (peu importe la profondeur) déclenchera le script.", + "run_on_child_note_creation": "s'exécute lorsqu'une nouvelle note est créée sous la note où cette relation est définie", + "run_on_note_title_change": "s'exécute lorsque le titre de la note est modifié (inclut également la création de notes)", + "run_on_note_content_change": "s'exécute lorsque le contenu de la note est modifié (inclut également la création de notes).", + "run_on_note_change": "s'exécute lorsque la note est modifiée (inclut également la création de notes). N'inclut pas les modifications de contenu", + "run_on_note_deletion": "s'exécute lorsque la note est supprimée", + "run_on_branch_creation": "s'exécute lorsqu'une branche est créée. La branche est un lien entre la note parent et la note enfant. Elle est créée, par exemple, lors du clonage ou du déplacement d'une note.", + "run_on_branch_change": "s'exécute lorsqu'une branche est mise à jour.", + "run_on_branch_deletion": "s'exécute lorsqu'une branche est supprimée La branche est un lien entre la note parent et la note enfant. Elle est supprimée, par exemple, lors du déplacement d'une note (l'ancienne branche/lien est supprimé).", + "run_on_attribute_creation": "s'exécute lorsqu'un nouvel attribut pour la note qui définit cette relation est créé", + "run_on_attribute_change": " s'exécute lorsque l'attribut est modifié d'une note qui définit cette relation. Ceci est également déclenché lorsque l'attribut est supprimé", + "relation_template": "les attributs de la note seront hérités même sans relation parent-enfant, le contenu de la note et son sous-arbre seront transmis aux notes utilisant ce modèle si elles sont vides. Voir la documentation pour plus de détails.", + "inherit": "les attributs de la note seront hérités même sans relation parent-enfant. Voir la relation Modèle pour un comportement similaire. Voir l'héritage des attributs dans la documentation.", + "render_note": "les notes de type \"Rendu HTML\" seront rendues à partir d'une note de code (HTML ou script). Utilisez cette relation pour pointer vers la note de code à afficher", + "widget_relation": "la note cible de cette relation sera exécutée et affichée sous forme de widget dans la barre latérale", + "share_css": "Note CSS qui sera injectée dans la page de partage. La note CSS doit également figurer dans le sous-arbre partagé. Pensez également à utiliser « share_hidden_from_tree » et « share_omit_default_css ».", + "share_js": "Note JavaScript qui sera injectée dans la page de partage. La note JS doit également figurer dans le sous-arbre partagé. Pensez à utiliser 'share_hidden_from_tree'.", + "share_template": "Note JavaScript intégrée qui sera utilisée comme modèle pour afficher la note partagée. Revient au modèle par défaut. Pensez à utiliser 'share_hidden_from_tree'.", + "share_favicon": "Favicon de la note à définir dans la page partagée. En règle générale, vous souhaitez le configurer pour partager la racine et le rendre héritable. La note Favicon doit également figurer dans le sous-arbre partagé. Pensez à utiliser 'share_hidden_from_tree'.", + "is_owned_by_note": "appartient à la note", + "other_notes_with_name": "Autres notes portant le nom {{attributeType}} \"{{attributeName}}\"", + "and_more": "... et {{count}} plus.", + "print_landscape": "Lors de l'exportation en PDF, change l'orientation de la page en paysage au lieu de portrait.", + "print_page_size": "Lors de l'exportation en PDF, change la taille de la page. Valeurs supportées : A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger." + }, + "attribute_editor": { + "help_text_body1": "Pour ajouter un label, tapez simplement par ex. #rock, ou si vous souhaitez également ajouter une valeur, tapez par ex. #année = 2020", + "help_text_body2": "Pour la relation, tapez ~author = @ qui devrait afficher une saisie semi-automatique où vous pourrez rechercher la note souhaitée.", + "help_text_body3": "Vous pouvez également ajouter un label et une relation en utilisant le bouton + sur le côté droit.", + "save_attributes": "Enregistrer les attributs ", + "add_a_new_attribute": "Ajouter un nouvel attribut", + "add_new_label": "Ajouter un nouveau label ", + "add_new_relation": "Ajouter une nouvelle relation ", + "add_new_label_definition": "Ajouter une nouvelle définition de label", + "add_new_relation_definition": "Ajouter une nouvelle définition de relation", + "placeholder": "Saisir les labels et les relations ici" + }, + "abstract_bulk_action": { + "remove_this_search_action": "Supprimer cette action dans la recherche" + }, + "execute_script": { + "execute_script": "Exécuter le script", + "help_text": "Vous pouvez exécuter des scripts simples sur les notes correspondantes.", + "example_1": "Par exemple pour ajouter une chaîne de caractères au titre d'une note, utilisez ce petit script :", + "example_2": "Un exemple plus complexe serait de supprimer tous les attributs de la note correspondante :" + }, + "add_label": { + "add_label": "Ajouter un label", + "label_name_placeholder": "nom du label", + "label_name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", + "to_value": "modifié par", + "new_value_placeholder": "nouvelle valeur", + "help_text": "Pour toutes les notes correspondantes :", + "help_text_item1": "créer un label donné si la note ne le possède pas encore", + "help_text_item2": "ou modifier la valeur du label existant", + "help_text_note": "Vous pouvez également appeler cette méthode sans valeur : dans ce cas le label sera attribué sans valeur à la note." + }, + "delete_label": { + "delete_label": "Supprimer le label", + "label_name_placeholder": "nom du label", + "label_name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." + }, + "rename_label": { + "rename_label": "Renommer le label", + "rename_label_from": "Renommer le label de", + "old_name_placeholder": "ancien nom", + "to": "En", + "new_name_placeholder": "nouveau nom", + "name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." + }, + "update_label_value": { + "update_label_value": "Mettre à jour la valeur du label", + "label_name_placeholder": "nom du label", + "label_name_title": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", + "to_value": "modifié par", + "new_value_placeholder": "nouvelle valeur", + "help_text": "Pour toutes les notes correspondantes, modifier la valeur du label.", + "help_text_note": "Vous pouvez également appeler cette méthode sans valeur, dans ce cas le label sera attribué à la note sans valeur." + }, + "delete_note": { + "delete_note": "Supprimer la note", + "delete_matched_notes": "Supprimer les notes correspondantes", + "delete_matched_notes_description": "Cela supprimera les notes correspondantes.", + "undelete_notes_instruction": "Après la suppression, il est possible de les restaurer à partir de la boîte de dialogue Modifications récentes.", + "erase_notes_instruction": "Pour effacer les notes définitivement, vous pouvez aller après la suppression dans Options -> Autre et cliquer sur le bouton \"Effacer les notes supprimées maintenant\"." + }, + "delete_revisions": { + "delete_note_revisions": "Supprimer les versions de notes", + "all_past_note_revisions": "Toutes les versions de notes antérieures des notes correspondantes seront supprimées. La note elle-même sera entièrement préservée. En d’autres termes, l’historique de la note sera supprimé." + }, + "move_note": { + "move_note": "Déplacer la note", + "to": "vers", + "target_parent_note": "note parent cible", + "on_all_matched_notes": "Pour toutes les notes correspondantes", + "move_note_new_parent": "déplacer la note vers le nouveau parent si la note n'a qu'un seul parent (c.-à-d. l'ancienne branche est supprimée et une nouvelle branche est créée dans le nouveau parent)", + "clone_note_new_parent": "cloner la note vers le nouveau parent si la note a plusieurs clones/branches (il n'est pas clair quelle branche doit être supprimée)", + "nothing_will_happen": "rien ne se passera si la note ne peut pas être déplacée vers la note cible (cela créerait une boucle dans l'arborescence)" + }, + "rename_note": { + "rename_note": "Renommer la note", + "rename_note_title_to": "Renommer le titre de la note en", + "new_note_title": "nouveau titre de note", + "click_help_icon": "Cliquez sur l'icône d'aide à droite pour voir toutes les options", + "evaluated_as_js_string": "La valeur donnée est évaluée comme une chaîne JavaScript et peut ainsi être enrichie de contenu dynamique via la variable note injectée (la note étant renommée). Exemples :", + "example_note": "Note - toutes les notes correspondantes sont renommées « Note »", + "example_new_title": "NOUVEAU : ${note.title} : les titres des notes correspondantes sont préfixés par \"NOUVEAU : \"", + "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')} : ${note.title} : les notes correspondantes sont précédées du mois et de la date de création de la note", + "api_docs": "Consultez la documentation de l'API pour la note et ses propriétés dateCreatedObj / utcDateCreatedObj pour plus de détails." + }, + "add_relation": { + "add_relation": "Ajouter une relation", + "relation_name": "nom de la relation", + "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", + "to": "vers", + "target_note": "note cible", + "create_relation_on_all_matched_notes": "Pour toutes les notes correspondantes, créer une relation donnée." + }, + "delete_relation": { + "delete_relation": "Supprimer la relation", + "relation_name": "nom de la relation", + "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." + }, + "rename_relation": { + "rename_relation": "Renommer la relation", + "rename_relation_from": "Renommer la relation de", + "old_name": "ancien nom", + "to": "En", + "new_name": "nouveau nom", + "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points." + }, + "update_relation_target": { + "update_relation": "Mettre à jour la relation", + "relation_name": "nom de la relation", + "allowed_characters": "Les caractères autorisés sont : caractères alphanumériques, les tirets bas et les deux-points.", + "to": "vers", + "target_note": "note cible", + "on_all_matched_notes": "Pour toutes les notes correspondantes", + "change_target_note": "ou changer la note cible de la relation existante", + "update_relation_target": "Mettre à jour la cible de la relation" + }, + "attachments_actions": { + "open_externally": "Ouverture externe", + "open_externally_title": "Le fichier sera ouvert dans une application externe et les modifications apportées seront surveillées. \nVous pourrez ensuite téléverser la version modifiée dans Trilium.", + "open_custom": "Ouvrir avec", + "open_custom_title": "Le fichier sera ouvert dans une application externe et surveillé pour les modifications. Vous pourrez ensuite téléverser la version modifiée sur Trilium.", + "download": "Télécharger", + "rename_attachment": "Renommer la pièce jointe", + "upload_new_revision": "Téléverser une nouvelle version", + "copy_link_to_clipboard": "Copier le lien dans le presse-papier", + "convert_attachment_into_note": "Convertir la pièce jointe en note", + "delete_attachment": "Supprimer la pièce jointe", + "upload_success": "Une nouvelle version de pièce jointe a été téléversée.", + "upload_failed": "Le téléversement d'une nouvelle version de pièce jointe a échoué.", + "open_externally_detail_page": "L'ouverture externe d'une pièce jointe n''est disponible qu'à partir de la page de détails. Veuillez d'abord cliquer sur les détails de la pièce jointe et répéter l'opération.", + "open_custom_client_only": "L'option \"Ouvrir avec\" des pièces jointes n'est disponible que dans la version bureau de Trilium.", + "delete_confirm": "Êtes-vous sûr de vouloir supprimer la pièce jointe « {{title}} » ?", + "delete_success": "La pièce jointe « {{title}} » a été supprimée.", + "convert_confirm": "Êtes-vous sûr de vouloir convertir la pièce jointe « {{title}} » en une note distincte ?", + "convert_success": "La pièce jointe « {{title}} » a été convertie en note.", + "enter_new_name": "Veuillez saisir le nom de la nouvelle pièce jointe" + }, + "calendar": { + "mon": "Lun", + "tue": "Mar", + "wed": "Mer", + "thu": "Jeu", + "fri": "Ven", + "sat": "Sam", + "sun": "Dim", + "cannot_find_day_note": "Note journalière introuvable", + "january": "Janvier", + "febuary": "Février", + "march": "Mars", + "april": "Avril", + "may": "Mai", + "june": "Juin", + "july": "Juillet", + "august": "Août", + "september": "Septembre", + "october": "Octobre", + "november": "Novembre", + "december": "Décembre" + }, + "close_pane_button": { + "close_this_pane": "Fermer ce volet" + }, + "create_pane_button": { + "create_new_split": "Créer une nouvelle division" + }, + "edit_button": { + "edit_this_note": "Modifier cette note" + }, + "show_toc_widget_button": { + "show_toc": "Afficher la Table des matières" + }, + "show_highlights_list_widget_button": { + "show_highlights_list": "Afficher la liste des Accentuations" + }, + "global_menu": { + "menu": "Menu", + "options": "Options", + "open_new_window": "Ouvrir une nouvelle fenêtre", + "switch_to_mobile_version": "Passer à la version mobile", + "switch_to_desktop_version": "Passer à la version de bureau", + "zoom": "Zoom", + "toggle_fullscreen": "Basculer en plein écran", + "zoom_out": "Zoom arrière", + "reset_zoom_level": "Réinitialiser le niveau de zoom", + "zoom_in": "Zoomer", + "configure_launchbar": "Configurer la Barre de raccourcis", + "show_shared_notes_subtree": "Afficher le Sous-arbre des Notes Partagées", + "advanced": "Avancé", + "open_dev_tools": "Ouvrir les Outils de dév", + "open_sql_console": "Ouvrir la Console SQL", + "open_sql_console_history": "Ouvrir l'Historique de la console SQL", + "open_search_history": "Ouvrir l'Historique de recherche", + "show_backend_log": "Afficher le Journal back-end", + "reload_hint": "Recharger l'application peut aider à résoudre certains problèmes visuels sans redémarrer l'application.", + "reload_frontend": "Recharger l'interface", + "show_hidden_subtree": "Afficher le Sous-arbre caché", + "show_help": "Afficher l'aide", + "about": "À propos de Trilium Notes", + "logout": "Déconnexion", + "show-cheatsheet": "Afficher l'aide rapide", + "toggle-zen-mode": "Zen Mode" + }, + "zen_mode": { + "button_exit": "Sortir du Zen mode" + }, + "sync_status": { + "unknown": "

Le statut de la synchronisation sera connu à la prochaine tentative de synchronisation.

Cliquez pour déclencher la synchronisation maintenant.

", + "connected_with_changes": "

Connecté au serveur de synchronisation.
Il reste quelques modifications à synchroniser.

Cliquez pour déclencher la synchronisation.

", + "connected_no_changes": "

Connecté au serveur de synchronisation.
Toutes les modifications ont déjà été synchronisées.

Cliquez pour déclencher la synchronisation.

", + "disconnected_with_changes": "

La connexion au serveur de synchronisation a échoué.
Il reste encore des modifications à synchroniser.

Cliquez pour déclencher la synchronisation.

", + "disconnected_no_changes": "

La connexion au serveur de synchronisation a échoué.
Il reste encore des modifications à synchroniser.

Cliquez pour déclencher la synchronisation.

", + "in_progress": "La synchronisation avec le serveur est en cours." + }, + "left_pane_toggle": { + "show_panel": "Afficher le panneau", + "hide_panel": "Masquer le panneau" + }, + "move_pane_button": { + "move_left": "Déplacer vers la gauche", + "move_right": "Déplacer à droite" + }, + "note_actions": { + "convert_into_attachment": "Convertir en pièce jointe", + "re_render_note": "Re-rendre la note", + "search_in_note": "Rechercher dans la note", + "note_source": "Code source", + "note_attachments": "Pièces jointes", + "open_note_externally": "Ouverture externe", + "open_note_externally_title": "Le fichier sera ouvert dans une application externe et les modifications apportées seront surveillées. Vous pourrez ensuite téléverser la version modifiée dans Trilium.", + "open_note_custom": "Ouvrir la note avec", + "import_files": "Importer des fichiers", + "export_note": "Exporter la note", + "delete_note": "Supprimer la note", + "print_note": "Imprimer la note", + "save_revision": "Enregistrer la version", + "convert_into_attachment_failed": "La conversion de la note '{{title}}' a échoué.", + "convert_into_attachment_successful": "La note '{{title}}' a été convertie en pièce jointe.", + "convert_into_attachment_prompt": "Êtes-vous sûr de vouloir convertir la note '{{title}}' en une pièce jointe de la note parente ?", + "print_pdf": "Exporter en PDF..." + }, + "onclick_button": { + "no_click_handler": "Le widget bouton '{{componentId}}' n'a pas de gestionnaire de clic défini" + }, + "protected_session_status": { + "active": "La session protégée est active. Cliquez pour quitter la session protégée.", + "inactive": "Cliquez pour accéder à une session protégée" + }, + "revisions_button": { + "note_revisions": "Versions des Notes" + }, + "update_available": { + "update_available": "Mise à jour disponible" + }, + "note_launcher": { + "this_launcher_doesnt_define_target_note": "Ce raccourci ne définit pas de note cible." + }, + "code_buttons": { + "execute_button_title": "Exécuter le script", + "trilium_api_docs_button_title": "Ouvrir la documentation de l'API Trilium", + "save_to_note_button_title": "Enregistrer dans la note", + "opening_api_docs_message": "Ouverture de la documentation de l'API...", + "sql_console_saved_message": "La note de la console SQL a été enregistrée dans {{note_path}}" + }, + "copy_image_reference_button": { + "button_title": "Copier la référence de l'image dans le presse-papiers, peut être collée dans une note textuelle." + }, + "hide_floating_buttons_button": { + "button_title": "Masquer les boutons" + }, + "show_floating_buttons_button": { + "button_title": "Afficher les boutons" + }, + "svg_export_button": { + "button_title": "Exporter le diagramme au format SVG" + }, + "relation_map_buttons": { + "create_child_note_title": "Créer une nouvelle note enfant et l'ajouter à cette carte de relation", + "reset_pan_zoom_title": "Réinitialiser le panoramique et le zoom aux coordonnées et à la position initiales", + "zoom_in_title": "Zoomer", + "zoom_out_title": "Zoom arrière" + }, + "zpetne_odkazy": { + "backlink": "{{count}} Lien inverse", + "backlinks": "{{count}} Liens inverses", + "relation": "relation" + }, + "mobile_detail_menu": { + "insert_child_note": "Insérer une note enfant", + "delete_this_note": "Supprimer cette note", + "error_cannot_get_branch_id": "Impossible d'obtenir branchId pour notePath '{{notePath}}'", + "error_unrecognized_command": "Commande non reconnue {{command}}" + }, + "note_icon": { + "change_note_icon": "Changer l'icône de note", + "category": "Catégorie :", + "search": "Recherche :", + "reset-default": "Réinitialiser l'icône par défaut" + }, + "basic_properties": { + "note_type": "Type de note", + "editable": "Modifiable", + "basic_properties": "Propriétés de base" + }, + "book_properties": { + "view_type": "Type d'affichage", + "grid": "Grille", + "list": "Liste", + "collapse_all_notes": "Réduire toutes les notes", + "expand_all_children": "Développer tous les enfants", + "collapse": "Réduire", + "expand": "Développer", + "invalid_view_type": "Type de vue non valide '{{type}}'", + "calendar": "Calendrier" + }, + "edited_notes": { + "no_edited_notes_found": "Aucune note modifiée ce jour-là...", + "title": "Notes modifiées", + "deleted": "(supprimé)" + }, + "file_properties": { + "note_id": "Identifiant de la note", + "original_file_name": "Nom du fichier d'origine", + "file_type": "Type de fichier", + "file_size": "Taille du fichier", + "download": "Télécharger", + "open": "Ouvrir", + "upload_new_revision": "Téléverser une nouvelle version", + "upload_success": "Une nouvelle version de fichier a été téléversée.", + "upload_failed": "Le téléversement d'une nouvelle version de fichier a échoué.", + "title": "Fichier" + }, + "image_properties": { + "original_file_name": "Nom du fichier d'origine", + "file_type": "Type de fichier", + "file_size": "Taille du fichier", + "download": "Télécharger", + "open": "Ouvrir", + "copy_reference_to_clipboard": "Copier la référence dans le presse-papiers", + "upload_new_revision": "Téléverser une nouvelle version", + "upload_success": "Une nouvelle version d'image a été téléversée.", + "upload_failed": "Échec de l'importation d'une nouvelle version d'image : {{message}}", + "title": "Image" + }, + "inherited_attribute_list": { + "title": "Attributs hérités", + "no_inherited_attributes": "Aucun attribut hérité." + }, + "note_info_widget": { + "note_id": "Identifiant de la note", + "created": "Créé", + "modified": "Modifié", + "type": "Type", + "note_size": "Taille de la note", + "note_size_info": "La taille de la note fournit une estimation approximative des besoins de stockage pour cette note. Il prend en compte le contenu de la note et de ses versions.", + "calculate": "calculer", + "subtree_size": "(taille du sous-arbre : {{size}} pour {{count}} notes)", + "title": "Infos sur la Note" + }, + "note_map": { + "open_full": "Développer au maximum", + "collapse": "Réduire à la taille normale", + "title": "Carte de la Note", + "fix-nodes": "Réparer les nœuds", + "link-distance": "Distance du lien" + }, + "note_paths": { + "title": "Chemins de la Note", + "clone_button": "Cloner la note vers un nouvel emplacement...", + "intro_placed": "Cette note est située dans les chemins suivants :", + "intro_not_placed": "Cette note n'est pas encore située dans l'arbre des notes.", + "outside_hoisted": "Ce chemin est en dehors de la note focus et vous devrez désactiver le focus.", + "archived": "Archivé", + "search": "Recherche" + }, + "note_properties": { + "this_note_was_originally_taken_from": "Cette note est initialement extraite de :", + "info": "Infos" + }, + "owned_attribute_list": { + "owned_attributes": "Attributs propres" + }, + "promoted_attributes": { + "promoted_attributes": "Attributs promus", + "unset-field-placeholder": "non défini", + "url_placeholder": "http://siteweb...", + "open_external_link": "Ouvrir le lien externe", + "unknown_label_type": "Type de label inconnu '{{type}}'", + "unknown_attribute_type": "Type d'attribut inconnu '{{type}}'", + "add_new_attribute": "Ajouter un nouvel attribut", + "remove_this_attribute": "Supprimer cet attribut" + }, + "script_executor": { + "query": "Requête", + "script": "Script", + "execute_query": "Exécuter la requête", + "execute_script": "Exécuter le script" + }, + "search_definition": { + "add_search_option": "Ajouter une option de recherche :", + "search_string": "chaîne de caractères à rechercher", + "search_script": "script de recherche", + "ancestor": "ancêtre", + "fast_search": "recherche rapide", + "fast_search_description": "L'option de recherche rapide désactive la recherche dans le texte intégral du contenu des notes, ce qui peut accélérer la recherche dans les grandes bases de données.", + "include_archived": "inclure les archivées", + "include_archived_notes_description": "Par défaut, les notes archivées sont exclues des résultats de recherche : avec cette option, elles seront incluses.", + "order_by": "trier par", + "limit": "limite", + "limit_description": "Limiter le nombre de résultats", + "debug": "debug", + "debug_description": "Debug imprimera des informations supplémentaires dans la console pour faciliter le débogage des requêtes complexes", + "action": "action", + "search_button": "Recherche Entrée", + "search_execute": "Rechercher et exécuter des actions", + "save_to_note": "Enregistrer dans la note", + "search_parameters": "Paramètres de recherche", + "unknown_search_option": "Option de recherche inconnue {{searchOptionName}}", + "search_note_saved": "La note de recherche a été enregistrée dans {{- notePathTitle}}", + "actions_executed": "Les actions ont été exécutées." + }, + "similar_notes": { + "title": "Notes similaires", + "no_similar_notes_found": "Aucune note similaire trouvée." + }, + "abstract_search_option": { + "remove_this_search_option": "Supprimer cette option de recherche", + "failed_rendering": "Le chargement de l'option de recherche : {{dto}} a échoué avec l'erreur : {{error}} {{stack}}" + }, + "ancestor": { + "label": "Ancêtre", + "placeholder": "rechercher une note par son nom", + "depth_label": "profondeur", + "depth_doesnt_matter": "n'a pas d'importance", + "depth_eq": "est exactement {{count}}", + "direct_children": "enfants directs", + "depth_gt": "est supérieur à {{count}}", + "depth_lt": "est inférieur à {{count}}" + }, + "debug": { + "debug": "Debug", + "debug_info": "Debug imprimera des informations supplémentaires dans la console pour faciliter le débogage des requêtes complexes.", + "access_info": "Pour accéder aux informations de débogage, exécutez la requête et cliquez sur \"Afficher le journal backend\" dans le coin supérieur gauche." + }, + "fast_search": { + "fast_search": "Recherche rapide", + "description": "L'option de recherche rapide désactive la recherche dans le texte intégral du contenu des notes, ce qui peut accélérer la recherche dans les grandes bases de données." + }, + "include_archived_notes": { + "include_archived_notes": "Inclure les notes archivées" + }, + "limit": { + "limit": "Limite", + "take_first_x_results": "Ne prendre que les X premiers résultats spécifiés." + }, + "order_by": { + "order_by": "Trier par", + "relevancy": "Pertinence (par défaut)", + "title": "Titre", + "date_created": "Date de création", + "date_modified": "Date de dernière modification", + "content_size": "Taille de la note", + "content_and_attachments_size": "Taille de la note (pièces jointes comprises)", + "content_and_attachments_and_revisions_size": "Taille de note (pièces jointes et versions comprises)", + "revision_count": "Nombre de versions", + "children_count": "Nombre de notes enfants", + "parent_count": "Nombre de clones", + "owned_label_count": "Nombre de labels", + "owned_relation_count": "Nombre de relations", + "target_relation_count": "Nombre de relations ciblant la note", + "random": "Ordre aléatoire", + "asc": "Ascendant (par défaut)", + "desc": "Descendant" + }, + "search_script": { + "title": "Script de recherche :", + "placeholder": "rechercher une note par son nom", + "description1": "Le script de recherche permet de définir les résultats de la recherche en exécutant un script. Cela offre une flexibilité maximale lorsque la recherche standard ne suffit pas.", + "description2": "Le script de recherche doit être de type \"code\" et sous-type \"backend JavaScript\". Le script doit retourner un tableau de noteIds ou de notes.", + "example_title": "Voir cet exemple :", + "example_code": "// 1. préfiltrage à l'aide de la recherche standard\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. application de critères de recherche personnalisés\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", + "note": "Notez que le script de recherche et la l'expression à rechercher standard ne peuvent pas être combinés." + }, + "search_string": { + "title_column": "Expression à rechercher :", + "placeholder": "mots-clés du texte, #tag = valeur...", + "search_syntax": "Syntaxe de recherche", + "also_see": "voir aussi", + "complete_help": "aide complète sur la syntaxe de recherche", + "full_text_search": "Entrez simplement n'importe quel texte pour rechercher dans le contenu des notes", + "label_abc": "renvoie les notes avec le label abc", + "label_year": "correspond aux notes possédant le label year ayant la valeur 2019", + "label_rock_pop": "correspond aux notes qui ont à la fois les labels rock et pop", + "label_rock_or_pop": "un seul des labels doit être présent", + "label_year_comparison": "comparaison numérique (également >, >=, <).", + "label_date_created": "notes créées le mois dernier", + "error": "Erreur de recherche : {{error}}", + "search_prefix": "Recherche :" + }, + "attachment_detail": { + "open_help_page": "Ouvrir la page d'aide sur les pièces jointes", + "owning_note": "Note d'appartenance : ", + "you_can_also_open": ", vous pouvez également ouvrir ", + "list_of_all_attachments": "Liste de toutes les pièces jointes", + "attachment_deleted": "Cette pièce jointe a été supprimée." + }, + "attachment_list": { + "open_help_page": "Ouvrir la page d'aide à propos des pièces jointes", + "owning_note": "Note d'appartenance : ", + "upload_attachments": "Téléverser des pièces jointes", + "no_attachments": "Cette note ne contient aucune pièce jointe." + }, + "book": { + "no_children_help": "Cette note de type Livre n'a aucune note enfant, donc il n'y a rien à afficher. Consultez le wiki pour plus de détails." + }, + "editable_code": { + "placeholder": "Saisir le contenu de votre note de code ici..." + }, + "editable_text": { + "placeholder": "Saisir le contenu de votre note ici..." + }, + "empty": { + "open_note_instruction": "Ouvrez une note en tapant son titre dans la zone ci-dessous ou choisissez une note dans l'arborescence.", + "search_placeholder": "rechercher une note par son nom", + "enter_workspace": "Entrez dans l'espace de travail {{title}}" + }, + "file": { + "file_preview_not_available": "L'aperçu du fichier n'est pas disponible pour ce format de fichier.", + "too_big": "L'aperçu ne montre que les premiers caractères {{maxNumChars}} du fichier pour des raisons de performance. Téléchargez le fichier et ouvrez-le en dehors de Trilium pour voir tout le contenu." + }, + "protected_session": { + "enter_password_instruction": "L'affichage de la note protégée nécessite la saisie de votre mot de passe :", + "start_session_button": "Démarrer une session protégée Entrée", + "started": "La session protégée a démarré.", + "wrong_password": "Mot de passe incorrect.", + "protecting-finished-successfully": "La protection de la note s'est terminée avec succès.", + "unprotecting-finished-successfully": "La protection de la note a été retirée avec succès.", + "protecting-in-progress": "Protection en cours : {{count}}", + "unprotecting-in-progress-count": "Retrait de la protection en cours : {{count}}", + "protecting-title": "Statut de la protection", + "unprotecting-title": "Statut de la non-protection" + }, + "relation_map": { + "open_in_new_tab": "Ouvrir dans un nouvel onglet", + "remove_note": "Supprimer la note", + "edit_title": "Modifier le titre", + "rename_note": "Renommer la note", + "enter_new_title": "Saisissez le nouveau titre de la note :", + "remove_relation": "Supprimer la relation", + "confirm_remove_relation": "Êtes-vous sûr de vouloir supprimer la relation ?", + "specify_new_relation_name": "Spécifiez le nom de la nouvelle relation (caractères autorisés : alphanumérique, deux-points et tiret-bas.) :", + "connection_exists": "La connexion « {{name}} » entre ces notes existe déjà.", + "start_dragging_relations": "Commencez à faire glisser les relations à partir d'ici et déposez-les sur une autre note.", + "note_not_found": "Note {{noteId}} introuvable !", + "cannot_match_transform": "Correspondance à la transformation : {{transform}} introuvable", + "note_already_in_diagram": "La note \"{{title}}\" est déjà dans le diagramme.", + "enter_title_of_new_note": "Entrez le titre de la nouvelle note", + "default_new_note_title": "nouvelle note", + "click_on_canvas_to_place_new_note": "Cliquez sur le canevas pour placer une nouvelle note" + }, + "render": { + "note_detail_render_help_1": "Cette note d'aide s'affiche car cette note de type Rendu HTML n'a pas la relation requise pour fonctionner correctement.", + "note_detail_render_help_2": "Le type de note Rendu HTML est utilisé pour les scripts. En résumé, vous disposez d'une note de code HTML (éventuellement contenant JavaScript) et cette note affichera le rendu. Pour que cela fonctionne, vous devez définir une relation appelée \"renderNote\" pointant vers la note HTML à rendre." + }, + "web_view": { + "web_view": "Affichage Web", + "embed_websites": "Les notes de type Affichage Web vous permet d'intégrer des sites Web dans Trilium.", + "create_label": "Pour commencer, veuillez créer un label avec l'adresse URL que vous souhaitez intégrer, par ex. #webViewSrc=\"https://www.google.com\"" + }, + "backend_log": { + "refresh": "Rafraîchir" + }, + "consistency_checks": { + "title": "Vérification de la cohérence", + "find_and_fix_button": "Rechercher et résoudre les problèmes de cohérence", + "finding_and_fixing_message": "Recherche et résolution des problèmes de cohérence...", + "issues_fixed_message": "Les problèmes de cohérence devraient être résolus." + }, + "database_anonymization": { + "title": "Anonymisation de la base de données", + "full_anonymization": "Anonymisation complète", + "full_anonymization_description": "Cette action créera une nouvelle copie de la base de données et l'anonymisera (tout le contenu des notes sera supprimé et ne restera que la structure et certaines métadonnées non sensibles) pour la partager en ligne à des fins de débogage sans crainte de fuite de vos données personnelles.", + "save_fully_anonymized_database": "Enregistrer la base de données entièrement anonymisée", + "light_anonymization": "Anonymisation légère", + "light_anonymization_description": "Cette action créera une nouvelle copie de la base de données et y réalisera une légère anonymisation — seul le contenu de toutes les notes sera supprimé, mais les titres et les attributs resteront. De plus, les notes de script frontend/backend JS personnalisées et les widgets personnalisés resteront. Fournit plus de contexte pour déboguer les problèmes.", + "choose_anonymization": "Vous pouvez décider vous-même si vous souhaitez fournir une base de données entièrement ou partiellement anonymisée. Même une base de données entièrement anonymisée est très utile, mais dans certains cas, une base de données partiellement anonymisée peut accélérer le processus d'identification et de correction des bugs.", + "save_lightly_anonymized_database": "Enregistrer la base de données partiellement anonymisée", + "existing_anonymized_databases": "Bases de données anonymisées existantes", + "creating_fully_anonymized_database": "Création d'une base de données entièrement anonymisée...", + "creating_lightly_anonymized_database": "Création d'une base de données partiellement anonymisée...", + "error_creating_anonymized_database": "Impossible de créer une base de données anonymisée, vérifiez les journaux backend pour plus de détails", + "successfully_created_fully_anonymized_database": "Base de données entièrement anonymisée crée dans {{anonymizedFilePath}}", + "successfully_created_lightly_anonymized_database": "Base de données partiellement anonymisée crée dans {{anonymizedFilePath}}", + "no_anonymized_database_yet": "Aucune base de données anonymisée." + }, + "database_integrity_check": { + "title": "Vérification de l'intégrité de la base de données", + "description": "Vérifiera que la base de données n'est pas corrompue au niveau SQLite. Cela peut prendre un certain temps, en fonction de la taille de la base de données.", + "check_button": "Vérifier l'intégrité de la base de données", + "checking_integrity": "Vérification de l'intégrité de la base de données...", + "integrity_check_succeeded": "Le contrôle d'intégrité a réussi - aucun problème détecté.", + "integrity_check_failed": "Échec du contrôle d'intégrité : {{results}}" + }, + "sync": { + "title": "Synchroniser", + "force_full_sync_button": "Forcer la synchronisation complète", + "fill_entity_changes_button": "Remplir les enregistrements de modifications d'entité", + "full_sync_triggered": "Synchronisation complète déclenchée", + "filling_entity_changes": "Remplissage changements de ligne d'entité ...", + "sync_rows_filled_successfully": "Synchronisation avec succès des lignes remplies", + "finished-successfully": "Synchronisation terminée avec succès.", + "failed": "Échec de la synchronisation : {{message}}" + }, + "vacuum_database": { + "title": "Nettoyage la base de donnée", + "description": "Cela reconstruira la base de données, ce qui générera un fichier de base de données généralement plus petit. Aucune donnée ne sera réellement modifiée.", + "button_text": "Nettoyer de la base de donnée", + "vacuuming_database": "Nettoyage de la base de données en cours...", + "database_vacuumed": "La base de données a été nettoyée" + }, + "fonts": { + "theme_defined": "Défini par le thème", + "fonts": "Polices", + "main_font": "Police principale", + "font_family": "Famille de polices", + "size": "Taille", + "note_tree_font": "Police de l'arborescence", + "note_detail_font": "Police du contenu des notes", + "monospace_font": "Police Monospace (code)", + "note_tree_and_detail_font_sizing": "Notez que la taille de la police de l’arborescence et du contenu est relative au paramètre de taille de police principal.", + "not_all_fonts_available": "Toutes les polices répertoriées peuvent ne pas être disponibles sur votre système.", + "apply_font_changes": "Pour appliquer les modifications de police, cliquez sur", + "reload_frontend": "recharger l'interface", + "generic-fonts": "Polices génériques", + "sans-serif-system-fonts": "Polices système sans serif", + "serif-system-fonts": "Polices système Serif", + "monospace-system-fonts": "Polices système monospace", + "handwriting-system-fonts": "Polices système d'écriture manuelle", + "serif": "Serif", + "sans-serif": "Sans sérif", + "monospace": "Monospace", + "system-default": "Thème système" + }, + "max_content_width": { + "title": "Largeur du contenu", + "default_description": "Trilium limite par défaut la largeur maximale du contenu pour améliorer la lisibilité sur des écrans larges.", + "max_width_label": "Largeur maximale du contenu en pixels", + "apply_changes_description": "Pour appliquer les modifications de largeur du contenu, cliquez sur", + "reload_button": "recharger l'interface", + "reload_description": "changements par rapport aux options d'apparence" + }, + "native_title_bar": { + "title": "Barre de titre native (nécessite le redémarrage de l'application)", + "enabled": "activé", + "disabled": "désactivé" + }, + "ribbon": { + "widgets": "Ruban de widgets", + "promoted_attributes_message": "L'onglet du ruban Attributs promus s'ouvrira automatiquement si la note possède des attributs mis en avant", + "edited_notes_message": "L'onglet du ruban Notes modifiées s'ouvrira automatiquement sur les notes journalières" + }, + "theme": { + "title": "Thème de l'application", + "theme_label": "Thème", + "override_theme_fonts_label": "Remplacer les polices du thème", + "auto_theme": "Auto", + "light_theme": "Lumière", + "dark_theme": "Sombre", + "triliumnext": "TriliumNext Beta (Suit le thème du système)", + "triliumnext-light": "TriliumNext Beta (Clair)", + "triliumnext-dark": "TriliumNext Beta (sombre)", + "layout": "Disposition", + "layout-vertical-title": "Vertical", + "layout-horizontal-title": "Horizontal", + "layout-vertical-description": "la barre de raccourcis est à gauche (défaut)", + "layout-horizontal-description": "la barre de raccourcis est sous la barre des onglets, cette-dernière est s'affiche en pleine largeur." + }, + "zoom_factor": { + "title": "Facteur de zoom (version bureau uniquement)", + "description": "Le zoom peut également être contrôlé avec les raccourcis CTRL+- et CTRL+=." + }, + "code_auto_read_only_size": { + "title": "Taille pour la lecture seule automatique", + "description": "La taille pour la lecture seule automatique est le seuil au-delà de laquelle les notes seront affichées en mode lecture seule (pour optimiser les performances).", + "label": "Taille pour la lecture seule automatique (notes de code)" + }, + "code_mime_types": { + "title": "Types MIME disponibles dans la liste déroulante" + }, + "vim_key_bindings": { + "use_vim_keybindings_in_code_notes": "Raccourcis clavier Vim", + "enable_vim_keybindings": "Activer les raccourcis clavier Vim dans les notes de code (pas de mode ex)" + }, + "wrap_lines": { + "wrap_lines_in_code_notes": "Ligne wrappées dans les notes de code", + "enable_line_wrap": "Active le wrapping des lignes (le changement peut nécessiter un rechargement du frontend pour prendre effet)" + }, + "images": { + "images_section_title": "Images", + "download_images_automatically": "Téléchargez automatiquement les images pour une utilisation hors ligne.", + "download_images_description": "Le HTML collé peut contenir des références à des images en ligne, Trilium trouvera ces références et téléchargera les images afin qu'elles soient disponibles hors ligne.", + "enable_image_compression": "Activer la compression des images", + "max_image_dimensions": "Largeur/hauteur maximale d'une image en pixels (l'image sera redimensionnée si elle dépasse ce paramètre).", + "jpeg_quality_description": "Qualité JPEG (10 - pire qualité, 100 - meilleure qualité, 50 - 85 est recommandé)" + }, + "attachment_erasure_timeout": { + "attachment_erasure_timeout": "Délai d'effacement des pièces jointes", + "attachment_auto_deletion_description": "Les pièces jointes sont automatiquement supprimées (et effacées) si elles ne sont plus référencées par leur note après un certain délai.", + "erase_attachments_after": "Effacer les pièces jointes inutilisées après :", + "manual_erasing_description": "Vous pouvez également déclencher l'effacement manuellement (sans tenir compte du délai défini ci-dessus) :", + "erase_unused_attachments_now": "Effacez maintenant les pièces jointes inutilisées", + "unused_attachments_erased": "Les pièces jointes inutilisées ont été effacées." + }, + "network_connections": { + "network_connections_title": "Connexions réseau", + "check_for_updates": "Rechercher automatiquement les mises à jour" + }, + "note_erasure_timeout": { + "note_erasure_timeout_title": "Délai d'effacement des notes", + "note_erasure_description": "Les notes supprimées (et les attributs, versions...) sont seulement marquées comme supprimées et il est possible de les récupérer à partir de la boîte de dialogue Notes récentes. Après un certain temps, les notes supprimées sont « effacées », ce qui signifie que leur contenu n'est plus récupérable. Ce paramètre vous permet de configurer la durée entre la suppression et l'effacement de la note.", + "erase_notes_after": "Effacer les notes après", + "manual_erasing_description": "Vous pouvez également déclencher l'effacement manuellement (sans tenir compte de la durée définie ci-dessus) :", + "erase_deleted_notes_now": "Effacer les notes supprimées maintenant", + "deleted_notes_erased": "Les notes supprimées ont été effacées." + }, + "revisions_snapshot_interval": { + "note_revisions_snapshot_interval_title": "Délai d'enregistrement automatique d'une version de note", + "note_revisions_snapshot_description": "Le délai d'enregistrement automatique des versions de note définit le temps avant la création automatique d'une nouvelle version de note. Consultez le wiki pour plus d'informations.", + "snapshot_time_interval_label": "Délai d'enregistrement automatique de version de note :" + }, + "revisions_snapshot_limit": { + "note_revisions_snapshot_limit_title": "Limite du nombre de versions de note", + "note_revisions_snapshot_limit_description": "La limite du nombre de versions de note désigne le nombre maximum de versions pouvant être enregistrées pour chaque note. -1 signifie aucune limite, 0 signifie supprimer toutes les versions. Vous pouvez définir le nombre maximal de versions pour une seule note avec le label #versioningLimit.", + "snapshot_number_limit_label": "Nombre limite de versions de note :", + "erase_excess_revision_snapshots": "Effacer maintenant les versions en excès", + "erase_excess_revision_snapshots_prompt": "Les versions en excès ont été effacées." + }, + "search_engine": { + "title": "Moteur de recherche", + "custom_search_engine_info": "Le moteur de recherche personnalisé nécessite à la fois la définition d’un nom et d’une URL. Si l’un ou l’autre de ces éléments n’est défini, DuckDuckGo sera utilisé comme moteur de recherche par défaut.", + "predefined_templates_label": "Modèles de moteur de recherche prédéfinis", + "bing": "Bing", + "baidu": "Baidu", + "duckduckgo": "DuckDuckGo", + "google": "Google", + "custom_name_label": "Nom du moteur de recherche personnalisé", + "custom_name_placeholder": "Personnaliser le nom du moteur de recherche", + "custom_url_label": "L'URL du moteur de recherche personnalisé doit inclure {keyword} comme espace réservé pour le terme de recherche.", + "custom_url_placeholder": "Personnaliser l'url du moteur de recherche", + "save_button": "Sauvegarder" + }, + "tray": { + "title": "Barre d'état système", + "enable_tray": "Activer l'icône dans la barre d'état (Trilium doit être redémarré pour que cette modification prenne effet)" + }, + "heading_style": { + "title": "Style de titre", + "plain": "Simple", + "underline": "Souligné", + "markdown": "Style Markdown" + }, + "highlights_list": { + "title": "Accentuations", + "description": "Vous pouvez personnaliser la liste des accentuations affichée dans le panneau de droite :", + "bold": "Texte en gras", + "italic": "Texte en italique", + "underline": "Texte souligné", + "color": "Texte en couleur", + "bg_color": "Texte avec couleur de fond", + "visibility_title": "Visibilité de la Liste des Accentuations", + "visibility_description": "Vous pouvez masquer le widget des accentuations par note en ajoutant un label #hideHighlightWidget.", + "shortcut_info": "Vous pouvez configurer un raccourci clavier pour basculer rapidement vers le volet droit (comprenant les Accentuations) dans Options -> Raccourcis (nom « toggleRightPane »)." + }, + "table_of_contents": { + "title": "Table des matières", + "description": "La table des matières apparaîtra dans les notes textuelles lorsque la note comporte plus d'un nombre défini de titres. Vous pouvez personnaliser ce nombre :", + "disable_info": "Vous pouvez également utiliser cette option pour désactiver la table des matières en définissant un nombre très élevé.", + "shortcut_info": "Vous pouvez configurer un raccourci clavier pour afficher/masquer le volet de droite (y compris la table des matières) dans Options -> Raccourcis (nom « toggleRightPane »)." + }, + "text_auto_read_only_size": { + "title": "Taille automatique en lecture seule", + "description": "La taille automatique des notes en lecture seule est la taille au-delà de laquelle les notes seront affichées en mode lecture seule (pour des raisons de performances).", + "label": "Taille automatique en lecture seule (notes de texte)" + }, + "i18n": { + "title": "Paramètres régionaux", + "language": "Langue", + "first-day-of-the-week": "Premier jour de la semaine", + "sunday": "Dimanche", + "monday": "Lundi" + }, + "backup": { + "automatic_backup": "Sauvegarde automatique", + "automatic_backup_description": "Trilium peut sauvegarder la base de données automatiquement :", + "enable_daily_backup": "Activer la sauvegarde quotidienne", + "enable_weekly_backup": "Activer la sauvegarde hebdomadaire", + "enable_monthly_backup": "Activer la sauvegarde mensuelle", + "backup_recommendation": "Il est recommandé de garder la sauvegarde activée, mais cela peut ralentir le démarrage des applications avec des bases de données volumineuses et/ou des périphériques de stockage lents.", + "backup_now": "Sauvegarder maintenant", + "backup_database_now": "Sauvegarder la base de données maintenant", + "existing_backups": "Sauvegardes existantes", + "date-and-time": "Date & heure", + "path": "Chemin", + "database_backed_up_to": "La base de données a été sauvegardée dans {{backupFilePath}}", + "no_backup_yet": "pas encore de sauvegarde" + }, + "etapi": { + "title": "ETAPI", + "description": "ETAPI est une API REST utilisée pour accéder à l'instance Trilium par programme, sans interface utilisateur.", + "wiki": "wiki", + "openapi_spec": "Spec ETAPI OpenAPI", + "create_token": "Créer un nouveau jeton ETAPI", + "existing_tokens": "Jetons existants", + "no_tokens_yet": "Il n'y a pas encore de jetons. Cliquez sur le bouton ci-dessus pour en créer un.", + "token_name": "Nom du jeton", + "created": "Créé", + "actions": "Actions", + "new_token_title": "Nouveau jeton ETAPI", + "new_token_message": "Veuillez saisir le nom du nouveau jeton", + "default_token_name": "nouveau jeton", + "error_empty_name": "Le nom du jeton ne peut pas être vide", + "token_created_title": "Jeton ETAPI créé", + "token_created_message": "Copiez le jeton créé dans le presse-papiers. Trilium enregistre le jeton haché et c'est la dernière fois que vous le verrez.", + "rename_token": "Renommer ce jeton", + "delete_token": "Supprimer/désactiver ce token", + "rename_token_title": "Renommer le jeton", + "rename_token_message": "Veuillez saisir le nom du nouveau jeton", + "delete_token_confirmation": "Êtes-vous sûr de vouloir supprimer le jeton ETAPI « {{name}} » ?" + }, + "options_widget": { + "options_status": "Statut des options", + "options_change_saved": "Les modifications des options ont été enregistrées." + }, + "password": { + "heading": "Mot de passe", + "alert_message": "Prenez soin de mémoriser votre nouveau mot de passe. Le mot de passe est utilisé pour se connecter à l'interface Web et pour crypter les notes protégées. Si vous oubliez votre mot de passe, toutes vos notes protégées seront définitivement perdues.", + "reset_link": "Cliquez ici pour le réinitialiser.", + "old_password": "Ancien mot de passe", + "new_password": "Nouveau mot de passe", + "new_password_confirmation": "Confirmation du nouveau mot de passe", + "change_password": "Changer le mot de passe", + "protected_session_timeout": "Expiration de la session protégée", + "protected_session_timeout_description": "Le délai d'expiration de la session protégée est une période de temps après laquelle la session protégée est effacée de la mémoire du navigateur. Il est mesuré à partir de la dernière interaction avec des notes protégées. Voir", + "wiki": "wiki", + "for_more_info": "pour plus d'informations.", + "protected_session_timeout_label": "Délai d'expiration de la session protégée :", + "reset_confirmation": "En réinitialisant le mot de passe, vous perdrez à jamais l'accès à toutes vos notes protégées existantes. Voulez-vous vraiment réinitialiser le mot de passe ?", + "reset_success_message": "Le mot de passe a été réinitialisé. Veuillez définir un nouveau mot de passe", + "change_password_heading": "Changer le mot de passe", + "set_password_heading": "Définir le mot de passe", + "set_password": "Définir le mot de passe", + "password_mismatch": "Les nouveaux mots de passe saisis ne sont pas les mêmes.", + "password_changed_success": "Le mot de passe a été modifié. Trilium va redémarrer après avoir appuyé sur OK." + }, + "shortcuts": { + "keyboard_shortcuts": "Raccourcis clavier", + "multiple_shortcuts": "Plusieurs raccourcis pour la même action peuvent être séparés par une virgule.", + "electron_documentation": "Consultez la documentation Electron pour connaître les modificateurs et codes clés disponibles.", + "type_text_to_filter": "Saisir du texte pour filtrer les raccourcis...", + "action_name": "Nom de l'action", + "shortcuts": "Raccourcis", + "default_shortcuts": "Raccourcis par défaut", + "description": "Description", + "reload_app": "Recharger l'application pour appliquer les modifications", + "set_all_to_default": "Réinitialiser aux valeurs par défaut", + "confirm_reset": "Voulez-vous vraiment réinitialiser tous les raccourcis clavier par défaut ?" + }, + "spellcheck": { + "title": "Vérification orthographique", + "description": "Ces options s'appliquent uniquement aux versions de bureau, les navigateurs utiliseront leur propre vérification orthographique native.", + "enable": "Activer la vérification orthographique", + "language_code_label": "Code(s) de langue", + "language_code_placeholder": "par exemple \"fr-FR\", \"en-US\", \"de-AT\"", + "multiple_languages_info": "Plusieurs langues peuvent être séparées par une virgule, par ex. \"fr-FR, en-US, de-DE, cs\". ", + "available_language_codes_label": "Codes de langue disponibles :", + "restart-required": "Les modifications apportées aux options de vérification orthographique prendront effet après le redémarrage de l'application." + }, + "sync_2": { + "config_title": "Configuration de synchronisation", + "server_address": "Adresse de l'instance du serveur", + "timeout": "Délai d'expiration de la synchronisation (millisecondes)", + "proxy_label": "Serveur proxy de synchronisation (facultatif)", + "note": "Note", + "note_description": "Si vous laissez le paramètre de proxy vide, le proxy système sera utilisé (applicable uniquement à la version de bureau/électronique).", + "special_value_description": "Une autre valeur spéciale est noproxy qui oblige à ignorer même le proxy système et respecte NODE_TLS_REJECT_UNAUTHORIZED.", + "save": "Sauvegarder", + "help": "Aide", + "test_title": "Test de synchronisation", + "test_description": "Testera la connexion et la prise de contact avec le serveur de synchronisation. Si le serveur de synchronisation n'est pas initialisé, cela le configurera pour qu'il se synchronise avec le document local.", + "test_button": "Tester la synchronisation", + "handshake_failed": "Échec de la négociation avec le serveur de synchronisation, erreur : {{message}}" + }, + "api_log": { + "close": "Fermer" + }, + "attachment_detail_2": { + "will_be_deleted_in": "Cette pièce jointe sera automatiquement supprimée dans {{time}}", + "will_be_deleted_soon": "Cette pièce jointe sera bientôt supprimée automatiquement", + "deletion_reason": ", car la pièce jointe n'est pas liée dans le contenu de la note. Pour empêcher la suppression, ajoutez à nouveau le lien de la pièce jointe dans le contenu d'une note ou convertissez la pièce jointe en note.", + "role_and_size": "Rôle : {{role}}, Taille : {{size}}", + "link_copied": "Lien de pièce jointe copié dans le presse-papiers.", + "unrecognized_role": "Rôle de pièce jointe « {{role}} » non reconnu." + }, + "bookmark_switch": { + "bookmark": "Favori", + "bookmark_this_note": "Ajouter cette note à vos favoris dans le panneau latéral gauche", + "remove_bookmark": "Supprimer le favori" + }, + "editability_select": { + "auto": "Auto", + "read_only": "Lecture seule", + "always_editable": "Toujours modifiable", + "note_is_editable": "La note est modifiable si elle n'est pas trop longue.", + "note_is_read_only": "La note est en lecture seule, mais peut être modifiée en cliquant sur un bouton.", + "note_is_always_editable": "La note est toujours modifiable, quelle que soit sa longueur." + }, + "note-map": { + "button-link-map": "Carte des liens", + "button-tree-map": "Carte de l'arborescence" + }, + "tree-context-menu": { + "open-in-a-new-tab": "Ouvrir dans un nouvel onglet Ctrl+Clic", + "open-in-a-new-split": "Ouvrir dans une nouvelle division", + "insert-note-after": "Insérer une note après", + "insert-child-note": "Insérer une note enfant", + "delete": "Supprimer", + "search-in-subtree": "Rechercher dans le sous-arbre", + "hoist-note": "Focus sur cette note", + "unhoist-note": "Désactiver le focus", + "edit-branch-prefix": "Modifier le préfixe de branche", + "advanced": "Avancé", + "expand-subtree": "Développer le sous-arbre", + "collapse-subtree": "Réduire le sous-arbre", + "sort-by": "Trier par...", + "recent-changes-in-subtree": "Modifications récentes du sous-arbre", + "convert-to-attachment": "Convertir en pièce jointe", + "copy-note-path-to-clipboard": "Copier le chemin de la note dans le presse-papiers", + "protect-subtree": "Protéger le sous-arbre", + "unprotect-subtree": "Ne plus protéger le sous-arbre", + "copy-clone": "Copier/cloner", + "clone-to": "Cloner vers...", + "cut": "Couper", + "move-to": "Déplacer vers...", + "paste-into": "Coller dans", + "paste-after": "Coller après", + "duplicate": "Dupliquer", + "export": "Exporter", + "import-into-note": "Importer dans la note", + "apply-bulk-actions": "Appliquer des Actions groupées", + "converted-to-attachments": "Les notes {{count}} ont été converties en pièces jointes.", + "convert-to-attachment-confirm": "Êtes-vous sûr de vouloir convertir les notes sélectionnées en pièces jointes de leurs notes parentes ?" + }, + "shared_info": { + "shared_publicly": "Cette note est partagée publiquement sur", + "shared_locally": "Cette note est partagée localement sur", + "help_link": "Pour obtenir de l'aide, visitez le wiki." + }, + "note_types": { + "text": "Texte", + "code": "Code", + "saved-search": "Recherche enregistrée", + "relation-map": "Carte des relations", + "note-map": "Carte de notes", + "render-note": "Rendu Html", + "mermaid-diagram": "Diagramme Mermaid", + "canvas": "Canevas", + "web-view": "Affichage Web", + "mind-map": "Carte mentale", + "file": "Fichier", + "image": "Image", + "launcher": "Raccourci", + "doc": "Doc", + "widget": "Widget", + "confirm-change": "Il n'est pas recommandé de modifier le type de note lorsque son contenu n'est pas vide. Voulez-vous continuer ?", + "geo-map": "Carte géo", + "beta-feature": "Beta", + "task-list": "Liste de tâches" + }, + "protect_note": { + "toggle-on": "Protéger la note", + "toggle-off": "Déprotéger la note", + "toggle-on-hint": "La note n'est pas protégée, cliquez pour la protéger", + "toggle-off-hint": "La note est protégée, cliquez pour ne plus la protéger" + }, + "shared_switch": { + "shared": "Partagé", + "toggle-on-title": "Partager la note", + "toggle-off-title": "Ne plus partager de la note", + "shared-branch": "Cette note existe uniquement en tant que note partagée, l'annulation du partage la supprimerait. Voulez-vous continuer et ainsi supprimer cette note ?", + "inherited": "Il n'est pas possible de ne plus partager cette note, car son partage est défini par héritage d'une note ancêtre." + }, + "template_switch": { + "template": "Modèle", + "toggle-on-hint": "Faire de la note un modèle", + "toggle-off-hint": "Supprimer la note comme modèle" + }, + "open-help-page": "Ouvrir la page d'aide", + "find": { + "case_sensitive": "Sensible à la casse", + "match_words": "Mots exacts", + "find_placeholder": "Chercher dans le texte...", + "replace_placeholder": "Remplacer par...", + "replace": "Remplacer", + "replace_all": "Tout remplacer" + }, + "highlights_list_2": { + "title": "Accentuations", + "options": "Options" + }, + "quick-search": { + "placeholder": "Recherche rapide", + "searching": "Recherche...", + "no-results": "Aucun résultat trouvé", + "more-results": "... et {{number}} autres résultats.", + "show-in-full-search": "Afficher dans la recherche complète" + }, + "note_tree": { + "collapse-title": "Réduire l'arborescence des notes", + "scroll-active-title": "Faire défiler jusqu'à la note active", + "tree-settings-title": "Paramètres de l'arborescence", + "hide-archived-notes": "Masquer les notes archivées", + "automatically-collapse-notes": "Réduire automatiquement les notes", + "automatically-collapse-notes-title": "Les notes seront réduites après une période d'inactivité pour désencombrer l'arborescence.", + "save-changes": "Enregistrer et appliquer les modifications", + "auto-collapsing-notes-after-inactivity": "Réduction automatique des notes après inactivité...", + "saved-search-note-refreshed": "Note de recherche enregistrée actualisée.", + "hoist-this-note-workspace": "Focus cette note (espace de travail)", + "refresh-saved-search-results": "Rafraîchir les résultats de recherche enregistrée", + "create-child-note": "Créer une note enfant", + "unhoist": "Désactiver le focus" + }, + "title_bar_buttons": { + "window-on-top": "Épingler cette fenêtre au premier plan" + }, + "note_detail": { + "could_not_find_typewidget": "Impossible de trouver typeWidget pour le type '{{type}}'" + }, + "note_title": { + "placeholder": "saisir le titre de la note ici..." + }, + "search_result": { + "no_notes_found": "Aucune note n'a été trouvée pour les paramètres de recherche donnés.", + "search_not_executed": "La recherche n'a pas encore été exécutée. Cliquez sur le bouton \"Rechercher\" ci-dessus pour voir les résultats." + }, + "spacer": { + "configure_launchbar": "Configurer la Barre de raccourcis" + }, + "sql_result": { + "no_rows": "Aucune ligne n'a été renvoyée pour cette requête" + }, + "sql_table_schemas": { + "tables": "Tableaux" + }, + "tab_row": { + "close_tab": "Fermer l'onglet", + "add_new_tab": "Ajouter un nouvel onglet", + "close": "Fermer", + "close_other_tabs": "Fermer les autres onglets", + "close_right_tabs": "Fermer les onglets à droite", + "close_all_tabs": "Fermer tous les onglets", + "reopen_last_tab": "Rouvrir le dernier onglet fermé", + "move_tab_to_new_window": "Déplacer cet onglet vers une nouvelle fenêtre", + "copy_tab_to_new_window": "Copier cet onglet dans une nouvelle fenêtre", + "new_tab": "Nouvel onglet" + }, + "toc": { + "table_of_contents": "Table des matières", + "options": "Options" + }, + "watched_file_update_status": { + "file_last_modified": "Le fichier a été modifié pour la dernière fois le .", + "upload_modified_file": "Téléverser le fichier modifié", + "ignore_this_change": "Ignorer ce changement" + }, + "app_context": { + "please_wait_for_save": "Veuillez patienter quelques secondes la fin de la sauvegarde, puis réessayer." + }, + "note_create": { + "duplicated": "La note «{{title}}» a été dupliquée." + }, + "image": { + "copied-to-clipboard": "Une référence à l'image a été copiée dans le presse-papiers. Elle peut être collée dans n'importe quelle note texte.", + "cannot-copy": "Impossible de copier la référence d'image dans le presse-papiers." + }, + "clipboard": { + "cut": "Les note(s) ont été coupées dans le presse-papiers.", + "copied": "Les note(s) ont été coupées dans le presse-papiers." + }, + "entrypoints": { + "note-revision-created": "La version de la note a été créée.", + "note-executed": "Note exécutée.", + "sql-error": "Erreur lors de l'exécution de la requête SQL: {{message}}" + }, + "branches": { + "cannot-move-notes-here": "Impossible de déplacer les notes ici.", + "delete-status": "Etat de la suppression", + "delete-notes-in-progress": "Suppression des notes en cours : {{count}}", + "delete-finished-successfully": "Suppression terminée avec succès.", + "undeleting-notes-in-progress": "Restauration des notes en cours : {{count}}", + "undeleting-notes-finished-successfully": "Restauration des notes terminée avec succès." + }, + "frontend_script_api": { + "async_warning": "Vous passez une fonction asynchrone à `api.runOnBackend()`, ce qui ne fonctionnera probablement pas comme vous le souhaitez.\\n Rendez la fonction synchronisée (en supprimant le mot-clé `async`), ou bien utilisez `api.runAsyncOnBackendWithManualTransactionHandling()`.", + "sync_warning": "Vous passez une fonction synchrone à `api.runAsyncOnBackendWithManualTransactionHandling()`,\\nalors que vous devriez probablement utiliser `api.runOnBackend()` à la place." + }, + "ws": { + "sync-check-failed": "Le test de synchronisation a échoué !", + "consistency-checks-failed": "Les tests de cohérence ont échoué ! Consultez les journaux pour plus de détails.", + "encountered-error": "Erreur \"{{message}}\", consultez la console." + }, + "hoisted_note": { + "confirm_unhoisting": "La note demandée «{{requestedNote}}» est en dehors du sous-arbre de la note focus «{{hoistedNote}}». Le focus doit être désactivé pour accéder à la note. Voulez-vous enlever le focus ?" + }, + "launcher_context_menu": { + "reset_launcher_confirm": "Voulez-vous vraiment réinitialiser \"{{title}}\" ? Toutes les données / paramètres de cette note (et de ses enfants) seront perdus et le raccourci retrouvera son emplacement d'origine.", + "add-note-launcher": "Ajouter un raccourci de note", + "add-script-launcher": "Ajouter un raccourci de script", + "add-custom-widget": "Ajouter un widget personnalisé", + "add-spacer": "Ajouter un séparateur", + "delete": "Supprimer ", + "reset": "Réinitialiser", + "move-to-visible-launchers": "Déplacer vers les raccourcis visibles", + "move-to-available-launchers": "Déplacer vers les raccourcis disponibles", + "duplicate-launcher": "Dupliquer le raccourci " + }, + "editable-text": { + "auto-detect-language": "Détecté automatiquement" + }, + "highlighting": { + "description": "Contrôle la coloration syntaxique des blocs de code à l'intérieur des notes texte, les notes de code ne seront pas affectées.", + "color-scheme": "Jeu de couleurs" + }, + "code_block": { + "word_wrapping": "Saut à la ligne automatique suivant la largeur", + "theme_none": "Pas de coloration syntaxique", + "theme_group_light": "Thèmes clairs", + "theme_group_dark": "Thèmes sombres" + }, + "classic_editor_toolbar": { + "title": "Mise en forme" + }, + "editor": { + "title": "Éditeur" + }, + "editing": { + "editor_type": { + "label": "Barre d'outils d'édition", + "floating": { + "title": "Flottante", + "description": "les outils d'édition apparaissent près du curseur ;" + }, + "fixed": { + "title": "Fixe", + "description": "les outils d'édition apparaissent dans l'onglet \"Mise en forme\"." + }, + "multiline-toolbar": "Afficher la barre d'outils sur plusieurs lignes si elle est trop grande." + } + }, + "electron_context_menu": { + "add-term-to-dictionary": "Ajouter «{{term}}» au dictionnaire", + "cut": "Couper", + "copy": "Copier", + "copy-link": "Copier le lien", + "paste": "Coller", + "paste-as-plain-text": "Coller comme texte brut", + "search_online": "Rechercher «{{term}}» avec {{searchEngine}}" + }, + "image_context_menu": { + "copy_reference_to_clipboard": "Copier la référence dans le presse-papiers", + "copy_image_to_clipboard": "Copier l'image dans le presse-papiers" + }, + "link_context_menu": { + "open_note_in_new_tab": "Ouvrir la note dans un nouvel onglet", + "open_note_in_new_split": "Ouvrir la note dans une nouvelle division", + "open_note_in_new_window": "Ouvrir la note dans une nouvelle fenêtre" + }, + "electron_integration": { + "desktop-application": "Application de bureau", + "native-title-bar": "Barre de titre native", + "native-title-bar-description": "Sous Windows et macOS, désactiver la barre de titre native rend l'application plus compacte. Sous Linux, le maintien de la barre de titre native permet une meilleure intégration avec le reste du système.", + "background-effects": "Activer les effets d'arrière-plan (Windows 11 uniquement)", + "background-effects-description": "L'effet Mica ajoute un fond flou et élégant aux fenêtres de l'application, créant une profondeur et un style moderne.", + "restart-app-button": "Redémarrez l'application pour afficher les modifications", + "zoom-factor": "Facteur de zoom" + }, + "note_autocomplete": { + "search-for": "Rechercher \"{{term}}\"", + "create-note": "Créer et lier une note enfant \"{{term}}\"", + "insert-external-link": "Insérer un lien externe vers \"{{term}}\"", + "clear-text-field": "Effacer le champ de texte", + "show-recent-notes": "Afficher les notes récentes", + "full-text-search": "Recherche dans le texte" + }, + "note_tooltip": { + "note-has-been-deleted": "La note a été supprimée." + }, + "geo-map": { + "create-child-note-title": "Créer une nouvelle note enfant et l'ajouter à la carte", + "create-child-note-instruction": "Cliquez sur la carte pour créer une nouvelle note à cet endroit ou appuyez sur Échap pour la supprimer.", + "unable-to-load-map": "Impossible de charger la carte." + }, + "geo-map-context": { + "open-location": "Ouvrir la position", + "remove-from-map": "Retirer de la carte" + }, + "help-button": { + "title": "Ouvrir la page d'aide correspondante" + }, + "duration": { + "seconds": "Secondes", + "minutes": "Minutes", + "hours": "Heures", + "days": "Jours" + }, + "share": { + "title": "Paramètres de partage", + "redirect_bare_domain": "Rediriger le domaine principal vers la page de partage", + "redirect_bare_domain_description": "Rediriger les utilisateurs anonymes vers la page de partage au lieu d'afficher la connexion", + "show_login_link": "Afficher le lien de connexion dans le thème de partage", + "show_login_link_description": "Ajouter un lien de connexion dans le pied de page de la page de partage", + "check_share_root": "Vérifier l'état du partage de la racine", + "share_root_found": "La note racine du partage '{{noteTitle}}' est prête", + "share_root_not_found": "Aucune note avec le label #shareRoot trouvée", + "share_root_not_shared": "Note '{{noteTitle}}' a le label #shareRoot mais n'est pas partagée" + }, + "time_selector": { + "invalid_input": "La valeur de l'heure saisie n'est pas un nombre valide.", + "minimum_input": "La valeur de temps saisie doit être d'au moins {{minimumSeconds}} secondes." + } } diff --git a/apps/client/src/translations/ro/translation.json b/apps/client/src/translations/ro/translation.json index 657a13256..902f8cf28 100644 --- a/apps/client/src/translations/ro/translation.json +++ b/apps/client/src/translations/ro/translation.json @@ -1,2018 +1,2018 @@ { - "about": { - "title": "Despre Trilium Notes", - "homepage": "Site web:", - "app_version": "Versiune aplicație:", - "db_version": "Versiune bază de date:", - "sync_version": "Versiune sincronizare:", - "build_date": "Data compilării:", - "build_revision": "Revizia compilării:", - "data_directory": "Directorul de date:", - "close": "Închide" - }, - "abstract_bulk_action": { - "remove_this_search_action": "Înlătură acesată acțiune la căutare" - }, - "abstract_search_option": { - "failed_rendering": "Nu s-a putut randa opțiunea de căutare: {{dto}} din cauza: {{error}} {{stack}}", - "remove_this_search_option": "Înlătură acesată acțiune la căutare" - }, - "add_label": { - "add_label": "Adaugă etichetă", - "help_text": "Pentru toate notițele găsite:", - "help_text_item1": "crează eticheta respectivă dacă notița nu are o astfel de etichetă", - "help_text_item2": "sau schimbă valoarea unei etichete existente", - "help_text_note": "Această metodă poate fi apelată și fără valoare, caz în care eticheta va fi atribuită notiței fără o valoare.", - "label_name_placeholder": "denumirea etichetei", - "label_name_title": "Sunt permise doar caractere alfanumerice, underline și două puncte.", - "new_value_placeholder": "valoare nouă", - "to_value": "la valoarea" - }, - "add_link": { - "add_link": "Adaugă legătură", - "close": "Închide", - "help_on_links": "Informații despre legături", - "link_title": "Titlu legătură", - "link_title_arbitrary": "titlul legăturii poate fi schimbat în mod arbitrar", - "link_title_mirrors": "titlul legăturii corespunde titlul curent al notiței", - "note": "Notiță", - "search_note": "căutați notița după nume", - "button_add_link": "Adaugă legătură Enter" - }, - "add_relation": { - "add_relation": "Adaugă relație", - "allowed_characters": "Sunt permise doar caractere alfanumerice, underline și două puncte.", - "create_relation_on_all_matched_notes": "Crează relația pentru toate notițele găsite", - "relation_name": "denumirea relației", - "target_note": "notița destinație", - "to": "către" - }, - "ancestor": { - "depth_doesnt_matter": "nu contează", - "depth_eq": "exact {{count}}", - "depth_gt": "mai mare decât {{count}}", - "depth_label": "adâncime", - "depth_lt": "mai puțin de {{count}}", - "direct_children": "subnotiță directă", - "label": "Părinte", - "placeholder": "căutați notița după nume" - }, - "api_log": { - "close": "Închide" - }, - "attachment_detail": { - "attachment_deleted": "Acest atașament a fost șters.", - "list_of_all_attachments": "Lista tuturor atașamentelor", - "open_help_page": "Deschide instrucțiuni despre atașamente", - "owning_note": "Notița părinte: ", - "you_can_also_open": ", se poate deschide și " - }, - "attachment_detail_2": { - "deletion_reason": ", deoarece nu există o legătură către atașament în conținutul notiței. Pentru a preveni ștergerea, trebuie adăugată înapoi o legătură către atașament în conținut sau atașamentul trebuie convertit în notiță.", - "link_copied": "O legătură către atașament a fost copiată în clipboard.", - "role_and_size": "Rol: {{role}}, dimensiune: {{size}}", - "unrecognized_role": "Rol atașament necunoscut: „{{role}}”.", - "will_be_deleted_in": "Acest atașament va fi șters automat în {{time}}", - "will_be_deleted_soon": "Acest atașament va fi șters automat în curând" - }, - "attachment_erasure_timeout": { - "attachment_auto_deletion_description": "Atașamentele se șterg automat (permanent) dacă nu sunt referențiate de către notița lor părinte după un timp prestabilit de timp.", - "attachment_erasure_timeout": "Perioadă de ștergere a atașamentelor", - "erase_attachments_after": "Erase unused attachments after:", - "erase_unused_attachments_now": "Elimină atașamentele șterse acum", - "manual_erasing_description": "Șterge acum toate atașamentele nefolosite din notițe", - "unused_attachments_erased": "Atașamentele nefolosite au fost șterse." - }, - "attachment_list": { - "no_attachments": "Notița nu are niciun atașament.", - "open_help_page": "Deschide instrucțiuni despre atașamente", - "owning_note": "Notița părinte: ", - "upload_attachments": "Încărcare atașament" - }, - "attachments_actions": { - "convert_attachment_into_note": "Convertește atașamentul în notiță", - "convert_confirm": "Sigur doriți convertirea atașementului „{{title}}” într-o notiță separată?", - "convert_success": "Atașamentul „{{title}}” a fost convertit cu succes într-o notiță.", - "copy_link_to_clipboard": "Copiază legătură în clipboard", - "delete_attachment": "Șterge atașamentul", - "delete_confirm": "Sigur doriți ștergerea atașementului „{{title}}”?", - "delete_success": "Atașamentul „{{title}}” a fost șters.", - "download": "Descarcă", - "enter_new_name": "Introduceți denumirea noului atașament", - "open_custom": "Deschide într-un alt program", - "open_custom_client_only": "Deschiderea atașamentelor într-un alt program este posibilă doar din aplicația de desktop.", - "open_custom_title": "Fișierul va fi deschis într-un alt program și se vor urmări schimbările. Ulterior versiunea modificată a fișierului va fi încărcată înapoi în Trilium.", - "open_externally": "Deschide în afara programului", - "open_externally_detail_page": "Deschiderea externă a atașamentului este disponibilă doar din pagina de detalii, dați clic pe detaliile atașamentului mai întâi și repetați acțiunea.", - "open_externally_title": "Fișierul va fi deschis într-un alt program și se vor urmări schimbările. Ulterior versiunea modificată a fișierului va fi încărcată înapoi în Trilium.", - "rename_attachment": "Redenumește atașamentul", - "upload_failed": "Încărcarea unei noi versiuni ale atașamentului a eșuat.", - "upload_new_revision": "Încarcă o nouă versiune", - "upload_success": "Încărcarea unei noi versiuni ale atașaemntului a avut succes." - }, - "attribute_detail": { - "and_more": "... și încă {{count}}.", - "app_css": "marchează notițe CSS care se încarcă automat în aplicația Trilium și pot fi folosite pentru a-i modifica aspectul.", - "app_theme": "marchează notițe CSS care sunt teme complete ale Trilium și care se regăsesc în setări.", - "archived": "notițele cu această etichetă nu vor fi vizibile în mod implicit în căutări (dar nici în ecranele Sari la notiță, Adăugare legătură, etc.).", - "attr_detail_title": "Detalii despre atribute", - "attr_is_owned_by": "Atributul este deținut de", - "attr_name_title": "Denumirea atributului poate fi compusă doar din caractere alfanumerice, două puncte și underline", - "auto_read_only_disabled": "notițele de tip text sau cod intră automat în mod doar de citire când au o dimensiune prea mare. Acest comportament se poate dezactiva adăugând această etichetă", - "bookmark_folder": "notițele cu această etichetă vor apărea în lista de semne de carte ca un director (permițând acces la notițele din ea)", - "boolean": "Valoare booleană", - "calendar_root": "marchează notița care trebuie folosită ca rădăcină pentru notițele zilnice. Doar o singură notiță ar trebui să fie etichetătă.", - "close_button_title": "Renunță la modificări și închide", - "color": "definește culoarea unei notițe în ierarhia notițelor, legături, etc. Se poate folosi orice culoare CSS precum „red” sau „#a13d5f”", - "css_class": "valoarea acestei etichete este adăugată ca o clasă CSS pentru nodul ce reprezintă notița în ierarhia notițelor. Acest lucru poate fi utilizat pentru personalizare avansată. Poate fi folosită în notițe de tip șablon.", - "custom_request_handler": "a se vedea Custom request handler", - "custom_resource_provider": "a se vedea Custom request handler", - "date": "Dată", - "date_time": "Dată și timp", - "time": "Timp", - "delete": "Șterge", - "digits": "număr de zecimale", - "disable_inclusion": "script-urile cu această etichetă nu vor fi incluse în execuția scriptului părinte.", - "disable_versioning": "dezactivează auto-versionarea. Poate fi utilizat pentru notițe mari dar neimportante precum biblioteci mari de JavaScript utilizate pentru script-uri", - "display_relations": "denumirea relațiilor ce ar trebui să fie afișate, separate prin virgulă. Toate celelalte vor fi ascunse.", - "exclude_from_export": "notițele (împreună cu subnotițele) nu vor fi incluse în exporturile de notițe", - "exclude_from_note_map": "Notițele cu această etichetă vor fi ascunse din Harta notițelor", - "execute_button": "Titlul butonului ce va executa notița curentă de tip cod", - "execute_description": "O descriere mai lungă a notiței curente de tip cod afișată împreună cu butonul de executare", - "hide_highlight_widget": "Ascunde lista de evidențieri", - "hide_promoted_attributes": "Ascunde lista atributelor promovate pentru această notiță", - "hide_relations": "lista denumirilor relațiilor ce trebuie ascunse, delimitate prin virgulă. Toate celelalte vor fi afișate.", - "icon_class": "valoarea acestei etichete este adăugată ca o clasă CSS la iconița notiței din ierarhia notițelor, fapt ce poate ajuta la identificarea vizuală mai rapidă a notițelor. Un exemplu ar fi „bx bx-home” pentru iconițe preluate din boxicons. Poate fi folosită în notițe de tip șablon.", - "inbox": "locația implicită în care vor apărea noile notițe atunci când se crează o noitiță utilizând butonul „Crează notiță” din bara laterală, notițele vor fi create în interiorul notiței cu această etichetă.", - "inherit": "atributele acestei notițe vor fi moștenite chiar dacă nu există o relație părinte-copil între notițe. A se vedea relația de tip șablon pentru un concept similar. De asemenea, a se vedea moștenirea atributelor în documentație.", - "inheritable": "Moștenibilă", - "inheritable_title": "Atributele moștenibile vor fi moștenite de către toți descendenții acestei notițe.", - "inverse_relation": "Relație inversă", - "inverse_relation_title": "Setare opțională pentru a defini relația inversă. Exemplu: Tată - Fiu sunt două relații inverse.", - "is_owned_by_note": "este deținut(ă) de notița", - "keep_current_hoisting": "Deschiderea acestei legături nu va schimba focalizarea chiar dacă notița nu poate fi vizualizată în ierarhia curentă.", - "keyboard_shortcut": "Definește o scurtatură de la tastatură ce va merge direct la această notiță. Exemplu: „ctrl+alt+e”. Necesită reîncărcarea aplicației pentru a avea efect.", - "label": "Detalii despre etichetă", - "label_definition": "Detalii despre definiția unei etichete", - "label_type": "Tip", - "label_type_title": "Tipul acestei etichete va permite Trilium să selecteze interfața corespunzătoare pentru introducerea valorii etichetei.", - "more_notes": "Mai multe notițe", - "multi_value": "Valori multiple", - "multiplicity": "Multiplicitate", - "multiplicity_title": "Multiplicitatea definește câte atribute de același nume se pot crea - maximum 1 sau mai multe decât 1.", - "name": "Nume", - "new_notes_on_top": "Noile notițe vor fi create la începutul notiței părinte, nu la sfârșit.", - "number": "Număr", - "other_notes_with_name": "Alte notițe cu denumirea de {{attributeType}} „{{attributeName}}”", - "page_size": "numărul de elemente per pagină în listarea notițelor", - "precision": "Precizie", - "precision_title": "Câte cifre să fie afișate după virgulă în interfața de configurare a valorii.", - "promoted": "Evidențiată", - "promoted_alias": "Alias", - "promoted_alias_title": "Numele care să fie afișat în interfața de atribute promovate.", - "promoted_title": "Atributele promovate sunt afișate proeminent în notiță.", - "read_only": "editorul este în modul doar în citire. Funcționează doar pentru notițe de tip text sau cod.", - "related_notes_title": "Alte notițe cu acesată etichetă", - "relation": "Detalii despre relație", - "relation_definition": "Detalii despre definiția unei relații", - "relation_template": "atributele notiței vor fi moștenite chiar dacă nu există o relație părinte-copil, conținutul notiței și ierarhia sa vor fi adăugate la notițele-instanță dacă nu este definită. A se consulta documentația pentru mai multe detalii.", - "render_note": "relație ce definește notița (de tip notiță de cod HTML sau script) ce trebuie randată pentru notițele de tip „Randare notiță HTML”", - "run": "definește evenimentele la care să ruleze scriptul. Valori acceptate:\n
    \n
  • frontendStartup - când pornește interfața Trilium (sau este reîncărcată), dar nu pe mobil.
  • \n
  • mobileStartup - când pornește interfața Trilium (sau este reîncărcată), doar pe mobil.
  • \n
  • backendStartup - când pornește serverul Trilium
  • \n
  • hourly - o dată pe oră. Se poate utiliza adițional eticheta runAtHour pentru a specifica ora.
  • \n
  • daily - o dată pe zi
  • \n
", - "run_at_hour": "La ce oră ar trebui să ruleze. Trebuie folosit împreună cu #run=hourly. Poate fi definit de mai multe ori pentru a rula de mai multe ori în cadrul aceleași zile.", - "run_on_attribute_change": "se execută atunci când atributele unei notițe care definește această relație se schimbă. Se apelează și atunci când un atribut este șters", - "run_on_attribute_creation": "se execută atunci când un nou atribut este creat pentru notița care definește această relație", - "run_on_branch_change": "se execută atunci când o ramură este actualizată.", - "run_on_branch_creation": "se execută când o ramură este creată. O ramură este o legătură dintre o notiță părinte și o notiță copil și este creată, spre exemplu, la clonarea sau mutarea unei notițe.", - "run_on_branch_deletion": "se execută când o ramură este ștearsă. O ramură este o legătură dintre o notiță părinte și o notiță copil și este ștearsă, spre exemplu, atunci când o notiță este mutată (ramura/legătura veche este ștearsă).", - "run_on_child_note_creation": "se execută când o nouă notiță este creată sub notița la care este definită relația", - "run_on_instance": "Definește pe ce instanța de Trilium ar trebui să ruleze. Implicit se consideră toate instanțele.", - "run_on_note_change": "se execută când notița este schimbată (inclusiv crearea unei notițe). Nu include schimbări de conținut", - "run_on_note_content_change": "se execută când conținutul unei notițe este schimbat (inclusiv crearea unei notițe).", - "run_on_note_creation": "se execută când o notiță este creată de server. Se poate utiliza această relație atunci când se dorește rularea unui script pentru toate notițele create sub o anumită ierarhie. În acest caz, relația trebuie creată pe notița-rădăcină și marcată drept moștenibilă. Orice notiță creată sub ierarhie (la orice adâncime) va rula script-ul.", - "run_on_note_deletion": "se execută la ștergerea unei notițe", - "run_on_note_title_change": "se execută când titlul unei notițe se schimbă (inclusiv la crearea unei notițe)", - "save_and_close": "Salvează și închide (Ctrl+Enter)", - "search_home": "notițele de căutare vor fi create în cadrul acestei notițe", - "share_alias": "definește un alias ce va fi permite notiței să fie accesată la https://your_trilium_host/share/[alias]", - "share_credentials": "cere credențiale la accesarea acestei notițe partajate. Valoarea trebuie să fie în formatul „username:parolă”. Nu uitați să faceți eticheta moștenibilă pentru a o aplica și la notițele-copil/imagini.", - "share_css": "Notiță de tip CSS ce va fi injectată în pagina de partajare. Notița CSS trebuie să facă și ea parte din ierarhia partajată. Considerați utilizarea și a „share_hidden_from_tree”, respectiv „share_omit_default_css”.", - "share_description": "definește text ce va fi adăugat la eticheta HTML „meta” pentru descriere", - "share_disallow_robot_indexing": "împiedică indexarea conținutului de către roboți utilizând antetul X-Robots-Tag: noindex", - "share_external_link": "notița va funcționa drept o legătură către un site web extern în ierarhia de partajare", - "share_favicon": "Notiță ce conține pictograma favicon pentru a fi setată în paginile partajate. De obicei se poate seta în rădăcina ierarhiei de partajare și se poate face moștenibilă. Notița ce conține favicon-ul trebuie să fie și ea în ierarhia de partajare. Considerați și utilizarea „share_hidden_from_tree”.", - "share_hidden_from_tree": "notița este ascunsă din arborele de navigație din stânga, dar încă este accesibilă prin intermediul unui URL.", - "share_index": "notițele cu această etichetă vor afișa lista tuturor rădăcilor notițelor partajate", - "share_js": "Notiță JavaScript ce va fi injectată în pagina de partajare. Notița respectivă trebuie să fie și ea în ierarhia de partajare. Considerați utilizarea 'share_hidden_from_tree'.", - "share_omit_default_css": "CSS-ul implicit pentru pagina de partajare va fi omis. Se poate folosi atunci când se fac schimbări majore de stil la pagină.", - "share_raw": "notița va fi afișată în formatul ei brut, fără HTML", - "share_root": "marchează notița care este servită pentru rădăcina ”/share”.", - "share_template": "O notiță JavaScript ce va fi folosită drept șablon pentru afișarea notițelor partajate. Implicit se utilizează șablonul original. Considerați utilizarea 'share_hidden_from_tree'.", - "single_value": "Valoare unică", - "sort_direction": "ASC (ascendent, implicit) sau DESC (descendent)", - "sort_folders_first": "Directoarele (notițe cu sub-notițe) vor fi mutate la început", - "sorted": "menține notițele-copil ordonate alfabetic după titlu", - "sql_console_home": "locația implicită pentru notițele de tip consolă SQL", - "target_note": "Notiță țintă", - "target_note_title": "Relația este o conexiune numită dintre o notiță sursă și o notiță țintă.", - "template": "Șablon", - "text": "Text", - "title_template": "titlul implicit al notițelor create în interiorul acestei notițe. Valoarea este evaluată ca un șir de caractere JavaScript\n și poate fi astfel îmbogățită cu un conținut dinamic prin intermediul variabilelow now și parentNote. Exemple:\n \n
    \n
  • Lucrările lui ${parentNote.getLabelValue('autor')}
  • \n
  • Jurnal pentru ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n A se vedea wiki-ul pentru detalii, documentația API pentru parentNote și now pentru mai multe informații", - "toc": "#toc sau #toc=show forțează afișarea tabelei de conținut, #toc=hide forțează ascunderea ei. Dacă eticheta nu există, se utilizează setările globale", - "top": "păstrează notița la începutul listei (se aplică doar pentru notițe sortate automat)", - "url": "URL", - "value": "Valoare", - "widget": "marchează această notiță ca un widget personalizat ce poate fi adăugat la ierarhia de componente ale aplicației", - "widget_relation": "ținta acestei relații va fi executată și randată ca un widget în bara laterală", - "workspace": "marchează această notiță ca un spațiu de lucru ce permite focalizarea rapidă a notițelor", - "workspace_calendar_root": "Definește o rădăcină de calendar pentru un spațiu de lucru", - "workspace_icon_class": "definește clasa de CSS din boxicon ce va fi folosită în tab-urile ce aparțin spațiului de lucru", - "workspace_inbox": "marchează locația implicită în care vor apărea noile notițe atunci când este focalizat spațiul de lucru sau un copil al acestuia", - "workspace_search_home": "notițele de căutare vor fi create sub această notiță", - "workspace_tab_background_color": "Culoare CSS ce va fi folosită în tab-urile ce aparțin spațiului de lucru", - "workspace_template": "Această notița va apărea în lista de șabloane când se crează o nouă notiță, dar doar când spațiul de lucru în care se află notița este focalizat", - "app_theme_base": "setați valoarea la „next” pentru a folosi drept temă de bază „TriliumNext” în loc de cea clasică.", - "print_landscape": "Schimbă orientarea paginii din portret în vedere atunci când se exportă în PDF.", - "print_page_size": "Schimbă dimensiunea paginii când se exportă în PDF. Valori suportate: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger.", - "color_type": "Culoare" - }, - "attribute_editor": { - "add_a_new_attribute": "Adaugă un nou attribut", - "add_new_label": "Adaugă o nouă etichetă ", - "add_new_label_definition": "Adaugă o nouă definiție de etichetă", - "add_new_relation": "Adaugă o nouă relație ", - "add_new_relation_definition": "Adaugă o nouă definiție de relație", - "help_text_body1": "Pentru a adăuga o etichetă doar scrieți, spre exemplu, #piatră sau #an = 2020 dacă se dorește adăugarea unei valori", - "help_text_body2": "Pentru relații, scrieți author = @ ce va afișa o autocompletare pentru identificarea notiței dorite.", - "help_text_body3": "În mod alternativ, se pot adăuga etichete și relații utilizând butonul + din partea dreaptă.", - "save_attributes": "Salvează atributele ", - "placeholder": "Aici puteți introduce etichete și relații" - }, - "backend_log": { - "refresh": "Reîmprospătare" - }, - "backup": { - "automatic_backup": "Copie de siguranță automată", - "automatic_backup_description": "Trilium poate face copii de siguranță ale bazei de date în mod automat:", - "backup_database_now": "Crează o copie a bazei de date acum", - "backup_now": "Crează o copie de siguranță acum", - "backup_recommendation": "Se recomandă a se păstra activată funcția de copii de siguranță, dar acest lucru poate face pornirea aplicației mai lentă pentru baze de date mai mari sau pentru dispozitive de stocare lente.", - "database_backed_up_to": "S-a creat o copie de siguranță a bazei de dată la {{backupFilePath}}", - "enable_daily_backup": "Activează copia de siguranță zilnică", - "enable_monthly_backup": "Activează copia de siguranță lunară", - "enable_weekly_backup": "Activează copia de siguranță săptămânală", - "existing_backups": "Copii de siguranță existente", - "date-and-time": "Data și ora", - "path": "Calea fișierului", - "no_backup_yet": "nu există încă nicio copie de siguranță" - }, - "basic_properties": { - "basic_properties": "Proprietăți de bază", - "editable": "Editabil", - "note_type": "Tipul notiței", - "language": "Limbă" - }, - "book": { - "no_children_help": "Această notiță de tip Carte nu are nicio subnotiță așadar nu este nimic de afișat. Vedeți wiki pentru detalii." - }, - "book_properties": { - "collapse": "Minimizează", - "collapse_all_notes": "Minimizează toate notițele", - "expand": "Expandează", - "expand_all_children": "Expandează toate subnotițele", - "grid": "Grilă", - "invalid_view_type": "Mod de afișare incorect „{{type}}”", - "list": "Listă", - "view_type": "Mod de afișare", - "calendar": "Calendar", - "book_properties": "Proprietăți colecție", - "table": "Tabel", - "geo-map": "Hartă geografică", - "board": "Tablă Kanban" - }, - "bookmark_switch": { - "bookmark": "Semn de carte", - "bookmark_this_note": "Crează un semn de carte către această notiță în panoul din stânga", - "remove_bookmark": "Șterge semnul de carte" - }, - "branch_prefix": { - "branch_prefix_saved": "Prefixul ramurii a fost salvat.", - "close": "Închide", - "edit_branch_prefix": "Editează prefixul ramurii", - "help_on_tree_prefix": "Informații despre prefixe de ierarhie", - "prefix": "Prefix:", - "save": "Salvează" - }, - "bulk_actions": { - "affected_notes": "Notițe afectate", - "available_actions": "Acțiuni disponibile", - "bulk_actions": "Acțiuni în masă", - "bulk_actions_executed": "Acțiunile în masă au fost executate cu succes.", - "chosen_actions": "Acțiuni selectate", - "close": "Închide", - "execute_bulk_actions": "Execută acțiunile în masă", - "include_descendants": "Include descendenții notiței selectate", - "none_yet": "Nicio acțiune... adăugați una printr-un click pe cele disponibile mai jos.", - "labels": "Etichete", - "notes": "Notițe", - "other": "Altele", - "relations": "Relații" - }, - "calendar": { - "april": "Aprilie", - "august": "August", - "cannot_find_day_note": "Nu se poate găsi notița acelei zile", - "december": "Decembrie", - "febuary": "Februarie", - "fri": "Vin", - "january": "Ianuarie", - "july": "Iulie", - "june": "Iunie", - "march": "Martie", - "may": "Mai", - "mon": "Lun", - "november": "Noiembrie", - "october": "Octombrie", - "sat": "Sâm", - "september": "Septembrie", - "sun": "Dum", - "thu": "Joi", - "tue": "Mar", - "wed": "Mie", - "cannot_find_week_note": "Nu s-a putut găsi notița săptămânală" - }, - "clone_to": { - "clone_notes_to": "Clonează notițele către...", - "clone_to_selected_note": "Clonează notița selectată enter", - "cloned_note_prefix_title": "Notița clonată va fi afișată în ierarhia notiței utilizând prefixul dat", - "help_on_links": "Informații despre legături", - "no_path_to_clone_to": "Nicio cale de clonat.", - "note_cloned": "Notița „{{clonedTitle}}” a fost clonată în „{{targetTitle}}”", - "notes_to_clone": "Notițe de clonat", - "prefix_optional": "Prefix (opțional)", - "search_for_note_by_its_name": "căutați notița după nume acesteia", - "target_parent_note": "Notița părinte țintă", - "close": "Închide" - }, - "close_pane_button": { - "close_this_pane": "Închide acest panou" - }, - "code_auto_read_only_size": { - "description": "Marchează pragul în care o notiță de o anumită dimensiune va fi afișată în mod de citire (pentru motive de performanță).", - "label": "Pragul de dimensiune pentru setarea modului de citire automat (la notițe de cod)", - "title": "Pragul de mod de citire automat", - "unit": "caractere" - }, - "code_buttons": { - "execute_button_title": "Execută scriptul", - "opening_api_docs_message": "Se deschide documentația API...", - "save_to_note_button_title": "Salvează în notiță", - "sql_console_saved_message": "Notița consolă SQL a fost salvată în {{note_path}}", - "trilium_api_docs_button_title": "Deschide documentația API pentru Trilium" - }, - "code_mime_types": { - "title": "Tipuri MIME disponibile în meniul derulant" - }, - "confirm": { - "also_delete_note": "Șterge și notița", - "are_you_sure_remove_note": "Doriți ștergerea notiței „{{title}}” din harta de relații?", - "cancel": "Anulează", - "confirmation": "Confirm", - "if_you_dont_check": "Dacă această opțiune nu este bifată, notița va fi ștearsă doar din harta de relații.", - "ok": "OK", - "close": "Închide" - }, - "consistency_checks": { - "find_and_fix_button": "Caută și repară probleme de consistență", - "finding_and_fixing_message": "Se caută și se repară problemele de consistență...", - "issues_fixed_message": "Problemele de consistență ar trebui să fie acum rezolvate.", - "title": "Verificări de consistență" - }, - "copy_image_reference_button": { - "button_title": "Copiază o referință către imagine în clipboard, poate fi inserată într-o notiță text." - }, - "create_pane_button": { - "create_new_split": "Crează o nouă diviziune" - }, - "database_anonymization": { - "choose_anonymization": "Puteți decide dacă oferiți o bază de date complet sau parțial anonimizată. Chiar și bazele de date complet anonimizate pot fi foarte utile, dar în unele cazuri bazele de date parțial anonimizate pot eficientiza procesul de identificare a bug-urilor și repararea acestora.", - "creating_fully_anonymized_database": "Se crează o copie complet anonimizată...", - "creating_lightly_anonymized_database": "Se crează o bază de date parțial anonimizată...", - "error_creating_anonymized_database": "Nu s-a putut crea o bază de date anonimizată, verificați log-urile din server pentru detalii", - "existing_anonymized_databases": "Baze de date anonimizate existente", - "full_anonymization": "Anonimizare completă", - "full_anonymization_description": "Această acțiune va crea o nouă copie a bazei de date și o va anonimiza (se șterge conținutul tuturor notițelor și se menține doar structura și câteva metainformații neconfidențiale) pentru a putea fi partajate online cu scopul de a depana anumite probleme fără a risca expunerea datelor personale.", - "light_anonymization": "Anonimizare parțială", - "light_anonymization_description": "Această acțiune va crea o copie a bazei de date și o va anonimiza parțial - mai exact se va șterge conținutul tuturor notițelor, dar titlurile și atributele vor rămâne. De asemenea, script-urile de front-end sau back-end și widget-urile personalizate vor rămâne și ele. Acest lucru oferă mai mult context pentru a depana probleme.", - "no_anonymized_database_yet": "Încă nu există nicio bază de date anonimizată.", - "save_fully_anonymized_database": "Salvează bază de date complet anonimizată", - "save_lightly_anonymized_database": "Salvează bază de date parțial anonimizată", - "successfully_created_fully_anonymized_database": "S-a creat cu succes o bază de date complet anonimizată în {{anonymizedFilePath}}", - "successfully_created_lightly_anonymized_database": "S-a creat cu succes o bază de date parțial anonimizată în {{anonymizedFilePath}}", - "title": "Bază de dată anonimizată" - }, - "database_integrity_check": { - "check_button": "Verifică integritatea bazei de date", - "checking_integrity": "Se verifică integritatea bazei de date...", - "description": "Se va verifica să nu existe coruperi ale bazei de date la nivelul SQLite. Poate dura ceva timp, în funcție de dimensiunea bazei de date.", - "integrity_check_failed": "Probleme la verificarea integrității: {{results}}", - "integrity_check_succeeded": "Verificarea integrității a fost făcută cu succes și nu a fost identificată nicio problemă.", - "title": "Verificarea integrității bazei de date" - }, - "debug": { - "access_info": "Pentru a accesa informații de depanare, executați interogarea și dați click pe „Afișează logurile din backend” din stânga-sus.", - "debug": "Depanare", - "debug_info": "Modul de depanare va afișa informații adiționale în consolă cu scopul de a ajuta la depanarea interogărilor complexe." - }, - "delete_label": { - "delete_label": "Șterge eticheta", - "label_name_placeholder": "denumirea etichetei", - "label_name_title": "Sunt permise caractere alfanumerice, underline și două puncte." - }, - "delete_note": { - "delete_matched_notes": "Șterge notițele găsite", - "delete_matched_notes_description": "Se vor șterge notițele găsite.", - "delete_note": "Șterge notița", - "erase_notes_instruction": "Pentru a șterge notițele permanent, se poate merge după ștergerea în opțiuni la secțiunea „Altele” și clic pe butonul „Elimină notițele șterse acum”.", - "undelete_notes_instruction": "După ștergere, se pot recupera din ecranul Schimbări recente." - }, - "delete_notes": { - "broken_relations_to_be_deleted": "Următoarele relații vor fi întrerupte și șterse ({{- relationCount}})", - "cancel": "Anulează", - "delete_all_clones_description": "Șterge și toate clonele (se pot recupera în ecranul Schimbări recente)", - "delete_notes_preview": "Previzualizare ștergerea notițelor", - "erase_notes_description": "Ștergerea obișnuită doar marchează notițele ca fiind șterse și pot fi recuperate (în ecranul Schimbări recente) pentru o perioadă de timp. Dacă se bifează această opțiune, notițele vor fi șterse imediat fără posibilitatea de a le recupera.", - "erase_notes_warning": "Șterge notițele permanent (nu se mai pot recupera), incluzând toate clonele. Va forța reîncărcarea aplicației.", - "no_note_to_delete": "Nicio notiță nu va fi ștearsă (doar clonele).", - "notes_to_be_deleted": "Următoarele notițe vor fi șterse ({{- noteCount}})", - "ok": "OK", - "deleted_relation_text": "Notița {{- note}} ce va fi ștearsă este referențiată de relația {{- relation}}, originând din {{- source}}.", - "close": "Închide" - }, - "delete_relation": { - "allowed_characters": "Se permit caractere alfanumerice, underline și două puncte.", - "delete_relation": "Șterge relația", - "relation_name": "denumirea relației" - }, - "delete_revisions": { - "all_past_note_revisions": "Toate reviziile anterioare ale notițelor găsite vor fi șterse. Notița propriu-zisă va fi intactă. În alte cuvinte, istoricul notiței va fi șters.", - "delete_note_revisions": "Șterge toate reviziile notițelor" - }, - "edit_button": { - "edit_this_note": "Editează această notiță" - }, - "editability_select": { - "always_editable": "Întotdeauna editabil", - "auto": "Automat", - "note_is_always_editable": "Notița este întotdeauna editabilă, indiferent de lungimea ei.", - "note_is_editable": "Notița este editabilă atât timp cât nu este prea lungă.", - "note_is_read_only": "Notița este doar pentru citire, poate fi editată prin intermediul unui buton.", - "read_only": "Doar pentru citire" - }, - "editable_code": { - "placeholder": "Scrieți conținutul notiței de cod aici..." - }, - "editable_text": { - "placeholder": "Scrieți conținutul notiței aici..." - }, - "edited_notes": { - "deleted": "(șters)", - "no_edited_notes_found": "Nu sunt încă notițe editate pentru această zi...", - "title": "Notițe editate" - }, - "empty": { - "enter_workspace": "Intrare spațiu de lucru „{{title}}”", - "open_note_instruction": "Deschideți o notiță scriind denumirea ei în caseta de mai jos sau selectați o notiță din ierarhie.", - "search_placeholder": "căutați o notiță după denumirea ei" - }, - "etapi": { - "actions": "Acțiuni", - "create_token": "Crează un token ETAPI nou", - "created": "Creat", - "default_token_name": "token nou", - "delete_token": "Șterge/dezactivează acest token", - "delete_token_confirmation": "Doriți ștergerea token-ului ETAPI „{{name}}”?", - "description": "ETAPI este un API REST utilizat pentru a accesa instanța de Trilium programatic, fără interfață grafică.", - "error_empty_name": "Denumirea token-ului nu poate fi goală", - "existing_tokens": "Token-uri existente", - "new_token_message": "Introduceți denumirea noului token", - "new_token_title": "Token ETAPI nou", - "no_tokens_yet": "Nu există încă token-uri. Clic pe butonul de deasupra pentru a crea una.", - "openapi_spec": "Specificația OpenAPI pentru ETAPI", - "swagger_ui": "UI-ul Swagger pentru ETAPI", - "rename_token": "Redenumește token-ul", - "rename_token_message": "Introduceți denumirea noului token", - "rename_token_title": "Redenumire token", - "see_more": "Vedeți mai multe detalii în {{- link_to_wiki}} și în {{- link_to_openapi_spec}} sau în {{- link_to_swagger_ui }}.", - "title": "ETAPI", - "token_created_message": "Copiați token-ul creat în clipboard. Trilium stochează token-ul ca hash așadar această valoare poate fi văzută doar acum.", - "token_created_title": "Token ETAPI creat", - "token_name": "Denumire token", - "wiki": "wiki" - }, - "execute_script": { - "example_1": "De exemplu, pentru a adăuga un șir de caractere la titlul unei notițe, se poate folosi acest mic script:", - "example_2": "Un exemplu mai complex ar fi ștergerea atributelor tuturor notițelor identificate:", - "execute_script": "Execută script", - "help_text": "Se pot executa script-uri simple pe toate notițele identificate." - }, - "export": { - "choose_export_type": "Selectați mai întâi tipul export-ului", - "close": "Închide", - "export": "Exportă", - "export_finished_successfully": "Export finalizat cu succes.", - "export_in_progress": "Export în curs: {{progressCount}}", - "export_note_title": "Exportă notița", - "export_status": "Starea exportului", - "export_type_single": "Doar această notiță fără descendenții ei", - "export_type_subtree": "Această notiță și toți descendenții ei", - "format_html_zip": "HTML în arhivă ZIP - recomandat deoarece păstrează toată formatarea", - "format_markdown": "Markdown - păstrează majoritatea formatării", - "format_opml": "OPML - format de interschimbare pentru editoare cu structură ierarhică (outline). Formatarea, imaginile și fișierele nu vor fi incluse.", - "opml_version_1": "OPML v1.0 - text simplu", - "opml_version_2": "OPML v2.0 - permite și HTML", - "format_html": "HTML - recomandat deoarece păstrează toata formatarea", - "format_pdf": "PDF - cu scopul de printare sau partajare." - }, - "fast_search": { - "description": "Căutarea rapidă dezactivează căutarea la nivel de conținut al notițelor cu scopul de a îmbunătăți performanța de căutare pentru baze de date mari.", - "fast_search": "Căutare rapidă" - }, - "file": { - "file_preview_not_available": "Previzualizarea fișierelor nu este disponibilă pentru acest format de fișier.", - "too_big": "Previzualizarea conține doar primele {{maxNumChars}} caractere din fișier din motive de performanță. Descărcați fișierul și deschideți-l extern pentru a-l putea vedea în întregime." - }, - "file_properties": { - "download": "Descarcă", - "file_size": "Dimensiunea fișierului", - "file_type": "Tipul fișierului", - "note_id": "ID-ul notiței", - "open": "Deschide", - "original_file_name": "Denumirea originală a fișierului", - "title": "Fișier", - "upload_failed": "Încărcarea a unei noi revizii ale fișierului a eșuat.", - "upload_new_revision": "Încarcă o nouă revizie", - "upload_success": "Noua revizie a fișierului a fost încărcată cu succes." - }, - "fonts": { - "apply_font_changes": "Pentru a aplica schimbările de font, click pe", - "font_family": "Familia de fonturi", - "fonts": "Fonturi", - "main_font": "Fontul principal", - "monospace_font": "Fontul monospace (pentru cod)", - "not_all_fonts_available": "Nu toate fonturile listate aici pot fi disponibile pe acest sistem.", - "note_detail_font": "Fontul pentru detaliile notițelor", - "note_tree_and_detail_font_sizing": "Dimensiunea arborelui și a fontului pentru detalii este relativă la dimensiunea fontului principal.", - "note_tree_font": "Fontul arborelui de notițe", - "reload_frontend": "reîncarcă interfața", - "size": "Mărime", - "theme_defined": "Definit de temă", - "generic-fonts": "Fonturi generice", - "handwriting-system-fonts": "Fonturi de sistem cu stil de scris de mână", - "monospace-system-fonts": "Fonturi de sistem monospațiu", - "sans-serif-system-fonts": "Fonturi de sistem fără serifuri", - "serif-system-fonts": "Fonturi de sistem cu serifuri", - "monospace": "Monospațiu", - "sans-serif": "Fără serifuri", - "serif": "Cu serifuri", - "system-default": "Fontul predefinit al sistemului" - }, - "global_menu": { - "about": "Despre Trilium Notes", - "advanced": "Opțiuni avansate", - "configure_launchbar": "Configurează bara de lansare", - "logout": "Deautentificare", - "menu": "Meniu", - "open_dev_tools": "Deschide uneltele de dezvoltare", - "open_new_window": "Deschide o nouă fereastră", - "open_search_history": "Deschide istoricul de căutare", - "open_sql_console": "Deschide consola SQL", - "open_sql_console_history": "Deschide istoricul consolei SQL", - "options": "Opțiuni", - "reload_frontend": "Reîncarcă interfața", - "reload_hint": "Reîncărcarea poate ajuta atunci când există ceva probleme vizuale fără a trebui repornită întreaga aplicație.", - "reset_zoom_level": "Resetează nivelul de zoom", - "show_backend_log": "Afișează log-ul din backend", - "show_help": "Afișează informații", - "show_hidden_subtree": "Afișează ierarhia ascunsă", - "show_shared_notes_subtree": "Afișează ierahia notițelor partajate", - "switch_to_desktop_version": "Schimbă la versiunea de desktop", - "switch_to_mobile_version": "Schimbă la versiunea de mobil", - "toggle_fullscreen": "Comută mod ecran complet", - "zoom": "Zoom", - "zoom_in": "Mărește", - "zoom_out": "Micșorează", - "show-cheatsheet": "Afișează ghidul rapid", - "toggle-zen-mode": "Mod zen" - }, - "heading_style": { - "markdown": "Stil Markdown", - "plain": "Simplu", - "title": "Stil titluri", - "underline": "Subliniat" - }, - "help": { - "activateNextTab": "activează următorul tab", - "activatePreviousTab": "activează tabul anterior", - "blockQuote": "începeți un rând cu > urmat de spațiu pentru un bloc de citat", - "bulletList": "* sau - urmat de spațiu pentru o listă punctată", - "close": "Închide", - "closeActiveTab": "închide tabul activ", - "collapseExpand": "LEFT, RIGHT - minimizează/expandează nodul", - "collapseSubTree": "minimizează subarborele", - "collapseWholeTree": "minimizează întregul arbore de notițe", - "copyNotes": "copiază notița activă (sau selecția curentă) în clipboard (utilizat pentru clonare)", - "createEditLink": "Ctrl+K - crează/editează legătură externă", - "createInternalLink": "crează legătură internă", - "createNoteAfter": "crează o nouă notiță după notița activă", - "createNoteInto": "crează o subnotiță în notița activă", - "creatingNotes": "Crearea notițelor", - "cutNotes": "decupează notița curentă (sau selecția curentă) în clipboard (utilizată pentru mutarea notițelor)", - "deleteNotes": "șterge notița/subarborele", - "editBranchPrefix": "editează prefixul a unei clone ale notiței active", - "editNoteTitle": "va sări de la arborele de notițe către titlul notiței. Enter de la titlul notiței va sări către editorul de text. Ctrl+. va sări înapoi de la editor către arborele de notițe.", - "editingNotes": "Editarea notițelor", - "followLink": "urmărește link-ul sub cursor", - "fullDocumentation": "Instrucțiuni (documentația completă se regăsește online)", - "goBackForwards": "mergi înapoi/înainte în istoric", - "goUpDown": "UP, DOWN - mergi sus/jos în lista de notițe", - "headings": "##, ###, #### etc. urmat de spațiu pentru titluri", - "inPageSearch": "caută în interiorul paginii", - "insertDateTime": "inserează data și timpul curente la poziția cursorului", - "jumpToParentNote": "Backspace - sari la pagina părinte", - "jumpToTreePane": "sari către arborele de notițe și scrolează către notița activă", - "markdownAutoformat": "Formatare în stil Markdown", - "moveNoteUpDown": "mută notița sus/jos în lista de notițe", - "moveNoteUpHierarchy": "mută notița mai sus în ierarhie", - "movingCloningNotes": "Mutarea/clonarea notițelor", - "multiSelectNote": "selectează multiplu notița de sus/jos", - "newTabNoteLink": "CTRL+clic - (sau clic mijlociu) pe o legătură către o notiță va deschide notița într-un tab nou", - "notSet": "nesetat", - "noteNavigation": "Navigarea printre notițe", - "numberedList": "1.
sau 1) urmat de spațiu pentru o listă numerotată", - "onlyInDesktop": "Doar pentru desktop (aplicația Electron)", - "openEmptyTab": "deschide un tab nou", - "other": "Altele", - "pasteNotes": "lipește notița/notițele ca sub-notițe în notița activă (ce va muta sau clona în funcție dacă a fost copiată sau decupată în clipboard)", - "quickSearch": "sari la caseta de căutare rapidă", - "reloadFrontend": "reîncarcă interfața Trilium", - "scrollToActiveNote": "scrolează la notița activă", - "selectAllNotes": "selectează toate notițele din nivelul curent", - "selectNote": "Shift+Click - selectează notița", - "showDevTools": "afișează instrumentele de dezvoltatori", - "showJumpToNoteDialog": "afișează ecranul „Sari la”", - "showSQLConsole": "afișează consola SQL", - "tabShortcuts": "Scurtături pentru tab-uri", - "troubleshooting": "Unelte pentru depanare", - "newTabWithActivationNoteLink": "Ctrl+Shift+click - (sau Shift+click mouse mijlociu) pe o legătură către o notiță deschide și activează notița într-un tab nou" - }, - "hide_floating_buttons_button": { - "button_title": "Ascunde butoanele" - }, - "highlights_list": { - "bg_color": "Text cu o culoare de fundal", - "bold": "Text îngroșat", - "color": "Text colorat", - "description": "Se pot personaliza elementele ce vor fi afișate în lista de evidențieri din panoul din dreapta:", - "italic": "Text italic (înclinat)", - "shortcut_info": "Se poate configura o scurtatură la tastatură pentru comutarea rapidă a panoului din dreapta (inclusiv lista de evidențieri) în Opțiuni -> Scurtături (denumirea „toggleRightPane”).", - "title": "Lista de evidențieri", - "underline": "Text subliniat", - "visibility_description": "Se poate ascunde lista de evidențieri la nivel de notiță prin adăugarea etichetei #hideHighlightWidget.", - "visibility_title": "Vizibilitatea listei de evidențieri" - }, - "i18n": { - "first-day-of-the-week": "Prima zi a săptămânii", - "language": "Limbă", - "monday": "Luni", - "sunday": "Duminică", - "title": "Localizare", - "formatting-locale": "Format dată și numere", - "first-week-of-the-year": "Prima săptămână din an", - "first-week-contains-first-day": "Prima săptămână conține prima zi din an", - "first-week-contains-first-thursday": "Prima săptămână conține prima zi de joi din an", - "first-week-has-minimum-days": "Prima săptămână are numărul minim de zile", - "min-days-in-first-week": "Numărul minim de zile pentru prima săptămână", - "first-week-info": "Opțiunea de prima săptămână conține prima zi de joi din an este bazată pe standardul ISO 8601.", - "first-week-warning": "Schimbarea opțiunii primei săptămâni poate cauza duplicate cu notițele săptămânale existente deoarece acestea nu vor fi actualizate retroactiv." - }, - "image_properties": { - "copy_reference_to_clipboard": "Copiază referință în clipboard", - "download": "Descarcă", - "file_size": "Dimensiune fișier", - "file_type": "Tip fișier", - "open": "Deschide", - "original_file_name": "Denumirea originală a fișierului", - "title": "Imagine", - "upload_failed": "Încărcarea a unei noi revizii ale imaginii a eșuat: {{message}}", - "upload_new_revision": "Încarcă o nouă revizie", - "upload_success": "O nouă revizie a fost încărcată cu succes." - }, - "images": { - "download_images_automatically": "Descarcă imaginile automat pentru utilizare fără conexiune la internet.", - "download_images_description": "Textul HTML inserat poate conține referințe către imagini online, Trilium le va identifica și va descărca acele imagini pentru a putea fi disponibile și fără o conexiune la internet.", - "enable_image_compression": "Activează compresia imaginilor", - "images_section_title": "Imagini", - "jpeg_quality_description": "Calitatea JPEG (10 - cea mai slabă calitate, 100 - cea mai bună calitate, se recomandă între 50 și 85)", - "max_image_dimensions": "Lungimea/lățimea maximă a unei imagini (imaginea va fi redimensionată dacă depășește acest prag).", - "max_image_dimensions_unit": "pixeli" - }, - "import": { - "chooseImportFile": "Selectați fișierul de importat", - "close": "Închide", - "codeImportedAsCode": "Importă fișiere identificate drept cod sursă (e.g. .json) drept notițe de tip cod dacă nu este clar din metainformații", - "explodeArchives": "Citește conținutul arhivelor .zip, .enex și .opml.", - "explodeArchivesTooltip": "Dacă această opțiune este bifată atunci Trilium va citi fișiere de tip .zip, .enex și .opml și va crea notițe din fișierele din interiorul acestor arhive. Dacă este nebifat, atunci Trilium va atașa arhiva propriu-zisă la notiță.", - "import": "Importă", - "importDescription": "Conținutul fișierelor selectate va fi importat ca subnotițe în", - "importIntoNote": "Importă în notiță", - "options": "Opțiuni", - "replaceUnderscoresWithSpaces": "Înlocuiește underline-ul cu spații în denumirea notițelor importate", - "safeImport": "Importare sigură", - "safeImportTooltip": "Fișierele de Trilium exportate în format .zip pot conține scripturi executabile ce pot avea un comportament malițios. Importarea sigură va dezactiva execuția automată a tuturor scripturilor importate. Debifați „Importare sigură” dacă arhiva importată conține scripturi executabile dorite și aveți încredere deplină în conținutul acestora.", - "shrinkImages": "Micșorare imagini", - "shrinkImagesTooltip": "

Dacă bifați această opțiune, Trilium va încerca să micșoreze imaginea importată prin scalarea și importarea ei, aspect ce poate afecta calitatea aparentă a imaginii. Dacă nu este bifat, imaginile vor fi importate fără nicio modificare.

Acest lucru nu se aplică la importuri de tip .zip cu metainformații deoarece se asumă că aceste fișiere sunt deja optimizate.

", - "textImportedAsText": "Importă HTML, Markdown și TXT ca notițe de tip text dacă este neclar din metainformații", - "failed": "Eroare la importare: {{message}}.", - "import-status": "Starea importului", - "in-progress": "Import în curs: {{progress}}", - "successful": "Import finalizat cu succes.", - "html_import_tags": { - "description": "Configurați ce etichete HTML să fie păstrate atunci când se importă notițe. Etichetele ce nu se află în această listă vor fi înlăturate la importul de date. Unele etichete (precum „script”) sunt înlăturate indiferent din motive de securitate.", - "placeholder": "Introduceți etichetele HTML, câte unul pe linie", - "reset_button": "Resetează la lista implicită", - "title": "Etichete HTML la importare" - } - }, - "include_archived_notes": { - "include_archived_notes": "Include notițele arhivate" - }, - "include_note": { - "box_size_full": "complet (căsuța va afișa întregul text)", - "box_size_medium": "mediu (~ 30 de rânduri)", - "box_size_prompt": "Dimensiunea căsuței notiței incluse:", - "box_size_small": "mică (~ 10 rânduri)", - "button_include": "Include notița Enter", - "dialog_title": "Includere notița", - "label_note": "Notiță", - "placeholder_search": "căutați notița după denumirea ei", - "close": "Închide" - }, - "info": { - "closeButton": "Închide", - "modalTitle": "Mesaj informativ", - "okButton": "OK" - }, - "inherited_attribute_list": { - "no_inherited_attributes": "Niciun atribut moștenit.", - "title": "Atribute moștenite" - }, - "jump_to_note": { - "search_button": "Caută în întregul conținut Ctrl+Enter", - "close": "Închide", - "search_placeholder": "Căutați notițe după nume sau tastați > pentru comenzi..." - }, - "left_pane_toggle": { - "hide_panel": "Ascunde panoul", - "show_panel": "Afișează panoul" - }, - "limit": { - "limit": "Limită", - "take_first_x_results": "Obține doar primele X rezultate." - }, - "markdown_import": { - "dialog_title": "Importă Markdown", - "import_button": "Importă Ctrl+Enter", - "import_success": "Conținutul Markdown a fost importat în document.", - "modal_body_text": "Din cauza limitărilor la nivel de navigator, nu este posibilă citirea clipboard-ului din JavaScript. Inserați Markdown-ul pentru a-l importa în caseta de mai jos și dați clic pe butonul Import", - "close": "Închide" - }, - "max_content_width": { - "apply_changes_description": "Pentru a aplica schimbările de lățime a conținutului, dați click pe", - "default_description": "În mod implicit Trilium limitează lățimea conținutului pentru a îmbunătăți lizibilitatea pentru ferestrele maximizate pe ecrane late.", - "max_width_label": "Lungimea maximă a conținutului", - "max_width_unit": "pixeli", - "reload_button": "reîncarcă interfața", - "reload_description": "schimbări din opțiunile de afișare", - "title": "Lățime conținut" - }, - "mobile_detail_menu": { - "delete_this_note": "Șterge această notiță", - "error_cannot_get_branch_id": "Nu s-a putut obține branchId-ul pentru calea „{{notePath}}”", - "error_unrecognized_command": "Comandă nerecunoscută „{{command}}”", - "insert_child_note": "Inserează subnotiță" - }, - "move_note": { - "clone_note_new_parent": "clonează notița la noul părinte dacă notița are mai multe clone/ramuri (când nu este clar care ramură trebuie ștearsă)", - "move_note": "Mută notița", - "move_note_new_parent": "mută notița în noul părinte dacă notița are unul singur (ramura veche este ștearsă și o ramură nouă este creată în noul părinte)", - "nothing_will_happen": "nu se va întampla nimic dacă notița nu poate fi mutată la notița destinație (deoarece s-ar crea un ciclu în arbore)", - "on_all_matched_notes": "Pentru toate notițele găsite", - "target_parent_note": "notița părinte destinație", - "to": "la" - }, - "move_pane_button": { - "move_left": "Mută la stânga", - "move_right": "Mută la dreapta" - }, - "move_to": { - "dialog_title": "Mută notițele în...", - "error_no_path": "Nicio cale la care să poată fi mutate.", - "move_button": "Mută la notița selectată enter", - "move_success_message": "Notițele selectate au fost mutate în", - "notes_to_move": "Notițe de mutat", - "search_placeholder": "căutați notița după denumirea ei", - "target_parent_note": "Notița părinte destinație", - "close": "Închide" - }, - "native_title_bar": { - "disabled": "dezactivată", - "enabled": "activată", - "title": "Bară de titlu nativă (necesită repornirea aplicației)" - }, - "network_connections": { - "check_for_updates": "Verifică automat pentru actualizări", - "network_connections_title": "Conexiuni la rețea" - }, - "note_actions": { - "convert_into_attachment": "Convertește în atașament", - "delete_note": "Șterge notița", - "export_note": "Exportă notița", - "import_files": "Importă fișiere", - "note_attachments": "Atașamente notițe", - "note_source": "Sursa notiței", - "open_note_custom": "Deschide notiță personalizată", - "open_note_externally": "Deschide notița extern", - "open_note_externally_title": "Fișierul va fi deschis într-o aplicație externă și urmărită pentru modificări. Ulterior se va putea încărca versiunea modificată înapoi în Trilium.", - "print_note": "Imprimare notiță", - "re_render_note": "Reinterpretare notiță", - "save_revision": "Salvează o nouă revizie", - "search_in_note": "Caută în notiță", - "convert_into_attachment_failed": "Nu s-a putut converti notița „{{title}}”.", - "convert_into_attachment_successful": "Notița „{{title}}” a fost convertită în atașament.", - "convert_into_attachment_prompt": "Doriți convertirea notiței „{{title}}” într-un atașament al notiței părinte?", - "print_pdf": "Exportare ca PDF..." - }, - "note_erasure_timeout": { - "deleted_notes_erased": "Notițele șterse au fost eliminate permanent.", - "erase_deleted_notes_now": "Elimină notițele șterse acum", - "erase_notes_after": "Elimină notițele șterse după:", - "manual_erasing_description": "Se poate rula o eliminare manuală (fără a lua în considerare timpul definit mai sus):", - "note_erasure_description": "Notițele șterse (precum și atributele, reviziile) sunt prima oară doar marcate drept șterse și este posibil să fie recuperate din ecranul Notițe recente. După o perioadă de timp, notițele șterse vor fi „eliminate”, caz în care conținutul lor nu se poate recupera. Această setare permite configurarea duratei de timp dintre ștergerea și eliminarea notițelor.", - "note_erasure_timeout_title": "Timpul de eliminare automată a notițelor șterse" - }, - "note_info_widget": { - "calculate": "calculează", - "created": "Creată la", - "modified": "Modificată la", - "note_id": "ID-ul notiței", - "note_size": "Dimensiunea notiței", - "note_size_info": "Dimensiunea notiței reprezintă o aproximare a cerințelor de stocare ale acestei notițe. Ia în considerare conținutul notiței dar și ale reviziilor sale.", - "subtree_size": "(dimensiunea sub-arborelui: {{size}} în {{count}} notițe)", - "title": "Informații despre notiță", - "type": "Tip" - }, - "note_launcher": { - "this_launcher_doesnt_define_target_note": "Acesată scurtătură nu definește o notiță-destinație." - }, - "note_map": { - "collapse": "Micșorează la dimensiunea normală", - "open_full": "Expandează la maximum", - "title": "Harta notițelor", - "fix-nodes": "Fixează nodurile", - "link-distance": "Distanța dintre legături" - }, - "note_paths": { - "archived": "Arhivat", - "clone_button": "Clonează notița într-o nouă locație...", - "intro_not_placed": "Notița n-a fost plasată încă în arborele de notițe.", - "intro_placed": "Notița este plasată în următoarele căi:", - "outside_hoisted": "Această cale se află în afara notiței focalizate și este necesară defocalizarea.", - "search": "Caută", - "title": "Căile notiței" - }, - "note_properties": { - "info": "Informații", - "this_note_was_originally_taken_from": "Această notiță a fost preluată original de la:" - }, - "note_type_chooser": { - "modal_body": "Selectați tipul notiței/șablonul pentru noua notiță:", - "modal_title": "Selectați tipul notiței", - "templates": "Șabloane:", - "close": "Închide", - "change_path_prompt": "Selectați locul unde să se creeze noua notiță:", - "search_placeholder": "căutare cale notiță după nume (cea implicită dacă este necompletat)" - }, - "onclick_button": { - "no_click_handler": "Butonul „{{componentId}}” nu are nicio acțiune la clic definită" - }, - "options_widget": { - "options_change_saved": "Schimbarea opțiunilor a fost înregistrată.", - "options_status": "Starea opțiunilor" - }, - "order_by": { - "asc": "Ascendent (implicit)", - "children_count": "Numărul subnotițelor", - "content_and_attachments_and_revisions_size": "Dimensiunea conținutului notiței incluzând atașamentele și reviziile", - "content_and_attachments_size": "Dimensiunea conținutului notiței incluzând atașamente", - "content_size": "Dimensiunea conținutului notiței", - "date_created": "Data creării", - "date_modified": "Data ultimei modificări", - "desc": "Descendent", - "order_by": "Ordonează după", - "owned_label_count": "Numărul de etichete", - "owned_relation_count": "Numărul de relații", - "parent_count": "Numărul de clone", - "random": "Ordine aleatorie", - "relevancy": "Relevanță (implicit)", - "revision_count": "Numărul de revizii", - "target_relation_count": "Numărul de relații către notiță", - "title": "Titlu" - }, - "owned_attribute_list": { - "owned_attributes": "Atribute proprii" - }, - "password": { - "alert_message": "Aveți grijă să nu uitați parola. Parola este utilizată pentru a accesa interfața web și pentru a cripta notițele protejate. Dacă uitați parola, toate notițele protejate se vor pierde pentru totdeauna.", - "change_password": "Schimbă parola", - "change_password_heading": "Schimbarea parolei", - "for_more_info": "pentru mai multe informații.", - "heading": "Parolă", - "new_password": "Parolă nouă", - "new_password_confirmation": "Confirmarea noii parole", - "old_password": "Parola veche", - "password_changed_success": "Parola a fost schimbată. Trilium se va reîncărca după apăsarea butonului OK.", - "password_mismatch": "Noile parole nu coincid.", - "protected_session_timeout": "Timpul de expirare a sesiunii protejate", - "protected_session_timeout_description": "Timpul de expirare a sesiunii protejate este o perioadă de timp după care sesiunea protejată este ștearsă din memoria navigatorului. Aceasta este măsurată de la timpul ultimei interacțiuni cu notițele protejate. Vezi", - "protected_session_timeout_label": "Timpul de expirare a sesiunii protejate:", - "reset_confirmation": "Prin resetarea parolei se va pierde pentru totdeauna accesul la notițele protejate existente. Sigur doriți resetarea parolei?", - "reset_link": "click aici pentru a o reseta.", - "reset_success_message": "Parola a fost resetată. Setați o nouă parolă", - "set_password": "Setează parola", - "set_password_heading": "Schimbarea parolei", - "wiki": "wiki" - }, - "password_not_set": { - "body1": "Notițele protejate sunt criptate utilizând parola de utilizator, dar nu a fost setată nicio parolă.", - "body2": "Pentru a putea să protejați notițe, clic aici pentru a deschide ecranul de opțiuni și pentru a seta parola.", - "title": "Parola nu este setată", - "close": "Închide" - }, - "promoted_attributes": { - "add_new_attribute": "Adaugă un nou atribut", - "open_external_link": "Deschide legătură externă", - "promoted_attributes": "Atribute promovate", - "remove_this_attribute": "Elimină acest atribut", - "unknown_attribute_type": "Tip de atribut necunoscut „{{type}}”", - "unknown_label_type": "Tip de etichetă necunoscut „{{type}}”", - "url_placeholder": "http://siteweb...", - "unset-field-placeholder": "nesetat", - "remove_color": "Înlătura culoarea" - }, - "prompt": { - "defaultTitle": "Aviz", - "ok": "OK enter", - "title": "Aviz", - "close": "Închide" - }, - "protected_session": { - "enter_password_instruction": "Afișarea notițelor protejate necesită introducerea parolei:", - "start_session_button": "Deschide sesiunea protejată enter", - "started": "Sesiunea protejată este activă.", - "wrong_password": "Parolă greșită.", - "protecting-finished-successfully": "Protejarea a avut succes.", - "protecting-in-progress": "Protejare în curs: {{count}}", - "protecting-title": "Stare protejare", - "unprotecting-title": "Stare deprotejare", - "unprotecting-finished-successfully": "Deprotejarea a avut succes.", - "unprotecting-in-progress-count": "Deprotejare în curs: {{count}}" - }, - "protected_session_password": { - "close_label": "Închide", - "form_label": "Pentru a putea continua cu acțiunea cerută este nevoie să fie pornită sesiunea protejată prin introducerea parolei:", - "help_title": "Informații despre notițe protejate", - "modal_title": "Sesiune protejată", - "start_button": "Pornește sesiunea protejată enter" - }, - "protected_session_status": { - "active": "Sesiunea protejată este activă. Clic pentru a închide sesiunea protejată.", - "inactive": "Clic pentru a porni sesiunea protejată" - }, - "recent_changes": { - "confirm_undelete": "Doriți să restaurați această notiță și subnotițele ei?", - "deleted_notes_message": "Notițele șterse au fost eliminate.", - "erase_notes_button": "Elimină notițele șterse", - "no_changes_message": "Încă nicio schimbare...", - "title": "Modificări recente", - "undelete_link": "restaurare", - "close": "Închide" - }, - "relation_map": { - "cannot_match_transform": "Nu s-a putut identifica transformarea: {{transform}}", - "click_on_canvas_to_place_new_note": "Clic pentru a plasa o nouă notiță", - "confirm_remove_relation": "Doriți ștergerea relației?", - "connection_exists": "Deja există conexiunea „{{name}}” dintre aceste notițe.", - "default_new_note_title": "notiță nouă", - "edit_title": "Editare titlu", - "enter_new_title": "Introduceți noul titlu:", - "enter_title_of_new_note": "Introduceți titlul noii notițe", - "note_already_in_diagram": "Notița „{{title}}” deja se află pe diagramă.", - "note_not_found": "Notița „{{noteId}}” nu a putut fi găsită!", - "open_in_new_tab": "Deschide într-un tab nou", - "remove_note": "Șterge notița", - "remove_relation": "Șterge relația", - "rename_note": "Redenumește notița", - "specify_new_relation_name": "Introduceți denumirea noii relații (caractere permise: alfanumerice, două puncte și underline):", - "start_dragging_relations": "Glisați relațiile de aici peste o altă notiță." - }, - "relation_map_buttons": { - "create_child_note_title": "Crează o subnotiță și adaug-o în harta relațiilor", - "reset_pan_zoom_title": "Resetează poziția și zoom-ul la valorile implicite", - "zoom_in_title": "Mărire", - "zoom_out_title": "Micșorare" - }, - "rename_label": { - "name_title": "Caracterele permise sunt alfanumerice, underline și două puncte.", - "new_name_placeholder": "noul nume", - "old_name_placeholder": "vechiul nume", - "rename_label": "Redenumește eticheta", - "rename_label_from": "Redenumește eticheta de la", - "to": "La" - }, - "rename_note": { - "api_docs": "Vedeți documentația API pentru notițe și proprietăților dateCreatedObj / utcDateCreatedObj pentru detalii.", - "click_help_icon": "Clic pe iconița de ajutor din partea dreapta pentru a vedea toate opțiunile", - "evaluated_as_js_string": "Valoare introdusă este evaluată prin JavaScript și poate fi astfel îmbogățită cu conținut dinamic prin intermediul variabilei injectate note (notița ce este redenumită). Exemple:", - "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - notițele găsite sunt prefixate cu luna și ziua creării notiței", - "example_new_title": "NOU: ${note.title} - notițele identificate sunt prefixate cu „NOU: ”", - "example_note": "Notiță - toate notițele identificate sunt redenumite în „Notiță”", - "new_note_title": "noul titlu al notiței", - "rename_note": "Redenumește notița", - "rename_note_title_to": "Redenumește notița în" - }, - "rename_relation": { - "allowed_characters": "Se permit caractere alfanumerice, underline și două puncte.", - "new_name": "noul nume", - "old_name": "vechiul nume", - "rename_relation": "Redenumește relația", - "rename_relation_from": "Redenumește relația din", - "to": "În" - }, - "render": { - "note_detail_render_help_1": "Această notă informativă este afișată deoarece această notiță de tip „Randare HTML” nu are relația necesară pentru a funcționa corespunzător.", - "note_detail_render_help_2": "Notița de tipul „Render HTML” este utilizată pentru scriptare. Pe scurt, se folosește o notiță de tip cod HTML (opțional cu niște JavaScript) și această notiță o va randa. Pentru a funcționa, trebuie definită o relație denumită „renderNote” ce indică notița HTML de randat." - }, - "revisions": { - "confirm_delete": "Doriți ștergerea acestei revizii?", - "confirm_delete_all": "Doriți ștergerea tuturor reviziilor acestei notițe?", - "confirm_restore": "Doriți restaurarea acestei revizii? Acest lucru va suprascrie titlul și conținutul curent cu cele ale acestei revizii.", - "delete_all_button": "Șterge toate reviziile", - "delete_all_revisions": "Șterge toate reviziile acestei notițe", - "delete_button": "Şterge", - "download_button": "Descarcă", - "file_size": "Dimensiune fișier:", - "help_title": "Informații despre reviziile notițelor", - "mime": "MIME:", - "no_revisions": "Nu există încă nicio revizie pentru această notiță...", - "note_revisions": "Revizii ale notiței", - "preview": "Previzualizare:", - "preview_not_available": "Nu este disponibilă o previzualizare pentru acest tip de notiță.", - "restore_button": "Restaurează", - "revision_deleted": "Revizia notiței a fost ștearsă.", - "revision_last_edited": "Revizia a fost ultima oară modificată pe {{date}}", - "revision_restored": "Revizia notiței a fost restaurată.", - "revisions_deleted": "Notița reviziei a fost ștearsă.", - "maximum_revisions": "Numărul maxim de revizii pentru notița curentă: {{number}}.", - "settings": "Setări revizii ale notițelor", - "snapshot_interval": "Intervalul de creare a reviziilor pentru notițe: {{seconds}}s.", - "close": "Închide" - }, - "revisions_button": { - "note_revisions": "Revizii ale notiței" - }, - "revisions_snapshot_interval": { - "note_revisions_snapshot_description": "Intervalul de salvare a reviziilor este timpul după care se crează o nouă revizie a unei notițe. Vedeți wiki-ul pentru mai multe informații.", - "note_revisions_snapshot_interval_title": "Intervalul de salvare a reviziilor", - "snapshot_time_interval_label": "Intervalul de salvare a reviziilor:" - }, - "ribbon": { - "edited_notes_message": "Tab-ul panglicii „Notițe editate” se va deschide automat pentru notițele zilnice", - "promoted_attributes_message": "Tab-ul panglicii „Atribute promovate” se va deschide automat dacă pentru notița curentă există astfel de atribute", - "widgets": "Widget-uri ale panglicii" - }, - "script_executor": { - "execute_query": "Execută interogarea", - "execute_script": "Execută scriptul", - "query": "Interogare", - "script": "Script" - }, - "search_definition": { - "action": "acțiune", - "actions_executed": "Acțiunile au fost executate.", - "add_search_option": "Adaugă opțiune de căutare:", - "ancestor": "ascendent", - "debug": "depanare", - "debug_description": "Modul de depanare va afișa informații adiționale în consolă pentru a ajuta la depanarea interogărilor complexe", - "fast_search": "căutare rapidă", - "fast_search_description": "Căutarea rapidă dezactivează căutarea la nivel de conținut al notițelor cu scopul de a îmbunătăți performanța de căutare pentru baze de date mari.", - "include_archived": "include arhivate", - "include_archived_notes_description": "Notițele arhivate sunt excluse în mod implicit din rezultatele de căutare, această opțiune le include.", - "limit": "limită", - "limit_description": "Limitează numărul de rezultate", - "order_by": "ordonează după", - "save_to_note": "Salvează în notiță", - "search_button": "Căutare Enter", - "search_execute": "Caută și execută acțiunile", - "search_note_saved": "Notița de căutare a fost salvată în {{- notePathTitle}}", - "search_parameters": "Parametrii de căutare", - "search_script": "script de căutare", - "search_string": "șir de căutat", - "unknown_search_option": "Opțiune de căutare necunoscută „{{searchOptionName}}”" - }, - "search_engine": { - "baidu": "Baidu", - "bing": "Bing", - "custom_name_label": "Denumirea motorului de căutare personalizat", - "custom_name_placeholder": "Personalizați denumirea motorului de căutare", - "custom_search_engine_info": "Un motor de căutare personalizat necesită un nume și un URL. Dacă aceastea nu sunt setate, atunci DuckDuckGo va fi folosit ca motor implicit.", - "custom_url_label": "URL-ul motorului de căutare trebuie să includă „{keyword}” ca substituent pentru termenul căutat.", - "custom_url_placeholder": "Personalizați URL-ul motorului de căutare", - "duckduckgo": "DuckDuckGo", - "google": "Google", - "predefined_templates_label": "Motoare de căutare predefinite", - "save_button": "Salvează", - "title": "Motor de căutare" - }, - "search_script": { - "description1": "Scripturile de căutare permit definirea rezultatelor de căutare prin rularea unui script. Acest lucru oferă flexibilitatea maximă, atunci când căutarea obișnuită nu este suficientă.", - "description2": "Scriptul de căutare trebuie să fie de tipul „cod” și subtipul „JavaScript (backend)”. Scriptul trebuie să returneze un vector de ID-uri de notiță sau notițele propriu-zise.", - "example_code": "// 1. filtrăm rezultatele inițiale utilizând căutarea obișnuită\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. aplicăm criteriile de căutare personalizate\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", - "example_title": "Vedeți acest exemplu:", - "note": "De remarcat că nu se pot utiliza simultan atât caseta de căutare, cât și script-ul de căutare.", - "placeholder": "căutați notița după denumirea ei", - "title": "Script de căutare:" - }, - "search_string": { - "also_see": "vedeți și", - "complete_help": "informații complete despre sintaxa de căutare", - "error": "Eroare la căutare: {{error}}", - "full_text_search": "Introduceți orice text pentru a căuta în conținutul notițelor", - "label_abc": "reîntoarce notițele cu eticheta „abc”", - "label_date_created": "notițe create în ultima lună", - "label_rock_or_pop": "doar una din etichete trebuie să fie prezentă", - "label_rock_pop": "găsește notițe care au atât eticheta „rock”, cât și „pop”", - "label_year": "găsește notițe ce au eticheta „an” cu valoarea 2019", - "label_year_comparison": "comparații numerice (de asemenea >, >=, <).", - "placeholder": "cuvinte cheie pentru căutarea în conținut, #etichetă = valoare...", - "search_syntax": "Sintaxa de căutare", - "title_column": "Textul de căutat:", - "search_prefix": "Căutare:" - }, - "shortcuts": { - "action_name": "Denumirea acțiunii", - "confirm_reset": "Confirmați resetarea tuturor scurtăturilor de la tastatură la valoriile implicite?", - "default_shortcuts": "Scurtături implicite", - "description": "Descriere", - "electron_documentation": "Vedeți documentația Electron pentru modificatorii disponibili și codurile pentru taste.", - "keyboard_shortcuts": "Scurtături de la tastatură", - "multiple_shortcuts": "Mai multe scurtături pentru aceeași acțiune pot fi separate prin virgulă.", - "reload_app": "Reîncărcați aplicația pentru a aplica modificările", - "set_all_to_default": "Setează toate scurtăturile la valorile implicite", - "shortcuts": "Scurtături", - "type_text_to_filter": "Scrieți un text pentru a filtra scurtăturile..." - }, - "similar_notes": { - "no_similar_notes_found": "Nu s-a găsit nicio notiță similară.", - "title": "Notițe similare" - }, - "sort_child_notes": { - "ascending": "ascendent", - "date_created": "data creării", - "date_modified": "data modificării", - "descending": "descendent", - "folders": "Dosare", - "natural_sort": "Ordonare naturală", - "natural_sort_language": "Limba pentru ordonare naturală", - "sort": "Ordonare Enter", - "sort_children_by": "Ordonează subnotițele după...", - "sort_folders_at_top": "ordonează dosarele primele", - "sort_with_respect_to_different_character_sorting": "ordonează respectând regulile de sortare și clasificare diferite în funcție de limbă și regiune.", - "sorting_criteria": "Criterii de ordonare", - "sorting_direction": "Direcția de ordonare", - "the_language_code_for_natural_sort": "Codul limbii pentru ordonarea naturală, e.g. „zn-CN” pentru chineză.", - "title": "titlu", - "close": "Închide" - }, - "spellcheck": { - "available_language_codes_label": "Coduri de limbă disponibile:", - "description": "Aceste opțiuni se aplică doar pentru aplicația de desktop, navigatoarele web folosesc propriile corectoare ortografice.", - "enable": "Activează corectorul ortografic", - "language_code_label": "Codurile de limbă", - "language_code_placeholder": "de exemplu „en-US”, „de-AT”", - "multiple_languages_info": "Mai multe limbi pot fi separate prin virgulă, e.g. \"en-US, de-DE, cs\".", - "title": "Corector ortografic", - "restart-required": "Schimbările asupra setărilor corectorului ortografic vor fi aplicate după restartarea aplicației." - }, - "sync": { - "fill_entity_changes_button": "Completează înregistrările de schimbare ale entităților", - "filling_entity_changes": "Se completează înregistrările de schimbare ale entităților...", - "force_full_sync_button": "Forțează sincronizare completă", - "full_sync_triggered": "S-a activat o sincronizare completă", - "sync_rows_filled_successfully": "Rândurile de sincronizare s-au completat cu succes", - "title": "Sincronizare", - "failed": "Eroare la sincronizare: {{message}}", - "finished-successfully": "Sincronizarea a avut succes." - }, - "sync_2": { - "config_title": "Configurația sincronizării", - "handshake_failed": "Comunicarea cu serverul de sincronizare a eșuat, eroare: {{message}}", - "help": "Informații", - "note": "Notiță", - "note_description": "Dacă lăsați câmpul de proxy necompletat, proxy-ul de sistem va fi utilizat (se aplică doar pentru aplicația desktop).", - "proxy_label": "Server-ul proxy utilizat pentru sincronizare (opțional)", - "save": "Salvează", - "server_address": "Adresa instanței de server", - "special_value_description": "O altă valoare specială este noproxy ce ignoră proxy-ul de sistem și respectă NODE_TLS_REJECT_UNAUTHORIZED.", - "test_button": "Probează sincronizarea", - "test_description": "Această opțiune va testa conexiunea și comunicarea cu serverul de sincronizare. Dacă serverul de sincronizare nu este inițializat, acest lucru va rula și o sincronizare cu documentul local.", - "test_title": "Probează sincronizarea", - "timeout": "Timp limită de sincronizare", - "timeout_unit": "milisecunde" - }, - "table_of_contents": { - "description": "Tabela de conținut va apărea în notițele de tip text atunci când notița are un număr de titluri mai mare decât cel definit. Acest număr se poate personaliza:", - "unit": "titluri", - "disable_info": "De asemenea se poate dezactiva tabela de conținut setând o valoare foarte mare.", - "shortcut_info": "Se poate configura și o scurtatură pentru a comuta rapid vizibilitatea panoului din dreapta (inclusiv tabela de conținut) în Opțiuni -> Scurtături (denumirea „toggleRightPane”).", - "title": "Tabelă de conținut" - }, - "text_auto_read_only_size": { - "description": "Marchează pragul în care o notiță de o anumită dimensiune va fi afișată în mod de citire (pentru motive de performanță).", - "label": "Pragul de dimensiune pentru setarea modului de citire automat (la notițe text)", - "title": "Pragul de mod de citire automat", - "unit": "caractere" - }, - "theme": { - "auto_theme": "Temă auto (se adaptează la schema de culori a sistemului)", - "dark_theme": "Temă întunecată", - "light_theme": "Temă luminoasă", - "triliumnext": "TriliumNext Beta (se adaptează la schema de culori a sistemului)", - "triliumnext-light": "TriliumNext Beta (luminoasă)", - "triliumnext-dark": "TriliumNext Beta (întunecată)", - "override_theme_fonts_label": "Suprascrie fonturile temei", - "theme_label": "Temă", - "title": "Tema aplicației", - "layout": "Aspect", - "layout-horizontal-description": "bara de lansare se află sub bara de taburi, bara de taburi este pe toată lungimea.", - "layout-horizontal-title": "Orizontal", - "layout-vertical-title": "Vertical", - "layout-vertical-description": "bara de lansare se află pe stânga (implicit)" - }, - "toast": { - "critical-error": { - "message": "O eroare critică a apărut ce previne pornirea aplicația de client:\n\n{{message}}\n\nAcest lucru este cauzat cel mai probabil de un script care a eșuat în mod neașteptat. Încercați rularea aplicației în modul de siguranță și ulterior remediați problema.", - "title": "Eroare critică" - }, - "widget-error": { - "title": "Eroare la inițializarea unui widget", - "message-custom": "Widget-ul personalizat din notița cu ID-ul „{{id}}”, întitulată ”{{title}}” nu a putut fi inițializată din cauza:\n\n{{message}}", - "message-unknown": "Un widget necunoscut nu a putut fi inițializat din cauza:\n\n{{message}}" - }, - "bundle-error": { - "title": "Eroare la încărcarea unui script personalizat", - "message": "Scriptul din notița cu ID-ul „{{id}}”, întitulată „{{title}}” nu a putut fi executată din cauza:\n\n{{message}}" - } - }, - "tray": { - "enable_tray": "Activează system tray-ul (este necesară repornirea aplicației pentru a avea efect)", - "title": "Tray-ul de sistem" - }, - "update_available": { - "update_available": "Actualizare disponibilă" - }, - "update_label_value": { - "help_text": "Pentru toate notițele găsite, schimbă valoarea etichetei existente.", - "help_text_note": "Se poate apela această metodă și fără o valoare, caz în care eticheta va fi atribuită notiței fără o valoare.", - "label_name_placeholder": "denumirea etichetei", - "label_name_title": "Sunt permise doar caractere alfanumerice, underline și două puncte.", - "new_value_placeholder": "valoarea nouă", - "to_value": "la valoarea", - "update_label_value": "Actualizează valoarea etichetei" - }, - "update_relation_target": { - "allowed_characters": "Sunt permise doar caractere alfanumerice, underline și două puncte.", - "change_target_note": "schimbă notița-țintă a unei relații existente", - "on_all_matched_notes": "Pentru toate notițele găsite:", - "relation_name": "denumirea relației", - "target_note": "notița destinație", - "to": "la", - "update_relation": "Actualizează relația", - "update_relation_target": "Actualizează ținta relației" - }, - "upload_attachments": { - "choose_files": "Selectați fișierele", - "files_will_be_uploaded": "Fișierele vor fi încărcate ca atașamente în", - "options": "Opțuni", - "shrink_images": "Micșorează imaginile", - "tooltip": "Dacă această opțiune este bifată, Trilium va încerca micșorarea imaginilor încărcate prin scalarea și optimizarea lor, aspect ce va putea afecta calitatea imaginilor. Dacă nu este bifată, imaginile vor fi încărcate fără nicio schimbare.", - "upload": "Încărcare", - "upload_attachments_to_note": "Încarcă atașamentele la notiță", - "close": "Închide" - }, - "vacuum_database": { - "button_text": "Compactează baza de date", - "database_vacuumed": "Baza de date a fost curățată", - "description": "Va reconstrui baza de date cu scopul de a-i micșora dimensiunea. Datele nu vor fi afectate.", - "title": "Compactarea bazei de date", - "vacuuming_database": "Baza de date este în curs de compactare..." - }, - "vim_key_bindings": { - "enable_vim_keybindings": "Permite utilizarea combinațiilor de taste în stil Vim pentru notițele de tip cod (fără modul ex)", - "use_vim_keybindings_in_code_notes": "Combinații de taste Vim" - }, - "web_view": { - "create_label": "Pentru a începe, creați o etichetă cu adresa URL de încorporat, e.g. #webViewSrc=\"https://www.google.com\"", - "embed_websites": "Notițele de tip „Vizualizare web” permit încorporarea site-urilor web în Trilium.", - "web_view": "Vizualizare web" - }, - "wrap_lines": { - "enable_line_wrap": "Activează trecerea automată pe rândul următor (poate necesita o reîncărcare a interfeței pentru a avea efect)", - "wrap_lines_in_code_notes": "Trecerea automată pe rândul următor în notițe de cod" - }, - "zoom_factor": { - "description": "Zoom-ul poate fi controlat și prin intermediul scurtăturilor CTRL+- and CTRL+=.", - "title": "Factorul de zoom (doar pentru versiunea desktop)" - }, - "zpetne_odkazy": { - "backlink": "{{count}} legături de retur", - "backlinks": "{{count}} legături de retur", - "relation": "relație" - }, - "svg_export_button": { - "button_title": "Exportă diagrama ca SVG" - }, - "note-map": { - "button-link-map": "Harta legăturilor", - "button-tree-map": "Harta ierarhiei" - }, - "tree-context-menu": { - "advanced": "Opțiuni avansate", - "apply-bulk-actions": "Aplică acțiuni în masă", - "clone-to": "Clonare în...", - "collapse-subtree": "Minimizează subnotițele", - "convert-to-attachment": "Convertește în atașament", - "copy-clone": "Copiază/clonează", - "copy-note-path-to-clipboard": "Copiază calea notiței în clipboard", - "cut": "Decupează", - "delete": "Șterge", - "duplicate": "Dublifică", - "edit-branch-prefix": "Editează prefixul ramurii", - "expand-subtree": "Expandează subnotițele", - "export": "Exportă", - "import-into-note": "Importă în notiță", - "insert-child-note": "Inserează subnotiță", - "insert-note-after": "Inserează după notiță", - "move-to": "Mutare la...", - "open-in-a-new-split": "Deschide în lateral", - "open-in-a-new-tab": "Deschide în tab nou Ctrl+Clic", - "paste-after": "Lipește după notiță", - "paste-into": "Lipește în notiță", - "protect-subtree": "Protejează ierarhia", - "recent-changes-in-subtree": "Schimbări recente în ierarhie", - "search-in-subtree": "Caută în ierarhie", - "sort-by": "Ordonare după...", - "unprotect-subtree": "Deprotejează ierarhia", - "hoist-note": "Focalizează notița", - "unhoist-note": "Defocalizează notița", - "converted-to-attachments": "{{count}} notițe au fost convertite în atașamente.", - "convert-to-attachment-confirm": "Doriți convertirea notițelor selectate în atașamente ale notiței părinte?", - "open-in-popup": "Editare rapidă" - }, - "shared_info": { - "help_link": "Pentru informații vizitați wiki-ul.", - "shared_locally": "Această notiță este partajată local la", - "shared_publicly": "Această notiță este partajată public la" - }, - "note_types": { - "book": "Colecție", - "canvas": "Schiță", - "code": "Cod sursă", - "mermaid-diagram": "Diagramă Mermaid", - "mind-map": "Hartă mentală", - "note-map": "Hartă notițe", - "relation-map": "Hartă relații", - "render-note": "Randare notiță", - "saved-search": "Căutare salvată", - "text": "Text", - "web-view": "Vizualizare web", - "doc": "Document", - "file": "Fișier", - "image": "Imagine", - "launcher": "Scurtătură", - "widget": "Widget", - "confirm-change": "Nu se recomandă schimbarea tipului notiței atunci când ea are un conținut. Procedați oricum?", - "geo-map": "Hartă geografică", - "beta-feature": "Beta", - "task-list": "Listă de sarcini", - "ai-chat": "Discuție cu AI-ul", - "new-feature": "Nou", - "collections": "Colecții" - }, - "protect_note": { - "toggle-off": "Deprotejează notița", - "toggle-off-hint": "Notița este protejată, click pentru a o deproteja", - "toggle-on": "Protejează notița", - "toggle-on-hint": "Notița nu este protejată, clic pentru a o proteja" - }, - "shared_switch": { - "inherited": "Nu se poate înlătura partajarea deoarece notița este partajată prin moștenirea de la o notiță părinte.", - "shared": "Partajată", - "shared-branch": "Această notiță există doar ca o notiță partajată, anularea partajării ar cauza ștergerea ei. Sigur doriți ștergerea notiței?", - "toggle-off-title": "Anulează partajarea notițeii", - "toggle-on-title": "Partajează notița" - }, - "template_switch": { - "template": "Șablon", - "toggle-off-hint": "Înlătură notița ca șablon", - "toggle-on-hint": "Marchează notița drept șablon" - }, - "open-help-page": "Deschide pagina de informații", - "find": { - "match_words": "doar cuvinte întregi", - "case_sensitive": "ține cont de majuscule", - "replace_all": "Înlocuiește totul", - "replace_placeholder": "Înlocuiește cu...", - "replace": "Înlocuiește", - "find_placeholder": "Căutați în text..." - }, - "highlights_list_2": { - "options": "Setări", - "title": "Listă de evidențieri" - }, - "note_icon": { - "change_note_icon": "Schimbă iconița notiței", - "category": "Categorie:", - "reset-default": "Resetează la iconița implicită", - "search": "Căutare:" - }, - "show_highlights_list_widget_button": { - "show_highlights_list": "Afișează lista de evidențieri" - }, - "show_toc_widget_button": { - "show_toc": "Afișează cuprinsul" - }, - "sync_status": { - "connected_no_changes": "

Conectat la server-ul de sincronizare.
Toate modificările au fost deja sincronizate.

Clic pentru a forța o sincronizare.

", - "connected_with_changes": "

Conectat la server-ul de sincronizare.
Există modificări nesincronizate.

Clic pentru a rula o sincronizare.

", - "disconnected_no_changes": "

Nu s-a putut stabili conexiunea la server-ul de sincronizare.
Toate modificările cunoscute au fost deja sincronizate.

Clic pentru a reîncerca sincronizarea.

", - "disconnected_with_changes": "

Nu s-a putut realiza conexiunea la server-ul de sincronizare.
Există modificări nesincronizate.

Clic pentru a rula o sincronizare.

", - "in_progress": "Sincronizare cu server-ul în curs.", - "unknown": "

Starea sincronizării va fi cunoscută după o încercare de sincronizare.

Clic pentru a rula sincronizarea acum.

" - }, - "quick-search": { - "more-results": "... și încă {{number}} rezultate.", - "no-results": "Niciun rezultat găsit", - "placeholder": "Căutare rapidă", - "searching": "Se caută...", - "show-in-full-search": "Afișează în căutare completă" - }, - "note_tree": { - "automatically-collapse-notes": "Minimează automat notițele", - "automatically-collapse-notes-title": "Notițele vor fi minimizate automat după o perioadă de inactivitate pentru a simplifica ierarhia notițelor.", - "collapse-title": "Minimizează ierarhia de notițe", - "hide-archived-notes": "Ascunde notițele arhivate", - "save-changes": "Salvează și aplică modificările", - "scroll-active-title": "Mergi la notița activă", - "tree-settings-title": "Setări ale ierarhiei notițelor", - "auto-collapsing-notes-after-inactivity": "Se minimizează notițele după inactivitate...", - "saved-search-note-refreshed": "Notița de căutare salvată a fost reîmprospătată.", - "create-child-note": "Crează subnotiță", - "hoist-this-note-workspace": "Focalizează spațiul de lucru", - "refresh-saved-search-results": "Reîmprospătează căutarea salvată", - "unhoist": "Defocalizează notița" - }, - "title_bar_buttons": { - "window-on-top": "Menține fereastra mereu vizibilă" - }, - "note_detail": { - "could_not_find_typewidget": "Nu s-a putut găsi widget-ul corespunzător tipului „{{type}}”" - }, - "note_title": { - "placeholder": "introduceți titlul notiței aici..." - }, - "revisions_snapshot_limit": { - "erase_excess_revision_snapshots": "Șterge acum reviziile excesive", - "erase_excess_revision_snapshots_prompt": "Reviziile excesive au fost șterse.", - "note_revisions_snapshot_limit_description": "Limita numărului de revizii se referă la numărul maxim de revizii pentru fiecare notiță. -1 reprezintă nicio limită, 0 înseamnă ștergerea tuturor reviziilor. Se poate seta valoarea individual pentru o notiță prin eticheta #versioningLimit.", - "note_revisions_snapshot_limit_title": "Limita de revizii a notițelor", - "snapshot_number_limit_label": "Numărul maxim de revizii pentru notițe:", - "snapshot_number_limit_unit": "revizii" - }, - "search_result": { - "no_notes_found": "Nu au fost găsite notițe pentru parametrii de căutare dați.", - "search_not_executed": "Căutarea n-a fost rulată încă. Clic pe butonul „Căutare” de deasupra pentru a vedea rezultatele." - }, - "show_floating_buttons_button": { - "button_title": "Afișează butoanele" - }, - "spacer": { - "configure_launchbar": "Configurează bara de lansare" - }, - "sql_result": { - "no_rows": "Nu s-a găsit niciun rând pentru această interogare" - }, - "sql_table_schemas": { - "tables": "Tabele" - }, - "app_context": { - "please_wait_for_save": "Așteptați câteva secunde până se salvează toate datele și apoi reîncercați." - }, - "tab_row": { - "add_new_tab": "Adaugă tab nou", - "close": "Închide", - "close_all_tabs": "Închide toate taburile", - "close_other_tabs": "Închide celelalte taburi", - "close_tab": "Închide tab", - "move_tab_to_new_window": "Mută acest tab în altă fereastră", - "new_tab": "Tab nou", - "close_right_tabs": "Închide taburile din dreapta", - "copy_tab_to_new_window": "Copiază tab-ul într-o fereastră nouă", - "reopen_last_tab": "Redeschide ultimul tab închis" - }, - "toc": { - "options": "Setări", - "table_of_contents": "Cuprins" - }, - "watched_file_update_status": { - "file_last_modified": "Fișierul a fost ultima oară modificat la data de .", - "ignore_this_change": "Ignoră această schimbare", - "upload_modified_file": "Încarcă fișier modificat" - }, - "clipboard": { - "copied": "Notițele au fost copiate în clipboard.", - "cut": "Notițele au fost decupate în clipboard.", - "copy_failed": "Nu se poate copia în clipboard din cauza unor probleme de permisiuni.", - "copy_success": "S-a copiat în clipboard." - }, - "entrypoints": { - "note-executed": "Notița a fost executată.", - "note-revision-created": "S-a creat o revizie a notiței.", - "sql-error": "A apărut o eroare la executarea interogării SQL: {{message}}" - }, - "image": { - "cannot-copy": "Nu s-a putut copia în clipboard referința către imagine.", - "copied-to-clipboard": "S-a copiat o referință către imagine în clipboard. Aceasta se poate lipi în orice notiță text." - }, - "note_create": { - "duplicated": "Notița „{{title}}” a fost dublificată." - }, - "branches": { - "cannot-move-notes-here": "Nu se pot muta notițe aici.", - "delete-finished-successfully": "Ștergerea a avut succes.", - "delete-notes-in-progress": "Ștergere în curs: {{count}}", - "delete-status": "Starea ștergerii", - "undeleting-notes-finished-successfully": "Restaurarea notițelor a avut succes.", - "undeleting-notes-in-progress": "Restaurare notițe în curs: {{count}}" - }, - "frontend_script_api": { - "async_warning": "Ați trimis o funcție asincronă metodei `api.runOnBackend()` și este posibil să nu se comporte așa cum vă așteptați.\\nFie faceți metoda sincronă (prin ștergerea cuvântului-cheie `async`), sau folosiți `api.runAsyncOnBackendWithManualTransactionHandling()`.", - "sync_warning": "Ați trimis o funcție sincronă funcției `api.runAsyncOnBackendWithManualTransactionHandling()`,\\ndar cel mai probabil trebuie folosit `api.runOnBackend()` în schimb." - }, - "ws": { - "consistency-checks-failed": "Au fost identificate erori de consistență! Vedeți mai multe detalii în loguri.", - "encountered-error": "A fost întâmpinată o eroare: „{{message}}”. Vedeți în loguri pentru mai multe detalii.", - "sync-check-failed": "Verificările de sincronizare au eșuat!" - }, - "hoisted_note": { - "confirm_unhoisting": "Notița dorită „{{requestedNote}}” este în afara ierarhiei notiței focalizate „{{hoistedNote}}”. Doriți defocalizarea pentru a accesa notița?" - }, - "launcher_context_menu": { - "reset_launcher_confirm": "Doriți resetarea lansatorului „{{title}}”? Toate datele și setările din această notiță (și subnotițele ei) vor fi pierdute, iar lansatorul va fi resetat în poziția lui originală.", - "add-custom-widget": "Adaugă un widget personalizat", - "add-note-launcher": "Adaugă un lansator de notiță", - "add-script-launcher": "Adaugă un lansator de script", - "add-spacer": "Adaugă un separator", - "delete": "Șterge ", - "duplicate-launcher": "Dublifică lansatorul ", - "move-to-available-launchers": "Mută în Lansatoare disponibile", - "move-to-visible-launchers": "Mută în Lansatoare vizibile", - "reset": "Resetează" - }, - "editable-text": { - "auto-detect-language": "Automat" - }, - "highlighting": { - "color-scheme": "Temă de culori", - "description": "Controlează evidențierea de sintaxă pentru blocurile de cod în interiorul notițelor text, notițele de tip cod nu vor fi afectate de aceste setări.", - "title": "Blocuri de cod" - }, - "code_block": { - "word_wrapping": "Încadrare text", - "theme_none": "Fără evidențiere de sintaxă", - "theme_group_dark": "Teme întunecate", - "theme_group_light": "Teme luminoase", - "copy_title": "Copiază în clipboard" - }, - "classic_editor_toolbar": { - "title": "Formatare" - }, - "editing": { - "editor_type": { - "label": "Bară de formatare", - "floating": { - "title": "Editor cu bară flotantă", - "description": "uneltele de editare vor apărea lângă cursor;" - }, - "fixed": { - "title": "Editor cu bară fixă", - "description": "uneltele de editare vor apărea în tab-ul „Formatare” din panglică." - }, - "multiline-toolbar": "Afișează bara de unelte pe mai multe rânduri dacă nu încape." - } - }, - "editor": { - "title": "Editor" - }, - "electron_context_menu": { - "add-term-to-dictionary": "Adaugă „{{term}}” în dicționar", - "copy": "Copiază", - "copy-link": "Copiază legătura", - "cut": "Decupează", - "paste": "Lipește", - "paste-as-plain-text": "Lipește doar textul", - "search_online": "Caută „{{term}}” cu {{searchEngine}}" - }, - "image_context_menu": { - "copy_image_to_clipboard": "Copiază imaginea în clipboard", - "copy_reference_to_clipboard": "Copiază referința în clipboard" - }, - "link_context_menu": { - "open_note_in_new_split": "Deschide notița într-un panou nou", - "open_note_in_new_tab": "Deschide notița într-un tab nou", - "open_note_in_new_window": "Deschide notița într-o fereastră nouă", - "open_note_in_popup": "Editare rapidă" - }, - "note_autocomplete": { - "clear-text-field": "Șterge conținutul casetei", - "create-note": "Crează și inserează legătură către „{{term}}”", - "full-text-search": "Căutare în întregimea textului", - "insert-external-link": "Inserează legătură extern către „{{term}}”", - "search-for": "Caută „{{term}}”", - "show-recent-notes": "Afișează notițele recente" - }, - "electron_integration": { - "background-effects": "Activează efectele de fundal (doar pentru Windows 11)", - "background-effects-description": "Efectul Mica adaugă un fundal estompat și elegant ferestrelor aplicațiilor, creând profunzime și un aspect modern.", - "desktop-application": "Aplicația desktop", - "native-title-bar": "Bară de titlu nativă", - "native-title-bar-description": "Pentru Windows și macOS, dezactivarea bării de titlu native face aplicația să pară mai compactă. Pe Linux, păstrarea bării integrează mai bine aplicația cu restul sistemului de operare.", - "restart-app-button": "Restartează aplicația pentru a aplica setările", - "zoom-factor": "Factor de zoom" - }, - "note_tooltip": { - "note-has-been-deleted": "Notița a fost ștearsă.", - "quick-edit": "Editare rapidă" - }, - "notes": { - "duplicate-note-suffix": "(dupl.)", - "duplicate-note-title": "{{- noteTitle }} {{ duplicateNoteSuffix }}" - }, - "geo-map-context": { - "open-location": "Deschide locația", - "remove-from-map": "Înlătură de pe hartă", - "add-note": "Adaugă un marcaj la această poziție" - }, - "geo-map": { - "create-child-note-title": "Crează o notiță nouă și adaug-o pe hartă", - "unable-to-load-map": "Nu s-a putut încărca harta.", - "create-child-note-instruction": "Click pe hartă pentru a crea o nouă notiță la acea poziție sau apăsați Escape pentru a anula." - }, - "duration": { - "days": "zile", - "hours": "ore", - "minutes": "minute", - "seconds": "secunde" - }, - "help-button": { - "title": "Deschide ghidul relevant" - }, - "zen_mode": { - "button_exit": "Ieși din modul zen" - }, - "time_selector": { - "minimum_input": "Valoarea introdusă trebuie să fie de cel puțin {{minimumSeconds}} secunde.", - "invalid_input": "Valoarea de timp introdusă nu este corectă." - }, - "share": { - "title": "Setări de partajare", - "show_login_link_description": "Adaugă o legătură de autentificare în subsolul paginilor partajate", - "show_login_link": "Afișează legătura de autentificare în tema de partajare", - "share_root_not_shared": "Notița „{{noteTitle}}” are eticheta #shareRoot dar nu este partajată", - "share_root_not_found": "Nu s-a identificat nicio notiță cu eticheta `#shareRoot`", - "share_root_found": "Notița principală pentru partajare „{{noteTitle}}” este pregătită", - "redirect_bare_domain_description": "Redirecționează utilizatorii anonimi către pagina de partajare în locul paginii de autentificare", - "redirect_bare_domain": "Redirecționează domeniul principal la pagina de partajare", - "check_share_root": "Verificare stare pagină partajată principală" - }, - "tasks": { - "due": { - "today": "Azi", - "tomorrow": "Mâine", - "yesterday": "Ieri" - } - }, - "content_widget": { - "unknown_widget": "Nu s-a putut găsi widget-ul corespunzător pentru „{{id}}”." - }, - "code-editor-options": { - "title": "Editor" - }, - "content_language": { - "description": "Selectați una sau mai multe limbi ce vor apărea în selecția limbii din cadrul secțiunii „Proprietăți de bază” pentru notițele de tip text (editabile sau doar în citire).", - "title": "Limbi pentru conținutul notițelor" - }, - "hidden-subtree": { - "localization": "Limbă și regiune" - }, - "note_language": { - "configure-languages": "Configurează limbile...", - "not_set": "Nedefinită" - }, - "png_export_button": { - "button_title": "Exportă diagrama ca PNG" - }, - "switch_layout_button": { - "title_horizontal": "Mută panoul de editare la stânga", - "title_vertical": "Mută panoul de editare în jos" - }, - "toggle_read_only_button": { - "lock-editing": "Blochează editarea", - "unlock-editing": "Deblochează editarea" - }, - "ai_llm": { - "not_started": "Nu s-a pornit", - "title": "Setări AI", - "processed_notes": "Notițe procesate", - "total_notes": "Totalul de notițe", - "progress": "Progres", - "queued_notes": "Notițe în curs de procesare", - "failed_notes": "Notițe ce au eșuat", - "last_processed": "Ultima procesare", - "refresh_stats": "Reîmprospătare statistici", - "enable_ai_features": "Activează funcțiile AI/LLM", - "enable_ai_description": "Activează funcțiile AI precum sumarizarea notițelor, generarea de conținut și alte capabilități ale LLM-ului", - "openai_tab": "OpenAI", - "anthropic_tab": "Anthropic", - "voyage_tab": "Voyage AI", - "ollama_tab": "Ollama", - "enable_ai": "Activează funcții AI/LLM", - "enable_ai_desc": "Activează funcțiile AI precum sumarizarea notițelor, generarea de conținut și alte capabilități ale LLM-ului", - "provider_configuration": "Setările furnizorului de AI", - "provider_precedence": "Ordinea de precedență a furnizorilor", - "provider_precedence_description": "Lista de furnizori în ordinea de precedență, separate de virgulă (ex. „openai,anthropic,ollama”)", - "temperature": "Temperatură", - "temperature_description": "Controlează aleatoritatea din răspunsuri (0 = deterministic, 2 = maxim aleator)", - "system_prompt": "Prompt-ul de sistem", - "system_prompt_description": "Prompt-ul de sistem folosit pentru toate interacțiunile cu AI-ul", - "openai_configuration": "Configurația OpenAI", - "openai_settings": "Setările OpenAI", - "api_key": "Cheie API", - "url": "URL de bază", - "model": "Model", - "openai_api_key_description": "Cheia de API din OpenAI pentru a putea accesa serviciile de AI", - "anthropic_api_key_description": "Cheia de API din Anthropic pentru a accesa modelele Claude", - "default_model": "Modelul implicit", - "openai_model_description": "Exemple: gpt-4o, gpt-4-turbo, gpt-3.5-turbo", - "base_url": "URL de bază", - "openai_url_description": "Implicit: https://api.openai.com/v1", - "anthropic_settings": "Setări Anthropic", - "anthropic_url_description": "URL de bază pentru API-ul Anthropic (implicit: https://api.anthropic.com)", - "anthropic_model_description": "Modele Anthropic Claude pentru auto-completare", - "voyage_settings": "Setări Voyage AI", - "ollama_settings": "Setări Ollama", - "ollama_url_description": "URL pentru API-ul Ollama (implicit: http://localhost:11434)", - "ollama_model_description": "Modelul Ollama pentru auto-completare", - "anthropic_configuration": "Configurația Anthropic", - "voyage_configuration": "Configurația Voyage AI", - "voyage_url_description": "Implicit: https://api.voyageai.com/v1", - "ollama_configuration": "Configurația Ollama", - "enable_ollama": "Activează Ollama", - "enable_ollama_description": "Activează Ollama pentru a putea utiliza modele AI locale", - "ollama_url": "URL Ollama", - "ollama_model": "Model Ollama", - "refresh_models": "Reîmprospătează modelele", - "refreshing_models": "Reîmprospătare...", - "enable_automatic_indexing": "Activează indexarea automată", - "rebuild_index": "Reconstruire index", - "rebuild_index_error": "Eroare la reconstruirea indexului. Verificați logurile pentru mai multe detalii.", - "note_title": "Titlul notiței", - "error": "Eroare", - "last_attempt": "Ultima încercare", - "actions": "Acțiuni", - "retry": "Reîncercare", - "partial": "{{ percentage }}% finalizat", - "retry_queued": "Notiță pusă în coadă pentru reîncercare", - "retry_failed": "Nu s-a putut pune notița în coada pentru reîncercare", - "max_notes_per_llm_query": "Număr maximum de notițe per interogare", - "max_notes_per_llm_query_description": "Numărul maxim de notițe similare incluse în contextul pentru AI", - "active_providers": "Furnizori activi", - "disabled_providers": "Furnizori dezactivați", - "remove_provider": "Șterge furnizorul din căutare", - "restore_provider": "Restaurează furnizorul pentru căutare", - "similarity_threshold": "Prag de similaritate", - "similarity_threshold_description": "Scorul minim de similaritate (0-1) pentru a include notițele în contextul interogărilor LLM", - "reprocess_index": "Reconstruiește indexul de căutare", - "reprocessing_index": "Reconstruire...", - "reprocess_index_started": "S-a pornit în fundal optimizarea indexului de căutare", - "reprocess_index_error": "Eroare la reconstruirea indexului de căutare", - "index_rebuild_progress": "Reconstruire index în curs", - "index_rebuilding": "Optimizare index ({{percentage}}%)", - "index_rebuild_complete": "Optimizarea indexului a avut loc cu succes", - "index_rebuild_status_error": "Eroare la verificarea stării reconstruirii indexului", - "never": "Niciodată", - "processing": "Procesare ({{percentage}}%)", - "incomplete": "Incomplet ({{percentage}}%)", - "complete": "Complet (100%)", - "refreshing": "Reîmprospătare...", - "auto_refresh_notice": "Reîmprospătare automată la fiecare {{seconds}} secunde", - "note_queued_for_retry": "Notiță pusă în coadă pentru reîncercare", - "failed_to_retry_note": "Eroare la reîncercarea notiței", - "all_notes_queued_for_retry": "Toate notițele eșuate au fost puse în coada de reîncercare", - "failed_to_retry_all": "Eroare la reîncercarea notițelor", - "ai_settings": "Setări AI", - "api_key_tooltip": "Cheia API pentru accesarea serviciului", - "empty_key_warning": { - "anthropic": "Cheia API pentru Anthropic lipsește. Introduceți o cheie API validă.", - "openai": "Cheia API pentru OpenAI lipsește. Introduceți o cheie API validă.", - "voyage": "Cheia API pentru Voyage lipsește. Introduceți o cheie API validă.", - "ollama": "Cheia API pentru Ollama lipsește. Introduceți o cheie API validă." - }, - "agent": { - "processing": "Procesare...", - "thinking": "Raționalizare...", - "loading": "Încărcare...", - "generating": "Generare..." - }, - "name": "AI", - "openai": "OpenAI", - "use_enhanced_context": "Folosește context îmbogățit", - "enhanced_context_description": "Oferă AI-ului mai multe informații de context din notiță și notițele similare pentru răspunsuri mai bune", - "show_thinking": "Afișează procesul de raționalizare", - "show_thinking_description": "Afișează lanțul de acțiuni din procesul de gândire al AI-ului", - "enter_message": "Introduceți mesajul...", - "error_contacting_provider": "Eroare la contactarea furnizorului de AI. Verificați setările și conexiunea la internet.", - "error_generating_response": "Eroare la generarea răspunsului AI", - "index_all_notes": "Indexează toate notițele", - "index_status": "Starea indexării", - "indexed_notes": "Notițe indexate", - "indexing_stopped": "Indexarea s-a oprit", - "indexing_in_progress": "Indexare în curs...", - "last_indexed": "Ultima indexare", - "n_notes_queued_0": "O notiță adăugată în coada de indexare", - "n_notes_queued_1": "{{ count }} notițe adăugate în coada de indexare", - "n_notes_queued_2": "{{ count }} de notițe adăugate în coada de indexare", - "note_chat": "Discuție pe baza notițelor", - "notes_indexed_0": "O notiță indexată", - "notes_indexed_1": "{{ count }} notițe indexate", - "notes_indexed_2": "{{ count }} de notițe indexate", - "sources": "Surse", - "start_indexing": "Indexează", - "use_advanced_context": "Folosește context îmbogățit", - "ollama_no_url": "Ollama nu este configurat. Introduceți un URL corect.", - "chat": { - "root_note_title": "Discuții cu AI-ul", - "root_note_content": "Această notiță stochează conversația cu AI-ul.", - "new_chat_title": "Discuție nouă", - "create_new_ai_chat": "Crează o nouă discuție cu AI-ul" - }, - "create_new_ai_chat": "Crează o nouă discuție cu AI-ul", - "configuration_warnings": "Sunt câteva probleme la configurația AI-ului. Verificați setările.", - "experimental_warning": "Funcția LLM este experimentală!", - "selected_provider": "Furnizor selectat", - "selected_provider_description": "Selectați furnizorul de AI pentru funcțiile de discuție și completare", - "select_model": "Selectați modelul...", - "select_provider": "Selectați furnizorul..." - }, - "custom_date_time_format": { - "title": "Format dată/timp personalizat", - "description": "Personalizați formatul de dată și timp inserat prin sau din bara de unelte. Vedeți Documentația Day.js pentru câmpurile de formatare disponibile.", - "format_string": "Șir de formatare:", - "formatted_time": "Data și ora formatate:" - }, - "multi_factor_authentication": { - "title": "Autentificare multi-factor", - "description": "Autentificarea multifactor (MFA) adaugă un strat de securitate adițional. Pe lângă introducerea parolei pentru atentificare, este necesară o dovadă adițională pentru a verifica identitatea. În acest fel, chiar dacă cineva este în posesia parolei dvs., nu vor putea accesa contul fără dovada adițională.

Urmați instrucțiunile de mai jos pentru a activa MFA. Dacă configurația nu este corectă, autentificarea va face doar cu parolă.", - "mfa_enabled": "Activare autentificare multi-factor", - "mfa_method": "Metodă MFA", - "electron_disabled": "Autentificarea multi-factor este suportată doar în aplicația desktop momentan.", - "totp_title": "Parolă unică bazată pe timp (TOTP)", - "totp_description": "TOTP (Time-Based One-Time Password) este o funcție de securitate care crează un cod unic, temporar care se schimbă la fiecare 30 de secunde. Acest cod se poate folosi pe lângă parolă pentru a face accesul neautorizat mult mai dificil.", - "totp_secret_title": "Generează secret TOTP", - "totp_secret_generate": "Generează secret TOTP", - "totp_secret_regenerate": "Regenerează secretul TOTP", - "no_totp_secret_warning": "Pentru a activa TOTP trebuie mai întâi generat un secret TOTP.", - "totp_secret_description_warning": "După generarea unui nou secret TOTP, va trebui să vă autentificați din nou cu folosirea codului TOTP.", - "totp_secret_generated": "Secret TOTP generat", - "totp_secret_warning": "Stocați secretul generat într-un loc securizat. Acesta nu va mai fi afișat din nou.", - "totp_secret_regenerate_confirm": "Doriți regenerarea secretului TOTP? Acest lucru va invalida secretul TOTP anterior și toate codurile de recuperere preexistente.", - "recovery_keys_title": "Chei unice de recuperare", - "recovery_keys_description": "Fiecare cheie unică poate fi folosită o singură dată pentru autentificare chiar dacă nu mai aveți acces la codurile generate.", - "recovery_keys_description_warning": "Cheile de recuperare nu vor mai fi afișate după părăsirea acestei pagini; păstrați-le într-un loc sigur.
Odată ce o cheie de recuperare este folosită, ea nu mai poate fi refolosită.", - "recovery_keys_error": "Eroare la generarea codurilor de recuperare", - "recovery_keys_no_key_set": "Niciun cod de recuperare nu a fost setat", - "recovery_keys_generate": "Generează codurile de recuperare", - "recovery_keys_regenerate": "Regenerează codurile de recuperare", - "recovery_keys_used": "Folosit la: {{date}}", - "recovery_keys_unused": "Codul de recuperere {{index}} este nefolosit", - "oauth_title": "OAuth/OpenID", - "oauth_description": "OpenID este o cale standardizată ce permite autentificarea într-un site folosind un cont dintr-un alt serviciu, precum Google, pentru a verifica identitatea. În mod implicit furnizorul este Google, dar se poate schimba cu orice furnizor OpenID. Pentru mai multe informații, consultați ghidul. Urmați aceste instrucțiuni pentru a putea configura OpenID prin Google.", - "oauth_description_warning": "Pentru a activa OAuth sau OpenID, trebuie să configurați URL-ul de bază, ID-ul de client și secretul de client în fișierul config.ini și să reporniți aplicația. Dacă doriți să utilizați variabile de environment, puteți seta TRILIUM_OAUTH_BASE_URL, TRILIUM_OAUTH_CLIENT_ID și TRILIUM_OAUTH_CLIENT_SECRET.", - "oauth_missing_vars": "Setări lipsă: {{variables}}", - "oauth_user_account": "Cont: ", - "oauth_user_email": "Email: ", - "oauth_user_not_logged_in": "Neautentificat!" - }, - "svg": { - "export_to_png": "Diagrama nu a putut fi exportată în PNG." - }, - "code_theme": { - "title": "Afișare", - "word_wrapping": "Încadrare text", - "color-scheme": "Temă de culori" - }, - "cpu_arch_warning": { - "title": "Descărcați versiunea de ARM64", - "message_macos": "Aplicația rulează momentan sub stratul de translație Rosetta 2, ceea ce înseamnă că folosiți versiunea de Intel (x64) pe un Mac cu Apple Silicon. Acest lucru impactează semnificativ performanța aplicației și durata de viață a bateriei.", - "message_windows": "Aplicația rulează în mod de emulare, ceea ce înseamnă că folosiți versiunea de Intel (x64) pe un dispozitiv Windows pe ARM. Acest lucru impactează semnificativ performanția aplicației și durata de viață a bateriei.", - "recommendation": "Pentru cea mai bună experiență, descărcați versiunea nativă de ARM64 a aplicației de pe pagina de release-uri.", - "download_link": "Descarcă versiunea nativă", - "continue_anyway": "Continuă oricum", - "dont_show_again": "Nu mai afișa acest mesaj" - }, - "editorfeatures": { - "title": "Funcții", - "emoji_completion_enabled": "Activează auto-completarea pentru emoji-uri", - "note_completion_enabled": "Activează auto-completarea pentru notițe" - }, - "table_view": { - "new-row": "Rând nou", - "new-column": "Coloană nouă", - "sort-column-by": "Ordonează după „{{title}}”", - "sort-column-ascending": "Ascendent", - "sort-column-descending": "Descendent", - "sort-column-clear": "Dezactivează ordonarea", - "hide-column": "Ascunde coloana „{{title}}”", - "show-hide-columns": "Afișează/ascunde coloane", - "row-insert-above": "Inserează rând deasupra", - "row-insert-below": "Inserează rând dedesubt", - "row-insert-child": "Inserează subnotiță", - "add-column-to-the-left": "Adaugă coloană la stânga", - "add-column-to-the-right": "Adaugă coloană la dreapta", - "edit-column": "Editează coloana", - "delete_column_confirmation": "Doriți ștergerea acestei coloane? Atributul corespunzător va fi șters din toate notițele din ierarhie.", - "delete-column": "Șterge coloana", - "new-column-label": "Etichetă", - "new-column-relation": "Relație" - }, - "book_properties_config": { - "hide-weekends": "Ascunde weekend-urile", - "display-week-numbers": "Afișează numărul săptămânii", - "map-style": "Stil hartă:", - "max-nesting-depth": "Nivel maxim de imbricare:", - "raster": "Raster", - "vector_light": "Vectorial (culoare deschisă)", - "vector_dark": "Vectorial (culoare închisă)", - "show-scale": "Afișează scara hărții" - }, - "table_context_menu": { - "delete_row": "Șterge rândul" - }, - "board_view": { - "delete-note": "Șterge notița", - "move-to": "Mută la", - "insert-above": "Inserează deasupra", - "insert-below": "Inserează dedesubt", - "delete-column": "Șterge coloana", - "delete-column-confirmation": "Doriți ștergerea acestei coloane? Atributul corespunzător va fi șters din notițele din acest tabel.", - "new-item": "Intrare nouă", - "add-column": "Adaugă coloană" - }, - "command_palette": { - "tree-action-name": "Listă de notițe: {{name}}", - "export_note_title": "Exportă notița", - "export_note_description": "Exportă notița curentă", - "show_attachments_title": "Afișează atașamentele", - "show_attachments_description": "Vedeți lista de atașamente corespunzătoare notiței", - "search_notes_title": "Căutare notițe", - "search_notes_description": "Deschide căutare avansată", - "search_subtree_title": "Caută în ierarhie", - "search_subtree_description": "Caută în notițele din ierarhia curentă", - "search_history_title": "Afișează istoricul de căutare", - "search_history_description": "Afișează căutarile anterioare", - "configure_launch_bar_title": "Configurează bara de lansare", - "configure_launch_bar_description": "Deschide configurația barei de lansare, pentru a putea adăuga sau ștergere intrări." - }, - "content_renderer": { - "open_externally": "Deschide în afara programului" + "about": { + "title": "Despre Trilium Notes", + "homepage": "Site web:", + "app_version": "Versiune aplicație:", + "db_version": "Versiune bază de date:", + "sync_version": "Versiune sincronizare:", + "build_date": "Data compilării:", + "build_revision": "Revizia compilării:", + "data_directory": "Directorul de date:", + "close": "Închide" + }, + "abstract_bulk_action": { + "remove_this_search_action": "Înlătură acesată acțiune la căutare" + }, + "abstract_search_option": { + "failed_rendering": "Nu s-a putut randa opțiunea de căutare: {{dto}} din cauza: {{error}} {{stack}}", + "remove_this_search_option": "Înlătură acesată acțiune la căutare" + }, + "add_label": { + "add_label": "Adaugă etichetă", + "help_text": "Pentru toate notițele găsite:", + "help_text_item1": "crează eticheta respectivă dacă notița nu are o astfel de etichetă", + "help_text_item2": "sau schimbă valoarea unei etichete existente", + "help_text_note": "Această metodă poate fi apelată și fără valoare, caz în care eticheta va fi atribuită notiței fără o valoare.", + "label_name_placeholder": "denumirea etichetei", + "label_name_title": "Sunt permise doar caractere alfanumerice, underline și două puncte.", + "new_value_placeholder": "valoare nouă", + "to_value": "la valoarea" + }, + "add_link": { + "add_link": "Adaugă legătură", + "close": "Închide", + "help_on_links": "Informații despre legături", + "link_title": "Titlu legătură", + "link_title_arbitrary": "titlul legăturii poate fi schimbat în mod arbitrar", + "link_title_mirrors": "titlul legăturii corespunde titlul curent al notiței", + "note": "Notiță", + "search_note": "căutați notița după nume", + "button_add_link": "Adaugă legătură Enter" + }, + "add_relation": { + "add_relation": "Adaugă relație", + "allowed_characters": "Sunt permise doar caractere alfanumerice, underline și două puncte.", + "create_relation_on_all_matched_notes": "Crează relația pentru toate notițele găsite", + "relation_name": "denumirea relației", + "target_note": "notița destinație", + "to": "către" + }, + "ancestor": { + "depth_doesnt_matter": "nu contează", + "depth_eq": "exact {{count}}", + "depth_gt": "mai mare decât {{count}}", + "depth_label": "adâncime", + "depth_lt": "mai puțin de {{count}}", + "direct_children": "subnotiță directă", + "label": "Părinte", + "placeholder": "căutați notița după nume" + }, + "api_log": { + "close": "Închide" + }, + "attachment_detail": { + "attachment_deleted": "Acest atașament a fost șters.", + "list_of_all_attachments": "Lista tuturor atașamentelor", + "open_help_page": "Deschide instrucțiuni despre atașamente", + "owning_note": "Notița părinte: ", + "you_can_also_open": ", se poate deschide și " + }, + "attachment_detail_2": { + "deletion_reason": ", deoarece nu există o legătură către atașament în conținutul notiței. Pentru a preveni ștergerea, trebuie adăugată înapoi o legătură către atașament în conținut sau atașamentul trebuie convertit în notiță.", + "link_copied": "O legătură către atașament a fost copiată în clipboard.", + "role_and_size": "Rol: {{role}}, dimensiune: {{size}}", + "unrecognized_role": "Rol atașament necunoscut: „{{role}}”.", + "will_be_deleted_in": "Acest atașament va fi șters automat în {{time}}", + "will_be_deleted_soon": "Acest atașament va fi șters automat în curând" + }, + "attachment_erasure_timeout": { + "attachment_auto_deletion_description": "Atașamentele se șterg automat (permanent) dacă nu sunt referențiate de către notița lor părinte după un timp prestabilit de timp.", + "attachment_erasure_timeout": "Perioadă de ștergere a atașamentelor", + "erase_attachments_after": "Erase unused attachments after:", + "erase_unused_attachments_now": "Elimină atașamentele șterse acum", + "manual_erasing_description": "Șterge acum toate atașamentele nefolosite din notițe", + "unused_attachments_erased": "Atașamentele nefolosite au fost șterse." + }, + "attachment_list": { + "no_attachments": "Notița nu are niciun atașament.", + "open_help_page": "Deschide instrucțiuni despre atașamente", + "owning_note": "Notița părinte: ", + "upload_attachments": "Încărcare atașament" + }, + "attachments_actions": { + "convert_attachment_into_note": "Convertește atașamentul în notiță", + "convert_confirm": "Sigur doriți convertirea atașementului „{{title}}” într-o notiță separată?", + "convert_success": "Atașamentul „{{title}}” a fost convertit cu succes într-o notiță.", + "copy_link_to_clipboard": "Copiază legătură în clipboard", + "delete_attachment": "Șterge atașamentul", + "delete_confirm": "Sigur doriți ștergerea atașementului „{{title}}”?", + "delete_success": "Atașamentul „{{title}}” a fost șters.", + "download": "Descarcă", + "enter_new_name": "Introduceți denumirea noului atașament", + "open_custom": "Deschide într-un alt program", + "open_custom_client_only": "Deschiderea atașamentelor într-un alt program este posibilă doar din aplicația de desktop.", + "open_custom_title": "Fișierul va fi deschis într-un alt program și se vor urmări schimbările. Ulterior versiunea modificată a fișierului va fi încărcată înapoi în Trilium.", + "open_externally": "Deschide în afara programului", + "open_externally_detail_page": "Deschiderea externă a atașamentului este disponibilă doar din pagina de detalii, dați clic pe detaliile atașamentului mai întâi și repetați acțiunea.", + "open_externally_title": "Fișierul va fi deschis într-un alt program și se vor urmări schimbările. Ulterior versiunea modificată a fișierului va fi încărcată înapoi în Trilium.", + "rename_attachment": "Redenumește atașamentul", + "upload_failed": "Încărcarea unei noi versiuni ale atașamentului a eșuat.", + "upload_new_revision": "Încarcă o nouă versiune", + "upload_success": "Încărcarea unei noi versiuni ale atașaemntului a avut succes." + }, + "attribute_detail": { + "and_more": "... și încă {{count}}.", + "app_css": "marchează notițe CSS care se încarcă automat în aplicația Trilium și pot fi folosite pentru a-i modifica aspectul.", + "app_theme": "marchează notițe CSS care sunt teme complete ale Trilium și care se regăsesc în setări.", + "archived": "notițele cu această etichetă nu vor fi vizibile în mod implicit în căutări (dar nici în ecranele Sari la notiță, Adăugare legătură, etc.).", + "attr_detail_title": "Detalii despre atribute", + "attr_is_owned_by": "Atributul este deținut de", + "attr_name_title": "Denumirea atributului poate fi compusă doar din caractere alfanumerice, două puncte și underline", + "auto_read_only_disabled": "notițele de tip text sau cod intră automat în mod doar de citire când au o dimensiune prea mare. Acest comportament se poate dezactiva adăugând această etichetă", + "bookmark_folder": "notițele cu această etichetă vor apărea în lista de semne de carte ca un director (permițând acces la notițele din ea)", + "boolean": "Valoare booleană", + "calendar_root": "marchează notița care trebuie folosită ca rădăcină pentru notițele zilnice. Doar o singură notiță ar trebui să fie etichetătă.", + "close_button_title": "Renunță la modificări și închide", + "color": "definește culoarea unei notițe în ierarhia notițelor, legături, etc. Se poate folosi orice culoare CSS precum „red” sau „#a13d5f”", + "css_class": "valoarea acestei etichete este adăugată ca o clasă CSS pentru nodul ce reprezintă notița în ierarhia notițelor. Acest lucru poate fi utilizat pentru personalizare avansată. Poate fi folosită în notițe de tip șablon.", + "custom_request_handler": "a se vedea Custom request handler", + "custom_resource_provider": "a se vedea Custom request handler", + "date": "Dată", + "date_time": "Dată și timp", + "time": "Timp", + "delete": "Șterge", + "digits": "număr de zecimale", + "disable_inclusion": "script-urile cu această etichetă nu vor fi incluse în execuția scriptului părinte.", + "disable_versioning": "dezactivează auto-versionarea. Poate fi utilizat pentru notițe mari dar neimportante precum biblioteci mari de JavaScript utilizate pentru script-uri", + "display_relations": "denumirea relațiilor ce ar trebui să fie afișate, separate prin virgulă. Toate celelalte vor fi ascunse.", + "exclude_from_export": "notițele (împreună cu subnotițele) nu vor fi incluse în exporturile de notițe", + "exclude_from_note_map": "Notițele cu această etichetă vor fi ascunse din Harta notițelor", + "execute_button": "Titlul butonului ce va executa notița curentă de tip cod", + "execute_description": "O descriere mai lungă a notiței curente de tip cod afișată împreună cu butonul de executare", + "hide_highlight_widget": "Ascunde lista de evidențieri", + "hide_promoted_attributes": "Ascunde lista atributelor promovate pentru această notiță", + "hide_relations": "lista denumirilor relațiilor ce trebuie ascunse, delimitate prin virgulă. Toate celelalte vor fi afișate.", + "icon_class": "valoarea acestei etichete este adăugată ca o clasă CSS la iconița notiței din ierarhia notițelor, fapt ce poate ajuta la identificarea vizuală mai rapidă a notițelor. Un exemplu ar fi „bx bx-home” pentru iconițe preluate din boxicons. Poate fi folosită în notițe de tip șablon.", + "inbox": "locația implicită în care vor apărea noile notițe atunci când se crează o noitiță utilizând butonul „Crează notiță” din bara laterală, notițele vor fi create în interiorul notiței cu această etichetă.", + "inherit": "atributele acestei notițe vor fi moștenite chiar dacă nu există o relație părinte-copil între notițe. A se vedea relația de tip șablon pentru un concept similar. De asemenea, a se vedea moștenirea atributelor în documentație.", + "inheritable": "Moștenibilă", + "inheritable_title": "Atributele moștenibile vor fi moștenite de către toți descendenții acestei notițe.", + "inverse_relation": "Relație inversă", + "inverse_relation_title": "Setare opțională pentru a defini relația inversă. Exemplu: Tată - Fiu sunt două relații inverse.", + "is_owned_by_note": "este deținut(ă) de notița", + "keep_current_hoisting": "Deschiderea acestei legături nu va schimba focalizarea chiar dacă notița nu poate fi vizualizată în ierarhia curentă.", + "keyboard_shortcut": "Definește o scurtatură de la tastatură ce va merge direct la această notiță. Exemplu: „ctrl+alt+e”. Necesită reîncărcarea aplicației pentru a avea efect.", + "label": "Detalii despre etichetă", + "label_definition": "Detalii despre definiția unei etichete", + "label_type": "Tip", + "label_type_title": "Tipul acestei etichete va permite Trilium să selecteze interfața corespunzătoare pentru introducerea valorii etichetei.", + "more_notes": "Mai multe notițe", + "multi_value": "Valori multiple", + "multiplicity": "Multiplicitate", + "multiplicity_title": "Multiplicitatea definește câte atribute de același nume se pot crea - maximum 1 sau mai multe decât 1.", + "name": "Nume", + "new_notes_on_top": "Noile notițe vor fi create la începutul notiței părinte, nu la sfârșit.", + "number": "Număr", + "other_notes_with_name": "Alte notițe cu denumirea de {{attributeType}} „{{attributeName}}”", + "page_size": "numărul de elemente per pagină în listarea notițelor", + "precision": "Precizie", + "precision_title": "Câte cifre să fie afișate după virgulă în interfața de configurare a valorii.", + "promoted": "Evidențiată", + "promoted_alias": "Alias", + "promoted_alias_title": "Numele care să fie afișat în interfața de atribute promovate.", + "promoted_title": "Atributele promovate sunt afișate proeminent în notiță.", + "read_only": "editorul este în modul doar în citire. Funcționează doar pentru notițe de tip text sau cod.", + "related_notes_title": "Alte notițe cu acesată etichetă", + "relation": "Detalii despre relație", + "relation_definition": "Detalii despre definiția unei relații", + "relation_template": "atributele notiței vor fi moștenite chiar dacă nu există o relație părinte-copil, conținutul notiței și ierarhia sa vor fi adăugate la notițele-instanță dacă nu este definită. A se consulta documentația pentru mai multe detalii.", + "render_note": "relație ce definește notița (de tip notiță de cod HTML sau script) ce trebuie randată pentru notițele de tip „Randare notiță HTML”", + "run": "definește evenimentele la care să ruleze scriptul. Valori acceptate:\n
    \n
  • frontendStartup - când pornește interfața Trilium (sau este reîncărcată), dar nu pe mobil.
  • \n
  • mobileStartup - când pornește interfața Trilium (sau este reîncărcată), doar pe mobil.
  • \n
  • backendStartup - când pornește serverul Trilium
  • \n
  • hourly - o dată pe oră. Se poate utiliza adițional eticheta runAtHour pentru a specifica ora.
  • \n
  • daily - o dată pe zi
  • \n
", + "run_at_hour": "La ce oră ar trebui să ruleze. Trebuie folosit împreună cu #run=hourly. Poate fi definit de mai multe ori pentru a rula de mai multe ori în cadrul aceleași zile.", + "run_on_attribute_change": "se execută atunci când atributele unei notițe care definește această relație se schimbă. Se apelează și atunci când un atribut este șters", + "run_on_attribute_creation": "se execută atunci când un nou atribut este creat pentru notița care definește această relație", + "run_on_branch_change": "se execută atunci când o ramură este actualizată.", + "run_on_branch_creation": "se execută când o ramură este creată. O ramură este o legătură dintre o notiță părinte și o notiță copil și este creată, spre exemplu, la clonarea sau mutarea unei notițe.", + "run_on_branch_deletion": "se execută când o ramură este ștearsă. O ramură este o legătură dintre o notiță părinte și o notiță copil și este ștearsă, spre exemplu, atunci când o notiță este mutată (ramura/legătura veche este ștearsă).", + "run_on_child_note_creation": "se execută când o nouă notiță este creată sub notița la care este definită relația", + "run_on_instance": "Definește pe ce instanța de Trilium ar trebui să ruleze. Implicit se consideră toate instanțele.", + "run_on_note_change": "se execută când notița este schimbată (inclusiv crearea unei notițe). Nu include schimbări de conținut", + "run_on_note_content_change": "se execută când conținutul unei notițe este schimbat (inclusiv crearea unei notițe).", + "run_on_note_creation": "se execută când o notiță este creată de server. Se poate utiliza această relație atunci când se dorește rularea unui script pentru toate notițele create sub o anumită ierarhie. În acest caz, relația trebuie creată pe notița-rădăcină și marcată drept moștenibilă. Orice notiță creată sub ierarhie (la orice adâncime) va rula script-ul.", + "run_on_note_deletion": "se execută la ștergerea unei notițe", + "run_on_note_title_change": "se execută când titlul unei notițe se schimbă (inclusiv la crearea unei notițe)", + "save_and_close": "Salvează și închide (Ctrl+Enter)", + "search_home": "notițele de căutare vor fi create în cadrul acestei notițe", + "share_alias": "definește un alias ce va fi permite notiței să fie accesată la https://your_trilium_host/share/[alias]", + "share_credentials": "cere credențiale la accesarea acestei notițe partajate. Valoarea trebuie să fie în formatul „username:parolă”. Nu uitați să faceți eticheta moștenibilă pentru a o aplica și la notițele-copil/imagini.", + "share_css": "Notiță de tip CSS ce va fi injectată în pagina de partajare. Notița CSS trebuie să facă și ea parte din ierarhia partajată. Considerați utilizarea și a „share_hidden_from_tree”, respectiv „share_omit_default_css”.", + "share_description": "definește text ce va fi adăugat la eticheta HTML „meta” pentru descriere", + "share_disallow_robot_indexing": "împiedică indexarea conținutului de către roboți utilizând antetul X-Robots-Tag: noindex", + "share_external_link": "notița va funcționa drept o legătură către un site web extern în ierarhia de partajare", + "share_favicon": "Notiță ce conține pictograma favicon pentru a fi setată în paginile partajate. De obicei se poate seta în rădăcina ierarhiei de partajare și se poate face moștenibilă. Notița ce conține favicon-ul trebuie să fie și ea în ierarhia de partajare. Considerați și utilizarea „share_hidden_from_tree”.", + "share_hidden_from_tree": "notița este ascunsă din arborele de navigație din stânga, dar încă este accesibilă prin intermediul unui URL.", + "share_index": "notițele cu această etichetă vor afișa lista tuturor rădăcilor notițelor partajate", + "share_js": "Notiță JavaScript ce va fi injectată în pagina de partajare. Notița respectivă trebuie să fie și ea în ierarhia de partajare. Considerați utilizarea 'share_hidden_from_tree'.", + "share_omit_default_css": "CSS-ul implicit pentru pagina de partajare va fi omis. Se poate folosi atunci când se fac schimbări majore de stil la pagină.", + "share_raw": "notița va fi afișată în formatul ei brut, fără HTML", + "share_root": "marchează notița care este servită pentru rădăcina ”/share”.", + "share_template": "O notiță JavaScript ce va fi folosită drept șablon pentru afișarea notițelor partajate. Implicit se utilizează șablonul original. Considerați utilizarea 'share_hidden_from_tree'.", + "single_value": "Valoare unică", + "sort_direction": "ASC (ascendent, implicit) sau DESC (descendent)", + "sort_folders_first": "Directoarele (notițe cu sub-notițe) vor fi mutate la început", + "sorted": "menține notițele-copil ordonate alfabetic după titlu", + "sql_console_home": "locația implicită pentru notițele de tip consolă SQL", + "target_note": "Notiță țintă", + "target_note_title": "Relația este o conexiune numită dintre o notiță sursă și o notiță țintă.", + "template": "Șablon", + "text": "Text", + "title_template": "titlul implicit al notițelor create în interiorul acestei notițe. Valoarea este evaluată ca un șir de caractere JavaScript\n și poate fi astfel îmbogățită cu un conținut dinamic prin intermediul variabilelow now și parentNote. Exemple:\n \n
    \n
  • Lucrările lui ${parentNote.getLabelValue('autor')}
  • \n
  • Jurnal pentru ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n A se vedea wiki-ul pentru detalii, documentația API pentru parentNote și now pentru mai multe informații", + "toc": "#toc sau #toc=show forțează afișarea tabelei de conținut, #toc=hide forțează ascunderea ei. Dacă eticheta nu există, se utilizează setările globale", + "top": "păstrează notița la începutul listei (se aplică doar pentru notițe sortate automat)", + "url": "URL", + "value": "Valoare", + "widget": "marchează această notiță ca un widget personalizat ce poate fi adăugat la ierarhia de componente ale aplicației", + "widget_relation": "ținta acestei relații va fi executată și randată ca un widget în bara laterală", + "workspace": "marchează această notiță ca un spațiu de lucru ce permite focalizarea rapidă a notițelor", + "workspace_calendar_root": "Definește o rădăcină de calendar pentru un spațiu de lucru", + "workspace_icon_class": "definește clasa de CSS din boxicon ce va fi folosită în tab-urile ce aparțin spațiului de lucru", + "workspace_inbox": "marchează locația implicită în care vor apărea noile notițe atunci când este focalizat spațiul de lucru sau un copil al acestuia", + "workspace_search_home": "notițele de căutare vor fi create sub această notiță", + "workspace_tab_background_color": "Culoare CSS ce va fi folosită în tab-urile ce aparțin spațiului de lucru", + "workspace_template": "Această notița va apărea în lista de șabloane când se crează o nouă notiță, dar doar când spațiul de lucru în care se află notița este focalizat", + "app_theme_base": "setați valoarea la „next” pentru a folosi drept temă de bază „TriliumNext” în loc de cea clasică.", + "print_landscape": "Schimbă orientarea paginii din portret în vedere atunci când se exportă în PDF.", + "print_page_size": "Schimbă dimensiunea paginii când se exportă în PDF. Valori suportate: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger.", + "color_type": "Culoare" + }, + "attribute_editor": { + "add_a_new_attribute": "Adaugă un nou attribut", + "add_new_label": "Adaugă o nouă etichetă ", + "add_new_label_definition": "Adaugă o nouă definiție de etichetă", + "add_new_relation": "Adaugă o nouă relație ", + "add_new_relation_definition": "Adaugă o nouă definiție de relație", + "help_text_body1": "Pentru a adăuga o etichetă doar scrieți, spre exemplu, #piatră sau #an = 2020 dacă se dorește adăugarea unei valori", + "help_text_body2": "Pentru relații, scrieți author = @ ce va afișa o autocompletare pentru identificarea notiței dorite.", + "help_text_body3": "În mod alternativ, se pot adăuga etichete și relații utilizând butonul + din partea dreaptă.", + "save_attributes": "Salvează atributele ", + "placeholder": "Aici puteți introduce etichete și relații" + }, + "backend_log": { + "refresh": "Reîmprospătare" + }, + "backup": { + "automatic_backup": "Copie de siguranță automată", + "automatic_backup_description": "Trilium poate face copii de siguranță ale bazei de date în mod automat:", + "backup_database_now": "Crează o copie a bazei de date acum", + "backup_now": "Crează o copie de siguranță acum", + "backup_recommendation": "Se recomandă a se păstra activată funcția de copii de siguranță, dar acest lucru poate face pornirea aplicației mai lentă pentru baze de date mai mari sau pentru dispozitive de stocare lente.", + "database_backed_up_to": "S-a creat o copie de siguranță a bazei de dată la {{backupFilePath}}", + "enable_daily_backup": "Activează copia de siguranță zilnică", + "enable_monthly_backup": "Activează copia de siguranță lunară", + "enable_weekly_backup": "Activează copia de siguranță săptămânală", + "existing_backups": "Copii de siguranță existente", + "date-and-time": "Data și ora", + "path": "Calea fișierului", + "no_backup_yet": "nu există încă nicio copie de siguranță" + }, + "basic_properties": { + "basic_properties": "Proprietăți de bază", + "editable": "Editabil", + "note_type": "Tipul notiței", + "language": "Limbă" + }, + "book": { + "no_children_help": "Această notiță de tip Carte nu are nicio subnotiță așadar nu este nimic de afișat. Vedeți wiki pentru detalii." + }, + "book_properties": { + "collapse": "Minimizează", + "collapse_all_notes": "Minimizează toate notițele", + "expand": "Expandează", + "expand_all_children": "Expandează toate subnotițele", + "grid": "Grilă", + "invalid_view_type": "Mod de afișare incorect „{{type}}”", + "list": "Listă", + "view_type": "Mod de afișare", + "calendar": "Calendar", + "book_properties": "Proprietăți colecție", + "table": "Tabel", + "geo-map": "Hartă geografică", + "board": "Tablă Kanban" + }, + "bookmark_switch": { + "bookmark": "Semn de carte", + "bookmark_this_note": "Crează un semn de carte către această notiță în panoul din stânga", + "remove_bookmark": "Șterge semnul de carte" + }, + "branch_prefix": { + "branch_prefix_saved": "Prefixul ramurii a fost salvat.", + "close": "Închide", + "edit_branch_prefix": "Editează prefixul ramurii", + "help_on_tree_prefix": "Informații despre prefixe de ierarhie", + "prefix": "Prefix:", + "save": "Salvează" + }, + "bulk_actions": { + "affected_notes": "Notițe afectate", + "available_actions": "Acțiuni disponibile", + "bulk_actions": "Acțiuni în masă", + "bulk_actions_executed": "Acțiunile în masă au fost executate cu succes.", + "chosen_actions": "Acțiuni selectate", + "close": "Închide", + "execute_bulk_actions": "Execută acțiunile în masă", + "include_descendants": "Include descendenții notiței selectate", + "none_yet": "Nicio acțiune... adăugați una printr-un click pe cele disponibile mai jos.", + "labels": "Etichete", + "notes": "Notițe", + "other": "Altele", + "relations": "Relații" + }, + "calendar": { + "april": "Aprilie", + "august": "August", + "cannot_find_day_note": "Nu se poate găsi notița acelei zile", + "december": "Decembrie", + "febuary": "Februarie", + "fri": "Vin", + "january": "Ianuarie", + "july": "Iulie", + "june": "Iunie", + "march": "Martie", + "may": "Mai", + "mon": "Lun", + "november": "Noiembrie", + "october": "Octombrie", + "sat": "Sâm", + "september": "Septembrie", + "sun": "Dum", + "thu": "Joi", + "tue": "Mar", + "wed": "Mie", + "cannot_find_week_note": "Nu s-a putut găsi notița săptămânală" + }, + "clone_to": { + "clone_notes_to": "Clonează notițele către...", + "clone_to_selected_note": "Clonează notița selectată enter", + "cloned_note_prefix_title": "Notița clonată va fi afișată în ierarhia notiței utilizând prefixul dat", + "help_on_links": "Informații despre legături", + "no_path_to_clone_to": "Nicio cale de clonat.", + "note_cloned": "Notița „{{clonedTitle}}” a fost clonată în „{{targetTitle}}”", + "notes_to_clone": "Notițe de clonat", + "prefix_optional": "Prefix (opțional)", + "search_for_note_by_its_name": "căutați notița după nume acesteia", + "target_parent_note": "Notița părinte țintă", + "close": "Închide" + }, + "close_pane_button": { + "close_this_pane": "Închide acest panou" + }, + "code_auto_read_only_size": { + "description": "Marchează pragul în care o notiță de o anumită dimensiune va fi afișată în mod de citire (pentru motive de performanță).", + "label": "Pragul de dimensiune pentru setarea modului de citire automat (la notițe de cod)", + "title": "Pragul de mod de citire automat", + "unit": "caractere" + }, + "code_buttons": { + "execute_button_title": "Execută scriptul", + "opening_api_docs_message": "Se deschide documentația API...", + "save_to_note_button_title": "Salvează în notiță", + "sql_console_saved_message": "Notița consolă SQL a fost salvată în {{note_path}}", + "trilium_api_docs_button_title": "Deschide documentația API pentru Trilium" + }, + "code_mime_types": { + "title": "Tipuri MIME disponibile în meniul derulant" + }, + "confirm": { + "also_delete_note": "Șterge și notița", + "are_you_sure_remove_note": "Doriți ștergerea notiței „{{title}}” din harta de relații?", + "cancel": "Anulează", + "confirmation": "Confirm", + "if_you_dont_check": "Dacă această opțiune nu este bifată, notița va fi ștearsă doar din harta de relații.", + "ok": "OK", + "close": "Închide" + }, + "consistency_checks": { + "find_and_fix_button": "Caută și repară probleme de consistență", + "finding_and_fixing_message": "Se caută și se repară problemele de consistență...", + "issues_fixed_message": "Problemele de consistență ar trebui să fie acum rezolvate.", + "title": "Verificări de consistență" + }, + "copy_image_reference_button": { + "button_title": "Copiază o referință către imagine în clipboard, poate fi inserată într-o notiță text." + }, + "create_pane_button": { + "create_new_split": "Crează o nouă diviziune" + }, + "database_anonymization": { + "choose_anonymization": "Puteți decide dacă oferiți o bază de date complet sau parțial anonimizată. Chiar și bazele de date complet anonimizate pot fi foarte utile, dar în unele cazuri bazele de date parțial anonimizate pot eficientiza procesul de identificare a bug-urilor și repararea acestora.", + "creating_fully_anonymized_database": "Se crează o copie complet anonimizată...", + "creating_lightly_anonymized_database": "Se crează o bază de date parțial anonimizată...", + "error_creating_anonymized_database": "Nu s-a putut crea o bază de date anonimizată, verificați log-urile din server pentru detalii", + "existing_anonymized_databases": "Baze de date anonimizate existente", + "full_anonymization": "Anonimizare completă", + "full_anonymization_description": "Această acțiune va crea o nouă copie a bazei de date și o va anonimiza (se șterge conținutul tuturor notițelor și se menține doar structura și câteva metainformații neconfidențiale) pentru a putea fi partajate online cu scopul de a depana anumite probleme fără a risca expunerea datelor personale.", + "light_anonymization": "Anonimizare parțială", + "light_anonymization_description": "Această acțiune va crea o copie a bazei de date și o va anonimiza parțial - mai exact se va șterge conținutul tuturor notițelor, dar titlurile și atributele vor rămâne. De asemenea, script-urile de front-end sau back-end și widget-urile personalizate vor rămâne și ele. Acest lucru oferă mai mult context pentru a depana probleme.", + "no_anonymized_database_yet": "Încă nu există nicio bază de date anonimizată.", + "save_fully_anonymized_database": "Salvează bază de date complet anonimizată", + "save_lightly_anonymized_database": "Salvează bază de date parțial anonimizată", + "successfully_created_fully_anonymized_database": "S-a creat cu succes o bază de date complet anonimizată în {{anonymizedFilePath}}", + "successfully_created_lightly_anonymized_database": "S-a creat cu succes o bază de date parțial anonimizată în {{anonymizedFilePath}}", + "title": "Bază de dată anonimizată" + }, + "database_integrity_check": { + "check_button": "Verifică integritatea bazei de date", + "checking_integrity": "Se verifică integritatea bazei de date...", + "description": "Se va verifica să nu existe coruperi ale bazei de date la nivelul SQLite. Poate dura ceva timp, în funcție de dimensiunea bazei de date.", + "integrity_check_failed": "Probleme la verificarea integrității: {{results}}", + "integrity_check_succeeded": "Verificarea integrității a fost făcută cu succes și nu a fost identificată nicio problemă.", + "title": "Verificarea integrității bazei de date" + }, + "debug": { + "access_info": "Pentru a accesa informații de depanare, executați interogarea și dați click pe „Afișează logurile din backend” din stânga-sus.", + "debug": "Depanare", + "debug_info": "Modul de depanare va afișa informații adiționale în consolă cu scopul de a ajuta la depanarea interogărilor complexe." + }, + "delete_label": { + "delete_label": "Șterge eticheta", + "label_name_placeholder": "denumirea etichetei", + "label_name_title": "Sunt permise caractere alfanumerice, underline și două puncte." + }, + "delete_note": { + "delete_matched_notes": "Șterge notițele găsite", + "delete_matched_notes_description": "Se vor șterge notițele găsite.", + "delete_note": "Șterge notița", + "erase_notes_instruction": "Pentru a șterge notițele permanent, se poate merge după ștergerea în opțiuni la secțiunea „Altele” și clic pe butonul „Elimină notițele șterse acum”.", + "undelete_notes_instruction": "După ștergere, se pot recupera din ecranul Schimbări recente." + }, + "delete_notes": { + "broken_relations_to_be_deleted": "Următoarele relații vor fi întrerupte și șterse ({{- relationCount}})", + "cancel": "Anulează", + "delete_all_clones_description": "Șterge și toate clonele (se pot recupera în ecranul Schimbări recente)", + "delete_notes_preview": "Previzualizare ștergerea notițelor", + "erase_notes_description": "Ștergerea obișnuită doar marchează notițele ca fiind șterse și pot fi recuperate (în ecranul Schimbări recente) pentru o perioadă de timp. Dacă se bifează această opțiune, notițele vor fi șterse imediat fără posibilitatea de a le recupera.", + "erase_notes_warning": "Șterge notițele permanent (nu se mai pot recupera), incluzând toate clonele. Va forța reîncărcarea aplicației.", + "no_note_to_delete": "Nicio notiță nu va fi ștearsă (doar clonele).", + "notes_to_be_deleted": "Următoarele notițe vor fi șterse ({{- noteCount}})", + "ok": "OK", + "deleted_relation_text": "Notița {{- note}} ce va fi ștearsă este referențiată de relația {{- relation}}, originând din {{- source}}.", + "close": "Închide" + }, + "delete_relation": { + "allowed_characters": "Se permit caractere alfanumerice, underline și două puncte.", + "delete_relation": "Șterge relația", + "relation_name": "denumirea relației" + }, + "delete_revisions": { + "all_past_note_revisions": "Toate reviziile anterioare ale notițelor găsite vor fi șterse. Notița propriu-zisă va fi intactă. În alte cuvinte, istoricul notiței va fi șters.", + "delete_note_revisions": "Șterge toate reviziile notițelor" + }, + "edit_button": { + "edit_this_note": "Editează această notiță" + }, + "editability_select": { + "always_editable": "Întotdeauna editabil", + "auto": "Automat", + "note_is_always_editable": "Notița este întotdeauna editabilă, indiferent de lungimea ei.", + "note_is_editable": "Notița este editabilă atât timp cât nu este prea lungă.", + "note_is_read_only": "Notița este doar pentru citire, poate fi editată prin intermediul unui buton.", + "read_only": "Doar pentru citire" + }, + "editable_code": { + "placeholder": "Scrieți conținutul notiței de cod aici..." + }, + "editable_text": { + "placeholder": "Scrieți conținutul notiței aici..." + }, + "edited_notes": { + "deleted": "(șters)", + "no_edited_notes_found": "Nu sunt încă notițe editate pentru această zi...", + "title": "Notițe editate" + }, + "empty": { + "enter_workspace": "Intrare spațiu de lucru „{{title}}”", + "open_note_instruction": "Deschideți o notiță scriind denumirea ei în caseta de mai jos sau selectați o notiță din ierarhie.", + "search_placeholder": "căutați o notiță după denumirea ei" + }, + "etapi": { + "actions": "Acțiuni", + "create_token": "Crează un token ETAPI nou", + "created": "Creat", + "default_token_name": "token nou", + "delete_token": "Șterge/dezactivează acest token", + "delete_token_confirmation": "Doriți ștergerea token-ului ETAPI „{{name}}”?", + "description": "ETAPI este un API REST utilizat pentru a accesa instanța de Trilium programatic, fără interfață grafică.", + "error_empty_name": "Denumirea token-ului nu poate fi goală", + "existing_tokens": "Token-uri existente", + "new_token_message": "Introduceți denumirea noului token", + "new_token_title": "Token ETAPI nou", + "no_tokens_yet": "Nu există încă token-uri. Clic pe butonul de deasupra pentru a crea una.", + "openapi_spec": "Specificația OpenAPI pentru ETAPI", + "swagger_ui": "UI-ul Swagger pentru ETAPI", + "rename_token": "Redenumește token-ul", + "rename_token_message": "Introduceți denumirea noului token", + "rename_token_title": "Redenumire token", + "see_more": "Vedeți mai multe detalii în {{- link_to_wiki}} și în {{- link_to_openapi_spec}} sau în {{- link_to_swagger_ui }}.", + "title": "ETAPI", + "token_created_message": "Copiați token-ul creat în clipboard. Trilium stochează token-ul ca hash așadar această valoare poate fi văzută doar acum.", + "token_created_title": "Token ETAPI creat", + "token_name": "Denumire token", + "wiki": "wiki" + }, + "execute_script": { + "example_1": "De exemplu, pentru a adăuga un șir de caractere la titlul unei notițe, se poate folosi acest mic script:", + "example_2": "Un exemplu mai complex ar fi ștergerea atributelor tuturor notițelor identificate:", + "execute_script": "Execută script", + "help_text": "Se pot executa script-uri simple pe toate notițele identificate." + }, + "export": { + "choose_export_type": "Selectați mai întâi tipul export-ului", + "close": "Închide", + "export": "Exportă", + "export_finished_successfully": "Export finalizat cu succes.", + "export_in_progress": "Export în curs: {{progressCount}}", + "export_note_title": "Exportă notița", + "export_status": "Starea exportului", + "export_type_single": "Doar această notiță fără descendenții ei", + "export_type_subtree": "Această notiță și toți descendenții ei", + "format_html_zip": "HTML în arhivă ZIP - recomandat deoarece păstrează toată formatarea", + "format_markdown": "Markdown - păstrează majoritatea formatării", + "format_opml": "OPML - format de interschimbare pentru editoare cu structură ierarhică (outline). Formatarea, imaginile și fișierele nu vor fi incluse.", + "opml_version_1": "OPML v1.0 - text simplu", + "opml_version_2": "OPML v2.0 - permite și HTML", + "format_html": "HTML - recomandat deoarece păstrează toata formatarea", + "format_pdf": "PDF - cu scopul de printare sau partajare." + }, + "fast_search": { + "description": "Căutarea rapidă dezactivează căutarea la nivel de conținut al notițelor cu scopul de a îmbunătăți performanța de căutare pentru baze de date mari.", + "fast_search": "Căutare rapidă" + }, + "file": { + "file_preview_not_available": "Previzualizarea fișierelor nu este disponibilă pentru acest format de fișier.", + "too_big": "Previzualizarea conține doar primele {{maxNumChars}} caractere din fișier din motive de performanță. Descărcați fișierul și deschideți-l extern pentru a-l putea vedea în întregime." + }, + "file_properties": { + "download": "Descarcă", + "file_size": "Dimensiunea fișierului", + "file_type": "Tipul fișierului", + "note_id": "ID-ul notiței", + "open": "Deschide", + "original_file_name": "Denumirea originală a fișierului", + "title": "Fișier", + "upload_failed": "Încărcarea a unei noi revizii ale fișierului a eșuat.", + "upload_new_revision": "Încarcă o nouă revizie", + "upload_success": "Noua revizie a fișierului a fost încărcată cu succes." + }, + "fonts": { + "apply_font_changes": "Pentru a aplica schimbările de font, click pe", + "font_family": "Familia de fonturi", + "fonts": "Fonturi", + "main_font": "Fontul principal", + "monospace_font": "Fontul monospace (pentru cod)", + "not_all_fonts_available": "Nu toate fonturile listate aici pot fi disponibile pe acest sistem.", + "note_detail_font": "Fontul pentru detaliile notițelor", + "note_tree_and_detail_font_sizing": "Dimensiunea arborelui și a fontului pentru detalii este relativă la dimensiunea fontului principal.", + "note_tree_font": "Fontul arborelui de notițe", + "reload_frontend": "reîncarcă interfața", + "size": "Mărime", + "theme_defined": "Definit de temă", + "generic-fonts": "Fonturi generice", + "handwriting-system-fonts": "Fonturi de sistem cu stil de scris de mână", + "monospace-system-fonts": "Fonturi de sistem monospațiu", + "sans-serif-system-fonts": "Fonturi de sistem fără serifuri", + "serif-system-fonts": "Fonturi de sistem cu serifuri", + "monospace": "Monospațiu", + "sans-serif": "Fără serifuri", + "serif": "Cu serifuri", + "system-default": "Fontul predefinit al sistemului" + }, + "global_menu": { + "about": "Despre Trilium Notes", + "advanced": "Opțiuni avansate", + "configure_launchbar": "Configurează bara de lansare", + "logout": "Deautentificare", + "menu": "Meniu", + "open_dev_tools": "Deschide uneltele de dezvoltare", + "open_new_window": "Deschide o nouă fereastră", + "open_search_history": "Deschide istoricul de căutare", + "open_sql_console": "Deschide consola SQL", + "open_sql_console_history": "Deschide istoricul consolei SQL", + "options": "Opțiuni", + "reload_frontend": "Reîncarcă interfața", + "reload_hint": "Reîncărcarea poate ajuta atunci când există ceva probleme vizuale fără a trebui repornită întreaga aplicație.", + "reset_zoom_level": "Resetează nivelul de zoom", + "show_backend_log": "Afișează log-ul din backend", + "show_help": "Afișează informații", + "show_hidden_subtree": "Afișează ierarhia ascunsă", + "show_shared_notes_subtree": "Afișează ierahia notițelor partajate", + "switch_to_desktop_version": "Schimbă la versiunea de desktop", + "switch_to_mobile_version": "Schimbă la versiunea de mobil", + "toggle_fullscreen": "Comută mod ecran complet", + "zoom": "Zoom", + "zoom_in": "Mărește", + "zoom_out": "Micșorează", + "show-cheatsheet": "Afișează ghidul rapid", + "toggle-zen-mode": "Mod zen" + }, + "heading_style": { + "markdown": "Stil Markdown", + "plain": "Simplu", + "title": "Stil titluri", + "underline": "Subliniat" + }, + "help": { + "activateNextTab": "activează următorul tab", + "activatePreviousTab": "activează tabul anterior", + "blockQuote": "începeți un rând cu > urmat de spațiu pentru un bloc de citat", + "bulletList": "* sau - urmat de spațiu pentru o listă punctată", + "close": "Închide", + "closeActiveTab": "închide tabul activ", + "collapseExpand": "LEFT, RIGHT - minimizează/expandează nodul", + "collapseSubTree": "minimizează subarborele", + "collapseWholeTree": "minimizează întregul arbore de notițe", + "copyNotes": "copiază notița activă (sau selecția curentă) în clipboard (utilizat pentru clonare)", + "createEditLink": "Ctrl+K - crează/editează legătură externă", + "createInternalLink": "crează legătură internă", + "createNoteAfter": "crează o nouă notiță după notița activă", + "createNoteInto": "crează o subnotiță în notița activă", + "creatingNotes": "Crearea notițelor", + "cutNotes": "decupează notița curentă (sau selecția curentă) în clipboard (utilizată pentru mutarea notițelor)", + "deleteNotes": "șterge notița/subarborele", + "editBranchPrefix": "editează prefixul a unei clone ale notiței active", + "editNoteTitle": "va sări de la arborele de notițe către titlul notiței. Enter de la titlul notiței va sări către editorul de text. Ctrl+. va sări înapoi de la editor către arborele de notițe.", + "editingNotes": "Editarea notițelor", + "followLink": "urmărește link-ul sub cursor", + "fullDocumentation": "Instrucțiuni (documentația completă se regăsește online)", + "goBackForwards": "mergi înapoi/înainte în istoric", + "goUpDown": "UP, DOWN - mergi sus/jos în lista de notițe", + "headings": "##, ###, #### etc. urmat de spațiu pentru titluri", + "inPageSearch": "caută în interiorul paginii", + "insertDateTime": "inserează data și timpul curente la poziția cursorului", + "jumpToParentNote": "Backspace - sari la pagina părinte", + "jumpToTreePane": "sari către arborele de notițe și scrolează către notița activă", + "markdownAutoformat": "Formatare în stil Markdown", + "moveNoteUpDown": "mută notița sus/jos în lista de notițe", + "moveNoteUpHierarchy": "mută notița mai sus în ierarhie", + "movingCloningNotes": "Mutarea/clonarea notițelor", + "multiSelectNote": "selectează multiplu notița de sus/jos", + "newTabNoteLink": "CTRL+clic - (sau clic mijlociu) pe o legătură către o notiță va deschide notița într-un tab nou", + "notSet": "nesetat", + "noteNavigation": "Navigarea printre notițe", + "numberedList": "1. sau 1) urmat de spațiu pentru o listă numerotată", + "onlyInDesktop": "Doar pentru desktop (aplicația Electron)", + "openEmptyTab": "deschide un tab nou", + "other": "Altele", + "pasteNotes": "lipește notița/notițele ca sub-notițe în notița activă (ce va muta sau clona în funcție dacă a fost copiată sau decupată în clipboard)", + "quickSearch": "sari la caseta de căutare rapidă", + "reloadFrontend": "reîncarcă interfața Trilium", + "scrollToActiveNote": "scrolează la notița activă", + "selectAllNotes": "selectează toate notițele din nivelul curent", + "selectNote": "Shift+Click - selectează notița", + "showDevTools": "afișează instrumentele de dezvoltatori", + "showJumpToNoteDialog": "afișează ecranul „Sari la”", + "showSQLConsole": "afișează consola SQL", + "tabShortcuts": "Scurtături pentru tab-uri", + "troubleshooting": "Unelte pentru depanare", + "newTabWithActivationNoteLink": "Ctrl+Shift+click - (sau Shift+click mouse mijlociu) pe o legătură către o notiță deschide și activează notița într-un tab nou" + }, + "hide_floating_buttons_button": { + "button_title": "Ascunde butoanele" + }, + "highlights_list": { + "bg_color": "Text cu o culoare de fundal", + "bold": "Text îngroșat", + "color": "Text colorat", + "description": "Se pot personaliza elementele ce vor fi afișate în lista de evidențieri din panoul din dreapta:", + "italic": "Text italic (înclinat)", + "shortcut_info": "Se poate configura o scurtatură la tastatură pentru comutarea rapidă a panoului din dreapta (inclusiv lista de evidențieri) în Opțiuni -> Scurtături (denumirea „toggleRightPane”).", + "title": "Lista de evidențieri", + "underline": "Text subliniat", + "visibility_description": "Se poate ascunde lista de evidențieri la nivel de notiță prin adăugarea etichetei #hideHighlightWidget.", + "visibility_title": "Vizibilitatea listei de evidențieri" + }, + "i18n": { + "first-day-of-the-week": "Prima zi a săptămânii", + "language": "Limbă", + "monday": "Luni", + "sunday": "Duminică", + "title": "Localizare", + "formatting-locale": "Format dată și numere", + "first-week-of-the-year": "Prima săptămână din an", + "first-week-contains-first-day": "Prima săptămână conține prima zi din an", + "first-week-contains-first-thursday": "Prima săptămână conține prima zi de joi din an", + "first-week-has-minimum-days": "Prima săptămână are numărul minim de zile", + "min-days-in-first-week": "Numărul minim de zile pentru prima săptămână", + "first-week-info": "Opțiunea de prima săptămână conține prima zi de joi din an este bazată pe standardul ISO 8601.", + "first-week-warning": "Schimbarea opțiunii primei săptămâni poate cauza duplicate cu notițele săptămânale existente deoarece acestea nu vor fi actualizate retroactiv." + }, + "image_properties": { + "copy_reference_to_clipboard": "Copiază referință în clipboard", + "download": "Descarcă", + "file_size": "Dimensiune fișier", + "file_type": "Tip fișier", + "open": "Deschide", + "original_file_name": "Denumirea originală a fișierului", + "title": "Imagine", + "upload_failed": "Încărcarea a unei noi revizii ale imaginii a eșuat: {{message}}", + "upload_new_revision": "Încarcă o nouă revizie", + "upload_success": "O nouă revizie a fost încărcată cu succes." + }, + "images": { + "download_images_automatically": "Descarcă imaginile automat pentru utilizare fără conexiune la internet.", + "download_images_description": "Textul HTML inserat poate conține referințe către imagini online, Trilium le va identifica și va descărca acele imagini pentru a putea fi disponibile și fără o conexiune la internet.", + "enable_image_compression": "Activează compresia imaginilor", + "images_section_title": "Imagini", + "jpeg_quality_description": "Calitatea JPEG (10 - cea mai slabă calitate, 100 - cea mai bună calitate, se recomandă între 50 și 85)", + "max_image_dimensions": "Lungimea/lățimea maximă a unei imagini (imaginea va fi redimensionată dacă depășește acest prag).", + "max_image_dimensions_unit": "pixeli" + }, + "import": { + "chooseImportFile": "Selectați fișierul de importat", + "close": "Închide", + "codeImportedAsCode": "Importă fișiere identificate drept cod sursă (e.g. .json) drept notițe de tip cod dacă nu este clar din metainformații", + "explodeArchives": "Citește conținutul arhivelor .zip, .enex și .opml.", + "explodeArchivesTooltip": "Dacă această opțiune este bifată atunci Trilium va citi fișiere de tip .zip, .enex și .opml și va crea notițe din fișierele din interiorul acestor arhive. Dacă este nebifat, atunci Trilium va atașa arhiva propriu-zisă la notiță.", + "import": "Importă", + "importDescription": "Conținutul fișierelor selectate va fi importat ca subnotițe în", + "importIntoNote": "Importă în notiță", + "options": "Opțiuni", + "replaceUnderscoresWithSpaces": "Înlocuiește underline-ul cu spații în denumirea notițelor importate", + "safeImport": "Importare sigură", + "safeImportTooltip": "Fișierele de Trilium exportate în format .zip pot conține scripturi executabile ce pot avea un comportament malițios. Importarea sigură va dezactiva execuția automată a tuturor scripturilor importate. Debifați „Importare sigură” dacă arhiva importată conține scripturi executabile dorite și aveți încredere deplină în conținutul acestora.", + "shrinkImages": "Micșorare imagini", + "shrinkImagesTooltip": "

Dacă bifați această opțiune, Trilium va încerca să micșoreze imaginea importată prin scalarea și importarea ei, aspect ce poate afecta calitatea aparentă a imaginii. Dacă nu este bifat, imaginile vor fi importate fără nicio modificare.

Acest lucru nu se aplică la importuri de tip .zip cu metainformații deoarece se asumă că aceste fișiere sunt deja optimizate.

", + "textImportedAsText": "Importă HTML, Markdown și TXT ca notițe de tip text dacă este neclar din metainformații", + "failed": "Eroare la importare: {{message}}.", + "import-status": "Starea importului", + "in-progress": "Import în curs: {{progress}}", + "successful": "Import finalizat cu succes.", + "html_import_tags": { + "description": "Configurați ce etichete HTML să fie păstrate atunci când se importă notițe. Etichetele ce nu se află în această listă vor fi înlăturate la importul de date. Unele etichete (precum „script”) sunt înlăturate indiferent din motive de securitate.", + "placeholder": "Introduceți etichetele HTML, câte unul pe linie", + "reset_button": "Resetează la lista implicită", + "title": "Etichete HTML la importare" } + }, + "include_archived_notes": { + "include_archived_notes": "Include notițele arhivate" + }, + "include_note": { + "box_size_full": "complet (căsuța va afișa întregul text)", + "box_size_medium": "mediu (~ 30 de rânduri)", + "box_size_prompt": "Dimensiunea căsuței notiței incluse:", + "box_size_small": "mică (~ 10 rânduri)", + "button_include": "Include notița Enter", + "dialog_title": "Includere notița", + "label_note": "Notiță", + "placeholder_search": "căutați notița după denumirea ei", + "close": "Închide" + }, + "info": { + "closeButton": "Închide", + "modalTitle": "Mesaj informativ", + "okButton": "OK" + }, + "inherited_attribute_list": { + "no_inherited_attributes": "Niciun atribut moștenit.", + "title": "Atribute moștenite" + }, + "jump_to_note": { + "search_button": "Caută în întregul conținut Ctrl+Enter", + "close": "Închide", + "search_placeholder": "Căutați notițe după nume sau tastați > pentru comenzi..." + }, + "left_pane_toggle": { + "hide_panel": "Ascunde panoul", + "show_panel": "Afișează panoul" + }, + "limit": { + "limit": "Limită", + "take_first_x_results": "Obține doar primele X rezultate." + }, + "markdown_import": { + "dialog_title": "Importă Markdown", + "import_button": "Importă", + "import_success": "Conținutul Markdown a fost importat în document.", + "modal_body_text": "Din cauza limitărilor la nivel de navigator, nu este posibilă citirea clipboard-ului din JavaScript. Inserați Markdown-ul pentru a-l importa în caseta de mai jos și dați clic pe butonul Import", + "close": "Închide" + }, + "max_content_width": { + "apply_changes_description": "Pentru a aplica schimbările de lățime a conținutului, dați click pe", + "default_description": "În mod implicit Trilium limitează lățimea conținutului pentru a îmbunătăți lizibilitatea pentru ferestrele maximizate pe ecrane late.", + "max_width_label": "Lungimea maximă a conținutului", + "max_width_unit": "pixeli", + "reload_button": "reîncarcă interfața", + "reload_description": "schimbări din opțiunile de afișare", + "title": "Lățime conținut" + }, + "mobile_detail_menu": { + "delete_this_note": "Șterge această notiță", + "error_cannot_get_branch_id": "Nu s-a putut obține branchId-ul pentru calea „{{notePath}}”", + "error_unrecognized_command": "Comandă nerecunoscută „{{command}}”", + "insert_child_note": "Inserează subnotiță" + }, + "move_note": { + "clone_note_new_parent": "clonează notița la noul părinte dacă notița are mai multe clone/ramuri (când nu este clar care ramură trebuie ștearsă)", + "move_note": "Mută notița", + "move_note_new_parent": "mută notița în noul părinte dacă notița are unul singur (ramura veche este ștearsă și o ramură nouă este creată în noul părinte)", + "nothing_will_happen": "nu se va întampla nimic dacă notița nu poate fi mutată la notița destinație (deoarece s-ar crea un ciclu în arbore)", + "on_all_matched_notes": "Pentru toate notițele găsite", + "target_parent_note": "notița părinte destinație", + "to": "la" + }, + "move_pane_button": { + "move_left": "Mută la stânga", + "move_right": "Mută la dreapta" + }, + "move_to": { + "dialog_title": "Mută notițele în...", + "error_no_path": "Nicio cale la care să poată fi mutate.", + "move_button": "Mută la notița selectată enter", + "move_success_message": "Notițele selectate au fost mutate în", + "notes_to_move": "Notițe de mutat", + "search_placeholder": "căutați notița după denumirea ei", + "target_parent_note": "Notița părinte destinație", + "close": "Închide" + }, + "native_title_bar": { + "disabled": "dezactivată", + "enabled": "activată", + "title": "Bară de titlu nativă (necesită repornirea aplicației)" + }, + "network_connections": { + "check_for_updates": "Verifică automat pentru actualizări", + "network_connections_title": "Conexiuni la rețea" + }, + "note_actions": { + "convert_into_attachment": "Convertește în atașament", + "delete_note": "Șterge notița", + "export_note": "Exportă notița", + "import_files": "Importă fișiere", + "note_attachments": "Atașamente notițe", + "note_source": "Sursa notiței", + "open_note_custom": "Deschide notiță personalizată", + "open_note_externally": "Deschide notița extern", + "open_note_externally_title": "Fișierul va fi deschis într-o aplicație externă și urmărită pentru modificări. Ulterior se va putea încărca versiunea modificată înapoi în Trilium.", + "print_note": "Imprimare notiță", + "re_render_note": "Reinterpretare notiță", + "save_revision": "Salvează o nouă revizie", + "search_in_note": "Caută în notiță", + "convert_into_attachment_failed": "Nu s-a putut converti notița „{{title}}”.", + "convert_into_attachment_successful": "Notița „{{title}}” a fost convertită în atașament.", + "convert_into_attachment_prompt": "Doriți convertirea notiței „{{title}}” într-un atașament al notiței părinte?", + "print_pdf": "Exportare ca PDF..." + }, + "note_erasure_timeout": { + "deleted_notes_erased": "Notițele șterse au fost eliminate permanent.", + "erase_deleted_notes_now": "Elimină notițele șterse acum", + "erase_notes_after": "Elimină notițele șterse după:", + "manual_erasing_description": "Se poate rula o eliminare manuală (fără a lua în considerare timpul definit mai sus):", + "note_erasure_description": "Notițele șterse (precum și atributele, reviziile) sunt prima oară doar marcate drept șterse și este posibil să fie recuperate din ecranul Notițe recente. După o perioadă de timp, notițele șterse vor fi „eliminate”, caz în care conținutul lor nu se poate recupera. Această setare permite configurarea duratei de timp dintre ștergerea și eliminarea notițelor.", + "note_erasure_timeout_title": "Timpul de eliminare automată a notițelor șterse" + }, + "note_info_widget": { + "calculate": "calculează", + "created": "Creată la", + "modified": "Modificată la", + "note_id": "ID-ul notiței", + "note_size": "Dimensiunea notiței", + "note_size_info": "Dimensiunea notiței reprezintă o aproximare a cerințelor de stocare ale acestei notițe. Ia în considerare conținutul notiței dar și ale reviziilor sale.", + "subtree_size": "(dimensiunea sub-arborelui: {{size}} în {{count}} notițe)", + "title": "Informații despre notiță", + "type": "Tip" + }, + "note_launcher": { + "this_launcher_doesnt_define_target_note": "Acesată scurtătură nu definește o notiță-destinație." + }, + "note_map": { + "collapse": "Micșorează la dimensiunea normală", + "open_full": "Expandează la maximum", + "title": "Harta notițelor", + "fix-nodes": "Fixează nodurile", + "link-distance": "Distanța dintre legături" + }, + "note_paths": { + "archived": "Arhivat", + "clone_button": "Clonează notița într-o nouă locație...", + "intro_not_placed": "Notița n-a fost plasată încă în arborele de notițe.", + "intro_placed": "Notița este plasată în următoarele căi:", + "outside_hoisted": "Această cale se află în afara notiței focalizate și este necesară defocalizarea.", + "search": "Caută", + "title": "Căile notiței" + }, + "note_properties": { + "info": "Informații", + "this_note_was_originally_taken_from": "Această notiță a fost preluată original de la:" + }, + "note_type_chooser": { + "modal_body": "Selectați tipul notiței/șablonul pentru noua notiță:", + "modal_title": "Selectați tipul notiței", + "templates": "Șabloane:", + "close": "Închide", + "change_path_prompt": "Selectați locul unde să se creeze noua notiță:", + "search_placeholder": "căutare cale notiță după nume (cea implicită dacă este necompletat)" + }, + "onclick_button": { + "no_click_handler": "Butonul „{{componentId}}” nu are nicio acțiune la clic definită" + }, + "options_widget": { + "options_change_saved": "Schimbarea opțiunilor a fost înregistrată.", + "options_status": "Starea opțiunilor" + }, + "order_by": { + "asc": "Ascendent (implicit)", + "children_count": "Numărul subnotițelor", + "content_and_attachments_and_revisions_size": "Dimensiunea conținutului notiței incluzând atașamentele și reviziile", + "content_and_attachments_size": "Dimensiunea conținutului notiței incluzând atașamente", + "content_size": "Dimensiunea conținutului notiței", + "date_created": "Data creării", + "date_modified": "Data ultimei modificări", + "desc": "Descendent", + "order_by": "Ordonează după", + "owned_label_count": "Numărul de etichete", + "owned_relation_count": "Numărul de relații", + "parent_count": "Numărul de clone", + "random": "Ordine aleatorie", + "relevancy": "Relevanță (implicit)", + "revision_count": "Numărul de revizii", + "target_relation_count": "Numărul de relații către notiță", + "title": "Titlu" + }, + "owned_attribute_list": { + "owned_attributes": "Atribute proprii" + }, + "password": { + "alert_message": "Aveți grijă să nu uitați parola. Parola este utilizată pentru a accesa interfața web și pentru a cripta notițele protejate. Dacă uitați parola, toate notițele protejate se vor pierde pentru totdeauna.", + "change_password": "Schimbă parola", + "change_password_heading": "Schimbarea parolei", + "for_more_info": "pentru mai multe informații.", + "heading": "Parolă", + "new_password": "Parolă nouă", + "new_password_confirmation": "Confirmarea noii parole", + "old_password": "Parola veche", + "password_changed_success": "Parola a fost schimbată. Trilium se va reîncărca după apăsarea butonului OK.", + "password_mismatch": "Noile parole nu coincid.", + "protected_session_timeout": "Timpul de expirare a sesiunii protejate", + "protected_session_timeout_description": "Timpul de expirare a sesiunii protejate este o perioadă de timp după care sesiunea protejată este ștearsă din memoria navigatorului. Aceasta este măsurată de la timpul ultimei interacțiuni cu notițele protejate. Vezi", + "protected_session_timeout_label": "Timpul de expirare a sesiunii protejate:", + "reset_confirmation": "Prin resetarea parolei se va pierde pentru totdeauna accesul la notițele protejate existente. Sigur doriți resetarea parolei?", + "reset_link": "click aici pentru a o reseta.", + "reset_success_message": "Parola a fost resetată. Setați o nouă parolă", + "set_password": "Setează parola", + "set_password_heading": "Schimbarea parolei", + "wiki": "wiki" + }, + "password_not_set": { + "body1": "Notițele protejate sunt criptate utilizând parola de utilizator, dar nu a fost setată nicio parolă.", + "body2": "Pentru a putea să protejați notițe, clic aici pentru a deschide ecranul de opțiuni și pentru a seta parola.", + "title": "Parola nu este setată", + "close": "Închide" + }, + "promoted_attributes": { + "add_new_attribute": "Adaugă un nou atribut", + "open_external_link": "Deschide legătură externă", + "promoted_attributes": "Atribute promovate", + "remove_this_attribute": "Elimină acest atribut", + "unknown_attribute_type": "Tip de atribut necunoscut „{{type}}”", + "unknown_label_type": "Tip de etichetă necunoscut „{{type}}”", + "url_placeholder": "http://siteweb...", + "unset-field-placeholder": "nesetat", + "remove_color": "Înlătura culoarea" + }, + "prompt": { + "defaultTitle": "Aviz", + "ok": "OK enter", + "title": "Aviz", + "close": "Închide" + }, + "protected_session": { + "enter_password_instruction": "Afișarea notițelor protejate necesită introducerea parolei:", + "start_session_button": "Deschide sesiunea protejată enter", + "started": "Sesiunea protejată este activă.", + "wrong_password": "Parolă greșită.", + "protecting-finished-successfully": "Protejarea a avut succes.", + "protecting-in-progress": "Protejare în curs: {{count}}", + "protecting-title": "Stare protejare", + "unprotecting-title": "Stare deprotejare", + "unprotecting-finished-successfully": "Deprotejarea a avut succes.", + "unprotecting-in-progress-count": "Deprotejare în curs: {{count}}" + }, + "protected_session_password": { + "close_label": "Închide", + "form_label": "Pentru a putea continua cu acțiunea cerută este nevoie să fie pornită sesiunea protejată prin introducerea parolei:", + "help_title": "Informații despre notițe protejate", + "modal_title": "Sesiune protejată", + "start_button": "Pornește sesiunea protejată enter" + }, + "protected_session_status": { + "active": "Sesiunea protejată este activă. Clic pentru a închide sesiunea protejată.", + "inactive": "Clic pentru a porni sesiunea protejată" + }, + "recent_changes": { + "confirm_undelete": "Doriți să restaurați această notiță și subnotițele ei?", + "deleted_notes_message": "Notițele șterse au fost eliminate.", + "erase_notes_button": "Elimină notițele șterse", + "no_changes_message": "Încă nicio schimbare...", + "title": "Modificări recente", + "undelete_link": "restaurare", + "close": "Închide" + }, + "relation_map": { + "cannot_match_transform": "Nu s-a putut identifica transformarea: {{transform}}", + "click_on_canvas_to_place_new_note": "Clic pentru a plasa o nouă notiță", + "confirm_remove_relation": "Doriți ștergerea relației?", + "connection_exists": "Deja există conexiunea „{{name}}” dintre aceste notițe.", + "default_new_note_title": "notiță nouă", + "edit_title": "Editare titlu", + "enter_new_title": "Introduceți noul titlu:", + "enter_title_of_new_note": "Introduceți titlul noii notițe", + "note_already_in_diagram": "Notița „{{title}}” deja se află pe diagramă.", + "note_not_found": "Notița „{{noteId}}” nu a putut fi găsită!", + "open_in_new_tab": "Deschide într-un tab nou", + "remove_note": "Șterge notița", + "remove_relation": "Șterge relația", + "rename_note": "Redenumește notița", + "specify_new_relation_name": "Introduceți denumirea noii relații (caractere permise: alfanumerice, două puncte și underline):", + "start_dragging_relations": "Glisați relațiile de aici peste o altă notiță." + }, + "relation_map_buttons": { + "create_child_note_title": "Crează o subnotiță și adaug-o în harta relațiilor", + "reset_pan_zoom_title": "Resetează poziția și zoom-ul la valorile implicite", + "zoom_in_title": "Mărire", + "zoom_out_title": "Micșorare" + }, + "rename_label": { + "name_title": "Caracterele permise sunt alfanumerice, underline și două puncte.", + "new_name_placeholder": "noul nume", + "old_name_placeholder": "vechiul nume", + "rename_label": "Redenumește eticheta", + "rename_label_from": "Redenumește eticheta de la", + "to": "La" + }, + "rename_note": { + "api_docs": "Vedeți documentația API pentru notițe și proprietăților dateCreatedObj / utcDateCreatedObj pentru detalii.", + "click_help_icon": "Clic pe iconița de ajutor din partea dreapta pentru a vedea toate opțiunile", + "evaluated_as_js_string": "Valoare introdusă este evaluată prin JavaScript și poate fi astfel îmbogățită cu conținut dinamic prin intermediul variabilei injectate note (notița ce este redenumită). Exemple:", + "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - notițele găsite sunt prefixate cu luna și ziua creării notiței", + "example_new_title": "NOU: ${note.title} - notițele identificate sunt prefixate cu „NOU: ”", + "example_note": "Notiță - toate notițele identificate sunt redenumite în „Notiță”", + "new_note_title": "noul titlu al notiței", + "rename_note": "Redenumește notița", + "rename_note_title_to": "Redenumește notița în" + }, + "rename_relation": { + "allowed_characters": "Se permit caractere alfanumerice, underline și două puncte.", + "new_name": "noul nume", + "old_name": "vechiul nume", + "rename_relation": "Redenumește relația", + "rename_relation_from": "Redenumește relația din", + "to": "În" + }, + "render": { + "note_detail_render_help_1": "Această notă informativă este afișată deoarece această notiță de tip „Randare HTML” nu are relația necesară pentru a funcționa corespunzător.", + "note_detail_render_help_2": "Notița de tipul „Render HTML” este utilizată pentru scriptare. Pe scurt, se folosește o notiță de tip cod HTML (opțional cu niște JavaScript) și această notiță o va randa. Pentru a funcționa, trebuie definită o relație denumită „renderNote” ce indică notița HTML de randat." + }, + "revisions": { + "confirm_delete": "Doriți ștergerea acestei revizii?", + "confirm_delete_all": "Doriți ștergerea tuturor reviziilor acestei notițe?", + "confirm_restore": "Doriți restaurarea acestei revizii? Acest lucru va suprascrie titlul și conținutul curent cu cele ale acestei revizii.", + "delete_all_button": "Șterge toate reviziile", + "delete_all_revisions": "Șterge toate reviziile acestei notițe", + "delete_button": "Şterge", + "download_button": "Descarcă", + "file_size": "Dimensiune fișier:", + "help_title": "Informații despre reviziile notițelor", + "mime": "MIME:", + "no_revisions": "Nu există încă nicio revizie pentru această notiță...", + "note_revisions": "Revizii ale notiței", + "preview": "Previzualizare:", + "preview_not_available": "Nu este disponibilă o previzualizare pentru acest tip de notiță.", + "restore_button": "Restaurează", + "revision_deleted": "Revizia notiței a fost ștearsă.", + "revision_last_edited": "Revizia a fost ultima oară modificată pe {{date}}", + "revision_restored": "Revizia notiței a fost restaurată.", + "revisions_deleted": "Notița reviziei a fost ștearsă.", + "maximum_revisions": "Numărul maxim de revizii pentru notița curentă: {{number}}.", + "settings": "Setări revizii ale notițelor", + "snapshot_interval": "Intervalul de creare a reviziilor pentru notițe: {{seconds}}s.", + "close": "Închide" + }, + "revisions_button": { + "note_revisions": "Revizii ale notiței" + }, + "revisions_snapshot_interval": { + "note_revisions_snapshot_description": "Intervalul de salvare a reviziilor este timpul după care se crează o nouă revizie a unei notițe. Vedeți wiki-ul pentru mai multe informații.", + "note_revisions_snapshot_interval_title": "Intervalul de salvare a reviziilor", + "snapshot_time_interval_label": "Intervalul de salvare a reviziilor:" + }, + "ribbon": { + "edited_notes_message": "Tab-ul panglicii „Notițe editate” se va deschide automat pentru notițele zilnice", + "promoted_attributes_message": "Tab-ul panglicii „Atribute promovate” se va deschide automat dacă pentru notița curentă există astfel de atribute", + "widgets": "Widget-uri ale panglicii" + }, + "script_executor": { + "execute_query": "Execută interogarea", + "execute_script": "Execută scriptul", + "query": "Interogare", + "script": "Script" + }, + "search_definition": { + "action": "acțiune", + "actions_executed": "Acțiunile au fost executate.", + "add_search_option": "Adaugă opțiune de căutare:", + "ancestor": "ascendent", + "debug": "depanare", + "debug_description": "Modul de depanare va afișa informații adiționale în consolă pentru a ajuta la depanarea interogărilor complexe", + "fast_search": "căutare rapidă", + "fast_search_description": "Căutarea rapidă dezactivează căutarea la nivel de conținut al notițelor cu scopul de a îmbunătăți performanța de căutare pentru baze de date mari.", + "include_archived": "include arhivate", + "include_archived_notes_description": "Notițele arhivate sunt excluse în mod implicit din rezultatele de căutare, această opțiune le include.", + "limit": "limită", + "limit_description": "Limitează numărul de rezultate", + "order_by": "ordonează după", + "save_to_note": "Salvează în notiță", + "search_button": "Căutare Enter", + "search_execute": "Caută și execută acțiunile", + "search_note_saved": "Notița de căutare a fost salvată în {{- notePathTitle}}", + "search_parameters": "Parametrii de căutare", + "search_script": "script de căutare", + "search_string": "șir de căutat", + "unknown_search_option": "Opțiune de căutare necunoscută „{{searchOptionName}}”" + }, + "search_engine": { + "baidu": "Baidu", + "bing": "Bing", + "custom_name_label": "Denumirea motorului de căutare personalizat", + "custom_name_placeholder": "Personalizați denumirea motorului de căutare", + "custom_search_engine_info": "Un motor de căutare personalizat necesită un nume și un URL. Dacă aceastea nu sunt setate, atunci DuckDuckGo va fi folosit ca motor implicit.", + "custom_url_label": "URL-ul motorului de căutare trebuie să includă „{keyword}” ca substituent pentru termenul căutat.", + "custom_url_placeholder": "Personalizați URL-ul motorului de căutare", + "duckduckgo": "DuckDuckGo", + "google": "Google", + "predefined_templates_label": "Motoare de căutare predefinite", + "save_button": "Salvează", + "title": "Motor de căutare" + }, + "search_script": { + "description1": "Scripturile de căutare permit definirea rezultatelor de căutare prin rularea unui script. Acest lucru oferă flexibilitatea maximă, atunci când căutarea obișnuită nu este suficientă.", + "description2": "Scriptul de căutare trebuie să fie de tipul „cod” și subtipul „JavaScript (backend)”. Scriptul trebuie să returneze un vector de ID-uri de notiță sau notițele propriu-zise.", + "example_code": "// 1. filtrăm rezultatele inițiale utilizând căutarea obișnuită\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. aplicăm criteriile de căutare personalizate\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", + "example_title": "Vedeți acest exemplu:", + "note": "De remarcat că nu se pot utiliza simultan atât caseta de căutare, cât și script-ul de căutare.", + "placeholder": "căutați notița după denumirea ei", + "title": "Script de căutare:" + }, + "search_string": { + "also_see": "vedeți și", + "complete_help": "informații complete despre sintaxa de căutare", + "error": "Eroare la căutare: {{error}}", + "full_text_search": "Introduceți orice text pentru a căuta în conținutul notițelor", + "label_abc": "reîntoarce notițele cu eticheta „abc”", + "label_date_created": "notițe create în ultima lună", + "label_rock_or_pop": "doar una din etichete trebuie să fie prezentă", + "label_rock_pop": "găsește notițe care au atât eticheta „rock”, cât și „pop”", + "label_year": "găsește notițe ce au eticheta „an” cu valoarea 2019", + "label_year_comparison": "comparații numerice (de asemenea >, >=, <).", + "placeholder": "cuvinte cheie pentru căutarea în conținut, #etichetă = valoare...", + "search_syntax": "Sintaxa de căutare", + "title_column": "Textul de căutat:", + "search_prefix": "Căutare:" + }, + "shortcuts": { + "action_name": "Denumirea acțiunii", + "confirm_reset": "Confirmați resetarea tuturor scurtăturilor de la tastatură la valoriile implicite?", + "default_shortcuts": "Scurtături implicite", + "description": "Descriere", + "electron_documentation": "Vedeți documentația Electron pentru modificatorii disponibili și codurile pentru taste.", + "keyboard_shortcuts": "Scurtături de la tastatură", + "multiple_shortcuts": "Mai multe scurtături pentru aceeași acțiune pot fi separate prin virgulă.", + "reload_app": "Reîncărcați aplicația pentru a aplica modificările", + "set_all_to_default": "Setează toate scurtăturile la valorile implicite", + "shortcuts": "Scurtături", + "type_text_to_filter": "Scrieți un text pentru a filtra scurtăturile..." + }, + "similar_notes": { + "no_similar_notes_found": "Nu s-a găsit nicio notiță similară.", + "title": "Notițe similare" + }, + "sort_child_notes": { + "ascending": "ascendent", + "date_created": "data creării", + "date_modified": "data modificării", + "descending": "descendent", + "folders": "Dosare", + "natural_sort": "Ordonare naturală", + "natural_sort_language": "Limba pentru ordonare naturală", + "sort": "Ordonare Enter", + "sort_children_by": "Ordonează subnotițele după...", + "sort_folders_at_top": "ordonează dosarele primele", + "sort_with_respect_to_different_character_sorting": "ordonează respectând regulile de sortare și clasificare diferite în funcție de limbă și regiune.", + "sorting_criteria": "Criterii de ordonare", + "sorting_direction": "Direcția de ordonare", + "the_language_code_for_natural_sort": "Codul limbii pentru ordonarea naturală, e.g. „zn-CN” pentru chineză.", + "title": "titlu", + "close": "Închide" + }, + "spellcheck": { + "available_language_codes_label": "Coduri de limbă disponibile:", + "description": "Aceste opțiuni se aplică doar pentru aplicația de desktop, navigatoarele web folosesc propriile corectoare ortografice.", + "enable": "Activează corectorul ortografic", + "language_code_label": "Codurile de limbă", + "language_code_placeholder": "de exemplu „en-US”, „de-AT”", + "multiple_languages_info": "Mai multe limbi pot fi separate prin virgulă, e.g. \"en-US, de-DE, cs\".", + "title": "Corector ortografic", + "restart-required": "Schimbările asupra setărilor corectorului ortografic vor fi aplicate după restartarea aplicației." + }, + "sync": { + "fill_entity_changes_button": "Completează înregistrările de schimbare ale entităților", + "filling_entity_changes": "Se completează înregistrările de schimbare ale entităților...", + "force_full_sync_button": "Forțează sincronizare completă", + "full_sync_triggered": "S-a activat o sincronizare completă", + "sync_rows_filled_successfully": "Rândurile de sincronizare s-au completat cu succes", + "title": "Sincronizare", + "failed": "Eroare la sincronizare: {{message}}", + "finished-successfully": "Sincronizarea a avut succes." + }, + "sync_2": { + "config_title": "Configurația sincronizării", + "handshake_failed": "Comunicarea cu serverul de sincronizare a eșuat, eroare: {{message}}", + "help": "Informații", + "note": "Notiță", + "note_description": "Dacă lăsați câmpul de proxy necompletat, proxy-ul de sistem va fi utilizat (se aplică doar pentru aplicația desktop).", + "proxy_label": "Server-ul proxy utilizat pentru sincronizare (opțional)", + "save": "Salvează", + "server_address": "Adresa instanței de server", + "special_value_description": "O altă valoare specială este noproxy ce ignoră proxy-ul de sistem și respectă NODE_TLS_REJECT_UNAUTHORIZED.", + "test_button": "Probează sincronizarea", + "test_description": "Această opțiune va testa conexiunea și comunicarea cu serverul de sincronizare. Dacă serverul de sincronizare nu este inițializat, acest lucru va rula și o sincronizare cu documentul local.", + "test_title": "Probează sincronizarea", + "timeout": "Timp limită de sincronizare", + "timeout_unit": "milisecunde" + }, + "table_of_contents": { + "description": "Tabela de conținut va apărea în notițele de tip text atunci când notița are un număr de titluri mai mare decât cel definit. Acest număr se poate personaliza:", + "unit": "titluri", + "disable_info": "De asemenea se poate dezactiva tabela de conținut setând o valoare foarte mare.", + "shortcut_info": "Se poate configura și o scurtatură pentru a comuta rapid vizibilitatea panoului din dreapta (inclusiv tabela de conținut) în Opțiuni -> Scurtături (denumirea „toggleRightPane”).", + "title": "Tabelă de conținut" + }, + "text_auto_read_only_size": { + "description": "Marchează pragul în care o notiță de o anumită dimensiune va fi afișată în mod de citire (pentru motive de performanță).", + "label": "Pragul de dimensiune pentru setarea modului de citire automat (la notițe text)", + "title": "Pragul de mod de citire automat", + "unit": "caractere" + }, + "theme": { + "auto_theme": "Temă auto (se adaptează la schema de culori a sistemului)", + "dark_theme": "Temă întunecată", + "light_theme": "Temă luminoasă", + "triliumnext": "TriliumNext Beta (se adaptează la schema de culori a sistemului)", + "triliumnext-light": "TriliumNext Beta (luminoasă)", + "triliumnext-dark": "TriliumNext Beta (întunecată)", + "override_theme_fonts_label": "Suprascrie fonturile temei", + "theme_label": "Temă", + "title": "Tema aplicației", + "layout": "Aspect", + "layout-horizontal-description": "bara de lansare se află sub bara de taburi, bara de taburi este pe toată lungimea.", + "layout-horizontal-title": "Orizontal", + "layout-vertical-title": "Vertical", + "layout-vertical-description": "bara de lansare se află pe stânga (implicit)" + }, + "toast": { + "critical-error": { + "message": "O eroare critică a apărut ce previne pornirea aplicația de client:\n\n{{message}}\n\nAcest lucru este cauzat cel mai probabil de un script care a eșuat în mod neașteptat. Încercați rularea aplicației în modul de siguranță și ulterior remediați problema.", + "title": "Eroare critică" + }, + "widget-error": { + "title": "Eroare la inițializarea unui widget", + "message-custom": "Widget-ul personalizat din notița cu ID-ul „{{id}}”, întitulată ”{{title}}” nu a putut fi inițializată din cauza:\n\n{{message}}", + "message-unknown": "Un widget necunoscut nu a putut fi inițializat din cauza:\n\n{{message}}" + }, + "bundle-error": { + "title": "Eroare la încărcarea unui script personalizat", + "message": "Scriptul din notița cu ID-ul „{{id}}”, întitulată „{{title}}” nu a putut fi executată din cauza:\n\n{{message}}" + } + }, + "tray": { + "enable_tray": "Activează system tray-ul (este necesară repornirea aplicației pentru a avea efect)", + "title": "Tray-ul de sistem" + }, + "update_available": { + "update_available": "Actualizare disponibilă" + }, + "update_label_value": { + "help_text": "Pentru toate notițele găsite, schimbă valoarea etichetei existente.", + "help_text_note": "Se poate apela această metodă și fără o valoare, caz în care eticheta va fi atribuită notiței fără o valoare.", + "label_name_placeholder": "denumirea etichetei", + "label_name_title": "Sunt permise doar caractere alfanumerice, underline și două puncte.", + "new_value_placeholder": "valoarea nouă", + "to_value": "la valoarea", + "update_label_value": "Actualizează valoarea etichetei" + }, + "update_relation_target": { + "allowed_characters": "Sunt permise doar caractere alfanumerice, underline și două puncte.", + "change_target_note": "schimbă notița-țintă a unei relații existente", + "on_all_matched_notes": "Pentru toate notițele găsite:", + "relation_name": "denumirea relației", + "target_note": "notița destinație", + "to": "la", + "update_relation": "Actualizează relația", + "update_relation_target": "Actualizează ținta relației" + }, + "upload_attachments": { + "choose_files": "Selectați fișierele", + "files_will_be_uploaded": "Fișierele vor fi încărcate ca atașamente în", + "options": "Opțuni", + "shrink_images": "Micșorează imaginile", + "tooltip": "Dacă această opțiune este bifată, Trilium va încerca micșorarea imaginilor încărcate prin scalarea și optimizarea lor, aspect ce va putea afecta calitatea imaginilor. Dacă nu este bifată, imaginile vor fi încărcate fără nicio schimbare.", + "upload": "Încărcare", + "upload_attachments_to_note": "Încarcă atașamentele la notiță", + "close": "Închide" + }, + "vacuum_database": { + "button_text": "Compactează baza de date", + "database_vacuumed": "Baza de date a fost curățată", + "description": "Va reconstrui baza de date cu scopul de a-i micșora dimensiunea. Datele nu vor fi afectate.", + "title": "Compactarea bazei de date", + "vacuuming_database": "Baza de date este în curs de compactare..." + }, + "vim_key_bindings": { + "enable_vim_keybindings": "Permite utilizarea combinațiilor de taste în stil Vim pentru notițele de tip cod (fără modul ex)", + "use_vim_keybindings_in_code_notes": "Combinații de taste Vim" + }, + "web_view": { + "create_label": "Pentru a începe, creați o etichetă cu adresa URL de încorporat, e.g. #webViewSrc=\"https://www.google.com\"", + "embed_websites": "Notițele de tip „Vizualizare web” permit încorporarea site-urilor web în Trilium.", + "web_view": "Vizualizare web" + }, + "wrap_lines": { + "enable_line_wrap": "Activează trecerea automată pe rândul următor (poate necesita o reîncărcare a interfeței pentru a avea efect)", + "wrap_lines_in_code_notes": "Trecerea automată pe rândul următor în notițe de cod" + }, + "zoom_factor": { + "description": "Zoom-ul poate fi controlat și prin intermediul scurtăturilor CTRL+- and CTRL+=.", + "title": "Factorul de zoom (doar pentru versiunea desktop)" + }, + "zpetne_odkazy": { + "backlink": "{{count}} legături de retur", + "backlinks": "{{count}} legături de retur", + "relation": "relație" + }, + "svg_export_button": { + "button_title": "Exportă diagrama ca SVG" + }, + "note-map": { + "button-link-map": "Harta legăturilor", + "button-tree-map": "Harta ierarhiei" + }, + "tree-context-menu": { + "advanced": "Opțiuni avansate", + "apply-bulk-actions": "Aplică acțiuni în masă", + "clone-to": "Clonare în...", + "collapse-subtree": "Minimizează subnotițele", + "convert-to-attachment": "Convertește în atașament", + "copy-clone": "Copiază/clonează", + "copy-note-path-to-clipboard": "Copiază calea notiței în clipboard", + "cut": "Decupează", + "delete": "Șterge", + "duplicate": "Dublifică", + "edit-branch-prefix": "Editează prefixul ramurii", + "expand-subtree": "Expandează subnotițele", + "export": "Exportă", + "import-into-note": "Importă în notiță", + "insert-child-note": "Inserează subnotiță", + "insert-note-after": "Inserează după notiță", + "move-to": "Mutare la...", + "open-in-a-new-split": "Deschide în lateral", + "open-in-a-new-tab": "Deschide în tab nou Ctrl+Clic", + "paste-after": "Lipește după notiță", + "paste-into": "Lipește în notiță", + "protect-subtree": "Protejează ierarhia", + "recent-changes-in-subtree": "Schimbări recente în ierarhie", + "search-in-subtree": "Caută în ierarhie", + "sort-by": "Ordonare după...", + "unprotect-subtree": "Deprotejează ierarhia", + "hoist-note": "Focalizează notița", + "unhoist-note": "Defocalizează notița", + "converted-to-attachments": "{{count}} notițe au fost convertite în atașamente.", + "convert-to-attachment-confirm": "Doriți convertirea notițelor selectate în atașamente ale notiței părinte?", + "open-in-popup": "Editare rapidă" + }, + "shared_info": { + "help_link": "Pentru informații vizitați wiki-ul.", + "shared_locally": "Această notiță este partajată local la", + "shared_publicly": "Această notiță este partajată public la" + }, + "note_types": { + "book": "Colecție", + "canvas": "Schiță", + "code": "Cod sursă", + "mermaid-diagram": "Diagramă Mermaid", + "mind-map": "Hartă mentală", + "note-map": "Hartă notițe", + "relation-map": "Hartă relații", + "render-note": "Randare notiță", + "saved-search": "Căutare salvată", + "text": "Text", + "web-view": "Vizualizare web", + "doc": "Document", + "file": "Fișier", + "image": "Imagine", + "launcher": "Scurtătură", + "widget": "Widget", + "confirm-change": "Nu se recomandă schimbarea tipului notiței atunci când ea are un conținut. Procedați oricum?", + "geo-map": "Hartă geografică", + "beta-feature": "Beta", + "task-list": "Listă de sarcini", + "ai-chat": "Discuție cu AI-ul", + "new-feature": "Nou", + "collections": "Colecții" + }, + "protect_note": { + "toggle-off": "Deprotejează notița", + "toggle-off-hint": "Notița este protejată, click pentru a o deproteja", + "toggle-on": "Protejează notița", + "toggle-on-hint": "Notița nu este protejată, clic pentru a o proteja" + }, + "shared_switch": { + "inherited": "Nu se poate înlătura partajarea deoarece notița este partajată prin moștenirea de la o notiță părinte.", + "shared": "Partajată", + "shared-branch": "Această notiță există doar ca o notiță partajată, anularea partajării ar cauza ștergerea ei. Sigur doriți ștergerea notiței?", + "toggle-off-title": "Anulează partajarea notițeii", + "toggle-on-title": "Partajează notița" + }, + "template_switch": { + "template": "Șablon", + "toggle-off-hint": "Înlătură notița ca șablon", + "toggle-on-hint": "Marchează notița drept șablon" + }, + "open-help-page": "Deschide pagina de informații", + "find": { + "match_words": "doar cuvinte întregi", + "case_sensitive": "ține cont de majuscule", + "replace_all": "Înlocuiește totul", + "replace_placeholder": "Înlocuiește cu...", + "replace": "Înlocuiește", + "find_placeholder": "Căutați în text..." + }, + "highlights_list_2": { + "options": "Setări", + "title": "Listă de evidențieri" + }, + "note_icon": { + "change_note_icon": "Schimbă iconița notiței", + "category": "Categorie:", + "reset-default": "Resetează la iconița implicită", + "search": "Căutare:" + }, + "show_highlights_list_widget_button": { + "show_highlights_list": "Afișează lista de evidențieri" + }, + "show_toc_widget_button": { + "show_toc": "Afișează cuprinsul" + }, + "sync_status": { + "connected_no_changes": "

Conectat la server-ul de sincronizare.
Toate modificările au fost deja sincronizate.

Clic pentru a forța o sincronizare.

", + "connected_with_changes": "

Conectat la server-ul de sincronizare.
Există modificări nesincronizate.

Clic pentru a rula o sincronizare.

", + "disconnected_no_changes": "

Nu s-a putut stabili conexiunea la server-ul de sincronizare.
Toate modificările cunoscute au fost deja sincronizate.

Clic pentru a reîncerca sincronizarea.

", + "disconnected_with_changes": "

Nu s-a putut realiza conexiunea la server-ul de sincronizare.
Există modificări nesincronizate.

Clic pentru a rula o sincronizare.

", + "in_progress": "Sincronizare cu server-ul în curs.", + "unknown": "

Starea sincronizării va fi cunoscută după o încercare de sincronizare.

Clic pentru a rula sincronizarea acum.

" + }, + "quick-search": { + "more-results": "... și încă {{number}} rezultate.", + "no-results": "Niciun rezultat găsit", + "placeholder": "Căutare rapidă", + "searching": "Se caută...", + "show-in-full-search": "Afișează în căutare completă" + }, + "note_tree": { + "automatically-collapse-notes": "Minimează automat notițele", + "automatically-collapse-notes-title": "Notițele vor fi minimizate automat după o perioadă de inactivitate pentru a simplifica ierarhia notițelor.", + "collapse-title": "Minimizează ierarhia de notițe", + "hide-archived-notes": "Ascunde notițele arhivate", + "save-changes": "Salvează și aplică modificările", + "scroll-active-title": "Mergi la notița activă", + "tree-settings-title": "Setări ale ierarhiei notițelor", + "auto-collapsing-notes-after-inactivity": "Se minimizează notițele după inactivitate...", + "saved-search-note-refreshed": "Notița de căutare salvată a fost reîmprospătată.", + "create-child-note": "Crează subnotiță", + "hoist-this-note-workspace": "Focalizează spațiul de lucru", + "refresh-saved-search-results": "Reîmprospătează căutarea salvată", + "unhoist": "Defocalizează notița" + }, + "title_bar_buttons": { + "window-on-top": "Menține fereastra mereu vizibilă" + }, + "note_detail": { + "could_not_find_typewidget": "Nu s-a putut găsi widget-ul corespunzător tipului „{{type}}”" + }, + "note_title": { + "placeholder": "introduceți titlul notiței aici..." + }, + "revisions_snapshot_limit": { + "erase_excess_revision_snapshots": "Șterge acum reviziile excesive", + "erase_excess_revision_snapshots_prompt": "Reviziile excesive au fost șterse.", + "note_revisions_snapshot_limit_description": "Limita numărului de revizii se referă la numărul maxim de revizii pentru fiecare notiță. -1 reprezintă nicio limită, 0 înseamnă ștergerea tuturor reviziilor. Se poate seta valoarea individual pentru o notiță prin eticheta #versioningLimit.", + "note_revisions_snapshot_limit_title": "Limita de revizii a notițelor", + "snapshot_number_limit_label": "Numărul maxim de revizii pentru notițe:", + "snapshot_number_limit_unit": "revizii" + }, + "search_result": { + "no_notes_found": "Nu au fost găsite notițe pentru parametrii de căutare dați.", + "search_not_executed": "Căutarea n-a fost rulată încă. Clic pe butonul „Căutare” de deasupra pentru a vedea rezultatele." + }, + "show_floating_buttons_button": { + "button_title": "Afișează butoanele" + }, + "spacer": { + "configure_launchbar": "Configurează bara de lansare" + }, + "sql_result": { + "no_rows": "Nu s-a găsit niciun rând pentru această interogare" + }, + "sql_table_schemas": { + "tables": "Tabele" + }, + "app_context": { + "please_wait_for_save": "Așteptați câteva secunde până se salvează toate datele și apoi reîncercați." + }, + "tab_row": { + "add_new_tab": "Adaugă tab nou", + "close": "Închide", + "close_all_tabs": "Închide toate taburile", + "close_other_tabs": "Închide celelalte taburi", + "close_tab": "Închide tab", + "move_tab_to_new_window": "Mută acest tab în altă fereastră", + "new_tab": "Tab nou", + "close_right_tabs": "Închide taburile din dreapta", + "copy_tab_to_new_window": "Copiază tab-ul într-o fereastră nouă", + "reopen_last_tab": "Redeschide ultimul tab închis" + }, + "toc": { + "options": "Setări", + "table_of_contents": "Cuprins" + }, + "watched_file_update_status": { + "file_last_modified": "Fișierul a fost ultima oară modificat la data de .", + "ignore_this_change": "Ignoră această schimbare", + "upload_modified_file": "Încarcă fișier modificat" + }, + "clipboard": { + "copied": "Notițele au fost copiate în clipboard.", + "cut": "Notițele au fost decupate în clipboard.", + "copy_failed": "Nu se poate copia în clipboard din cauza unor probleme de permisiuni.", + "copy_success": "S-a copiat în clipboard." + }, + "entrypoints": { + "note-executed": "Notița a fost executată.", + "note-revision-created": "S-a creat o revizie a notiței.", + "sql-error": "A apărut o eroare la executarea interogării SQL: {{message}}" + }, + "image": { + "cannot-copy": "Nu s-a putut copia în clipboard referința către imagine.", + "copied-to-clipboard": "S-a copiat o referință către imagine în clipboard. Aceasta se poate lipi în orice notiță text." + }, + "note_create": { + "duplicated": "Notița „{{title}}” a fost dublificată." + }, + "branches": { + "cannot-move-notes-here": "Nu se pot muta notițe aici.", + "delete-finished-successfully": "Ștergerea a avut succes.", + "delete-notes-in-progress": "Ștergere în curs: {{count}}", + "delete-status": "Starea ștergerii", + "undeleting-notes-finished-successfully": "Restaurarea notițelor a avut succes.", + "undeleting-notes-in-progress": "Restaurare notițe în curs: {{count}}" + }, + "frontend_script_api": { + "async_warning": "Ați trimis o funcție asincronă metodei `api.runOnBackend()` și este posibil să nu se comporte așa cum vă așteptați.\\nFie faceți metoda sincronă (prin ștergerea cuvântului-cheie `async`), sau folosiți `api.runAsyncOnBackendWithManualTransactionHandling()`.", + "sync_warning": "Ați trimis o funcție sincronă funcției `api.runAsyncOnBackendWithManualTransactionHandling()`,\\ndar cel mai probabil trebuie folosit `api.runOnBackend()` în schimb." + }, + "ws": { + "consistency-checks-failed": "Au fost identificate erori de consistență! Vedeți mai multe detalii în loguri.", + "encountered-error": "A fost întâmpinată o eroare: „{{message}}”. Vedeți în loguri pentru mai multe detalii.", + "sync-check-failed": "Verificările de sincronizare au eșuat!" + }, + "hoisted_note": { + "confirm_unhoisting": "Notița dorită „{{requestedNote}}” este în afara ierarhiei notiței focalizate „{{hoistedNote}}”. Doriți defocalizarea pentru a accesa notița?" + }, + "launcher_context_menu": { + "reset_launcher_confirm": "Doriți resetarea lansatorului „{{title}}”? Toate datele și setările din această notiță (și subnotițele ei) vor fi pierdute, iar lansatorul va fi resetat în poziția lui originală.", + "add-custom-widget": "Adaugă un widget personalizat", + "add-note-launcher": "Adaugă un lansator de notiță", + "add-script-launcher": "Adaugă un lansator de script", + "add-spacer": "Adaugă un separator", + "delete": "Șterge ", + "duplicate-launcher": "Dublifică lansatorul ", + "move-to-available-launchers": "Mută în Lansatoare disponibile", + "move-to-visible-launchers": "Mută în Lansatoare vizibile", + "reset": "Resetează" + }, + "editable-text": { + "auto-detect-language": "Automat" + }, + "highlighting": { + "color-scheme": "Temă de culori", + "description": "Controlează evidențierea de sintaxă pentru blocurile de cod în interiorul notițelor text, notițele de tip cod nu vor fi afectate de aceste setări.", + "title": "Blocuri de cod" + }, + "code_block": { + "word_wrapping": "Încadrare text", + "theme_none": "Fără evidențiere de sintaxă", + "theme_group_dark": "Teme întunecate", + "theme_group_light": "Teme luminoase", + "copy_title": "Copiază în clipboard" + }, + "classic_editor_toolbar": { + "title": "Formatare" + }, + "editing": { + "editor_type": { + "label": "Bară de formatare", + "floating": { + "title": "Editor cu bară flotantă", + "description": "uneltele de editare vor apărea lângă cursor;" + }, + "fixed": { + "title": "Editor cu bară fixă", + "description": "uneltele de editare vor apărea în tab-ul „Formatare” din panglică." + }, + "multiline-toolbar": "Afișează bara de unelte pe mai multe rânduri dacă nu încape." + } + }, + "editor": { + "title": "Editor" + }, + "electron_context_menu": { + "add-term-to-dictionary": "Adaugă „{{term}}” în dicționar", + "copy": "Copiază", + "copy-link": "Copiază legătura", + "cut": "Decupează", + "paste": "Lipește", + "paste-as-plain-text": "Lipește doar textul", + "search_online": "Caută „{{term}}” cu {{searchEngine}}" + }, + "image_context_menu": { + "copy_image_to_clipboard": "Copiază imaginea în clipboard", + "copy_reference_to_clipboard": "Copiază referința în clipboard" + }, + "link_context_menu": { + "open_note_in_new_split": "Deschide notița într-un panou nou", + "open_note_in_new_tab": "Deschide notița într-un tab nou", + "open_note_in_new_window": "Deschide notița într-o fereastră nouă", + "open_note_in_popup": "Editare rapidă" + }, + "note_autocomplete": { + "clear-text-field": "Șterge conținutul casetei", + "create-note": "Crează și inserează legătură către „{{term}}”", + "full-text-search": "Căutare în întregimea textului", + "insert-external-link": "Inserează legătură extern către „{{term}}”", + "search-for": "Caută „{{term}}”", + "show-recent-notes": "Afișează notițele recente" + }, + "electron_integration": { + "background-effects": "Activează efectele de fundal (doar pentru Windows 11)", + "background-effects-description": "Efectul Mica adaugă un fundal estompat și elegant ferestrelor aplicațiilor, creând profunzime și un aspect modern.", + "desktop-application": "Aplicația desktop", + "native-title-bar": "Bară de titlu nativă", + "native-title-bar-description": "Pentru Windows și macOS, dezactivarea bării de titlu native face aplicația să pară mai compactă. Pe Linux, păstrarea bării integrează mai bine aplicația cu restul sistemului de operare.", + "restart-app-button": "Restartează aplicația pentru a aplica setările", + "zoom-factor": "Factor de zoom" + }, + "note_tooltip": { + "note-has-been-deleted": "Notița a fost ștearsă.", + "quick-edit": "Editare rapidă" + }, + "notes": { + "duplicate-note-suffix": "(dupl.)", + "duplicate-note-title": "{{- noteTitle }} {{ duplicateNoteSuffix }}" + }, + "geo-map-context": { + "open-location": "Deschide locația", + "remove-from-map": "Înlătură de pe hartă", + "add-note": "Adaugă un marcaj la această poziție" + }, + "geo-map": { + "create-child-note-title": "Crează o notiță nouă și adaug-o pe hartă", + "unable-to-load-map": "Nu s-a putut încărca harta.", + "create-child-note-instruction": "Click pe hartă pentru a crea o nouă notiță la acea poziție sau apăsați Escape pentru a anula." + }, + "duration": { + "days": "zile", + "hours": "ore", + "minutes": "minute", + "seconds": "secunde" + }, + "help-button": { + "title": "Deschide ghidul relevant" + }, + "zen_mode": { + "button_exit": "Ieși din modul zen" + }, + "time_selector": { + "minimum_input": "Valoarea introdusă trebuie să fie de cel puțin {{minimumSeconds}} secunde.", + "invalid_input": "Valoarea de timp introdusă nu este corectă." + }, + "share": { + "title": "Setări de partajare", + "show_login_link_description": "Adaugă o legătură de autentificare în subsolul paginilor partajate", + "show_login_link": "Afișează legătura de autentificare în tema de partajare", + "share_root_not_shared": "Notița „{{noteTitle}}” are eticheta #shareRoot dar nu este partajată", + "share_root_not_found": "Nu s-a identificat nicio notiță cu eticheta `#shareRoot`", + "share_root_found": "Notița principală pentru partajare „{{noteTitle}}” este pregătită", + "redirect_bare_domain_description": "Redirecționează utilizatorii anonimi către pagina de partajare în locul paginii de autentificare", + "redirect_bare_domain": "Redirecționează domeniul principal la pagina de partajare", + "check_share_root": "Verificare stare pagină partajată principală" + }, + "tasks": { + "due": { + "today": "Azi", + "tomorrow": "Mâine", + "yesterday": "Ieri" + } + }, + "content_widget": { + "unknown_widget": "Nu s-a putut găsi widget-ul corespunzător pentru „{{id}}”." + }, + "code-editor-options": { + "title": "Editor" + }, + "content_language": { + "description": "Selectați una sau mai multe limbi ce vor apărea în selecția limbii din cadrul secțiunii „Proprietăți de bază” pentru notițele de tip text (editabile sau doar în citire).", + "title": "Limbi pentru conținutul notițelor" + }, + "hidden-subtree": { + "localization": "Limbă și regiune" + }, + "note_language": { + "configure-languages": "Configurează limbile...", + "not_set": "Nedefinită" + }, + "png_export_button": { + "button_title": "Exportă diagrama ca PNG" + }, + "switch_layout_button": { + "title_horizontal": "Mută panoul de editare la stânga", + "title_vertical": "Mută panoul de editare în jos" + }, + "toggle_read_only_button": { + "lock-editing": "Blochează editarea", + "unlock-editing": "Deblochează editarea" + }, + "ai_llm": { + "not_started": "Nu s-a pornit", + "title": "Setări AI", + "processed_notes": "Notițe procesate", + "total_notes": "Totalul de notițe", + "progress": "Progres", + "queued_notes": "Notițe în curs de procesare", + "failed_notes": "Notițe ce au eșuat", + "last_processed": "Ultima procesare", + "refresh_stats": "Reîmprospătare statistici", + "enable_ai_features": "Activează funcțiile AI/LLM", + "enable_ai_description": "Activează funcțiile AI precum sumarizarea notițelor, generarea de conținut și alte capabilități ale LLM-ului", + "openai_tab": "OpenAI", + "anthropic_tab": "Anthropic", + "voyage_tab": "Voyage AI", + "ollama_tab": "Ollama", + "enable_ai": "Activează funcții AI/LLM", + "enable_ai_desc": "Activează funcțiile AI precum sumarizarea notițelor, generarea de conținut și alte capabilități ale LLM-ului", + "provider_configuration": "Setările furnizorului de AI", + "provider_precedence": "Ordinea de precedență a furnizorilor", + "provider_precedence_description": "Lista de furnizori în ordinea de precedență, separate de virgulă (ex. „openai,anthropic,ollama”)", + "temperature": "Temperatură", + "temperature_description": "Controlează aleatoritatea din răspunsuri (0 = deterministic, 2 = maxim aleator)", + "system_prompt": "Prompt-ul de sistem", + "system_prompt_description": "Prompt-ul de sistem folosit pentru toate interacțiunile cu AI-ul", + "openai_configuration": "Configurația OpenAI", + "openai_settings": "Setările OpenAI", + "api_key": "Cheie API", + "url": "URL de bază", + "model": "Model", + "openai_api_key_description": "Cheia de API din OpenAI pentru a putea accesa serviciile de AI", + "anthropic_api_key_description": "Cheia de API din Anthropic pentru a accesa modelele Claude", + "default_model": "Modelul implicit", + "openai_model_description": "Exemple: gpt-4o, gpt-4-turbo, gpt-3.5-turbo", + "base_url": "URL de bază", + "openai_url_description": "Implicit: https://api.openai.com/v1", + "anthropic_settings": "Setări Anthropic", + "anthropic_url_description": "URL de bază pentru API-ul Anthropic (implicit: https://api.anthropic.com)", + "anthropic_model_description": "Modele Anthropic Claude pentru auto-completare", + "voyage_settings": "Setări Voyage AI", + "ollama_settings": "Setări Ollama", + "ollama_url_description": "URL pentru API-ul Ollama (implicit: http://localhost:11434)", + "ollama_model_description": "Modelul Ollama pentru auto-completare", + "anthropic_configuration": "Configurația Anthropic", + "voyage_configuration": "Configurația Voyage AI", + "voyage_url_description": "Implicit: https://api.voyageai.com/v1", + "ollama_configuration": "Configurația Ollama", + "enable_ollama": "Activează Ollama", + "enable_ollama_description": "Activează Ollama pentru a putea utiliza modele AI locale", + "ollama_url": "URL Ollama", + "ollama_model": "Model Ollama", + "refresh_models": "Reîmprospătează modelele", + "refreshing_models": "Reîmprospătare...", + "enable_automatic_indexing": "Activează indexarea automată", + "rebuild_index": "Reconstruire index", + "rebuild_index_error": "Eroare la reconstruirea indexului. Verificați logurile pentru mai multe detalii.", + "note_title": "Titlul notiței", + "error": "Eroare", + "last_attempt": "Ultima încercare", + "actions": "Acțiuni", + "retry": "Reîncercare", + "partial": "{{ percentage }}% finalizat", + "retry_queued": "Notiță pusă în coadă pentru reîncercare", + "retry_failed": "Nu s-a putut pune notița în coada pentru reîncercare", + "max_notes_per_llm_query": "Număr maximum de notițe per interogare", + "max_notes_per_llm_query_description": "Numărul maxim de notițe similare incluse în contextul pentru AI", + "active_providers": "Furnizori activi", + "disabled_providers": "Furnizori dezactivați", + "remove_provider": "Șterge furnizorul din căutare", + "restore_provider": "Restaurează furnizorul pentru căutare", + "similarity_threshold": "Prag de similaritate", + "similarity_threshold_description": "Scorul minim de similaritate (0-1) pentru a include notițele în contextul interogărilor LLM", + "reprocess_index": "Reconstruiește indexul de căutare", + "reprocessing_index": "Reconstruire...", + "reprocess_index_started": "S-a pornit în fundal optimizarea indexului de căutare", + "reprocess_index_error": "Eroare la reconstruirea indexului de căutare", + "index_rebuild_progress": "Reconstruire index în curs", + "index_rebuilding": "Optimizare index ({{percentage}}%)", + "index_rebuild_complete": "Optimizarea indexului a avut loc cu succes", + "index_rebuild_status_error": "Eroare la verificarea stării reconstruirii indexului", + "never": "Niciodată", + "processing": "Procesare ({{percentage}}%)", + "incomplete": "Incomplet ({{percentage}}%)", + "complete": "Complet (100%)", + "refreshing": "Reîmprospătare...", + "auto_refresh_notice": "Reîmprospătare automată la fiecare {{seconds}} secunde", + "note_queued_for_retry": "Notiță pusă în coadă pentru reîncercare", + "failed_to_retry_note": "Eroare la reîncercarea notiței", + "all_notes_queued_for_retry": "Toate notițele eșuate au fost puse în coada de reîncercare", + "failed_to_retry_all": "Eroare la reîncercarea notițelor", + "ai_settings": "Setări AI", + "api_key_tooltip": "Cheia API pentru accesarea serviciului", + "empty_key_warning": { + "anthropic": "Cheia API pentru Anthropic lipsește. Introduceți o cheie API validă.", + "openai": "Cheia API pentru OpenAI lipsește. Introduceți o cheie API validă.", + "voyage": "Cheia API pentru Voyage lipsește. Introduceți o cheie API validă.", + "ollama": "Cheia API pentru Ollama lipsește. Introduceți o cheie API validă." + }, + "agent": { + "processing": "Procesare...", + "thinking": "Raționalizare...", + "loading": "Încărcare...", + "generating": "Generare..." + }, + "name": "AI", + "openai": "OpenAI", + "use_enhanced_context": "Folosește context îmbogățit", + "enhanced_context_description": "Oferă AI-ului mai multe informații de context din notiță și notițele similare pentru răspunsuri mai bune", + "show_thinking": "Afișează procesul de raționalizare", + "show_thinking_description": "Afișează lanțul de acțiuni din procesul de gândire al AI-ului", + "enter_message": "Introduceți mesajul...", + "error_contacting_provider": "Eroare la contactarea furnizorului de AI. Verificați setările și conexiunea la internet.", + "error_generating_response": "Eroare la generarea răspunsului AI", + "index_all_notes": "Indexează toate notițele", + "index_status": "Starea indexării", + "indexed_notes": "Notițe indexate", + "indexing_stopped": "Indexarea s-a oprit", + "indexing_in_progress": "Indexare în curs...", + "last_indexed": "Ultima indexare", + "n_notes_queued_0": "O notiță adăugată în coada de indexare", + "n_notes_queued_1": "{{ count }} notițe adăugate în coada de indexare", + "n_notes_queued_2": "{{ count }} de notițe adăugate în coada de indexare", + "note_chat": "Discuție pe baza notițelor", + "notes_indexed_0": "O notiță indexată", + "notes_indexed_1": "{{ count }} notițe indexate", + "notes_indexed_2": "{{ count }} de notițe indexate", + "sources": "Surse", + "start_indexing": "Indexează", + "use_advanced_context": "Folosește context îmbogățit", + "ollama_no_url": "Ollama nu este configurat. Introduceți un URL corect.", + "chat": { + "root_note_title": "Discuții cu AI-ul", + "root_note_content": "Această notiță stochează conversația cu AI-ul.", + "new_chat_title": "Discuție nouă", + "create_new_ai_chat": "Crează o nouă discuție cu AI-ul" + }, + "create_new_ai_chat": "Crează o nouă discuție cu AI-ul", + "configuration_warnings": "Sunt câteva probleme la configurația AI-ului. Verificați setările.", + "experimental_warning": "Funcția LLM este experimentală!", + "selected_provider": "Furnizor selectat", + "selected_provider_description": "Selectați furnizorul de AI pentru funcțiile de discuție și completare", + "select_model": "Selectați modelul...", + "select_provider": "Selectați furnizorul..." + }, + "custom_date_time_format": { + "title": "Format dată/timp personalizat", + "description": "Personalizați formatul de dată și timp inserat prin sau din bara de unelte. Vedeți Documentația Day.js pentru câmpurile de formatare disponibile.", + "format_string": "Șir de formatare:", + "formatted_time": "Data și ora formatate:" + }, + "multi_factor_authentication": { + "title": "Autentificare multi-factor", + "description": "Autentificarea multifactor (MFA) adaugă un strat de securitate adițional. Pe lângă introducerea parolei pentru atentificare, este necesară o dovadă adițională pentru a verifica identitatea. În acest fel, chiar dacă cineva este în posesia parolei dvs., nu vor putea accesa contul fără dovada adițională.

Urmați instrucțiunile de mai jos pentru a activa MFA. Dacă configurația nu este corectă, autentificarea va face doar cu parolă.", + "mfa_enabled": "Activare autentificare multi-factor", + "mfa_method": "Metodă MFA", + "electron_disabled": "Autentificarea multi-factor este suportată doar în aplicația desktop momentan.", + "totp_title": "Parolă unică bazată pe timp (TOTP)", + "totp_description": "TOTP (Time-Based One-Time Password) este o funcție de securitate care crează un cod unic, temporar care se schimbă la fiecare 30 de secunde. Acest cod se poate folosi pe lângă parolă pentru a face accesul neautorizat mult mai dificil.", + "totp_secret_title": "Generează secret TOTP", + "totp_secret_generate": "Generează secret TOTP", + "totp_secret_regenerate": "Regenerează secretul TOTP", + "no_totp_secret_warning": "Pentru a activa TOTP trebuie mai întâi generat un secret TOTP.", + "totp_secret_description_warning": "După generarea unui nou secret TOTP, va trebui să vă autentificați din nou cu folosirea codului TOTP.", + "totp_secret_generated": "Secret TOTP generat", + "totp_secret_warning": "Stocați secretul generat într-un loc securizat. Acesta nu va mai fi afișat din nou.", + "totp_secret_regenerate_confirm": "Doriți regenerarea secretului TOTP? Acest lucru va invalida secretul TOTP anterior și toate codurile de recuperere preexistente.", + "recovery_keys_title": "Chei unice de recuperare", + "recovery_keys_description": "Fiecare cheie unică poate fi folosită o singură dată pentru autentificare chiar dacă nu mai aveți acces la codurile generate.", + "recovery_keys_description_warning": "Cheile de recuperare nu vor mai fi afișate după părăsirea acestei pagini; păstrați-le într-un loc sigur.
Odată ce o cheie de recuperare este folosită, ea nu mai poate fi refolosită.", + "recovery_keys_error": "Eroare la generarea codurilor de recuperare", + "recovery_keys_no_key_set": "Niciun cod de recuperare nu a fost setat", + "recovery_keys_generate": "Generează codurile de recuperare", + "recovery_keys_regenerate": "Regenerează codurile de recuperare", + "recovery_keys_used": "Folosit la: {{date}}", + "recovery_keys_unused": "Codul de recuperere {{index}} este nefolosit", + "oauth_title": "OAuth/OpenID", + "oauth_description": "OpenID este o cale standardizată ce permite autentificarea într-un site folosind un cont dintr-un alt serviciu, precum Google, pentru a verifica identitatea. În mod implicit furnizorul este Google, dar se poate schimba cu orice furnizor OpenID. Pentru mai multe informații, consultați ghidul. Urmați aceste instrucțiuni pentru a putea configura OpenID prin Google.", + "oauth_description_warning": "Pentru a activa OAuth sau OpenID, trebuie să configurați URL-ul de bază, ID-ul de client și secretul de client în fișierul config.ini și să reporniți aplicația. Dacă doriți să utilizați variabile de environment, puteți seta TRILIUM_OAUTH_BASE_URL, TRILIUM_OAUTH_CLIENT_ID și TRILIUM_OAUTH_CLIENT_SECRET.", + "oauth_missing_vars": "Setări lipsă: {{variables}}", + "oauth_user_account": "Cont: ", + "oauth_user_email": "Email: ", + "oauth_user_not_logged_in": "Neautentificat!" + }, + "svg": { + "export_to_png": "Diagrama nu a putut fi exportată în PNG." + }, + "code_theme": { + "title": "Afișare", + "word_wrapping": "Încadrare text", + "color-scheme": "Temă de culori" + }, + "cpu_arch_warning": { + "title": "Descărcați versiunea de ARM64", + "message_macos": "Aplicația rulează momentan sub stratul de translație Rosetta 2, ceea ce înseamnă că folosiți versiunea de Intel (x64) pe un Mac cu Apple Silicon. Acest lucru impactează semnificativ performanța aplicației și durata de viață a bateriei.", + "message_windows": "Aplicația rulează în mod de emulare, ceea ce înseamnă că folosiți versiunea de Intel (x64) pe un dispozitiv Windows pe ARM. Acest lucru impactează semnificativ performanția aplicației și durata de viață a bateriei.", + "recommendation": "Pentru cea mai bună experiență, descărcați versiunea nativă de ARM64 a aplicației de pe pagina de release-uri.", + "download_link": "Descarcă versiunea nativă", + "continue_anyway": "Continuă oricum", + "dont_show_again": "Nu mai afișa acest mesaj" + }, + "editorfeatures": { + "title": "Funcții", + "emoji_completion_enabled": "Activează auto-completarea pentru emoji-uri", + "note_completion_enabled": "Activează auto-completarea pentru notițe" + }, + "table_view": { + "new-row": "Rând nou", + "new-column": "Coloană nouă", + "sort-column-by": "Ordonează după „{{title}}”", + "sort-column-ascending": "Ascendent", + "sort-column-descending": "Descendent", + "sort-column-clear": "Dezactivează ordonarea", + "hide-column": "Ascunde coloana „{{title}}”", + "show-hide-columns": "Afișează/ascunde coloane", + "row-insert-above": "Inserează rând deasupra", + "row-insert-below": "Inserează rând dedesubt", + "row-insert-child": "Inserează subnotiță", + "add-column-to-the-left": "Adaugă coloană la stânga", + "add-column-to-the-right": "Adaugă coloană la dreapta", + "edit-column": "Editează coloana", + "delete_column_confirmation": "Doriți ștergerea acestei coloane? Atributul corespunzător va fi șters din toate notițele din ierarhie.", + "delete-column": "Șterge coloana", + "new-column-label": "Etichetă", + "new-column-relation": "Relație" + }, + "book_properties_config": { + "hide-weekends": "Ascunde weekend-urile", + "display-week-numbers": "Afișează numărul săptămânii", + "map-style": "Stil hartă:", + "max-nesting-depth": "Nivel maxim de imbricare:", + "raster": "Raster", + "vector_light": "Vectorial (culoare deschisă)", + "vector_dark": "Vectorial (culoare închisă)", + "show-scale": "Afișează scara hărții" + }, + "table_context_menu": { + "delete_row": "Șterge rândul" + }, + "board_view": { + "delete-note": "Șterge notița", + "move-to": "Mută la", + "insert-above": "Inserează deasupra", + "insert-below": "Inserează dedesubt", + "delete-column": "Șterge coloana", + "delete-column-confirmation": "Doriți ștergerea acestei coloane? Atributul corespunzător va fi șters din notițele din acest tabel.", + "new-item": "Intrare nouă", + "add-column": "Adaugă coloană" + }, + "command_palette": { + "tree-action-name": "Listă de notițe: {{name}}", + "export_note_title": "Exportă notița", + "export_note_description": "Exportă notița curentă", + "show_attachments_title": "Afișează atașamentele", + "show_attachments_description": "Vedeți lista de atașamente corespunzătoare notiței", + "search_notes_title": "Căutare notițe", + "search_notes_description": "Deschide căutare avansată", + "search_subtree_title": "Caută în ierarhie", + "search_subtree_description": "Caută în notițele din ierarhia curentă", + "search_history_title": "Afișează istoricul de căutare", + "search_history_description": "Afișează căutarile anterioare", + "configure_launch_bar_title": "Configurează bara de lansare", + "configure_launch_bar_description": "Deschide configurația barei de lansare, pentru a putea adăuga sau ștergere intrări." + }, + "content_renderer": { + "open_externally": "Deschide în afara programului" + } } diff --git a/apps/client/src/translations/sr/translation.json b/apps/client/src/translations/sr/translation.json index bc6c2b58b..af3292368 100644 --- a/apps/client/src/translations/sr/translation.json +++ b/apps/client/src/translations/sr/translation.json @@ -1,380 +1,380 @@ { - "about": { - "title": "O Trilium Belеškama", - "close": "Zatvori", - "homepage": "Početna stranica:", - "app_version": "Verzija aplikacije:", - "db_version": "Verzija baze podataka:", - "sync_version": "Verzija sinhronizacije:", - "build_date": "Datum izgradnje:", - "build_revision": "Revizija izgradnje:", - "data_directory": "Direktorijum sa podacima:" + "about": { + "title": "O Trilium Belеškama", + "close": "Zatvori", + "homepage": "Početna stranica:", + "app_version": "Verzija aplikacije:", + "db_version": "Verzija baze podataka:", + "sync_version": "Verzija sinhronizacije:", + "build_date": "Datum izgradnje:", + "build_revision": "Revizija izgradnje:", + "data_directory": "Direktorijum sa podacima:" + }, + "toast": { + "critical-error": { + "title": "Kritična greška", + "message": "Došlo je do kritične greške koja sprečava pokretanje klijentske aplikacije.\n\n{{message}}\n\nOva greška je najverovatnije izazvana neočekivanim problemom prilikom izvršavanja skripte. Pokušajte da pokrenete aplikaciju u bezbednom režimu i da pronađete šta izaziva grešku." }, - "toast": { - "critical-error": { - "title": "Kritična greška", - "message": "Došlo je do kritične greške koja sprečava pokretanje klijentske aplikacije.\n\n{{message}}\n\nOva greška je najverovatnije izazvana neočekivanim problemom prilikom izvršavanja skripte. Pokušajte da pokrenete aplikaciju u bezbednom režimu i da pronađete šta izaziva grešku." - }, - "widget-error": { - "title": "Pokretanje vidžeta nije uspelo", - "message-custom": "Prilagođeni viđet sa beleške sa ID-jem \"{{id}}\", nazivom \"{{title}}\" nije uspeo da se pokrene zbog:\n\n{{message}}", - "message-unknown": "Nepoznati vidžet nije mogao da se pokrene zbog:\n\n{{message}}" - }, - "bundle-error": { - "title": "Pokretanje prilagođene skripte neuspešno", - "message": "Skripta iz beleške sa ID-jem \"{{id}}\", naslovom \"{{title}}\" nije mogla da se izvrši zbog:\n\n{{message}}" - } + "widget-error": { + "title": "Pokretanje vidžeta nije uspelo", + "message-custom": "Prilagođeni viđet sa beleške sa ID-jem \"{{id}}\", nazivom \"{{title}}\" nije uspeo da se pokrene zbog:\n\n{{message}}", + "message-unknown": "Nepoznati vidžet nije mogao da se pokrene zbog:\n\n{{message}}" }, - "add_link": { - "add_link": "Dodaj link", - "help_on_links": "Pomoć na linkovima", - "close": "Zatvori", - "note": "Beleška", - "search_note": "potražite belešku po njenom imenu", - "link_title_mirrors": "naziv linka preslikava trenutan naziv beleške", - "link_title_arbitrary": "naziv linka se može proizvoljno menjati", - "link_title": "Naziv linka", - "button_add_link": "Dodaj link enter" - }, - "branch_prefix": { - "edit_branch_prefix": "Izmeni prefiks grane", - "help_on_tree_prefix": "Pomoć na prefiksu Drveta", - "close": "Zatvori", - "prefix": "Prefiks: ", - "save": "Sačuvaj", - "branch_prefix_saved": "Prefiks grane je sačuvan." - }, - "bulk_actions": { - "bulk_actions": "Grupne akcije", - "close": "Zatvori", - "affected_notes": "Pogođene beleške", - "include_descendants": "Obuhvati potomke izabranih beleški", - "available_actions": "Dostupne akcije", - "chosen_actions": "Izabrane akcije", - "execute_bulk_actions": "Izvrši grupne akcije", - "bulk_actions_executed": "Grupne akcije su uspešno izvršene.", - "none_yet": "Nijedna za sad... dodajte akciju tako što ćete pritisnuti na neku od dostupnih akcija iznad.", - "labels": "Oznake", - "relations": "Odnosi", - "notes": "Beleške", - "other": "Ostalo" - }, - "clone_to": { - "clone_notes_to": "Klonirajte beleške u...", - "close": "Zatvori", - "help_on_links": "Pomoć na linkovima", - "notes_to_clone": "Beleške za kloniranje", - "target_parent_note": "Ciljna nadređena beleška", - "search_for_note_by_its_name": "potražite belešku po njenom imenu", - "cloned_note_prefix_title": "Klonirana beleška će biti prikazana u drvetu beleški sa datim prefiksom", - "prefix_optional": "Prefiks (opciono)", - "clone_to_selected_note": "Kloniranje u izabranu belešku enter", - "no_path_to_clone_to": "Nema putanje za kloniranje.", - "note_cloned": "Beleška \"{{clonedTitle}}\" je klonirana u \"{{targetTitle}}\"" - }, - "confirm": { - "confirmation": "Potvrda", - "close": "Zatvori", - "cancel": "Otkaži", - "ok": "U redu", - "are_you_sure_remove_note": "Da li ste sigurni da želite da uklonite belešku \"{{title}}\" iz mape odnosa? ", - "if_you_dont_check": "Ako ne izaberete ovo, beleška će biti uklonjena samo sa mape odnosa.", - "also_delete_note": "Takođe obriši belešku" - }, - "delete_notes": { - "delete_notes_preview": "Obriši pregled beleške", - "close": "Zatvori", - "delete_all_clones_description": "Obriši i sve klonove (može biti poništeno u skorašnjim izmenama)", - "erase_notes_description": "Normalno (blago) brisanje samo označava beleške kao obrisane i one mogu biti vraćene (u dijalogu skorašnjih izmena) u određenom vremenskom periodu. Biranje ove opcije će momentalno obrisati beleške i ove beleške neće biti moguće vratiti.", - "erase_notes_warning": "Trajno obriši beleške (ne može se opozvati), uključujući sve klonove. Ovo će prisiliti aplikaciju da se ponovo pokrene.", - "notes_to_be_deleted": "Sledeće beleške će biti obrisane ({{- noteCount}})", - "no_note_to_delete": "Nijedna beleška neće biti obrisana (samo klonovi).", - "broken_relations_to_be_deleted": "Sledeći odnosi će biti prekinuti i obrisani ({{- relationCount}})", - "cancel": "Otkaži", - "ok": "U redu", - "deleted_relation_text": "Beleška {{- note}} (za brisanje) je referencirana sa odnosom {{- relation}} koji potiče iz {{- source}}." - }, - "export": { - "export_note_title": "Izvezi belešku", - "close": "Zatvori", - "export_type_subtree": "Ova beleška i svi njeni potomci", - "format_html": "HTML - preporučuje se jer čuva formatiranje", - "format_html_zip": "HTML u ZIP arhivi - ovo se preporučuje jer se na taj način čuva celokupno formatiranje.", - "format_markdown": "Markdown - ovo čuva većinu formatiranja.", - "format_opml": "OPML - format za razmenu okvira samo za tekst. Formatiranje, slike i datoteke nisu uključeni.", - "opml_version_1": "OPML v1.0 - samo običan tekst", - "opml_version_2": "OPML v2.0 - dozvoljava i HTML", - "export_type_single": "Samo ovu belešku bez njenih potomaka", - "export": "Izvoz", - "choose_export_type": "Molimo vas da prvo izaberete tip izvoza", - "export_status": "Status izvoza", - "export_in_progress": "Izvoz u toku: {{progressCount}}", - "export_finished_successfully": "Izvoz je uspešno završen.", - "format_pdf": "PDF - za namene štampanja ili deljenja." - }, - "help": { - "fullDocumentation": "Pomoć (puna dokumentacija je dostupna online)", - "close": "Zatvori", - "noteNavigation": "Navigacija beleški", - "goUpDown": "UP, DOWN - kretanje gore/dole u listi sa beleškama", - "collapseExpand": "LEFT, RIGHT - sakupi/proširi čvor", - "notSet": "nije podešeno", - "goBackForwards": "idi u nazad/napred kroz istoriju", - "showJumpToNoteDialog": "prikaži \"Idi na\" dijalog", - "scrollToActiveNote": "skroluj do aktivne beleške", - "jumpToParentNote": "Backspace - idi do nadređene beleške", - "collapseWholeTree": "sakupi celo drvo beleški", - "collapseSubTree": "sakupi pod-drvo", - "tabShortcuts": "Prečice na karticama", - "newTabNoteLink": "Ctrl+click - (ili middle mouse click) na link beleške otvara belešku u novoj kartici", - "newTabWithActivationNoteLink": "Ctrl+Shift+click - (ili Shift+middle mouse click) na link beleške otvara i aktivira belešku u novoj kartici", - "onlyInDesktop": "Samo na dektop-u (Electron verzija)", - "openEmptyTab": "otvori praznu karticu", - "closeActiveTab": "zatvori aktivnu karticu", - "activateNextTab": "aktiviraj narednu karticu", - "activatePreviousTab": "aktiviraj prethodnu karticu", - "creatingNotes": "Pravljenje beleški", - "createNoteAfter": "napravi novu belešku nakon aktivne beleške", - "createNoteInto": "napravi novu pod-belešku u aktivnoj belešci", - "editBranchPrefix": "izmeni prefiks klona aktivne beleške", - "movingCloningNotes": "Premeštanje / kloniranje beleški", - "moveNoteUpDown": "pomeri belešku gore/dole u listi beleški", - "moveNoteUpHierarchy": "pomeri belešku na gore u hijerarhiji", - "multiSelectNote": "višestruki izbor beleški iznad/ispod", - "selectAllNotes": "izaberi sve beleške u trenutnom nivou", - "selectNote": "Shift+click - izaberi belešku", - "copyNotes": "kopiraj aktivnu belešku (ili trenutni izbor) u privremenu memoriju (koristi se za kloniranje)", - "cutNotes": "iseci trenutnu belešku (ili trenutni izbor) u privremenu memoriju (koristi se za premeštanje beleški)", - "pasteNotes": "nalepi belešku/e kao podbelešku u aktivnoj belešci (koja se ili premešta ili klonira u zavisnosti od toga da li je beleška kopirana ili isečena u privremenu memoriju)", - "deleteNotes": "obriši belešku / podstablo", - "editingNotes": "Izmena beleški", - "editNoteTitle": "u ravni drveta će se prebaciti sa ravni drveta na naslov beleške. Ulaz sa naslova beleške će prebaciti fokus na uređivač teksta. Ctrl+. će se vratiti sa uređivača na ravan drveta.", - "createEditLink": "Ctrl+K - napravi / izmeni spoljašnji link", - "createInternalLink": "napravi unutrašnji link", - "followLink": "prati link ispod kursora", - "insertDateTime": "ubaci trenutan datum i vreme na poziciju kursora", - "jumpToTreePane": "idi na ravan stabla i pomeri se do aktivne beleške", - "markdownAutoformat": "Autoformatiranje kao u Markdown-u", - "headings": "##, ###, #### itd. praćeno razmakom za naslove", - "bulletList": "* ili - praćeno razmakom za listu sa tačkama", - "numberedList": "1. ili 1) praćeno razmakom za numerisanu listu", - "blockQuote": "započnite liniju sa > praćeno sa razmakom za blok citat", - "troubleshooting": "Rešavanje problema", - "reloadFrontend": "ponovo učitaj Trilium frontend", - "showDevTools": "prikaži alate za programere", - "showSQLConsole": "prikaži SQL konzolu", - "other": "Ostalo", - "quickSearch": "fokus na unos za brzu pretragu", - "inPageSearch": "pretraga unutar stranice" - }, - "import": { - "importIntoNote": "Uvezi u belešku", - "close": "Zatvori", - "chooseImportFile": "Izaberi datoteku za uvoz", - "importDescription": "Sadržaj izabranih datoteka će biti uvezen kao podbeleške u", - "options": "Opcije", - "safeImportTooltip": "Trilium .zip izvozne datoteke mogu da sadrže izvršne skripte koje mogu imati štetno ponašanje. Bezbedan uvoz će deaktivirati automatsko izvršavanje svih uvezenih skripti. Isključite \"Bezbedan uvoz\" samo ako uvezena arhiva treba da sadrži izvršne skripte i ako potpuno verujete sadržaju uvezene datoteke.", - "safeImport": "Bezbedan uvoz", - "explodeArchivesTooltip": "Ako je ovo označeno onda će Trilium pročitati .zip, .enex i .opml datoteke i napraviti beleške od datoteka unutar tih arhiva. Ako nije označeno, Trilium će same arhive priložiti belešci.", - "explodeArchives": "Pročitaj sadržaj .zip, .enex i .opml arhiva.", - "shrinkImagesTooltip": "

Ako označite ovu opciju, Trilium će pokušati da smanji uvezene slike skaliranjem i optimizacijom što će možda uticati na kvalitet slike. Ako nije označeno, slike će biti uvezene bez promena.

Ovo se ne primenjuje na .zip uvoze sa metapodacima jer se tada podrazumeva da su te datoteke već optimizovane.

", - "shrinkImages": "Smanji slike", - "textImportedAsText": "Uvezi HTML, Markdown i TXT kao tekstualne beleške ako je nejasno iz metapodataka", - "codeImportedAsCode": "Uvezi prepoznate datoteke sa kodom (poput .json) ako beleške sa kodom ako nije jasno iz metapodataka", - "replaceUnderscoresWithSpaces": "Zameni podvlake sa razmacima u nazivima uvezenih beleški", - "import": "Uvezi", - "failed": "Uvoz nije uspeo: {{message}}.", - "html_import_tags": { - "title": "HTML oznake za uvoz", - "description": "Podesite koje HTML oznake trebaju biti sačuvane kada se uvoze beleške. Oznake koje se ne nalaze na listi će biti uklonjene tokom uvoza. Pojedine oznake (poput 'script') se uvek uklanjaju zbog bezbednosti.", - "placeholder": "Unesite HTML oznake, po jednu u svaki red", - "reset_button": "Vrati na podrazumevanu listu" - }, - "import-status": "Status uvoza", - "in-progress": "Uvoz u toku: {{progress}}", - "successful": "Uvoz je uspešno završen." - }, - "include_note": { - "dialog_title": "Uključi belešku", - "close": "Zatvori", - "label_note": "Beleška", - "placeholder_search": "pretraži belešku po njenom imenu", - "box_size_prompt": "Veličina kutije priložene beleške:", - "box_size_small": "mala (~ 10 redova)", - "box_size_medium": "srednja (~ 30 redova)", - "box_size_full": "puna (kutija prikazuje ceo tekst)", - "button_include": "Uključi belešku enter" - }, - "info": { - "modalTitle": "Informativna poruka", - "closeButton": "Zatvori", - "okButton": "U redu" - }, - "jump_to_note": { - "search_placeholder": "Pretraži belešku po njenom imenu ili unesi > za komande...", - "close": "Zatvori", - "search_button": "Pretraga u punom tekstu Ctrl+Enter" - }, - "markdown_import": { - "dialog_title": "Uvoz za Markdown", - "close": "Zatvori", - "modal_body_text": "Zbog Sandbox-a pretraživača nije moguće direktno učitati privremenu memoriju iz JavaScript-a. Molimo vas da nalepite Markdown za uvoz u tekstualno polje ispod i kliknete na dugme za uvoz", - "import_button": "Uvoz Ctrl+Enter", - "import_success": "Markdown sadržaj je učitan u dokument." - }, - "move_to": { - "dialog_title": "Premesti beleške u ...", - "close": "Zatvori", - "notes_to_move": "Beleške za premeštanje", - "target_parent_note": "Ciljana nadbeleška", - "search_placeholder": "potraži belešku po njenom imenu", - "move_button": "Pređi na izabranu belešku enter", - "error_no_path": "Nema putanje za premeštanje.", - "move_success_message": "Izabrane beleške su premeštene u " - }, - "note_type_chooser": { - "change_path_prompt": "Promenite gde će se napraviti nova beleška:", - "search_placeholder": "pretraži putanju po njenom imenu (podrazumevano ako je prazno)", - "modal_title": "Izaberite tip beleške", - "close": "Zatvori", - "modal_body": "Izaberite tip beleške / šablon za novu belešku:", - "templates": "Šabloni:" - }, - "password_not_set": { - "title": "Lozinka nije podešena", - "close": "Zatvori", - "body1": "Zaštićene beleške su enkriptovane sa korisničkom lozinkom, ali lozinka još uvek nije podešena.", - "body2": "Za biste mogli da sačuvate beleške, kliknite ovde da otvorite dijalog sa Opcijama i podesite svoju lozinku." - }, - "prompt": { - "title": "Upit", - "close": "Zatvori", - "ok": "U redu enter", - "defaultTitle": "Upit" - }, - "protected_session_password": { - "modal_title": "Zaštićena sesija", - "help_title": "Pomoć za Zaštićene beleške", - "close_label": "Zatvori", - "form_label": "Da biste nastavili sa traženom akcijom moraćete započeti zaštićenu sesiju tako što ćete uneti lozinku:", - "start_button": "Započni zaštićenu sesiju enter" - }, - "recent_changes": { - "title": "Nedavne promene", - "erase_notes_button": "Obriši izabrane beleške odmah", - "close": "Zatvori", - "deleted_notes_message": "Obrisane beleške su uklonjene.", - "no_changes_message": "Još uvek nema izmena...", - "undelete_link": "poništi brisanje", - "confirm_undelete": "Da li želite da poništite brisanje ove beleške i njenih podbeleški?" - }, - "revisions": { - "note_revisions": "Revizije beleški", - "delete_all_revisions": "Obriši sve revizije ove beleške", - "delete_all_button": "Obriši sve revizije", - "help_title": "Pomoć za Revizije beleški", - "close": "Zatvori", - "revision_last_edited": "Ova revizija je poslednji put izmenjena {{date}}", - "confirm_delete_all": "Da li želite da obrišete sve revizije ove beleške?", - "no_revisions": "Još uvek nema revizija za ovu belešku...", - "restore_button": "Vrati", - "confirm_restore": "Da li želite da vratite ovu reviziju? Ovo će prepisati trenutan naslov i sadržaj beleške sa ovom revizijom.", - "delete_button": "Obriši", - "confirm_delete": "Da li želite da obrišete ovu reviziju?", - "revisions_deleted": "Revizije beleške su obrisane.", - "revision_restored": "Revizija beleške je vraćena.", - "revision_deleted": "Revizija beleške je obrisana.", - "snapshot_interval": "Interval snimanja revizije beleške: {{seconds}}s.", - "maximum_revisions": "Ograničenje broja slika revizije beleške: {{number}}.", - "settings": "Podešavanja revizija beleški", - "download_button": "Preuzmi", - "mime": "MIME: ", - "file_size": "Veličina datoteke:", - "preview": "Pregled:", - "preview_not_available": "Pregled nije dostupan za ovaj tip beleške." - }, - "sort_child_notes": { - "sort_children_by": "Sortiranje podbeleški po...", - "close": "Zatvori", - "sorting_criteria": "Kriterijum za sortiranje", - "title": "naslov", - "date_created": "datum kreiranja", - "date_modified": "datum izmene", - "sorting_direction": "Smer sortiranja", - "ascending": "uzlazni", - "descending": "silazni", - "folders": "Fascikle", - "sort_folders_at_top": "sortiraj fascikle na vrh", - "natural_sort": "Prirodno sortiranje", - "sort_with_respect_to_different_character_sorting": "sortiranje sa poštovanjem različitih pravila sortiranja karaktera i kolacija u različitim jezicima ili regionima.", - "natural_sort_language": "Jezik za prirodno sortiranje", - "the_language_code_for_natural_sort": "Kod jezika za prirodno sortiranje, npr. \"zh-CN\" za Kineski.", - "sort": "Sortiraj enter" - }, - "upload_attachments": { - "upload_attachments_to_note": "Otpremite priloge uz belešku", - "close": "Zatvori", - "choose_files": "Izaberite datoteke", - "files_will_be_uploaded": "Datoteke će biti otpremljene kao prilozi u", - "options": "Opcije", - "shrink_images": "Smanji slike", - "upload": "Otpremi", - "tooltip": "Ako je označeno, Trilium će pokušati da smanji otpremljene slike skaliranjem i optimizacijom što može uticati na kvalitet slike. Ako nije označeno, slike će biti otpremljene bez izmena." - }, - "attribute_detail": { - "attr_detail_title": "Naslov detalja atributa", - "close_button_title": "Otkaži izmene i zatvori", - "attr_is_owned_by": "Atribut je u vlasništvu", - "attr_name_title": "Naziv atributa može biti sastavljen samo od alfanumeričkih znakova, dvotačke i donje crte", - "name": "Naziv", - "value": "Vrednost", - "target_note_title": "Relacija je imenovana veza između izvorne beleške i ciljne beleške.", - "target_note": "Ciljna beleška", - "promoted_title": "Promovisani atribut je istaknut na belešci.", - "promoted": "Promovisan", - "promoted_alias_title": "Naziv koji će biti prikazan u korisničkom interfejsu promovisanih atributa.", - "promoted_alias": "Pseudonim", - "multiplicity_title": "Multiplicitet definiše koliko atributa sa istim nazivom se može napraviti - najviše 1 ili više od 1.", - "multiplicity": "Multiplicitet", - "single_value": "Jednostruka vrednost", - "multi_value": "Višestruka vrednost", - "label_type_title": "Tip oznake će pomoći Triliumu da izabere odgovarajući interfejs za unos vrednosti oznake.", - "label_type": "Tip", - "text": "Tekst", - "number": "Broj", - "boolean": "Boolean", - "date": "Datum", - "date_time": "Datum i vreme", - "time": "Vreme", - "url": "URL", - "precision_title": "Broj cifara posle zareza treba biti dostupan u interfejsu za postavljanje vrednosti.", - "precision": "Preciznost", - "digits": "cifre", - "inverse_relation_title": "Opciono podešavanje za definisanje kojoj relaciji je ova suprotna. Primer: Otac - Sin su inverzne relacije jedna drugoj.", - "inverse_relation": "Inverzna relacija", - "inheritable_title": "Atributi koji mogu da se nasleđuju će biti nasleđeni od strane svih potomaka unutar ovog stabla.", - "inheritable": "Nasledno", - "save_and_close": "Sačuvaj i zatvori Ctrl+Enter", - "delete": "Obriši", - "related_notes_title": "Druge beleške sa ovom oznakom", - "more_notes": "Još beleški", - "label": "Detalji oznake", - "label_definition": "Detalji definicije oznake", - "relation": "Detalji relacije", - "relation_definition": "Detalji definicije relacije", - "disable_versioning": "onemogućava auto-verzionisanje. Korisno za npr. velike, ali nebitne beleške - poput velikih JS biblioteka koje se koriste za skripte", - "calendar_root": "obeležava belešku koju treba koristiti kao osnova za dnevne beleške. Samo jedna beleška treba da bude označena kao takva.", - "archived": "beleške sa ovom oznakom neće biti podrazumevano vidljive u rezultatima pretrage (kao ni u dijalozima za Idi na, Dodaj link, itd.).", - "exclude_from_export": "beleške (sa svojim podstablom) neće biti uključene u bilo koji izvoz beleški", - "run": "definiše u kojim događajima se skripta pokreće. Moguće vrednosti su:\n
    \n
  • frontendStartup - kada se pokrene Trilium frontend (ili se osveži), ali ne na mobilnom uređaju.
  • \n
  • mobileStartup - kada se pokrene Trilium frontend (ili se osveži), na mobilnom uređaju..
  • \n
  • backendStartup - kada se Trilium backend pokrene
  • \n
  • hourly - pokreće se svaki sat. Može se koristiti dodatna oznaka runAtHour da se označi u kom satu.
  • \n
  • daily - pokreće se jednom dnevno
  • \n
", - "run_on_instance": "Definiše u kojoj instanci Trilium-a ovo treba da se pokreće. Podrazumevano podešavanje je na svim instancama.", - "run_at_hour": "U kom satu ovo treba da se pokreće. Treba se koristiti zajedno sa #run=hourly. Može biti definisano više puta za više pokretanja u toku dana.", - "disable_inclusion": "skripte sa ovom oznakom neće biti uključene u izvršavanju nadskripte.", - "sorted": "čuva podbeleške sortirane alfabetski po naslovu", - "sort_direction": "Uzlazno (podrazumevano) ili silazno", - "sort_folders_first": "Fascikle (beleške sa podbeleškama) treba da budu sortirane na vrhu", - "top": "zadrži datu belešku na vrhu njene nadbeleške (primenjuje se samo na sortiranim nadbeleškama)", - "hide_promoted_attributes": "Sakrij promovisane atribute na ovoj belešci", - "read_only": "uređivač je u režimu samo za čitanje. Radi samo za tekst i beleške sa kodom." + "bundle-error": { + "title": "Pokretanje prilagođene skripte neuspešno", + "message": "Skripta iz beleške sa ID-jem \"{{id}}\", naslovom \"{{title}}\" nije mogla da se izvrši zbog:\n\n{{message}}" } + }, + "add_link": { + "add_link": "Dodaj link", + "help_on_links": "Pomoć na linkovima", + "close": "Zatvori", + "note": "Beleška", + "search_note": "potražite belešku po njenom imenu", + "link_title_mirrors": "naziv linka preslikava trenutan naziv beleške", + "link_title_arbitrary": "naziv linka se može proizvoljno menjati", + "link_title": "Naziv linka", + "button_add_link": "Dodaj link enter" + }, + "branch_prefix": { + "edit_branch_prefix": "Izmeni prefiks grane", + "help_on_tree_prefix": "Pomoć na prefiksu Drveta", + "close": "Zatvori", + "prefix": "Prefiks: ", + "save": "Sačuvaj", + "branch_prefix_saved": "Prefiks grane je sačuvan." + }, + "bulk_actions": { + "bulk_actions": "Grupne akcije", + "close": "Zatvori", + "affected_notes": "Pogođene beleške", + "include_descendants": "Obuhvati potomke izabranih beleški", + "available_actions": "Dostupne akcije", + "chosen_actions": "Izabrane akcije", + "execute_bulk_actions": "Izvrši grupne akcije", + "bulk_actions_executed": "Grupne akcije su uspešno izvršene.", + "none_yet": "Nijedna za sad... dodajte akciju tako što ćete pritisnuti na neku od dostupnih akcija iznad.", + "labels": "Oznake", + "relations": "Odnosi", + "notes": "Beleške", + "other": "Ostalo" + }, + "clone_to": { + "clone_notes_to": "Klonirajte beleške u...", + "close": "Zatvori", + "help_on_links": "Pomoć na linkovima", + "notes_to_clone": "Beleške za kloniranje", + "target_parent_note": "Ciljna nadređena beleška", + "search_for_note_by_its_name": "potražite belešku po njenom imenu", + "cloned_note_prefix_title": "Klonirana beleška će biti prikazana u drvetu beleški sa datim prefiksom", + "prefix_optional": "Prefiks (opciono)", + "clone_to_selected_note": "Kloniranje u izabranu belešku enter", + "no_path_to_clone_to": "Nema putanje za kloniranje.", + "note_cloned": "Beleška \"{{clonedTitle}}\" je klonirana u \"{{targetTitle}}\"" + }, + "confirm": { + "confirmation": "Potvrda", + "close": "Zatvori", + "cancel": "Otkaži", + "ok": "U redu", + "are_you_sure_remove_note": "Da li ste sigurni da želite da uklonite belešku \"{{title}}\" iz mape odnosa? ", + "if_you_dont_check": "Ako ne izaberete ovo, beleška će biti uklonjena samo sa mape odnosa.", + "also_delete_note": "Takođe obriši belešku" + }, + "delete_notes": { + "delete_notes_preview": "Obriši pregled beleške", + "close": "Zatvori", + "delete_all_clones_description": "Obriši i sve klonove (može biti poništeno u skorašnjim izmenama)", + "erase_notes_description": "Normalno (blago) brisanje samo označava beleške kao obrisane i one mogu biti vraćene (u dijalogu skorašnjih izmena) u određenom vremenskom periodu. Biranje ove opcije će momentalno obrisati beleške i ove beleške neće biti moguće vratiti.", + "erase_notes_warning": "Trajno obriši beleške (ne može se opozvati), uključujući sve klonove. Ovo će prisiliti aplikaciju da se ponovo pokrene.", + "notes_to_be_deleted": "Sledeće beleške će biti obrisane ({{- noteCount}})", + "no_note_to_delete": "Nijedna beleška neće biti obrisana (samo klonovi).", + "broken_relations_to_be_deleted": "Sledeći odnosi će biti prekinuti i obrisani ({{- relationCount}})", + "cancel": "Otkaži", + "ok": "U redu", + "deleted_relation_text": "Beleška {{- note}} (za brisanje) je referencirana sa odnosom {{- relation}} koji potiče iz {{- source}}." + }, + "export": { + "export_note_title": "Izvezi belešku", + "close": "Zatvori", + "export_type_subtree": "Ova beleška i svi njeni potomci", + "format_html": "HTML - preporučuje se jer čuva formatiranje", + "format_html_zip": "HTML u ZIP arhivi - ovo se preporučuje jer se na taj način čuva celokupno formatiranje.", + "format_markdown": "Markdown - ovo čuva većinu formatiranja.", + "format_opml": "OPML - format za razmenu okvira samo za tekst. Formatiranje, slike i datoteke nisu uključeni.", + "opml_version_1": "OPML v1.0 - samo običan tekst", + "opml_version_2": "OPML v2.0 - dozvoljava i HTML", + "export_type_single": "Samo ovu belešku bez njenih potomaka", + "export": "Izvoz", + "choose_export_type": "Molimo vas da prvo izaberete tip izvoza", + "export_status": "Status izvoza", + "export_in_progress": "Izvoz u toku: {{progressCount}}", + "export_finished_successfully": "Izvoz je uspešno završen.", + "format_pdf": "PDF - za namene štampanja ili deljenja." + }, + "help": { + "fullDocumentation": "Pomoć (puna dokumentacija je dostupna online)", + "close": "Zatvori", + "noteNavigation": "Navigacija beleški", + "goUpDown": "UP, DOWN - kretanje gore/dole u listi sa beleškama", + "collapseExpand": "LEFT, RIGHT - sakupi/proširi čvor", + "notSet": "nije podešeno", + "goBackForwards": "idi u nazad/napred kroz istoriju", + "showJumpToNoteDialog": "prikaži \"Idi na\" dijalog", + "scrollToActiveNote": "skroluj do aktivne beleške", + "jumpToParentNote": "Backspace - idi do nadređene beleške", + "collapseWholeTree": "sakupi celo drvo beleški", + "collapseSubTree": "sakupi pod-drvo", + "tabShortcuts": "Prečice na karticama", + "newTabNoteLink": "Ctrl+click - (ili middle mouse click) na link beleške otvara belešku u novoj kartici", + "newTabWithActivationNoteLink": "Ctrl+Shift+click - (ili Shift+middle mouse click) na link beleške otvara i aktivira belešku u novoj kartici", + "onlyInDesktop": "Samo na dektop-u (Electron verzija)", + "openEmptyTab": "otvori praznu karticu", + "closeActiveTab": "zatvori aktivnu karticu", + "activateNextTab": "aktiviraj narednu karticu", + "activatePreviousTab": "aktiviraj prethodnu karticu", + "creatingNotes": "Pravljenje beleški", + "createNoteAfter": "napravi novu belešku nakon aktivne beleške", + "createNoteInto": "napravi novu pod-belešku u aktivnoj belešci", + "editBranchPrefix": "izmeni prefiks klona aktivne beleške", + "movingCloningNotes": "Premeštanje / kloniranje beleški", + "moveNoteUpDown": "pomeri belešku gore/dole u listi beleški", + "moveNoteUpHierarchy": "pomeri belešku na gore u hijerarhiji", + "multiSelectNote": "višestruki izbor beleški iznad/ispod", + "selectAllNotes": "izaberi sve beleške u trenutnom nivou", + "selectNote": "Shift+click - izaberi belešku", + "copyNotes": "kopiraj aktivnu belešku (ili trenutni izbor) u privremenu memoriju (koristi se za kloniranje)", + "cutNotes": "iseci trenutnu belešku (ili trenutni izbor) u privremenu memoriju (koristi se za premeštanje beleški)", + "pasteNotes": "nalepi belešku/e kao podbelešku u aktivnoj belešci (koja se ili premešta ili klonira u zavisnosti od toga da li je beleška kopirana ili isečena u privremenu memoriju)", + "deleteNotes": "obriši belešku / podstablo", + "editingNotes": "Izmena beleški", + "editNoteTitle": "u ravni drveta će se prebaciti sa ravni drveta na naslov beleške. Ulaz sa naslova beleške će prebaciti fokus na uređivač teksta. Ctrl+. će se vratiti sa uređivača na ravan drveta.", + "createEditLink": "Ctrl+K - napravi / izmeni spoljašnji link", + "createInternalLink": "napravi unutrašnji link", + "followLink": "prati link ispod kursora", + "insertDateTime": "ubaci trenutan datum i vreme na poziciju kursora", + "jumpToTreePane": "idi na ravan stabla i pomeri se do aktivne beleške", + "markdownAutoformat": "Autoformatiranje kao u Markdown-u", + "headings": "##, ###, #### itd. praćeno razmakom za naslove", + "bulletList": "* ili - praćeno razmakom za listu sa tačkama", + "numberedList": "1. ili 1) praćeno razmakom za numerisanu listu", + "blockQuote": "započnite liniju sa > praćeno sa razmakom za blok citat", + "troubleshooting": "Rešavanje problema", + "reloadFrontend": "ponovo učitaj Trilium frontend", + "showDevTools": "prikaži alate za programere", + "showSQLConsole": "prikaži SQL konzolu", + "other": "Ostalo", + "quickSearch": "fokus na unos za brzu pretragu", + "inPageSearch": "pretraga unutar stranice" + }, + "import": { + "importIntoNote": "Uvezi u belešku", + "close": "Zatvori", + "chooseImportFile": "Izaberi datoteku za uvoz", + "importDescription": "Sadržaj izabranih datoteka će biti uvezen kao podbeleške u", + "options": "Opcije", + "safeImportTooltip": "Trilium .zip izvozne datoteke mogu da sadrže izvršne skripte koje mogu imati štetno ponašanje. Bezbedan uvoz će deaktivirati automatsko izvršavanje svih uvezenih skripti. Isključite \"Bezbedan uvoz\" samo ako uvezena arhiva treba da sadrži izvršne skripte i ako potpuno verujete sadržaju uvezene datoteke.", + "safeImport": "Bezbedan uvoz", + "explodeArchivesTooltip": "Ako je ovo označeno onda će Trilium pročitati .zip, .enex i .opml datoteke i napraviti beleške od datoteka unutar tih arhiva. Ako nije označeno, Trilium će same arhive priložiti belešci.", + "explodeArchives": "Pročitaj sadržaj .zip, .enex i .opml arhiva.", + "shrinkImagesTooltip": "

Ako označite ovu opciju, Trilium će pokušati da smanji uvezene slike skaliranjem i optimizacijom što će možda uticati na kvalitet slike. Ako nije označeno, slike će biti uvezene bez promena.

Ovo se ne primenjuje na .zip uvoze sa metapodacima jer se tada podrazumeva da su te datoteke već optimizovane.

", + "shrinkImages": "Smanji slike", + "textImportedAsText": "Uvezi HTML, Markdown i TXT kao tekstualne beleške ako je nejasno iz metapodataka", + "codeImportedAsCode": "Uvezi prepoznate datoteke sa kodom (poput .json) ako beleške sa kodom ako nije jasno iz metapodataka", + "replaceUnderscoresWithSpaces": "Zameni podvlake sa razmacima u nazivima uvezenih beleški", + "import": "Uvezi", + "failed": "Uvoz nije uspeo: {{message}}.", + "html_import_tags": { + "title": "HTML oznake za uvoz", + "description": "Podesite koje HTML oznake trebaju biti sačuvane kada se uvoze beleške. Oznake koje se ne nalaze na listi će biti uklonjene tokom uvoza. Pojedine oznake (poput 'script') se uvek uklanjaju zbog bezbednosti.", + "placeholder": "Unesite HTML oznake, po jednu u svaki red", + "reset_button": "Vrati na podrazumevanu listu" + }, + "import-status": "Status uvoza", + "in-progress": "Uvoz u toku: {{progress}}", + "successful": "Uvoz je uspešno završen." + }, + "include_note": { + "dialog_title": "Uključi belešku", + "close": "Zatvori", + "label_note": "Beleška", + "placeholder_search": "pretraži belešku po njenom imenu", + "box_size_prompt": "Veličina kutije priložene beleške:", + "box_size_small": "mala (~ 10 redova)", + "box_size_medium": "srednja (~ 30 redova)", + "box_size_full": "puna (kutija prikazuje ceo tekst)", + "button_include": "Uključi belešku enter" + }, + "info": { + "modalTitle": "Informativna poruka", + "closeButton": "Zatvori", + "okButton": "U redu" + }, + "jump_to_note": { + "search_placeholder": "Pretraži belešku po njenom imenu ili unesi > za komande...", + "close": "Zatvori", + "search_button": "Pretraga u punom tekstu Ctrl+Enter" + }, + "markdown_import": { + "dialog_title": "Uvoz za Markdown", + "close": "Zatvori", + "modal_body_text": "Zbog Sandbox-a pretraživača nije moguće direktno učitati privremenu memoriju iz JavaScript-a. Molimo vas da nalepite Markdown za uvoz u tekstualno polje ispod i kliknete na dugme za uvoz", + "import_button": "Uvoz", + "import_success": "Markdown sadržaj je učitan u dokument." + }, + "move_to": { + "dialog_title": "Premesti beleške u ...", + "close": "Zatvori", + "notes_to_move": "Beleške za premeštanje", + "target_parent_note": "Ciljana nadbeleška", + "search_placeholder": "potraži belešku po njenom imenu", + "move_button": "Pređi na izabranu belešku enter", + "error_no_path": "Nema putanje za premeštanje.", + "move_success_message": "Izabrane beleške su premeštene u " + }, + "note_type_chooser": { + "change_path_prompt": "Promenite gde će se napraviti nova beleška:", + "search_placeholder": "pretraži putanju po njenom imenu (podrazumevano ako je prazno)", + "modal_title": "Izaberite tip beleške", + "close": "Zatvori", + "modal_body": "Izaberite tip beleške / šablon za novu belešku:", + "templates": "Šabloni:" + }, + "password_not_set": { + "title": "Lozinka nije podešena", + "close": "Zatvori", + "body1": "Zaštićene beleške su enkriptovane sa korisničkom lozinkom, ali lozinka još uvek nije podešena.", + "body2": "Za biste mogli da sačuvate beleške, kliknite ovde da otvorite dijalog sa Opcijama i podesite svoju lozinku." + }, + "prompt": { + "title": "Upit", + "close": "Zatvori", + "ok": "U redu enter", + "defaultTitle": "Upit" + }, + "protected_session_password": { + "modal_title": "Zaštićena sesija", + "help_title": "Pomoć za Zaštićene beleške", + "close_label": "Zatvori", + "form_label": "Da biste nastavili sa traženom akcijom moraćete započeti zaštićenu sesiju tako što ćete uneti lozinku:", + "start_button": "Započni zaštićenu sesiju enter" + }, + "recent_changes": { + "title": "Nedavne promene", + "erase_notes_button": "Obriši izabrane beleške odmah", + "close": "Zatvori", + "deleted_notes_message": "Obrisane beleške su uklonjene.", + "no_changes_message": "Još uvek nema izmena...", + "undelete_link": "poništi brisanje", + "confirm_undelete": "Da li želite da poništite brisanje ove beleške i njenih podbeleški?" + }, + "revisions": { + "note_revisions": "Revizije beleški", + "delete_all_revisions": "Obriši sve revizije ove beleške", + "delete_all_button": "Obriši sve revizije", + "help_title": "Pomoć za Revizije beleški", + "close": "Zatvori", + "revision_last_edited": "Ova revizija je poslednji put izmenjena {{date}}", + "confirm_delete_all": "Da li želite da obrišete sve revizije ove beleške?", + "no_revisions": "Još uvek nema revizija za ovu belešku...", + "restore_button": "Vrati", + "confirm_restore": "Da li želite da vratite ovu reviziju? Ovo će prepisati trenutan naslov i sadržaj beleške sa ovom revizijom.", + "delete_button": "Obriši", + "confirm_delete": "Da li želite da obrišete ovu reviziju?", + "revisions_deleted": "Revizije beleške su obrisane.", + "revision_restored": "Revizija beleške je vraćena.", + "revision_deleted": "Revizija beleške je obrisana.", + "snapshot_interval": "Interval snimanja revizije beleške: {{seconds}}s.", + "maximum_revisions": "Ograničenje broja slika revizije beleške: {{number}}.", + "settings": "Podešavanja revizija beleški", + "download_button": "Preuzmi", + "mime": "MIME: ", + "file_size": "Veličina datoteke:", + "preview": "Pregled:", + "preview_not_available": "Pregled nije dostupan za ovaj tip beleške." + }, + "sort_child_notes": { + "sort_children_by": "Sortiranje podbeleški po...", + "close": "Zatvori", + "sorting_criteria": "Kriterijum za sortiranje", + "title": "naslov", + "date_created": "datum kreiranja", + "date_modified": "datum izmene", + "sorting_direction": "Smer sortiranja", + "ascending": "uzlazni", + "descending": "silazni", + "folders": "Fascikle", + "sort_folders_at_top": "sortiraj fascikle na vrh", + "natural_sort": "Prirodno sortiranje", + "sort_with_respect_to_different_character_sorting": "sortiranje sa poštovanjem različitih pravila sortiranja karaktera i kolacija u različitim jezicima ili regionima.", + "natural_sort_language": "Jezik za prirodno sortiranje", + "the_language_code_for_natural_sort": "Kod jezika za prirodno sortiranje, npr. \"zh-CN\" za Kineski.", + "sort": "Sortiraj enter" + }, + "upload_attachments": { + "upload_attachments_to_note": "Otpremite priloge uz belešku", + "close": "Zatvori", + "choose_files": "Izaberite datoteke", + "files_will_be_uploaded": "Datoteke će biti otpremljene kao prilozi u", + "options": "Opcije", + "shrink_images": "Smanji slike", + "upload": "Otpremi", + "tooltip": "Ako je označeno, Trilium će pokušati da smanji otpremljene slike skaliranjem i optimizacijom što može uticati na kvalitet slike. Ako nije označeno, slike će biti otpremljene bez izmena." + }, + "attribute_detail": { + "attr_detail_title": "Naslov detalja atributa", + "close_button_title": "Otkaži izmene i zatvori", + "attr_is_owned_by": "Atribut je u vlasništvu", + "attr_name_title": "Naziv atributa može biti sastavljen samo od alfanumeričkih znakova, dvotačke i donje crte", + "name": "Naziv", + "value": "Vrednost", + "target_note_title": "Relacija je imenovana veza između izvorne beleške i ciljne beleške.", + "target_note": "Ciljna beleška", + "promoted_title": "Promovisani atribut je istaknut na belešci.", + "promoted": "Promovisan", + "promoted_alias_title": "Naziv koji će biti prikazan u korisničkom interfejsu promovisanih atributa.", + "promoted_alias": "Pseudonim", + "multiplicity_title": "Multiplicitet definiše koliko atributa sa istim nazivom se može napraviti - najviše 1 ili više od 1.", + "multiplicity": "Multiplicitet", + "single_value": "Jednostruka vrednost", + "multi_value": "Višestruka vrednost", + "label_type_title": "Tip oznake će pomoći Triliumu da izabere odgovarajući interfejs za unos vrednosti oznake.", + "label_type": "Tip", + "text": "Tekst", + "number": "Broj", + "boolean": "Boolean", + "date": "Datum", + "date_time": "Datum i vreme", + "time": "Vreme", + "url": "URL", + "precision_title": "Broj cifara posle zareza treba biti dostupan u interfejsu za postavljanje vrednosti.", + "precision": "Preciznost", + "digits": "cifre", + "inverse_relation_title": "Opciono podešavanje za definisanje kojoj relaciji je ova suprotna. Primer: Otac - Sin su inverzne relacije jedna drugoj.", + "inverse_relation": "Inverzna relacija", + "inheritable_title": "Atributi koji mogu da se nasleđuju će biti nasleđeni od strane svih potomaka unutar ovog stabla.", + "inheritable": "Nasledno", + "save_and_close": "Sačuvaj i zatvori Ctrl+Enter", + "delete": "Obriši", + "related_notes_title": "Druge beleške sa ovom oznakom", + "more_notes": "Još beleški", + "label": "Detalji oznake", + "label_definition": "Detalji definicije oznake", + "relation": "Detalji relacije", + "relation_definition": "Detalji definicije relacije", + "disable_versioning": "onemogućava auto-verzionisanje. Korisno za npr. velike, ali nebitne beleške - poput velikih JS biblioteka koje se koriste za skripte", + "calendar_root": "obeležava belešku koju treba koristiti kao osnova za dnevne beleške. Samo jedna beleška treba da bude označena kao takva.", + "archived": "beleške sa ovom oznakom neće biti podrazumevano vidljive u rezultatima pretrage (kao ni u dijalozima za Idi na, Dodaj link, itd.).", + "exclude_from_export": "beleške (sa svojim podstablom) neće biti uključene u bilo koji izvoz beleški", + "run": "definiše u kojim događajima se skripta pokreće. Moguće vrednosti su:\n
    \n
  • frontendStartup - kada se pokrene Trilium frontend (ili se osveži), ali ne na mobilnom uređaju.
  • \n
  • mobileStartup - kada se pokrene Trilium frontend (ili se osveži), na mobilnom uređaju..
  • \n
  • backendStartup - kada se Trilium backend pokrene
  • \n
  • hourly - pokreće se svaki sat. Može se koristiti dodatna oznaka runAtHour da se označi u kom satu.
  • \n
  • daily - pokreće se jednom dnevno
  • \n
", + "run_on_instance": "Definiše u kojoj instanci Trilium-a ovo treba da se pokreće. Podrazumevano podešavanje je na svim instancama.", + "run_at_hour": "U kom satu ovo treba da se pokreće. Treba se koristiti zajedno sa #run=hourly. Može biti definisano više puta za više pokretanja u toku dana.", + "disable_inclusion": "skripte sa ovom oznakom neće biti uključene u izvršavanju nadskripte.", + "sorted": "čuva podbeleške sortirane alfabetski po naslovu", + "sort_direction": "Uzlazno (podrazumevano) ili silazno", + "sort_folders_first": "Fascikle (beleške sa podbeleškama) treba da budu sortirane na vrhu", + "top": "zadrži datu belešku na vrhu njene nadbeleške (primenjuje se samo na sortiranim nadbeleškama)", + "hide_promoted_attributes": "Sakrij promovisane atribute na ovoj belešci", + "read_only": "uređivač je u režimu samo za čitanje. Radi samo za tekst i beleške sa kodom." + } } diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json index 79ed4fb66..e675a64fd 100644 --- a/apps/client/src/translations/tw/translation.json +++ b/apps/client/src/translations/tw/translation.json @@ -1,1547 +1,1547 @@ { - "about": { - "title": "關於 Trilium Notes", - "homepage": "項目主頁:", - "app_version": "軟件版本:", - "db_version": "資料庫版本:", - "sync_version": "同步版本:", - "build_date": "編譯日期:", - "build_revision": "編譯版本:", - "data_directory": "數據目錄:" - }, - "toast": { - "critical-error": { - "title": "嚴重錯誤", - "message": "發生了嚴重錯誤,導致客戶端應用程式無法啓動:\n\n{{message}}\n\n這很可能是由於腳本以意外的方式失敗引起的。請嘗試以安全模式啓動應用程式並解決問題。" - }, - "widget-error": { - "title": "小部件初始化失敗", - "message-custom": "來自 ID 為 \"{{id}}\"、標題為 \"{{title}}\" 的筆記的自定義小部件因以下原因無法初始化:\n\n{{message}}", - "message-unknown": "未知小部件因以下原因無法初始化:\n\n{{message}}" - }, - "bundle-error": { - "title": "加載自定義腳本失敗", - "message": "來自 ID 為 \"{{id}}\"、標題為 \"{{title}}\" 的筆記的腳本因以下原因無法執行:\n\n{{message}}" - } - }, - "add_link": { - "add_link": "添加鏈接", - "help_on_links": "鏈接幫助", - "close": "關閉", - "note": "筆記", - "search_note": "按名稱搜尋筆記", - "link_title_mirrors": "鏈接標題跟隨筆記標題變化", - "link_title_arbitrary": "鏈接標題可隨意修改", - "link_title": "鏈接標題", - "button_add_link": "添加鏈接 Enter" - }, - "branch_prefix": { - "edit_branch_prefix": "編輯分支前綴", - "help_on_tree_prefix": "有關樹前綴的幫助", - "close": "關閉", - "prefix": "前綴:", - "save": "保存", - "branch_prefix_saved": "已保存分支前綴。" - }, - "bulk_actions": { - "bulk_actions": "批量操作", - "close": "關閉", - "affected_notes": "受影響的筆記", - "include_descendants": "包括所選筆記的子筆記", - "available_actions": "可用操作", - "chosen_actions": "選擇的操作", - "execute_bulk_actions": "執行批量操作", - "bulk_actions_executed": "已成功執行批量操作。", - "none_yet": "暫無操作 ... 通過點擊上方的可用操作添加一個操作。", - "labels": "標籤", - "relations": "關聯關係", - "notes": "筆記", - "other": "其它" - }, - "clone_to": { - "clone_notes_to": "複製筆記到...", - "help_on_links": "鏈接幫助", - "notes_to_clone": "要複製的筆記", - "target_parent_note": "目標上級筆記", - "search_for_note_by_its_name": "按名稱搜尋筆記", - "cloned_note_prefix_title": "複製的筆記將在筆記樹中顯示給定的前綴", - "prefix_optional": "前綴(可選)", - "clone_to_selected_note": "複製到選定的筆記 Enter", - "no_path_to_clone_to": "沒有複製路徑。", - "note_cloned": "筆記 \"{{clonedTitle}}\" 已複製到 \"{{targetTitle}}\"" - }, - "confirm": { - "confirmation": "確認", - "cancel": "取消", - "ok": "確定", - "are_you_sure_remove_note": "確定要從關係圖中移除筆記 \"{{title}}\" ?", - "if_you_dont_check": "如果不選中此項,筆記將僅從關係圖中移除。", - "also_delete_note": "同時刪除筆記" - }, - "delete_notes": { - "delete_notes_preview": "刪除筆記預覽", - "delete_all_clones_description": "同時刪除所有複製(可以在最近修改中撤消)", - "erase_notes_description": "通常(軟)刪除僅標記筆記為已刪除,可以在一段時間內通過最近修改對話框撤消。選中此選項將立即擦除筆記,無法撤銷。", - "erase_notes_warning": "永久擦除筆記(無法撤銷),包括所有複製。這將強制應用程式重新加載。", - "notes_to_be_deleted": "將刪除以下筆記 ({{- noteCount}})", - "no_note_to_delete": "沒有筆記將被刪除(僅複製)。", - "broken_relations_to_be_deleted": "將刪除以下關係並斷開連接 ({{- relationCount}})", - "cancel": "取消", - "ok": "確定", - "deleted_relation_text": "筆記 {{- note}} (將被刪除的筆記) 被以下關係 {{- relation}} 引用, 來自 {{- source}}。" - }, - "export": { - "export_note_title": "匯出筆記", - "close": "關閉", - "export_type_subtree": "此筆記及其所有子筆記", - "format_html_zip": "HTML ZIP 歸檔 - 建議使用此選項,因為它保留了所有格式。", - "format_markdown": "Markdown - 保留大部分格式。", - "format_opml": "OPML - 大綱交換格式,僅限文字。不包括格式、圖片和文件。", - "opml_version_1": "OPML v1.0 - 僅限純文字", - "opml_version_2": "OPML v2.0 - 還允許 HTML", - "export_type_single": "僅此筆記,不包括子筆記", - "export": "匯出", - "choose_export_type": "請先選擇匯出類型", - "export_status": "匯出狀態", - "export_in_progress": "匯出進行中:{{progressCount}}", - "export_finished_successfully": "匯出成功完成。" - }, - "help": { - "fullDocumentation": "幫助(完整在線文檔)", - "close": "關閉", - "noteNavigation": "筆記導航", - "goUpDown": "UP, DOWN - 在筆記列表中向上/向下移動", - "collapseExpand": "LEFT, RIGHT - 折疊/展開節點", - "notSet": "未設定", - "goBackForwards": "在歷史記錄中前後移動", - "showJumpToNoteDialog": "顯示\"跳轉到\" 對話框", - "scrollToActiveNote": "滾動到活動筆記", - "jumpToParentNote": "Backspace - 跳轉到上級筆記", - "collapseWholeTree": "折疊整個筆記樹", - "collapseSubTree": "折疊子樹", - "tabShortcuts": "標籤快捷鍵", - "newTabNoteLink": "CTRL+click - 在筆記鏈接上使用CTRL+點擊(或中鍵點擊)在新標籤中打開筆記", - "onlyInDesktop": "僅在桌面版(電子構建)中", - "openEmptyTab": "打開空白標籤頁", - "closeActiveTab": "關閉活動標籤頁", - "activateNextTab": "激活下一個標籤頁", - "activatePreviousTab": "激活上一個標籤頁", - "creatingNotes": "新增筆記", - "createNoteAfter": "在活動筆記後新增新筆記", - "createNoteInto": "在活動筆記中新增新子筆記", - "editBranchPrefix": "編輯活動筆記複製的前綴", - "movingCloningNotes": "移動/複製筆記", - "moveNoteUpDown": "在筆記列表中向上/向下移動筆記", - "moveNoteUpHierarchy": "在層級結構中向上移動筆記", - "multiSelectNote": "多選上/下筆記", - "selectAllNotes": "選擇當前級別的所有筆記", - "selectNote": "Shift+Click - 選擇筆記", - "copyNotes": "將活動筆記(或當前選擇)複製到剪貼簿(用於複製)", - "cutNotes": "將當前筆記(或當前選擇)剪下到剪貼簿(用於移動筆記)", - "pasteNotes": "將筆記貼上為活動筆記的子筆記(根據是複製還是剪下到剪貼簿來決定是移動還是複製)", - "deleteNotes": "刪除筆記/子樹", - "editingNotes": "編輯筆記", - "editNoteTitle": "在樹形筆記樹中,焦點會從筆記樹切換到筆記標題。按下 Enter 鍵會將焦點從筆記標題切換到文字編輯器。按下 Ctrl+. 會將焦點從編輯器切換回筆記樹。", - "createEditLink": "Ctrl+K - 新增/編輯外部鏈接", - "createInternalLink": "新增內部鏈接", - "followLink": "跟隨遊標下的鏈接", - "insertDateTime": "在插入點插入當前日期和時間", - "jumpToTreePane": "跳轉到樹面板並滾動到活動筆記", - "markdownAutoformat": "類Markdown自動格式化", - "headings": "##, ###, #### 等,後跟空格,自動轉換為標題", - "bulletList": "*- 後跟空格,自動轉換為項目符號列表", - "numberedList": "1. or 1) 後跟空格,自動轉換為編號列表", - "blockQuote": "一行以 > 開頭並後跟空格,自動轉換為塊引用", - "troubleshooting": "故障排除", - "reloadFrontend": "重新加載Trilium前端", - "showDevTools": "顯示開發者工具", - "showSQLConsole": "顯示SQL控制台", - "other": "其他", - "quickSearch": "定位到快速搜尋框", - "inPageSearch": "頁面內搜尋" - }, - "import": { - "importIntoNote": "匯入到筆記", - "close": "關閉", - "chooseImportFile": "選擇匯入文件", - "importDescription": "所選文件的內容將作為子筆記匯入到", - "options": "選項", - "safeImportTooltip": "Trilium .zip 匯出文件可能包含可能有害的可執行腳本。安全匯入將停用所有匯入腳本的自動執行。僅當您完全信任匯入的可執行腳本的內容時,才取消選中「安全匯入」。", - "safeImport": "安全匯入", - "explodeArchivesTooltip": "如果選中此項,則Trilium將讀取.zip.enex.opml文件,並從這些歸檔文件內部的文件新增筆記。如果未選中,則Trilium會將這些歸檔文件本身附加到筆記中。", - "explodeArchives": "讀取.zip.enex.opml歸檔文件的內容。", - "shrinkImagesTooltip": "

如果選中此選項,Trilium將嘗試通過縮放和優化來縮小匯入的圖片,這可能會影響圖片的感知質量。如果未選中,圖片將不做修改地匯入。

這不適用於帶有元數據的.zip匯入,因為這些文件已被假定為已優化。

", - "shrinkImages": "壓縮圖片", - "textImportedAsText": "如果元數據不明確,將HTML、Markdown和TXT匯入為文字筆記", - "codeImportedAsCode": "如果元數據不明確,將識別的程式碼文件(例如.json)匯入為程式碼筆記", - "replaceUnderscoresWithSpaces": "在匯入的筆記名稱中將下劃線替換為空格", - "import": "匯入", - "failed": "匯入失敗: {{message}}." - }, - "include_note": { - "dialog_title": "包含筆記", - "label_note": "筆記", - "placeholder_search": "按名稱搜尋筆記", - "box_size_prompt": "包含筆記的框大小:", - "box_size_small": "小型 (顯示大約10行)", - "box_size_medium": "中型 (顯示大約30行)", - "box_size_full": "完整顯示(完整文字框)", - "button_include": "包含筆記 Enter" - }, - "info": { - "modalTitle": "資訊消息", - "closeButton": "關閉", - "okButton": "確定" - }, - "jump_to_note": { - "search_button": "全文搜尋 Ctrl+Enter" - }, - "markdown_import": { - "dialog_title": "Markdown 匯入", - "modal_body_text": "由於瀏覽器沙盒的限制,無法直接從 JavaScript 讀取剪貼簿內容。請將要匯入的 Markdown 文字貼上到下面的文字框中,然後點擊匯入按鈕", - "import_button": "匯入 Ctrl+Enter", - "import_success": "已成功匯入 Markdown 內容文檔。" - }, - "move_to": { - "dialog_title": "移動筆記到...", - "notes_to_move": "需要移動的筆記", - "target_parent_note": "目標上級筆記", - "search_placeholder": "通過名稱搜尋筆記", - "move_button": "移動到選定的筆記 Enter", - "error_no_path": "沒有可以移動到的路徑。", - "move_success_message": "已移動所選筆記到 " - }, - "note_type_chooser": { - "modal_title": "選擇筆記類型", - "modal_body": "選擇新筆記的類型或模板:", - "templates": "模板:" - }, - "password_not_set": { - "title": "密碼未設定", - "body1": "受保護的筆記使用用戶密碼加密,但密碼尚未設定。", - "body2": "點擊這裡打開選項對話框並設定您的密碼。" - }, - "prompt": { - "title": "提示", - "ok": "確定 Enter", - "defaultTitle": "提示" - }, - "protected_session_password": { - "modal_title": "保護會話", - "help_title": "關於保護筆記的幫助", - "close_label": "關閉", - "form_label": "輸入密碼進入保護會話以繼續:", - "start_button": "開始保護會話 Enter" - }, - "recent_changes": { - "title": "最近修改", - "erase_notes_button": "立即清理已刪除的筆記", - "deleted_notes_message": "已清理刪除的筆記。", - "no_changes_message": "暫無修改...", - "undelete_link": "恢復刪除", - "confirm_undelete": "您確定要恢復此筆記及其子筆記嗎?" - }, - "revisions": { - "note_revisions": "筆記歷史版本", - "delete_all_revisions": "刪除此筆記的所有歷史版本", - "delete_all_button": "刪除所有歷史版本", - "help_title": "關於筆記歷史版本的幫助", - "revision_last_edited": "此歷史版本上次編輯於 {{date}}", - "confirm_delete_all": "您是否要刪除此筆記的所有歷史版本?", - "no_revisions": "此筆記暫無歷史版本...", - "confirm_restore": "您是否要恢復此歷史版本?這將使用此歷史版本覆蓋筆記的當前標題和內容。", - "confirm_delete": "您是否要刪除此歷史版本?", - "revisions_deleted": "已刪除筆記歷史版本。", - "revision_restored": "已恢復筆記歷史版本。", - "revision_deleted": "已刪除筆記歷史版本。", - "snapshot_interval": "筆記快照保存間隔: {{seconds}}秒。", - "maximum_revisions": "當前筆記的最歷史數量: {{number}}。", - "settings": "筆記歷史設定", - "download_button": "下載", - "mime": "MIME類型:", - "file_size": "文件大小:", - "preview": "預覽:", - "preview_not_available": "無法預覽此類型的筆記。" - }, - "sort_child_notes": { - "sort_children_by": "按...排序子筆記", - "sorting_criteria": "排序條件", - "title": "標題", - "date_created": "新增日期", - "date_modified": "修改日期", - "sorting_direction": "排序方向", - "ascending": "升序", - "descending": "降序", - "folders": "資料夾", - "sort_folders_at_top": "將資料夾置頂排序", - "natural_sort": "自然排序", - "sort_with_respect_to_different_character_sorting": "根據不同語言或地區的字符排序和排序規則排序。", - "natural_sort_language": "自然排序語言", - "the_language_code_for_natural_sort": "自然排序的語言程式碼,例如繁體中文的 \"zh-TW\"。", - "sort": "排序 Enter" - }, - "upload_attachments": { - "upload_attachments_to_note": "上傳附件到筆記", - "choose_files": "選擇文件", - "files_will_be_uploaded": "文件將作為附件上傳到", - "options": "選項", - "shrink_images": "縮小圖片", - "upload": "上傳", - "tooltip": "如果您勾選此選項,Trilium 將嘗試通過縮放和優化來縮小上傳的圖片,這可能會影響感知的圖片質量。如果未選中,則將以不進行修改的方式上傳圖片。" - }, - "attribute_detail": { - "attr_detail_title": "屬性詳情標題", - "close_button_title": "取消修改並關閉", - "attr_is_owned_by": "屬性所有者", - "attr_name_title": "屬性名稱只能由字母數字字符、冒號和下劃線組成", - "name": "名稱", - "value": "值", - "target_note_title": "關係是源筆記和目標筆記之間的命名連接。", - "target_note": "目標筆記", - "promoted_title": "升級屬性在筆記上突出顯示。", - "promoted": "升級", - "promoted_alias_title": "在升級屬性界面中顯示的名稱。", - "promoted_alias": "別名", - "multiplicity_title": "多重性定義了可以新增的含有相同名稱的屬性的數量 - 最多為1或多於1。", - "multiplicity": "多重性", - "single_value": "單值", - "multi_value": "多值", - "label_type_title": "標籤類型將幫助 Trilium 選擇適合的界面來輸入標籤值。", - "label_type": "類型", - "text": "文字", - "number": "數字", - "boolean": "布林值", - "date": "日期", - "date_time": "日期和時間", - "time": "時間", - "url": "網址", - "precision_title": "值設定界面中浮點數後的位數。", - "precision": "精度", - "digits": "位數", - "inverse_relation_title": "可選設定,定義此關係與哪個關係相反。例如:上級 - 子級是彼此的反向關係。", - "inverse_relation": "反向關係", - "inheritable_title": "可繼承屬性將被繼承到此樹下的所有後代。", - "inheritable": "可繼承", - "save_and_close": "保存並關閉 Ctrl+Enter", - "delete": "刪除", - "related_notes_title": "含有此標籤的其他筆記", - "more_notes": "更多筆記", - "label": "標籤詳情", - "label_definition": "標籤定義詳情", - "relation": "關係詳情", - "relation_definition": "關係定義詳情", - "disable_versioning": "禁用自動版本控制。適用於例如大型但不重要的筆記 - 例如用於腳本編寫的大型JS庫", - "calendar_root": "標記應用作為每日筆記的根。只應標記一個筆記。", - "archived": "含有此標籤的筆記默認在搜尋結果中不可見(也適用於跳轉到、添加鏈接對話框等)。", - "exclude_from_export": "筆記(及其子樹)不會包含在任何筆記匯出中", - "run": "定義腳本應運行的事件。可能的值包括:\n
    \n
  • frontendStartup - Trilium前端啓動時(或刷新時),但不會在移動端執行。
  • \n
  • mobileStartup - Trilium前端啓動時(或刷新時), 在移動端會執行。
  • \n
  • backendStartup - Trilium後端啓動時
  • \n
  • hourly - 每小時運行一次。您可以使用附加標籤runAtHour指定小時。
  • \n
  • daily - 每天運行一次
  • \n
", - "run_on_instance": "定義應在哪個Trilium實例上運行。默認為所有實例。", - "run_at_hour": "應在哪個小時運行。應與#run=hourly一起使用。可以多次定義,以便一天內運行多次。", - "disable_inclusion": "含有此標籤的腳本不會包含在父腳本執行中。", - "sorted": "按標題字母順序保持子筆記排序", - "sort_direction": "ASC(默認)或DESC", - "sort_folders_first": "資料夾(含有子筆記的筆記)應排在頂部", - "top": "在其上級中保留給定筆記在頂部(僅適用於排序的上級)", - "hide_promoted_attributes": "隱藏此筆記上的升級屬性", - "read_only": "編輯器處於唯讀模式。僅適用於文字和程式碼筆記。", - "auto_read_only_disabled": "文字/程式碼筆記可以在太大時自動設定為唯讀模式。您可以通過向筆記添加此標籤來對單個筆記單獨設定禁用唯讀。", - "app_css": "標記加載到Trilium應用程式中的CSS筆記,因此可以用於修改Trilium的外觀。", - "app_theme": "標記為完整的Trilium主題的CSS筆記,因此可以在Trilium選項中使用。", - "css_class": "該標籤的值將作為CSS類添加到樹中表示給定筆記的節點。這對於高級主題設定非常有用。可用於模板筆記。", - "icon_class": "該標籤的值將作為CSS類添加到樹中圖標上,有助於從視覺上區分筆記樹里的筆記。比如可以是 bx bx-home - 圖標來自boxicons。可用於模板筆記。", - "page_size": "筆記列表中每頁的項目數", - "custom_request_handler": "請參閱自定義請求處理程序 ", - "custom_resource_provider": "請參閱自定義請求處理程序", - "widget": "將此筆記標記為將添加到Trilium組件樹中的自定義小部件", - "workspace": "將此筆記標記為允許輕鬆提升的工作區", - "workspace_icon_class": "定義在選項卡中提升到此筆記時將使用的框圖圖標CSS類", - "workspace_tab_background_color": "提升到此筆記時在筆記選項卡中使用的CSS顏色", - "workspace_calendar_root": "定義每個工作區的日曆根", - "workspace_template": "在新增新筆記時,此筆記將出現在可用模板的選擇中,但僅當提升到包含此模板的工作區時", - "search_home": "新的搜尋筆記將作為此筆記的子筆記新增", - "workspace_search_home": "當提升到此工作區筆記的某個祖先時,新的搜尋筆記將作為此筆記的子筆記新增", - "inbox": "使用側邊欄中的\"新建筆記\"按鈕新增筆記時,默認收件箱位置。筆記將作為標有#inbox標籤的筆記的子筆記新增。", - "workspace_inbox": "當提升到此工作區筆記的某個祖先時,新的筆記的默認收件箱位置", - "sql_console_home": "SQL控制台筆記的默認位置", - "bookmark_folder": "含有此標籤的筆記將作為資料夾出現在書籤中(允許訪問其子筆記)", - "share_hidden_from_tree": "此筆記從左側導航樹中隱藏,但仍可通過其URL訪問", - "share_external_link": "筆記將在分享樹中作為指向外部網站的鏈接", - "share_alias": "使用此別名定義將在 https://你的trilium域名/share/[別名] 下可用的筆記", - "share_omit_default_css": "將省略默認的分享頁面CSS。當您進行廣泛的樣式修改時使用。", - "share_root": "標記作為在 /share 地址分享的根節點筆記。", - "share_description": "定義要添加到HTML meta標籤以供描述的文字", - "share_raw": "筆記將以其原始格式提供,不帶HTML包裝器", - "share_disallow_robot_indexing": "將通過X-Robots-Tag: noindex標頭禁止爬蟲機器人索引此筆記", - "share_credentials": "需要憑據才能訪問此分享筆記。值應以'username:password'格式提供。請勿忘記使其可繼承以應用於子筆記/圖片。", - "share_index": "含有此標籤的筆記將列出所有分享筆記的根", - "display_relations": "應顯示的逗號分隔關係名稱。將隱藏所有其他關係。", - "hide_relations": "應隱藏的逗號分隔關係名稱。將顯示所有其他關係。", - "title_template": "新增為此筆記的子筆記時的默認標題。該值將作為JavaScript字符串評估\n 並因此可以通過注入的nowparentNote變量豐富動態內容。示例:\n \n
    \n
  • ${parentNote.getLabelValue('authorName')}的文學作品
  • \n
  • Log for ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n 有關詳細資訊,請參見詳細資訊wiki,API文檔parentNotenow。", - "template": "新增新筆記時將出現在可用模板的選擇中的筆記", - "toc": "#toc#toc=show將強制顯示目錄。 #toc=hide將強制隱藏它。如果標籤不存在,則觀察全局設定", - "color": "定義筆記樹、鏈接等中筆記的顏色。使用任何有效的CSS顏色值,如'red'或#a13d5f", - "keyboard_shortcut": "定義立即跳轉到此筆記的鍵盤快捷鍵。示例:'ctrl+alt+e'。需要前端重新加載才能生效。", - "keep_current_hoisting": "即使筆記不在當前提升的子樹中顯示,打開此鏈接也不會修改提升。", - "execute_button": "將執行當前程式碼筆記的按鈕標題", - "execute_description": "顯示與執行按鈕一起顯示的當前程式碼筆記的更長描述", - "exclude_from_note_map": "含有此標籤的筆記將從筆記地圖中隱藏", - "new_notes_on_top": "新筆記將新增在上級筆記的頂部,而不是底部。", - "hide_highlight_widget": "隱藏高亮列表小部件", - "run_on_note_creation": "在後端新增筆記時執行。如果要為在特定子樹下新增的所有筆記運行腳本,請使用此關係。在這種情況下,在子樹根筆記上新增它並使其可繼承。在子樹中的任何深度新增新筆記都會觸發腳本。", - "run_on_child_note_creation": "當新增新的子筆記時執行", - "run_on_note_title_change": "當筆記標題修改時執行(包括筆記新增)", - "run_on_note_content_change": "當筆記內容修改時執行(包括筆記新增)。", - "run_on_note_change": "當筆記修改時執行(包括筆記新增)。不包括內容修改", - "run_on_note_deletion": "在刪除筆記時執行", - "run_on_branch_creation": "在新增分支時執行。分支是上級筆記和子筆記之間的鏈接,並且在複製或移動筆記時新增。", - "run_on_branch_change": "在分支更新時執行。", - "run_on_branch_deletion": "在刪除分支時執行。分支是上級筆記和子筆記之間的鏈接,例如在移動筆記時刪除(刪除舊的分支/鏈接)。", - "run_on_attribute_creation": "在為定義此關係的筆記新增新屬性時執行", - "run_on_attribute_change": "當修改定義此關係的筆記的屬性時執行。刪除屬性時也會觸發此操作。", - "relation_template": "即使沒有上下級關係,筆記的屬性也將繼承。如果空,則筆記的內容和子樹將添加到實例筆記中。有關詳細資訊,請參見文檔。", - "inherit": "即使沒有上下級關係,筆記的屬性也將繼承。有關類似概念的模板關係,請參見模板關係。請參閱文檔中的屬性繼承。", - "render_note": "「渲染HTML筆記」類型的筆記將使用程式碼筆記(HTML或腳本)進行呈現,因此需要指定要渲染的筆記", - "widget_relation": "此關係的目標將作為側邊欄中的小部件執行和呈現", - "share_css": "將注入分享頁面的CSS筆記。CSS筆記也必須位於分享子樹中。可以考慮一並使用'share_hidden_from_tree'和'share_omit_default_css'。", - "share_js": "將注入分享頁面的JavaScript筆記。JS筆記也必須位於分享子樹中。可以考慮一並使用'share_hidden_from_tree'。", - "share_template": "用作顯示分享筆記的模板的嵌入式JavaScript筆記。如果沒有,將回退到默認模板。可以考慮一並使用'share_hidden_from_tree'。", - "share_favicon": "在分享頁面中設定的favicon筆記。一般需要將它設定為分享和可繼承。Favicon筆記也必須位於分享子樹中。可以考慮一並使用'share_hidden_from_tree'。", - "is_owned_by_note": "由此筆記所有", - "other_notes_with_name": "其它含有 {{attributeType}} 名為 \"{{attributeName}}\" 的的筆記", - "and_more": "... 以及另外 {{count}} 個" - }, - "attribute_editor": { - "help_text_body1": "要添加標籤,只需輸入例如 #rock 或者如果您還想添加值,則例如 #year = 2020", - "help_text_body2": "對於關係,請輸入 ~author = @,這將顯示一個自動完成列表,您可以查找所需的筆記。", - "help_text_body3": "您也可以使用右側的 + 按鈕添加標籤和關係。

", - "save_attributes": "保存屬性 ", - "add_a_new_attribute": "添加新屬性", - "add_new_label": "添加新標籤 ", - "add_new_relation": "添加新關係 ", - "add_new_label_definition": "添加新標籤定義", - "add_new_relation_definition": "添加新關係定義", - "placeholder": "在此輸入標籤和關係" - }, - "abstract_bulk_action": { - "remove_this_search_action": "刪除此搜尋操作" - }, - "execute_script": { - "execute_script": "執行腳本", - "help_text": "您可以在匹配的筆記上執行簡單的腳本。", - "example_1": "例如,要在筆記標題後附加字符串,請使用以下腳本:", - "example_2": "更複雜的例子,刪除所有匹配的筆記屬性:" - }, - "add_label": { - "add_label": "添加標籤", - "label_name_placeholder": "標籤名稱", - "label_name_title": "允許使用字母、數字、下劃線和冒號。", - "to_value": "值為", - "new_value_placeholder": "新值", - "help_text": "在所有匹配的筆記上:", - "help_text_item1": "如果筆記尚無此標籤,則新增給定的標籤", - "help_text_item2": "或更改現有標籤的值", - "help_text_note": "您也可以在不指定值的情況下調用此方法,這種情況下,標籤將分配給沒有值的筆記。" - }, - "delete_label": { - "delete_label": "刪除標籤", - "label_name_placeholder": "標籤名稱", - "label_name_title": "允許使用字母、數字、下劃線和冒號。" - }, - "rename_label": { - "rename_label": "重新命名標籤", - "rename_label_from": "重新命名標籤從", - "old_name_placeholder": "舊名稱", - "to": "改為", - "new_name_placeholder": "新名稱", - "name_title": "允許使用字母、數字、下劃線和冒號。" - }, - "update_label_value": { - "update_label_value": "更新標籤值", - "label_name_placeholder": "標籤名稱", - "label_name_title": "允許使用字母、數字、下劃線和冒號。", - "to_value": "值為", - "new_value_placeholder": "新值", - "help_text": "在所有匹配的筆記上,更改現有標籤的值。", - "help_text_note": "您也可以在不指定值的情況下調用此方法,這種情況下,標籤將分配給沒有值的筆記。" - }, - "delete_note": { - "delete_note": "刪除筆記", - "delete_matched_notes": "刪除匹配的筆記", - "delete_matched_notes_description": "這將刪除匹配的筆記。", - "undelete_notes_instruction": "刪除後,可以從「最近修改」對話框中恢復它們。", - "erase_notes_instruction": "要永久擦除筆記,您可以在刪除後轉到「選項」->「其他」,然後單擊「立即擦除已刪除的筆記」按鈕。" - }, - "delete_revisions": { - "delete_note_revisions": "刪除筆記歷史", - "all_past_note_revisions": "所有匹配筆記的過去歷史都將被刪除。筆記本身將完全保留。換句話說,筆記的歷史將被刪除。" - }, - "move_note": { - "move_note": "移動筆記", - "to": "到", - "target_parent_note": "目標上級筆記", - "on_all_matched_notes": "對於所有匹配的筆記", - "move_note_new_parent": "如果筆記只有一個上級(即舊分支被移除並新增新分支到新上級),則將筆記移動到新上級", - "clone_note_new_parent": "如果筆記有多個複製/分支(不清楚應該移除哪個分支),則將筆記複製到新上級", - "nothing_will_happen": "如果筆記無法移動到目標筆記(即這會新增一個樹循環),則不會發生任何事情" - }, - "rename_note": { - "rename_note": "重新命名筆記", - "rename_note_title_to": "重新命名筆記標題為", - "new_note_title": "新筆記標題", - "click_help_icon": "點擊右側的幫助圖標查看所有選項", - "evaluated_as_js_string": "給定的值被評估為 JavaScript 字符串,因此可以通過注入的 note 變量(正在重新命名的筆記)豐富動態內容。 例如:", - "example_note": "Note - 所有匹配的筆記都被重新命名為「Note」", - "example_new_title": "NEW: ${note.title} - 匹配的筆記標題以「NEW: 」為前綴", - "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - 匹配的筆記以筆記的新增月份-日期為前綴", - "api_docs": "有關詳細資訊,請參閱筆記及其dateCreatedObj / utcDateCreatedObj 屬性的API文檔。" - }, - "add_relation": { - "add_relation": "添加關係", - "relation_name": "關係名稱", - "allowed_characters": "允許的字符為字母數字、下劃線和冒號。", - "to": "到", - "target_note": "目標筆記", - "create_relation_on_all_matched_notes": "在所有匹配的筆記上新增指定的關係。" - }, - "delete_relation": { - "delete_relation": "刪除關係", - "relation_name": "關係名稱", - "allowed_characters": "允許的字符為字母數字、下劃線和冒號。" - }, - "rename_relation": { - "rename_relation": "重新命名關係", - "rename_relation_from": "重新命名關係,從", - "old_name": "舊名稱", - "to": "改為", - "new_name": "新名稱", - "allowed_characters": "允許的字符為字母數字、下劃線和冒號。" - }, - "update_relation_target": { - "update_relation": "更新關係", - "relation_name": "關係名稱", - "allowed_characters": "允許的字符為字母數字、下劃線和冒號。", - "to": "到", - "target_note": "目標筆記", - "on_all_matched_notes": "在所有匹配的筆記上", - "change_target_note": "或更改現有關係的目標筆記", - "update_relation_target": "更新關係目標" - }, - "attachments_actions": { - "open_externally": "用外部程序打開", - "open_externally_title": "文件將會在外部應用程式中打開,並監視其更改。然後您可以將修改後的版本上傳回 Trilium。", - "open_custom": "自定義打開方式", - "open_custom_title": "文件將會在外部應用程式中打開,並監視其更改。然後您可以將修改後的版本上傳回 Trilium。", - "download": "下載", - "rename_attachment": "重新命名附件", - "upload_new_revision": "上傳新版本", - "copy_link_to_clipboard": "複製鏈接到剪貼簿", - "convert_attachment_into_note": "將附件轉換為筆記", - "delete_attachment": "刪除附件", - "upload_success": "已上傳新附件版本。", - "upload_failed": "新附件版本上傳失敗。", - "open_externally_detail_page": "外部打開附件僅在詳細頁面中可用,請首先點擊附件詳細資訊,然後重復此操作。", - "open_custom_client_only": "自定義打開附件只能通過客戶端完成。", - "delete_confirm": "您確定要刪除附件 '{{title}}' 嗎?", - "delete_success": "附件 '{{title}}' 已被刪除。", - "convert_confirm": "您確定要將附件 '{{title}}' 轉換為單獨的筆記嗎?", - "convert_success": "附件 '{{title}}' 已轉換為筆記。", - "enter_new_name": "請輸入附件的新名稱" - }, - "calendar": { - "mon": "一", - "tue": "二", - "wed": "三", - "thu": "四", - "fri": "五", - "sat": "六", - "sun": "日", - "cannot_find_day_note": "無法找到日記", - "january": "一月", - "febuary": "二月", - "march": "三月", - "april": "四月", - "may": "五月", - "june": "六月", - "july": "七月", - "august": "八月", - "september": "九月", - "october": "十月", - "november": "十一月", - "december": "十二月" - }, - "close_pane_button": { - "close_this_pane": "關閉此面板" - }, - "create_pane_button": { - "create_new_split": "拆分面板" - }, - "edit_button": { - "edit_this_note": "編輯此筆記" - }, - "show_toc_widget_button": { - "show_toc": "顯示目錄" - }, - "show_highlights_list_widget_button": { - "show_highlights_list": "顯示高亮列表" - }, - "global_menu": { - "menu": "菜單", - "options": "選項", - "open_new_window": "打開新窗口", - "switch_to_mobile_version": "切換到移動版", - "switch_to_desktop_version": "切換到桌面版", - "zoom": "縮放", - "toggle_fullscreen": "切換全熒幕", - "zoom_out": "縮小", - "reset_zoom_level": "重置縮放級別", - "zoom_in": "放大", - "configure_launchbar": "設定啓動欄", - "show_shared_notes_subtree": "顯示分享筆記子樹", - "advanced": "高級", - "open_dev_tools": "打開開發工具", - "open_sql_console": "打開SQL控制台", - "open_sql_console_history": "打開SQL控制台歷史記錄", - "open_search_history": "打開搜尋歷史", - "show_backend_log": "顯示後台日誌", - "reload_hint": "重新加載可以幫助解決一些視覺故障,而無需重新啓動整個應用程式。", - "reload_frontend": "重新加載前端", - "show_hidden_subtree": "顯示隱藏子樹", - "show_help": "顯示幫助", - "about": "關於 TriliumNext 筆記", - "logout": "登出" - }, - "sync_status": { - "unknown": "

同步狀態將在下一次同步嘗試開始後顯示。

點擊以立即觸發同步。

", - "connected_with_changes": "

已連接到同步伺服器。
有一些未同步的變更。

點擊以觸發同步。

", - "connected_no_changes": "

已連接到同步伺服器。
所有變更均已同步。

點擊以觸發同步。

", - "disconnected_with_changes": "

連接同步伺服器失敗。
有一些未同步的變更。

點擊以觸發同步。

", - "disconnected_no_changes": "

連接同步伺服器失敗。
所有已知變更均已同步。

點擊以觸發同步。

", - "in_progress": "正在與伺服器進行同步。" - }, - "left_pane_toggle": { - "show_panel": "顯示面板", - "hide_panel": "隱藏面板" - }, - "move_pane_button": { - "move_left": "向左移動", - "move_right": "向右移動" - }, - "note_actions": { - "convert_into_attachment": "轉換為附件", - "re_render_note": "重新渲染筆記", - "search_in_note": "在筆記中搜尋", - "note_source": "筆記源程式碼", - "note_attachments": "筆記附件", - "open_note_externally": "用外部程序打開筆記", - "open_note_externally_title": "文件將在外部應用程式中打開,並監視其更改。然後您可以將修改後的版本上傳回 Trilium。", - "open_note_custom": "使用自定義程序打開筆記", - "import_files": "匯入文件", - "export_note": "匯出筆記", - "delete_note": "刪除筆記", - "print_note": "打印筆記", - "save_revision": "保存筆記歷史", - "convert_into_attachment_failed": "筆記 '{{title}}' 轉換失敗。", - "convert_into_attachment_successful": "筆記 '{{title}}' 已成功轉換為附件。", - "convert_into_attachment_prompt": "確定要將筆記 '{{title}}' 轉換為上級筆記的附件嗎?" - }, - "onclick_button": { - "no_click_handler": "按鈕組件'{{componentId}}'沒有定義點擊處理程序" - }, - "protected_session_status": { - "active": "受保護的會話已激活。點擊退出受保護的會話。", - "inactive": "點擊進入受保護的會話" - }, - "revisions_button": { - "note_revisions": "筆記修改歷史" - }, - "update_available": { - "update_available": "有更新可用" - }, - "note_launcher": { - "this_launcher_doesnt_define_target_note": "此啓動器未定義目標筆記。" - }, - "code_buttons": { - "execute_button_title": "執行腳本", - "trilium_api_docs_button_title": "打開 Trilium API 文檔", - "save_to_note_button_title": "保存到筆記", - "opening_api_docs_message": "正在打開 API 文檔...", - "sql_console_saved_message": "SQL 控制台已保存到 {{note_path}}" - }, - "copy_image_reference_button": { - "button_title": "複製圖片引用到剪貼簿,可貼上到文字筆記中。" - }, - "hide_floating_buttons_button": { - "button_title": "隱藏按鈕" - }, - "show_floating_buttons_button": { - "button_title": "顯示按鈕" - }, - "svg_export_button": { - "button_title": "匯出SVG格式圖片" - }, - "relation_map_buttons": { - "create_child_note_title": "新增新的子筆記並添加到關係圖", - "reset_pan_zoom_title": "重置平移和縮放到初始坐標和放大倍率", - "zoom_in_title": "放大", - "zoom_out_title": "縮小" - }, - "zpetne_odkazy": { - "backlink": "{{count}} 個反鏈", - "backlinks": "{{count}} 個反鏈", - "relation": "關係" - }, - "mobile_detail_menu": { - "insert_child_note": "插入子筆記", - "delete_this_note": "刪除此筆記", - "error_cannot_get_branch_id": "無法獲取 notePath '{{notePath}}' 的 branchId", - "error_unrecognized_command": "無法識別的命令 {{command}}" - }, - "note_icon": { - "change_note_icon": "更改筆記圖標", - "category": "類別:", - "search": "搜尋:", - "reset-default": "重置為默認圖標" - }, - "basic_properties": { - "note_type": "筆記類型", - "editable": "可編輯", - "basic_properties": "基本屬性" - }, - "book_properties": { - "view_type": "視圖類型", - "grid": "網格", - "list": "列表", - "collapse_all_notes": "折疊所有筆記", - "expand_all_children": "展開所有子項", - "collapse": "折疊", - "expand": "展開", - "invalid_view_type": "無效的查看類型 '{{type}}'" - }, - "edited_notes": { - "no_edited_notes_found": "今天還沒有編輯過的筆記...", - "title": "編輯過的筆記", - "deleted": "(已刪除)" - }, - "file_properties": { - "note_id": "筆記 ID", - "original_file_name": "原始文件名", - "file_type": "文件類型", - "file_size": "文件大小", - "download": "下載", - "open": "打開", - "upload_new_revision": "上傳新版本", - "upload_success": "已上傳新文件版本。", - "upload_failed": "新文件版本上傳失敗。", - "title": "文件" - }, - "image_properties": { - "original_file_name": "原始文件名", - "file_type": "文件類型", - "file_size": "文件大小", - "download": "下載", - "open": "打開", - "copy_reference_to_clipboard": "複製引用到剪貼簿", - "upload_new_revision": "上傳新版本", - "upload_success": "已上傳新圖片版本。", - "upload_failed": "新圖片版本上傳失敗:{{message}}", - "title": "圖片" - }, - "inherited_attribute_list": { - "title": "繼承的屬性", - "no_inherited_attributes": "沒有繼承的屬性。" - }, - "note_info_widget": { - "note_id": "筆記ID", - "created": "新增時間", - "modified": "修改時間", - "type": "類型", - "note_size": "筆記大小", - "note_size_info": "筆記大小提供了該筆記存儲需求的粗略估計。它考慮了筆記的內容及其筆記歷史的內容。", - "calculate": "計算", - "subtree_size": "(子樹大小: {{size}}, 共計 {{count}} 個筆記)", - "title": "筆記資訊" - }, - "note_map": { - "open_full": "展開顯示", - "collapse": "折疊到正常大小", - "title": "筆記地圖" - }, - "note_paths": { - "title": "筆記路徑", - "clone_button": "複製筆記到新位置...", - "intro_placed": "此筆記放置在以下路徑中:", - "intro_not_placed": "此筆記尚未放入筆記樹中。", - "outside_hoisted": "此路徑在提升的筆記之外,您需要取消提升。", - "archived": "已歸檔", - "search": "搜尋" - }, - "note_properties": { - "this_note_was_originally_taken_from": "筆記來源:", - "info": "資訊" - }, - "owned_attribute_list": { - "owned_attributes": "擁有的屬性" - }, - "promoted_attributes": { - "promoted_attributes": "升級屬性", - "url_placeholder": "http://網站鏈接...", - "open_external_link": "打開外部鏈接", - "unknown_label_type": "未知的標籤類型 '{{type}}'", - "unknown_attribute_type": "未知的屬性類型 '{{type}}'", - "add_new_attribute": "添加新屬性", - "remove_this_attribute": "移除此屬性" - }, - "script_executor": { - "query": "查詢", - "script": "腳本", - "execute_query": "執行查詢", - "execute_script": "執行腳本" - }, - "search_definition": { - "add_search_option": "添加搜尋選項:", - "search_string": "搜尋字符串", - "search_script": "搜尋腳本", - "ancestor": "祖先", - "fast_search": "快速搜尋", - "fast_search_description": "快速搜尋選項禁用筆記內容的全文搜尋,這可能會加速大資料庫中的搜尋。", - "include_archived": "包含歸檔", - "include_archived_notes_description": "歸檔的筆記默認不包含在搜尋結果中,使用此選項將包含它們。", - "order_by": "排序方式", - "limit": "限制", - "limit_description": "限制結果數量", - "debug": "除錯", - "debug_description": "除錯將打印額外的除錯資訊到控制台,以幫助除錯複雜查詢", - "action": "操作", - "search_button": "搜尋 Enter", - "search_execute": "搜尋並執行操作", - "save_to_note": "保存到筆記", - "search_parameters": "搜尋參數", - "unknown_search_option": "未知的搜尋選項 {{searchOptionName}}", - "search_note_saved": "搜尋筆記已保存到 {{- notePathTitle}}", - "actions_executed": "已執行操作。" - }, - "similar_notes": { - "title": "相似筆記", - "no_similar_notes_found": "未找到相似的筆記。" - }, - "abstract_search_option": { - "remove_this_search_option": "刪除此搜尋選項", - "failed_rendering": "渲染搜尋選項失敗:{{dto}},錯誤資訊:{{error}},堆棧:{{stack}}" - }, - "ancestor": { - "label": "祖先", - "placeholder": "按名稱搜尋筆記", - "depth_label": "深度", - "depth_doesnt_matter": "任意", - "depth_eq": "正好是 {{count}}", - "direct_children": "直接下代", - "depth_gt": "大於 {{count}}", - "depth_lt": "小於 {{count}}" - }, - "debug": { - "debug": "除錯", - "debug_info": "除錯將打印額外的除錯資訊到控制台,以幫助除錯複雜的查詢。", - "access_info": "要訪問除錯資訊,請執行查詢並點擊左上角的「顯示後端日誌」。" - }, - "fast_search": { - "fast_search": "快速搜尋", - "description": "快速搜尋選項禁用筆記內容的全文搜尋,這可能會加快在大型資料庫中的搜尋速度。" - }, - "include_archived_notes": { - "include_archived_notes": "包括已歸檔的筆記" - }, - "limit": { - "limit": "限制", - "take_first_x_results": "僅取前X個指定結果。" - }, - "order_by": { - "order_by": "排序依據", - "relevancy": "相關性(默認)", - "title": "標題", - "date_created": "新增日期", - "date_modified": "最後修改日期", - "content_size": "筆記內容大小", - "content_and_attachments_size": "筆記內容大小(包括附件)", - "content_and_attachments_and_revisions_size": "筆記內容大小(包括附件和筆記歷史)", - "revision_count": "歷史數量", - "children_count": "子筆記數量", - "parent_count": "複製數量", - "owned_label_count": "標籤數量", - "owned_relation_count": "關係數量", - "target_relation_count": "指向筆記的關係數量", - "random": "隨機順序", - "asc": "升序(默認)", - "desc": "降序" - }, - "search_script": { - "title": "搜尋腳本:", - "placeholder": "按名稱搜尋筆記", - "description1": "搜尋腳本允許通過運行腳本來定義搜尋結果。這在標準搜尋不足時提供了最大的靈活性。", - "description2": "搜尋腳本必須是類型為\"程式碼\"和子類型為\"JavaScript後端\"。腳本需要返回一個noteIds或notes數組。", - "example_title": "請看這個例子:", - "example_code": "// 1. 使用標準搜尋進行預過濾\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. 應用自定義搜尋條件\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", - "note": "注意,搜尋腳本和搜尋字符串不能相互結合使用。" - }, - "search_string": { - "title_column": "搜尋字符串:", - "placeholder": "全文關鍵詞,#標籤 = 值 ...", - "search_syntax": "搜尋語法", - "also_see": "另見", - "complete_help": "完整的搜尋語法幫助", - "full_text_search": "只需輸入任何文字進行全文搜尋", - "label_abc": "返回帶有標籤abc的筆記", - "label_year": "匹配帶有標籤年份且值為2019的筆記", - "label_rock_pop": "匹配同時具有rock和pop標籤的筆記", - "label_rock_or_pop": "只需一個標籤存在即可", - "label_year_comparison": "數字比較(也包括>,>=,<)。", - "label_date_created": "上個月新增的筆記", - "error": "搜尋錯誤:{{error}}", - "search_prefix": "搜尋:" - }, - "attachment_detail": { - "open_help_page": "打開附件幫助頁面", - "owning_note": "所屬筆記: ", - "you_can_also_open": ",你還可以打開", - "list_of_all_attachments": "所有附件列表", - "attachment_deleted": "該附件已被刪除。" - }, - "attachment_list": { - "open_help_page": "打開附件幫助頁面", - "owning_note": "所屬筆記: ", - "upload_attachments": "上傳附件", - "no_attachments": "此筆記沒有附件。" - }, - "book": { - "no_children_help": "此類型為書籍的筆記沒有任何子筆記,因此沒有內容顯示。請參閱 wiki 瞭解詳情" - }, - "editable_code": { - "placeholder": "在這裡輸入您的程式碼筆記內容..." - }, - "editable_text": { - "placeholder": "在這裡輸入您的筆記內容..." - }, - "empty": { - "open_note_instruction": "通過在下面的輸入框中輸入筆記標題或在樹中選擇筆記來打開筆記。", - "search_placeholder": "按名稱搜尋筆記", - "enter_workspace": "進入工作區 {{title}}" - }, - "file": { - "file_preview_not_available": "此文件格式不支持預覽。" - }, - "protected_session": { - "enter_password_instruction": "顯示受保護的筆記需要輸入您的密碼:", - "start_session_button": "開始受保護的會話 Enter", - "started": "已啓動受保護的會話。", - "wrong_password": "密碼錯誤。", - "protecting-finished-successfully": "已成功完成保護操作。", - "unprotecting-finished-successfully": "已成功完成解除保護操作。", - "protecting-in-progress": "保護進行中:{{count}}", - "unprotecting-in-progress-count": "解除保護進行中:{{count}}", - "protecting-title": "保護狀態", - "unprotecting-title": "解除保護狀態" - }, - "relation_map": { - "open_in_new_tab": "在新標籤頁中打開", - "remove_note": "刪除筆記", - "edit_title": "編輯標題", - "rename_note": "重新命名筆記", - "enter_new_title": "輸入新的筆記標題:", - "remove_relation": "刪除關係", - "confirm_remove_relation": "你確定要刪除這個關係嗎?", - "specify_new_relation_name": "指定新的關係名稱(允許的字符:字母數字、冒號和下劃線):", - "connection_exists": "筆記之間的連接 '{{name}}' 已經存在。", - "start_dragging_relations": "從這裡開始拖動關係,並將其放置到另一個筆記上。", - "note_not_found": "筆記 {{noteId}} 未找到!", - "cannot_match_transform": "無法匹配變換:{{transform}}", - "note_already_in_diagram": "筆記 \"{{title}}\" 已經在圖中。", - "enter_title_of_new_note": "輸入新筆記的標題", - "default_new_note_title": "新筆記", - "click_on_canvas_to_place_new_note": "點擊畫布以放置新筆記" - }, - "render": { - "note_detail_render_help_1": "之所以顯示此幫助說明,是因為該類型的渲染HTML沒有設定好必須的關聯關係。", - "note_detail_render_help_2": "渲染筆記類型用於編寫 腳本。簡單說就是你可以寫HTML程式碼(或者加上一些JavaScript程式碼), 然後這個筆記會把頁面渲染出來。要使其正常工作,您需要定義一個名為 \"renderNote\" 的關係 關係 指向要呈現的 HTML 筆記。" - }, - "web_view": { - "web_view": "網頁視圖", - "embed_websites": "網頁視圖類型的筆記允許您將網站嵌入到 Trilium 中。", - "create_label": "首先,請新增一個帶有您要嵌入的 URL 地址的標籤,例如 #webViewSrc=\"https://www.bing.com\"" - }, - "backend_log": { - "refresh": "刷新" - }, - "consistency_checks": { - "title": "檢查一致性", - "find_and_fix_button": "查找並修復一致性問題", - "finding_and_fixing_message": "正在查找並修復一致性問題...", - "issues_fixed_message": "一致性問題應該已被修復。" - }, - "database_anonymization": { - "title": "資料庫匿名化", - "full_anonymization": "完全匿名化", - "full_anonymization_description": "此操作將新增一個新的資料庫副本並進行匿名化處理(刪除所有筆記內容,僅保留結構和一些非敏感元數據),用來分享到網上做除錯而不用擔心洩漏你的個人資料。", - "save_fully_anonymized_database": "保存完全匿名化的資料庫", - "light_anonymization": "輕度匿名化", - "light_anonymization_description": "此操作將新增一個新的資料庫副本,並對其進行輕度匿名化處理——僅刪除所有筆記的內容,但保留標題和屬性。此外,自定義JS前端/後端腳本筆記和自定義小部件將保留。這提供了更多上下文以除錯問題。", - "choose_anonymization": "您可以自行決定是提供完全匿名化還是輕度匿名化的資料庫。即使是完全匿名化的資料庫也非常有用,但在某些情況下,輕度匿名化的資料庫可以加快錯誤識別和修復的過程。", - "save_lightly_anonymized_database": "保存輕度匿名化的資料庫", - "existing_anonymized_databases": "現有的匿名化資料庫", - "creating_fully_anonymized_database": "正在新增完全匿名化的資料庫...", - "creating_lightly_anonymized_database": "正在新增輕度匿名化的資料庫...", - "error_creating_anonymized_database": "無法新增匿名化資料庫,請檢查後端日誌以獲取詳細資訊", - "successfully_created_fully_anonymized_database": "成功新增完全匿名化的資料庫,路徑為{{anonymizedFilePath}}", - "successfully_created_lightly_anonymized_database": "成功新增輕度匿名化的資料庫,路徑為{{anonymizedFilePath}}", - "no_anonymized_database_yet": "尚無匿名化資料庫" - }, - "database_integrity_check": { - "title": "資料庫完整性檢查", - "description": "檢查SQLite資料庫是否損壞。根據資料庫的大小,可能會需要一些時間。", - "check_button": "檢查資料庫完整性", - "checking_integrity": "正在檢查資料庫完整性...", - "integrity_check_succeeded": "完整性檢查成功 - 未發現問題。", - "integrity_check_failed": "完整性檢查失敗: {{results}}" - }, - "sync": { - "title": "同步", - "force_full_sync_button": "強制全量同步", - "fill_entity_changes_button": "填充實體變更記錄", - "full_sync_triggered": "已觸發全量同步", - "filling_entity_changes": "正在填充實體變更行...", - "sync_rows_filled_successfully": "同步行填充成功", - "finished-successfully": "已完成同步。", - "failed": "同步失敗:{{message}}" - }, - "vacuum_database": { - "title": "資料庫清理", - "description": "這會重建資料庫,通常會減少佔用空間,不會刪除數據。", - "button_text": "清理資料庫", - "vacuuming_database": "正在清理資料庫...", - "database_vacuumed": "已清理資料庫" - }, - "fonts": { - "theme_defined": "跟隨主題", - "fonts": "字體", - "main_font": "主字體", - "font_family": "字體系列", - "size": "大小", - "note_tree_font": "筆記樹字體", - "note_detail_font": "筆記詳情字體", - "monospace_font": "等寬(程式碼)字體", - "note_tree_and_detail_font_sizing": "請注意,筆記樹字體和詳細字體的大小相對於主字體大小設定。", - "not_all_fonts_available": "並非所有列出的字體都可能在您的系統上可用。", - "apply_font_changes": "要應用字體更改,請點擊", - "reload_frontend": "重新加載前端" - }, - "max_content_width": { - "title": "內容寬度", - "default_description": "Trilium默認會限制內容的最大寬度以提高在寬屏中全熒幕時的可讀性。", - "max_width_label": "內容最大寬度(像素)", - "apply_changes_description": "要應用內容寬度更改,請點擊", - "reload_button": "重新加載前端", - "reload_description": "來自外觀選項的更改" - }, - "native_title_bar": { - "title": "原生標題欄(需要重新啓動應用)", - "enabled": "啓用", - "disabled": "禁用" - }, - "ribbon": { - "widgets": "功能選項組件", - "promoted_attributes_message": "如果筆記中存在升級屬性,則自動打開升級屬性選項卡", - "edited_notes_message": "日記筆記自動打開編輯過的筆記選項" - }, - "theme": { - "title": "主題", - "theme_label": "主題", - "override_theme_fonts_label": "覆蓋主題字體", - "light_theme": "淺色", - "dark_theme": "深色", - "layout": "佈局", - "layout-vertical-title": "垂直", - "layout-horizontal-title": "水平", - "layout-vertical-description": "啓動欄位於左側(默認)", - "layout-horizontal-description": "啓動欄位於標籤欄下方,標籤欄現在是全寬的。" - }, - "zoom_factor": { - "title": "縮放系數(僅桌面客戶端有效)", - "description": "縮放也可以通過 CTRL+- 和 CTRL+= 快捷鍵進行控制。" - }, - "code_auto_read_only_size": { - "title": "自動唯讀大小", - "description": "自動唯讀大小是指筆記超過設定的大小後自動設定為唯讀模式(為性能考慮)。", - "label": "自動唯讀大小(程式碼筆記)" - }, - "code_mime_types": { - "title": "下拉菜單可用的MIME文件類型" - }, - "vim_key_bindings": { - "use_vim_keybindings_in_code_notes": "Vim 快捷鍵", - "enable_vim_keybindings": "在程式碼筆記中啓用 Vim 快捷鍵(不包含 ex 模式)" - }, - "wrap_lines": { - "wrap_lines_in_code_notes": "程式碼筆記自動換行", - "enable_line_wrap": "啓用自動換行(需要重新加載前端才會生效)" - }, - "images": { - "images_section_title": "圖片", - "download_images_automatically": "自動下載圖片以供離線使用。", - "download_images_description": "貼上的 HTML 可能包含在線圖片的引用,Trilium 會找到這些引用並下載圖片,以便它們可以離線使用。", - "enable_image_compression": "啓用圖片壓縮", - "max_image_dimensions": "圖片的最大寬度/高度(超過此限制的圖片將會被縮放)。", - "jpeg_quality_description": "JPEG 質量(10 - 最差質量,100 最佳質量,建議為 50 - 85)" - }, - "attachment_erasure_timeout": { - "attachment_erasure_timeout": "附件清理超時", - "attachment_auto_deletion_description": "如果附件在一段時間後不再被筆記引用,它們將自動被刪除(並被清理)。", - "manual_erasing_description": "您還可以手動觸發清理(而不考慮上述定義的超時時間):", - "erase_unused_attachments_now": "立即清理未使用的附件筆記", - "unused_attachments_erased": "未使用的附件已被刪除。" - }, - "network_connections": { - "network_connections_title": "網絡連接", - "check_for_updates": "自動檢查更新" - }, - "note_erasure_timeout": { - "note_erasure_timeout_title": "筆記清理超時", - "note_erasure_description": "被刪除的筆記(以及屬性、歷史版本等)最初僅被標記為「刪除」,可以從「最近修改」對話框中恢復它們。經過一段時間後,已刪除的筆記會被「清理」,這意味著它們的內容將無法恢復。此設定允許您設定從刪除到清除筆記之間的時間長度。", - "manual_erasing_description": "您還可以手動觸發清理(不考慮上述定義的超時):", - "erase_deleted_notes_now": "立即清理已刪除的筆記", - "deleted_notes_erased": "已刪除的筆記已被清理。" - }, - "revisions_snapshot_limit": { - "note_revisions_snapshot_limit_title": "筆記歷史快照限制", - "note_revisions_snapshot_limit_description": "筆記歷史快照數限制指的是每個筆記可以保存的最大歷史記錄數量。其中 -1 表示沒有限制,0 表示刪除所有歷史記錄。你可以通過 #versioningLimit 標籤設定單個筆記的最大歷史記錄數量。", - "snapshot_number_limit_label": "筆記歷史快照數量限制:", - "erase_excess_revision_snapshots": "立即刪除多餘的歷史快照", - "erase_excess_revision_snapshots_prompt": "多餘的歷史快照已被刪除。" - }, - "search_engine": { - "title": "搜尋引擎", - "custom_search_engine_info": "自定義搜尋引擎需要設定名稱和URL。如果這兩者之一未設定,將默認使用DuckDuckGo作為搜尋引擎。", - "predefined_templates_label": "預定義搜尋引擎模板", - "bing": "Bing", - "baidu": "百度", - "duckduckgo": "DuckDuckGo", - "google": "Google", - "custom_name_label": "自定義搜尋引擎名稱", - "custom_name_placeholder": "自定義搜尋引擎名稱", - "custom_url_label": "自定義搜尋引擎URL應包含 {keyword} 作為搜尋詞的佔位符。", - "custom_url_placeholder": "自定義搜尋引擎URL", - "save_button": "保存" - }, - "tray": { - "title": "系統匣", - "enable_tray": "啓用系統匣圖標(需要重啓生效)" - }, - "heading_style": { - "title": "標題風格", - "plain": "純文字", - "underline": "下劃線", - "markdown": "Markdown風格" - }, - "highlights_list": { - "title": "高亮列表", - "description": "您可以自定義右側面板中顯示的高亮列表:", - "bold": "粗體", - "italic": "斜體", - "underline": "下劃線", - "color": "字體顏色", - "bg_color": "背景顏色", - "visibility_title": "高亮列表可見性", - "visibility_description": "您可以通過添加 #hideHighlightWidget 標籤來隱藏每個筆記的高亮小部件。", - "shortcut_info": "您可以在選項 -> 快捷鍵中為快速切換右側面板(包括高亮列表)設定鍵盤快捷鍵(名稱為 'toggleRightPane')。" - }, - "table_of_contents": { - "title": "目錄", - "description": "當筆記中有超過一定數量的標題時,顯示目錄。您可以自定義此數量:", - "disable_info": "您可以設定一個非常大的數來禁用目錄。", - "shortcut_info": "您可以在 「選項」 -> 「快捷鍵」 中設定一個鍵盤快捷鍵,以便快速切換右側面板(包括目錄)(名稱為 'toggleRightPane')。" - }, - "text_auto_read_only_size": { - "title": "自動唯讀大小", - "description": "自動唯讀筆記大小是超過該大小後,筆記將以唯讀模式顯示(出於性能考慮)。", - "label": "自動唯讀大小(文字筆記)" - }, - "i18n": { - "title": "本地化", - "language": "語言", - "first-day-of-the-week": "一周的第一天", - "sunday": "星期日", - "monday": "星期一" - }, - "backup": { - "automatic_backup": "自動備份", - "automatic_backup_description": "Trilium 可以自動備份資料庫:", - "enable_daily_backup": "啓用每日備份", - "enable_weekly_backup": "啓用每周備份", - "enable_monthly_backup": "啓用每月備份", - "backup_recommendation": "建議打開備份功能,但這可能會使大型資料庫和/或慢速存儲設備的應用程式啓動變慢。", - "backup_now": "立即備份", - "backup_database_now": "立即備份資料庫", - "existing_backups": "現有備份", - "date-and-time": "日期和時間", - "path": "路徑", - "database_backed_up_to": "資料庫已備份到 {{backupFilePath}}", - "no_backup_yet": "尚無備份" - }, - "etapi": { - "title": "ETAPI", - "description": "ETAPI 是一個 REST API,用於以編程方式訪問 Trilium 實例,而無需 UI。", - "wiki": "維基", - "openapi_spec": "ETAPI OpenAPI 規範", - "create_token": "新增新的 ETAPI 令牌", - "existing_tokens": "現有令牌", - "no_tokens_yet": "目前還沒有令牌。點擊上面的按鈕新增一個。", - "token_name": "令牌名稱", - "created": "新增時間", - "actions": "操作", - "new_token_title": "新 ETAPI 令牌", - "new_token_message": "請輸入新的令牌名稱", - "default_token_name": "新令牌", - "error_empty_name": "令牌名稱不能為空", - "token_created_title": "ETAPI 令牌已新增", - "token_created_message": "將新增的令牌複製到剪貼簿。Trilium 存儲了令牌的哈希值,這是你最後一次看到它。", - "rename_token": "重新命名此令牌", - "delete_token": "刪除/停用此令牌", - "rename_token_title": "重新命名令牌", - "rename_token_message": "請輸入新的令牌名稱", - "delete_token_confirmation": "你確定要刪除 ETAPI 令牌 \"{{name}}\" 嗎?" - }, - "options_widget": { - "options_status": "選項狀態", - "options_change_saved": "選項更改已保存。" - }, - "password": { - "heading": "密碼", - "alert_message": "請務必記住您的新密碼。密碼用於登錄 Web 界面和加密保護的筆記。如果您忘記了密碼,所有保護的筆記將永久丟失。", - "reset_link": "點擊這裡重置。", - "old_password": "舊密碼", - "new_password": "新密碼", - "new_password_confirmation": "新密碼確認", - "change_password": "更改密碼", - "protected_session_timeout": "保護會話超時", - "protected_session_timeout_description": "保護會話超時是一個時間段,超時後保護會話會從瀏覽器內存中清除。這是從最後一次與保護筆記的交互開始計時的。更多資訊請見", - "wiki": "維基", - "for_more_info": "更多資訊。", - "reset_confirmation": "重置密碼將永久喪失對所有現受保護筆記的訪問。您真的要重置密碼嗎?", - "reset_success_message": "密碼已重置。請設定新密碼", - "change_password_heading": "更改密碼", - "set_password_heading": "設定密碼", - "set_password": "設定密碼", - "password_mismatch": "新密碼不一致。", - "password_changed_success": "密碼已更改。按 OK 後 Trilium 將重新加載。" - }, - "shortcuts": { - "keyboard_shortcuts": "快捷鍵", - "multiple_shortcuts": "同一操作的多個快捷鍵可以用逗號分隔。", - "electron_documentation": "請參閱 Electron文檔,瞭解可用的修飾符和鍵碼。", - "type_text_to_filter": "輸入文字以過濾快捷鍵...", - "action_name": "操作名稱", - "shortcuts": "快捷鍵", - "default_shortcuts": "默認快捷鍵", - "description": "描述", - "reload_app": "重新加載應用以應用更改", - "set_all_to_default": "將所有快捷鍵重置為默認值", - "confirm_reset": "您確定要將所有鍵盤快捷鍵重置為默認值嗎?" - }, - "spellcheck": { - "title": "拼寫檢查", - "description": "這些選項僅適用於桌面版本,瀏覽器將使用其原生的拼寫檢查功能。", - "enable": "啓用拼寫檢查", - "language_code_label": "語言程式碼", - "language_code_placeholder": "例如 \"en-US\", \"de-AT\"", - "multiple_languages_info": "多種語言可以用逗號分隔,例如 \"en-US, de-DE, cs\"。", - "available_language_codes_label": "可用的語言程式碼:", - "restart-required": "拼寫檢查選項的更改將在應用重啓後生效。" - }, - "sync_2": { - "config_title": "同步設定", - "server_address": "伺服器地址", - "timeout": "同步超時(單位:毫秒)", - "proxy_label": "同步代理伺服器(可選)", - "note": "注意", - "note_description": "代理設定留空則使用系統代理(僅桌面客戶端有效)。", - "special_value_description": "另一個特殊值是 noproxy,它強制忽略系統代理並遵守 NODE_TLS_REJECT_UNAUTHORIZED。", - "save": "保存", - "help": "幫助", - "test_title": "同步測試", - "test_description": "測試和同步伺服器之間的連接。如果同步伺服器沒有初始化,會將本地文檔同步到同步伺服器上。", - "test_button": "測試同步", - "handshake_failed": "同步伺服器握手失敗,錯誤:{{message}}" - }, - "api_log": { - "close": "關閉" - }, - "attachment_detail_2": { - "will_be_deleted_in": "此附件將在 {{time}} 後自動刪除", - "will_be_deleted_soon": "該附件將很快被自動刪除", - "deletion_reason": ",因為該附件未鏈接在筆記的內容中。為防止被刪除,請將附件鏈接重新添加到內容中或將附件轉換為筆記。", - "role_and_size": "角色: {{role}}, 大小: {{size}}", - "link_copied": "附件鏈接已複製到剪貼簿。", - "unrecognized_role": "無法識別的附件角色 '{{role}}'。" - }, - "bookmark_switch": { - "bookmark": "書籤", - "bookmark_this_note": "將此筆記添加到左側面板的書籤", - "remove_bookmark": "移除書籤" - }, - "editability_select": { - "auto": "自動", - "read_only": "唯讀", - "always_editable": "始終可編輯", - "note_is_editable": "筆記如果不太長則可編輯。", - "note_is_read_only": "筆記為唯讀,但可以通過點擊按鈕進行編輯。", - "note_is_always_editable": "無論筆記長度如何,始終可編輯。" - }, - "note-map": { - "button-link-map": "鏈接地圖", - "button-tree-map": "樹形地圖" - }, - "tree-context-menu": { - "open-in-a-new-tab": "在新標籤頁中打開 Ctrl+Click", - "open-in-a-new-split": "在新分欄中打開", - "insert-note-after": "在後面插入筆記", - "insert-child-note": "插入子筆記", - "delete": "刪除", - "search-in-subtree": "在子樹中搜尋", - "hoist-note": "提升筆記", - "unhoist-note": "取消提升筆記", - "edit-branch-prefix": "編輯分支前綴", - "advanced": "高級", - "expand-subtree": "展開子樹", - "collapse-subtree": "折疊子樹", - "sort-by": "排序方式...", - "recent-changes-in-subtree": "子樹中的最近更改", - "convert-to-attachment": "轉換為附件", - "copy-note-path-to-clipboard": "複製筆記路徑到剪貼簿", - "protect-subtree": "保護子樹", - "unprotect-subtree": "取消保護子樹", - "copy-clone": "複製 / 複製", - "clone-to": "複製到...", - "cut": "剪下", - "move-to": "移動到...", - "paste-into": "貼上到裡面", - "paste-after": "貼上到後面", - "export": "匯出", - "import-into-note": "匯入到筆記", - "apply-bulk-actions": "應用批量操作", - "converted-to-attachments": "{{count}} 個筆記已被轉換為附件。", - "convert-to-attachment-confirm": "確定要將選中的筆記轉換為其上級筆記的附件嗎?" - }, - "shared_info": { - "shared_publicly": "此筆記已公開分享在", - "shared_locally": "此筆記已在本地分享在", - "help_link": "如需幫助,請訪問 wiki。" - }, - "note_types": { - "text": "文字", - "code": "程式碼", - "saved-search": "保存的搜尋", - "relation-map": "關係圖", - "note-map": "筆記地圖", - "render-note": "渲染筆記", - "mermaid-diagram": "美人魚圖(Mermaid)", - "canvas": "畫布", - "web-view": "網頁視圖", - "mind-map": "心智圖", - "file": "文件", - "image": "圖片", - "launcher": "啓動器", - "doc": "文檔", - "widget": "小部件", - "confirm-change": "當筆記內容不為空時,不建議更改筆記類型。您仍然要繼續嗎?" - }, - "protect_note": { - "toggle-on": "保護筆記", - "toggle-off": "取消保護筆記", - "toggle-on-hint": "筆記未受保護,點擊以保護", - "toggle-off-hint": "筆記已受保護,點擊以取消保護" - }, - "shared_switch": { - "shared": "已分享", - "toggle-on-title": "分享筆記", - "toggle-off-title": "取消分享筆記", - "shared-branch": "此筆記僅作為共享筆記存在,取消共享將刪除它。你確定要繼續並刪除此筆記嗎?", - "inherited": "此筆記無法在此處取消共享,因為它通過繼承自上級筆記共享。" - }, - "template_switch": { - "template": "模板", - "toggle-on-hint": "將此筆記設為模板", - "toggle-off-hint": "取消筆記模板設定" - }, - "open-help-page": "打開幫助頁面", - "find": { - "case_sensitive": "區分大小寫", - "match_words": "匹配單詞", - "find_placeholder": "在文字中查找...", - "replace_placeholder": "替換為...", - "replace": "替換", - "replace_all": "全部替換" - }, - "highlights_list_2": { - "title": "高亮列表", - "options": "選項" - }, - "quick-search": { - "placeholder": "快速搜尋", - "searching": "正在搜尋...", - "no-results": "未找到結果", - "more-results": "... 以及另外 {{number}} 個結果。", - "show-in-full-search": "在完整的搜尋界面中顯示" - }, - "note_tree": { - "collapse-title": "折疊筆記樹", - "scroll-active-title": "滾動到活動筆記", - "tree-settings-title": "樹設定", - "hide-archived-notes": "隱藏已歸檔筆記", - "automatically-collapse-notes": "自動折疊筆記", - "automatically-collapse-notes-title": "筆記在一段時間內未使用將被折疊,以減少樹形結構的雜亂。", - "save-changes": "保存並應用更改", - "auto-collapsing-notes-after-inactivity": "在不活動後自動折疊筆記...", - "saved-search-note-refreshed": "已保存的搜尋筆記已刷新。" - }, - "title_bar_buttons": { - "window-on-top": "保持此窗口置頂" - }, - "note_detail": { - "could_not_find_typewidget": "找不到類型為 '{{type}}' 的 typeWidget" - }, - "note_title": { - "placeholder": "請輸入筆記標題..." - }, - "search_result": { - "no_notes_found": "沒有找到符合搜尋條件的筆記。", - "search_not_executed": "尚未執行搜尋。請點擊上方的\"搜尋\"按鈕查看結果。" - }, - "spacer": { - "configure_launchbar": "設定啓動欄" - }, - "sql_result": { - "no_rows": "此查詢沒有返回任何數據" - }, - "sql_table_schemas": { - "tables": "表" - }, - "tab_row": { - "close_tab": "關閉標籤頁", - "add_new_tab": "添加新標籤頁", - "close": "關閉", - "close_other_tabs": "關閉其他標籤頁", - "close_right_tabs": "關閉右側標籤頁", - "close_all_tabs": "關閉所有標籤頁", - "reopen_last_tab": "重新打開最後一個關閉的標籤頁", - "move_tab_to_new_window": "將此標籤頁移動到新窗口", - "copy_tab_to_new_window": "將此標籤頁複製到新窗口", - "new_tab": "新標籤頁" - }, - "toc": { - "table_of_contents": "目錄", - "options": "選項" - }, - "watched_file_update_status": { - "file_last_modified": "文件 最後修改時間為 。", - "upload_modified_file": "上傳修改的文件", - "ignore_this_change": "忽略此更改" - }, - "app_context": { - "please_wait_for_save": "請等待幾秒鐘以完成保存,然後您可以嘗試再操作一次。" - }, - "note_create": { - "duplicated": "筆記 \"{{title}}\" 已被複製。" - }, - "image": { - "copied-to-clipboard": "圖片的引用已複製到剪貼簿,可以貼上到任何文字筆記中。", - "cannot-copy": "無法將圖片引用複製到剪貼簿。" - }, - "clipboard": { - "cut": "已剪下筆記到剪貼簿。", - "copied": "已複製筆記到剪貼簿。" - }, - "entrypoints": { - "note-revision-created": "已新增筆記修訂。", - "note-executed": "已執行筆記。", - "sql-error": "執行 SQL 查詢時發生錯誤:{{message}}" - }, - "branches": { - "cannot-move-notes-here": "無法將筆記移動到這裡。", - "delete-status": "刪除狀態", - "delete-notes-in-progress": "正在刪除筆記:{{count}}", - "delete-finished-successfully": "刪除成功完成。", - "undeleting-notes-in-progress": "正在恢復刪除的筆記:{{count}}", - "undeleting-notes-finished-successfully": "恢復刪除的筆記已成功完成。" - }, - "frontend_script_api": { - "async_warning": "您正在將一個異步函數傳遞給 `api.runOnBackend()`,這可能無法按預期工作。\\n要麼使該函數同步(通過移除 `async` 關鍵字),要麼使用 `api.runAsyncOnBackendWithManualTransactionHandling()`。", - "sync_warning": "您正在將一個同步函數傳遞給 `api.runAsyncOnBackendWithManualTransactionHandling()`,\\n而您可能應該使用 `api.runOnBackend()`。" - }, - "ws": { - "sync-check-failed": "同步檢查失敗!", - "consistency-checks-failed": "一致性檢查失敗!請查看日誌瞭解詳細資訊。", - "encountered-error": "遇到錯誤 \"{{message}}\",請查看控制台。" - }, - "hoisted_note": { - "confirm_unhoisting": "請求的筆記 '{{requestedNote}}' 位於提升的筆記 '{{hoistedNote}}' 的子樹之外,您必須取消提升才能訪問該筆記。是否繼續取消提升?" - }, - "launcher_context_menu": { - "reset_launcher_confirm": "您確定要重置 \"{{title}}\" 嗎?此筆記(及其子項)中的所有數據/設定將丟失,且啓動器將恢復到其原始位置。", - "add-note-launcher": "添加筆記啓動器", - "add-script-launcher": "添加腳本啓動器", - "add-custom-widget": "添加自定義小部件", - "add-spacer": "添加間隔", - "delete": "刪除 ", - "reset": "重置", - "move-to-visible-launchers": "移動到可見啓動器", - "move-to-available-launchers": "移動到可用啓動器", - "duplicate-launcher": "複製啓動器 " - }, - "editable-text": { - "auto-detect-language": "自動檢測" - }, - "highlighting": { - "description": "控制文字筆記中程式碼塊的語法高亮,程式碼筆記不會受到影響。", - "color-scheme": "顏色方案" - }, - "code_block": { - "word_wrapping": "自動換行", - "theme_none": "無格式高亮", - "theme_group_light": "淺色主題", - "theme_group_dark": "深色主題" - }, - "classic_editor_toolbar": { - "title": "格式化" - }, - "editor": { - "title": "編輯器" - }, - "editing": { - "editor_type": { - "label": "格式化工具欄", - "floating": { - "title": "浮動", - "description": "編輯工具出現在遊標附近;" - }, - "fixed": { - "title": "固定", - "description": "編輯工具出現在 \"格式化\" 功能區標籤中。" - } - } - }, - "electron_context_menu": { - "add-term-to-dictionary": "將 \"{{term}}\" 添加到字典", - "cut": "剪下", - "copy": "複製", - "copy-link": "複製鏈接", - "paste": "貼上", - "paste-as-plain-text": "以純文字貼上", - "search_online": "用 {{searchEngine}} 搜尋 \"{{term}}\"" - }, - "image_context_menu": { - "copy_reference_to_clipboard": "複製引用到剪貼簿", - "copy_image_to_clipboard": "複製圖片到剪貼簿" - }, - "link_context_menu": { - "open_note_in_new_tab": "在新標籤頁中打開筆記", - "open_note_in_new_split": "在新分屏中打開筆記", - "open_note_in_new_window": "在新窗口中打開筆記" + "about": { + "title": "關於 Trilium Notes", + "homepage": "項目主頁:", + "app_version": "軟件版本:", + "db_version": "資料庫版本:", + "sync_version": "同步版本:", + "build_date": "編譯日期:", + "build_revision": "編譯版本:", + "data_directory": "數據目錄:" + }, + "toast": { + "critical-error": { + "title": "嚴重錯誤", + "message": "發生了嚴重錯誤,導致客戶端應用程式無法啓動:\n\n{{message}}\n\n這很可能是由於腳本以意外的方式失敗引起的。請嘗試以安全模式啓動應用程式並解決問題。" + }, + "widget-error": { + "title": "小部件初始化失敗", + "message-custom": "來自 ID 為 \"{{id}}\"、標題為 \"{{title}}\" 的筆記的自定義小部件因以下原因無法初始化:\n\n{{message}}", + "message-unknown": "未知小部件因以下原因無法初始化:\n\n{{message}}" + }, + "bundle-error": { + "title": "加載自定義腳本失敗", + "message": "來自 ID 為 \"{{id}}\"、標題為 \"{{title}}\" 的筆記的腳本因以下原因無法執行:\n\n{{message}}" } + }, + "add_link": { + "add_link": "添加鏈接", + "help_on_links": "鏈接幫助", + "close": "關閉", + "note": "筆記", + "search_note": "按名稱搜尋筆記", + "link_title_mirrors": "鏈接標題跟隨筆記標題變化", + "link_title_arbitrary": "鏈接標題可隨意修改", + "link_title": "鏈接標題", + "button_add_link": "添加鏈接 Enter" + }, + "branch_prefix": { + "edit_branch_prefix": "編輯分支前綴", + "help_on_tree_prefix": "有關樹前綴的幫助", + "close": "關閉", + "prefix": "前綴:", + "save": "保存", + "branch_prefix_saved": "已保存分支前綴。" + }, + "bulk_actions": { + "bulk_actions": "批量操作", + "close": "關閉", + "affected_notes": "受影響的筆記", + "include_descendants": "包括所選筆記的子筆記", + "available_actions": "可用操作", + "chosen_actions": "選擇的操作", + "execute_bulk_actions": "執行批量操作", + "bulk_actions_executed": "已成功執行批量操作。", + "none_yet": "暫無操作 ... 通過點擊上方的可用操作添加一個操作。", + "labels": "標籤", + "relations": "關聯關係", + "notes": "筆記", + "other": "其它" + }, + "clone_to": { + "clone_notes_to": "複製筆記到...", + "help_on_links": "鏈接幫助", + "notes_to_clone": "要複製的筆記", + "target_parent_note": "目標上級筆記", + "search_for_note_by_its_name": "按名稱搜尋筆記", + "cloned_note_prefix_title": "複製的筆記將在筆記樹中顯示給定的前綴", + "prefix_optional": "前綴(可選)", + "clone_to_selected_note": "複製到選定的筆記 Enter", + "no_path_to_clone_to": "沒有複製路徑。", + "note_cloned": "筆記 \"{{clonedTitle}}\" 已複製到 \"{{targetTitle}}\"" + }, + "confirm": { + "confirmation": "確認", + "cancel": "取消", + "ok": "確定", + "are_you_sure_remove_note": "確定要從關係圖中移除筆記 \"{{title}}\" ?", + "if_you_dont_check": "如果不選中此項,筆記將僅從關係圖中移除。", + "also_delete_note": "同時刪除筆記" + }, + "delete_notes": { + "delete_notes_preview": "刪除筆記預覽", + "delete_all_clones_description": "同時刪除所有複製(可以在最近修改中撤消)", + "erase_notes_description": "通常(軟)刪除僅標記筆記為已刪除,可以在一段時間內通過最近修改對話框撤消。選中此選項將立即擦除筆記,無法撤銷。", + "erase_notes_warning": "永久擦除筆記(無法撤銷),包括所有複製。這將強制應用程式重新加載。", + "notes_to_be_deleted": "將刪除以下筆記 ({{- noteCount}})", + "no_note_to_delete": "沒有筆記將被刪除(僅複製)。", + "broken_relations_to_be_deleted": "將刪除以下關係並斷開連接 ({{- relationCount}})", + "cancel": "取消", + "ok": "確定", + "deleted_relation_text": "筆記 {{- note}} (將被刪除的筆記) 被以下關係 {{- relation}} 引用, 來自 {{- source}}。" + }, + "export": { + "export_note_title": "匯出筆記", + "close": "關閉", + "export_type_subtree": "此筆記及其所有子筆記", + "format_html_zip": "HTML ZIP 歸檔 - 建議使用此選項,因為它保留了所有格式。", + "format_markdown": "Markdown - 保留大部分格式。", + "format_opml": "OPML - 大綱交換格式,僅限文字。不包括格式、圖片和文件。", + "opml_version_1": "OPML v1.0 - 僅限純文字", + "opml_version_2": "OPML v2.0 - 還允許 HTML", + "export_type_single": "僅此筆記,不包括子筆記", + "export": "匯出", + "choose_export_type": "請先選擇匯出類型", + "export_status": "匯出狀態", + "export_in_progress": "匯出進行中:{{progressCount}}", + "export_finished_successfully": "匯出成功完成。" + }, + "help": { + "fullDocumentation": "幫助(完整在線文檔)", + "close": "關閉", + "noteNavigation": "筆記導航", + "goUpDown": "UP, DOWN - 在筆記列表中向上/向下移動", + "collapseExpand": "LEFT, RIGHT - 折疊/展開節點", + "notSet": "未設定", + "goBackForwards": "在歷史記錄中前後移動", + "showJumpToNoteDialog": "顯示\"跳轉到\" 對話框", + "scrollToActiveNote": "滾動到活動筆記", + "jumpToParentNote": "Backspace - 跳轉到上級筆記", + "collapseWholeTree": "折疊整個筆記樹", + "collapseSubTree": "折疊子樹", + "tabShortcuts": "標籤快捷鍵", + "newTabNoteLink": "CTRL+click - 在筆記鏈接上使用CTRL+點擊(或中鍵點擊)在新標籤中打開筆記", + "onlyInDesktop": "僅在桌面版(電子構建)中", + "openEmptyTab": "打開空白標籤頁", + "closeActiveTab": "關閉活動標籤頁", + "activateNextTab": "激活下一個標籤頁", + "activatePreviousTab": "激活上一個標籤頁", + "creatingNotes": "新增筆記", + "createNoteAfter": "在活動筆記後新增新筆記", + "createNoteInto": "在活動筆記中新增新子筆記", + "editBranchPrefix": "編輯活動筆記複製的前綴", + "movingCloningNotes": "移動/複製筆記", + "moveNoteUpDown": "在筆記列表中向上/向下移動筆記", + "moveNoteUpHierarchy": "在層級結構中向上移動筆記", + "multiSelectNote": "多選上/下筆記", + "selectAllNotes": "選擇當前級別的所有筆記", + "selectNote": "Shift+Click - 選擇筆記", + "copyNotes": "將活動筆記(或當前選擇)複製到剪貼簿(用於複製)", + "cutNotes": "將當前筆記(或當前選擇)剪下到剪貼簿(用於移動筆記)", + "pasteNotes": "將筆記貼上為活動筆記的子筆記(根據是複製還是剪下到剪貼簿來決定是移動還是複製)", + "deleteNotes": "刪除筆記/子樹", + "editingNotes": "編輯筆記", + "editNoteTitle": "在樹形筆記樹中,焦點會從筆記樹切換到筆記標題。按下 Enter 鍵會將焦點從筆記標題切換到文字編輯器。按下 Ctrl+. 會將焦點從編輯器切換回筆記樹。", + "createEditLink": "Ctrl+K - 新增/編輯外部鏈接", + "createInternalLink": "新增內部鏈接", + "followLink": "跟隨遊標下的鏈接", + "insertDateTime": "在插入點插入當前日期和時間", + "jumpToTreePane": "跳轉到樹面板並滾動到活動筆記", + "markdownAutoformat": "類Markdown自動格式化", + "headings": "##, ###, #### 等,後跟空格,自動轉換為標題", + "bulletList": "*- 後跟空格,自動轉換為項目符號列表", + "numberedList": "1. or 1) 後跟空格,自動轉換為編號列表", + "blockQuote": "一行以 > 開頭並後跟空格,自動轉換為塊引用", + "troubleshooting": "故障排除", + "reloadFrontend": "重新加載Trilium前端", + "showDevTools": "顯示開發者工具", + "showSQLConsole": "顯示SQL控制台", + "other": "其他", + "quickSearch": "定位到快速搜尋框", + "inPageSearch": "頁面內搜尋" + }, + "import": { + "importIntoNote": "匯入到筆記", + "close": "關閉", + "chooseImportFile": "選擇匯入文件", + "importDescription": "所選文件的內容將作為子筆記匯入到", + "options": "選項", + "safeImportTooltip": "Trilium .zip 匯出文件可能包含可能有害的可執行腳本。安全匯入將停用所有匯入腳本的自動執行。僅當您完全信任匯入的可執行腳本的內容時,才取消選中「安全匯入」。", + "safeImport": "安全匯入", + "explodeArchivesTooltip": "如果選中此項,則Trilium將讀取.zip.enex.opml文件,並從這些歸檔文件內部的文件新增筆記。如果未選中,則Trilium會將這些歸檔文件本身附加到筆記中。", + "explodeArchives": "讀取.zip.enex.opml歸檔文件的內容。", + "shrinkImagesTooltip": "

如果選中此選項,Trilium將嘗試通過縮放和優化來縮小匯入的圖片,這可能會影響圖片的感知質量。如果未選中,圖片將不做修改地匯入。

這不適用於帶有元數據的.zip匯入,因為這些文件已被假定為已優化。

", + "shrinkImages": "壓縮圖片", + "textImportedAsText": "如果元數據不明確,將HTML、Markdown和TXT匯入為文字筆記", + "codeImportedAsCode": "如果元數據不明確,將識別的程式碼文件(例如.json)匯入為程式碼筆記", + "replaceUnderscoresWithSpaces": "在匯入的筆記名稱中將下劃線替換為空格", + "import": "匯入", + "failed": "匯入失敗: {{message}}." + }, + "include_note": { + "dialog_title": "包含筆記", + "label_note": "筆記", + "placeholder_search": "按名稱搜尋筆記", + "box_size_prompt": "包含筆記的框大小:", + "box_size_small": "小型 (顯示大約10行)", + "box_size_medium": "中型 (顯示大約30行)", + "box_size_full": "完整顯示(完整文字框)", + "button_include": "包含筆記 Enter" + }, + "info": { + "modalTitle": "資訊消息", + "closeButton": "關閉", + "okButton": "確定" + }, + "jump_to_note": { + "search_button": "全文搜尋 Ctrl+Enter" + }, + "markdown_import": { + "dialog_title": "Markdown 匯入", + "modal_body_text": "由於瀏覽器沙盒的限制,無法直接從 JavaScript 讀取剪貼簿內容。請將要匯入的 Markdown 文字貼上到下面的文字框中,然後點擊匯入按鈕", + "import_button": "匯入", + "import_success": "已成功匯入 Markdown 內容文檔。" + }, + "move_to": { + "dialog_title": "移動筆記到...", + "notes_to_move": "需要移動的筆記", + "target_parent_note": "目標上級筆記", + "search_placeholder": "通過名稱搜尋筆記", + "move_button": "移動到選定的筆記 Enter", + "error_no_path": "沒有可以移動到的路徑。", + "move_success_message": "已移動所選筆記到 " + }, + "note_type_chooser": { + "modal_title": "選擇筆記類型", + "modal_body": "選擇新筆記的類型或模板:", + "templates": "模板:" + }, + "password_not_set": { + "title": "密碼未設定", + "body1": "受保護的筆記使用用戶密碼加密,但密碼尚未設定。", + "body2": "點擊這裡打開選項對話框並設定您的密碼。" + }, + "prompt": { + "title": "提示", + "ok": "確定 Enter", + "defaultTitle": "提示" + }, + "protected_session_password": { + "modal_title": "保護會話", + "help_title": "關於保護筆記的幫助", + "close_label": "關閉", + "form_label": "輸入密碼進入保護會話以繼續:", + "start_button": "開始保護會話 Enter" + }, + "recent_changes": { + "title": "最近修改", + "erase_notes_button": "立即清理已刪除的筆記", + "deleted_notes_message": "已清理刪除的筆記。", + "no_changes_message": "暫無修改...", + "undelete_link": "恢復刪除", + "confirm_undelete": "您確定要恢復此筆記及其子筆記嗎?" + }, + "revisions": { + "note_revisions": "筆記歷史版本", + "delete_all_revisions": "刪除此筆記的所有歷史版本", + "delete_all_button": "刪除所有歷史版本", + "help_title": "關於筆記歷史版本的幫助", + "revision_last_edited": "此歷史版本上次編輯於 {{date}}", + "confirm_delete_all": "您是否要刪除此筆記的所有歷史版本?", + "no_revisions": "此筆記暫無歷史版本...", + "confirm_restore": "您是否要恢復此歷史版本?這將使用此歷史版本覆蓋筆記的當前標題和內容。", + "confirm_delete": "您是否要刪除此歷史版本?", + "revisions_deleted": "已刪除筆記歷史版本。", + "revision_restored": "已恢復筆記歷史版本。", + "revision_deleted": "已刪除筆記歷史版本。", + "snapshot_interval": "筆記快照保存間隔: {{seconds}}秒。", + "maximum_revisions": "當前筆記的最歷史數量: {{number}}。", + "settings": "筆記歷史設定", + "download_button": "下載", + "mime": "MIME類型:", + "file_size": "文件大小:", + "preview": "預覽:", + "preview_not_available": "無法預覽此類型的筆記。" + }, + "sort_child_notes": { + "sort_children_by": "按...排序子筆記", + "sorting_criteria": "排序條件", + "title": "標題", + "date_created": "新增日期", + "date_modified": "修改日期", + "sorting_direction": "排序方向", + "ascending": "升序", + "descending": "降序", + "folders": "資料夾", + "sort_folders_at_top": "將資料夾置頂排序", + "natural_sort": "自然排序", + "sort_with_respect_to_different_character_sorting": "根據不同語言或地區的字符排序和排序規則排序。", + "natural_sort_language": "自然排序語言", + "the_language_code_for_natural_sort": "自然排序的語言程式碼,例如繁體中文的 \"zh-TW\"。", + "sort": "排序 Enter" + }, + "upload_attachments": { + "upload_attachments_to_note": "上傳附件到筆記", + "choose_files": "選擇文件", + "files_will_be_uploaded": "文件將作為附件上傳到", + "options": "選項", + "shrink_images": "縮小圖片", + "upload": "上傳", + "tooltip": "如果您勾選此選項,Trilium 將嘗試通過縮放和優化來縮小上傳的圖片,這可能會影響感知的圖片質量。如果未選中,則將以不進行修改的方式上傳圖片。" + }, + "attribute_detail": { + "attr_detail_title": "屬性詳情標題", + "close_button_title": "取消修改並關閉", + "attr_is_owned_by": "屬性所有者", + "attr_name_title": "屬性名稱只能由字母數字字符、冒號和下劃線組成", + "name": "名稱", + "value": "值", + "target_note_title": "關係是源筆記和目標筆記之間的命名連接。", + "target_note": "目標筆記", + "promoted_title": "升級屬性在筆記上突出顯示。", + "promoted": "升級", + "promoted_alias_title": "在升級屬性界面中顯示的名稱。", + "promoted_alias": "別名", + "multiplicity_title": "多重性定義了可以新增的含有相同名稱的屬性的數量 - 最多為1或多於1。", + "multiplicity": "多重性", + "single_value": "單值", + "multi_value": "多值", + "label_type_title": "標籤類型將幫助 Trilium 選擇適合的界面來輸入標籤值。", + "label_type": "類型", + "text": "文字", + "number": "數字", + "boolean": "布林值", + "date": "日期", + "date_time": "日期和時間", + "time": "時間", + "url": "網址", + "precision_title": "值設定界面中浮點數後的位數。", + "precision": "精度", + "digits": "位數", + "inverse_relation_title": "可選設定,定義此關係與哪個關係相反。例如:上級 - 子級是彼此的反向關係。", + "inverse_relation": "反向關係", + "inheritable_title": "可繼承屬性將被繼承到此樹下的所有後代。", + "inheritable": "可繼承", + "save_and_close": "保存並關閉 Ctrl+Enter", + "delete": "刪除", + "related_notes_title": "含有此標籤的其他筆記", + "more_notes": "更多筆記", + "label": "標籤詳情", + "label_definition": "標籤定義詳情", + "relation": "關係詳情", + "relation_definition": "關係定義詳情", + "disable_versioning": "禁用自動版本控制。適用於例如大型但不重要的筆記 - 例如用於腳本編寫的大型JS庫", + "calendar_root": "標記應用作為每日筆記的根。只應標記一個筆記。", + "archived": "含有此標籤的筆記默認在搜尋結果中不可見(也適用於跳轉到、添加鏈接對話框等)。", + "exclude_from_export": "筆記(及其子樹)不會包含在任何筆記匯出中", + "run": "定義腳本應運行的事件。可能的值包括:\n
    \n
  • frontendStartup - Trilium前端啓動時(或刷新時),但不會在移動端執行。
  • \n
  • mobileStartup - Trilium前端啓動時(或刷新時), 在移動端會執行。
  • \n
  • backendStartup - Trilium後端啓動時
  • \n
  • hourly - 每小時運行一次。您可以使用附加標籤runAtHour指定小時。
  • \n
  • daily - 每天運行一次
  • \n
", + "run_on_instance": "定義應在哪個Trilium實例上運行。默認為所有實例。", + "run_at_hour": "應在哪個小時運行。應與#run=hourly一起使用。可以多次定義,以便一天內運行多次。", + "disable_inclusion": "含有此標籤的腳本不會包含在父腳本執行中。", + "sorted": "按標題字母順序保持子筆記排序", + "sort_direction": "ASC(默認)或DESC", + "sort_folders_first": "資料夾(含有子筆記的筆記)應排在頂部", + "top": "在其上級中保留給定筆記在頂部(僅適用於排序的上級)", + "hide_promoted_attributes": "隱藏此筆記上的升級屬性", + "read_only": "編輯器處於唯讀模式。僅適用於文字和程式碼筆記。", + "auto_read_only_disabled": "文字/程式碼筆記可以在太大時自動設定為唯讀模式。您可以通過向筆記添加此標籤來對單個筆記單獨設定禁用唯讀。", + "app_css": "標記加載到Trilium應用程式中的CSS筆記,因此可以用於修改Trilium的外觀。", + "app_theme": "標記為完整的Trilium主題的CSS筆記,因此可以在Trilium選項中使用。", + "css_class": "該標籤的值將作為CSS類添加到樹中表示給定筆記的節點。這對於高級主題設定非常有用。可用於模板筆記。", + "icon_class": "該標籤的值將作為CSS類添加到樹中圖標上,有助於從視覺上區分筆記樹里的筆記。比如可以是 bx bx-home - 圖標來自boxicons。可用於模板筆記。", + "page_size": "筆記列表中每頁的項目數", + "custom_request_handler": "請參閱自定義請求處理程序 ", + "custom_resource_provider": "請參閱自定義請求處理程序", + "widget": "將此筆記標記為將添加到Trilium組件樹中的自定義小部件", + "workspace": "將此筆記標記為允許輕鬆提升的工作區", + "workspace_icon_class": "定義在選項卡中提升到此筆記時將使用的框圖圖標CSS類", + "workspace_tab_background_color": "提升到此筆記時在筆記選項卡中使用的CSS顏色", + "workspace_calendar_root": "定義每個工作區的日曆根", + "workspace_template": "在新增新筆記時,此筆記將出現在可用模板的選擇中,但僅當提升到包含此模板的工作區時", + "search_home": "新的搜尋筆記將作為此筆記的子筆記新增", + "workspace_search_home": "當提升到此工作區筆記的某個祖先時,新的搜尋筆記將作為此筆記的子筆記新增", + "inbox": "使用側邊欄中的\"新建筆記\"按鈕新增筆記時,默認收件箱位置。筆記將作為標有#inbox標籤的筆記的子筆記新增。", + "workspace_inbox": "當提升到此工作區筆記的某個祖先時,新的筆記的默認收件箱位置", + "sql_console_home": "SQL控制台筆記的默認位置", + "bookmark_folder": "含有此標籤的筆記將作為資料夾出現在書籤中(允許訪問其子筆記)", + "share_hidden_from_tree": "此筆記從左側導航樹中隱藏,但仍可通過其URL訪問", + "share_external_link": "筆記將在分享樹中作為指向外部網站的鏈接", + "share_alias": "使用此別名定義將在 https://你的trilium域名/share/[別名] 下可用的筆記", + "share_omit_default_css": "將省略默認的分享頁面CSS。當您進行廣泛的樣式修改時使用。", + "share_root": "標記作為在 /share 地址分享的根節點筆記。", + "share_description": "定義要添加到HTML meta標籤以供描述的文字", + "share_raw": "筆記將以其原始格式提供,不帶HTML包裝器", + "share_disallow_robot_indexing": "將通過X-Robots-Tag: noindex標頭禁止爬蟲機器人索引此筆記", + "share_credentials": "需要憑據才能訪問此分享筆記。值應以'username:password'格式提供。請勿忘記使其可繼承以應用於子筆記/圖片。", + "share_index": "含有此標籤的筆記將列出所有分享筆記的根", + "display_relations": "應顯示的逗號分隔關係名稱。將隱藏所有其他關係。", + "hide_relations": "應隱藏的逗號分隔關係名稱。將顯示所有其他關係。", + "title_template": "新增為此筆記的子筆記時的默認標題。該值將作為JavaScript字符串評估\n 並因此可以通過注入的nowparentNote變量豐富動態內容。示例:\n \n
    \n
  • ${parentNote.getLabelValue('authorName')}的文學作品
  • \n
  • Log for ${now.format('YYYY-MM-DD HH:mm:ss')}
  • \n
\n \n 有關詳細資訊,請參見詳細資訊wiki,API文檔parentNotenow。", + "template": "新增新筆記時將出現在可用模板的選擇中的筆記", + "toc": "#toc#toc=show將強制顯示目錄。 #toc=hide將強制隱藏它。如果標籤不存在,則觀察全局設定", + "color": "定義筆記樹、鏈接等中筆記的顏色。使用任何有效的CSS顏色值,如'red'或#a13d5f", + "keyboard_shortcut": "定義立即跳轉到此筆記的鍵盤快捷鍵。示例:'ctrl+alt+e'。需要前端重新加載才能生效。", + "keep_current_hoisting": "即使筆記不在當前提升的子樹中顯示,打開此鏈接也不會修改提升。", + "execute_button": "將執行當前程式碼筆記的按鈕標題", + "execute_description": "顯示與執行按鈕一起顯示的當前程式碼筆記的更長描述", + "exclude_from_note_map": "含有此標籤的筆記將從筆記地圖中隱藏", + "new_notes_on_top": "新筆記將新增在上級筆記的頂部,而不是底部。", + "hide_highlight_widget": "隱藏高亮列表小部件", + "run_on_note_creation": "在後端新增筆記時執行。如果要為在特定子樹下新增的所有筆記運行腳本,請使用此關係。在這種情況下,在子樹根筆記上新增它並使其可繼承。在子樹中的任何深度新增新筆記都會觸發腳本。", + "run_on_child_note_creation": "當新增新的子筆記時執行", + "run_on_note_title_change": "當筆記標題修改時執行(包括筆記新增)", + "run_on_note_content_change": "當筆記內容修改時執行(包括筆記新增)。", + "run_on_note_change": "當筆記修改時執行(包括筆記新增)。不包括內容修改", + "run_on_note_deletion": "在刪除筆記時執行", + "run_on_branch_creation": "在新增分支時執行。分支是上級筆記和子筆記之間的鏈接,並且在複製或移動筆記時新增。", + "run_on_branch_change": "在分支更新時執行。", + "run_on_branch_deletion": "在刪除分支時執行。分支是上級筆記和子筆記之間的鏈接,例如在移動筆記時刪除(刪除舊的分支/鏈接)。", + "run_on_attribute_creation": "在為定義此關係的筆記新增新屬性時執行", + "run_on_attribute_change": "當修改定義此關係的筆記的屬性時執行。刪除屬性時也會觸發此操作。", + "relation_template": "即使沒有上下級關係,筆記的屬性也將繼承。如果空,則筆記的內容和子樹將添加到實例筆記中。有關詳細資訊,請參見文檔。", + "inherit": "即使沒有上下級關係,筆記的屬性也將繼承。有關類似概念的模板關係,請參見模板關係。請參閱文檔中的屬性繼承。", + "render_note": "「渲染HTML筆記」類型的筆記將使用程式碼筆記(HTML或腳本)進行呈現,因此需要指定要渲染的筆記", + "widget_relation": "此關係的目標將作為側邊欄中的小部件執行和呈現", + "share_css": "將注入分享頁面的CSS筆記。CSS筆記也必須位於分享子樹中。可以考慮一並使用'share_hidden_from_tree'和'share_omit_default_css'。", + "share_js": "將注入分享頁面的JavaScript筆記。JS筆記也必須位於分享子樹中。可以考慮一並使用'share_hidden_from_tree'。", + "share_template": "用作顯示分享筆記的模板的嵌入式JavaScript筆記。如果沒有,將回退到默認模板。可以考慮一並使用'share_hidden_from_tree'。", + "share_favicon": "在分享頁面中設定的favicon筆記。一般需要將它設定為分享和可繼承。Favicon筆記也必須位於分享子樹中。可以考慮一並使用'share_hidden_from_tree'。", + "is_owned_by_note": "由此筆記所有", + "other_notes_with_name": "其它含有 {{attributeType}} 名為 \"{{attributeName}}\" 的的筆記", + "and_more": "... 以及另外 {{count}} 個" + }, + "attribute_editor": { + "help_text_body1": "要添加標籤,只需輸入例如 #rock 或者如果您還想添加值,則例如 #year = 2020", + "help_text_body2": "對於關係,請輸入 ~author = @,這將顯示一個自動完成列表,您可以查找所需的筆記。", + "help_text_body3": "您也可以使用右側的 + 按鈕添加標籤和關係。

", + "save_attributes": "保存屬性 ", + "add_a_new_attribute": "添加新屬性", + "add_new_label": "添加新標籤 ", + "add_new_relation": "添加新關係 ", + "add_new_label_definition": "添加新標籤定義", + "add_new_relation_definition": "添加新關係定義", + "placeholder": "在此輸入標籤和關係" + }, + "abstract_bulk_action": { + "remove_this_search_action": "刪除此搜尋操作" + }, + "execute_script": { + "execute_script": "執行腳本", + "help_text": "您可以在匹配的筆記上執行簡單的腳本。", + "example_1": "例如,要在筆記標題後附加字符串,請使用以下腳本:", + "example_2": "更複雜的例子,刪除所有匹配的筆記屬性:" + }, + "add_label": { + "add_label": "添加標籤", + "label_name_placeholder": "標籤名稱", + "label_name_title": "允許使用字母、數字、下劃線和冒號。", + "to_value": "值為", + "new_value_placeholder": "新值", + "help_text": "在所有匹配的筆記上:", + "help_text_item1": "如果筆記尚無此標籤,則新增給定的標籤", + "help_text_item2": "或更改現有標籤的值", + "help_text_note": "您也可以在不指定值的情況下調用此方法,這種情況下,標籤將分配給沒有值的筆記。" + }, + "delete_label": { + "delete_label": "刪除標籤", + "label_name_placeholder": "標籤名稱", + "label_name_title": "允許使用字母、數字、下劃線和冒號。" + }, + "rename_label": { + "rename_label": "重新命名標籤", + "rename_label_from": "重新命名標籤從", + "old_name_placeholder": "舊名稱", + "to": "改為", + "new_name_placeholder": "新名稱", + "name_title": "允許使用字母、數字、下劃線和冒號。" + }, + "update_label_value": { + "update_label_value": "更新標籤值", + "label_name_placeholder": "標籤名稱", + "label_name_title": "允許使用字母、數字、下劃線和冒號。", + "to_value": "值為", + "new_value_placeholder": "新值", + "help_text": "在所有匹配的筆記上,更改現有標籤的值。", + "help_text_note": "您也可以在不指定值的情況下調用此方法,這種情況下,標籤將分配給沒有值的筆記。" + }, + "delete_note": { + "delete_note": "刪除筆記", + "delete_matched_notes": "刪除匹配的筆記", + "delete_matched_notes_description": "這將刪除匹配的筆記。", + "undelete_notes_instruction": "刪除後,可以從「最近修改」對話框中恢復它們。", + "erase_notes_instruction": "要永久擦除筆記,您可以在刪除後轉到「選項」->「其他」,然後單擊「立即擦除已刪除的筆記」按鈕。" + }, + "delete_revisions": { + "delete_note_revisions": "刪除筆記歷史", + "all_past_note_revisions": "所有匹配筆記的過去歷史都將被刪除。筆記本身將完全保留。換句話說,筆記的歷史將被刪除。" + }, + "move_note": { + "move_note": "移動筆記", + "to": "到", + "target_parent_note": "目標上級筆記", + "on_all_matched_notes": "對於所有匹配的筆記", + "move_note_new_parent": "如果筆記只有一個上級(即舊分支被移除並新增新分支到新上級),則將筆記移動到新上級", + "clone_note_new_parent": "如果筆記有多個複製/分支(不清楚應該移除哪個分支),則將筆記複製到新上級", + "nothing_will_happen": "如果筆記無法移動到目標筆記(即這會新增一個樹循環),則不會發生任何事情" + }, + "rename_note": { + "rename_note": "重新命名筆記", + "rename_note_title_to": "重新命名筆記標題為", + "new_note_title": "新筆記標題", + "click_help_icon": "點擊右側的幫助圖標查看所有選項", + "evaluated_as_js_string": "給定的值被評估為 JavaScript 字符串,因此可以通過注入的 note 變量(正在重新命名的筆記)豐富動態內容。 例如:", + "example_note": "Note - 所有匹配的筆記都被重新命名為「Note」", + "example_new_title": "NEW: ${note.title} - 匹配的筆記標題以「NEW: 」為前綴", + "example_date_prefix": "${note.dateCreatedObj.format('MM-DD:')}: ${note.title} - 匹配的筆記以筆記的新增月份-日期為前綴", + "api_docs": "有關詳細資訊,請參閱筆記及其dateCreatedObj / utcDateCreatedObj 屬性的API文檔。" + }, + "add_relation": { + "add_relation": "添加關係", + "relation_name": "關係名稱", + "allowed_characters": "允許的字符為字母數字、下劃線和冒號。", + "to": "到", + "target_note": "目標筆記", + "create_relation_on_all_matched_notes": "在所有匹配的筆記上新增指定的關係。" + }, + "delete_relation": { + "delete_relation": "刪除關係", + "relation_name": "關係名稱", + "allowed_characters": "允許的字符為字母數字、下劃線和冒號。" + }, + "rename_relation": { + "rename_relation": "重新命名關係", + "rename_relation_from": "重新命名關係,從", + "old_name": "舊名稱", + "to": "改為", + "new_name": "新名稱", + "allowed_characters": "允許的字符為字母數字、下劃線和冒號。" + }, + "update_relation_target": { + "update_relation": "更新關係", + "relation_name": "關係名稱", + "allowed_characters": "允許的字符為字母數字、下劃線和冒號。", + "to": "到", + "target_note": "目標筆記", + "on_all_matched_notes": "在所有匹配的筆記上", + "change_target_note": "或更改現有關係的目標筆記", + "update_relation_target": "更新關係目標" + }, + "attachments_actions": { + "open_externally": "用外部程序打開", + "open_externally_title": "文件將會在外部應用程式中打開,並監視其更改。然後您可以將修改後的版本上傳回 Trilium。", + "open_custom": "自定義打開方式", + "open_custom_title": "文件將會在外部應用程式中打開,並監視其更改。然後您可以將修改後的版本上傳回 Trilium。", + "download": "下載", + "rename_attachment": "重新命名附件", + "upload_new_revision": "上傳新版本", + "copy_link_to_clipboard": "複製鏈接到剪貼簿", + "convert_attachment_into_note": "將附件轉換為筆記", + "delete_attachment": "刪除附件", + "upload_success": "已上傳新附件版本。", + "upload_failed": "新附件版本上傳失敗。", + "open_externally_detail_page": "外部打開附件僅在詳細頁面中可用,請首先點擊附件詳細資訊,然後重復此操作。", + "open_custom_client_only": "自定義打開附件只能通過客戶端完成。", + "delete_confirm": "您確定要刪除附件 '{{title}}' 嗎?", + "delete_success": "附件 '{{title}}' 已被刪除。", + "convert_confirm": "您確定要將附件 '{{title}}' 轉換為單獨的筆記嗎?", + "convert_success": "附件 '{{title}}' 已轉換為筆記。", + "enter_new_name": "請輸入附件的新名稱" + }, + "calendar": { + "mon": "一", + "tue": "二", + "wed": "三", + "thu": "四", + "fri": "五", + "sat": "六", + "sun": "日", + "cannot_find_day_note": "無法找到日記", + "january": "一月", + "febuary": "二月", + "march": "三月", + "april": "四月", + "may": "五月", + "june": "六月", + "july": "七月", + "august": "八月", + "september": "九月", + "october": "十月", + "november": "十一月", + "december": "十二月" + }, + "close_pane_button": { + "close_this_pane": "關閉此面板" + }, + "create_pane_button": { + "create_new_split": "拆分面板" + }, + "edit_button": { + "edit_this_note": "編輯此筆記" + }, + "show_toc_widget_button": { + "show_toc": "顯示目錄" + }, + "show_highlights_list_widget_button": { + "show_highlights_list": "顯示高亮列表" + }, + "global_menu": { + "menu": "菜單", + "options": "選項", + "open_new_window": "打開新窗口", + "switch_to_mobile_version": "切換到移動版", + "switch_to_desktop_version": "切換到桌面版", + "zoom": "縮放", + "toggle_fullscreen": "切換全熒幕", + "zoom_out": "縮小", + "reset_zoom_level": "重置縮放級別", + "zoom_in": "放大", + "configure_launchbar": "設定啓動欄", + "show_shared_notes_subtree": "顯示分享筆記子樹", + "advanced": "高級", + "open_dev_tools": "打開開發工具", + "open_sql_console": "打開SQL控制台", + "open_sql_console_history": "打開SQL控制台歷史記錄", + "open_search_history": "打開搜尋歷史", + "show_backend_log": "顯示後台日誌", + "reload_hint": "重新加載可以幫助解決一些視覺故障,而無需重新啓動整個應用程式。", + "reload_frontend": "重新加載前端", + "show_hidden_subtree": "顯示隱藏子樹", + "show_help": "顯示幫助", + "about": "關於 TriliumNext 筆記", + "logout": "登出" + }, + "sync_status": { + "unknown": "

同步狀態將在下一次同步嘗試開始後顯示。

點擊以立即觸發同步。

", + "connected_with_changes": "

已連接到同步伺服器。
有一些未同步的變更。

點擊以觸發同步。

", + "connected_no_changes": "

已連接到同步伺服器。
所有變更均已同步。

點擊以觸發同步。

", + "disconnected_with_changes": "

連接同步伺服器失敗。
有一些未同步的變更。

點擊以觸發同步。

", + "disconnected_no_changes": "

連接同步伺服器失敗。
所有已知變更均已同步。

點擊以觸發同步。

", + "in_progress": "正在與伺服器進行同步。" + }, + "left_pane_toggle": { + "show_panel": "顯示面板", + "hide_panel": "隱藏面板" + }, + "move_pane_button": { + "move_left": "向左移動", + "move_right": "向右移動" + }, + "note_actions": { + "convert_into_attachment": "轉換為附件", + "re_render_note": "重新渲染筆記", + "search_in_note": "在筆記中搜尋", + "note_source": "筆記源程式碼", + "note_attachments": "筆記附件", + "open_note_externally": "用外部程序打開筆記", + "open_note_externally_title": "文件將在外部應用程式中打開,並監視其更改。然後您可以將修改後的版本上傳回 Trilium。", + "open_note_custom": "使用自定義程序打開筆記", + "import_files": "匯入文件", + "export_note": "匯出筆記", + "delete_note": "刪除筆記", + "print_note": "打印筆記", + "save_revision": "保存筆記歷史", + "convert_into_attachment_failed": "筆記 '{{title}}' 轉換失敗。", + "convert_into_attachment_successful": "筆記 '{{title}}' 已成功轉換為附件。", + "convert_into_attachment_prompt": "確定要將筆記 '{{title}}' 轉換為上級筆記的附件嗎?" + }, + "onclick_button": { + "no_click_handler": "按鈕組件'{{componentId}}'沒有定義點擊處理程序" + }, + "protected_session_status": { + "active": "受保護的會話已激活。點擊退出受保護的會話。", + "inactive": "點擊進入受保護的會話" + }, + "revisions_button": { + "note_revisions": "筆記修改歷史" + }, + "update_available": { + "update_available": "有更新可用" + }, + "note_launcher": { + "this_launcher_doesnt_define_target_note": "此啓動器未定義目標筆記。" + }, + "code_buttons": { + "execute_button_title": "執行腳本", + "trilium_api_docs_button_title": "打開 Trilium API 文檔", + "save_to_note_button_title": "保存到筆記", + "opening_api_docs_message": "正在打開 API 文檔...", + "sql_console_saved_message": "SQL 控制台已保存到 {{note_path}}" + }, + "copy_image_reference_button": { + "button_title": "複製圖片引用到剪貼簿,可貼上到文字筆記中。" + }, + "hide_floating_buttons_button": { + "button_title": "隱藏按鈕" + }, + "show_floating_buttons_button": { + "button_title": "顯示按鈕" + }, + "svg_export_button": { + "button_title": "匯出SVG格式圖片" + }, + "relation_map_buttons": { + "create_child_note_title": "新增新的子筆記並添加到關係圖", + "reset_pan_zoom_title": "重置平移和縮放到初始坐標和放大倍率", + "zoom_in_title": "放大", + "zoom_out_title": "縮小" + }, + "zpetne_odkazy": { + "backlink": "{{count}} 個反鏈", + "backlinks": "{{count}} 個反鏈", + "relation": "關係" + }, + "mobile_detail_menu": { + "insert_child_note": "插入子筆記", + "delete_this_note": "刪除此筆記", + "error_cannot_get_branch_id": "無法獲取 notePath '{{notePath}}' 的 branchId", + "error_unrecognized_command": "無法識別的命令 {{command}}" + }, + "note_icon": { + "change_note_icon": "更改筆記圖標", + "category": "類別:", + "search": "搜尋:", + "reset-default": "重置為默認圖標" + }, + "basic_properties": { + "note_type": "筆記類型", + "editable": "可編輯", + "basic_properties": "基本屬性" + }, + "book_properties": { + "view_type": "視圖類型", + "grid": "網格", + "list": "列表", + "collapse_all_notes": "折疊所有筆記", + "expand_all_children": "展開所有子項", + "collapse": "折疊", + "expand": "展開", + "invalid_view_type": "無效的查看類型 '{{type}}'" + }, + "edited_notes": { + "no_edited_notes_found": "今天還沒有編輯過的筆記...", + "title": "編輯過的筆記", + "deleted": "(已刪除)" + }, + "file_properties": { + "note_id": "筆記 ID", + "original_file_name": "原始文件名", + "file_type": "文件類型", + "file_size": "文件大小", + "download": "下載", + "open": "打開", + "upload_new_revision": "上傳新版本", + "upload_success": "已上傳新文件版本。", + "upload_failed": "新文件版本上傳失敗。", + "title": "文件" + }, + "image_properties": { + "original_file_name": "原始文件名", + "file_type": "文件類型", + "file_size": "文件大小", + "download": "下載", + "open": "打開", + "copy_reference_to_clipboard": "複製引用到剪貼簿", + "upload_new_revision": "上傳新版本", + "upload_success": "已上傳新圖片版本。", + "upload_failed": "新圖片版本上傳失敗:{{message}}", + "title": "圖片" + }, + "inherited_attribute_list": { + "title": "繼承的屬性", + "no_inherited_attributes": "沒有繼承的屬性。" + }, + "note_info_widget": { + "note_id": "筆記ID", + "created": "新增時間", + "modified": "修改時間", + "type": "類型", + "note_size": "筆記大小", + "note_size_info": "筆記大小提供了該筆記存儲需求的粗略估計。它考慮了筆記的內容及其筆記歷史的內容。", + "calculate": "計算", + "subtree_size": "(子樹大小: {{size}}, 共計 {{count}} 個筆記)", + "title": "筆記資訊" + }, + "note_map": { + "open_full": "展開顯示", + "collapse": "折疊到正常大小", + "title": "筆記地圖" + }, + "note_paths": { + "title": "筆記路徑", + "clone_button": "複製筆記到新位置...", + "intro_placed": "此筆記放置在以下路徑中:", + "intro_not_placed": "此筆記尚未放入筆記樹中。", + "outside_hoisted": "此路徑在提升的筆記之外,您需要取消提升。", + "archived": "已歸檔", + "search": "搜尋" + }, + "note_properties": { + "this_note_was_originally_taken_from": "筆記來源:", + "info": "資訊" + }, + "owned_attribute_list": { + "owned_attributes": "擁有的屬性" + }, + "promoted_attributes": { + "promoted_attributes": "升級屬性", + "url_placeholder": "http://網站鏈接...", + "open_external_link": "打開外部鏈接", + "unknown_label_type": "未知的標籤類型 '{{type}}'", + "unknown_attribute_type": "未知的屬性類型 '{{type}}'", + "add_new_attribute": "添加新屬性", + "remove_this_attribute": "移除此屬性" + }, + "script_executor": { + "query": "查詢", + "script": "腳本", + "execute_query": "執行查詢", + "execute_script": "執行腳本" + }, + "search_definition": { + "add_search_option": "添加搜尋選項:", + "search_string": "搜尋字符串", + "search_script": "搜尋腳本", + "ancestor": "祖先", + "fast_search": "快速搜尋", + "fast_search_description": "快速搜尋選項禁用筆記內容的全文搜尋,這可能會加速大資料庫中的搜尋。", + "include_archived": "包含歸檔", + "include_archived_notes_description": "歸檔的筆記默認不包含在搜尋結果中,使用此選項將包含它們。", + "order_by": "排序方式", + "limit": "限制", + "limit_description": "限制結果數量", + "debug": "除錯", + "debug_description": "除錯將打印額外的除錯資訊到控制台,以幫助除錯複雜查詢", + "action": "操作", + "search_button": "搜尋 Enter", + "search_execute": "搜尋並執行操作", + "save_to_note": "保存到筆記", + "search_parameters": "搜尋參數", + "unknown_search_option": "未知的搜尋選項 {{searchOptionName}}", + "search_note_saved": "搜尋筆記已保存到 {{- notePathTitle}}", + "actions_executed": "已執行操作。" + }, + "similar_notes": { + "title": "相似筆記", + "no_similar_notes_found": "未找到相似的筆記。" + }, + "abstract_search_option": { + "remove_this_search_option": "刪除此搜尋選項", + "failed_rendering": "渲染搜尋選項失敗:{{dto}},錯誤資訊:{{error}},堆棧:{{stack}}" + }, + "ancestor": { + "label": "祖先", + "placeholder": "按名稱搜尋筆記", + "depth_label": "深度", + "depth_doesnt_matter": "任意", + "depth_eq": "正好是 {{count}}", + "direct_children": "直接下代", + "depth_gt": "大於 {{count}}", + "depth_lt": "小於 {{count}}" + }, + "debug": { + "debug": "除錯", + "debug_info": "除錯將打印額外的除錯資訊到控制台,以幫助除錯複雜的查詢。", + "access_info": "要訪問除錯資訊,請執行查詢並點擊左上角的「顯示後端日誌」。" + }, + "fast_search": { + "fast_search": "快速搜尋", + "description": "快速搜尋選項禁用筆記內容的全文搜尋,這可能會加快在大型資料庫中的搜尋速度。" + }, + "include_archived_notes": { + "include_archived_notes": "包括已歸檔的筆記" + }, + "limit": { + "limit": "限制", + "take_first_x_results": "僅取前X個指定結果。" + }, + "order_by": { + "order_by": "排序依據", + "relevancy": "相關性(默認)", + "title": "標題", + "date_created": "新增日期", + "date_modified": "最後修改日期", + "content_size": "筆記內容大小", + "content_and_attachments_size": "筆記內容大小(包括附件)", + "content_and_attachments_and_revisions_size": "筆記內容大小(包括附件和筆記歷史)", + "revision_count": "歷史數量", + "children_count": "子筆記數量", + "parent_count": "複製數量", + "owned_label_count": "標籤數量", + "owned_relation_count": "關係數量", + "target_relation_count": "指向筆記的關係數量", + "random": "隨機順序", + "asc": "升序(默認)", + "desc": "降序" + }, + "search_script": { + "title": "搜尋腳本:", + "placeholder": "按名稱搜尋筆記", + "description1": "搜尋腳本允許通過運行腳本來定義搜尋結果。這在標準搜尋不足時提供了最大的靈活性。", + "description2": "搜尋腳本必須是類型為\"程式碼\"和子類型為\"JavaScript後端\"。腳本需要返回一個noteIds或notes數組。", + "example_title": "請看這個例子:", + "example_code": "// 1. 使用標準搜尋進行預過濾\nconst candidateNotes = api.searchForNotes(\"#journal\"); \n\n// 2. 應用自定義搜尋條件\nconst matchedNotes = candidateNotes\n .filter(note => note.title.match(/[0-9]{1,2}\\. ?[0-9]{1,2}\\. ?[0-9]{4}/));\n\nreturn matchedNotes;", + "note": "注意,搜尋腳本和搜尋字符串不能相互結合使用。" + }, + "search_string": { + "title_column": "搜尋字符串:", + "placeholder": "全文關鍵詞,#標籤 = 值 ...", + "search_syntax": "搜尋語法", + "also_see": "另見", + "complete_help": "完整的搜尋語法幫助", + "full_text_search": "只需輸入任何文字進行全文搜尋", + "label_abc": "返回帶有標籤abc的筆記", + "label_year": "匹配帶有標籤年份且值為2019的筆記", + "label_rock_pop": "匹配同時具有rock和pop標籤的筆記", + "label_rock_or_pop": "只需一個標籤存在即可", + "label_year_comparison": "數字比較(也包括>,>=,<)。", + "label_date_created": "上個月新增的筆記", + "error": "搜尋錯誤:{{error}}", + "search_prefix": "搜尋:" + }, + "attachment_detail": { + "open_help_page": "打開附件幫助頁面", + "owning_note": "所屬筆記: ", + "you_can_also_open": ",你還可以打開", + "list_of_all_attachments": "所有附件列表", + "attachment_deleted": "該附件已被刪除。" + }, + "attachment_list": { + "open_help_page": "打開附件幫助頁面", + "owning_note": "所屬筆記: ", + "upload_attachments": "上傳附件", + "no_attachments": "此筆記沒有附件。" + }, + "book": { + "no_children_help": "此類型為書籍的筆記沒有任何子筆記,因此沒有內容顯示。請參閱 wiki 瞭解詳情" + }, + "editable_code": { + "placeholder": "在這裡輸入您的程式碼筆記內容..." + }, + "editable_text": { + "placeholder": "在這裡輸入您的筆記內容..." + }, + "empty": { + "open_note_instruction": "通過在下面的輸入框中輸入筆記標題或在樹中選擇筆記來打開筆記。", + "search_placeholder": "按名稱搜尋筆記", + "enter_workspace": "進入工作區 {{title}}" + }, + "file": { + "file_preview_not_available": "此文件格式不支持預覽。" + }, + "protected_session": { + "enter_password_instruction": "顯示受保護的筆記需要輸入您的密碼:", + "start_session_button": "開始受保護的會話 Enter", + "started": "已啓動受保護的會話。", + "wrong_password": "密碼錯誤。", + "protecting-finished-successfully": "已成功完成保護操作。", + "unprotecting-finished-successfully": "已成功完成解除保護操作。", + "protecting-in-progress": "保護進行中:{{count}}", + "unprotecting-in-progress-count": "解除保護進行中:{{count}}", + "protecting-title": "保護狀態", + "unprotecting-title": "解除保護狀態" + }, + "relation_map": { + "open_in_new_tab": "在新標籤頁中打開", + "remove_note": "刪除筆記", + "edit_title": "編輯標題", + "rename_note": "重新命名筆記", + "enter_new_title": "輸入新的筆記標題:", + "remove_relation": "刪除關係", + "confirm_remove_relation": "你確定要刪除這個關係嗎?", + "specify_new_relation_name": "指定新的關係名稱(允許的字符:字母數字、冒號和下劃線):", + "connection_exists": "筆記之間的連接 '{{name}}' 已經存在。", + "start_dragging_relations": "從這裡開始拖動關係,並將其放置到另一個筆記上。", + "note_not_found": "筆記 {{noteId}} 未找到!", + "cannot_match_transform": "無法匹配變換:{{transform}}", + "note_already_in_diagram": "筆記 \"{{title}}\" 已經在圖中。", + "enter_title_of_new_note": "輸入新筆記的標題", + "default_new_note_title": "新筆記", + "click_on_canvas_to_place_new_note": "點擊畫布以放置新筆記" + }, + "render": { + "note_detail_render_help_1": "之所以顯示此幫助說明,是因為該類型的渲染HTML沒有設定好必須的關聯關係。", + "note_detail_render_help_2": "渲染筆記類型用於編寫 腳本。簡單說就是你可以寫HTML程式碼(或者加上一些JavaScript程式碼), 然後這個筆記會把頁面渲染出來。要使其正常工作,您需要定義一個名為 \"renderNote\" 的關係 關係 指向要呈現的 HTML 筆記。" + }, + "web_view": { + "web_view": "網頁視圖", + "embed_websites": "網頁視圖類型的筆記允許您將網站嵌入到 Trilium 中。", + "create_label": "首先,請新增一個帶有您要嵌入的 URL 地址的標籤,例如 #webViewSrc=\"https://www.bing.com\"" + }, + "backend_log": { + "refresh": "刷新" + }, + "consistency_checks": { + "title": "檢查一致性", + "find_and_fix_button": "查找並修復一致性問題", + "finding_and_fixing_message": "正在查找並修復一致性問題...", + "issues_fixed_message": "一致性問題應該已被修復。" + }, + "database_anonymization": { + "title": "資料庫匿名化", + "full_anonymization": "完全匿名化", + "full_anonymization_description": "此操作將新增一個新的資料庫副本並進行匿名化處理(刪除所有筆記內容,僅保留結構和一些非敏感元數據),用來分享到網上做除錯而不用擔心洩漏你的個人資料。", + "save_fully_anonymized_database": "保存完全匿名化的資料庫", + "light_anonymization": "輕度匿名化", + "light_anonymization_description": "此操作將新增一個新的資料庫副本,並對其進行輕度匿名化處理——僅刪除所有筆記的內容,但保留標題和屬性。此外,自定義JS前端/後端腳本筆記和自定義小部件將保留。這提供了更多上下文以除錯問題。", + "choose_anonymization": "您可以自行決定是提供完全匿名化還是輕度匿名化的資料庫。即使是完全匿名化的資料庫也非常有用,但在某些情況下,輕度匿名化的資料庫可以加快錯誤識別和修復的過程。", + "save_lightly_anonymized_database": "保存輕度匿名化的資料庫", + "existing_anonymized_databases": "現有的匿名化資料庫", + "creating_fully_anonymized_database": "正在新增完全匿名化的資料庫...", + "creating_lightly_anonymized_database": "正在新增輕度匿名化的資料庫...", + "error_creating_anonymized_database": "無法新增匿名化資料庫,請檢查後端日誌以獲取詳細資訊", + "successfully_created_fully_anonymized_database": "成功新增完全匿名化的資料庫,路徑為{{anonymizedFilePath}}", + "successfully_created_lightly_anonymized_database": "成功新增輕度匿名化的資料庫,路徑為{{anonymizedFilePath}}", + "no_anonymized_database_yet": "尚無匿名化資料庫" + }, + "database_integrity_check": { + "title": "資料庫完整性檢查", + "description": "檢查SQLite資料庫是否損壞。根據資料庫的大小,可能會需要一些時間。", + "check_button": "檢查資料庫完整性", + "checking_integrity": "正在檢查資料庫完整性...", + "integrity_check_succeeded": "完整性檢查成功 - 未發現問題。", + "integrity_check_failed": "完整性檢查失敗: {{results}}" + }, + "sync": { + "title": "同步", + "force_full_sync_button": "強制全量同步", + "fill_entity_changes_button": "填充實體變更記錄", + "full_sync_triggered": "已觸發全量同步", + "filling_entity_changes": "正在填充實體變更行...", + "sync_rows_filled_successfully": "同步行填充成功", + "finished-successfully": "已完成同步。", + "failed": "同步失敗:{{message}}" + }, + "vacuum_database": { + "title": "資料庫清理", + "description": "這會重建資料庫,通常會減少佔用空間,不會刪除數據。", + "button_text": "清理資料庫", + "vacuuming_database": "正在清理資料庫...", + "database_vacuumed": "已清理資料庫" + }, + "fonts": { + "theme_defined": "跟隨主題", + "fonts": "字體", + "main_font": "主字體", + "font_family": "字體系列", + "size": "大小", + "note_tree_font": "筆記樹字體", + "note_detail_font": "筆記詳情字體", + "monospace_font": "等寬(程式碼)字體", + "note_tree_and_detail_font_sizing": "請注意,筆記樹字體和詳細字體的大小相對於主字體大小設定。", + "not_all_fonts_available": "並非所有列出的字體都可能在您的系統上可用。", + "apply_font_changes": "要應用字體更改,請點擊", + "reload_frontend": "重新加載前端" + }, + "max_content_width": { + "title": "內容寬度", + "default_description": "Trilium默認會限制內容的最大寬度以提高在寬屏中全熒幕時的可讀性。", + "max_width_label": "內容最大寬度(像素)", + "apply_changes_description": "要應用內容寬度更改,請點擊", + "reload_button": "重新加載前端", + "reload_description": "來自外觀選項的更改" + }, + "native_title_bar": { + "title": "原生標題欄(需要重新啓動應用)", + "enabled": "啓用", + "disabled": "禁用" + }, + "ribbon": { + "widgets": "功能選項組件", + "promoted_attributes_message": "如果筆記中存在升級屬性,則自動打開升級屬性選項卡", + "edited_notes_message": "日記筆記自動打開編輯過的筆記選項" + }, + "theme": { + "title": "主題", + "theme_label": "主題", + "override_theme_fonts_label": "覆蓋主題字體", + "light_theme": "淺色", + "dark_theme": "深色", + "layout": "佈局", + "layout-vertical-title": "垂直", + "layout-horizontal-title": "水平", + "layout-vertical-description": "啓動欄位於左側(默認)", + "layout-horizontal-description": "啓動欄位於標籤欄下方,標籤欄現在是全寬的。" + }, + "zoom_factor": { + "title": "縮放系數(僅桌面客戶端有效)", + "description": "縮放也可以通過 CTRL+- 和 CTRL+= 快捷鍵進行控制。" + }, + "code_auto_read_only_size": { + "title": "自動唯讀大小", + "description": "自動唯讀大小是指筆記超過設定的大小後自動設定為唯讀模式(為性能考慮)。", + "label": "自動唯讀大小(程式碼筆記)" + }, + "code_mime_types": { + "title": "下拉菜單可用的MIME文件類型" + }, + "vim_key_bindings": { + "use_vim_keybindings_in_code_notes": "Vim 快捷鍵", + "enable_vim_keybindings": "在程式碼筆記中啓用 Vim 快捷鍵(不包含 ex 模式)" + }, + "wrap_lines": { + "wrap_lines_in_code_notes": "程式碼筆記自動換行", + "enable_line_wrap": "啓用自動換行(需要重新加載前端才會生效)" + }, + "images": { + "images_section_title": "圖片", + "download_images_automatically": "自動下載圖片以供離線使用。", + "download_images_description": "貼上的 HTML 可能包含在線圖片的引用,Trilium 會找到這些引用並下載圖片,以便它們可以離線使用。", + "enable_image_compression": "啓用圖片壓縮", + "max_image_dimensions": "圖片的最大寬度/高度(超過此限制的圖片將會被縮放)。", + "jpeg_quality_description": "JPEG 質量(10 - 最差質量,100 最佳質量,建議為 50 - 85)" + }, + "attachment_erasure_timeout": { + "attachment_erasure_timeout": "附件清理超時", + "attachment_auto_deletion_description": "如果附件在一段時間後不再被筆記引用,它們將自動被刪除(並被清理)。", + "manual_erasing_description": "您還可以手動觸發清理(而不考慮上述定義的超時時間):", + "erase_unused_attachments_now": "立即清理未使用的附件筆記", + "unused_attachments_erased": "未使用的附件已被刪除。" + }, + "network_connections": { + "network_connections_title": "網絡連接", + "check_for_updates": "自動檢查更新" + }, + "note_erasure_timeout": { + "note_erasure_timeout_title": "筆記清理超時", + "note_erasure_description": "被刪除的筆記(以及屬性、歷史版本等)最初僅被標記為「刪除」,可以從「最近修改」對話框中恢復它們。經過一段時間後,已刪除的筆記會被「清理」,這意味著它們的內容將無法恢復。此設定允許您設定從刪除到清除筆記之間的時間長度。", + "manual_erasing_description": "您還可以手動觸發清理(不考慮上述定義的超時):", + "erase_deleted_notes_now": "立即清理已刪除的筆記", + "deleted_notes_erased": "已刪除的筆記已被清理。" + }, + "revisions_snapshot_limit": { + "note_revisions_snapshot_limit_title": "筆記歷史快照限制", + "note_revisions_snapshot_limit_description": "筆記歷史快照數限制指的是每個筆記可以保存的最大歷史記錄數量。其中 -1 表示沒有限制,0 表示刪除所有歷史記錄。你可以通過 #versioningLimit 標籤設定單個筆記的最大歷史記錄數量。", + "snapshot_number_limit_label": "筆記歷史快照數量限制:", + "erase_excess_revision_snapshots": "立即刪除多餘的歷史快照", + "erase_excess_revision_snapshots_prompt": "多餘的歷史快照已被刪除。" + }, + "search_engine": { + "title": "搜尋引擎", + "custom_search_engine_info": "自定義搜尋引擎需要設定名稱和URL。如果這兩者之一未設定,將默認使用DuckDuckGo作為搜尋引擎。", + "predefined_templates_label": "預定義搜尋引擎模板", + "bing": "Bing", + "baidu": "百度", + "duckduckgo": "DuckDuckGo", + "google": "Google", + "custom_name_label": "自定義搜尋引擎名稱", + "custom_name_placeholder": "自定義搜尋引擎名稱", + "custom_url_label": "自定義搜尋引擎URL應包含 {keyword} 作為搜尋詞的佔位符。", + "custom_url_placeholder": "自定義搜尋引擎URL", + "save_button": "保存" + }, + "tray": { + "title": "系統匣", + "enable_tray": "啓用系統匣圖標(需要重啓生效)" + }, + "heading_style": { + "title": "標題風格", + "plain": "純文字", + "underline": "下劃線", + "markdown": "Markdown風格" + }, + "highlights_list": { + "title": "高亮列表", + "description": "您可以自定義右側面板中顯示的高亮列表:", + "bold": "粗體", + "italic": "斜體", + "underline": "下劃線", + "color": "字體顏色", + "bg_color": "背景顏色", + "visibility_title": "高亮列表可見性", + "visibility_description": "您可以通過添加 #hideHighlightWidget 標籤來隱藏每個筆記的高亮小部件。", + "shortcut_info": "您可以在選項 -> 快捷鍵中為快速切換右側面板(包括高亮列表)設定鍵盤快捷鍵(名稱為 'toggleRightPane')。" + }, + "table_of_contents": { + "title": "目錄", + "description": "當筆記中有超過一定數量的標題時,顯示目錄。您可以自定義此數量:", + "disable_info": "您可以設定一個非常大的數來禁用目錄。", + "shortcut_info": "您可以在 「選項」 -> 「快捷鍵」 中設定一個鍵盤快捷鍵,以便快速切換右側面板(包括目錄)(名稱為 'toggleRightPane')。" + }, + "text_auto_read_only_size": { + "title": "自動唯讀大小", + "description": "自動唯讀筆記大小是超過該大小後,筆記將以唯讀模式顯示(出於性能考慮)。", + "label": "自動唯讀大小(文字筆記)" + }, + "i18n": { + "title": "本地化", + "language": "語言", + "first-day-of-the-week": "一周的第一天", + "sunday": "星期日", + "monday": "星期一" + }, + "backup": { + "automatic_backup": "自動備份", + "automatic_backup_description": "Trilium 可以自動備份資料庫:", + "enable_daily_backup": "啓用每日備份", + "enable_weekly_backup": "啓用每周備份", + "enable_monthly_backup": "啓用每月備份", + "backup_recommendation": "建議打開備份功能,但這可能會使大型資料庫和/或慢速存儲設備的應用程式啓動變慢。", + "backup_now": "立即備份", + "backup_database_now": "立即備份資料庫", + "existing_backups": "現有備份", + "date-and-time": "日期和時間", + "path": "路徑", + "database_backed_up_to": "資料庫已備份到 {{backupFilePath}}", + "no_backup_yet": "尚無備份" + }, + "etapi": { + "title": "ETAPI", + "description": "ETAPI 是一個 REST API,用於以編程方式訪問 Trilium 實例,而無需 UI。", + "wiki": "維基", + "openapi_spec": "ETAPI OpenAPI 規範", + "create_token": "新增新的 ETAPI 令牌", + "existing_tokens": "現有令牌", + "no_tokens_yet": "目前還沒有令牌。點擊上面的按鈕新增一個。", + "token_name": "令牌名稱", + "created": "新增時間", + "actions": "操作", + "new_token_title": "新 ETAPI 令牌", + "new_token_message": "請輸入新的令牌名稱", + "default_token_name": "新令牌", + "error_empty_name": "令牌名稱不能為空", + "token_created_title": "ETAPI 令牌已新增", + "token_created_message": "將新增的令牌複製到剪貼簿。Trilium 存儲了令牌的哈希值,這是你最後一次看到它。", + "rename_token": "重新命名此令牌", + "delete_token": "刪除/停用此令牌", + "rename_token_title": "重新命名令牌", + "rename_token_message": "請輸入新的令牌名稱", + "delete_token_confirmation": "你確定要刪除 ETAPI 令牌 \"{{name}}\" 嗎?" + }, + "options_widget": { + "options_status": "選項狀態", + "options_change_saved": "選項更改已保存。" + }, + "password": { + "heading": "密碼", + "alert_message": "請務必記住您的新密碼。密碼用於登錄 Web 界面和加密保護的筆記。如果您忘記了密碼,所有保護的筆記將永久丟失。", + "reset_link": "點擊這裡重置。", + "old_password": "舊密碼", + "new_password": "新密碼", + "new_password_confirmation": "新密碼確認", + "change_password": "更改密碼", + "protected_session_timeout": "保護會話超時", + "protected_session_timeout_description": "保護會話超時是一個時間段,超時後保護會話會從瀏覽器內存中清除。這是從最後一次與保護筆記的交互開始計時的。更多資訊請見", + "wiki": "維基", + "for_more_info": "更多資訊。", + "reset_confirmation": "重置密碼將永久喪失對所有現受保護筆記的訪問。您真的要重置密碼嗎?", + "reset_success_message": "密碼已重置。請設定新密碼", + "change_password_heading": "更改密碼", + "set_password_heading": "設定密碼", + "set_password": "設定密碼", + "password_mismatch": "新密碼不一致。", + "password_changed_success": "密碼已更改。按 OK 後 Trilium 將重新加載。" + }, + "shortcuts": { + "keyboard_shortcuts": "快捷鍵", + "multiple_shortcuts": "同一操作的多個快捷鍵可以用逗號分隔。", + "electron_documentation": "請參閱 Electron文檔,瞭解可用的修飾符和鍵碼。", + "type_text_to_filter": "輸入文字以過濾快捷鍵...", + "action_name": "操作名稱", + "shortcuts": "快捷鍵", + "default_shortcuts": "默認快捷鍵", + "description": "描述", + "reload_app": "重新加載應用以應用更改", + "set_all_to_default": "將所有快捷鍵重置為默認值", + "confirm_reset": "您確定要將所有鍵盤快捷鍵重置為默認值嗎?" + }, + "spellcheck": { + "title": "拼寫檢查", + "description": "這些選項僅適用於桌面版本,瀏覽器將使用其原生的拼寫檢查功能。", + "enable": "啓用拼寫檢查", + "language_code_label": "語言程式碼", + "language_code_placeholder": "例如 \"en-US\", \"de-AT\"", + "multiple_languages_info": "多種語言可以用逗號分隔,例如 \"en-US, de-DE, cs\"。", + "available_language_codes_label": "可用的語言程式碼:", + "restart-required": "拼寫檢查選項的更改將在應用重啓後生效。" + }, + "sync_2": { + "config_title": "同步設定", + "server_address": "伺服器地址", + "timeout": "同步超時(單位:毫秒)", + "proxy_label": "同步代理伺服器(可選)", + "note": "注意", + "note_description": "代理設定留空則使用系統代理(僅桌面客戶端有效)。", + "special_value_description": "另一個特殊值是 noproxy,它強制忽略系統代理並遵守 NODE_TLS_REJECT_UNAUTHORIZED。", + "save": "保存", + "help": "幫助", + "test_title": "同步測試", + "test_description": "測試和同步伺服器之間的連接。如果同步伺服器沒有初始化,會將本地文檔同步到同步伺服器上。", + "test_button": "測試同步", + "handshake_failed": "同步伺服器握手失敗,錯誤:{{message}}" + }, + "api_log": { + "close": "關閉" + }, + "attachment_detail_2": { + "will_be_deleted_in": "此附件將在 {{time}} 後自動刪除", + "will_be_deleted_soon": "該附件將很快被自動刪除", + "deletion_reason": ",因為該附件未鏈接在筆記的內容中。為防止被刪除,請將附件鏈接重新添加到內容中或將附件轉換為筆記。", + "role_and_size": "角色: {{role}}, 大小: {{size}}", + "link_copied": "附件鏈接已複製到剪貼簿。", + "unrecognized_role": "無法識別的附件角色 '{{role}}'。" + }, + "bookmark_switch": { + "bookmark": "書籤", + "bookmark_this_note": "將此筆記添加到左側面板的書籤", + "remove_bookmark": "移除書籤" + }, + "editability_select": { + "auto": "自動", + "read_only": "唯讀", + "always_editable": "始終可編輯", + "note_is_editable": "筆記如果不太長則可編輯。", + "note_is_read_only": "筆記為唯讀,但可以通過點擊按鈕進行編輯。", + "note_is_always_editable": "無論筆記長度如何,始終可編輯。" + }, + "note-map": { + "button-link-map": "鏈接地圖", + "button-tree-map": "樹形地圖" + }, + "tree-context-menu": { + "open-in-a-new-tab": "在新標籤頁中打開 Ctrl+Click", + "open-in-a-new-split": "在新分欄中打開", + "insert-note-after": "在後面插入筆記", + "insert-child-note": "插入子筆記", + "delete": "刪除", + "search-in-subtree": "在子樹中搜尋", + "hoist-note": "提升筆記", + "unhoist-note": "取消提升筆記", + "edit-branch-prefix": "編輯分支前綴", + "advanced": "高級", + "expand-subtree": "展開子樹", + "collapse-subtree": "折疊子樹", + "sort-by": "排序方式...", + "recent-changes-in-subtree": "子樹中的最近更改", + "convert-to-attachment": "轉換為附件", + "copy-note-path-to-clipboard": "複製筆記路徑到剪貼簿", + "protect-subtree": "保護子樹", + "unprotect-subtree": "取消保護子樹", + "copy-clone": "複製 / 複製", + "clone-to": "複製到...", + "cut": "剪下", + "move-to": "移動到...", + "paste-into": "貼上到裡面", + "paste-after": "貼上到後面", + "export": "匯出", + "import-into-note": "匯入到筆記", + "apply-bulk-actions": "應用批量操作", + "converted-to-attachments": "{{count}} 個筆記已被轉換為附件。", + "convert-to-attachment-confirm": "確定要將選中的筆記轉換為其上級筆記的附件嗎?" + }, + "shared_info": { + "shared_publicly": "此筆記已公開分享在", + "shared_locally": "此筆記已在本地分享在", + "help_link": "如需幫助,請訪問 wiki。" + }, + "note_types": { + "text": "文字", + "code": "程式碼", + "saved-search": "保存的搜尋", + "relation-map": "關係圖", + "note-map": "筆記地圖", + "render-note": "渲染筆記", + "mermaid-diagram": "美人魚圖(Mermaid)", + "canvas": "畫布", + "web-view": "網頁視圖", + "mind-map": "心智圖", + "file": "文件", + "image": "圖片", + "launcher": "啓動器", + "doc": "文檔", + "widget": "小部件", + "confirm-change": "當筆記內容不為空時,不建議更改筆記類型。您仍然要繼續嗎?" + }, + "protect_note": { + "toggle-on": "保護筆記", + "toggle-off": "取消保護筆記", + "toggle-on-hint": "筆記未受保護,點擊以保護", + "toggle-off-hint": "筆記已受保護,點擊以取消保護" + }, + "shared_switch": { + "shared": "已分享", + "toggle-on-title": "分享筆記", + "toggle-off-title": "取消分享筆記", + "shared-branch": "此筆記僅作為共享筆記存在,取消共享將刪除它。你確定要繼續並刪除此筆記嗎?", + "inherited": "此筆記無法在此處取消共享,因為它通過繼承自上級筆記共享。" + }, + "template_switch": { + "template": "模板", + "toggle-on-hint": "將此筆記設為模板", + "toggle-off-hint": "取消筆記模板設定" + }, + "open-help-page": "打開幫助頁面", + "find": { + "case_sensitive": "區分大小寫", + "match_words": "匹配單詞", + "find_placeholder": "在文字中查找...", + "replace_placeholder": "替換為...", + "replace": "替換", + "replace_all": "全部替換" + }, + "highlights_list_2": { + "title": "高亮列表", + "options": "選項" + }, + "quick-search": { + "placeholder": "快速搜尋", + "searching": "正在搜尋...", + "no-results": "未找到結果", + "more-results": "... 以及另外 {{number}} 個結果。", + "show-in-full-search": "在完整的搜尋界面中顯示" + }, + "note_tree": { + "collapse-title": "折疊筆記樹", + "scroll-active-title": "滾動到活動筆記", + "tree-settings-title": "樹設定", + "hide-archived-notes": "隱藏已歸檔筆記", + "automatically-collapse-notes": "自動折疊筆記", + "automatically-collapse-notes-title": "筆記在一段時間內未使用將被折疊,以減少樹形結構的雜亂。", + "save-changes": "保存並應用更改", + "auto-collapsing-notes-after-inactivity": "在不活動後自動折疊筆記...", + "saved-search-note-refreshed": "已保存的搜尋筆記已刷新。" + }, + "title_bar_buttons": { + "window-on-top": "保持此窗口置頂" + }, + "note_detail": { + "could_not_find_typewidget": "找不到類型為 '{{type}}' 的 typeWidget" + }, + "note_title": { + "placeholder": "請輸入筆記標題..." + }, + "search_result": { + "no_notes_found": "沒有找到符合搜尋條件的筆記。", + "search_not_executed": "尚未執行搜尋。請點擊上方的\"搜尋\"按鈕查看結果。" + }, + "spacer": { + "configure_launchbar": "設定啓動欄" + }, + "sql_result": { + "no_rows": "此查詢沒有返回任何數據" + }, + "sql_table_schemas": { + "tables": "表" + }, + "tab_row": { + "close_tab": "關閉標籤頁", + "add_new_tab": "添加新標籤頁", + "close": "關閉", + "close_other_tabs": "關閉其他標籤頁", + "close_right_tabs": "關閉右側標籤頁", + "close_all_tabs": "關閉所有標籤頁", + "reopen_last_tab": "重新打開最後一個關閉的標籤頁", + "move_tab_to_new_window": "將此標籤頁移動到新窗口", + "copy_tab_to_new_window": "將此標籤頁複製到新窗口", + "new_tab": "新標籤頁" + }, + "toc": { + "table_of_contents": "目錄", + "options": "選項" + }, + "watched_file_update_status": { + "file_last_modified": "文件 最後修改時間為 。", + "upload_modified_file": "上傳修改的文件", + "ignore_this_change": "忽略此更改" + }, + "app_context": { + "please_wait_for_save": "請等待幾秒鐘以完成保存,然後您可以嘗試再操作一次。" + }, + "note_create": { + "duplicated": "筆記 \"{{title}}\" 已被複製。" + }, + "image": { + "copied-to-clipboard": "圖片的引用已複製到剪貼簿,可以貼上到任何文字筆記中。", + "cannot-copy": "無法將圖片引用複製到剪貼簿。" + }, + "clipboard": { + "cut": "已剪下筆記到剪貼簿。", + "copied": "已複製筆記到剪貼簿。" + }, + "entrypoints": { + "note-revision-created": "已新增筆記修訂。", + "note-executed": "已執行筆記。", + "sql-error": "執行 SQL 查詢時發生錯誤:{{message}}" + }, + "branches": { + "cannot-move-notes-here": "無法將筆記移動到這裡。", + "delete-status": "刪除狀態", + "delete-notes-in-progress": "正在刪除筆記:{{count}}", + "delete-finished-successfully": "刪除成功完成。", + "undeleting-notes-in-progress": "正在恢復刪除的筆記:{{count}}", + "undeleting-notes-finished-successfully": "恢復刪除的筆記已成功完成。" + }, + "frontend_script_api": { + "async_warning": "您正在將一個異步函數傳遞給 `api.runOnBackend()`,這可能無法按預期工作。\\n要麼使該函數同步(通過移除 `async` 關鍵字),要麼使用 `api.runAsyncOnBackendWithManualTransactionHandling()`。", + "sync_warning": "您正在將一個同步函數傳遞給 `api.runAsyncOnBackendWithManualTransactionHandling()`,\\n而您可能應該使用 `api.runOnBackend()`。" + }, + "ws": { + "sync-check-failed": "同步檢查失敗!", + "consistency-checks-failed": "一致性檢查失敗!請查看日誌瞭解詳細資訊。", + "encountered-error": "遇到錯誤 \"{{message}}\",請查看控制台。" + }, + "hoisted_note": { + "confirm_unhoisting": "請求的筆記 '{{requestedNote}}' 位於提升的筆記 '{{hoistedNote}}' 的子樹之外,您必須取消提升才能訪問該筆記。是否繼續取消提升?" + }, + "launcher_context_menu": { + "reset_launcher_confirm": "您確定要重置 \"{{title}}\" 嗎?此筆記(及其子項)中的所有數據/設定將丟失,且啓動器將恢復到其原始位置。", + "add-note-launcher": "添加筆記啓動器", + "add-script-launcher": "添加腳本啓動器", + "add-custom-widget": "添加自定義小部件", + "add-spacer": "添加間隔", + "delete": "刪除 ", + "reset": "重置", + "move-to-visible-launchers": "移動到可見啓動器", + "move-to-available-launchers": "移動到可用啓動器", + "duplicate-launcher": "複製啓動器 " + }, + "editable-text": { + "auto-detect-language": "自動檢測" + }, + "highlighting": { + "description": "控制文字筆記中程式碼塊的語法高亮,程式碼筆記不會受到影響。", + "color-scheme": "顏色方案" + }, + "code_block": { + "word_wrapping": "自動換行", + "theme_none": "無格式高亮", + "theme_group_light": "淺色主題", + "theme_group_dark": "深色主題" + }, + "classic_editor_toolbar": { + "title": "格式化" + }, + "editor": { + "title": "編輯器" + }, + "editing": { + "editor_type": { + "label": "格式化工具欄", + "floating": { + "title": "浮動", + "description": "編輯工具出現在遊標附近;" + }, + "fixed": { + "title": "固定", + "description": "編輯工具出現在 \"格式化\" 功能區標籤中。" + } + } + }, + "electron_context_menu": { + "add-term-to-dictionary": "將 \"{{term}}\" 添加到字典", + "cut": "剪下", + "copy": "複製", + "copy-link": "複製鏈接", + "paste": "貼上", + "paste-as-plain-text": "以純文字貼上", + "search_online": "用 {{searchEngine}} 搜尋 \"{{term}}\"" + }, + "image_context_menu": { + "copy_reference_to_clipboard": "複製引用到剪貼簿", + "copy_image_to_clipboard": "複製圖片到剪貼簿" + }, + "link_context_menu": { + "open_note_in_new_tab": "在新標籤頁中打開筆記", + "open_note_in_new_split": "在新分屏中打開筆記", + "open_note_in_new_window": "在新窗口中打開筆記" + } } diff --git a/apps/client/src/widgets/dialogs/markdown_import.tsx b/apps/client/src/widgets/dialogs/markdown_import.tsx index 08054861c..60c6fa9d9 100644 --- a/apps/client/src/widgets/dialogs/markdown_import.tsx +++ b/apps/client/src/widgets/dialogs/markdown_import.tsx @@ -7,6 +7,7 @@ import toast from "../../services/toast"; import utils from "../../services/utils"; import Modal from "../react/Modal"; import ReactBasicWidget from "../react/ReactBasicWidget"; +import Button from "../react/Button"; interface RenderMarkdownResponse { htmlContent: string; @@ -25,13 +26,19 @@ function MarkdownImportDialogComponent() { return ( {t("markdown_import.import_button")}} + footer={ + ); +} \ No newline at end of file From 5d9bd0f6d355e0c8ec617eacf3713e6b8cfa9ca5 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 3 Aug 2025 19:44:15 +0300 Subject: [PATCH 296/505] feat(react): port branch prefix --- .../src/widgets/dialogs/branch_prefix.ts | 108 ------------------ .../src/widgets/dialogs/branch_prefix.tsx | 92 +++++++++++++++ apps/client/src/widgets/react/Modal.tsx | 42 +++++-- 3 files changed, 125 insertions(+), 117 deletions(-) delete mode 100644 apps/client/src/widgets/dialogs/branch_prefix.ts create mode 100644 apps/client/src/widgets/dialogs/branch_prefix.tsx diff --git a/apps/client/src/widgets/dialogs/branch_prefix.ts b/apps/client/src/widgets/dialogs/branch_prefix.ts deleted file mode 100644 index 496700a0c..000000000 --- a/apps/client/src/widgets/dialogs/branch_prefix.ts +++ /dev/null @@ -1,108 +0,0 @@ -import treeService from "../../services/tree.js"; -import server from "../../services/server.js"; -import froca from "../../services/froca.js"; -import toastService from "../../services/toast.js"; -import BasicWidget from "../basic_widget.js"; -import appContext from "../../components/app_context.js"; -import { t } from "../../services/i18n.js"; -import { Modal } from "bootstrap"; -import { openDialog } from "../../services/dialog.js"; - -const TPL = /*html*/``; - -export default class BranchPrefixDialog extends BasicWidget { - private modal!: Modal; - private $form!: JQuery; - private $treePrefixInput!: JQuery; - private $noteTitle!: JQuery; - private branchId: string | null = null; - - doRender() { - this.$widget = $(TPL); - this.modal = Modal.getOrCreateInstance(this.$widget[0]); - this.$form = this.$widget.find(".branch-prefix-form"); - this.$treePrefixInput = this.$widget.find(".branch-prefix-input"); - this.$noteTitle = this.$widget.find(".branch-prefix-note-title"); - - this.$form.on("submit", () => { - this.savePrefix(); - return false; - }); - - this.$widget.on("shown.bs.modal", () => this.$treePrefixInput.trigger("focus")); - } - - async refresh(notePath: string) { - const { noteId, parentNoteId } = treeService.getNoteIdAndParentIdFromUrl(notePath); - - if (!noteId || !parentNoteId) { - return; - } - - const newBranchId = await froca.getBranchId(parentNoteId, noteId); - if (!newBranchId) { - return; - } - this.branchId = newBranchId; - - const branch = froca.getBranch(this.branchId); - if (!branch || branch.noteId === "root") { - return; - } - - const parentNote = await froca.getNote(branch.parentNoteId); - if (!parentNote || parentNote.type === "search") { - return; - } - - this.$treePrefixInput.val(branch.prefix || ""); - - const noteTitle = await treeService.getNoteTitle(noteId); - this.$noteTitle.text(` - ${noteTitle}`); - } - - async editBranchPrefixEvent() { - const notePath = appContext.tabManager.getActiveContextNotePath(); - if (!notePath) { - return; - } - - await this.refresh(notePath); - openDialog(this.$widget); - } - - async savePrefix() { - const prefix = this.$treePrefixInput.val(); - - await server.put(`branches/${this.branchId}/set-prefix`, { prefix: prefix }); - - this.modal.hide(); - - toastService.showMessage(t("branch_prefix.branch_prefix_saved")); - } -} diff --git a/apps/client/src/widgets/dialogs/branch_prefix.tsx b/apps/client/src/widgets/dialogs/branch_prefix.tsx new file mode 100644 index 000000000..5aba41c49 --- /dev/null +++ b/apps/client/src/widgets/dialogs/branch_prefix.tsx @@ -0,0 +1,92 @@ +import { useRef, useState } from "preact/hooks"; +import appContext from "../../components/app_context.js"; +import { closeActiveDialog, openDialog } from "../../services/dialog.js"; +import { t } from "../../services/i18n.js"; +import server from "../../services/server.js"; +import toast from "../../services/toast.js"; +import Modal from "../react/Modal.jsx"; +import ReactBasicWidget from "../react/ReactBasicWidget.js"; +import froca from "../../services/froca.js"; +import tree from "../../services/tree.js"; +import FBranch from "../../entities/fbranch.js"; + +interface BranchPrefixDialogProps { + branch?: FBranch; +} + +function BranchPrefixDialogComponent({ branch }: BranchPrefixDialogProps) { + const [ prefix, setPrefix ] = useState(branch?.prefix ?? ""); + const branchInput = useRef(null); + + async function onSubmit() { + if (!branch) { + return; + } + + savePrefix(branch.branchId, prefix); + closeActiveDialog(); + } + + return ( + branchInput.current?.focus()} + onSubmit={onSubmit} + footer={} + > +
+   + +
+ setPrefix((e.target as HTMLInputElement).value)} /> +
- {branch && branch.getNoteFromCache().title}
+
+
+
+ ); +} + +export default class BranchPrefixDialog extends ReactBasicWidget { + private branch?: FBranch; + + get component() { + return ; + } + + async editBranchPrefixEvent() { + const notePath = appContext.tabManager.getActiveContextNotePath(); + if (!notePath) { + return; + } + + const { noteId, parentNoteId } = tree.getNoteIdAndParentIdFromUrl(notePath); + + if (!noteId || !parentNoteId) { + return; + } + + const newBranchId = await froca.getBranchId(parentNoteId, noteId); + if (!newBranchId) { + return; + } + const parentNote = await froca.getNote(parentNoteId); + if (!parentNote || parentNote.type === "search") { + return; + } + + this.branch = froca.getBranch(newBranchId); + + // Re-render the component with the new notePath + this.doRender(); + openDialog(this.$widget); + } + +} + +async function savePrefix(branchId: string, prefix: string) { + await server.put(`branches/${branchId}/set-prefix`, { prefix: prefix }); + toast.showMessage(t("branch_prefix.branch_prefix_saved")); +} \ No newline at end of file diff --git a/apps/client/src/widgets/react/Modal.tsx b/apps/client/src/widgets/react/Modal.tsx index 0ffceb112..072b8b688 100644 --- a/apps/client/src/widgets/react/Modal.tsx +++ b/apps/client/src/widgets/react/Modal.tsx @@ -8,10 +8,15 @@ interface ModalProps { size: "lg" | "sm"; children: ComponentChildren; footer?: ComponentChildren; + /** + * If set, the modal body and footer will be wrapped in a form and the submit event will call this function. + * Especially useful for user input that can be submitted with Enter key. + */ + onSubmit?: () => void; onShown?: () => void; } -export default function Modal({ children, className, size, title, footer, onShown }: ModalProps) { +export default function Modal({ children, className, size, title, footer, onShown, onSubmit }: ModalProps) { const modalRef = useRef(null); if (onShown) { @@ -32,17 +37,36 @@ export default function Modal({ children, className, size, title, footer, onShow
-
- {children} -
- - {footer && ( -
- {footer} -
+ {onSubmit ? ( +
{ + e.preventDefault(); + onSubmit(); + }}> + {children} +
+ ) : ( + + {children} + )}

); +} + +function ModalInner({ children, footer }: Pick) { + return ( + <> +
+ {children} +
+ + {footer && ( +
+ {footer} +
+ )} + + ); } \ No newline at end of file From f8b563704f13cac782148103fac8b8a68893c0d9 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 3 Aug 2025 19:48:44 +0300 Subject: [PATCH 297/505] feat(react): add hlep page to branch prefix --- apps/client/src/widgets/dialogs/branch_prefix.tsx | 1 + apps/client/src/widgets/react/Modal.tsx | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/dialogs/branch_prefix.tsx b/apps/client/src/widgets/dialogs/branch_prefix.tsx index 5aba41c49..4fed71b18 100644 --- a/apps/client/src/widgets/dialogs/branch_prefix.tsx +++ b/apps/client/src/widgets/dialogs/branch_prefix.tsx @@ -34,6 +34,7 @@ function BranchPrefixDialogComponent({ branch }: BranchPrefixDialogProps) { size="lg" onShown={() => branchInput.current?.focus()} onSubmit={onSubmit} + helpPageId="TBwsyfadTA18" footer={} >
diff --git a/apps/client/src/widgets/react/Modal.tsx b/apps/client/src/widgets/react/Modal.tsx index 072b8b688..f3f71b223 100644 --- a/apps/client/src/widgets/react/Modal.tsx +++ b/apps/client/src/widgets/react/Modal.tsx @@ -14,9 +14,10 @@ interface ModalProps { */ onSubmit?: () => void; onShown?: () => void; + helpPageId?: string; } -export default function Modal({ children, className, size, title, footer, onShown, onSubmit }: ModalProps) { +export default function Modal({ children, className, size, title, footer, onShown, onSubmit, helpPageId }: ModalProps) { const modalRef = useRef(null); if (onShown) { @@ -34,6 +35,9 @@ export default function Modal({ children, className, size, title, footer, onShow
{title}
+ {helpPageId && ( + + )}
From 04913394c64f9fc3daf07bef49653deea5d325f0 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 3 Aug 2025 19:50:39 +0300 Subject: [PATCH 298/505] chore(react): clean up --- apps/client/src/widgets/dialogs/branch_prefix.tsx | 3 ++- apps/client/src/widgets/react/Button.tsx | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/client/src/widgets/dialogs/branch_prefix.tsx b/apps/client/src/widgets/dialogs/branch_prefix.tsx index 4fed71b18..d16ae339b 100644 --- a/apps/client/src/widgets/dialogs/branch_prefix.tsx +++ b/apps/client/src/widgets/dialogs/branch_prefix.tsx @@ -9,6 +9,7 @@ import ReactBasicWidget from "../react/ReactBasicWidget.js"; import froca from "../../services/froca.js"; import tree from "../../services/tree.js"; import FBranch from "../../entities/fbranch.js"; +import Button from "../react/Button.jsx"; interface BranchPrefixDialogProps { branch?: FBranch; @@ -35,7 +36,7 @@ function BranchPrefixDialogComponent({ branch }: BranchPrefixDialogProps) { onShown={() => branchInput.current?.focus()} onSubmit={onSubmit} helpPageId="TBwsyfadTA18" - footer={} + footer={ -
-
- - -
-
-
-
`; - -export default class SortChildNotesDialog extends BasicWidget { - - private parentNoteId?: string; - private $form!: JQuery; - - doRender() { - this.$widget = $(TPL); - this.$form = this.$widget.find(".sort-child-notes-form"); - - this.$form.on("submit", async (e) => { - e.preventDefault(); - - const sortBy = this.$form.find("input[name='sort-by']:checked").val(); - const sortDirection = this.$form.find("input[name='sort-direction']:checked").val(); - const foldersFirst = this.$form.find("input[name='sort-folders-first']").is(":checked"); - const sortNatural = this.$form.find("input[name='sort-natural']").is(":checked"); - const sortLocale = this.$form.find("input[name='sort-locale']").val(); - - await server.put(`notes/${this.parentNoteId}/sort-children`, { sortBy, sortDirection, foldersFirst, sortNatural, sortLocale }); - - closeActiveDialog(); - }); - } - - async sortChildNotesEvent({ node }: EventData<"sortChildNotes">) { - this.parentNoteId = node.data.noteId; - - openDialog(this.$widget); - - this.$form.find("input:first").focus(); - } -} diff --git a/apps/client/src/widgets/dialogs/sort_child_notes.tsx b/apps/client/src/widgets/dialogs/sort_child_notes.tsx new file mode 100644 index 000000000..0e07808cf --- /dev/null +++ b/apps/client/src/widgets/dialogs/sort_child_notes.tsx @@ -0,0 +1,104 @@ +import { useState } from "preact/hooks"; +import { EventData } from "../../components/app_context"; +import { closeActiveDialog, openDialog } from "../../services/dialog"; +import { t } from "../../services/i18n"; +import Button from "../react/Button"; +import FormCheckbox from "../react/FormCheckbox"; +import FormRadioGroup from "../react/FormRadioGroup"; +import FormTextBox from "../react/FormTextBox"; +import Modal from "../react/Modal"; +import ReactBasicWidget from "../react/ReactBasicWidget"; +import server from "../../services/server"; + +function SortChildNotesDialogComponent({ parentNoteId }: { parentNoteId?: string }) { + const [ sortBy, setSortBy ] = useState("title"); + const [ sortDirection, setSortDirection ] = useState("asc"); + const [ foldersFirst, setFoldersFirst ] = useState(false); + const [ sortNatural, setSortNatural ] = useState(false); + const [ sortLocale, setSortLocale ] = useState(""); + + async function onSubmit() { + await server.put(`notes/${parentNoteId}/sort-children`, { + sortBy, + sortDirection, + foldersFirst, + sortNatural, + sortLocale + }); + + // Close the dialog after submission + closeActiveDialog(); + } + + return (parentNoteId && + } + > +
{t("sort_child_notes.sorting_criteria")}
+ +
+ +
{t("sort_child_notes.sorting_direction")}
+ +
+ +
{t("sort_child_notes.folders")}
+ +
+ +
{t("sort_child_notes.natural_sort")}
+ + +
+ ) +} + +export default class SortChildNotesDialog extends ReactBasicWidget { + + private parentNoteId?: string; + + get component() { + return ; + } + + async sortChildNotesEvent({ node }: EventData<"sortChildNotes">) { + this.parentNoteId = node.data.noteId; + this.doRender(); + openDialog(this.$widget); + } + + +} \ No newline at end of file diff --git a/apps/client/src/widgets/react/FormCheckbox.tsx b/apps/client/src/widgets/react/FormCheckbox.tsx new file mode 100644 index 000000000..2652ca70a --- /dev/null +++ b/apps/client/src/widgets/react/FormCheckbox.tsx @@ -0,0 +1,23 @@ +interface FormCheckboxProps { + name: string; + label: string; + currentValue?: boolean; + onChange(newValue: boolean): void; +} + +export default function FormCheckbox({ name, label, currentValue, onChange }: FormCheckboxProps) { + return ( +
+ +
+ ); +} \ No newline at end of file diff --git a/apps/client/src/widgets/react/FormRadioGroup.tsx b/apps/client/src/widgets/react/FormRadioGroup.tsx new file mode 100644 index 000000000..a6fd0ebbb --- /dev/null +++ b/apps/client/src/widgets/react/FormRadioGroup.tsx @@ -0,0 +1,30 @@ +interface FormRadioProps { + name: string; + currentValue?: string; + values: { + value: string; + label: string; + }[]; + onChange(newValue: string): void; +} + +export default function FormRadioGroup({ name, values, currentValue, onChange }: FormRadioProps) { + return ( + <> + {(values || []).map(({ value, label }) => ( +
+ +
+ ))} + + ); +} \ No newline at end of file diff --git a/apps/client/src/widgets/react/FormTextBox.tsx b/apps/client/src/widgets/react/FormTextBox.tsx new file mode 100644 index 000000000..0fe83f294 --- /dev/null +++ b/apps/client/src/widgets/react/FormTextBox.tsx @@ -0,0 +1,25 @@ +interface FormTextBoxProps { + name: string; + label: string; + currentValue?: string; + className?: string; + description?: string; + onChange?(newValue: string): void; +} + +export default function FormTextBox({ name, label, description, className, currentValue, onChange }: FormTextBoxProps) { + return ( +
+ +
+ ); +} \ No newline at end of file From e53ad2c62afb62deb8544320b40aa647c591182b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 3 Aug 2025 21:39:25 +0300 Subject: [PATCH 307/505] chore(react): reintroduce max width --- apps/client/src/widgets/dialogs/sort_child_notes.tsx | 2 +- apps/client/src/widgets/react/Modal.tsx | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/client/src/widgets/dialogs/sort_child_notes.tsx b/apps/client/src/widgets/dialogs/sort_child_notes.tsx index 0e07808cf..b96e54dcf 100644 --- a/apps/client/src/widgets/dialogs/sort_child_notes.tsx +++ b/apps/client/src/widgets/dialogs/sort_child_notes.tsx @@ -34,7 +34,7 @@ function SortChildNotesDialogComponent({ parentNoteId }: { parentNoteId?: string } > diff --git a/apps/client/src/widgets/react/Modal.tsx b/apps/client/src/widgets/react/Modal.tsx index f3f71b223..35af29325 100644 --- a/apps/client/src/widgets/react/Modal.tsx +++ b/apps/client/src/widgets/react/Modal.tsx @@ -1,6 +1,7 @@ import { useEffect, useRef } from "preact/hooks"; import { t } from "../../services/i18n"; import { ComponentChildren } from "preact"; +import type { CSSProperties } from "preact/compat"; interface ModalProps { className: string; @@ -8,6 +9,7 @@ interface ModalProps { size: "lg" | "sm"; children: ComponentChildren; footer?: ComponentChildren; + maxWidth?: number; /** * If set, the modal body and footer will be wrapped in a form and the submit event will call this function. * Especially useful for user input that can be submitted with Enter key. @@ -17,7 +19,7 @@ interface ModalProps { helpPageId?: string; } -export default function Modal({ children, className, size, title, footer, onShown, onSubmit, helpPageId }: ModalProps) { +export default function Modal({ children, className, size, title, footer, onShown, onSubmit, helpPageId, maxWidth }: ModalProps) { const modalRef = useRef(null); if (onShown) { @@ -29,9 +31,14 @@ export default function Modal({ children, className, size, title, footer, onShow }); } + const style: CSSProperties = {}; + if (maxWidth) { + style.maxWidth = `${maxWidth}px`; + } + return (
-
+
{title}
From a62f12b4270cdbb647a69f2a6b6c08e14b910e18 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 3 Aug 2025 23:20:32 +0300 Subject: [PATCH 308/505] feat(react): port info modal --- apps/client/src/widgets/dialogs/info.ts | 79 ------------------------ apps/client/src/widgets/dialogs/info.tsx | 56 +++++++++++++++++ apps/client/src/widgets/react/Button.tsx | 7 ++- apps/client/src/widgets/react/Modal.tsx | 14 ++++- 4 files changed, 72 insertions(+), 84 deletions(-) delete mode 100644 apps/client/src/widgets/dialogs/info.ts create mode 100644 apps/client/src/widgets/dialogs/info.tsx diff --git a/apps/client/src/widgets/dialogs/info.ts b/apps/client/src/widgets/dialogs/info.ts deleted file mode 100644 index 34015dc7d..000000000 --- a/apps/client/src/widgets/dialogs/info.ts +++ /dev/null @@ -1,79 +0,0 @@ -import type { EventData } from "../../components/app_context.js"; -import { t } from "../../services/i18n.js"; -import BasicWidget from "../basic_widget.js"; -import { Modal } from "bootstrap"; -import type { ConfirmDialogCallback } from "./confirm.js"; -import { openDialog } from "../../services/dialog.js"; - -const TPL = /*html*/` -`; - -export default class InfoDialog extends BasicWidget { - - private resolve: ConfirmDialogCallback | null; - private modal!: bootstrap.Modal; - private $originallyFocused!: JQuery | null; - private $infoContent!: JQuery; - private $okButton!: JQuery; - - constructor() { - super(); - - this.resolve = null; - this.$originallyFocused = null; // element focused before the dialog was opened, so we can return to it afterward - } - - doRender() { - this.$widget = $(TPL); - this.modal = Modal.getOrCreateInstance(this.$widget[0]); - this.$infoContent = this.$widget.find(".info-dialog-content"); - this.$okButton = this.$widget.find(".info-dialog-ok-button"); - - this.$widget.on("shown.bs.modal", () => this.$okButton.trigger("focus")); - - this.$widget.on("hidden.bs.modal", () => { - if (this.resolve) { - this.resolve(); - } - - if (this.$originallyFocused) { - this.$originallyFocused.trigger("focus"); - this.$originallyFocused = null; - } - }); - - this.$okButton.on("click", () => this.modal.hide()); - } - - showInfoDialogEvent({ message, callback }: EventData<"showInfoDialog">) { - this.$originallyFocused = $(":focus"); - - if (typeof message === "string") { - this.$infoContent.text(message); - } else if (Array.isArray(message)) { - this.$infoContent.html(message[0]); - } else { - this.$infoContent.html(message as HTMLElement); - } - - - openDialog(this.$widget); - - this.resolve = callback; - } -} diff --git a/apps/client/src/widgets/dialogs/info.tsx b/apps/client/src/widgets/dialogs/info.tsx new file mode 100644 index 000000000..3f50a3b58 --- /dev/null +++ b/apps/client/src/widgets/dialogs/info.tsx @@ -0,0 +1,56 @@ +import { EventData } from "../../components/app_context"; +import ReactBasicWidget from "../react/ReactBasicWidget"; +import { ConfirmDialogCallback } from "./confirm"; +import { closeActiveDialog, openDialog } from "../../services/dialog"; +import Modal from "../react/Modal"; +import { t } from "../../services/i18n"; +import Button from "../react/Button"; +import { useRef } from "preact/compat"; + +interface ShowInfoDialogProps { + message?: string | HTMLElement; + callback?: ConfirmDialogCallback; + lastElementToFocus?: HTMLElement | null; +} + +function ShowInfoDialogComponent({ message, callback, lastElementToFocus }: ShowInfoDialogProps) { + const okButtonRef = useRef(null); + + return (message && { + callback?.(); + lastElementToFocus?.focus(); + }} + onShown={() => okButtonRef.current?.focus?.()} + footer={ - -
- -
-
-
`; - -export default class AddLinkDialog extends BasicWidget { - private $form!: JQuery; - private $autoComplete!: JQuery; - private $linkTitle!: JQuery; - private $addLinkTitleSettings!: JQuery; - private $addLinkTitleRadios!: JQuery; - private $addLinkTitleFormGroup!: JQuery; - private textTypeWidget: TextTypeWidget | null = null; - - doRender() { - this.$widget = $(TPL); - this.$form = this.$widget.find(".add-link-form"); - this.$autoComplete = this.$widget.find(".add-link-note-autocomplete"); - this.$linkTitle = this.$widget.find(".link-title"); - this.$addLinkTitleSettings = this.$widget.find(".add-link-title-settings"); - this.$addLinkTitleRadios = this.$widget.find(".add-link-title-radios"); - this.$addLinkTitleFormGroup = this.$widget.find(".add-link-title-form-group"); - - this.$form.on("submit", () => { - if (this.$autoComplete.getSelectedNotePath()) { - this.$widget.modal("hide"); - - const linkTitle = this.getLinkType() === "reference-link" ? null : this.$linkTitle.val() as string; - - this.textTypeWidget?.addLink(this.$autoComplete.getSelectedNotePath()!, linkTitle); - } else if (this.$autoComplete.getSelectedExternalLink()) { - this.$widget.modal("hide"); - - this.textTypeWidget?.addLink(this.$autoComplete.getSelectedExternalLink()!, this.$linkTitle.val() as string, true); - } else { - logError("No link to add."); - } - - return false; - }); - } - - async showAddLinkDialogEvent({ textTypeWidget, text = "" }: EventData<"showAddLinkDialog">) { - this.textTypeWidget = textTypeWidget; - - this.$addLinkTitleSettings.toggle(!this.textTypeWidget.hasSelection()); - - this.$addLinkTitleSettings.find("input[type=radio]").on("change", () => this.updateTitleSettingsVisibility()); - - // with selection hyperlink is implied - if (this.textTypeWidget.hasSelection()) { - this.$addLinkTitleSettings.find("input[value='hyper-link']").prop("checked", true); - } else { - this.$addLinkTitleSettings.find("input[value='reference-link']").prop("checked", true); - } - - this.updateTitleSettingsVisibility(); - - await openDialog(this.$widget); - - this.$autoComplete.val(""); - this.$linkTitle.val(""); - - const setDefaultLinkTitle = async (noteId: string) => { - const noteTitle = await treeService.getNoteTitle(noteId); - this.$linkTitle.val(noteTitle); - }; - - noteAutocompleteService.initNoteAutocomplete(this.$autoComplete, { - allowExternalLinks: true, - allowCreatingNotes: true - }); - - this.$autoComplete.on("autocomplete:noteselected", (event: JQuery.Event, suggestion: Suggestion) => { - if (!suggestion.notePath) { - return false; - } - - this.updateTitleSettingsVisibility(); - - const noteId = treeService.getNoteIdFromUrl(suggestion.notePath); - - if (noteId) { - setDefaultLinkTitle(noteId); - } - }); - - this.$autoComplete.on("autocomplete:externallinkselected", (event: JQuery.Event, suggestion: Suggestion) => { - if (!suggestion.externalLink) { - return false; - } - - this.updateTitleSettingsVisibility(); - - this.$linkTitle.val(suggestion.externalLink); - }); - - this.$autoComplete.on("autocomplete:cursorchanged", (event: JQuery.Event, suggestion: Suggestion) => { - if (suggestion.externalLink) { - this.$linkTitle.val(suggestion.externalLink); - } else { - const noteId = treeService.getNoteIdFromUrl(suggestion.notePath!); - - if (noteId) { - setDefaultLinkTitle(noteId); - } - } - }); - - if (text && text.trim()) { - noteAutocompleteService.setText(this.$autoComplete, text); - } else { - noteAutocompleteService.showRecentNotes(this.$autoComplete); - } - - this.$autoComplete.trigger("focus").trigger("select"); // to be able to quickly remove entered text - } - - private getLinkType() { - if (this.$autoComplete.getSelectedExternalLink()) { - return "external-link"; - } - - return this.$addLinkTitleSettings.find("input[type=radio]:checked").val(); - } - - private updateTitleSettingsVisibility() { - const linkType = this.getLinkType(); - - this.$addLinkTitleFormGroup.toggle(linkType !== "reference-link"); - this.$addLinkTitleRadios.toggle(linkType !== "external-link"); - } -} diff --git a/apps/client/src/widgets/dialogs/add_link.tsx b/apps/client/src/widgets/dialogs/add_link.tsx new file mode 100644 index 000000000..d62a24304 --- /dev/null +++ b/apps/client/src/widgets/dialogs/add_link.tsx @@ -0,0 +1,147 @@ +import { EventData } from "../../components/app_context"; +import { closeActiveDialog, openDialog } from "../../services/dialog"; +import { t } from "../../services/i18n"; +import Modal from "../react/Modal"; +import ReactBasicWidget from "../react/ReactBasicWidget"; +import Button from "../react/Button"; +import FormRadioGroup from "../react/FormRadioGroup"; +import NoteAutocomplete from "../react/NoteAutocomplete"; +import { useState } from "preact/hooks"; +import tree from "../../services/tree"; +import { useEffect } from "react"; +import { Suggestion } from "../../services/note_autocomplete"; +import type { default as TextTypeWidget } from "../type_widgets/editable_text.js"; +import { logError } from "../../services/ws"; + +type LinkType = "reference-link" | "external-link" | "hyper-link"; + +interface AddLinkDialogProps { + text?: string; + textTypeWidget?: TextTypeWidget; +} + +function AddLinkDialogComponent({ text: _text, textTypeWidget }: AddLinkDialogProps) { + const [ text, setText ] = useState(_text ?? ""); + const [ linkTitle, setLinkTitle ] = useState(""); + const hasSelection = textTypeWidget?.hasSelection(); + const [ linkType, setLinkType ] = useState(hasSelection ? "hyper-link" : "reference-link"); + const [ suggestion, setSuggestion ] = useState(null); + + async function setDefaultLinkTitle(noteId: string) { + const noteTitle = await tree.getNoteTitle(noteId); + setLinkTitle(noteTitle); + } + + function resetExternalLink() { + if (linkType === "external-link") { + setLinkType("reference-link"); + } + } + + useEffect(() => { + if (!suggestion) { + resetExternalLink(); + return; + } + + if (suggestion.notePath) { + const noteId = tree.getNoteIdFromUrl(suggestion.notePath); + if (noteId) { + setDefaultLinkTitle(noteId); + } + resetExternalLink(); + } + + if (suggestion.externalLink) { + setLinkTitle(suggestion.externalLink); + setLinkType("external-link"); + } + }, [suggestion]); + + function onSubmit() { + if (suggestion.notePath) { + // Handle note link + closeActiveDialog(); + textTypeWidget?.addLink(suggestion.notePath, linkType === "reference-link" ? null : linkTitle); + } else if (suggestion.externalLink) { + // Handle external link + closeActiveDialog(); + textTypeWidget?.addLink(suggestion.externalLink, linkTitle, true); + } else { + logError("No link to add."); + } + } + + return ( + } + onSubmit={onSubmit} + onHidden={() => setSuggestion(null)} + > +
+ + + +
+ + {!hasSelection && ( +
+ {(linkType !== "external-link") && ( + <> + setLinkType(newValue as LinkType)} + /> + + )} + + {(linkType !== "reference-link" && ( +
+
+ +
+ ))} +
+ )} +
+ ); +} + +export default class AddLinkDialog extends ReactBasicWidget { + + private props: AddLinkDialogProps = {}; + + get component() { + return ; + } + + async showAddLinkDialogEvent({ textTypeWidget, text = "" }: EventData<"showAddLinkDialog">) { + this.props.text = text; + this.props.textTypeWidget = textTypeWidget; + this.doRender(); + await openDialog(this.$widget); + } + +} diff --git a/apps/client/src/widgets/react/Button.tsx b/apps/client/src/widgets/react/Button.tsx index 528b3a696..d6ba0f7d3 100644 --- a/apps/client/src/widgets/react/Button.tsx +++ b/apps/client/src/widgets/react/Button.tsx @@ -3,7 +3,7 @@ import { useRef } from "preact/hooks"; interface ButtonProps { /** Reference to the button element. Mostly useful for requesting focus. */ - buttonRef: RefObject; + buttonRef?: RefObject; text: string; className?: string; keyboardShortcut?: string; diff --git a/apps/client/src/widgets/react/Modal.tsx b/apps/client/src/widgets/react/Modal.tsx index cf3825e7c..43e6b12ee 100644 --- a/apps/client/src/widgets/react/Modal.tsx +++ b/apps/client/src/widgets/react/Modal.tsx @@ -37,7 +37,7 @@ export default function Modal({ children, className, size, title, footer, onShow } } }); - } + } const style: CSSProperties = {}; if (maxWidth) { @@ -51,7 +51,7 @@ export default function Modal({ children, className, size, title, footer, onShow
{title}
{helpPageId && ( - + )}
diff --git a/apps/client/src/widgets/react/NoteAutocomplete.tsx b/apps/client/src/widgets/react/NoteAutocomplete.tsx new file mode 100644 index 000000000..36702b96e --- /dev/null +++ b/apps/client/src/widgets/react/NoteAutocomplete.tsx @@ -0,0 +1,48 @@ +import { useRef } from "preact/hooks"; +import { t } from "../../services/i18n"; +import { use, useEffect } from "react"; +import note_autocomplete, { type Suggestion } from "../../services/note_autocomplete"; + +interface NoteAutocompleteProps { + text?: string; + allowExternalLinks?: boolean; + allowCreatingNotes?: boolean; + onChange?: (suggestion: Suggestion) => void; +} + +export default function NoteAutocomplete({ text, allowCreatingNotes, allowExternalLinks, onChange }: NoteAutocompleteProps) { + const ref = useRef(null); + + useEffect(() => { + if (!ref.current) return; + const $autoComplete = $(ref.current); + + note_autocomplete.initNoteAutocomplete($autoComplete, { + allowExternalLinks, + allowCreatingNotes + }); + if (onChange) { + $autoComplete.on("autocomplete:noteselected", (_e, suggestion) => onChange(suggestion)); + $autoComplete.on("autocomplete:externallinkselected", (_e, suggestion) => onChange(suggestion)); + } + }, [allowExternalLinks, allowCreatingNotes]); + + useEffect(() => { + if (!ref.current) return; + if (text) { + const $autoComplete = $(ref.current); + note_autocomplete.setText($autoComplete, text); + } else { + ref.current.value = ""; + } + }, [text]); + + return ( +
+ +
+ ); +} \ No newline at end of file From c89737ae7b43a10d84fbf160f666e1f8d26e3397 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 4 Aug 2025 12:59:13 +0300 Subject: [PATCH 311/505] feat(vscode): integrate i18n with react --- .vscode/i18n-ally-custom-framework.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.vscode/i18n-ally-custom-framework.yml b/.vscode/i18n-ally-custom-framework.yml index 32ec786aa..43c0ddff5 100644 --- a/.vscode/i18n-ally-custom-framework.yml +++ b/.vscode/i18n-ally-custom-framework.yml @@ -3,6 +3,7 @@ languageIds: - javascript - typescript + - typescriptreact - html # An array of RegExes to find the key usage. **The key should be captured in the first match group**. @@ -25,9 +26,10 @@ scopeRangeRegex: "useTranslation\\(\\s*\\[?\\s*['\"`](.*?)['\"`]" # The "$1" will be replaced by the keypath specified. refactorTemplates: - t("$1") + - {t("$1")} - ${t("$1")} - <%= t("$1") %> # If set to true, only enables this custom framework (will disable all built-in frameworks) -monopoly: true \ No newline at end of file +monopoly: true From a9c25b4edd8133c208d19ad22820277af0dbe68f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 4 Aug 2025 16:05:04 +0300 Subject: [PATCH 312/505] chore(react): bring back focus to add_link --- apps/client/src/widgets/dialogs/add_link.tsx | 24 ++++++++++++++++--- .../src/widgets/react/NoteAutocomplete.tsx | 8 ++++--- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/apps/client/src/widgets/dialogs/add_link.tsx b/apps/client/src/widgets/dialogs/add_link.tsx index d62a24304..c0d344cd2 100644 --- a/apps/client/src/widgets/dialogs/add_link.tsx +++ b/apps/client/src/widgets/dialogs/add_link.tsx @@ -6,10 +6,10 @@ import ReactBasicWidget from "../react/ReactBasicWidget"; import Button from "../react/Button"; import FormRadioGroup from "../react/FormRadioGroup"; import NoteAutocomplete from "../react/NoteAutocomplete"; -import { useState } from "preact/hooks"; +import { useRef, useState } from "preact/hooks"; import tree from "../../services/tree"; import { useEffect } from "react"; -import { Suggestion } from "../../services/note_autocomplete"; +import note_autocomplete, { Suggestion } from "../../services/note_autocomplete"; import type { default as TextTypeWidget } from "../type_widgets/editable_text.js"; import { logError } from "../../services/ws"; @@ -58,6 +58,20 @@ function AddLinkDialogComponent({ text: _text, textTypeWidget }: AddLinkDialogPr } }, [suggestion]); + function onShown() { + const $autocompleteEl = $(autocompleteRef.current); + if (!text) { + note_autocomplete.showRecentNotes($autocompleteEl); + } else { + note_autocomplete.setText($autocompleteEl, text); + } + + // to be able to quickly remove entered text + $autocompleteEl + .trigger("focus") + .trigger("select"); + } + function onSubmit() { if (suggestion.notePath) { // Handle note link @@ -72,6 +86,8 @@ function AddLinkDialogComponent({ text: _text, textTypeWidget }: AddLinkDialogPr } } + const autocompleteRef = useRef(null); + return ( } onSubmit={onSubmit} - onHidden={() => setSuggestion(null)} + onShown={onShown} + onHidden={() => setSuggestion(null)} >
; text?: string; allowExternalLinks?: boolean; allowCreatingNotes?: boolean; onChange?: (suggestion: Suggestion) => void; } -export default function NoteAutocomplete({ text, allowCreatingNotes, allowExternalLinks, onChange }: NoteAutocompleteProps) { - const ref = useRef(null); +export default function NoteAutocomplete({ inputRef: _ref, text, allowCreatingNotes, allowExternalLinks, onChange }: NoteAutocompleteProps) { + const ref = _ref ?? useRef(null); useEffect(() => { if (!ref.current) return; From 24ed474c8c93f68ba3da00b0e4aa5dfb0a02ab07 Mon Sep 17 00:00:00 2001 From: grantzhu Date: Mon, 4 Aug 2025 21:24:38 +0800 Subject: [PATCH 313/505] fix: remove unnecessary idea directory, this will affect other developers using jetbrains ide from opening this project --- .gitignore | 1 + .idea/.gitignore | 6 ------ .idea/codeStyles/Project.xml | 15 --------------- .idea/codeStyles/codeStyleConfig.xml | 5 ----- .idea/dataSources.xml | 12 ------------ .idea/encodings.xml | 4 ---- .idea/git_toolbox_prj.xml | 15 --------------- .idea/inspectionProfiles/Project_Default.xml | 11 ----------- .idea/jsLibraryMappings.xml | 6 ------ .idea/jsLinters/jslint.xml | 9 --------- .idea/misc.xml | 8 -------- .idea/modules.xml | 8 -------- .idea/sqldialects.xml | 7 ------- .idea/vcs.xml | 6 ------ apps/web-clipper/.idea/.gitignore | 5 ----- .../.idea/inspectionProfiles/Project_Default.xml | 10 ---------- apps/web-clipper/.idea/misc.xml | 9 --------- apps/web-clipper/.idea/modules.xml | 8 -------- apps/web-clipper/.idea/vcs.xml | 6 ------ 19 files changed, 1 insertion(+), 150 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/codeStyles/Project.xml delete mode 100644 .idea/codeStyles/codeStyleConfig.xml delete mode 100644 .idea/dataSources.xml delete mode 100644 .idea/encodings.xml delete mode 100644 .idea/git_toolbox_prj.xml delete mode 100644 .idea/inspectionProfiles/Project_Default.xml delete mode 100644 .idea/jsLibraryMappings.xml delete mode 100644 .idea/jsLinters/jslint.xml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/sqldialects.xml delete mode 100644 .idea/vcs.xml delete mode 100644 apps/web-clipper/.idea/.gitignore delete mode 100644 apps/web-clipper/.idea/inspectionProfiles/Project_Default.xml delete mode 100644 apps/web-clipper/.idea/misc.xml delete mode 100644 apps/web-clipper/.idea/modules.xml delete mode 100644 apps/web-clipper/.idea/vcs.xml diff --git a/.gitignore b/.gitignore index d7694258d..09749c270 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ node_modules # IDEs and editors /.idea +.idea .project .classpath .c9/ diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 2102c8715..000000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -# Default ignored files -/workspace.xml - -# Datasource local storage ignored files -/dataSources.local.xml -/dataSources/ diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml deleted file mode 100644 index d49935027..000000000 --- a/.idea/codeStyles/Project.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml deleted file mode 100644 index 79ee123c2..000000000 --- a/.idea/codeStyles/codeStyleConfig.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml deleted file mode 100644 index 88634a324..000000000 --- a/.idea/dataSources.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - sqlite.xerial - true - org.sqlite.JDBC - jdbc:sqlite:$PROJECT_DIR$/data/document.db - $ProjectFileDir$ - - - \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index 15a15b218..000000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/git_toolbox_prj.xml b/.idea/git_toolbox_prj.xml deleted file mode 100644 index 02b915b85..000000000 --- a/.idea/git_toolbox_prj.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 22cdf9bd9..000000000 --- a/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml deleted file mode 100644 index d23208fbb..000000000 --- a/.idea/jsLibraryMappings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/jsLinters/jslint.xml b/.idea/jsLinters/jslint.xml deleted file mode 100644 index 742a5fe03..000000000 --- a/.idea/jsLinters/jslint.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 44ee38ede..000000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 09c4a5cbf..000000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml deleted file mode 100644 index dd88c0a28..000000000 --- a/.idea/sqldialects.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index dcb6b8c4c..000000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/apps/web-clipper/.idea/.gitignore b/apps/web-clipper/.idea/.gitignore deleted file mode 100644 index c0f9e196c..000000000 --- a/apps/web-clipper/.idea/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Default ignored files -/workspace.xml - -# Datasource local storage ignored files -/dataSources.local.xml \ No newline at end of file diff --git a/apps/web-clipper/.idea/inspectionProfiles/Project_Default.xml b/apps/web-clipper/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 146ab09b7..000000000 --- a/apps/web-clipper/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/apps/web-clipper/.idea/misc.xml b/apps/web-clipper/.idea/misc.xml deleted file mode 100644 index 7e5bdf89f..000000000 --- a/apps/web-clipper/.idea/misc.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/apps/web-clipper/.idea/modules.xml b/apps/web-clipper/.idea/modules.xml deleted file mode 100644 index ebf785642..000000000 --- a/apps/web-clipper/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/apps/web-clipper/.idea/vcs.xml b/apps/web-clipper/.idea/vcs.xml deleted file mode 100644 index 94a25f7f4..000000000 --- a/apps/web-clipper/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From d5e42318ddd0ca6917ee127c8c56a0eb73e77492 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 4 Aug 2025 18:54:17 +0300 Subject: [PATCH 314/505] feat(dialogs): port jump to note partially --- apps/client/src/services/note_autocomplete.ts | 10 +- .../src/translations/cn/translation.json | 2 +- .../src/translations/de/translation.json | 2 +- .../src/translations/en/translation.json | 2 +- .../src/translations/es/translation.json | 2 +- .../src/translations/fr/translation.json | 2 +- .../src/translations/ro/translation.json | 2 +- .../src/translations/tw/translation.json | 2 +- apps/client/src/widgets/dialogs/add_link.tsx | 6 +- .../src/widgets/dialogs/jump_to_note.ts | 205 ------------------ .../src/widgets/dialogs/jump_to_note.tsx | 130 +++++++++++ apps/client/src/widgets/react/Modal.tsx | 8 +- .../src/widgets/react/NoteAutocomplete.tsx | 35 ++- 13 files changed, 176 insertions(+), 232 deletions(-) delete mode 100644 apps/client/src/widgets/dialogs/jump_to_note.ts create mode 100644 apps/client/src/widgets/dialogs/jump_to_note.tsx diff --git a/apps/client/src/services/note_autocomplete.ts b/apps/client/src/services/note_autocomplete.ts index f6ada1967..ea7e8cd8d 100644 --- a/apps/client/src/services/note_autocomplete.ts +++ b/apps/client/src/services/note_autocomplete.ts @@ -38,7 +38,7 @@ export interface Suggestion { commandShortcut?: string; } -interface Options { +export interface Options { container?: HTMLElement; fastSearch?: boolean; allowCreatingNotes?: boolean; @@ -82,12 +82,12 @@ async function autocompleteSource(term: string, cb: (rows: Suggestion[]) => void // Check if we're in command mode if (options.isCommandPalette && term.startsWith(">")) { const commandQuery = term.substring(1).trim(); - + // Get commands (all if no query, filtered if query provided) - const commands = commandQuery.length === 0 + const commands = commandQuery.length === 0 ? commandRegistry.getAllCommands() : commandRegistry.searchCommands(commandQuery); - + // Convert commands to suggestions const commandSuggestions: Suggestion[] = commands.map(cmd => ({ action: "command", @@ -99,7 +99,7 @@ async function autocompleteSource(term: string, cb: (rows: Suggestion[]) => void commandShortcut: cmd.shortcut, icon: cmd.icon })); - + cb(commandSuggestions); return; } diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index 99d0cea83..40cecaf6e 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -211,7 +211,7 @@ }, "jump_to_note": { "close": "关闭", - "search_button": "全文搜索 Ctrl+回车" + "search_button": "全文搜索" }, "markdown_import": { "dialog_title": "Markdown 导入", diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index 77024d63c..6d3136844 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -211,7 +211,7 @@ }, "jump_to_note": { "close": "Schließen", - "search_button": "Suche im Volltext: Strg+Eingabetaste" + "search_button": "Suche im Volltext" }, "markdown_import": { "dialog_title": "Markdown-Import", diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 2410c56b6..1d104739a 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -213,7 +213,7 @@ "jump_to_note": { "search_placeholder": "Search for note by its name or type > for commands...", "close": "Close", - "search_button": "Search in full text Ctrl+Enter" + "search_button": "Search in full text" }, "markdown_import": { "dialog_title": "Markdown import", diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json index 9df16d534..7aeae1655 100644 --- a/apps/client/src/translations/es/translation.json +++ b/apps/client/src/translations/es/translation.json @@ -212,7 +212,7 @@ }, "jump_to_note": { "close": "Cerrar", - "search_button": "Buscar en texto completo Ctrl+Enter" + "search_button": "Buscar en texto completo" }, "markdown_import": { "dialog_title": "Importación de Markdown", diff --git a/apps/client/src/translations/fr/translation.json b/apps/client/src/translations/fr/translation.json index f30ce130f..85e1bb0fc 100644 --- a/apps/client/src/translations/fr/translation.json +++ b/apps/client/src/translations/fr/translation.json @@ -211,7 +211,7 @@ }, "jump_to_note": { "close": "Fermer", - "search_button": "Rechercher dans le texte intégral Ctrl+Entrée" + "search_button": "Rechercher dans le texte intégral" }, "markdown_import": { "dialog_title": "Importation Markdown", diff --git a/apps/client/src/translations/ro/translation.json b/apps/client/src/translations/ro/translation.json index ee6369d85..101b9e779 100644 --- a/apps/client/src/translations/ro/translation.json +++ b/apps/client/src/translations/ro/translation.json @@ -767,7 +767,7 @@ "title": "Atribute moștenite" }, "jump_to_note": { - "search_button": "Caută în întregul conținut Ctrl+Enter", + "search_button": "Caută în întregul conținut", "close": "Închide", "search_placeholder": "Căutați notițe după nume sau tastați > pentru comenzi..." }, diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json index f9cd5595f..5e10258d7 100644 --- a/apps/client/src/translations/tw/translation.json +++ b/apps/client/src/translations/tw/translation.json @@ -194,7 +194,7 @@ "okButton": "確定" }, "jump_to_note": { - "search_button": "全文搜尋 Ctrl+Enter" + "search_button": "全文搜尋" }, "markdown_import": { "dialog_title": "Markdown 匯入", diff --git a/apps/client/src/widgets/dialogs/add_link.tsx b/apps/client/src/widgets/dialogs/add_link.tsx index c0d344cd2..bca86460a 100644 --- a/apps/client/src/widgets/dialogs/add_link.tsx +++ b/apps/client/src/widgets/dialogs/add_link.tsx @@ -106,9 +106,11 @@ function AddLinkDialogComponent({ text: _text, textTypeWidget }: AddLinkDialogPr
diff --git a/apps/client/src/widgets/dialogs/jump_to_note.ts b/apps/client/src/widgets/dialogs/jump_to_note.ts deleted file mode 100644 index 70676f696..000000000 --- a/apps/client/src/widgets/dialogs/jump_to_note.ts +++ /dev/null @@ -1,205 +0,0 @@ -import { t } from "../../services/i18n.js"; -import noteAutocompleteService from "../../services/note_autocomplete.js"; -import utils from "../../services/utils.js"; -import appContext from "../../components/app_context.js"; -import BasicWidget from "../basic_widget.js"; -import shortcutService from "../../services/shortcuts.js"; -import { Modal } from "bootstrap"; -import { openDialog } from "../../services/dialog.js"; -import commandRegistry from "../../services/command_registry.js"; - -const TPL = /*html*/``; - -const KEEP_LAST_SEARCH_FOR_X_SECONDS = 120; - -export default class JumpToNoteDialog extends BasicWidget { - - private lastOpenedTs: number; - private modal!: bootstrap.Modal; - private $autoComplete!: JQuery; - private $results!: JQuery; - private $modalFooter!: JQuery; - private isCommandMode: boolean = false; - - constructor() { - super(); - - this.lastOpenedTs = 0; - } - - doRender() { - this.$widget = $(TPL); - this.modal = Modal.getOrCreateInstance(this.$widget[0]); - - this.$autoComplete = this.$widget.find(".jump-to-note-autocomplete"); - this.$results = this.$widget.find(".jump-to-note-results"); - this.$modalFooter = this.$widget.find(".modal-footer"); - this.$modalFooter.find(".show-in-full-text-button").on("click", (e) => this.showInFullText(e)); - - shortcutService.bindElShortcut(this.$widget, "ctrl+return", (e) => this.showInFullText(e)); - - // Monitor input changes to detect command mode switches - this.$autoComplete.on("input", () => { - this.updateCommandModeState(); - }); - } - - private updateCommandModeState() { - const currentValue = String(this.$autoComplete.val() || ""); - const newCommandMode = currentValue.startsWith(">"); - - if (newCommandMode !== this.isCommandMode) { - this.isCommandMode = newCommandMode; - this.updateButtonVisibility(); - } - } - - private updateButtonVisibility() { - if (this.isCommandMode) { - this.$modalFooter.hide(); - } else { - this.$modalFooter.show(); - } - } - - async jumpToNoteEvent() { - await this.openDialog(); - } - - async commandPaletteEvent() { - await this.openDialog(true); - } - - private async openDialog(commandMode = false) { - const dialogPromise = openDialog(this.$widget); - if (utils.isMobile()) { - dialogPromise.then(($dialog) => { - const el = $dialog.find(">.modal-dialog")[0]; - - function reposition() { - const offset = 100; - const modalHeight = (window.visualViewport?.height ?? 0) - offset; - const safeAreaInsetBottom = (window.visualViewport?.height ?? 0) - window.innerHeight; - el.style.height = `${modalHeight}px`; - el.style.bottom = `${(window.visualViewport?.height ?? 0) - modalHeight - safeAreaInsetBottom - offset}px`; - } - - this.$autoComplete.on("focus", () => { - reposition(); - }); - - window.visualViewport?.addEventListener("resize", () => { - reposition(); - }); - - reposition(); - }); - } - - // first open dialog, then refresh since refresh is doing focus which should be visible - this.refresh(commandMode); - - this.lastOpenedTs = Date.now(); - } - - async refresh(commandMode = false) { - noteAutocompleteService - .initNoteAutocomplete(this.$autoComplete, { - allowCreatingNotes: true, - hideGoToSelectedNoteButton: true, - allowJumpToSearchNotes: true, - container: this.$results[0], - isCommandPalette: true - }) - // clear any event listener added in previous invocation of this function - .off("autocomplete:noteselected") - .off("autocomplete:commandselected") - .on("autocomplete:noteselected", function (event, suggestion, dataset) { - if (!suggestion.notePath) { - return false; - } - - appContext.tabManager.getActiveContext()?.setNote(suggestion.notePath); - }) - .on("autocomplete:commandselected", async (event, suggestion, dataset) => { - if (!suggestion.commandId) { - return false; - } - - this.modal.hide(); - await commandRegistry.executeCommand(suggestion.commandId); - }); - - if (commandMode) { - // Start in command mode - manually trigger command search - this.$autoComplete.autocomplete("val", ">"); - this.isCommandMode = true; - this.updateButtonVisibility(); - - // Manually populate with all commands immediately - noteAutocompleteService.showAllCommands(this.$autoComplete); - - this.$autoComplete.trigger("focus"); - } else { - // if you open the Jump To dialog soon after using it previously, it can often mean that you - // actually want to search for the same thing (e.g., you opened the wrong note at first try) - // so we'll keep the content. - // if it's outside of this time limit, then we assume it's a completely new search and show recent notes instead. - if (Date.now() - this.lastOpenedTs > KEEP_LAST_SEARCH_FOR_X_SECONDS * 1000) { - this.isCommandMode = false; - this.updateButtonVisibility(); - noteAutocompleteService.showRecentNotes(this.$autoComplete); - } else { - this.$autoComplete - // hack, the actual search value is stored in
 element next to the search input
-                    // this is important because the search input value is replaced with the suggestion note's title
-                    .autocomplete("val", this.$autoComplete.next().text())
-                    .trigger("focus")
-                    .trigger("select");
-
-                // Update command mode state based on the restored value
-                this.updateCommandModeState();
-
-                // If we restored a command mode value, manually trigger command display
-                if (this.isCommandMode) {
-                    // Clear the value first, then set it to ">" to trigger a proper change
-                    this.$autoComplete.autocomplete("val", "");
-                    noteAutocompleteService.showAllCommands(this.$autoComplete);
-                }
-            }
-        }
-    }
-
-    showInFullText(e: JQuery.TriggeredEvent | KeyboardEvent) {
-        // stop from propagating upwards (dangerous, especially with ctrl+enter executable javascript notes)
-        e.preventDefault();
-        e.stopPropagation();
-
-        // Don't perform full text search in command mode
-        if (this.isCommandMode) {
-            return;
-        }
-
-        const searchString = String(this.$autoComplete.val());
-
-        this.triggerCommand("searchNotes", { searchString });
-        this.modal.hide();
-    }
-}
diff --git a/apps/client/src/widgets/dialogs/jump_to_note.tsx b/apps/client/src/widgets/dialogs/jump_to_note.tsx
new file mode 100644
index 000000000..5ab28b8c5
--- /dev/null
+++ b/apps/client/src/widgets/dialogs/jump_to_note.tsx
@@ -0,0 +1,130 @@
+import { closeActiveDialog, openDialog } from "../../services/dialog";
+import ReactBasicWidget from "../react/ReactBasicWidget";
+import Modal from "../react/Modal";
+import Button from "../react/Button";
+import NoteAutocomplete from "../react/NoteAutocomplete";
+import { t } from "../../services/i18n";
+import { useEffect, useRef, useState } from "preact/hooks";
+import note_autocomplete, { Suggestion } from "../../services/note_autocomplete";
+import appContext from "../../components/app_context";
+import commandRegistry from "../../services/command_registry";
+
+const KEEP_LAST_SEARCH_FOR_X_SECONDS = 120;
+
+type Mode = "last-search" | "recent-notes" | "commands";
+
+interface JumpToNoteDialogProps {
+    mode: Mode;
+}
+
+function JumpToNoteDialogComponent({ mode }: JumpToNoteDialogProps) {
+    const containerRef = useRef(null);
+    const autocompleteRef = useRef(null);
+    const [ isCommandMode, setIsCommandMode ] = useState(mode === "commands");
+    const [ text, setText ] = useState(isCommandMode ? "> " : "");
+
+    console.log(`Got text '${text}'`);
+
+    console.log("Rendering with mode:", mode, "isCommandMode:", isCommandMode); 
+
+    useEffect(() => {
+        setIsCommandMode(text.startsWith(">"));
+    }, [ text ]);
+
+    async function onItemSelected(suggestion: Suggestion) {
+        if (suggestion.notePath) {
+            appContext.tabManager.getActiveContext()?.setNote(suggestion.notePath);
+        } else if (suggestion.commandId) {
+            closeActiveDialog();
+            await commandRegistry.executeCommand(suggestion.commandId);
+        }
+    }
+
+    function onShown() {
+        const $autoComplete = $(autocompleteRef.current);
+        switch (mode) {
+            case "last-search":
+                break;
+            case "recent-notes":
+                note_autocomplete.showRecentNotes($autoComplete);
+                break;
+            case "commands":
+                note_autocomplete.showAllCommands($autoComplete);
+                break;
+        }
+
+        $autoComplete
+            .trigger("focus")
+            .trigger("select");
+    }
+
+    return (
+        }
+            onShown={onShown}
+            footer={!isCommandMode && 
                         )}
diff --git a/apps/client/src/widgets/react/NoteAutocomplete.tsx b/apps/client/src/widgets/react/NoteAutocomplete.tsx
index 23f2ccd25..f8e907e88 100644
--- a/apps/client/src/widgets/react/NoteAutocomplete.tsx
+++ b/apps/client/src/widgets/react/NoteAutocomplete.tsx
@@ -1,33 +1,46 @@
 import { useRef } from "preact/hooks";
 import { t } from "../../services/i18n";
 import { useEffect } from "react";
-import note_autocomplete, { type Suggestion } from "../../services/note_autocomplete";
+import note_autocomplete, { Options, type Suggestion } from "../../services/note_autocomplete";
 import type { RefObject } from "preact";
 
 interface NoteAutocompleteProps {    
     inputRef?: RefObject;
     text?: string;
-    allowExternalLinks?: boolean;
-    allowCreatingNotes?: boolean;
+    placeholder?: string;
+    container?: RefObject;
+    opts?: Omit;
     onChange?: (suggestion: Suggestion) => void;
+    onTextChange?: (text: string) => void;
 }
 
-export default function NoteAutocomplete({ inputRef: _ref, text, allowCreatingNotes, allowExternalLinks, onChange }: NoteAutocompleteProps) {
+export default function NoteAutocomplete({ inputRef: _ref, text, placeholder, onChange, onTextChange, container, opts }: NoteAutocompleteProps) {
     const ref = _ref ?? useRef(null);
     
     useEffect(() => {
         if (!ref.current) return;
         const $autoComplete = $(ref.current);
 
+        // clear any event listener added in previous invocation of this function
+        $autoComplete
+            .off("autocomplete:noteselected")
+            .off("autocomplete:commandselected")
+
         note_autocomplete.initNoteAutocomplete($autoComplete, {
-            allowExternalLinks,
-            allowCreatingNotes
+            ...opts,
+            container: container?.current
         });
         if (onChange) {
-            $autoComplete.on("autocomplete:noteselected", (_e, suggestion) => onChange(suggestion));
-            $autoComplete.on("autocomplete:externallinkselected", (_e, suggestion) => onChange(suggestion));
-        }        
-    }, [allowExternalLinks, allowCreatingNotes]);
+            const listener = (_e, suggestion) => onChange(suggestion);
+            $autoComplete
+                .on("autocomplete:noteselected", listener)
+                .on("autocomplete:externallinkselected", listener)
+                .on("autocomplete:commandselected", listener);
+        }
+        if (onTextChange) {
+            $autoComplete.on("input", () => onTextChange($autoComplete[0].value));
+        }
+    }, [opts, container?.current]);
 
     useEffect(() => {
         if (!ref.current) return;
@@ -44,7 +57,7 @@ export default function NoteAutocomplete({ inputRef: _ref, text, allowCreatingNo
             
+                placeholder={placeholder ?? t("add_link.search_note")} />
         
); } \ No newline at end of file From cb650b70cb8e9ea0fee5941a017661f054ba6ccd Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 4 Aug 2025 19:27:47 +0300 Subject: [PATCH 315/505] fix(react/dialogs): autocomplete not displayed if list is empty --- apps/client/src/widgets/dialogs/jump_to_note.tsx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/client/src/widgets/dialogs/jump_to_note.tsx b/apps/client/src/widgets/dialogs/jump_to_note.tsx index 5ab28b8c5..8d6c687e1 100644 --- a/apps/client/src/widgets/dialogs/jump_to_note.tsx +++ b/apps/client/src/widgets/dialogs/jump_to_note.tsx @@ -23,10 +23,6 @@ function JumpToNoteDialogComponent({ mode }: JumpToNoteDialogProps) { const [ isCommandMode, setIsCommandMode ] = useState(mode === "commands"); const [ text, setText ] = useState(isCommandMode ? "> " : ""); - console.log(`Got text '${text}'`); - - console.log("Rendering with mode:", mode, "isCommandMode:", isCommandMode); - useEffect(() => { setIsCommandMode(text.startsWith(">")); }, [ text ]); @@ -44,7 +40,10 @@ function JumpToNoteDialogComponent({ mode }: JumpToNoteDialogProps) { const $autoComplete = $(autocompleteRef.current); switch (mode) { case "last-search": - break; + // Fall-through if there is no text, in order to display the recent notes. + if (text) { + break; + } case "recent-notes": note_autocomplete.showRecentNotes($autoComplete); break; From 83fb62d4dfd8fea3ee8375248b11c6ee2cbccaf2 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 4 Aug 2025 19:54:59 +0300 Subject: [PATCH 316/505] fix(react/dialogs): listener leak in modal --- apps/client/src/widgets/react/Modal.tsx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/apps/client/src/widgets/react/Modal.tsx b/apps/client/src/widgets/react/Modal.tsx index 96b00af2e..0ae9541f9 100644 --- a/apps/client/src/widgets/react/Modal.tsx +++ b/apps/client/src/widgets/react/Modal.tsx @@ -28,14 +28,23 @@ export default function Modal({ children, className, size, title, footer, onShow if (onShown || onHidden) { useEffect(() => { const modalElement = modalRef.current; - if (modalElement) { + if (!modalElement) { + return; + } + if (onShown) { + modalElement.addEventListener("shown.bs.modal", onShown); + } + if (onHidden) { + modalElement.addEventListener("hidden.bs.modal", onHidden); + } + return () => { if (onShown) { - modalElement.addEventListener("shown.bs.modal", onShown); + modalElement.removeEventListener("shown.bs.modal", onShown); } if (onHidden) { - modalElement.addEventListener("hidden.bs.modal", onHidden); + modalElement.removeEventListener("hidden.bs.modal", onHidden); } - } + }; }); } From 18eb704b816d24cafb2ec15cbe8cc44881bbf6ce Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 4 Aug 2025 20:34:47 +0300 Subject: [PATCH 317/505] feat(react/widgets): set up form group --- apps/client/src/widgets/dialogs/add_link.tsx | 7 +++---- .../src/widgets/dialogs/branch_prefix.tsx | 7 +++---- apps/client/src/widgets/react/FormGroup.tsx | 17 +++++++++++++++++ 3 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 apps/client/src/widgets/react/FormGroup.tsx diff --git a/apps/client/src/widgets/dialogs/add_link.tsx b/apps/client/src/widgets/dialogs/add_link.tsx index bca86460a..538c16683 100644 --- a/apps/client/src/widgets/dialogs/add_link.tsx +++ b/apps/client/src/widgets/dialogs/add_link.tsx @@ -12,6 +12,7 @@ import { useEffect } from "react"; import note_autocomplete, { Suggestion } from "../../services/note_autocomplete"; import type { default as TextTypeWidget } from "../type_widgets/editable_text.js"; import { logError } from "../../services/ws"; +import FormGroup from "../react/FormGroup.js"; type LinkType = "reference-link" | "external-link" | "hyper-link"; @@ -100,9 +101,7 @@ function AddLinkDialogComponent({ text: _text, textTypeWidget }: AddLinkDialogPr onShown={onShown} onHidden={() => setSuggestion(null)} > -
- - + -
+ {!hasSelection && (
diff --git a/apps/client/src/widgets/dialogs/branch_prefix.tsx b/apps/client/src/widgets/dialogs/branch_prefix.tsx index d16ae339b..e4b7d3e59 100644 --- a/apps/client/src/widgets/dialogs/branch_prefix.tsx +++ b/apps/client/src/widgets/dialogs/branch_prefix.tsx @@ -10,6 +10,7 @@ import froca from "../../services/froca.js"; import tree from "../../services/tree.js"; import FBranch from "../../entities/fbranch.js"; import Button from "../react/Button.jsx"; +import FormGroup from "../react/FormGroup.js"; interface BranchPrefixDialogProps { branch?: FBranch; @@ -38,15 +39,13 @@ function BranchPrefixDialogComponent({ branch }: BranchPrefixDialogProps) { helpPageId="TBwsyfadTA18" footer={ - -
-
- - -
-
-
-

`; - -export default class CloneToDialog extends BasicWidget { - private $form!: JQuery; - private $noteAutoComplete!: JQuery; - private $clonePrefix!: JQuery; - private $noteList!: JQuery; - private clonedNoteIds: string[] | null = null; - - constructor() { - super(); - } - - doRender() { - this.$widget = $(TPL); - this.$form = this.$widget.find(".clone-to-form"); - this.$noteAutoComplete = this.$widget.find(".clone-to-note-autocomplete"); - this.$clonePrefix = this.$widget.find(".clone-prefix"); - this.$noteList = this.$widget.find(".clone-to-note-list"); - - this.$form.on("submit", () => { - const notePath = this.$noteAutoComplete.getSelectedNotePath(); - - if (notePath) { - this.$widget.modal("hide"); - this.cloneNotesTo(notePath); - } else { - logError(t("clone_to.no_path_to_clone_to")); - } - - return false; - }); - } - - async cloneNoteIdsToEvent({ noteIds }: EventData<"cloneNoteIdsTo">) { - if (!noteIds || noteIds.length === 0) { - noteIds = [appContext.tabManager.getActiveContextNoteId() ?? ""]; - } - - this.clonedNoteIds = []; - - for (const noteId of noteIds) { - if (!this.clonedNoteIds.includes(noteId)) { - this.clonedNoteIds.push(noteId); - } - } - - openDialog(this.$widget); - this.$noteAutoComplete.val("").trigger("focus"); - this.$noteList.empty(); - - for (const noteId of this.clonedNoteIds) { - const note = await froca.getNote(noteId); - if (!note) { - continue; - } - this.$noteList.append($("
  • ").text(note.title)); - } - - noteAutocompleteService.initNoteAutocomplete(this.$noteAutoComplete); - noteAutocompleteService.showRecentNotes(this.$noteAutoComplete); - } - - async cloneNotesTo(notePath: string) { - const { noteId, parentNoteId } = treeService.getNoteIdAndParentIdFromUrl(notePath); - if (!noteId || !parentNoteId) { - return; - } - - const targetBranchId = await froca.getBranchId(parentNoteId, noteId); - if (!targetBranchId || !this.clonedNoteIds) { - return; - } - - for (const cloneNoteId of this.clonedNoteIds) { - await branchService.cloneNoteToBranch(cloneNoteId, targetBranchId, this.$clonePrefix.val() as string); - - const clonedNote = await froca.getNote(cloneNoteId); - const targetBranch = froca.getBranch(targetBranchId); - if (!clonedNote || !targetBranch) { - continue; - } - const targetNote = await targetBranch.getNote(); - if (!targetNote) { - continue; - } - - toastService.showMessage(t("clone_to.note_cloned", { clonedTitle: clonedNote.title, targetTitle: targetNote.title })); - } - } -} diff --git a/apps/client/src/widgets/dialogs/clone_to.tsx b/apps/client/src/widgets/dialogs/clone_to.tsx new file mode 100644 index 000000000..b86b231f4 --- /dev/null +++ b/apps/client/src/widgets/dialogs/clone_to.tsx @@ -0,0 +1,143 @@ +import { CSSProperties, useRef, useState } from "preact/compat"; +import appContext, { EventData } from "../../components/app_context"; +import { closeActiveDialog, openDialog } from "../../services/dialog"; +import { t } from "../../services/i18n"; +import Modal from "../react/Modal"; +import ReactBasicWidget from "../react/ReactBasicWidget"; +import NoteAutocomplete from "../react/NoteAutocomplete"; +import froca from "../../services/froca"; +import { useEffect } from "react"; +import FNote from "../../entities/fnote"; +import FormGroup from "../react/FormGroup"; +import FormTextBox from "../react/FormTextBox"; +import Button from "../react/Button"; +import note_autocomplete, { Suggestion } from "../../services/note_autocomplete"; +import { logError } from "../../services/ws"; +import tree from "../../services/tree"; +import branches from "../../services/branches"; +import toast from "../../services/toast"; + +interface CloneToDialogProps { + clonedNoteIds: string[]; +} + +function CloneToDialogComponent({ clonedNoteIds }: CloneToDialogProps) { + const [ prefix, setPrefix ] = useState(""); + const [ suggestion, setSuggestion ] = useState(null); + const autoCompleteRef = useRef(null); + + function onSubmit() { + const notePath = suggestion?.notePath; + if (!notePath) { + logError(t("clone_to.no_path_to_clone_to")); + return; + } + + closeActiveDialog(); + cloneNotesTo(notePath, clonedNoteIds, prefix); + } + + return ( + } + onSubmit={onSubmit} + onShown={() => { + autoCompleteRef.current?.focus(); + note_autocomplete.showRecentNotes($(autoCompleteRef.current)); + }} + > +
    {t("clone_to.notes_to_clone")}
    + + + + + + + +
    + ) +} + +function NoteList({ noteIds, style }: { noteIds?: string[], style: CSSProperties }) { + const [ notes, setNotes ] = useState([]); + + useEffect(() => { + if (noteIds) { + froca.getNotes(noteIds).then((notes) => setNotes(notes)); + } + }, [noteIds]); + + return (notes && +
      + {notes.map(note => ( +
    • + {note.title} +
    • + ))} +
    + ); +} + +export default class CloneToDialog extends ReactBasicWidget { + + private props: CloneToDialogProps; + + get component() { + return ; + } + + async cloneNoteIdsToEvent({ noteIds }: EventData<"cloneNoteIdsTo">) { + if (!noteIds || noteIds.length === 0) { + noteIds = [appContext.tabManager.getActiveContextNoteId() ?? ""]; + } + + const clonedNoteIds = []; + + for (const noteId of noteIds) { + if (!clonedNoteIds.includes(noteId)) { + clonedNoteIds.push(noteId); + } + } + + this.props = { clonedNoteIds }; + this.doRender(); + openDialog(this.$widget); + } + +} + +async function cloneNotesTo(notePath: string, clonedNoteIds: string[], prefix?: string) { + const { noteId, parentNoteId } = tree.getNoteIdAndParentIdFromUrl(notePath); + if (!noteId || !parentNoteId) { + return; + } + + const targetBranchId = await froca.getBranchId(parentNoteId, noteId); + if (!targetBranchId || !clonedNoteIds) { + return; + } + + for (const cloneNoteId of clonedNoteIds) { + await branches.cloneNoteToBranch(cloneNoteId, targetBranchId, prefix); + + const clonedNote = await froca.getNote(cloneNoteId); + const targetBranch = froca.getBranch(targetBranchId); + if (!clonedNote || !targetBranch) { + continue; + } + const targetNote = await targetBranch.getNote(); + if (!targetNote) { + continue; + } + + toast.showMessage(t("clone_to.note_cloned", { clonedTitle: clonedNote.title, targetTitle: targetNote.title })); + } +} \ No newline at end of file diff --git a/apps/client/src/widgets/dialogs/sort_child_notes.tsx b/apps/client/src/widgets/dialogs/sort_child_notes.tsx index b96e54dcf..acebc4359 100644 --- a/apps/client/src/widgets/dialogs/sort_child_notes.tsx +++ b/apps/client/src/widgets/dialogs/sort_child_notes.tsx @@ -9,6 +9,7 @@ import FormTextBox from "../react/FormTextBox"; import Modal from "../react/Modal"; import ReactBasicWidget from "../react/ReactBasicWidget"; import server from "../../services/server"; +import FormGroup from "../react/FormGroup"; function SortChildNotesDialogComponent({ parentNoteId }: { parentNoteId?: string }) { const [ sortBy, setSortBy ] = useState("title"); @@ -75,13 +76,12 @@ function SortChildNotesDialogComponent({ parentNoteId }: { parentNoteId?: string label={t("sort_child_notes.sort_with_respect_to_different_character_sorting")} currentValue={sortNatural} onChange={setSortNatural} /> - + + + ) } diff --git a/apps/client/src/widgets/react/FormGroup.tsx b/apps/client/src/widgets/react/FormGroup.tsx index 406515331..9c0709dfe 100644 --- a/apps/client/src/widgets/react/FormGroup.tsx +++ b/apps/client/src/widgets/react/FormGroup.tsx @@ -2,16 +2,21 @@ import { ComponentChildren } from "preact"; interface FormGroupProps { label: string; + title?: string; + className?: string; children: ComponentChildren; + description?: string; } -export default function FormGroup({ label, children }: FormGroupProps) { +export default function FormGroup({ label, title, className, children, description }: FormGroupProps) { return ( -
    +
    + + {description && {description}}
    ); } \ No newline at end of file diff --git a/apps/client/src/widgets/react/FormTextBox.tsx b/apps/client/src/widgets/react/FormTextBox.tsx index 0fe83f294..0a5610eb4 100644 --- a/apps/client/src/widgets/react/FormTextBox.tsx +++ b/apps/client/src/widgets/react/FormTextBox.tsx @@ -1,25 +1,17 @@ interface FormTextBoxProps { name: string; - label: string; currentValue?: string; className?: string; - description?: string; onChange?(newValue: string): void; } -export default function FormTextBox({ name, label, description, className, currentValue, onChange }: FormTextBoxProps) { +export default function FormTextBox({ name, className, currentValue, onChange }: FormTextBoxProps) { return ( -
    - -
    + onChange?.(e.currentTarget.value)} /> ); } \ No newline at end of file From beb0487513bc29c1930676243905711b77e81938 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 4 Aug 2025 22:37:31 +0300 Subject: [PATCH 319/505] feat(react): port move to --- .../src/translations/cn/translation.json | 2 +- .../src/translations/de/translation.json | 2 +- .../src/translations/en/translation.json | 2 +- .../src/translations/es/translation.json | 2 +- .../src/translations/fr/translation.json | 2 +- .../src/translations/ro/translation.json | 2 +- .../src/translations/sr/translation.json | 2 +- .../src/translations/tw/translation.json | 2 +- apps/client/src/widgets/dialogs/clone_to.tsx | 25 +--- apps/client/src/widgets/dialogs/move_to.ts | 120 ------------------ apps/client/src/widgets/dialogs/move_to.tsx | 95 ++++++++++++++ apps/client/src/widgets/react/NoteList.tsx | 36 ++++++ 12 files changed, 141 insertions(+), 151 deletions(-) delete mode 100644 apps/client/src/widgets/dialogs/move_to.ts create mode 100644 apps/client/src/widgets/dialogs/move_to.tsx create mode 100644 apps/client/src/widgets/react/NoteList.tsx diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index 06cbe505b..5eb6608a5 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -226,7 +226,7 @@ "notes_to_move": "需要移动的笔记", "target_parent_note": "目标父笔记", "search_placeholder": "通过名称搜索笔记", - "move_button": "移动到选定的笔记 回车", + "move_button": "移动到选定的笔记", "error_no_path": "没有可以移动到的路径。", "move_success_message": "所选笔记已移动到" }, diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index 5c4cba217..81277edb3 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -226,7 +226,7 @@ "notes_to_move": "Notizen zum Verschieben", "target_parent_note": "Ziel-Elternnotiz", "search_placeholder": "Suche nach einer Notiz anhand ihres Namens", - "move_button": "Zur ausgewählten Notiz wechseln Eingabetaste", + "move_button": "Zur ausgewählten Notiz wechseln", "error_no_path": "Kein Weg, auf den man sich bewegen kann.", "move_success_message": "Ausgewählte Notizen wurden verschoben" }, diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 6084e007c..e76012cf3 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -228,7 +228,7 @@ "notes_to_move": "Notes to move", "target_parent_note": "Target parent note", "search_placeholder": "search for note by its name", - "move_button": "Move to selected note enter", + "move_button": "Move to selected note", "error_no_path": "No path to move to.", "move_success_message": "Selected notes have been moved into " }, diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json index 1161e521a..fd0326ce4 100644 --- a/apps/client/src/translations/es/translation.json +++ b/apps/client/src/translations/es/translation.json @@ -227,7 +227,7 @@ "notes_to_move": "Notas a mover", "target_parent_note": "Nota padre de destino", "search_placeholder": "buscar nota por su nombre", - "move_button": "Mover a la nota seleccionada enter", + "move_button": "Mover a la nota seleccionada", "error_no_path": "No hay ruta a donde mover.", "move_success_message": "Las notas seleccionadas se han movido a " }, diff --git a/apps/client/src/translations/fr/translation.json b/apps/client/src/translations/fr/translation.json index 671d44f27..fe6869abc 100644 --- a/apps/client/src/translations/fr/translation.json +++ b/apps/client/src/translations/fr/translation.json @@ -226,7 +226,7 @@ "notes_to_move": "Notes à déplacer", "target_parent_note": "Note parent cible", "search_placeholder": "rechercher une note par son nom", - "move_button": "Déplacer vers la note sélectionnée entrer", + "move_button": "Déplacer vers la note sélectionnée", "error_no_path": "Aucun chemin vers lequel déplacer.", "move_success_message": "Les notes sélectionnées ont été déplacées dans " }, diff --git a/apps/client/src/translations/ro/translation.json b/apps/client/src/translations/ro/translation.json index c121badc3..7c1c326a2 100644 --- a/apps/client/src/translations/ro/translation.json +++ b/apps/client/src/translations/ro/translation.json @@ -817,7 +817,7 @@ "move_to": { "dialog_title": "Mută notițele în...", "error_no_path": "Nicio cale la care să poată fi mutate.", - "move_button": "Mută la notița selectată enter", + "move_button": "Mută la notița selectată", "move_success_message": "Notițele selectate au fost mutate în", "notes_to_move": "Notițe de mutat", "search_placeholder": "căutați notița după denumirea ei", diff --git a/apps/client/src/translations/sr/translation.json b/apps/client/src/translations/sr/translation.json index 5e678a481..816c2f89d 100644 --- a/apps/client/src/translations/sr/translation.json +++ b/apps/client/src/translations/sr/translation.json @@ -228,7 +228,7 @@ "notes_to_move": "Beleške za premeštanje", "target_parent_note": "Ciljana nadbeleška", "search_placeholder": "potraži belešku po njenom imenu", - "move_button": "Pređi na izabranu belešku enter", + "move_button": "Pređi na izabranu belešku", "error_no_path": "Nema putanje za premeštanje.", "move_success_message": "Izabrane beleške su premeštene u " }, diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json index b327471cf..59eec1d0b 100644 --- a/apps/client/src/translations/tw/translation.json +++ b/apps/client/src/translations/tw/translation.json @@ -207,7 +207,7 @@ "notes_to_move": "需要移動的筆記", "target_parent_note": "目標上級筆記", "search_placeholder": "通過名稱搜尋筆記", - "move_button": "移動到選定的筆記 Enter", + "move_button": "移動到選定的筆記", "error_no_path": "沒有可以移動到的路徑。", "move_success_message": "已移動所選筆記到 " }, diff --git a/apps/client/src/widgets/dialogs/clone_to.tsx b/apps/client/src/widgets/dialogs/clone_to.tsx index b86b231f4..f81a0c242 100644 --- a/apps/client/src/widgets/dialogs/clone_to.tsx +++ b/apps/client/src/widgets/dialogs/clone_to.tsx @@ -1,4 +1,4 @@ -import { CSSProperties, useRef, useState } from "preact/compat"; +import { useRef, useState } from "preact/compat"; import appContext, { EventData } from "../../components/app_context"; import { closeActiveDialog, openDialog } from "../../services/dialog"; import { t } from "../../services/i18n"; @@ -6,8 +6,6 @@ import Modal from "../react/Modal"; import ReactBasicWidget from "../react/ReactBasicWidget"; import NoteAutocomplete from "../react/NoteAutocomplete"; import froca from "../../services/froca"; -import { useEffect } from "react"; -import FNote from "../../entities/fnote"; import FormGroup from "../react/FormGroup"; import FormTextBox from "../react/FormTextBox"; import Button from "../react/Button"; @@ -16,6 +14,7 @@ import { logError } from "../../services/ws"; import tree from "../../services/tree"; import branches from "../../services/branches"; import toast from "../../services/toast"; +import NoteList from "../react/NoteList"; interface CloneToDialogProps { clonedNoteIds: string[]; @@ -66,26 +65,6 @@ function CloneToDialogComponent({ clonedNoteIds }: CloneToDialogProps) { ) } -function NoteList({ noteIds, style }: { noteIds?: string[], style: CSSProperties }) { - const [ notes, setNotes ] = useState([]); - - useEffect(() => { - if (noteIds) { - froca.getNotes(noteIds).then((notes) => setNotes(notes)); - } - }, [noteIds]); - - return (notes && -
      - {notes.map(note => ( -
    • - {note.title} -
    • - ))} -
    - ); -} - export default class CloneToDialog extends ReactBasicWidget { private props: CloneToDialogProps; diff --git a/apps/client/src/widgets/dialogs/move_to.ts b/apps/client/src/widgets/dialogs/move_to.ts deleted file mode 100644 index 49e016f15..000000000 --- a/apps/client/src/widgets/dialogs/move_to.ts +++ /dev/null @@ -1,120 +0,0 @@ -import noteAutocompleteService from "../../services/note_autocomplete.js"; -import toastService from "../../services/toast.js"; -import froca from "../../services/froca.js"; -import branchService from "../../services/branches.js"; -import treeService from "../../services/tree.js"; -import BasicWidget from "../basic_widget.js"; -import { t } from "../../services/i18n.js"; -import type { EventData } from "../../components/app_context.js"; -import { openDialog } from "../../services/dialog.js"; - -const TPL = /*html*/` -`; - -export default class MoveToDialog extends BasicWidget { - - private movedBranchIds: string[] | null; - private $form!: JQuery; - private $noteAutoComplete!: JQuery; - private $noteList!: JQuery; - - constructor() { - super(); - - this.movedBranchIds = null; - } - - doRender() { - this.$widget = $(TPL); - this.$form = this.$widget.find(".move-to-form"); - this.$noteAutoComplete = this.$widget.find(".move-to-note-autocomplete"); - this.$noteList = this.$widget.find(".move-to-note-list"); - - this.$form.on("submit", () => { - const notePath = this.$noteAutoComplete.getSelectedNotePath(); - - if (notePath) { - this.$widget.modal("hide"); - - const { noteId, parentNoteId } = treeService.getNoteIdAndParentIdFromUrl(notePath); - if (parentNoteId) { - froca.getBranchId(parentNoteId, noteId).then((branchId) => { - if (branchId) { - this.moveNotesTo(branchId); - } - }); - } - } else { - logError(t("move_to.error_no_path")); - } - - return false; - }); - } - - async moveBranchIdsToEvent({ branchIds }: EventData<"moveBranchIdsTo">) { - this.movedBranchIds = branchIds; - - openDialog(this.$widget); - - this.$noteAutoComplete.val("").trigger("focus"); - - this.$noteList.empty(); - - for (const branchId of this.movedBranchIds) { - const branch = froca.getBranch(branchId); - if (!branch) { - continue; - } - - const note = await froca.getNote(branch.noteId); - if (!note) { - continue; - } - - this.$noteList.append($("
  • ").text(note.title)); - } - - noteAutocompleteService.initNoteAutocomplete(this.$noteAutoComplete); - noteAutocompleteService.showRecentNotes(this.$noteAutoComplete); - } - - async moveNotesTo(parentBranchId: string) { - if (this.movedBranchIds) { - await branchService.moveToParentNote(this.movedBranchIds, parentBranchId); - } - - const parentBranch = froca.getBranch(parentBranchId); - const parentNote = await parentBranch?.getNote(); - - toastService.showMessage(`${t("move_to.move_success_message")} ${parentNote?.title}`); - } -} diff --git a/apps/client/src/widgets/dialogs/move_to.tsx b/apps/client/src/widgets/dialogs/move_to.tsx new file mode 100644 index 000000000..0038af598 --- /dev/null +++ b/apps/client/src/widgets/dialogs/move_to.tsx @@ -0,0 +1,95 @@ +import ReactBasicWidget from "../react/ReactBasicWidget"; +import Modal from "../react/Modal"; +import { t } from "../../services/i18n"; +import { closeActiveDialog, openDialog } from "../../services/dialog"; +import { EventData } from "../../components/app_context"; +import NoteList from "../react/NoteList"; +import FormGroup from "../react/FormGroup"; +import NoteAutocomplete from "../react/NoteAutocomplete"; +import Button from "../react/Button"; +import { useRef, useState } from "preact/compat"; +import note_autocomplete, { Suggestion } from "../../services/note_autocomplete"; +import tree from "../../services/tree"; +import froca from "../../services/froca"; +import branches from "../../services/branches"; +import toast from "../../services/toast"; + +interface MoveToDialogProps { + movedBranchIds?: string[]; +} + +function MoveToDialogComponent({ movedBranchIds }: MoveToDialogProps) { + const [ suggestion, setSuggestion ] = useState(null); + const autoCompleteRef = useRef(null); + + async function onSubmit() { + const notePath = suggestion?.notePath; + if (!notePath) { + logError(t("move_to.error_no_path")); + return; + } + + closeActiveDialog(); + const { noteId, parentNoteId } = tree.getNoteIdAndParentIdFromUrl(notePath); + if (!parentNoteId) { + return; + } + + const branchId = await froca.getBranchId(parentNoteId, noteId); + if (branchId) { + moveNotesTo(movedBranchIds, branchId); + } + } + + return ( + } + onSubmit={onSubmit} + onShown={() => { + autoCompleteRef.current?.focus(); + note_autocomplete.showRecentNotes($(autoCompleteRef.current)); + }} + > +
    {t("move_to.notes_to_move")}
    + + + + + +
    + ) +} + +export default class MoveToDialog extends ReactBasicWidget { + + private props: MoveToDialogProps = {}; + + get component() { + return ; + } + + async moveBranchIdsToEvent({ branchIds }: EventData<"moveBranchIdsTo">) { + const movedBranchIds = branchIds; + this.props = { movedBranchIds }; + this.doRender(); + openDialog(this.$widget); + } + +} + +async function moveNotesTo(movedBranchIds: string[] | undefined, parentBranchId: string) { + if (movedBranchIds) { + await branches.moveToParentNote(movedBranchIds, parentBranchId); + } + + const parentBranch = froca.getBranch(parentBranchId); + const parentNote = await parentBranch?.getNote(); + + toast.showMessage(`${t("move_to.move_success_message")} ${parentNote?.title}`); +} \ No newline at end of file diff --git a/apps/client/src/widgets/react/NoteList.tsx b/apps/client/src/widgets/react/NoteList.tsx new file mode 100644 index 000000000..db84995c0 --- /dev/null +++ b/apps/client/src/widgets/react/NoteList.tsx @@ -0,0 +1,36 @@ +import { useEffect, useState } from "preact/hooks"; +import type FNote from "../../entities/fnote"; +import froca from "../../services/froca"; +import { CSSProperties } from "preact/compat"; + +interface NoteListProps { + noteIds?: string[]; + branchIds?: string[]; + style?: CSSProperties; +} + +export default function NoteList({ noteIds, branchIds, style }: NoteListProps) { + const [ notes, setNotes ] = useState([]); + + useEffect(() => { + let notesToLoad: string[]; + if (noteIds) { + notesToLoad = noteIds; + } else if (branchIds) { + notesToLoad = froca.getBranches(branchIds).map(b => b.noteId); + } else { + notesToLoad = []; + } + froca.getNotes(notesToLoad).then((notes) => setNotes(notes)); + }, [noteIds, branchIds]); + + return (notes && +
      + {notes.map(note => ( +
    • + {note.title} +
    • + ))} +
    + ); +} \ No newline at end of file From 134c869b072182e80c1224602a3ad071f4bf7c53 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 4 Aug 2025 23:22:45 +0300 Subject: [PATCH 320/505] feat(react/dialog): port protected session password --- .../src/translations/cn/translation.json | 2 +- .../src/translations/de/translation.json | 2 +- .../src/translations/en/translation.json | 2 +- .../src/translations/es/translation.json | 2 +- .../src/translations/fr/translation.json | 2 +- .../src/translations/ro/translation.json | 2 +- .../src/translations/sr/translation.json | 2 +- .../src/translations/tw/translation.json | 2 +- .../dialogs/protected_session_password.ts | 60 ------------------- .../dialogs/protected_session_password.tsx | 50 ++++++++++++++++ apps/client/src/widgets/react/FormTextBox.tsx | 11 +++- apps/client/src/widgets/react/Modal.tsx | 2 +- 12 files changed, 68 insertions(+), 71 deletions(-) delete mode 100644 apps/client/src/widgets/dialogs/protected_session_password.ts create mode 100644 apps/client/src/widgets/dialogs/protected_session_password.tsx diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index 5eb6608a5..8b98473a6 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -253,7 +253,7 @@ "help_title": "关于保护笔记的帮助", "close_label": "关闭", "form_label": "输入密码进入保护会话以继续:", - "start_button": "开始保护会话 回车" + "start_button": "开始保护会话" }, "recent_changes": { "title": "最近修改", diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index 81277edb3..fa7a8f3b8 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -253,7 +253,7 @@ "help_title": "Hilfe zu geschützten Notizen", "close_label": "Schließen", "form_label": "Um mit der angeforderten Aktion fortzufahren, musst du eine geschützte Sitzung starten, indem du ein Passwort eingibst:", - "start_button": "Geschützte Sitzung starten enter" + "start_button": "Geschützte Sitzung starten" }, "recent_changes": { "title": "Aktuelle Änderungen", diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index e76012cf3..efa0b5d3c 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -257,7 +257,7 @@ "help_title": "Help on Protected notes", "close_label": "Close", "form_label": "To proceed with requested action you need to start protected session by entering password:", - "start_button": "Start protected session enter" + "start_button": "Start protected session" }, "recent_changes": { "title": "Recent changes", diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json index fd0326ce4..bb5a0f958 100644 --- a/apps/client/src/translations/es/translation.json +++ b/apps/client/src/translations/es/translation.json @@ -256,7 +256,7 @@ "help_title": "Ayuda sobre notas protegidas", "close_label": "Cerrar", "form_label": "Para continuar con la acción solicitada, debe iniciar en la sesión protegida ingresando la contraseña:", - "start_button": "Iniciar sesión protegida entrar" + "start_button": "Iniciar sesión protegida" }, "recent_changes": { "title": "Cambios recientes", diff --git a/apps/client/src/translations/fr/translation.json b/apps/client/src/translations/fr/translation.json index fe6869abc..3a9e4348c 100644 --- a/apps/client/src/translations/fr/translation.json +++ b/apps/client/src/translations/fr/translation.json @@ -253,7 +253,7 @@ "help_title": "Aide sur les notes protégées", "close_label": "Fermer", "form_label": "Pour procéder à l'action demandée, vous devez démarrer une session protégée en saisissant le mot de passe :", - "start_button": "Démarrer une session protégée entrer" + "start_button": "Démarrer une session protégée" }, "recent_changes": { "title": "Modifications récentes", diff --git a/apps/client/src/translations/ro/translation.json b/apps/client/src/translations/ro/translation.json index 7c1c326a2..4e47861b4 100644 --- a/apps/client/src/translations/ro/translation.json +++ b/apps/client/src/translations/ro/translation.json @@ -992,7 +992,7 @@ "form_label": "Pentru a putea continua cu acțiunea cerută este nevoie să fie pornită sesiunea protejată prin introducerea parolei:", "help_title": "Informații despre notițe protejate", "modal_title": "Sesiune protejată", - "start_button": "Pornește sesiunea protejată enter" + "start_button": "Pornește sesiunea protejată" }, "protected_session_status": { "active": "Sesiunea protejată este activă. Clic pentru a închide sesiunea protejată.", diff --git a/apps/client/src/translations/sr/translation.json b/apps/client/src/translations/sr/translation.json index 816c2f89d..b37bbd140 100644 --- a/apps/client/src/translations/sr/translation.json +++ b/apps/client/src/translations/sr/translation.json @@ -257,7 +257,7 @@ "help_title": "Pomoć za Zaštićene beleške", "close_label": "Zatvori", "form_label": "Da biste nastavili sa traženom akcijom moraćete započeti zaštićenu sesiju tako što ćete uneti lozinku:", - "start_button": "Započni zaštićenu sesiju enter" + "start_button": "Započni zaštićenu sesiju" }, "recent_changes": { "title": "Nedavne promene", diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json index 59eec1d0b..21d2e5c3c 100644 --- a/apps/client/src/translations/tw/translation.json +++ b/apps/client/src/translations/tw/translation.json @@ -231,7 +231,7 @@ "help_title": "關於保護筆記的幫助", "close_label": "關閉", "form_label": "輸入密碼進入保護會話以繼續:", - "start_button": "開始保護會話 Enter" + "start_button": "開始保護會話" }, "recent_changes": { "title": "最近修改", diff --git a/apps/client/src/widgets/dialogs/protected_session_password.ts b/apps/client/src/widgets/dialogs/protected_session_password.ts deleted file mode 100644 index 75f15684f..000000000 --- a/apps/client/src/widgets/dialogs/protected_session_password.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { openDialog } from "../../services/dialog.js"; -import { t } from "../../services/i18n.js"; -import protectedSessionService from "../../services/protected_session.js"; -import BasicWidget from "../basic_widget.js"; -import { Modal } from "bootstrap"; - -const TPL = /*html*/` -`; - -export default class ProtectedSessionPasswordDialog extends BasicWidget { - - private modal!: bootstrap.Modal; - private $passwordForm!: JQuery; - private $passwordInput!: JQuery; - - doRender() { - this.$widget = $(TPL); - this.modal = Modal.getOrCreateInstance(this.$widget[0]); - - this.$passwordForm = this.$widget.find(".protected-session-password-form"); - this.$passwordInput = this.$widget.find(".protected-session-password"); - this.$passwordForm.on("submit", () => { - const password = String(this.$passwordInput.val()); - this.$passwordInput.val(""); - - protectedSessionService.setupProtectedSession(password); - - return false; - }); - } - - showProtectedSessionPasswordDialogEvent() { - openDialog(this.$widget); - - this.$passwordInput.trigger("focus"); - } - - closeProtectedSessionPasswordDialogEvent() { - this.modal.hide(); - } -} diff --git a/apps/client/src/widgets/dialogs/protected_session_password.tsx b/apps/client/src/widgets/dialogs/protected_session_password.tsx new file mode 100644 index 000000000..37023c8d5 --- /dev/null +++ b/apps/client/src/widgets/dialogs/protected_session_password.tsx @@ -0,0 +1,50 @@ +import { useRef, useState } from "preact/hooks"; +import { closeActiveDialog, openDialog } from "../../services/dialog"; +import { t } from "../../services/i18n"; +import Button from "../react/Button"; +import FormTextBox from "../react/FormTextBox"; +import Modal from "../react/Modal"; +import ReactBasicWidget from "../react/ReactBasicWidget"; +import protected_session from "../../services/protected_session"; + +function ProtectedSessionPasswordDialogComponent() { + const [ password, setPassword ] = useState(""); + const inputRef = useRef(null); + + return ( + } + onSubmit={() => protected_session.setupProtectedSession(password)} + onShown={() => inputRef.current?.focus()} + > + + + + ) +} + +export default class ProtectedSessionPasswordDialog extends ReactBasicWidget { + + get component() { + return ; + } + + showProtectedSessionPasswordDialogEvent() { + openDialog(this.$widget); + } + + closeProtectedSessionPasswordDialogEvent() { + closeActiveDialog(); + } + +} \ No newline at end of file diff --git a/apps/client/src/widgets/react/FormTextBox.tsx b/apps/client/src/widgets/react/FormTextBox.tsx index 0a5610eb4..0a91cb935 100644 --- a/apps/client/src/widgets/react/FormTextBox.tsx +++ b/apps/client/src/widgets/react/FormTextBox.tsx @@ -1,17 +1,24 @@ +import { HTMLInputTypeAttribute } from "preact/compat"; + interface FormTextBoxProps { + id?: string; name: string; + type?: HTMLInputTypeAttribute; currentValue?: string; className?: string; + autoComplete?: string; onChange?(newValue: string): void; } -export default function FormTextBox({ name, className, currentValue, onChange }: FormTextBoxProps) { +export default function FormTextBox({ id, type, name, className, currentValue, onChange, autoComplete }: FormTextBoxProps) { return ( onChange?.(e.currentTarget.value)} /> ); } \ No newline at end of file diff --git a/apps/client/src/widgets/react/Modal.tsx b/apps/client/src/widgets/react/Modal.tsx index 0ae9541f9..677b8ef0b 100644 --- a/apps/client/src/widgets/react/Modal.tsx +++ b/apps/client/src/widgets/react/Modal.tsx @@ -6,7 +6,7 @@ import type { CSSProperties } from "preact/compat"; interface ModalProps { className: string; title: string | ComponentChildren; - size: "lg" | "sm"; + size: "lg" | "md" | "sm"; children: ComponentChildren; footer?: ComponentChildren; maxWidth?: number; From 98888d5f1d210450be37355fcb1139b94eff36ae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 01:57:06 +0000 Subject: [PATCH 321/505] chore(deps): update dependency rollup-plugin-webpack-stats to v2.1.2 --- package.json | 2 +- pnpm-lock.yaml | 26 +++++++++++--------------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index c1b0e4cf9..c4fa58eff 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "jsonc-eslint-parser": "^2.1.0", "nx": "21.3.11", "react-refresh": "^0.17.0", - "rollup-plugin-webpack-stats": "2.1.1", + "rollup-plugin-webpack-stats": "2.1.2", "tslib": "^2.3.0", "tsx": "4.20.3", "typescript": "~5.9.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0bbc0f61e..37f329413 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -130,8 +130,8 @@ importers: specifier: ^0.17.0 version: 0.17.0 rollup-plugin-webpack-stats: - specifier: 2.1.1 - version: 2.1.1(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + specifier: 2.1.2 + version: 2.1.2(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) tslib: specifier: ^2.3.0 version: 2.8.1 @@ -13181,8 +13181,8 @@ packages: resolution: {integrity: sha512-EsoOi8moHN6CAYyTZipxDDVTJn0j2nBCWor4wRU45RQ8ER2qREDykXLr3Ulz6hBh6oBKCFTQIjo21i0FXNo/IA==} hasBin: true - rollup-plugin-stats@1.4.2: - resolution: {integrity: sha512-xxWDwKDklJ2tMm+U4ZwRxtmx5laC9Dj/4uhnkNsj0MQdMEHvdbcaVjW96ew+n3U9scnmhqimX/CekuKxLfPe5A==} + rollup-plugin-stats@1.5.0: + resolution: {integrity: sha512-TsWaV7ulwPA9JhqGJemrDJkvXNeNQb60lB13gIcT2kVDXlBM/PQD3GqVyhCJpvn43Y4YT5+VmWDRsbIAbuilBA==} engines: {node: '>=18'} peerDependencies: rolldown: ^1.0.0-beta.0 @@ -13208,8 +13208,8 @@ packages: peerDependencies: rollup: ^3.0.0||^4.0.0 - rollup-plugin-webpack-stats@2.1.1: - resolution: {integrity: sha512-iDWv5bHUtgCGzSJOr37bCFzrqGzOgECXUD2smDeehVjKedlJVECZsD+urL1WGXvcGdVUxwhaKThOaTtFYqhzcg==} + rollup-plugin-webpack-stats@2.1.2: + resolution: {integrity: sha512-2YN3hTQx90wvXo7VG9/s2qKECoA+BmBiMLj4UMbP00jt3giExQYN2mOXv5mwesB48Q5syGjFYfAa1nuN9TU1Aw==} engines: {node: '>=18'} peerDependencies: rolldown: ^1.0.0-beta.0 @@ -16972,6 +16972,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-watchdog': 46.0.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.2)': dependencies: @@ -17163,8 +17165,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -17187,8 +17187,6 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -23673,8 +23671,6 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 - transitivePeerDependencies: - - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -30992,7 +30988,7 @@ snapshots: '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.29 '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.29 - rollup-plugin-stats@1.4.2(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + rollup-plugin-stats@1.5.0(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): optionalDependencies: rolldown: 1.0.0-beta.29 rollup: 4.45.1 @@ -31025,10 +31021,10 @@ snapshots: '@rollup/pluginutils': 5.1.4(rollup@4.40.0) rollup: 4.40.0 - rollup-plugin-webpack-stats@2.1.1(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + rollup-plugin-webpack-stats@2.1.2(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: rolldown: 1.0.0-beta.29 - rollup-plugin-stats: 1.4.2(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + rollup-plugin-stats: 1.5.0(rolldown@1.0.0-beta.29)(rollup@4.45.1)(vite@7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) optionalDependencies: rollup: 4.45.1 vite: 7.0.6(@types/node@22.17.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) From e9a9b462d4052b5f162e23f72bb35b4aefc96783 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 01:57:55 +0000 Subject: [PATCH 322/505] fix(deps): update dependency marked to v16.1.2 --- apps/client/package.json | 2 +- apps/server/package.json | 2 +- pnpm-lock.yaml | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index e9c9a9de6..b1be18493 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -46,7 +46,7 @@ "leaflet": "1.9.4", "leaflet-gpx": "2.2.0", "mark.js": "8.11.1", - "marked": "16.1.1", + "marked": "16.1.2", "mermaid": "11.9.0", "mind-elixir": "5.0.4", "normalize.css": "8.0.1", diff --git a/apps/server/package.json b/apps/server/package.json index 8bc00ec22..bf314e44d 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -83,7 +83,7 @@ "jimp": "1.6.0", "js-yaml": "4.1.0", "jsdom": "26.1.0", - "marked": "16.1.1", + "marked": "16.1.2", "mime-types": "3.0.1", "multer": "2.0.2", "normalize-strings": "1.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0bbc0f61e..c8e018d9d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -268,8 +268,8 @@ importers: specifier: 8.11.1 version: 8.11.1 marked: - specifier: 16.1.1 - version: 16.1.1 + specifier: 16.1.2 + version: 16.1.2 mermaid: specifier: 11.9.0 version: 11.9.0 @@ -714,8 +714,8 @@ importers: specifier: 26.1.0 version: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) marked: - specifier: 16.1.1 - version: 16.1.1 + specifier: 16.1.2 + version: 16.1.2 mime-types: specifier: 3.0.1 version: 3.0.1 @@ -10758,8 +10758,8 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - marked@16.1.1: - resolution: {integrity: sha512-ij/2lXfCRT71L6u0M29tJPhP0bM5shLL3u5BePhFwPELj2blMJ6GDtD7PfJhRLhJ/c2UwrK17ySVcDzy2YHjHQ==} + marked@16.1.2: + resolution: {integrity: sha512-rNQt5EvRinalby7zJZu/mB+BvaAY2oz3wCuCjt1RDrWNpS1Pdf9xqMOeC9Hm5adBdcV/3XZPJpG58eT+WBc0XQ==} engines: {node: '>= 20'} hasBin: true @@ -28121,7 +28121,7 @@ snapshots: markdown-table@3.0.4: {} - marked@16.1.1: {} + marked@16.1.2: {} matcher@3.0.0: dependencies: @@ -28324,7 +28324,7 @@ snapshots: katex: 0.16.22 khroma: 2.1.0 lodash-es: 4.17.21 - marked: 16.1.1 + marked: 16.1.2 roughjs: 4.6.6 stylis: 4.3.6 ts-dedent: 2.2.0 From 064f0ef921c0e0b76df1172a72c8769766a99ca1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 01:58:52 +0000 Subject: [PATCH 323/505] chore(deps): update dependency chalk to v5.5.0 --- package.json | 2 +- pnpm-lock.yaml | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index c1b0e4cf9..ba3f55d5b 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@types/node": "22.17.0", "@vitest/coverage-v8": "^3.0.5", "@vitest/ui": "^3.0.0", - "chalk": "5.4.1", + "chalk": "5.5.0", "cross-env": "10.0.0", "dpdm": "3.14.0", "esbuild": "^0.25.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0bbc0f61e..6f85be635 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -91,8 +91,8 @@ importers: specifier: ^3.0.0 version: 3.2.4(vitest@3.2.4) chalk: - specifier: 5.4.1 - version: 5.4.1 + specifier: 5.5.0 + version: 5.5.0 cross-env: specifier: 10.0.0 version: 10.0.0 @@ -7140,6 +7140,10 @@ packages: resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chalk@5.5.0: + resolution: {integrity: sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -17021,7 +17025,7 @@ snapshots: '@babel/parser': 7.28.0 '@babel/traverse': 7.28.0 '@ckeditor/ckeditor5-dev-utils': 50.3.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - chalk: 5.4.1 + chalk: 5.5.0 fs-extra: 11.3.0 glob: 11.0.3 plural-forms: 0.5.5 @@ -17073,7 +17077,7 @@ snapshots: '@ckeditor/ckeditor5-dev-translations': 50.3.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) '@types/postcss-import': 14.0.3 '@types/through2': 2.0.41 - chalk: 5.4.1 + chalk: 5.5.0 cli-cursor: 5.0.0 cli-spinners: 3.2.0 css-loader: 7.1.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) @@ -22633,7 +22637,7 @@ snapshots: '@wdio/logger@9.18.0': dependencies: - chalk: 5.4.1 + chalk: 5.5.0 loglevel: 1.9.2 loglevel-plugin-prefix: 0.8.4 safe-regex2: 5.0.0 @@ -23565,6 +23569,8 @@ snapshots: chalk@5.4.1: {} + chalk@5.5.0: {} + char-regex@1.0.2: {} character-entities-html4@2.1.0: {} From 92d9c82d97281ab7f887e875ee1bdacd958340fd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 01:58:57 +0000 Subject: [PATCH 324/505] chore(deps): update node.js to v22.18.0 --- apps/server/Dockerfile | 4 ++-- apps/server/Dockerfile.alpine | 4 ++-- apps/server/Dockerfile.alpine.rootless | 4 ++-- apps/server/Dockerfile.rootless | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/server/Dockerfile b/apps/server/Dockerfile index 7a76ff9bd..21999ea43 100644 --- a/apps/server/Dockerfile +++ b/apps/server/Dockerfile @@ -1,4 +1,4 @@ -FROM node:22.17.1-bullseye-slim AS builder +FROM node:22.18.0-bullseye-slim AS builder RUN corepack enable # Install native dependencies since we might be building cross-platform. @@ -7,7 +7,7 @@ COPY ./docker/package.json ./docker/pnpm-workspace.yaml /usr/src/app/ # We have to use --no-frozen-lockfile due to CKEditor patches RUN pnpm install --no-frozen-lockfile --prod && pnpm rebuild -FROM node:22.17.1-bullseye-slim +FROM node:22.18.0-bullseye-slim # Install only runtime dependencies RUN apt-get update && \ apt-get install -y --no-install-recommends \ diff --git a/apps/server/Dockerfile.alpine b/apps/server/Dockerfile.alpine index f91cf803c..3161b4f70 100644 --- a/apps/server/Dockerfile.alpine +++ b/apps/server/Dockerfile.alpine @@ -1,4 +1,4 @@ -FROM node:22.17.1-alpine AS builder +FROM node:22.18.0-alpine AS builder RUN corepack enable # Install native dependencies since we might be building cross-platform. @@ -7,7 +7,7 @@ COPY ./docker/package.json ./docker/pnpm-workspace.yaml /usr/src/app/ # We have to use --no-frozen-lockfile due to CKEditor patches RUN pnpm install --no-frozen-lockfile --prod && pnpm rebuild -FROM node:22.17.1-alpine +FROM node:22.18.0-alpine # Install runtime dependencies RUN apk add --no-cache su-exec shadow diff --git a/apps/server/Dockerfile.alpine.rootless b/apps/server/Dockerfile.alpine.rootless index 77d9dea41..1810d59ff 100644 --- a/apps/server/Dockerfile.alpine.rootless +++ b/apps/server/Dockerfile.alpine.rootless @@ -1,4 +1,4 @@ -FROM node:22.17.1-alpine AS builder +FROM node:22.18.0-alpine AS builder RUN corepack enable # Install native dependencies since we might be building cross-platform. @@ -7,7 +7,7 @@ COPY ./docker/package.json ./docker/pnpm-workspace.yaml /usr/src/app/ # We have to use --no-frozen-lockfile due to CKEditor patches RUN pnpm install --no-frozen-lockfile --prod && pnpm rebuild -FROM node:22.17.1-alpine +FROM node:22.18.0-alpine # Create a non-root user with configurable UID/GID ARG USER=trilium ARG UID=1001 diff --git a/apps/server/Dockerfile.rootless b/apps/server/Dockerfile.rootless index fe48523d1..fee70fa7a 100644 --- a/apps/server/Dockerfile.rootless +++ b/apps/server/Dockerfile.rootless @@ -1,4 +1,4 @@ -FROM node:22.17.1-bullseye-slim AS builder +FROM node:22.18.0-bullseye-slim AS builder RUN corepack enable # Install native dependencies since we might be building cross-platform. @@ -7,7 +7,7 @@ COPY ./docker/package.json ./docker/pnpm-workspace.yaml /usr/src/app/ # We have to use --no-frozen-lockfile due to CKEditor patches RUN pnpm install --no-frozen-lockfile --prod && pnpm rebuild -FROM node:22.17.1-bullseye-slim +FROM node:22.18.0-bullseye-slim # Create a non-root user with configurable UID/GID ARG USER=trilium ARG UID=1001 From c1259f2ea209b37c3f44a5df5e80d50a3986cebf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 02:00:27 +0000 Subject: [PATCH 325/505] chore(deps): update typescript-eslint monorepo to v8.39.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 | 226 +++++++++++++++--- 6 files changed, 203 insertions(+), 33 deletions(-) diff --git a/packages/ckeditor5-admonition/package.json b/packages/ckeditor5-admonition/package.json index 964433efc..a61de18ff 100644 --- a/packages/ckeditor5-admonition/package.json +++ b/packages/ckeditor5-admonition/package.json @@ -35,7 +35,7 @@ "@ckeditor/ckeditor5-dev-build-tools": "43.1.0", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "^4.0.0", - "@typescript-eslint/eslint-plugin": "~8.38.0", + "@typescript-eslint/eslint-plugin": "~8.39.0", "@typescript-eslint/parser": "^8.0.0", "@vitest/browser": "^3.0.5", "@vitest/coverage-istanbul": "^3.0.5", diff --git a/packages/ckeditor5-footnotes/package.json b/packages/ckeditor5-footnotes/package.json index c74eafda0..f5de208da 100644 --- a/packages/ckeditor5-footnotes/package.json +++ b/packages/ckeditor5-footnotes/package.json @@ -36,7 +36,7 @@ "@ckeditor/ckeditor5-dev-build-tools": "43.1.0", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "^4.0.0", - "@typescript-eslint/eslint-plugin": "~8.38.0", + "@typescript-eslint/eslint-plugin": "~8.39.0", "@typescript-eslint/parser": "^8.0.0", "@vitest/browser": "^3.0.5", "@vitest/coverage-istanbul": "^3.0.5", diff --git a/packages/ckeditor5-keyboard-marker/package.json b/packages/ckeditor5-keyboard-marker/package.json index bcab859e7..7ed920afa 100644 --- a/packages/ckeditor5-keyboard-marker/package.json +++ b/packages/ckeditor5-keyboard-marker/package.json @@ -38,7 +38,7 @@ "@ckeditor/ckeditor5-dev-build-tools": "43.1.0", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "^4.0.0", - "@typescript-eslint/eslint-plugin": "~8.38.0", + "@typescript-eslint/eslint-plugin": "~8.39.0", "@typescript-eslint/parser": "^8.0.0", "@vitest/browser": "^3.0.5", "@vitest/coverage-istanbul": "^3.0.5", diff --git a/packages/ckeditor5-math/package.json b/packages/ckeditor5-math/package.json index 95b2ed3a0..d03f52f9c 100644 --- a/packages/ckeditor5-math/package.json +++ b/packages/ckeditor5-math/package.json @@ -39,7 +39,7 @@ "@ckeditor/ckeditor5-dev-utils": "43.1.0", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "^4.0.0", - "@typescript-eslint/eslint-plugin": "~8.38.0", + "@typescript-eslint/eslint-plugin": "~8.39.0", "@typescript-eslint/parser": "^8.0.0", "@vitest/browser": "^3.0.5", "@vitest/coverage-istanbul": "^3.0.5", diff --git a/packages/ckeditor5-mermaid/package.json b/packages/ckeditor5-mermaid/package.json index 04b5335f2..939d34c0b 100644 --- a/packages/ckeditor5-mermaid/package.json +++ b/packages/ckeditor5-mermaid/package.json @@ -38,7 +38,7 @@ "@ckeditor/ckeditor5-dev-build-tools": "43.1.0", "@ckeditor/ckeditor5-inspector": ">=4.1.0", "@ckeditor/ckeditor5-package-tools": "^4.0.0", - "@typescript-eslint/eslint-plugin": "~8.38.0", + "@typescript-eslint/eslint-plugin": "~8.39.0", "@typescript-eslint/parser": "^8.0.0", "@vitest/browser": "^3.0.5", "@vitest/coverage-istanbul": "^3.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0bbc0f61e..42e708111 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,7 +53,7 @@ importers: version: 21.3.11(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.32.0(jiti@2.5.1))(nx@21.3.11(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/eslint-plugin': specifier: 21.3.11 - version: 21.3.11(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.11(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.9.2) + version: 21.3.11(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.11(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.9.2) '@nx/express': specifier: 21.3.11 version: 21.3.11(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.32.0(jiti@2.5.1))(express@4.21.2)(nx@21.3.11(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.17.0)(typescript@5.9.2))(typescript@5.9.2) @@ -143,7 +143,7 @@ importers: version: 5.9.2 typescript-eslint: specifier: ^8.19.0 - version: 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) upath: specifier: 2.0.1 version: 2.0.1 @@ -848,7 +848,7 @@ importers: version: 5.9.2 typescript-eslint: specifier: ^8.20.0 - version: 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) vite: specifier: ^7.0.0 version: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -893,11 +893,11 @@ importers: specifier: ^4.0.0 version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + specifier: ~8.39.0 + version: 8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.9.2))(playwright@1.54.2)(utf-8-validate@6.0.5)(vite@7.0.0(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -953,11 +953,11 @@ importers: specifier: ^4.0.0 version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + specifier: ~8.39.0 + version: 8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.9.2))(playwright@1.54.2)(utf-8-validate@6.0.5)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -1013,11 +1013,11 @@ importers: specifier: ^4.0.0 version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + specifier: ~8.39.0 + version: 8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.9.2))(playwright@1.54.2)(utf-8-validate@6.0.5)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -1080,11 +1080,11 @@ importers: specifier: ^4.0.0 version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + specifier: ~8.39.0 + version: 8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.9.2))(playwright@1.54.2)(utf-8-validate@6.0.5)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -1147,11 +1147,11 @@ importers: specifier: ^4.0.0 version: 4.0.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@24.1.0)(bufferutil@4.0.9)(esbuild@0.25.8)(utf-8-validate@6.0.5) '@typescript-eslint/eslint-plugin': - specifier: ~8.38.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + specifier: ~8.39.0 + version: 8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@vitest/browser': specifier: ^3.0.5 version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.1.0)(typescript@5.9.2))(playwright@1.54.2)(utf-8-validate@6.0.5)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)(webdriverio@9.18.4(bufferutil@4.0.9)(utf-8-validate@6.0.5)) @@ -1366,10 +1366,10 @@ importers: version: 5.21.1 '@typescript-eslint/eslint-plugin': specifier: ^8.0.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.0.0 - version: 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + version: 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) dotenv: specifier: ^17.0.0 version: 17.2.1 @@ -2212,8 +2212,8 @@ packages: '@braintree/sanitize-url@7.1.1': resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} - '@bufbuild/protobuf@2.6.2': - resolution: {integrity: sha512-vLu7SRY84CV/Dd+NUdgtidn2hS5hSMUC1vDBY0VcviTdgRYkU43vIz3vIFbmx14cX1r+mM7WjzE5Fl1fGEM0RQ==} + '@bufbuild/protobuf@2.6.3': + resolution: {integrity: sha512-w/gJKME9mYN7ZoUAmSMAWXk4hkVpxRKvEJCb3dV5g9wwWdxTJJ0ayOJAVcNxtdqaxDyFuC0uz4RSGVacJ030PQ==} '@bundled-es-modules/cookie@2.0.1': resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} @@ -6096,6 +6096,14 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/eslint-plugin@8.39.0': + resolution: {integrity: sha512-bhEz6OZeUR+O/6yx9Jk6ohX6H9JSFTaiY0v9/PuKT3oGK0rn0jNplLmyFUGV+a9gfYnVNwGDwS/UkLIuXNb2Rw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.39.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/parser@8.38.0': resolution: {integrity: sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -6103,22 +6111,45 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/parser@8.39.0': + resolution: {integrity: sha512-g3WpVQHngx0aLXn6kfIYCZxM6rRJlWzEkVpqEFLT3SgEDsp9cpCbxxgwnE504q4H+ruSDh/VGS6nqZIDynP+vg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/project-service@8.38.0': resolution: {integrity: sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/project-service@8.39.0': + resolution: {integrity: sha512-CTzJqaSq30V/Z2Og9jogzZt8lJRR5TKlAdXmWgdu4hgcC9Kww5flQ+xFvMxIBWVNdxJO7OifgdOK4PokMIWPew==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/scope-manager@8.38.0': resolution: {integrity: sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.39.0': + resolution: {integrity: sha512-8QOzff9UKxOh6npZQ/4FQu4mjdOCGSdO3p44ww0hk8Vu+IGbg0tB/H1LcTARRDzGCC8pDGbh2rissBuuoPgH8A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.38.0': resolution: {integrity: sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/tsconfig-utils@8.39.0': + resolution: {integrity: sha512-Fd3/QjmFV2sKmvv3Mrj8r6N8CryYiCS8Wdb/6/rgOXAWGcFuc+VkQuG28uk/4kVNVZBQuuDHEDUpo/pQ32zsIQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/type-utils@8.38.0': resolution: {integrity: sha512-c7jAvGEZVf0ao2z+nnz8BUaHZD09Agbh+DY7qvBQqLiz8uJzRgVPj5YvOh8I8uEiH8oIUGIfHzMwUcGVco/SJg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -6126,16 +6157,33 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/type-utils@8.39.0': + resolution: {integrity: sha512-6B3z0c1DXVT2vYA9+z9axjtc09rqKUPRmijD5m9iv8iQpHBRYRMBcgxSiKTZKm6FwWw1/cI4v6em35OsKCiN5Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/types@8.38.0': resolution: {integrity: sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.39.0': + resolution: {integrity: sha512-ArDdaOllnCj3yn/lzKn9s0pBQYmmyme/v1HbGIGB0GB/knFI3fWMHloC+oYTJW46tVbYnGKTMDK4ah1sC2v0Kg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.38.0': resolution: {integrity: sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/typescript-estree@8.39.0': + resolution: {integrity: sha512-ndWdiflRMvfIgQRpckQQLiB5qAKQ7w++V4LlCHwp62eym1HLB/kw7D9f2e8ytONls/jt89TEasgvb+VwnRprsw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/utils@8.38.0': resolution: {integrity: sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -6143,10 +6191,21 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@8.39.0': + resolution: {integrity: sha512-4GVSvNA0Vx1Ktwvf4sFE+exxJ3QGUorQG1/A5mRfRNZtkBT2xrA/BCO2H0eALx/PnvCS6/vmYwRdDA41EoffkQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/visitor-keys@8.38.0': resolution: {integrity: sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.39.0': + resolution: {integrity: sha512-ldgiJ+VAhQCfIjeOgu8Kj5nSxds0ktPOSO9p4+0VDH2R2pLvQraaM5Oen2d7NxzMCm+Sn/vJT+mv2H5u6b/3fA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} @@ -14545,6 +14604,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + typescript-eslint@8.39.0: + resolution: {integrity: sha512-lH8FvtdtzcHJCkMOKnN73LIn6SLTpoojgJqDAxPm1jCR14eWSGPX8ul/gggBdPMk/d5+u9V854vTYQ8T5jF/1Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + typescript@5.0.4: resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} engines: {node: '>=12.20'} @@ -16728,7 +16794,7 @@ snapshots: '@braintree/sanitize-url@7.1.1': {} - '@bufbuild/protobuf@2.6.2': + '@bufbuild/protobuf@2.6.3': optional: true '@bundled-es-modules/cookie@2.0.1': @@ -18517,7 +18583,7 @@ snapshots: '@es-joy/jsdoccomment@0.50.2': dependencies: '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/types': 8.39.0 comment-parser: 1.4.1 esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 @@ -19904,12 +19970,12 @@ snapshots: - supports-color - verdaccio - '@nx/eslint-plugin@21.3.11(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.11(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.9.2)': + '@nx/eslint-plugin@21.3.11(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(nx@21.3.11(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.9.2)': dependencies: '@nx/devkit': 21.3.11(nx@21.3.11(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@nx/js': 21.3.11(patch_hash=7201af3a8fb4840b046e4e18cc2758fa67ee3d0cf11d0783869dc828cfc79fc7)(@babel/traverse@7.28.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.3.11(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.9.2))(@swc/core@1.11.29(@swc/helpers@0.5.17))) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.9.2) - '@typescript-eslint/parser': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/type-utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) chalk: 4.1.2 @@ -22237,6 +22303,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.39.0 + '@typescript-eslint/type-utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.39.0 + eslint: 9.32.0(jiti@2.5.1) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 8.38.0 @@ -22249,6 +22332,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)': + dependencies: + '@typescript-eslint/scope-manager': 8.39.0 + '@typescript-eslint/types': 8.39.0 + '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.39.0 + debug: 4.4.1(supports-color@6.0.0) + eslint: 9.32.0(jiti@2.5.1) + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/project-service@8.38.0(typescript@5.9.2)': dependencies: '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.9.2) @@ -22258,15 +22353,33 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/project-service@8.39.0(typescript@5.9.2)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@5.9.2) + '@typescript-eslint/types': 8.39.0 + debug: 4.4.1(supports-color@6.0.0) + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@8.38.0': dependencies: '@typescript-eslint/types': 8.38.0 '@typescript-eslint/visitor-keys': 8.38.0 + '@typescript-eslint/scope-manager@8.39.0': + dependencies: + '@typescript-eslint/types': 8.39.0 + '@typescript-eslint/visitor-keys': 8.39.0 + '@typescript-eslint/tsconfig-utils@8.38.0(typescript@5.9.2)': dependencies: typescript: 5.9.2 + '@typescript-eslint/tsconfig-utils@8.39.0(typescript@5.9.2)': + dependencies: + typescript: 5.9.2 + '@typescript-eslint/type-utils@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/types': 8.38.0 @@ -22279,8 +22392,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)': + dependencies: + '@typescript-eslint/types': 8.39.0 + '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + debug: 4.4.1(supports-color@6.0.0) + eslint: 9.32.0(jiti@2.5.1) + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@8.38.0': {} + '@typescript-eslint/types@8.39.0': {} + '@typescript-eslint/typescript-estree@8.38.0(typescript@5.9.2)': dependencies: '@typescript-eslint/project-service': 8.38.0(typescript@5.9.2) @@ -22297,6 +22424,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.39.0(typescript@5.9.2)': + dependencies: + '@typescript-eslint/project-service': 8.39.0(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@5.9.2) + '@typescript-eslint/types': 8.39.0 + '@typescript-eslint/visitor-keys': 8.39.0 + debug: 4.4.1(supports-color@6.0.0) + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) @@ -22308,11 +22451,27 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) + '@typescript-eslint/scope-manager': 8.39.0 + '@typescript-eslint/types': 8.39.0 + '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2) + eslint: 9.32.0(jiti@2.5.1) + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@8.38.0': dependencies: '@typescript-eslint/types': 8.38.0 eslint-visitor-keys: 4.2.1 + '@typescript-eslint/visitor-keys@8.39.0': + dependencies: + '@typescript-eslint/types': 8.39.0 + eslint-visitor-keys: 4.2.1 + '@ungap/structured-clone@1.3.0': {} '@unrs/resolver-binding-android-arm-eabi@1.11.1': @@ -26250,7 +26409,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.0.4 once: 1.4.0 path-is-absolute: 1.0.1 @@ -31231,7 +31390,7 @@ snapshots: sass-embedded@1.87.0: dependencies: - '@bufbuild/protobuf': 2.6.2 + '@bufbuild/protobuf': 2.6.3 buffer-builder: 0.2.0 colorjs.io: 0.5.2 immutable: 5.1.3 @@ -32746,6 +32905,17 @@ snapshots: transitivePeerDependencies: - supports-color + typescript-eslint@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2): + dependencies: + '@typescript-eslint/eslint-plugin': 8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.32.0(jiti@2.5.1) + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + typescript@5.0.4: {} typescript@5.8.2: {} From 11b247fe07e78996c3c36aeb545e03cf602337f8 Mon Sep 17 00:00:00 2001 From: Marcelo Nolasco Date: Mon, 4 Aug 2025 00:42:55 +0200 Subject: [PATCH 326/505] Translated using Weblate (Portuguese (Brazil)) Currently translated at 3.8% (60 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/pt_BR/ --- .../src/translations/pt_br/translation.json | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/apps/client/src/translations/pt_br/translation.json b/apps/client/src/translations/pt_br/translation.json index 9e8e540c9..79f63ee2d 100644 --- a/apps/client/src/translations/pt_br/translation.json +++ b/apps/client/src/translations/pt_br/translation.json @@ -3,5 +3,88 @@ "theme_none": "Sem destaque de sintaxe", "theme_group_light": "Temas claros", "theme_group_dark": "Temas escuros" + }, + "about": { + "title": "Sobre o Trilium Notes", + "close": "Fechar", + "homepage": "Página inicial:", + "app_version": "Versão do App:", + "db_version": "Versão do db:", + "sync_version": "Versão de sincronização:", + "build_date": "Data de compilação:", + "build_revision": "Revisão da compilação:", + "data_directory": "Diretório de dados:" + }, + "toast": { + "critical-error": { + "title": "Erro crítico", + "message": "Ocorreu um erro crítico que impede a inicialização do aplicativo cliente:\n\n{{message}}\n\nIsso provavelmente foi causado por um script que falhou de maneira inesperada. Tente iniciar o aplicativo no modo seguro e resolva o problema." + }, + "widget-error": { + "title": "Falha ao inicializar um widget", + "message-custom": "O widget personalizado da nota com ID \"{{id}}\", intitulada \"{{title}}\", não pôde ser inicializado devido a:\n\n{{message}}", + "message-unknown": "Widget desconhecido não pôde ser inicializado devido a:\n\n{{message}}" + }, + "bundle-error": { + "title": "Falha para carregar o script customizado", + "message": "O script da nota com ID \"{{id}}\", intitulada \"{{title}}\", não pôde ser executado devido a:\n\n{{message}}" + } + }, + "add_link": { + "add_link": "Adicionar link", + "help_on_links": "Ajuda sobre links", + "close": "Fechar", + "note": "Nota", + "search_note": "pesquisar nota pelo nome", + "link_title_mirrors": "o título do link reflete o título atual da nota", + "link_title_arbitrary": "o título do link pode ser alterado livremente", + "link_title": "Titulo do link", + "button_add_link": "Adicionar link enter" + }, + "branch_prefix": { + "close": "Fechar", + "prefix": "Prefixo: ", + "save": "Salvar" + }, + "bulk_actions": { + "bulk_actions": "Ações em massa", + "close": "Fechar", + "affected_notes": "Notas Afetadas", + "include_descendants": "Incluir notas filhas das notas selecionadas", + "available_actions": "Ações disponíveis", + "chosen_actions": "Ações selecionadas", + "execute_bulk_actions": "Executar ações em massa", + "bulk_actions_executed": "As ações em massa foram concluídas com sucesso.", + "none_yet": "Nenhuma até agora... adicione uma ação clicando em uma das disponíveis acima.", + "labels": "Etiquetas", + "relations": "Relações", + "notes": "Notas", + "other": "Outros" + }, + "clone_to": { + "clone_notes_to": "Clonar notas para...", + "close": "Fechar", + "help_on_links": "Ajuda sobre links", + "notes_to_clone": "Notas para clonar", + "search_for_note_by_its_name": "pesquisar nota pelo nome", + "cloned_note_prefix_title": "A nota clonada aparecerá na árvore de notas com o prefixo fornecido", + "prefix_optional": "Prefixo (opcional)", + "no_path_to_clone_to": "Nenhum caminho para clonar." + }, + "ai_llm": { + "n_notes_queued_0": "{{ count }} nota enfileirada para indexação", + "n_notes_queued_1": "{{ count }} notas enfileiradas para indexação", + "n_notes_queued_2": "{{ count }} notas enfileiradas para indexação", + "notes_indexed_0": "{{ count }} nota indexada", + "notes_indexed_1": "{{ count }} notas indexadas", + "notes_indexed_2": "{{ count }} notas indexadas" + }, + "confirm": { + "confirmation": "Confirmação", + "close": "Fechar", + "cancel": "Cancelar", + "ok": "OK", + "are_you_sure_remove_note": "Tem certeza de que deseja remover a nota '{{title}}' do mapa de relações? ", + "if_you_dont_check": "Se você não marcar isso, a nota será removida apenas do mapa de relações." } } From 19de803142e8fc69dff0899a25b2cedddf3cdd04 Mon Sep 17 00:00:00 2001 From: Marcelo Nolasco Date: Mon, 4 Aug 2025 04:53:08 +0200 Subject: [PATCH 327/505] Translated using Weblate (Portuguese (Brazil)) Currently translated at 75.3% (285 of 378 strings) Translation: Trilium Notes/Server Translate-URL: https://hosted.weblate.org/projects/trilium/server/pt_BR/ --- .../src/assets/translations/pt_br/server.json | 506 +++++++++++------- 1 file changed, 315 insertions(+), 191 deletions(-) diff --git a/apps/server/src/assets/translations/pt_br/server.json b/apps/server/src/assets/translations/pt_br/server.json index faee94622..002098504 100644 --- a/apps/server/src/assets/translations/pt_br/server.json +++ b/apps/server/src/assets/translations/pt_br/server.json @@ -1,193 +1,317 @@ { - "keyboard_actions": { - "open-jump-to-note-dialog": "Abir \"Pular para nota\" dialog", - "search-in-subtree": "Procurar por notas na subárvore ativa", - "expand-subtree": "Expandir subárvore da nota atual", - "collapse-tree": "Colapsar a árvore completa de notas", - "collapse-subtree": "Colapsar subárvore da nota atual", - "sort-child-notes": "Ordenar notas filhas", - "creating-and-moving-notes": "Criando e movendo notas", - "create-note-into-inbox": "Crie uma nota na caixa de entrada (se definida) ou na nota do dia.", - "delete-note": "Deletar nota", - "move-note-up": "Mover nota para cima", - "move-note-down": "Mover nota para baixo", - "move-note-up-in-hierarchy": "Mover nota para cima em hierarquia", - "move-note-down-in-hierarchy": "Mover nota para baixo em hierarquia", - "edit-note-title": "Pule da árvore para os detalhes da nota e edite o título", - "edit-branch-prefix": "Exibir o diálogo de edição do prefixo da branch", - "note-clipboard": "Área de transferência de notas", - "copy-notes-to-clipboard": "Copiar notas selecionadas para Área de transferência", - "paste-notes-from-clipboard": "Colar notas da área de transferência na nota ativa", - "cut-notes-to-clipboard": "Recortar as notas selecionadas para a área de transferência", - "select-all-notes-in-parent": "Selecionar todas as notas do nível atual da nota", - "add-note-above-to-the-selection": "Adicionar nota acima à seleção", - "add-note-below-to-selection": "Adicionar nota abaixo à seleção", - "duplicate-subtree": "Duplicar subárvores", - "tabs-and-windows": "Abas & Janelas", - "open-new-tab": "Abre nova aba", - "close-active-tab": "Fecha aba ativa", - "reopen-last-tab": "Reabre a última aba fechada", - "activate-next-tab": "Ativa aba à direita", - "activate-previous-tab": "Ativa aba à esquerda", - "open-new-window": "Abre nova janela vazia", - "toggle-tray": "Mostrar/ocultar o aplicativo da bandeja do sistema", - "first-tab": "Ativa a primeira aba na lista", - "second-tab": "Ativa a segunda aba na lista", - "third-tab": "Ativa a terceira aba na lista", - "fourth-tab": "Ativa a quarta aba na lista", - "fifth-tab": "Ativa a quinta aba na lista", - "sixth-tab": "Ativa a sexta aba na lista", - "seventh-tab": "Ativa a sétima aba na lista", - "eight-tab": "Ativa a oitava aba na lista", - "ninth-tab": "Ativa a nona aba na lista", - "last-tab": "Ativa a última aba na lista", - "dialogs": "Dialogs", - "show-note-source": "Exibe o log de origem da nota", - "show-options": "Mostrar log de configurações", - "show-revisions": "Exibe log de revisões de nota", - "show-recent-changes": "Exibe o log de alterações recentes", - "show-sql-console": "Exibe o log do console SQL", - "show-backend-log": "Exibe o log do backend", - "text-note-operations": "Operações de nota de texto", - "add-link-to-text": "Abrir log e adcionar link ao texto", - "follow-link-under-cursor": "Seguir o link sob o cursor", - "insert-date-and-time-to-text": "Inserir data e hora atuais no texto", - "paste-markdown-into-text": "Colar Markdown da área de transferência em nota de texto", - "cut-into-note": "Corta a seleção da nota atual e cria uma subnota com o texto selecionado", - "add-include-note-to-text": "Abre o log para incluir uma nota", - "edit-readonly-note": "Editar uma nota somente leitura", - "attributes-labels-and-relations": "Atributos (rótulos e relações)", - "add-new-label": "Criar novo rótulo", - "create-new-relation": "Criar nova relação", - "ribbon-tabs": "Abas da faixa", - "toggle-basic-properties": "Alterar Propriedades Básicas", - "toggle-file-properties": "Alterar Propriedades do Arquivo", - "toggle-image-properties": "Alterar Propriedades da Imagem", - "toggle-owned-attributes": "Alterar Atributos Próprios", - "toggle-inherited-attributes": "Alterar Atributos Herdados", - "toggle-promoted-attributes": "Alternar Atributos Promovidos", - "toggle-link-map": "Alternar Mapa de Links", - "toggle-note-info": "Alternar Informações da Nota", - "toggle-note-paths": "Alternar Caminhos da Nota", - "toggle-similar-notes": "Alternar Notas Similares", - "other": "Outros", - "toggle-right-pane": "Alternar a exibição do painel direito, que inclui Sumário e Destaques", - "print-active-note": "Imprimir nota ativa", - "open-note-externally": "Abrir nota como arquivo no aplicativo padrão", - "render-active-note": "Renderizar (re-renderizar) nota ativa", - "run-active-note": "Executar código JavaScript (frontend/backend) da nota", - "toggle-note-hoisting": "Alternar a elevação da nota ativa", - "unhoist": "Desfazer elevação de tudo", - "reload-frontend-app": "Recarregar Interface", - "open-dev-tools": "Abrir ferramentas de desenvolvedor", - "toggle-left-note-tree-panel": "Alternar painel esquerdo (árvore de notas)", - "toggle-full-screen": "Alternar para tela cheia", - "zoom-out": "Diminuir zoom", - "zoom-in": "Aumentar zoom", - "note-navigation": "Navegação de notas", - "reset-zoom-level": "Redefinir nível de zoom", - "copy-without-formatting": "Copiar texto selecionado sem formatação", - "force-save-revision": "Forçar a criação/salvamento de uma nova revisão da nota ativa", - "show-help": "Exibir Ajuda integrada / colinha", - "toggle-book-properties": "Alternar propriedades do book", - "toggle-classic-editor-toolbar": "Alternar a aba de Formatação no editor com barra de ferramentas fixa" - }, - "login": { - "title": "Login", - "heading": "Trilium login", - "incorrect-password": "Senha incorreta. Tente novamente.", - "password": "Senha", - "remember-me": "Lembrar", - "button": "Login" - }, - "set_password": { - "title": "Definir senha", - "heading": "Definir senha", - "description": "Antes de começar a usar o Trilium web, você precisa definir uma senha. Você usará essa senha para fazer login.", - "password": "Senha", - "password-confirmation": "Confirmar Senha", - "button": "Definir senha" - }, - "javascript-required": "Trilium precisa que JavaScript esteja habilitado.", - "setup": { - "heading": "Trilium Notes setup", - "new-document": "Sou um novo usuário e quero criar um novo documento Trilium para minhas notas", - "sync-from-desktop": "Já tenho uma instância no desktop e quero configurar a sincronização com ela", - "sync-from-server": "Já tenho uma instância no servidor e quero configurar a sincronização com ela", - "next": "Avançar", - "init-in-progress": "Inicialização do documento em andamento", - "redirecting": "Você será redirecionado para o aplicativo em breve.", - "title": "Setup" - }, - "setup_sync-from-desktop": { - "heading": "Sincronizar com Desktop", - "description": "Esta configuração deve ser iniciada a partir da instância do desktop:", - "step1": "Abra sua instância do Trilium Notes no desktop.", - "step2": "No menu do Trilium, clique em Opções.", - "step3": "Clique na categoria Sincronização.", - "step4": "Altere o endereço da instância do servidor para: {{- host}} e clique em Salvar.", - "step5": "Clique no botão \"Testar sincronização\" para verificar se a conexão foi bem-sucedida.", - "step6": "Depois de concluir essas etapas, clique em {{- link}}.", - "step6-here": "Aqui" - }, - "setup_sync-from-server": { - "heading": "Sincronizar do Servidor", - "instructions": "Por favor, insira abaixo o endereço e as credenciais do servidor Trilium. Isso fará o download de todo o documento Trilium do servidor e configurará a sincronização com ele. Dependendo do tamanho do documento e da velocidade da conexão, isso pode levar algum tempo.", - "server-host": "Endereço do servidor Trilium", - "server-host-placeholder": "https://:", - "proxy-server": "Servidor proxy (opcional)", - "proxy-server-placeholder": "https://:", - "note": "Nota:", - "proxy-instruction": "Se você deixar o campo de proxy em branco, o proxy do sistema será usado (aplicável apenas ao aplicativo desktop)", - "password": "Senha", - "password-placeholder": "Senha", - "back": "Voltar", - "finish-setup": "Terminar configuração" - }, - "setup_sync-in-progress": { - "heading": "Sincronização em andamento", - "successful": "A sincronização foi configurada corretamente. Levará algum tempo para que a sincronização inicial seja concluída. Quando terminar, você será redirecionado para a página de login.", - "outstanding-items": "Itens de sincronização pendentes:", - "outstanding-items-default": "N/A" - }, - "share_404": { - "title": "Não encontrado", - "heading": "Não encontrado" - }, - "share_page": { - "parent": "pai:", - "clipped-from": "Esta nota foi originalmente extraída de {{- url}}", - "child-notes": "Notas filhas:", - "no-content": "Esta nota não possui conteúdo." - }, - "weekdays": { - "monday": "Segunda-feira", - "tuesday": "Terça-feira", - "wednesday": "Quarta-feira", - "thursday": "Quinta-feira", - "friday": "Sexta-feira", - "saturday": "Sábado", - "sunday": "Domingo" - }, - "months": { - "january": "Janeiro", - "february": "Fevereiro", - "march": "Março", - "april": "Abril", - "may": "Maio", - "june": "Junho", - "july": "Julho", - "august": "Agosto", - "september": "Setembro", - "october": "Outubro", - "november": "Novembro", - "december": "Dezembro" - }, - "special_notes": { - "search_prefix": "Pesquisar:" - }, - "test_sync": { - "not-configured": "O host do servidor de sincronização não está configurado. Por favor, configure a sincronização primeiro.", - "successful": "A comunicação com o servidor de sincronização foi bem-sucedida, a sincronização foi iniciada." - } + "keyboard_actions": { + "open-jump-to-note-dialog": "Abrir diálogo \"Ir para nota\"", + "search-in-subtree": "Procurar por notas na subárvore ativa", + "expand-subtree": "Expandir subárvore da nota atual", + "collapse-tree": "Colapsar a árvore completa de notas", + "collapse-subtree": "Colapsar subárvore da nota atual", + "sort-child-notes": "Ordenar notas filhas", + "creating-and-moving-notes": "Criando e movendo notas", + "create-note-into-inbox": "Crie uma nota na caixa de entrada (se definida) ou na nota do dia", + "delete-note": "Deletar nota", + "move-note-up": "Mover nota para cima", + "move-note-down": "Mover nota para baixo", + "move-note-up-in-hierarchy": "Mover nota para cima em hierarquia", + "move-note-down-in-hierarchy": "Mover nota para baixo em hierarquia", + "edit-note-title": "Pule da árvore para os detalhes da nota e edite o título", + "edit-branch-prefix": "Exibir o diálogo de edição do prefixo da branch", + "note-clipboard": "Área de transferência de notas", + "copy-notes-to-clipboard": "Copiar notas selecionadas para Área de transferência", + "paste-notes-from-clipboard": "Colar notas da área de transferência na nota ativa", + "cut-notes-to-clipboard": "Recortar as notas selecionadas para a área de transferência", + "select-all-notes-in-parent": "Selecionar todas as notas do nível atual da nota", + "add-note-above-to-the-selection": "Adicionar nota acima à seleção", + "add-note-below-to-selection": "Adicionar nota abaixo à seleção", + "duplicate-subtree": "Duplicar subárvores", + "tabs-and-windows": "Abas & Janelas", + "open-new-tab": "Abre nova aba", + "close-active-tab": "Fecha aba ativa", + "reopen-last-tab": "Reabre a última aba fechada", + "activate-next-tab": "Ativa aba à direita", + "activate-previous-tab": "Ativa aba à esquerda", + "open-new-window": "Abre nova janela vazia", + "toggle-tray": "Mostrar/ocultar o aplicativo da bandeja do sistema", + "first-tab": "Ativa a primeira aba na lista", + "second-tab": "Ativa a segunda aba na lista", + "third-tab": "Ativa a terceira aba na lista", + "fourth-tab": "Ativa a quarta aba na lista", + "fifth-tab": "Ativa a quinta aba na lista", + "sixth-tab": "Ativa a sexta aba na lista", + "seventh-tab": "Ativa a sétima aba na lista", + "eight-tab": "Ativa a oitava aba na lista", + "ninth-tab": "Ativa a nona aba na lista", + "last-tab": "Ativa a última aba na lista", + "dialogs": "Diálogos", + "show-note-source": "Exibe o log de origem da nota", + "show-options": "Mostrar log de configurações", + "show-revisions": "Exibe log de revisões de nota", + "show-recent-changes": "Exibe o log de alterações recentes", + "show-sql-console": "Exibe o log do console SQL", + "show-backend-log": "Exibe o log do backend", + "text-note-operations": "Operações de nota de texto", + "add-link-to-text": "Abrir log e adcionar link ao texto", + "follow-link-under-cursor": "Seguir o link sob o cursor", + "insert-date-and-time-to-text": "Inserir data e hora atuais no texto", + "paste-markdown-into-text": "Colar Markdown da área de transferência em nota de texto", + "cut-into-note": "Corta a seleção da nota atual e cria uma subnota com o texto selecionado", + "add-include-note-to-text": "Abre o log para incluir uma nota", + "edit-readonly-note": "Editar uma nota somente leitura", + "attributes-labels-and-relations": "Atributos (rótulos e relações)", + "add-new-label": "Criar novo rótulo", + "create-new-relation": "Criar nova relação", + "ribbon-tabs": "Abas da faixa", + "toggle-basic-properties": "Alterar Propriedades Básicas", + "toggle-file-properties": "Alterar Propriedades do Arquivo", + "toggle-image-properties": "Alterar Propriedades da Imagem", + "toggle-owned-attributes": "Alterar Atributos Próprios", + "toggle-inherited-attributes": "Alterar Atributos Herdados", + "toggle-promoted-attributes": "Alternar Atributos Promovidos", + "toggle-link-map": "Alternar Mapa de Links", + "toggle-note-info": "Alternar Informações da Nota", + "toggle-note-paths": "Alternar Caminhos da Nota", + "toggle-similar-notes": "Alternar Notas Similares", + "other": "Outros", + "toggle-right-pane": "Alternar a exibição do painel direito, que inclui Sumário e Destaques", + "print-active-note": "Imprimir nota atual", + "open-note-externally": "Abrir nota como arquivo no aplicativo padrão", + "render-active-note": "Renderizar (re-renderizar) nota ativa", + "run-active-note": "Executar código JavaScript (frontend/backend) da nota", + "toggle-note-hoisting": "Alternar a elevação da nota ativa", + "unhoist": "Desfazer elevação de tudo", + "reload-frontend-app": "Recarregar Interface", + "open-dev-tools": "Abrir ferramentas de desenvolvedor", + "toggle-left-note-tree-panel": "Alternar painel esquerdo (árvore de notas)", + "toggle-full-screen": "Alternar para tela cheia", + "zoom-out": "Diminuir zoom", + "zoom-in": "Aumentar zoom", + "note-navigation": "Navegação de notas", + "reset-zoom-level": "Redefinir nível de zoom", + "copy-without-formatting": "Copiar texto selecionado sem formatação", + "force-save-revision": "Forçar a criação/salvamento de uma nova revisão da nota ativa", + "show-help": "Exibir Ajuda integrada / colinha", + "toggle-book-properties": "Alternar propriedades do book", + "toggle-classic-editor-toolbar": "Alternar a aba de Formatação no editor com barra de ferramentas fixa", + "back-in-note-history": "Navegar para a nota anterior no histórico", + "forward-in-note-history": "Navegar para a próxima nota no histórico", + "open-command-palette": "Abrir paleta de comandos", + "scroll-to-active-note": "Rolar a árvore de notas até a nota ativa", + "quick-search": "Ativar barra de busca rápida", + "create-note-after": "Criar nota após nota ativa", + "create-note-into": "Criar nota como subnota da nota ativa", + "clone-notes-to": "Clonar notas selecionadas", + "move-notes-to": "Mover notas selecionadas", + "find-in-text": "Alternar painel de busca", + "export-as-pdf": "Exportar a nota atual como PDF", + "toggle-zen-mode": "Ativa/desativa o modo zen (interface mínima para uma edição mais focada)", + "show-cheatsheet": "Exibir um modal com operações comuns de teclado" + }, + "login": { + "title": "Login", + "heading": "Trilium login", + "incorrect-password": "Senha incorreta. Tente novamente.", + "password": "Senha", + "remember-me": "Lembrar", + "button": "Login", + "incorrect-totp": "O código TOTP está incorreto. Por favor, tente novamente.", + "sign_in_with_sso": "Fazer login com {{ ssoIssuerName }}" + }, + "set_password": { + "title": "Definir senha", + "heading": "Definir senha", + "description": "Antes de começar a usar o Trilium web, você precisa definir uma senha. Você usará essa senha para fazer login.", + "password": "Senha", + "password-confirmation": "Confirmar Senha", + "button": "Definir senha" + }, + "javascript-required": "Trilium precisa que JavaScript esteja habilitado.", + "setup": { + "heading": "Trilium Notes setup", + "new-document": "Sou um novo usuário e quero criar um novo documento Trilium para minhas notas", + "sync-from-desktop": "Já tenho uma instância no desktop e quero configurar a sincronização com ela", + "sync-from-server": "Já tenho uma instância no servidor e quero configurar a sincronização com ela", + "next": "Avançar", + "init-in-progress": "Inicialização do documento em andamento", + "redirecting": "Você será redirecionado para o aplicativo em breve.", + "title": "Setup" + }, + "setup_sync-from-desktop": { + "heading": "Sincronizar com Desktop", + "description": "Esta configuração deve ser iniciada a partir da instância do desktop:", + "step1": "Abra sua instância do Trilium Notes no desktop.", + "step2": "No menu do Trilium, clique em Opções.", + "step3": "Clique na categoria Sincronização.", + "step4": "Altere o endereço da instância do servidor para: {{- host}} e clique em Salvar.", + "step5": "Clique no botão \"Testar sincronização\" para verificar se a conexão foi bem-sucedida.", + "step6": "Depois de concluir essas etapas, clique em {{- link}}.", + "step6-here": "Aqui" + }, + "setup_sync-from-server": { + "heading": "Sincronizar do Servidor", + "instructions": "Por favor, insira abaixo o endereço e as credenciais do servidor Trilium. Isso fará o download de todo o documento Trilium do servidor e configurará a sincronização com ele. Dependendo do tamanho do documento e da velocidade da conexão, isso pode levar algum tempo.", + "server-host": "Endereço do servidor Trilium", + "server-host-placeholder": "https://:", + "proxy-server": "Servidor proxy (opcional)", + "proxy-server-placeholder": "https://:", + "note": "Nota:", + "proxy-instruction": "Se você deixar o campo de proxy em branco, o proxy do sistema será usado (aplicável apenas ao aplicativo desktop)", + "password": "Senha", + "password-placeholder": "Senha", + "back": "Voltar", + "finish-setup": "Terminar configuração" + }, + "setup_sync-in-progress": { + "heading": "Sincronização em andamento", + "successful": "A sincronização foi configurada corretamente. Levará algum tempo para que a sincronização inicial seja concluída. Quando terminar, você será redirecionado para a página de login.", + "outstanding-items": "Itens de sincronização pendentes:", + "outstanding-items-default": "N/A" + }, + "share_404": { + "title": "Não encontrado", + "heading": "Não encontrado" + }, + "share_page": { + "parent": "pai:", + "clipped-from": "Esta nota foi originalmente extraída de {{- url}}", + "child-notes": "Notas filhas:", + "no-content": "Esta nota não possui conteúdo." + }, + "weekdays": { + "monday": "Segunda-feira", + "tuesday": "Terça-feira", + "wednesday": "Quarta-feira", + "thursday": "Quinta-feira", + "friday": "Sexta-feira", + "saturday": "Sábado", + "sunday": "Domingo" + }, + "months": { + "january": "Janeiro", + "february": "Fevereiro", + "march": "Março", + "april": "Abril", + "may": "Maio", + "june": "Junho", + "july": "Julho", + "august": "Agosto", + "september": "Setembro", + "october": "Outubro", + "november": "Novembro", + "december": "Dezembro" + }, + "special_notes": { + "search_prefix": "Pesquisar:" + }, + "test_sync": { + "not-configured": "O host do servidor de sincronização não está configurado. Por favor, configure a sincronização primeiro.", + "successful": "A comunicação com o servidor de sincronização foi bem-sucedida, a sincronização foi iniciada." + }, + "keyboard_action_names": { + "back-in-note-history": "Voltar no histórico da nota", + "forward-in-note-history": "Avançar no histórico da nota", + "jump-to-note": "Ir para...", + "command-palette": "Paleta de Comandos", + "scroll-to-active-note": "Rolar até a nota atual", + "quick-search": "Busca Rápida", + "search-in-subtree": "Buscar na subárvore", + "expand-subtree": "Expandir subárvore", + "collapse-tree": "Recolher Árvore", + "collapse-subtree": "Recolher Subárvore", + "sort-child-notes": "Ordenar Notas Filhas", + "create-note-after": "Criar Nota Após", + "create-note-into": "Criar Nota Dentro", + "create-note-into-inbox": "Criar Nota na Caixa de Entrada", + "delete-notes": "Excluir Notas", + "move-note-up": "Mover Nota Para Cima", + "move-note-down": "Mover Nota Para Baixo", + "move-note-up-in-hierarchy": "Mover Nota Para Cima na Hierarquia", + "move-note-down-in-hierarchy": "Mover Nota Para Baixo na Hierarquia", + "edit-note-title": "Editar Título da Nota", + "edit-branch-prefix": "Editar Prefixo do Branch", + "clone-notes-to": "Clonar Notas Para", + "move-notes-to": "Mover Notas Para", + "copy-notes-to-clipboard": "Copiar Notas para a Área de Transferência", + "paste-notes-from-clipboard": "Colar Notas da Área de Transferência", + "cut-notes-to-clipboard": "Recortar Notas para a Área de Transferência", + "select-all-notes-in-parent": "Selecionar Todas as Notas no Pai", + "add-note-above-to-selection": "Adicionar Nota Acima à Seleção", + "add-note-below-to-selection": "Adicionar Nota Abaixo à Seleção", + "duplicate-subtree": "Duplicar Subárvore", + "open-new-tab": "Abrir Nova Guia", + "close-active-tab": "Fechar Guia Ativa", + "reopen-last-tab": "Reabrir Última Guia", + "activate-next-tab": "Ativar Próxima Guia", + "activate-previous-tab": "Ativar Guia Anterior", + "open-new-window": "Abrir Nova Janela", + "toggle-system-tray-icon": "Alternar Ícone da Bandeja do Sistema", + "toggle-zen-mode": "Alternar Modo Zen", + "switch-to-first-tab": "Alternar para a Primeira Guia", + "switch-to-second-tab": "Alternar para a Segunda Guia", + "switch-to-third-tab": "Alternar para a Terceira Guia", + "switch-to-fourth-tab": "Alternar para a Quarta Guia", + "switch-to-fifth-tab": "Alternar para a Quinta Guia", + "switch-to-sixth-tab": "Alternar para a Sexta Guia", + "switch-to-seventh-tab": "Alternar para a Sétima Guia", + "switch-to-eighth-tab": "Alternar para a Oitava Guia", + "switch-to-ninth-tab": "Alternar para a Nona Guia", + "switch-to-last-tab": "Alternar para a Última Guia", + "show-note-source": "Exibir Fonte da Nota", + "show-options": "Exibir Opções", + "show-revisions": "Exibir Revisões", + "show-recent-changes": "Exibir Alterações Recentes", + "show-sql-console": "Exibir Console SQL", + "show-backend-log": "Exibir Log do Backend", + "show-help": "Exibir Ajuda", + "show-cheatsheet": "Exibir Cheatsheet", + "add-link-to-text": "Adicionar Link ao Texto", + "follow-link-under-cursor": "Seguir Link sob o Cursor", + "insert-date-and-time-to-text": "Inserir Data e Hora ao Texto", + "paste-markdown-into-text": "Colar Markdown no Texto", + "cut-into-note": "Recortar em Nota", + "add-include-note-to-text": "Adicionar Nota de Inclusão ao Texto", + "edit-read-only-note": "Editar Nota Somente-Leitura", + "add-new-label": "Adicionar Nova Etiqueta", + "add-new-relation": "Adicionar Nova Relação", + "toggle-ribbon-tab-classic-editor": "Alternar Guia da Faixa de Opções Editor Clássico", + "toggle-ribbon-tab-basic-properties": "Alternar Guia da Faixa de Opções Propriedades Básicas", + "toggle-ribbon-tab-book-properties": "Alternar Guia da Faixa de Opções Propriedades do Livro", + "toggle-ribbon-tab-file-properties": "Alternar Guia da Faixa de Opções Propriedades do Arquivo", + "toggle-ribbon-tab-image-properties": "Alternar Guia da Faixa de Opções Propriedades da Imagem", + "toggle-ribbon-tab-owned-attributes": "Alternar Guia da Faixa de Opções Atributos Possuídos", + "toggle-ribbon-tab-inherited-attributes": "Alternar Guia da Faixa de Opções Atributos Herdados", + "toggle-ribbon-tab-promoted-attributes": "Alternar Guia da Faixa de Opções Atributos Promovidos", + "toggle-ribbon-tab-note-map": "Alternar Guia da Faixa de Opções Mapa de Notas", + "toggle-ribbon-tab-note-info": "Alternar Guia da Faixa de Opções Informações da Nota", + "toggle-ribbon-tab-note-paths": "Alternar Guia da Faixa de Opções Caminhos de Nota", + "toggle-ribbon-tab-similar-notes": "Alternar Guia da Faixa de Opções Notas Semelhantes", + "toggle-right-pane": "Alternar Painel Direito", + "print-active-note": "Imprimir Nota Ativa", + "export-active-note-as-pdf": "Exportar Nota Atual como PDF", + "open-note-externally": "Abrir Nota Externamente", + "render-active-note": "Renderizar Nota Atual", + "run-active-note": "Executar Nota Atual", + "toggle-note-hoisting": "Alternar Elevação de Nota", + "unhoist-note": "Desfazer Elevação de Nota", + "reload-frontend-app": "Recarregar Frontend", + "open-developer-tools": "Abrir Ferramentas de Desenvolvedor", + "find-in-text": "Localizar no Texto", + "toggle-left-pane": "Alternar Painel Esquerdo", + "toggle-full-screen": "Alternar Tela Cheia", + "zoom-out": "Reduzir Zoom", + "zoom-in": "Aumentar Zoom", + "reset-zoom-level": "Redefinir Nível de Zoom", + "copy-without-formatting": "Copiar Sem Formatação", + "force-save-revision": "Forçar Salvamento da Revisão" + }, + "weekdayNumber": "Semana {weekNumber}", + "quarterNumber": "Trimestre {quarterNumber}", + "hidden-subtree": { + "root-title": "Notas Ocultas", + "search-history-title": "Histórico de Pesquisa", + "note-map-title": "Mapa de Notas", + "sql-console-history-title": "Histórico do Console SQL", + "shared-notes-title": "Notas Compartilhadas", + "bulk-action-title": "Ação em Massa", + "backend-log-title": "Log do Backend", + "user-hidden-title": "Usuário Oculto" + } } From 30f9f66b8b3ef7819fb8a40cf5a2f01cbd38d513 Mon Sep 17 00:00:00 2001 From: repilac Date: Sun, 3 Aug 2025 20:16:12 +0200 Subject: [PATCH 328/505] Translated using Weblate (Japanese) Currently translated at 0.8% (13 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/ja/ --- .../src/translations/ja/translation.json | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/apps/client/src/translations/ja/translation.json b/apps/client/src/translations/ja/translation.json index 0967ef424..b94735350 100644 --- a/apps/client/src/translations/ja/translation.json +++ b/apps/client/src/translations/ja/translation.json @@ -1 +1,23 @@ -{} +{ + "about": { + "title": "Trilium Notesについて", + "close": "閉じる", + "homepage": "ホームページ:", + "app_version": "アプリのヴァージョン:", + "db_version": "データベースのヴァージョン:", + "sync_version": "同期のヴァージョン:", + "build_date": "Build の日時:", + "build_revision": "Build のヴァージョン:", + "data_directory": "データの場所:" + }, + "toast": { + "critical-error": { + "title": "致命的なエラー", + "message": "致命的なエラーのせいでアプリをスタートできません:\n\n{{message}}\n\nおそらくスクリプトが予期しないバグを含んでいると思われます。アプリをセーフモードでスタートしてみて下さい。" + }, + "widget-error": { + "title": "ウィジェットを初期化できませんでした", + "message-custom": "ノートID”{{id}}”, ノートタイトル “{{title}}” のカスタムウィジェットを初期化できませんでした:\n\n{{message}}" + } + } +} From 5461dafe02eb97183ce375809550efcefb6efe00 Mon Sep 17 00:00:00 2001 From: Marcelo Nolasco Date: Mon, 4 Aug 2025 08:49:51 +0200 Subject: [PATCH 329/505] Translated using Weblate (Portuguese (Brazil)) Currently translated at 5.5% (87 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/pt_BR/ --- .../src/translations/pt_br/translation.json | 38 +++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/apps/client/src/translations/pt_br/translation.json b/apps/client/src/translations/pt_br/translation.json index 79f63ee2d..559bb4e45 100644 --- a/apps/client/src/translations/pt_br/translation.json +++ b/apps/client/src/translations/pt_br/translation.json @@ -44,7 +44,10 @@ "branch_prefix": { "close": "Fechar", "prefix": "Prefixo: ", - "save": "Salvar" + "save": "Salvar", + "edit_branch_prefix": "Editar Prefixo do Branch", + "help_on_tree_prefix": "Ajuda sobre o prefixo da árvore de notas", + "branch_prefix_saved": "O prefixo de ramificação foi salvo." }, "bulk_actions": { "bulk_actions": "Ações em massa", @@ -69,7 +72,10 @@ "search_for_note_by_its_name": "pesquisar nota pelo nome", "cloned_note_prefix_title": "A nota clonada aparecerá na árvore de notas com o prefixo fornecido", "prefix_optional": "Prefixo (opcional)", - "no_path_to_clone_to": "Nenhum caminho para clonar." + "no_path_to_clone_to": "Nenhum caminho para clonar.", + "target_parent_note": "Nota pai-alvo", + "clone_to_selected_note": "Clonar para a nota selecionada enter", + "note_cloned": "A nota \"{{clonedTitle}}\" foi clonada para \"{{targetTitle}}\"" }, "ai_llm": { "n_notes_queued_0": "{{ count }} nota enfileirada para indexação", @@ -85,6 +91,32 @@ "cancel": "Cancelar", "ok": "OK", "are_you_sure_remove_note": "Tem certeza de que deseja remover a nota '{{title}}' do mapa de relações? ", - "if_you_dont_check": "Se você não marcar isso, a nota será removida apenas do mapa de relações." + "if_you_dont_check": "Se você não marcar isso, a nota será removida apenas do mapa de relações.", + "also_delete_note": "Também excluir a nota" + }, + "delete_notes": { + "delete_notes_preview": "Excluir pré-visualização de notas", + "close": "Fechar", + "delete_all_clones_description": "Excluir também todos os clones (pode ser desfeito em alterações recentes)", + "erase_notes_description": "A exclusão normal (suave) apenas marca as notas como excluídas, permitindo que sejam recuperadas (no diálogo de alterações recentes) dentro de um período de tempo. Se esta opção for marcada, as notas serão apagadas imediatamente e não será possível restaurá-las.", + "erase_notes_warning": "Apagar notas permanentemente (não pode ser desfeito), incluindo todos os clones. Isso forçará o recarregamento do aplicativo.", + "notes_to_be_deleted": "As seguintes notas serão excluídas ({{- noteCount}})", + "no_note_to_delete": "Nenhuma nota será excluída (apenas os clones).", + "broken_relations_to_be_deleted": "As seguintes relações serão quebradas e excluídas ({{- relationCount}})", + "cancel": "Cancelar", + "ok": "OK", + "deleted_relation_text": "A nota {{- note}} (a ser excluída) está referenciada pela relação {{- relation}} originada de {{- source}}." + }, + "export": { + "export_note_title": "Exportar nota", + "close": "Fechar", + "export_type_subtree": "Esta nota e todos os seus descendentes", + "format_html": "HTML – recomendado, pois mantém toda a formatação", + "format_html_zip": "HTML em arquivo ZIP – recomendado, pois isso preserva toda a formatação.", + "format_markdown": "Markdown – isso preserva a maior parte da formatação.", + "format_opml": "OPML - formato de intercâmbio de outliners apenas para texto. Formatação, imagens e arquivos não estão incluídos.", + "opml_version_1": "OPML v1.0 – apenas texto simples", + "opml_version_2": "OPML v2.0 – permite também HTML", + "export_type_single": "Apenas esta nota, sem seus descendentes" } } From 72aacdbf6f246988b8c9fe1e05415626188d2b60 Mon Sep 17 00:00:00 2001 From: Marcelo Nolasco Date: Mon, 4 Aug 2025 08:16:22 +0200 Subject: [PATCH 330/505] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (378 of 378 strings) Translation: Trilium Notes/Server Translate-URL: https://hosted.weblate.org/projects/trilium/server/pt_BR/ --- .../src/assets/translations/pt_br/server.json | 129 ++++++++++++++++-- 1 file changed, 120 insertions(+), 9 deletions(-) diff --git a/apps/server/src/assets/translations/pt_br/server.json b/apps/server/src/assets/translations/pt_br/server.json index 002098504..79c1a2b15 100644 --- a/apps/server/src/assets/translations/pt_br/server.json +++ b/apps/server/src/assets/translations/pt_br/server.json @@ -17,7 +17,7 @@ "edit-branch-prefix": "Exibir o diálogo de edição do prefixo da branch", "note-clipboard": "Área de transferência de notas", "copy-notes-to-clipboard": "Copiar notas selecionadas para Área de transferência", - "paste-notes-from-clipboard": "Colar notas da área de transferência na nota ativa", + "paste-notes-from-clipboard": "Colar notas da área de transferência na nota atual", "cut-notes-to-clipboard": "Recortar as notas selecionadas para a área de transferência", "select-all-notes-in-parent": "Selecionar todas as notas do nível atual da nota", "add-note-above-to-the-selection": "Adicionar nota acima à seleção", @@ -74,9 +74,9 @@ "toggle-right-pane": "Alternar a exibição do painel direito, que inclui Sumário e Destaques", "print-active-note": "Imprimir nota atual", "open-note-externally": "Abrir nota como arquivo no aplicativo padrão", - "render-active-note": "Renderizar (re-renderizar) nota ativa", + "render-active-note": "Renderizar (re-renderizar) nota atual", "run-active-note": "Executar código JavaScript (frontend/backend) da nota", - "toggle-note-hoisting": "Alternar a elevação da nota ativa", + "toggle-note-hoisting": "Alternar a elevação da nota atual", "unhoist": "Desfazer elevação de tudo", "reload-frontend-app": "Recarregar Interface", "open-dev-tools": "Abrir ferramentas de desenvolvedor", @@ -87,17 +87,17 @@ "note-navigation": "Navegação de notas", "reset-zoom-level": "Redefinir nível de zoom", "copy-without-formatting": "Copiar texto selecionado sem formatação", - "force-save-revision": "Forçar a criação/salvamento de uma nova revisão da nota ativa", + "force-save-revision": "Forçar a criação/salvamento de uma nova revisão da nota atual", "show-help": "Exibir Ajuda integrada / colinha", "toggle-book-properties": "Alternar propriedades do book", "toggle-classic-editor-toolbar": "Alternar a aba de Formatação no editor com barra de ferramentas fixa", "back-in-note-history": "Navegar para a nota anterior no histórico", "forward-in-note-history": "Navegar para a próxima nota no histórico", "open-command-palette": "Abrir paleta de comandos", - "scroll-to-active-note": "Rolar a árvore de notas até a nota ativa", + "scroll-to-active-note": "Rolar a árvore de notas até a nota atual", "quick-search": "Ativar barra de busca rápida", - "create-note-after": "Criar nota após nota ativa", - "create-note-into": "Criar nota como subnota da nota ativa", + "create-note-after": "Criar nota após nota atual", + "create-note-into": "Criar nota como subnota da nota atual", "clone-notes-to": "Clonar notas selecionadas", "move-notes-to": "Mover notas selecionadas", "find-in-text": "Alternar painel de busca", @@ -284,7 +284,7 @@ "toggle-ribbon-tab-note-paths": "Alternar Guia da Faixa de Opções Caminhos de Nota", "toggle-ribbon-tab-similar-notes": "Alternar Guia da Faixa de Opções Notas Semelhantes", "toggle-right-pane": "Alternar Painel Direito", - "print-active-note": "Imprimir Nota Ativa", + "print-active-note": "Imprimir Nota Atual", "export-active-note-as-pdf": "Exportar Nota Atual como PDF", "open-note-externally": "Abrir Nota Externamente", "render-active-note": "Renderizar Nota Atual", @@ -312,6 +312,117 @@ "shared-notes-title": "Notas Compartilhadas", "bulk-action-title": "Ação em Massa", "backend-log-title": "Log do Backend", - "user-hidden-title": "Usuário Oculto" + "user-hidden-title": "Usuário Oculto", + "launch-bar-templates-title": "Modelos da Barra de Atalhos", + "built-in-widget-title": "Widget Incorporado", + "spacer-title": "Espaçador", + "custom-widget-title": "Widget Personalizado", + "go-to-previous-note-title": "Ir para Nota Anterior", + "go-to-next-note-title": "Ir para Próxima Nota", + "new-note-title": "Nova Nota", + "search-notes-title": "Pesquisar Notas", + "jump-to-note-title": "Ir para...", + "calendar-title": "Calendário", + "recent-changes-title": "Alterações Recentes", + "bookmarks-title": "Favoritos", + "open-today-journal-note-title": "Abrir Nota do Diário de Hoje", + "quick-search-title": "Pesquisa Rápida", + "protected-session-title": "Sessão Protegida", + "sync-status-title": "Status de Sincronização", + "settings-title": "Configurações", + "llm-chat-title": "Conversar com as Notas", + "options-title": "Opções", + "appearance-title": "Aparência", + "shortcuts-title": "Atalhos", + "text-notes": "Notas de Texto", + "code-notes-title": "Notas de Código", + "images-title": "Imagens", + "spellcheck-title": "Verificação Ortográfica", + "password-title": "Senha", + "multi-factor-authentication-title": "MFA", + "etapi-title": "ETAPI", + "backup-title": "Backup", + "sync-title": "Sincronizar", + "ai-llm-title": "AI/LLM", + "other": "Outros", + "advanced-title": "Avançado", + "user-guide": "Guia do Usuário", + "localization": "Idioma e Região", + "inbox-title": "Inbox", + "base-abstract-launcher-title": "Atalho Abstrato Base", + "command-launcher-title": "Atalho de Comando", + "note-launcher-title": "Atalho de Notas", + "script-launcher-title": "Atalho de Script", + "launch-bar-title": "Barra de Atalhos", + "available-launchers-title": "Atalhos disponíveis", + "visible-launchers-title": "Atalhos Visíveis" + }, + "notes": { + "new-note": "Nova nota", + "duplicate-note-suffix": "(dup)", + "duplicate-note-title": "{{- noteTitle }} {{ duplicateNoteSuffix }}" + }, + "backend_log": { + "log-does-not-exist": "O arquivo de log do backend '{{ fileName }}' ainda não existe.", + "reading-log-failed": "Falha ao ler o arquivo de log do backend '{{ fileName }}'." + }, + "content_renderer": { + "note-cannot-be-displayed": "Esta nota não pode ser exibida." + }, + "pdf": { + "export_filter": "Documento PDF (*.pdf)", + "unable-to-export-message": "A nota atual não pôde ser exportada como PDF.", + "unable-to-export-title": "Não foi possível exportar como PDF", + "unable-to-save-message": "O arquivo selecionado não pôde ser salvo. Tente novamente ou selecione outro destino." + }, + "tray": { + "tooltip": "Trilium Notes", + "close": "Sair do Trilium", + "recents": "Notas recentes", + "bookmarks": "Favoritos", + "today": "Abrir a nota do diário de hoje", + "new-note": "Nova nota", + "show-windows": "Exibir janelas", + "open_new_window": "Abrir nova janela" + }, + "migration": { + "old_version": "A migração direta da sua versão atual não é suportada. Por favor, atualize primeiro para a versão mais recente v0.60.4 e somente depois para esta versão.", + "error_message": "Erro durante a migração para a versão {{version}}: {{stack}}", + "wrong_db_version": "A versão do banco de dados ({{version}}) é mais recente do que a esperada pelo aplicativo ({{targetVersion}}), o que significa que ele foi criado por uma versão mais nova e incompatível do Trilium. Atualize para a versão mais recente do Trilium para resolver esse problema." + }, + "modals": { + "error_title": "Erro" + }, + "share_theme": { + "site-theme": "Tema do site", + "search_placeholder": "Pesquisar...", + "image_alt": "Imagem do artigo", + "last-updated": "Atualizado pela última vez em {{- date}}", + "subpages": "Subpáginas:", + "on-this-page": "Nesta página", + "expand": "Expandir" + }, + "hidden_subtree_templates": { + "text-snippet": "Trecho de texto", + "description": "Descrição", + "list-view": "Visualização em lista", + "grid-view": "Visualização em grade", + "calendar": "Calendário", + "table": "Tabela", + "geo-map": "Mapa geográfico", + "start-date": "Data de início", + "end-date": "Data de término", + "start-time": "Hora de início", + "end-time": "Hora de término", + "geolocation": "Geolocalização", + "built-in-templates": "Modelos integrados", + "board": "Quadro", + "status": "Status", + "board_note_first": "Primeira nota", + "board_note_second": "Segunda nota", + "board_note_third": "Terceira nota", + "board_status_todo": "A fazer", + "board_status_progress": "Em andamento", + "board_status_done": "Concluído" } } From 3e75ab39c2708cfec7089e6b08e827cf1267a1c8 Mon Sep 17 00:00:00 2001 From: Marcelo Nolasco Date: Mon, 4 Aug 2025 08:12:45 +0200 Subject: [PATCH 331/505] Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 43.3% (164 of 378 strings) Translation: Trilium Notes/Server Translate-URL: https://hosted.weblate.org/projects/trilium/server/zh_Hant/ --- .../src/assets/translations/tw/server.json | 383 +++++++++--------- 1 file changed, 193 insertions(+), 190 deletions(-) diff --git a/apps/server/src/assets/translations/tw/server.json b/apps/server/src/assets/translations/tw/server.json index 5ab2fcf28..3b7bcc996 100644 --- a/apps/server/src/assets/translations/tw/server.json +++ b/apps/server/src/assets/translations/tw/server.json @@ -1,192 +1,195 @@ { - "keyboard_actions": { - "open-jump-to-note-dialog": "打開「跳轉到筆記」對話框", - "search-in-subtree": "在當前筆記的子樹中搜索筆記", - "expand-subtree": "展開當前筆記的子樹", - "collapse-tree": "折疊完整的筆記樹", - "collapse-subtree": "折疊當前筆記的子樹", - "sort-child-notes": "排序子筆記", - "creating-and-moving-notes": "新增和移動筆記", - "create-note-into-inbox": "在收件匣(如果有定義的話)或日記中新增筆記", - "delete-note": "刪除筆記", - "move-note-up": "上移筆記", - "move-note-down": "下移筆記", - "move-note-up-in-hierarchy": "上移筆記層級", - "move-note-down-in-hierarchy": "下移筆記層級", - "edit-note-title": "從筆記樹跳轉到筆記詳情並編輯標題", - "edit-branch-prefix": "顯示編輯分支前綴對話框", - "note-clipboard": "筆記剪貼簿", - "copy-notes-to-clipboard": "複製選定的筆記到剪貼簿", - "paste-notes-from-clipboard": "從剪貼簿粘貼筆記到活動筆記中", - "cut-notes-to-clipboard": "剪下選定的筆記到剪貼簿", - "select-all-notes-in-parent": "選擇當前筆記級別的所有筆記", - "add-note-above-to-the-selection": "將上方筆記添加到選擇中", - "add-note-below-to-selection": "將下方筆記添加到選擇中", - "duplicate-subtree": "複製子樹", - "tabs-and-windows": "標籤和窗口", - "open-new-tab": "打開新標籤", - "close-active-tab": "關閉活動標籤", - "reopen-last-tab": "重新打開最後關閉的標籤", - "activate-next-tab": "激活右側標籤", - "activate-previous-tab": "激活左側標籤", - "open-new-window": "打開新空白窗口", - "toggle-tray": "顯示/隱藏應用程式的系統托盤", - "first-tab": "激活列表中的第一個標籤", - "second-tab": "激活列表中的第二個標籤", - "third-tab": "激活列表中的第三個標籤", - "fourth-tab": "激活列表中的第四個標籤", - "fifth-tab": "激活列表中的第五個標籤", - "sixth-tab": "激活列表中的第六個標籤", - "seventh-tab": "激活列表中的第七個標籤", - "eight-tab": "激活列表中的第八個標籤", - "ninth-tab": "激活列表中的第九個標籤", - "last-tab": "激活列表中的最後一個標籤", - "dialogs": "對話框", - "show-note-source": "顯示筆記源對話框", - "show-options": "顯示選項對話框", - "show-revisions": "顯示筆記歷史對話框", - "show-recent-changes": "顯示最近更改對話框", - "show-sql-console": "顯示SQL控制台對話框", - "show-backend-log": "顯示後端日誌對話框", - "text-note-operations": "文本筆記操作", - "add-link-to-text": "打開對話框以將鏈接添加到文本", - "follow-link-under-cursor": "跟隨遊標下的鏈接", - "insert-date-and-time-to-text": "將當前日期和時間插入文本", - "paste-markdown-into-text": "將剪貼簿中的Markdown粘貼到文本筆記中", - "cut-into-note": "從當前筆記中剪下選擇並新增包含選定文本的子筆記", - "add-include-note-to-text": "打開對話框以包含筆記", - "edit-readonly-note": "編輯唯讀筆記", - "attributes-labels-and-relations": "屬性(標籤和關係)", - "add-new-label": "新增新標籤", - "create-new-relation": "新增新關係", - "ribbon-tabs": "功能區標籤", - "toggle-basic-properties": "切換基本屬性", - "toggle-file-properties": "切換文件屬性", - "toggle-image-properties": "切換圖像屬性", - "toggle-owned-attributes": "切換擁有的屬性", - "toggle-inherited-attributes": "切換繼承的屬性", - "toggle-promoted-attributes": "切換提升的屬性", - "toggle-link-map": "切換鏈接地圖", - "toggle-note-info": "切換筆記資訊", - "toggle-note-paths": "切換筆記路徑", - "toggle-similar-notes": "切換相似筆記", - "other": "其他", - "toggle-right-pane": "切換右側面板的顯示,包括目錄和高亮", - "print-active-note": "打印活動筆記", - "open-note-externally": "以預設應用程式打開筆記文件", - "render-active-note": "渲染(重新渲染)活動筆記", - "run-active-note": "運行主動的JavaScript(前端/後端)代碼筆記", - "toggle-note-hoisting": "切換活動筆記的提升", - "unhoist": "從任何地方取消提升", - "reload-frontend-app": "重新加載前端應用", - "open-dev-tools": "打開開發工具", - "toggle-left-note-tree-panel": "切換左側(筆記樹)面板", - "toggle-full-screen": "切換全熒幕", - "zoom-out": "縮小", - "zoom-in": "放大", - "note-navigation": "筆記導航", - "reset-zoom-level": "重置縮放級別", - "copy-without-formatting": "複製不帶格式的選定文本", - "force-save-revision": "強制新增/保存當前筆記的歷史版本", - "show-help": "顯示內置說明/備忘單", - "toggle-book-properties": "切換書籍屬性" - }, - "login": { - "title": "登入", - "heading": "Trilium登入", - "incorrect-password": "密碼不正確。請再試一次。", - "password": "密碼", - "remember-me": "記住我", - "button": "登入" - }, - "set_password": { - "title": "設定密碼", - "heading": "設定密碼", - "description": "在您可以從Web開始使用Trilium之前,您需要先設定一個密碼。然後您將使用此密碼登錄。", - "password": "密碼", - "password-confirmation": "密碼確認", - "button": "設定密碼" - }, - "javascript-required": "Trilium需要啓用JavaScript。", - "setup": { - "heading": "TriliumNext筆記設定", - "new-document": "我是新用戶,我想為我的筆記新增一個新的Trilium檔案", - "sync-from-desktop": "我已經有一個桌面實例,我想設定與它的同步", - "sync-from-server": "我已經有一個伺服器實例,我想設定與它的同步", - "next": "下一步", - "init-in-progress": "檔案初始化進行中", - "redirecting": "您將很快被重定向到應用程式。", - "title": "設定" - }, - "setup_sync-from-desktop": { - "heading": "從桌面同步", - "description": "此設定需要從桌面實例啓動:", - "step1": "打開您的TriliumNext筆記桌面實例。", - "step2": "從Trilium菜單中,點擊選項。", - "step3": "點擊同步。", - "step4": "將伺服器實例地址更改為:{{- host}}並點擊保存。", - "step5": "點擊「測試同步」按鈕以驗證連接是否成功。", - "step6": "完成這些步驟後,點擊{{- link}}。", - "step6-here": "這裡" - }, - "setup_sync-from-server": { - "heading": "從伺服器同步", - "instructions": "請在下面輸入Trilium伺服器地址和密碼。這將從伺服器下載整個Trilium數據庫檔案並設定同步。因應數據庫大小和您的連接速度,這可能需要一段時間。", - "server-host": "Trilium伺服器地址", - "server-host-placeholder": "https://<主機名稱>:<端口>", - "proxy-server": "代理伺服器(可選)", - "proxy-server-placeholder": "https://<主機名稱>:<端口>", - "note": "注意:", - "proxy-instruction": "如果您將代理設定留空,將使用系統代理(僅適用於桌面程式)", - "password": "密碼", - "password-placeholder": "密碼", - "back": "返回", - "finish-setup": "完成設定" - }, - "setup_sync-in-progress": { - "heading": "同步中", - "successful": "同步已正確設定。初始同步完成可能需要一些時間。完成後,您將被重定向到登入頁面。", - "outstanding-items": "未完成的同步項目:", - "outstanding-items-default": "無" - }, - "share_404": { - "title": "未找到", - "heading": "未找到" - }, - "share_page": { - "parent": "上級目錄:", - "clipped-from": "此筆記最初剪下自 {{- url}}", - "child-notes": "子筆記:", - "no-content": "此筆記沒有內容。" - }, - "weekdays": { - "monday": "週一", - "tuesday": "週二", - "wednesday": "週三", - "thursday": "週四", - "friday": "週五", - "saturday": "週六", - "sunday": "週日" - }, - "months": { - "january": "一月", - "february": "二月", - "march": "三月", - "april": "四月", - "may": "五月", - "june": "六月", - "july": "七月", - "august": "八月", - "september": "九月", - "october": "十月", - "november": "十一月", - "december": "十二月" - }, - "special_notes": { - "search_prefix": "搜尋:" - }, - "test_sync": { - "not-configured": "並未設定同步伺服器主機,請先設定同步", - "successful": "成功與同步伺服器握手,現在開始同步" - } + "keyboard_actions": { + "open-jump-to-note-dialog": "打開「跳轉到筆記」對話框", + "search-in-subtree": "在當前筆記的子樹中搜索筆記", + "expand-subtree": "展開當前筆記的子樹", + "collapse-tree": "折疊完整的筆記樹", + "collapse-subtree": "折疊當前筆記的子樹", + "sort-child-notes": "排序子筆記", + "creating-and-moving-notes": "新增和移動筆記", + "create-note-into-inbox": "在收件匣(如果有定義的話)或日記中新增筆記", + "delete-note": "刪除筆記", + "move-note-up": "上移筆記", + "move-note-down": "下移筆記", + "move-note-up-in-hierarchy": "上移筆記層級", + "move-note-down-in-hierarchy": "下移筆記層級", + "edit-note-title": "從筆記樹跳轉到筆記詳情並編輯標題", + "edit-branch-prefix": "顯示編輯分支前綴對話框", + "note-clipboard": "筆記剪貼簿", + "copy-notes-to-clipboard": "複製選定的筆記到剪貼簿", + "paste-notes-from-clipboard": "從剪貼簿粘貼筆記到活動筆記中", + "cut-notes-to-clipboard": "剪下選定的筆記到剪貼簿", + "select-all-notes-in-parent": "選擇當前筆記級別的所有筆記", + "add-note-above-to-the-selection": "將上方筆記添加到選擇中", + "add-note-below-to-selection": "將下方筆記添加到選擇中", + "duplicate-subtree": "複製子樹", + "tabs-and-windows": "標籤和窗口", + "open-new-tab": "打開新標籤", + "close-active-tab": "關閉活動標籤", + "reopen-last-tab": "重新打開最後關閉的標籤", + "activate-next-tab": "激活右側標籤", + "activate-previous-tab": "激活左側標籤", + "open-new-window": "打開新空白窗口", + "toggle-tray": "顯示/隱藏應用程式的系統托盤", + "first-tab": "激活列表中的第一個標籤", + "second-tab": "激活列表中的第二個標籤", + "third-tab": "激活列表中的第三個標籤", + "fourth-tab": "激活列表中的第四個標籤", + "fifth-tab": "激活列表中的第五個標籤", + "sixth-tab": "激活列表中的第六個標籤", + "seventh-tab": "激活列表中的第七個標籤", + "eight-tab": "激活列表中的第八個標籤", + "ninth-tab": "激活列表中的第九個標籤", + "last-tab": "激活列表中的最後一個標籤", + "dialogs": "對話框", + "show-note-source": "顯示筆記源對話框", + "show-options": "顯示選項對話框", + "show-revisions": "顯示筆記歷史對話框", + "show-recent-changes": "顯示最近更改對話框", + "show-sql-console": "顯示SQL控制台對話框", + "show-backend-log": "顯示後端日誌對話框", + "text-note-operations": "文本筆記操作", + "add-link-to-text": "打開對話框以將鏈接添加到文本", + "follow-link-under-cursor": "跟隨遊標下的鏈接", + "insert-date-and-time-to-text": "將當前日期和時間插入文本", + "paste-markdown-into-text": "將剪貼簿中的Markdown粘貼到文本筆記中", + "cut-into-note": "從當前筆記中剪下選擇並新增包含選定文本的子筆記", + "add-include-note-to-text": "打開對話框以包含筆記", + "edit-readonly-note": "編輯唯讀筆記", + "attributes-labels-and-relations": "屬性(標籤和關係)", + "add-new-label": "新增新標籤", + "create-new-relation": "新增新關係", + "ribbon-tabs": "功能區標籤", + "toggle-basic-properties": "切換基本屬性", + "toggle-file-properties": "切換文件屬性", + "toggle-image-properties": "切換圖像屬性", + "toggle-owned-attributes": "切換擁有的屬性", + "toggle-inherited-attributes": "切換繼承的屬性", + "toggle-promoted-attributes": "切換提升的屬性", + "toggle-link-map": "切換鏈接地圖", + "toggle-note-info": "切換筆記資訊", + "toggle-note-paths": "切換筆記路徑", + "toggle-similar-notes": "切換相似筆記", + "other": "其他", + "toggle-right-pane": "切換右側面板的顯示,包括目錄和高亮", + "print-active-note": "打印活動筆記", + "open-note-externally": "以預設應用程式打開筆記文件", + "render-active-note": "渲染(重新渲染)活動筆記", + "run-active-note": "運行主動的JavaScript(前端/後端)代碼筆記", + "toggle-note-hoisting": "切換活動筆記的提升", + "unhoist": "從任何地方取消提升", + "reload-frontend-app": "重新加載前端應用", + "open-dev-tools": "打開開發工具", + "toggle-left-note-tree-panel": "切換左側(筆記樹)面板", + "toggle-full-screen": "切換全熒幕", + "zoom-out": "縮小", + "zoom-in": "放大", + "note-navigation": "筆記導航", + "reset-zoom-level": "重置縮放級別", + "copy-without-formatting": "複製不帶格式的選定文本", + "force-save-revision": "強制新增/保存當前筆記的歷史版本", + "show-help": "顯示內置說明/備忘單", + "toggle-book-properties": "切換書籍屬性" + }, + "login": { + "title": "登入", + "heading": "Trilium登入", + "incorrect-password": "密碼不正確。請再試一次。", + "password": "密碼", + "remember-me": "記住我", + "button": "登入" + }, + "set_password": { + "title": "設定密碼", + "heading": "設定密碼", + "description": "在您可以從Web開始使用Trilium之前,您需要先設定一個密碼。然後您將使用此密碼登錄。", + "password": "密碼", + "password-confirmation": "密碼確認", + "button": "設定密碼" + }, + "javascript-required": "Trilium需要啓用JavaScript。", + "setup": { + "heading": "TriliumNext筆記設定", + "new-document": "我是新用戶,我想為我的筆記新增一個新的Trilium檔案", + "sync-from-desktop": "我已經有一個桌面實例,我想設定與它的同步", + "sync-from-server": "我已經有一個伺服器實例,我想設定與它的同步", + "next": "下一步", + "init-in-progress": "檔案初始化進行中", + "redirecting": "您將很快被重定向到應用程式。", + "title": "設定" + }, + "setup_sync-from-desktop": { + "heading": "從桌面同步", + "description": "此設定需要從桌面實例啓動:", + "step1": "打開您的TriliumNext筆記桌面實例。", + "step2": "從Trilium菜單中,點擊選項。", + "step3": "點擊同步。", + "step4": "將伺服器實例地址更改為:{{- host}}並點擊保存。", + "step5": "點擊「測試同步」按鈕以驗證連接是否成功。", + "step6": "完成這些步驟後,點擊{{- link}}。", + "step6-here": "這裡" + }, + "setup_sync-from-server": { + "heading": "從伺服器同步", + "instructions": "請在下面輸入Trilium伺服器地址和密碼。這將從伺服器下載整個Trilium數據庫檔案並設定同步。因應數據庫大小和您的連接速度,這可能需要一段時間。", + "server-host": "Trilium伺服器地址", + "server-host-placeholder": "https://<主機名稱>:<端口>", + "proxy-server": "代理伺服器(可選)", + "proxy-server-placeholder": "https://<主機名稱>:<端口>", + "note": "注意:", + "proxy-instruction": "如果您將代理設定留空,將使用系統代理(僅適用於桌面程式)", + "password": "密碼", + "password-placeholder": "密碼", + "back": "返回", + "finish-setup": "完成設定" + }, + "setup_sync-in-progress": { + "heading": "同步中", + "successful": "同步已正確設定。初始同步完成可能需要一些時間。完成後,您將被重定向到登入頁面。", + "outstanding-items": "未完成的同步項目:", + "outstanding-items-default": "無" + }, + "share_404": { + "title": "未找到", + "heading": "未找到" + }, + "share_page": { + "parent": "上級目錄:", + "clipped-from": "此筆記最初剪下自 {{- url}}", + "child-notes": "子筆記:", + "no-content": "此筆記沒有內容。" + }, + "weekdays": { + "monday": "週一", + "tuesday": "週二", + "wednesday": "週三", + "thursday": "週四", + "friday": "週五", + "saturday": "週六", + "sunday": "週日" + }, + "months": { + "january": "一月", + "february": "二月", + "march": "三月", + "april": "四月", + "may": "五月", + "june": "六月", + "july": "七月", + "august": "八月", + "september": "九月", + "october": "十月", + "november": "十一月", + "december": "十二月" + }, + "special_notes": { + "search_prefix": "搜尋:" + }, + "test_sync": { + "not-configured": "並未設定同步伺服器主機,請先設定同步", + "successful": "成功與同步伺服器握手,現在開始同步" + }, + "hidden-subtree": { + "available-launchers-title": "" + } } From 47caf970a14a0bab5a90962f9f313743e0194904 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Mon, 4 Aug 2025 09:36:01 +0200 Subject: [PATCH 332/505] Update translation files Updated by "Remove blank strings" add-on in Weblate. Translation: Trilium Notes/Server Translate-URL: https://hosted.weblate.org/projects/trilium/server/ --- apps/server/src/assets/translations/tw/server.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/apps/server/src/assets/translations/tw/server.json b/apps/server/src/assets/translations/tw/server.json index 3b7bcc996..3142483d4 100644 --- a/apps/server/src/assets/translations/tw/server.json +++ b/apps/server/src/assets/translations/tw/server.json @@ -188,8 +188,5 @@ "test_sync": { "not-configured": "並未設定同步伺服器主機,請先設定同步", "successful": "成功與同步伺服器握手,現在開始同步" - }, - "hidden-subtree": { - "available-launchers-title": "" } } From 94492c75351e9fed05bc7094fa616647b287f00b Mon Sep 17 00:00:00 2001 From: Kuzma Simonov Date: Mon, 4 Aug 2025 09:39:23 +0200 Subject: [PATCH 333/505] Added translation using Weblate (Russian) --- apps/client/src/translations/ru/translation.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/client/src/translations/ru/translation.json diff --git a/apps/client/src/translations/ru/translation.json b/apps/client/src/translations/ru/translation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/apps/client/src/translations/ru/translation.json @@ -0,0 +1 @@ +{} From fe238b8afd655a9122d8da870caad6966ad53a40 Mon Sep 17 00:00:00 2001 From: Kuzma Simonov Date: Mon, 4 Aug 2025 09:51:03 +0200 Subject: [PATCH 334/505] Translated using Weblate (Russian) Currently translated at 2.3% (36 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/ru/ --- .../src/translations/ru/translation.json | 67 ++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/apps/client/src/translations/ru/translation.json b/apps/client/src/translations/ru/translation.json index 0967ef424..823414610 100644 --- a/apps/client/src/translations/ru/translation.json +++ b/apps/client/src/translations/ru/translation.json @@ -1 +1,66 @@ -{} +{ + "about": { + "close": "Закрыть", + "app_version": "Версия приложения:", + "db_version": "Версия базы данных:", + "sync_version": "Версия синхронизации:", + "build_date": "Дата сборки:", + "build_revision": "Номер сборки:" + }, + "toast": { + "critical-error": { + "title": "Критическая ошибка", + "message": "Произошла критическая ошибка, которая препятствует запуску клиентского приложения:\n\n{{message}}\n\nСкорее всего, это вызвано неожиданным сбоем скрипта. Попробуйте запустить приложение в безопасном режиме и устранить проблему." + }, + "widget-error": { + "title": "Не удалось инициализировать виджет", + "message-custom": "Не удалось инициализировать пользовательский виджет из заметки с идентификатором \"{{id}}\" и названием \"{{title}}\" по следующим причинам:\n\n{{message}}", + "message-unknown": "Неизвестный виджет не удалось инициализировать по причине:\n\n{{message}}" + }, + "bundle-error": { + "title": "Не удалось загрузить пользовательский скрипт", + "message": "Скрипт из заметки с идентификатором \"{{id}}\" и названием \"{{title}}\" не может быть выполнен по следующим причинам:\n\n{{message}}" + } + }, + "add_link": { + "add_link": "Добавить ссылку", + "close": "Закрыть", + "note": "Заметка", + "link_title": "Заголовок ссылки" + }, + "branch_prefix": { + "close": "Закрыть", + "save": "Сохранить" + }, + "bulk_actions": { + "available_actions": "Доступные действия", + "chosen_actions": "Выбранные действия", + "relations": "Связи", + "notes": "Заметки", + "other": "Прочее" + }, + "confirm": { + "confirmation": "Подтверждение", + "close": "Закрыть", + "cancel": "Отмена", + "ok": "ОК" + }, + "delete_notes": { + "close": "Закрыть", + "erase_notes_description": "Обычное (мягкое) удаление только отмечает заметки как удалённые, и их можно восстановить (в диалоговом окне последних изменений) в течение определённого времени. Если выбрать этот параметр, заметки будут удалены немедленно, и восстановить их будет невозможно." + }, + "database_anonymization": { + "light_anonymization_description": "Это действие создаст новую копию базы данных и выполнит её лёгкую анонимизацию — в частности, будет удалён только контент всех заметок, но заголовки и атрибуты останутся. Кроме того, будут сохранены пользовательские заметки, содержащие JavaScript-скрипты frontend/backend и пользовательские виджеты. Это даёт больше контекста для отладки проблем.", + "choose_anonymization": "Вы можете самостоятельно решить, хотите ли вы предоставить полностью или частично анонимизированную базу данных. Даже полностью анонимизированная база данных очень полезна, однако в некоторых случаях частично анонимизированная база данных может ускорить процесс выявления и исправления ошибок.", + "full_anonymization_description": "Это действие создаст новую копию базы данных и анонимизирует ее (удалит все содержимое заметок и оставит только структуру и некоторые неконфиденциальные метаданные) для совместного использования в Интернете в целях отладки без опасения утечки ваших личных данных." + }, + "revisions_snapshot_limit": { + "note_revisions_snapshot_limit_description": "Ограничение на количество снимков ревизий заметки определяет максимальное количество ревизий, которые можно сохранить для каждой заметки. Значение -1 означает отсутствие ограничений, а 0 означает удаление всех ревизий. Максимальное количество ревизий для одной заметки можно задать с помощью метки #versioningLimit." + }, + "password": { + "alert_message": "Пожалуйста, запомните новый пароль. Пароль используется для входа в веб-интерфейс и шифрования защищённых заметок. Если вы забудете пароль, все ваши защищённые заметки будут потеряны навсегда." + }, + "content_language": { + "description": "Выберите один или несколько языков, которые должны отображаться в разделе «Основные свойства» текстовой заметки, доступной только для чтения или редактируемой. Это позволит реализовать такие функции, как проверка орфографии и поддержка письма справа налево." + } +} From 9a3ab05d736409d82d4ba6a4a57cda5482c04680 Mon Sep 17 00:00:00 2001 From: wild Date: Mon, 4 Aug 2025 13:04:47 +0200 Subject: [PATCH 335/505] Translated using Weblate (Serbian) Currently translated at 22.4% (350 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/sr/ --- .../src/translations/sr/translation.json | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/apps/client/src/translations/sr/translation.json b/apps/client/src/translations/sr/translation.json index bc6c2b58b..a1fa9f14b 100644 --- a/apps/client/src/translations/sr/translation.json +++ b/apps/client/src/translations/sr/translation.json @@ -375,6 +375,42 @@ "sort_folders_first": "Fascikle (beleške sa podbeleškama) treba da budu sortirane na vrhu", "top": "zadrži datu belešku na vrhu njene nadbeleške (primenjuje se samo na sortiranim nadbeleškama)", "hide_promoted_attributes": "Sakrij promovisane atribute na ovoj belešci", - "read_only": "uređivač je u režimu samo za čitanje. Radi samo za tekst i beleške sa kodom." + "read_only": "uređivač je u režimu samo za čitanje. Radi samo za tekst i beleške sa kodom.", + "auto_read_only_disabled": "beleške sa tekstom/kodom se mogu automatski podesiti u režim za čitanje kada su prevelike. Ovo ponašanje možete onemogućiti pojedinačno za belešku dodavanjem ove oznake na belešku", + "app_css": "označava CSS beleške koje nisu učitane u Trilium aplikaciju i zbog toga se mogu koristiti za menjanje izgleda Triliuma.", + "app_theme": "označava CSS beleške koje su pune Trilium teme i stoga su dostupne u Trilium podešavanjima.", + "app_theme_base": "podesite na „sledeće“, „sledeće-svetlo“ ili „sledeće-tamno“ da biste koristili odgovarajuću TriliumNext temu (automatsku, svetlu ili tamnu) kao osnovu za prilagođenu temu, umesto podrazumevane teme.", + "css_class": "vrednost ove oznake se zatim dodaje kao CSS klasa čvoru koji predstavlja datu belešku u stablu. Ovo može biti korisno za napredno temiranje. Može se koristiti u šablonima beleški.", + "workspace": "označava ovu belešku kao radni prostor što omogućava lako podizanje", + "workspace_icon_class": "definiše CSS klasu ikone okvira koja će se koristiti u kartici kada se podigne na ovoj belešci", + "workspace_tab_background_color": "CSS boja korišćena u kartici beleške kada se prebaci na ovu belešku", + "workspace_calendar_root": "Definiše koren kalendara za svaki radni prostor", + "workspace_template": "Ova beleška će se pojaviti u izboru dostupnih šablona prilikom kreiranja nove beleške, ali samo kada se podigne u radni prostor koji sadrži ovaj šablon", + "search_home": "nove beleške o pretrazi biće kreirane kao podređeni delovi ove beleške", + "workspace_search_home": "nove beleške o pretrazi biće kreirane kao podređeni delovi ove beleške kada se podignu na nekog pretka ove beleške iz radnog prostora", + "inbox": "podrazumevana lokacija u prijemnom sandučetu za nove beleške - kada kreirate belešku pomoću dugmeta „nova beleška“ u bočnoj traci, beleške će biti kreirane kao podbeleške u belešci označenoj sa oznakom #inbox.", + "workspace_inbox": "podrazumevana lokacija prijemnog sandučeta za nove beleške kada se prebace na nekog pretka ove beleške iz radnog prostora", + "sql_console_home": "podrazmevana lokacija beleški SQL konzole", + "bookmark_folder": "beleška sa ovom oznakom će se pojaviti u obeleživačima kao fascikla (omogućavajući pristup njenim podređenim fasciklama)", + "share_hidden_from_tree": "ova beleška je skrivena u levom navigacionom stablu, ali je i dalje dostupna preko svoje URL adrese", + "share_external_link": "beleška će služiti kao veza ka eksternoj veb stranici u stablu deljenja", + "share_alias": "definišite alias pomoću kog će beleška biti dostupna na https://your_trilium_host/share/[your_alias]", + "share_omit_default_css": "CSS kod podrazumevane stranice za deljenje će biti izostavljen. Koristite ga kada pravite opsežne promene stila.", + "share_root": "obeležava belešku koja se prikazuje na /share korenu.", + "share_description": "definišite tekst koji će se dodati HTML meta oznaci za opis", + "share_raw": "beleška će biti prikazana u svom sirovom (raw) formatu, bez HTML omotača", + "share_disallow_robot_indexing": "zabraniće robotsko indeksiranje ove beleške putem zaglavlja X-Robots-Tag: noindex", + "share_credentials": "potrebni su kredencijali za pristup ovoj deljenoj belešci. Očekuje se da vrednost bude u formatu „korisničko ime:lozinka“. Ne zaboravite da ovo označite kao nasledno da bi se primenilo na podbeleške/slike.", + "share_index": "beleška sa ovom oznakom će izlistati sve korene deljenih beleški", + "display_relations": "imena relacija razdvojenih zarezima koja treba da budu prikazana. Sva ostala će biti skrivena.", + "hide_relations": "imena relacija razdvojenih zarezima koja treba da budu skrivena. Sva ostala će biti prikazana." + }, + "ai_llm": { + "n_notes_queued_0": "{{ count }} beleška stavljena u red za indeksiranje", + "n_notes_queued_1": "{{ count }} beleški stavljeno u red za indeksiranje", + "n_notes_queued_2": "{{ count }} beleški stavljeno u red za indeksiranje", + "notes_indexed_0": "{{ count }} beleška je indeksirana", + "notes_indexed_1": "{{ count }} beleški je indeksirano", + "notes_indexed_2": "{{ count }} beleški je indeksirano" } } From 652d78ac68845a33d5e1aae4ed347c0b13e31535 Mon Sep 17 00:00:00 2001 From: Kuzma Simonov Date: Mon, 4 Aug 2025 12:45:01 +0200 Subject: [PATCH 336/505] Translated using Weblate (Russian) Currently translated at 36.7% (573 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/ru/ --- .../src/translations/ru/translation.json | 833 +++++++++++++++++- 1 file changed, 824 insertions(+), 9 deletions(-) diff --git a/apps/client/src/translations/ru/translation.json b/apps/client/src/translations/ru/translation.json index 823414610..e7f306fe0 100644 --- a/apps/client/src/translations/ru/translation.json +++ b/apps/client/src/translations/ru/translation.json @@ -5,7 +5,10 @@ "db_version": "Версия базы данных:", "sync_version": "Версия синхронизации:", "build_date": "Дата сборки:", - "build_revision": "Номер сборки:" + "build_revision": "Номер сборки:", + "data_directory": "Каталог с данными:", + "title": "О Trilium Notes", + "homepage": "Домашняя страница:" }, "toast": { "critical-error": { @@ -26,28 +29,54 @@ "add_link": "Добавить ссылку", "close": "Закрыть", "note": "Заметка", - "link_title": "Заголовок ссылки" + "link_title": "Заголовок ссылки", + "link_title_arbitrary": "заголовок ссылки может быть изменен произвольно", + "button_add_link": "Добавить ссылку enter", + "help_on_links": "Помощь по ссылкам", + "search_note": "поиск заметки по ее названию" }, "branch_prefix": { "close": "Закрыть", - "save": "Сохранить" + "save": "Сохранить", + "edit_branch_prefix": "Редактировать префикс ветки", + "prefix": "Префикс: ", + "branch_prefix_saved": "Префикс ветки сохранен.", + "help_on_tree_prefix": "Помощь по префиксу дерева" }, "bulk_actions": { "available_actions": "Доступные действия", "chosen_actions": "Выбранные действия", "relations": "Связи", "notes": "Заметки", - "other": "Прочее" + "other": "Прочее", + "close": "Закрыть", + "affected_notes": "Затронутые заметки", + "include_descendants": "Включать потомков выбранных заметок", + "execute_bulk_actions": "Выполнить массовые действия", + "bulk_actions_executed": "Массовые действия были успешно выполнены.", + "labels": "Метки", + "bulk_actions": "Массовые действия" }, "confirm": { "confirmation": "Подтверждение", "close": "Закрыть", "cancel": "Отмена", - "ok": "ОК" + "ok": "ОК", + "are_you_sure_remove_note": "Вы уверены, что хотите удалить заметку \"{{title}}\" из карты связей? ", + "if_you_dont_check": "Если вы не отметите этот флажок, заметка будет удалена только из карты связей.", + "also_delete_note": "Также удалить заметку" }, "delete_notes": { "close": "Закрыть", - "erase_notes_description": "Обычное (мягкое) удаление только отмечает заметки как удалённые, и их можно восстановить (в диалоговом окне последних изменений) в течение определённого времени. Если выбрать этот параметр, заметки будут удалены немедленно, и восстановить их будет невозможно." + "erase_notes_description": "Обычное (мягкое) удаление только отмечает заметки как удалённые, и их можно восстановить (в диалоговом окне последних изменений) в течение определённого времени. Если выбрать этот параметр, заметки будут удалены немедленно, и восстановить их будет невозможно.", + "delete_all_clones_description": "Удалить также все клоны (можно отменить в последних изменениях)", + "erase_notes_warning": "Удалить заметки без возможности восстановления, включая все клоны. Это приведёт к принудительной перезагрузке приложения.", + "notes_to_be_deleted": "Следующие заметки будут удалены ({{- noteCount}})", + "no_note_to_delete": "Заметка не будет удалена (только клоны).", + "broken_relations_to_be_deleted": "Следующие связи будут разорваны и удалены ({{- relationCount}})", + "cancel": "Отмена", + "ok": "ОК", + "deleted_relation_text": "Примечание {{- note}} (подлежит удалению) ссылается на отношение {{- relation}}, происходящее из {{- source}}." }, "database_anonymization": { "light_anonymization_description": "Это действие создаст новую копию базы данных и выполнит её лёгкую анонимизацию — в частности, будет удалён только контент всех заметок, но заголовки и атрибуты останутся. Кроме того, будут сохранены пользовательские заметки, содержащие JavaScript-скрипты frontend/backend и пользовательские виджеты. Это даёт больше контекста для отладки проблем.", @@ -55,12 +84,798 @@ "full_anonymization_description": "Это действие создаст новую копию базы данных и анонимизирует ее (удалит все содержимое заметок и оставит только структуру и некоторые неконфиденциальные метаданные) для совместного использования в Интернете в целях отладки без опасения утечки ваших личных данных." }, "revisions_snapshot_limit": { - "note_revisions_snapshot_limit_description": "Ограничение на количество снимков ревизий заметки определяет максимальное количество ревизий, которые можно сохранить для каждой заметки. Значение -1 означает отсутствие ограничений, а 0 означает удаление всех ревизий. Максимальное количество ревизий для одной заметки можно задать с помощью метки #versioningLimit." + "note_revisions_snapshot_limit_description": "Ограничение на количество снимков ревизий заметки определяет максимальное количество ревизий, которые можно сохранить для каждой заметки. Значение -1 означает отсутствие ограничений, а 0 означает удаление всех ревизий. Максимальное количество ревизий для одной заметки можно задать с помощью метки #versioningLimit.", + "snapshot_number_limit_unit": "снимков" }, "password": { - "alert_message": "Пожалуйста, запомните новый пароль. Пароль используется для входа в веб-интерфейс и шифрования защищённых заметок. Если вы забудете пароль, все ваши защищённые заметки будут потеряны навсегда." + "alert_message": "Пожалуйста, запомните новый пароль. Пароль используется для входа в веб-интерфейс и шифрования защищённых заметок. Если вы забудете пароль, все ваши защищённые заметки будут потеряны навсегда.", + "heading": "Пароль", + "wiki": "вики" }, "content_language": { - "description": "Выберите один или несколько языков, которые должны отображаться в разделе «Основные свойства» текстовой заметки, доступной только для чтения или редактируемой. Это позволит реализовать такие функции, как проверка орфографии и поддержка письма справа налево." + "description": "Выберите один или несколько языков, которые должны отображаться в разделе «Основные свойства» текстовой заметки, доступной только для чтения или редактируемой. Это позволит реализовать такие функции, как проверка орфографии и поддержка письма справа налево.", + "title": "Языки контента" + }, + "theme": { + "theme_label": "Тема", + "override_theme_fonts_label": "Переопределить шрифты темы", + "auto_theme": "Авто", + "light_theme": "Светлая", + "dark_theme": "Темная", + "triliumnext": "TriliumNext Beta (следует системной цветовой схеме)", + "triliumnext-light": "TriliumNext Beta (Светлая)", + "triliumnext-dark": "TriliumNext Beta (Темная)" + }, + "tasks": { + "due": { + "today": "Сегодня", + "tomorrow": "Завтра", + "yesterday": "Вчера" + } + }, + "sql_table_schemas": { + "tables": "Таблицы" + }, + "tab_row": { + "close_tab": "Закрыть вкладку", + "close": "Закрыть", + "new_tab": "Новая вкладка", + "copy_tab_to_new_window": "Копировать вкладку в новое окно", + "move_tab_to_new_window": "Переместить вкладку в новое окно", + "reopen_last_tab": "Повторно открыть последнюю закрытую вкладку", + "close_all_tabs": "Закрыть все вкладки", + "close_other_tabs": "Закрыть остальные вкладки" + }, + "table_view": { + "new-row": "Новая строка", + "new-column": "Новый столбец", + "sort-column-by": "Сортировать по \"{{title}}\"", + "sort-column-ascending": "По возрастанию", + "sort-column-descending": "По убыванию", + "sort-column-clear": "Сбросить сортировку", + "hide-column": "Скрыть столбец \"{{title}}\"", + "show-hide-columns": "Показать/скрыть столбцы", + "new-column-label": "Метка", + "delete-column": "Удалить столбец", + "delete_column_confirmation": "Вы уверены, что хотите удалить этот столбец? Соответствующий атрибут будет удалён из всех заметок.", + "edit-column": "Изменить столбец", + "add-column-to-the-right": "Добавить столбец справа", + "add-column-to-the-left": "Добавить столбец слева", + "row-insert-child": "Создать дочернюю заметку", + "row-insert-below": "Добавить строку ниже", + "row-insert-above": "Добавить строку выше", + "new-column-relation": "Связь" + }, + "add_label": { + "add_label": "Добавить метку", + "label_name_placeholder": "название метки", + "label_name_title": "Разрешены буквенно-цифровые символы, подчеркивание и двоеточие.", + "new_value_placeholder": "новое значение" + }, + "delete_label": { + "delete_label": "Удалить метку", + "label_name_placeholder": "название метки", + "label_name_title": "Разрешены буквенно-цифровые символы, подчеркивание и двоеточие." + }, + "rename_label": { + "rename_label": "Переименовать метку", + "old_name_placeholder": "старое наименование", + "new_name_placeholder": "новое наименование", + "name_title": "Разрешены буквенно-цифровые символы, подчеркивание и двоеточие.", + "to": "В" + }, + "clone_to": { + "clone_notes_to": "Клонировать заметки в...", + "close": "Закрыть", + "notes_to_clone": "Заметки для клонирования", + "target_parent_note": "Целевая родительская заметка", + "search_for_note_by_its_name": "поиск заметки по ее названию", + "cloned_note_prefix_title": "Клонированная заметка будет отображаться в дереве заметок с заданным префиксом", + "prefix_optional": "Префикс (необязательно)", + "no_path_to_clone_to": "Не задан путь для клонирования.", + "note_cloned": "Заметка \"{{clonedTitle}}\" клонирована в \"{{targetTitle}}\"", + "help_on_links": "Помощь по ссылкам" + }, + "export": { + "export_note_title": "Экспортировать заметку", + "close": "Закрыть", + "export_type_subtree": "Эта заметка и все ее потомки", + "format_html": "HTML - рекомендуется, так как сохраняет все форматирование", + "format_html_zip": "HTML в ZIP-архиве — рекомендуется, так как в этом случае сохраняется все форматирование.", + "format_markdown": "Markdown - сохраняет большую часть форматирования.", + "format_opml": "OPML - формат обмена данными между планировщиками, предназначенный только для текста. Форматирование, изображения и файлы не включены.", + "opml_version_1": "OPML v1.0 - только простой текст", + "opml_version_2": "OPML v2.0 - также поддерживает HTML", + "export_type_single": "Только эта заметка без ее потомков", + "export": "Экспорт", + "choose_export_type": "Сначала выберите тип экспорта", + "export_status": "Статус экспорта", + "export_in_progress": "Экспорт: {{progressCount}}", + "export_finished_successfully": "Экспорт завершился успешно.", + "format_pdf": "PDF - для печати или обмена." + }, + "help": { + "fullDocumentation": "Помощь (полная документация доступна онлайн)", + "close": "Закрыть", + "noteNavigation": "Навигация по заметке", + "goUpDown": "UP, DOWN - вверх/вниз в списке заметок", + "collapseExpand": " LEFT, RIGHT - свернуть/развернуть узел", + "notSet": "не установлено", + "goBackForwards": "назад / вперед в истории", + "showJumpToNoteDialog": "показать окно \"Перейти к\"", + "scrollToActiveNote": "прокрутка к активной заметке", + "jumpToParentNote": "Backspace - переход к родительской заметке", + "collapseWholeTree": "свернуть все дерево заметок", + "collapseSubTree": "свернуть поддерево", + "openEmptyTab": "открыть пустую вкладку", + "closeActiveTab": "закрыть активную вкладку", + "activateNextTab": "активировать следующую вкладку", + "activatePreviousTab": "активировать предыдущую вкладку", + "creatingNotes": "Создание заметок", + "selectAllNotes": "выбрать все заметки на текущем уровне", + "cutNotes": "вырезать текущую заметку (или текущее выделение) в буфер обмена (используется для перемещения заметок)", + "pasteNotes": "вставить заметку(и) как подзаметку в активную заметку (которая либо перемещается, либо клонируется в зависимости от того, была ли она скопирована или вырезана в буфер обмена)", + "deleteNotes": "удалить заметку / поддерево", + "createInternalLink": "создать внутреннюю ссылку", + "followLink": "перейти по ссылке под курсором", + "insertDateTime": "вставить текущую дату и время в позицию курсора", + "jumpToTreePane": "перейти к панели дерева и прокрутить до активной заметки", + "markdownAutoformat": "Автоформатирование в стиле Markdown", + "troubleshooting": "Поиск и решение неисправностей", + "reloadFrontend": "перезагрузить интерфейс Trilium", + "showDevTools": "показать инструменты разработчика", + "showSQLConsole": "показать консоль SQL", + "inPageSearch": "поиск на странице", + "editingNotes": "Редактирование заметок" + }, + "modal": { + "close": "Закрыть" + }, + "import": { + "importIntoNote": "Импортировать в заметку", + "chooseImportFile": "Выберите файл импорта", + "safeImport": "Безопасный импорт", + "shrinkImages": "Уменьшить изображения", + "textImportedAsText": "Импортировать HTML, Markdown и TXT как текстовые заметки, если из метаданные не позволяют определить тип заметки", + "replaceUnderscoresWithSpaces": "Заменить подчеркивания пробелами в названиях импортированных заметок", + "import": "Импорт", + "failed": "Сбой при импорте: {{message}}.", + "html_import_tags": { + "description": "Настройте HTML-теги, которые следует сохранять при импорте заметок. Теги, не указанные в этом списке, будут удалены при импорте. Некоторые теги (например, 'script') всегда удаляются в целях безопасности.", + "placeholder": "Введите HTML-теги, по одному в каждой строке" + }, + "import-status": "Статус импорта", + "in-progress": "Импорт в процессе: {{progress}}", + "successful": "Импорт успешно завершен." + }, + "markdown_import": { + "dialog_title": "Импорт Markdown", + "modal_body_text": "Из-за особенностей браузера песочница не позволяет напрямую читать буфер обмена из JavaScript. Вставьте разметку Markdown для импорта в текстовую область ниже и нажмите кнопку «Импорт»", + "close": "Закрыть", + "import_button": "Импорт Ctrl+Enter" + }, + "note_type_chooser": { + "modal_title": "Выберите тип заметки", + "modal_body": "Выберите тип / шаблон новой заметки:", + "templates": "Шаблоны:", + "close": "Закрыть" + }, + "password_not_set": { + "title": "Пароль не установлен", + "close": "Закрыть" + }, + "protected_session_password": { + "modal_title": "Защищенный сеанс", + "form_label": "Чтобы продолжить, вам необходимо начать защищенный сеанс, введя пароль:", + "start_button": "Начать защищенный сеанс enter", + "close_label": "Закрыть" + }, + "recent_changes": { + "title": "Последние изменения", + "erase_notes_button": "Удалить заметки, помеченные на удаление сейчас", + "undelete_link": "восстановить", + "close": "Закрыть" + }, + "revisions": { + "restore_button": "Восстановить", + "delete_button": "Удалить", + "note_revisions": "Версии заметки", + "delete_all_revisions": "Удалить все версии этой заметки", + "delete_all_button": "Удалить все версии", + "help_title": "Помощь по версиям заметок", + "close": "Закрыть", + "confirm_delete_all": "Вы хотите удалить все версии этой заметки?", + "revision_last_edited": "Эта версия последний раз редактировалась {{date}}", + "confirm_restore": "Хотите восстановить эту версию? Текущее название и содержание заметки будут перезаписаны этой версией.", + "confirm_delete": "Вы хотите удалить эту версию?", + "revisions_deleted": "Версии заметки были удалены.", + "revision_restored": "Версия заметки была восстановлена.", + "revision_deleted": "Версия заметки были удалены.", + "download_button": "Скачать", + "file_size": "Размер файла:", + "preview": "Предпросмотр:", + "preview_not_available": "Предпосмотр недоступен для заметки этого типа.", + "mime": "MIME: " + }, + "sort_child_notes": { + "sort_children_by": "Сортировать дочерние заметки по...", + "close": "Закрыть", + "sorting_criteria": "Критерии сортировки", + "title": "наименованию", + "date_created": "дате создания", + "date_modified": "дате изменения", + "sorting_direction": "Направление сортировки", + "ascending": "по возрастанию", + "descending": "по убыванию", + "sort_with_respect_to_different_character_sorting": "Сортировка с учетом различных правил сортировки и сопоставления символов в разных языках и регионах.", + "folders": "Папки", + "sort": "Сортировать enter" + }, + "upload_attachments": { + "upload_attachments_to_note": "Загрузить вложения к заметке", + "close": "Закрыть", + "choose_files": "Выберите файлы", + "files_will_be_uploaded": "Файлы будут загружены как приложения в", + "options": "Параметры", + "shrink_images": "Сжать изображения", + "tooltip": "Если этот параметр включен, Trilium попытается уменьшить размер загружаемых изображений путём масштабирования и оптимизации, что может повлиять на воспринимаемое качество изображения. Если этот параметр не включен, изображения будут загружаться без изменений.", + "upload": "Загрузить" + }, + "attribute_detail": { + "close_button_title": "Отменить изменения и закрыть", + "name": "Наименование", + "value": "Значение", + "promoted_alias": "Псевдоним", + "multiplicity": "Множественность", + "label_type": "Тип", + "text": "Текст", + "number": "Число", + "boolean": "Булево", + "date": "Дата", + "time": "Время", + "url": "URL", + "precision": "Точность", + "digits": "цифры", + "inheritable": "Наследуемый", + "delete": "Удалить", + "color_type": "Цвет", + "target_note": "Целевая заметка", + "single_value": "Одно значение", + "multi_value": "Много значений", + "inverse_relation": "Обратное отношение", + "more_notes": "Больше заметок" + }, + "command_palette": { + "configure_launch_bar_description": "Откройте конфигурацию панели запуска, чтобы добавить или удалить элементы.", + "configure_launch_bar_title": "Настроить панель запуска", + "search_history_description": "Просмотреть предыдущие поиски", + "search_history_title": "Показать историю поиска", + "search_subtree_description": "Поиск в текущем поддереве", + "search_subtree_title": "Поиск в поддереве", + "search_notes_description": "Открыть расширенный поиск", + "search_notes_title": "Поиск заметок", + "show_attachments_description": "Просмотреть вложения к заметкам", + "show_attachments_title": "Показать вложения", + "export_note_description": "Экспортировать текущую заметку", + "export_note_title": "Экспортировать заметку", + "tree-action-name": "Дерево: {{name}}" + }, + "board_view": { + "add-column": "Добавить столбец", + "new-item": "Добавить", + "delete-column-confirmation": "Вы уверены, что хотите удалить этот столбец? Соответствующий атрибут также будет удалён из заметок этого столбца.", + "delete-column": "Удалить столбец", + "insert-below": "Вставить ниже", + "insert-above": "Вставить выше", + "move-to": "Переместить", + "delete-note": "Удалить заметку" + }, + "table_context_menu": { + "delete_row": "Удалить строку" + }, + "book_properties_config": { + "vector_dark": "Vector (Темная)", + "vector_light": "Vector (Светлая)", + "max-nesting-depth": "Максимальная глубина вложенности:", + "map-style": "Стиль карты:", + "display-week-numbers": "Отображать номера недель", + "hide-weekends": "Скрыть выходные", + "raster": "Растр", + "show-scale": "Показать масштаб" + }, + "editorfeatures": { + "note_completion_enabled": "Включить автодополнение", + "emoji_completion_enabled": "Включить автодополнение эмодзи", + "title": "Особенности" + }, + "cpu_arch_warning": { + "dont_show_again": "Больше не показывать это предупреждение", + "continue_anyway": "Продолжить в любом случае", + "download_link": "Загрузить нативную версию", + "recommendation": "Для наилучшего использования загрузите версию TriliumNext для ARM64 с нашей страницы релизов.", + "message_windows": "TriliumNext в настоящее время работает в режиме эмуляции, что означает, что вы используете версию Intel (x64) на устройстве Windows on ARM. Это существенно повлияет на производительность и время автономной работы.", + "message_macos": "TriliumNext в настоящее время работает под управлением Rosetta 2, что означает, что вы используете версию Intel (x64) на Apple Silicon Mac. Это существенно повлияет на производительность и время автономной работы.", + "title": "Пожалуйста, загрузите версию ARM64" + }, + "code_theme": { + "color-scheme": "Цветовая схема", + "word_wrapping": "Перенос слов", + "title": "Внешний вид" + }, + "svg": { + "export_to_png": "Диаграмму не может быть экспортирована в PNG." + }, + "png_export_button": { + "button_title": "Экспортировать диаграмму как PNG" + }, + "toggle_read_only_button": { + "unlock-editing": "Разблокировать редактирование", + "lock-editing": "Заблокировать редактирование" + }, + "switch_layout_button": { + "title_horizontal": "Переместить панель редактирования влево", + "title_vertical": "Переместить панель редактирования вниз" + }, + "note_language": { + "configure-languages": "Настроить языки...", + "not_set": "Не установлен" + }, + "time_selector": { + "invalid_input": "Введенное значение времени не является допустимым числом." + }, + "share": { + "share_root_not_found": "Заметка с меткой #shareRoot не найдена" + }, + "duration": { + "days": "Дни", + "hours": "Часы", + "minutes": "Минуты", + "seconds": "Секунды" + }, + "geo-map-context": { + "add-note": "Добавить маркер в этом месте", + "remove-from-map": "Удалить с карты", + "open-location": "Открыть местоположение" + }, + "geo-map": { + "unable-to-load-map": "Не удалось загрузить карту." + }, + "note_tooltip": { + "quick-edit": "Быстрое редактирование", + "note-has-been-deleted": "Заметка удалена." + }, + "note_autocomplete": { + "full-text-search": "Полнотекстовый поиск", + "show-recent-notes": "Показать последние заметки" + }, + "electron_integration": { + "zoom-factor": "Коэффициент масштабирования", + "restart-app-button": "Перезапустите приложение, чтобы увидеть изменения", + "background-effects-description": "Эффект Mica добавляет размытый, стильный фон окнам приложений, создавая глубину и современный вид.", + "background-effects": "Включить фоновые эффекты (только Windows 11)", + "native-title-bar-description": "В Windows и macOS отключение нативной строки заголовка делает приложение более компактным. В Linux включение нативной строки заголовка улучшает интеграцию с остальной частью системы." + }, + "link_context_menu": { + "open_note_in_popup": "Быстрое редактирование", + "open_note_in_new_window": "Открыть заметку в новом окне" + }, + "image_context_menu": { + "copy_image_to_clipboard": "Копировать изображение в буфер обмена" + }, + "electron_context_menu": { + "paste-as-plain-text": "Вставить как обычный текст", + "paste": "Вставить", + "copy-link": "Скопировать ссылку", + "copy": "Скопировать", + "cut": "Вырезать" + }, + "editing": { + "editor_type": { + "fixed": { + "title": "Закрепленный" + }, + "floating": { + "title": "Плавающий" + } + } + }, + "editor": { + "title": "Редактор" + }, + "classic_editor_toolbar": { + "title": "Форматирование" + }, + "code_block": { + "copy_title": "Копировать в буфер обмена", + "theme_group_dark": "Темныце темы", + "theme_group_light": "Светлые темы", + "theme_none": "Нет подсветки синтаксиса", + "word_wrapping": "Перенос слов" + }, + "highlighting": { + "color-scheme": "Цветовая схема", + "title": "Блоки кода" + }, + "editable-text": { + "auto-detect-language": "Определен автоматически" + }, + "launcher_context_menu": { + "reset": "Сбросить", + "add-spacer": "Добавить разделитель", + "add-custom-widget": "Добавить пользовательский виджет" + }, + "toc": { + "table_of_contents": "Содержание", + "options": "Параметры" + }, + "note_tree": { + "hide-archived-notes": "Скрыть архивные заметки", + "automatically-collapse-notes": "Автоматически сворачивать заметки", + "tree-settings-title": "Настройки дерева", + "unhoist": "Открепить" + }, + "quick-search": { + "no-results": "Результаты не найдены", + "placeholder": "Быстрый поиск", + "searching": "Поиск..." + }, + "find": { + "replace_all": "Заменить все", + "replace": "Заменить", + "replace_placeholder": "Заменить на...", + "find_placeholder": "Поиск в тексте...", + "case_sensitive": "С учетом регистра" + }, + "template_switch": { + "template": "Шаблон" + }, + "note_types": { + "collections": "Коллекции", + "new-feature": "Новое", + "beta-feature": "Бета", + "widget": "Виджет", + "image": "Изображение", + "file": "Файд", + "canvas": "Холст", + "mermaid-diagram": "Диаграмма Mermaid", + "book": "Коллекция", + "saved-search": "Сохраненный поиск", + "code": "Код", + "text": "Текст", + "launcher": "Лаунчер", + "doc": "Документация" + }, + "tree-context-menu": { + "open-in-popup": "Быстрое редактирование", + "delete": "Удалить", + "advanced": "Расширенное", + "cut": "Вырезать", + "duplicate": "Создать дубликат", + "export": "Экспорт" + }, + "info": { + "closeButton": "Закрыть", + "okButton": "ОК", + "modalTitle": "Информация" + }, + "jump_to_note": { + "close": "Закрыть" + }, + "move_to": { + "close": "Закрыть" + }, + "prompt": { + "title": "Запрос", + "close": "Закрыть", + "defaultTitle": "Запрос", + "ok": "OK enter" + }, + "move_note": { + "to": "в", + "move_note": "Переместить заметку" + }, + "add_relation": { + "to": "в", + "add_relation": "Добавить отношение", + "relation_name": "название отношения", + "target_note": "целевая заметка" + }, + "rename_relation": { + "to": "В", + "rename_relation": "Переименовать отношение", + "old_name": "старое наименование", + "new_name": "новое наименование" + }, + "update_relation_target": { + "to": "в", + "update_relation": "Обновить отношение", + "relation_name": "название отношения", + "target_note": "целевая заметка" + }, + "attachments_actions": { + "download": "Скачать", + "open_externally": "Открыть внешними средствами", + "rename_attachment": "Переименовать вложение", + "delete_attachment": "Удалить вложение" + }, + "calendar": { + "mon": "Пн", + "tue": "Вт", + "wed": "Ср", + "thu": "Чт", + "fri": "Пт", + "sat": "Сбт", + "sun": "Вс", + "january": "Январь", + "febuary": "Февраль", + "march": "Март", + "april": "Апрель", + "may": "Май", + "june": "Июнь", + "july": "Июль", + "august": "Август", + "september": "Сентябрь", + "october": "Октябрь", + "november": "Ноябрь", + "december": "Декабрь" + }, + "global_menu": { + "menu": "Меню", + "options": "Параметры", + "zoom": "Масштаб", + "advanced": "Расширенное", + "logout": "Выход", + "toggle_fullscreen": "На весь экран", + "zoom_out": "Уменьшить масштаб", + "zoom_in": "Увеличить масштаб", + "configure_launchbar": "Настроить панель запуска", + "reload_frontend": "Перезагрузить интерфейс", + "show_help": "Показать справку", + "show-cheatsheet": "Быстрая справка", + "toggle-zen-mode": "Режим дзен" + }, + "zpetne_odkazy": { + "relation": "", + "backlink": "{{count}} ссылки", + "backlinks": "{{count}} ссылок" + }, + "note_icon": { + "category": "Категория:", + "search": "Поиск:" + }, + "basic_properties": { + "editable": "Изменяемое", + "language": "Язык", + "note_type": "Тип", + "basic_properties": "Основные свойства" + }, + "book_properties": { + "grid": "Сетка", + "list": "Список", + "collapse": "Свернуть", + "expand": "Развернуть", + "calendar": "Календарь", + "table": "Таблица", + "board": "Доска", + "view_type": "Вид", + "book_properties": "Свойства коллекции", + "geo-map": "Карта" + }, + "edited_notes": { + "deleted": "(удалено)" + }, + "file_properties": { + "download": "Скачать", + "open": "Открыть", + "title": "Файд" + }, + "image_properties": { + "download": "Скачать", + "open": "Открыть", + "title": "Изображение" + }, + "note_info_widget": { + "created": "Создано", + "modified": "Изменено", + "type": "Тип" + }, + "note_paths": { + "search": "Поиск" + }, + "note_properties": { + "info": "Информация" + }, + "promoted_attributes": { + "url_placeholder": "http://website..." + }, + "script_executor": { + "query": "Запрос" + }, + "search_definition": { + "limit": "предел" + }, + "ancestor": { + "depth_label": "глубина" + }, + "debug": { + "debug": "Отладка" + }, + "limit": { + "limit": "Предел" + }, + "order_by": { + "title": "Названию", + "desc": "По убыванию" + }, + "search_string": { + "search_prefix": "Поиск:" + }, + "backend_log": { + "refresh": "Обновить" + }, + "sync": { + "title": "Синхронизация" + }, + "fonts": { + "fonts": "Шрифты", + "size": "Размер", + "serif": "С засечками", + "monospace": "Моноширинный" + }, + "max_content_width": { + "max_width_unit": "пикселей" + }, + "native_title_bar": { + "enabled": "включено", + "disabled": "выключено" + }, + "ai_llm": { + "progress": "Прогресс", + "openai_tab": "OpenAI", + "anthropic_tab": "Anthropic", + "ollama_tab": "Ollama", + "temperature": "Температура", + "model": "Модель", + "refreshing_models": "Обновление...", + "error": "Ошибка", + "actions": "Действия", + "retry": "Повторить", + "never": "Никогда", + "refreshing": "Обновление...", + "agent": { + "processing": "Обработка...", + "thinking": "Думаю...", + "loading": "Загрузка...", + "generating": "Создание..." + }, + "name": "AI", + "openai": "OpenAI", + "sources": "Источники" + }, + "code-editor-options": { + "title": "Редактор" + }, + "images": { + "images_section_title": "Изображения", + "max_image_dimensions_unit": "пикселей" + }, + "search_engine": { + "bing": "Bing", + "baidu": "Baidu", + "duckduckgo": "DuckDuckGo", + "google": "Google", + "save_button": "Сохранить" + }, + "heading_style": { + "plain": "Обычный", + "underline": "Подчеркнутый", + "markdown": "В стиле Markdown" + }, + "table_of_contents": { + "unit": "заголовки" + }, + "text_auto_read_only_size": { + "unit": "символов" + }, + "i18n": { + "title": "Локализация", + "language": "Язык", + "sunday": "Воскресенье", + "monday": "Понедельник" + }, + "backup": { + "path": "Путь" + }, + "etapi": { + "title": "ETAPI", + "wiki": "вики", + "created": "Создано", + "actions": "Действия" + }, + "multi_factor_authentication": { + "oauth_title": "OAuth/OpenID" + }, + "shortcuts": { + "shortcuts": "Сочетания клавиш", + "description": "Описание" + }, + "sync_2": { + "timeout_unit": "миллисекунд", + "note": "Заметка", + "save": "Сохранить", + "help": "Помощь" + }, + "api_log": { + "close": "Закрыть" + }, + "bookmark_switch": { + "bookmark": "Закладка" + }, + "editability_select": { + "auto": "Авто", + "read_only": "Только для чтения" + }, + "shared_switch": { + "shared": "Общий доступ" + }, + "highlights_list_2": { + "options": "Параметры" + }, + "include_note": { + "dialog_title": "Вставить заметку" + }, + "execute_script": { + "execute_script": "Выполнить скрипт" + }, + "update_label_value": { + "label_name_placeholder": "название метки", + "new_value_placeholder": "новое значение" + }, + "delete_note": { + "delete_note": "Удалить заметку" + }, + "rename_note": { + "rename_note": "Переименовать заметку" + }, + "delete_relation": { + "delete_relation": "Удалить отношение", + "relation_name": "название отношения" + }, + "left_pane_toggle": { + "show_panel": "Показать панель", + "hide_panel": "Скрыть панель" + }, + "move_pane_button": { + "move_left": "Переместить влево", + "move_right": "Переместить вправо" + }, + "note_actions": { + "re_render_note": "Перерендерить заметку", + "note_source": "Источник заметки", + "note_attachments": "Вложения заметки", + "import_files": "Импорт файлов", + "export_note": "Экспортировать заметку", + "delete_note": "Удалить заметку", + "print_note": "Печать заметки", + "save_revision": "Сохранить версию" + }, + "revisions_button": { + "note_revisions": "Версии заметки" + }, + "update_available": { + "update_available": "Доступно обновление" + }, + "code_buttons": { + "execute_button_title": "Выполнить скрипт" + }, + "hide_floating_buttons_button": { + "button_title": "Скрыть кнопки" + }, + "show_floating_buttons_button": { + "button_title": "Показать кнопки" + }, + "relation_map_buttons": { + "zoom_in_title": "Увеличить масштаб", + "zoom_out_title": "Уменьшить масштаб" } } From 18414cd1557a2fdd380b9760c4ab89cb6100bf42 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Mon, 4 Aug 2025 13:06:10 +0200 Subject: [PATCH 337/505] Update translation files Updated by "Remove blank strings" add-on in Weblate. Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/ --- apps/client/src/translations/ru/translation.json | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/client/src/translations/ru/translation.json b/apps/client/src/translations/ru/translation.json index e7f306fe0..2f705f06d 100644 --- a/apps/client/src/translations/ru/translation.json +++ b/apps/client/src/translations/ru/translation.json @@ -635,7 +635,6 @@ "toggle-zen-mode": "Режим дзен" }, "zpetne_odkazy": { - "relation": "", "backlink": "{{count}} ссылки", "backlinks": "{{count}} ссылок" }, From 73ee44e17746a070be700e90fffae5b9fe76e10a Mon Sep 17 00:00:00 2001 From: "Antonio Liccardo (TuxmAL)" Date: Mon, 4 Aug 2025 13:06:10 +0200 Subject: [PATCH 338/505] Added translation using Weblate (Italian) --- apps/client/src/translations/it/translation.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/client/src/translations/it/translation.json diff --git a/apps/client/src/translations/it/translation.json b/apps/client/src/translations/it/translation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/apps/client/src/translations/it/translation.json @@ -0,0 +1 @@ +{} From ad35e3b48f12aed22ff7efb8fcb58e2d21dcbb62 Mon Sep 17 00:00:00 2001 From: "Antonio Liccardo (TuxmAL)" Date: Mon, 4 Aug 2025 13:06:11 +0200 Subject: [PATCH 339/505] Added translation using Weblate (Italian) --- apps/server/src/assets/translations/it/server.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/server/src/assets/translations/it/server.json diff --git a/apps/server/src/assets/translations/it/server.json b/apps/server/src/assets/translations/it/server.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/apps/server/src/assets/translations/it/server.json @@ -0,0 +1 @@ +{} From 3f398c1a005a997f4c77dd0d7dd62a04f6ddc5db Mon Sep 17 00:00:00 2001 From: wild Date: Mon, 4 Aug 2025 13:39:51 +0200 Subject: [PATCH 340/505] Translated using Weblate (Serbian) Currently translated at 27.8% (435 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/sr/ --- .../src/translations/sr/translation.json | 103 +++++++++++++++++- 1 file changed, 102 insertions(+), 1 deletion(-) diff --git a/apps/client/src/translations/sr/translation.json b/apps/client/src/translations/sr/translation.json index a1fa9f14b..9c9f1a605 100644 --- a/apps/client/src/translations/sr/translation.json +++ b/apps/client/src/translations/sr/translation.json @@ -403,7 +403,48 @@ "share_credentials": "potrebni su kredencijali za pristup ovoj deljenoj belešci. Očekuje se da vrednost bude u formatu „korisničko ime:lozinka“. Ne zaboravite da ovo označite kao nasledno da bi se primenilo na podbeleške/slike.", "share_index": "beleška sa ovom oznakom će izlistati sve korene deljenih beleški", "display_relations": "imena relacija razdvojenih zarezima koja treba da budu prikazana. Sva ostala će biti skrivena.", - "hide_relations": "imena relacija razdvojenih zarezima koja treba da budu skrivena. Sva ostala će biti prikazana." + "hide_relations": "imena relacija razdvojenih zarezima koja treba da budu skrivena. Sva ostala će biti prikazana.", + "title_template": "podrazumevani naslov beleški kreiranih kao deca ove beleške. Vrednost se procenjuje kao JavaScript string \n i stoga se može obogatiti dinamičkim sadržajem putem ubrizganih promenljivih now and parentNote. Primeri:\n \n
      \n
    • ${parentNote.getLabelValue('authorName')}'s literary works
    • \n
    • Log for ${now.format('YYYY-MM-DD HH:mm:ss')}
    • \n
    \n \n Pogledati wiki sa detaljima, API dokumentacija za parentNote i now za detalje.", + "template": "Ova beleška će biti prikazana u izboru dostupnih šablona prilikom pravljenja nove beleške", + "toc": "#toc ili #toc=show će pristiliti Sadržaj (Table of Contents) da bude prikazan, #toc=hide prisiliti njegovo sakrivanje. Ako oznaka ne postoji, ponašanje će biti usklađeno sa globalnim podešavanjem", + "color": "definiše boju beleške u stablu beleški, linkovima itd. Koristite bilo koju važeću CSS vrednost boje kao što je „crvena“ ili #a13d5f", + "keyboard_shortcut": "Definiše prečicu na tastaturi koja će odmah preći na ovu belešku. Primer: „ctrl+alt+e“. Potrebno je ponovno učitavanje frontenda da bi promena stupila na snagu.", + "keep_current_hoisting": "Otvaranje ove veze neće promeniti podizanje čak i ako beleška nije prikazana u trenutno podignutom podstablu.", + "execute_button": "Naslov dugmeta koje će izvršiti trenutnu belešku sa kodom", + "execute_description": "Duži opis trenutne beleške sa kodom prikazan je zajedno sa dugmetom za izvršavanje", + "exclude_from_note_map": "Beleške sa ovom oznakom biće skrivene sa mape beleški", + "new_notes_on_top": "Nove beleške će biti napravljene na vrhu matične beleške, a ne na dnu.", + "hide_highlight_widget": "Sakrij vidžet sa listom istaknutih", + "run_on_note_creation": "izvršava se kada se beleška napravi na serverskoj strani. Koristite ovu relaciju ako želite da pokrenete skriptu za sve beleške napravljene u okviru određenog podstabla. U tom slučaju, kreirajte je na korenu beleške podstabla i učinite je naslednom. Nova beleška napravljena unutar podstabla (bilo koje dubine) pokrenuće skriptu.", + "run_on_child_note_creation": "izvršava se kada se napravi nova beleška ispod beleške gde je ova relacija definisana", + "run_on_note_title_change": "izvršava se kada se promeni naslov beleške (uključuje i pravljenje beleške)", + "run_on_note_content_change": "izvršava se kada se promeni sadržaj beleške (uključuje i pravljenje beleške).", + "run_on_note_change": "izvršava se kada se promeni beleška (uključuje i pravljenje beleške). Ne uključuje promene sadržaja", + "icon_class": "vrednost ove oznake se dodaje kao CSS klasa ikoni na stablu što može pomoći u vizuelnom razlikovanju beleški u stablu. Primer može biti bx bx-home - ikone su preuzete iz boxicons. Može se koristiti u šablonima beleški.", + "page_size": "broj stavki po stranici u listi beleški", + "custom_request_handler": "pogledajte Prilagođeni obrađivač zahteva", + "custom_resource_provider": "pogledajte Prilagođeni obrađivač zahteva", + "widget": "označava ovu belešku kao prilagođeni vidžet koji će biti dodat u stablo komponenti Trilijuma", + "run_on_note_deletion": "izvršava se kada se beleška briše", + "run_on_branch_creation": "izvršava se kada se pravi grana. Grana je veza između matične i podređene beleške i pravi se npr. prilikom kloniranja ili premeštanja beleške.", + "run_on_branch_change": "izvršava se kada se grana ažurira.", + "run_on_branch_deletion": "izvršava se kada se grana briše. Grana je veza između nadređene beleške i podređene beleške i briše se npr. prilikom premeštanja beleške (stara grana/veza se briše).", + "run_on_attribute_creation": "izvršava se kada se pravi novi atribut za belešku koji definiše ovu relaciju", + "run_on_attribute_change": " izvršava se kada se promeni atribut beleške koja definiše ovu relaciju. Ovo se pokreće i kada se atribut obriše", + "relation_template": "atributi beleške će biti nasleđeni čak i bez odnosa roditelj-dete, sadržaj i podstablo beleške će biti dodati instanci beleške ako je prazna. Pogledajte dokumentaciju za detalje.", + "inherit": "Atributi beleške će biti nasleđeni čak i bez odnosa roditelj-dete. Pogledajte relaciju šablona za sličan koncept. Pogledajte nasleđivanje atributa u dokumentaciji.", + "render_note": "Beleške tipa „render HTML note“ će biti prikazane korišćenjem beleške za kod (HTML ili skripte) i potrebno je pomoću ove relacije ukazati na to koja beleška treba da se prikaže", + "widget_relation": "meta ove relacije će biti izvršena i prikazana kao vidžet u bočnoj traci", + "share_css": "CSS napomena koja će biti ubrizgana na stranicu za deljenje. CSS napomena mora biti i u deljenom podstablu. Razmotrite i korišćenje „share_hidden_from_tree“ i „share_omit_default_css“.", + "share_js": "JavaScript beleška koja će biti ubrizgana na stranicu za deljenje. JS beleška takođe mora biti u deljenom podstablu. Razmislite o korišćenju „share_hidden_from_tree“.", + "share_template": "Ugrađena JavaScript beleška koja će se koristiti kao šablon za prikazivanje deljene beleške. U slučaju neuspeha vraća se na podrazumevani šablon. Razmislite o korišćenju „share_hidden_from_tree“.", + "share_favicon": "Favicon beleška koju treba postaviti na deljenu stranicu. Obično je potrebno da je podesite da deli koren i učinite je naslednom. Favicon beleška takođe mora biti u deljenom podstablu. Razmislite o korišćenju „share_hidden_from_tree“.", + "is_owned_by_note": "je u vlasništvu beleške", + "other_notes_with_name": "Ostale beleške sa {{attributeType}} nazivom „{{attributeName}}“", + "and_more": "... i još {{count}}.", + "print_landscape": "Prilikom izvoza u PDF, menja orijentaciju stranice u pejzažnu umesto uspravne.", + "print_page_size": "Prilikom izvoza u PDF, menja veličinu stranice. Podržane vrednosti: A0, A1, A2, A3, A4, A5, A6, Legal, Letter, Tabloid, Ledger.", + "color_type": "Boja" }, "ai_llm": { "n_notes_queued_0": "{{ count }} beleška stavljena u red za indeksiranje", @@ -412,5 +453,65 @@ "notes_indexed_0": "{{ count }} beleška je indeksirana", "notes_indexed_1": "{{ count }} beleški je indeksirano", "notes_indexed_2": "{{ count }} beleški je indeksirano" + }, + "attribute_editor": { + "help_text_body1": "Da biste dodali oznaku, samo unesite npr. #rock ili ako želite da dodate i vrednost, onda npr. #year = 2020", + "help_text_body2": "Za relaciju, unesite ~author = @ što bi trebalo da otvori automatsko dovršavanje gde možete potražiti željenu belešku.", + "help_text_body3": "Alternativno, možete dodati oznaku i relaciju pomoću dugmeta + sa desne strane.", + "save_attributes": "Sačuvaj atribute ", + "add_a_new_attribute": "Dodajte novi atribut", + "add_new_label": "Dodajte novu oznaku ", + "add_new_relation": "Dodajte novu relaciju ", + "add_new_label_definition": "Dodajte novu definiciju oznake", + "add_new_relation_definition": "Dodajte novu definiciju relacije", + "placeholder": "Ovde unesite oznake i relacije" + }, + "abstract_bulk_action": { + "remove_this_search_action": "Ukloni ovu radnju pretrage" + }, + "execute_script": { + "execute_script": "Izvrši skriptu", + "help_text": "Možete izvršiti jednostavne skripte na podudarnim beleškama.", + "example_1": "Na primer, da biste dodali string u naslov beleške, koristite ovu malu skriptu:", + "example_2": "Složeniji primer bi bio brisanje svih atributa podudarnih beleški:" + }, + "add_label": { + "add_label": "Dodaj oznaku", + "label_name_placeholder": "ime oznake", + "label_name_title": "Alfanumerički znakovi, donja crta i dvotačka su dozvoljeni znakovi.", + "to_value": "za vrednost", + "new_value_placeholder": "nova vrednost", + "help_text": "Na svim podudarnim beleškama:", + "help_text_item1": "dodajte datu oznaku ako beleška još uvek nema jednu", + "help_text_item2": "ili izmenite vrednost postojeće oznake", + "help_text_note": "Takođe možete pozvati ovu metodu bez vrednosti, u tom slučaju će oznaka biti dodeljena belešci bez vrednosti." + }, + "delete_label": { + "delete_label": "Obriši oznaku", + "label_name_placeholder": "ime oznake", + "label_name_title": "Alfanumerički znakovi, donja crtica i dvotačka su dozvoljeni znakovi." + }, + "rename_label": { + "rename_label": "Preimenuj oznaku", + "rename_label_from": "Preimenuj oznaku iz", + "old_name_placeholder": "stari naziv", + "to": "U", + "new_name_placeholder": "novi naziv", + "name_title": "Alfanumerički znakovi, donja crtica i dvotačka su dozvoljeni znakovi." + }, + "update_label_value": { + "update_label_value": "Ažuriraj vrednost oznake", + "label_name_placeholder": "ime oznake", + "label_name_title": "Alfanumerički znakovi, donja crtica i dvotačka su dozvoljeni znakovi.", + "to_value": "u vrednost", + "new_value_placeholder": "nova vrednost", + "help_text": "Na svim podudarnim beleškama, promenite vrednost postojeće oznake.", + "help_text_note": "Takođe možete pozvati ovu metodu bez vrednosti, u tom slučaju će oznaka biti dodeljena belešci bez vrednosti." + }, + "delete_note": { + "delete_note": "Obriši belešku", + "delete_matched_notes": "Obriši podudarne beleške", + "delete_matched_notes_description": "Ovo će obrisati podudarne beleške.", + "undelete_notes_instruction": "Nakon brisanja, moguće ga je poništiti iz dijaloga Nedavne izmene." } } From 43df984732a41e283c20f10082cc5a736536a910 Mon Sep 17 00:00:00 2001 From: "Antonio Liccardo (TuxmAL)" Date: Mon, 4 Aug 2025 13:34:40 +0200 Subject: [PATCH 341/505] Translated using Weblate (Italian) Currently translated at 3.1% (49 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/it/ --- .../src/translations/it/translation.json | 100 +++++++++++++++++- 1 file changed, 99 insertions(+), 1 deletion(-) diff --git a/apps/client/src/translations/it/translation.json b/apps/client/src/translations/it/translation.json index 0967ef424..a82ed298e 100644 --- a/apps/client/src/translations/it/translation.json +++ b/apps/client/src/translations/it/translation.json @@ -1 +1,99 @@ -{} +{ + "about": { + "close": "Chiudi", + "app_version": "Versione app:", + "db_version": "Version DB:", + "sync_version": "Versione Sync:", + "data_directory": "Cartella dati:" + }, + "toast": { + "critical-error": { + "title": "Errore critico", + "message": "È avvenuto un errore critico che non permette all'applicazione client di avviarsi:\n\n{{message}}\n\nMolto probabilmente ciò è dovuto ad uno script che ha fallito in modo inaspettato. Prova ad avviare l'applicazione in modalità provvisoria per controllare il problema." + }, + "bundle-error": { + "title": "Non si è riusciti a caricare uno script personalizzato" + } + }, + "add_link": { + "add_link": "Aggiungi un collegamento", + "close": "Chiudi", + "note": "Nota", + "search_note": "cerca una nota per nome", + "link_title_mirrors": "il titolo del collegamento seguirà il titolo della nota corrente", + "link_title_arbitrary": "il titolo del collegamento può essere modificato arbitrariamente", + "link_title": "Titolo del collegamento", + "button_add_link": "Aggiungi il collegamento invio" + }, + "branch_prefix": { + "edit_branch_prefix": "Modifica il prefisso del ramo", + "help_on_tree_prefix": "Aiuto sui prefissi dell'Albero", + "close": "Chiudi", + "prefix": "Prefisso: ", + "save": "Salva", + "branch_prefix_saved": "Il prefisso del ramo è stato salvato." + }, + "bulk_actions": { + "bulk_actions": "Azioni massive", + "close": "Chiudi", + "affected_notes": "Note influenzate" + }, + "clone_to": { + "clone_notes_to": "Clona note in...", + "close": "Chiudi" + }, + "confirm": { + "close": "Chiudi", + "cancel": "Annulla", + "ok": "OK" + }, + "delete_notes": { + "ok": "OK", + "close": "Chiudi" + }, + "info": { + "okButton": "OK", + "closeButton": "Chiudi" + }, + "export": { + "close": "Chiudi" + }, + "help": { + "close": "Chiudi" + }, + "import": { + "close": "Chiudi" + }, + "include_note": { + "close": "Chiudi" + }, + "jump_to_note": { + "close": "Chiudi" + }, + "markdown_import": { + "close": "Chiudi" + }, + "move_to": { + "close": "Chiudi" + }, + "note_type_chooser": { + "close": "Chiudi" + }, + "password_not_set": { + "close": "Chiudi", + "body1": "Le note protette sono crittografate utilizzando una password utente, ma la password non è stata ancora impostata.", + "body2": "Per proteggere le note, fare clic su qui per aprire la finestra di dialogo Opzioni e impostare la password." + }, + "protected_session_password": { + "close_label": "Chiudi" + }, + "prompt": { + "close": "Chiudi" + }, + "recent_changes": { + "close": "Chiudi" + }, + "revisions": { + "close": "Chiudi" + } +} From 5520cfed5d31b46c71d01212918ba51cc207ba38 Mon Sep 17 00:00:00 2001 From: Grant Zhu Date: Mon, 4 Aug 2025 14:26:56 +0200 Subject: [PATCH 342/505] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (1560 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/zh_Hans/ --- .../src/translations/cn/translation.json | 328 ++++++++++++++++-- 1 file changed, 307 insertions(+), 21 deletions(-) diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index e231d95e9..8a6ead5ae 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -164,7 +164,8 @@ "showSQLConsole": "显示 SQL 控制台", "other": "其他", "quickSearch": "定位到快速搜索框", - "inPageSearch": "页面内搜索" + "inPageSearch": "页面内搜索", + "newTabWithActivationNoteLink": "Ctrl+Shift+click - (或 Shift+middle mouse click) 在笔记链接打开并激活笔记在一个新的选项卡" }, "import": { "importIntoNote": "导入到笔记", @@ -211,7 +212,8 @@ }, "jump_to_note": { "close": "关闭", - "search_button": "全文搜索 Ctrl+回车" + "search_button": "全文搜索 Ctrl+回车", + "search_placeholder": "按名称或类型搜索笔记 > 查看命令..." }, "markdown_import": { "dialog_title": "Markdown 导入", @@ -235,7 +237,8 @@ "close": "关闭", "modal_body": "选择新笔记的类型或模板:", "templates": "模板:", - "change_path_prompt": "更改新笔记的创建位置:" + "change_path_prompt": "更改创建新笔记的位置:", + "search_placeholder": "按名称搜索路径(默认为空)" }, "password_not_set": { "title": "密码未设置", @@ -440,7 +443,8 @@ "other_notes_with_name": "其它含有 {{attributeType}} 名为 \"{{attributeName}}\" 的的笔记", "and_more": "... 以及另外 {{count}} 个", "print_landscape": "导出为 PDF 时,将页面方向更改为横向而不是纵向。", - "print_page_size": "导出为 PDF 时,更改页面大小。支持的值:A0A1A2A3A4A5A6LegalLetterTabloidLedger。" + "print_page_size": "导出为 PDF 时,更改页面大小。支持的值:A0A1A2A3A4A5A6LegalLetterTabloidLedger。", + "color_type": "颜色" }, "attribute_editor": { "help_text_body1": "要添加标签,只需输入例如 #rock 或者如果您还想添加值,则例如 #year = 2020", @@ -744,7 +748,8 @@ "basic_properties": { "note_type": "笔记类型", "editable": "可编辑", - "basic_properties": "基本属性" + "basic_properties": "基本属性", + "language": "语言" }, "book_properties": { "view_type": "视图类型", @@ -755,7 +760,11 @@ "collapse": "折叠", "expand": "展开", "invalid_view_type": "无效的查看类型 '{{type}}'", - "calendar": "日历" + "calendar": "日历", + "book_properties": "集合属性", + "table": "表格", + "geo-map": "地理地图", + "board": "看板" }, "edited_notes": { "no_edited_notes_found": "今天还没有编辑过的笔记...", @@ -832,7 +841,8 @@ "unknown_label_type": "未知的标签类型 '{{type}}'", "unknown_attribute_type": "未知的属性类型 '{{type}}'", "add_new_attribute": "添加新属性", - "remove_this_attribute": "移除此属性" + "remove_this_attribute": "移除此属性", + "remove_color": "移除此颜色标签" }, "script_executor": { "query": "查询", @@ -1091,7 +1101,8 @@ "max_width_label": "内容最大宽度(像素)", "apply_changes_description": "要应用内容宽度更改,请点击", "reload_button": "重载前端", - "reload_description": "来自外观选项的更改" + "reload_description": "来自外观选项的更改", + "max_width_unit": "像素" }, "native_title_bar": { "title": "原生标题栏(需要重新启动应用)", @@ -1126,7 +1137,8 @@ "code_auto_read_only_size": { "title": "自动只读大小", "description": "自动只读大小是指笔记超过设置的大小后自动设置为只读模式(为性能考虑)。", - "label": "自动只读大小(代码笔记)" + "label": "自动只读大小(代码笔记)", + "unit": "字符" }, "code_mime_types": { "title": "下拉菜单可用的MIME文件类型" @@ -1145,7 +1157,8 @@ "download_images_description": "粘贴的 HTML 可能包含在线图片的引用,Trilium 会找到这些引用并下载图片,以便它们可以离线使用。", "enable_image_compression": "启用图片压缩", "max_image_dimensions": "图片的最大宽度/高度(超过此限制的图像将会被缩放)。", - "jpeg_quality_description": "JPEG 质量(10 - 最差质量,100 最佳质量,建议为 50 - 85)" + "jpeg_quality_description": "JPEG 质量(10 - 最差质量,100 最佳质量,建议为 50 - 85)", + "max_image_dimensions_unit": "像素" }, "attachment_erasure_timeout": { "attachment_erasure_timeout": "附件清理超时", @@ -1177,7 +1190,8 @@ "note_revisions_snapshot_limit_description": "笔记修订快照数限制指的是每个笔记可以保存的最大历史记录数量。其中 -1 表示没有限制,0 表示删除所有历史记录。您可以通过 #versioningLimit 标签设置单个笔记的最大修订记录数量。", "snapshot_number_limit_label": "笔记修订快照数量限制:", "erase_excess_revision_snapshots": "立即删除多余的修订快照", - "erase_excess_revision_snapshots_prompt": "多余的修订快照已被删除。" + "erase_excess_revision_snapshots_prompt": "多余的修订快照已被删除。", + "snapshot_number_limit_unit": "快照" }, "search_engine": { "title": "搜索引擎", @@ -1219,12 +1233,14 @@ "title": "目录", "description": "当笔记中有超过一定数量的标题时,显示目录。您可以自定义此数量:", "disable_info": "您可以设置一个非常大的数来禁用目录。", - "shortcut_info": "您可以在 “选项” -> “快捷键” 中配置一个键盘快捷键,以便快速切换右侧面板(包括目录)(名称为 'toggleRightPane')。" + "shortcut_info": "您可以在 “选项” -> “快捷键” 中配置一个键盘快捷键,以便快速切换右侧面板(包括目录)(名称为 'toggleRightPane')。", + "unit": "标题" }, "text_auto_read_only_size": { "title": "自动只读大小", "description": "自动只读笔记大小是超过该大小后,笔记将以只读模式显示(出于性能考虑)。", - "label": "自动只读大小(文本笔记)" + "label": "自动只读大小(文本笔记)", + "unit": "字符" }, "i18n": { "title": "本地化", @@ -1375,7 +1391,8 @@ "test_title": "同步测试", "test_description": "测试和同步服务器之间的连接。如果同步服务器没有初始化,会将本地文档同步到同步服务器上。", "test_button": "测试同步", - "handshake_failed": "同步服务器握手失败,错误:{{message}}" + "handshake_failed": "同步服务器握手失败,错误:{{message}}", + "timeout_unit": "毫秒" }, "api_log": { "close": "关闭" @@ -1434,7 +1451,9 @@ "import-into-note": "导入到笔记", "apply-bulk-actions": "应用批量操作", "converted-to-attachments": "{{count}} 个笔记已被转换为附件。", - "convert-to-attachment-confirm": "确定要将选中的笔记转换为其父笔记的附件吗?" + "convert-to-attachment-confirm": "确定要将选中的笔记转换为其父笔记的附件吗?", + "duplicate": "复制", + "open-in-popup": "快速编辑" }, "shared_info": { "shared_publicly": "此笔记已公开分享于", @@ -1460,7 +1479,11 @@ "confirm-change": "当笔记内容不为空时,不建议更改笔记类型。您仍然要继续吗?", "geo-map": "地理地图", "beta-feature": "测试版", - "task-list": "待办事项列表" + "task-list": "任务列表", + "ai-chat": "AI聊天", + "new-feature": "新建", + "collections": "集合", + "book": "集合" }, "protect_note": { "toggle-on": "保护笔记", @@ -1570,7 +1593,9 @@ }, "clipboard": { "cut": "笔记已剪切到剪贴板。", - "copied": "笔记已复制到剪贴板。" + "copied": "笔记已复制到剪贴板。", + "copy_failed": "由于权限问题,无法复制到剪贴板。", + "copy_success": "已复制到剪贴板。" }, "entrypoints": { "note-revision-created": "笔记修订已创建。", @@ -1621,7 +1646,8 @@ "word_wrapping": "自动换行", "theme_none": "无语法高亮", "theme_group_light": "浅色主题", - "theme_group_dark": "深色主题" + "theme_group_dark": "深色主题", + "copy_title": "复制到剪贴板" }, "classic_editor_toolbar": { "title": "格式" @@ -1659,7 +1685,8 @@ "link_context_menu": { "open_note_in_new_tab": "在新标签页中打开笔记", "open_note_in_new_split": "在新分屏中打开笔记", - "open_note_in_new_window": "在新窗口中打开笔记" + "open_note_in_new_window": "在新窗口中打开笔记", + "open_note_in_popup": "快速编辑" }, "electron_integration": { "desktop-application": "桌面应用程序", @@ -1679,7 +1706,8 @@ "full-text-search": "全文搜索" }, "note_tooltip": { - "note-has-been-deleted": "笔记已被删除。" + "note-has-been-deleted": "笔记已被删除。", + "quick-edit": "快速编辑" }, "geo-map": { "create-child-note-title": "创建一个新的子笔记并将其添加到地图中", @@ -1688,7 +1716,8 @@ }, "geo-map-context": { "open-location": "打开位置", - "remove-from-map": "从地图中移除" + "remove-from-map": "从地图中移除", + "add-note": "在这个位置添加一个标记" }, "help-button": { "title": "打开相关帮助页面" @@ -1720,5 +1749,262 @@ "tomorrow": "明天", "yesterday": "昨天" } + }, + "ai_llm": { + "not_started": "未开始", + "title": "AI设置", + "processed_notes": "已处理笔记", + "total_notes": "笔记总数", + "progress": "进度", + "queued_notes": "排队中笔记", + "failed_notes": "失败笔记", + "last_processed": "最后处理时间", + "refresh_stats": "刷新统计数据", + "enable_ai_features": "启用AI/LLM功能", + "enable_ai_description": "启用笔记摘要、内容生成等AI功能及其他LLM能力", + "openai_tab": "OpenAI", + "anthropic_tab": "Anthropic", + "voyage_tab": "Voyage AI", + "ollama_tab": "Ollama", + "enable_ai": "启用AI/LLM功能", + "enable_ai_desc": "启用笔记摘要、内容生成等AI功能及其他LLM能力", + "provider_configuration": "AI提供商配置", + "provider_precedence": "提供商优先级", + "provider_precedence_description": "按优先级排序的提供商列表(用逗号分隔,例如:'openai,anthropic,ollama')", + "temperature": "温度参数", + "temperature_description": "控制响应的随机性(0 = 确定性输出,2 = 最大随机性)", + "system_prompt": "系统提示词", + "system_prompt_description": "所有AI交互使用的默认系统提示词", + "openai_configuration": "OpenAI配置", + "openai_settings": "OpenAI设置", + "api_key": "API密钥", + "url": "基础URL", + "model": "模型", + "openai_api_key_description": "用于访问OpenAI服务的API密钥", + "anthropic_api_key_description": "用于访问Claude模型的Anthropic API密钥", + "default_model": "默认模型", + "openai_model_description": "示例:gpt-4o、gpt-4-turbo、gpt-3.5-turbo", + "base_url": "基础URL", + "openai_url_description": "默认:https://api.openai.com/v1", + "anthropic_settings": "Anthropic设置", + "anthropic_url_description": "Anthropic API的基础URL(默认:https://api.anthropic.com)", + "anthropic_model_description": "用于聊天补全的Anthropic Claude模型", + "voyage_settings": "Voyage AI设置", + "ollama_settings": "Ollama设置", + "ollama_url_description": "Ollama API的URL(默认:http://localhost:11434)", + "ollama_model_description": "用于聊天补全的 Ollama 模型", + "anthropic_configuration": "Anthropic配置", + "voyage_configuration": "Voyage AI配置", + "voyage_url_description": "默认:https://api.voyageai.com/v1", + "ollama_configuration": "Ollama配置", + "enable_ollama": "启用Ollama", + "enable_ollama_description": "启用Ollama以使用本地AI模型", + "ollama_url": "Ollama URL", + "ollama_model": "Ollama模型", + "refresh_models": "刷新模型", + "refreshing_models": "刷新中...", + "enable_automatic_indexing": "启用自动索引", + "rebuild_index": "重建索引", + "rebuild_index_error": "启动索引重建失败。请查看日志了解详情。", + "note_title": "笔记标题", + "error": "错误", + "last_attempt": "最后尝试时间", + "actions": "操作", + "retry": "重试", + "partial": "{{ percentage }}% 已完成", + "retry_queued": "笔记已加入重试队列", + "retry_failed": "笔记加入重试队列失败", + "max_notes_per_llm_query": "每次查询的最大笔记数", + "max_notes_per_llm_query_description": "AI上下文包含的最大相似笔记数量", + "active_providers": "活跃提供商", + "disabled_providers": "已禁用提供商", + "remove_provider": "从搜索中移除提供商", + "restore_provider": "将提供商恢复到搜索中", + "similarity_threshold": "相似度阈值", + "similarity_threshold_description": "纳入LLM查询上下文的笔记最低相似度分数(0-1)", + "reprocess_index": "重建搜索索引", + "reprocessing_index": "重建中...", + "reprocess_index_started": "搜索索引优化已在后台启动", + "reprocess_index_error": "重建搜索索引失败", + "index_rebuild_progress": "索引重建进度", + "index_rebuilding": "正在优化索引({{percentage}}%)", + "index_rebuild_complete": "索引优化完成", + "index_rebuild_status_error": "检查索引重建状态失败", + "never": "从未", + "processing": "处理中({{percentage}}%)", + "incomplete": "未完成({{percentage}}%)", + "complete": "已完成(100%)", + "refreshing": "刷新中...", + "auto_refresh_notice": "每 {{seconds}} 秒自动刷新", + "note_queued_for_retry": "笔记已加入重试队列", + "failed_to_retry_note": "重试笔记失败", + "all_notes_queued_for_retry": "所有失败笔记已加入重试队列", + "failed_to_retry_all": "重试笔记失败", + "ai_settings": "AI设置", + "api_key_tooltip": "用于访问服务的API密钥", + "empty_key_warning": { + "anthropic": "Anthropic API密钥为空。请输入有效的API密钥。", + "openai": "OpenAI API密钥为空。请输入有效的API密钥。", + "voyage": "Voyage API密钥为空。请输入有效的API密钥。", + "ollama": "Ollama API密钥为空。请输入有效的API密钥。" + }, + "agent": { + "processing": "处理中...", + "thinking": "思考中...", + "loading": "加载中...", + "generating": "生成中..." + }, + "name": "AI", + "openai": "OpenAI", + "use_enhanced_context": "使用增强上下文", + "enhanced_context_description": "为AI提供来自笔记及其相关笔记的更多上下文,以获得更好的响应", + "show_thinking": "显示思考过程", + "show_thinking_description": "显示AI的思维链过程", + "enter_message": "输入你的消息...", + "error_contacting_provider": "联系AI提供商失败。请检查你的设置和网络连接。", + "error_generating_response": "生成AI响应失败", + "index_all_notes": "为所有笔记建立索引", + "index_status": "索引状态", + "indexed_notes": "已索引笔记", + "indexing_stopped": "索引已停止", + "indexing_in_progress": "索引进行中...", + "last_indexed": "最后索引时间", + "n_notes_queued_0": "{{ count }} 条笔记已加入索引队列", + "note_chat": "笔记聊天", + "notes_indexed_0": "{{ count }} 条笔记已索引", + "sources": "来源", + "start_indexing": "开始索引", + "use_advanced_context": "使用高级上下文", + "ollama_no_url": "Ollama 未配置。请输入有效的URL。", + "chat": { + "root_note_title": "AI聊天记录", + "root_note_content": "此笔记包含你保存的AI聊天对话。", + "new_chat_title": "新聊天", + "create_new_ai_chat": "创建新的AI聊天" + }, + "create_new_ai_chat": "创建新的AI聊天", + "configuration_warnings": "你的AI配置存在一些问题。请检查你的设置。", + "experimental_warning": "LLM功能目前处于实验阶段 - 特此提醒。", + "selected_provider": "已选提供商", + "selected_provider_description": "选择用于聊天和补全功能的AI提供商", + "select_model": "选择模型...", + "select_provider": "选择提供商..." + }, + "code-editor-options": { + "title": "编辑器" + }, + "custom_date_time_format": { + "title": "自定义日期/时间格式", + "description": "通过或工具栏的方式可自定义日期和时间格式,有关日期/时间格式字符串中各个字符的含义,请参阅Day.js docs。", + "format_string": "日期/时间格式字符串:", + "formatted_time": "格式化后日期/时间:" + }, + "content_widget": { + "unknown_widget": "未知组件:\"{{id}}\"." + }, + "note_language": { + "not_set": "不设置", + "configure-languages": "设置语言..." + }, + "content_language": { + "title": "内容语言", + "description": "选择一种或多种语言出现在只读或可编辑文本注释的基本属性,这将支持拼写检查或从右向左之类的功能。" + }, + "switch_layout_button": { + "title_vertical": "将编辑面板移至底部", + "title_horizontal": "将编辑面板移至左侧" + }, + "toggle_read_only_button": { + "unlock-editing": "解锁编辑", + "lock-editing": "锁定编辑" + }, + "png_export_button": { + "button_title": "将图表导出为PNG" + }, + "svg": { + "export_to_png": "无法将图表导出为PNG。" + }, + "code_theme": { + "title": "外观", + "word_wrapping": "自动换行", + "color-scheme": "配色方案" + }, + "cpu_arch_warning": { + "title": "请下载ARM64版本", + "message_macos": "TriliumNext当前正在通过Rosetta 2转译运行,这意味着您在Apple Silicon芯片的Mac上使用的是Intel(x64)版本。这将显著影响性能和电池续航。", + "message_windows": "TriliumNext当前正在模拟环境中运行,这意味着您在ARM架构的Windows设备上使用的是Intel(x64)版本。这将显著影响性能和电池续航。", + "recommendation": "为获得最佳体验,请从我们的发布页面下载TriliumNext的原生ARM64版本。", + "download_link": "下载原生版本", + "continue_anyway": "仍然继续", + "dont_show_again": "不再显示此警告" + }, + "editorfeatures": { + "title": "功能", + "emoji_completion_enabled": "启用表情自动补全", + "note_completion_enabled": "启用笔记自动补全" + }, + "table_view": { + "new-row": "新增行", + "new-column": "新增列", + "sort-column-by": "按\"{{title}}\"排序", + "sort-column-ascending": "升序", + "sort-column-descending": "降序", + "sort-column-clear": "清除排序", + "hide-column": "隐藏\"{{title}}\"列", + "show-hide-columns": "显示/隐藏列", + "row-insert-above": "在上方插入行", + "row-insert-below": "在下方插入行", + "row-insert-child": "插入子笔记", + "add-column-to-the-left": "在左侧添加列", + "add-column-to-the-right": "在右侧添加列", + "edit-column": "编辑列", + "delete_column_confirmation": "确定要删除此列吗?所有笔记中对应的属性都将被移除。", + "delete-column": "删除列", + "new-column-label": "标签", + "new-column-relation": "关联" + }, + "book_properties_config": { + "hide-weekends": "隐藏周末", + "display-week-numbers": "显示周数", + "map-style": "地图样式:", + "max-nesting-depth": "最大嵌套深度:", + "raster": "栅格", + "vector_light": "矢量(浅色)", + "vector_dark": "矢量(深色)", + "show-scale": "显示比例尺" + }, + "table_context_menu": { + "delete_row": "删除行" + }, + "board_view": { + "delete-note": "删除笔记", + "move-to": "移动到", + "insert-above": "在上方插入", + "insert-below": "在下方插入", + "delete-column": "删除列", + "delete-column-confirmation": "确定要删除此列吗?此列下所有笔记中对应的属性也将被删除。", + "new-item": "新增项目", + "add-column": "添加列" + }, + "command_palette": { + "tree-action-name": "树形:{{name}}", + "export_note_title": "导出笔记", + "export_note_description": "导出当前笔记", + "show_attachments_title": "显示附件", + "show_attachments_description": "查看笔记附件", + "search_notes_title": "搜索笔记", + "search_notes_description": "打开高级搜索", + "search_subtree_title": "在子树中搜索", + "search_subtree_description": "在当前子树范围内搜索", + "search_history_title": "显示搜索历史", + "search_history_description": "查看之前的搜索记录", + "configure_launch_bar_title": "配置启动栏", + "configure_launch_bar_description": "打开启动栏配置,添加或移除项目。" + }, + "content_renderer": { + "open_externally": "在外部打开" + }, + "modal": { + "close": "关闭" } } From 61f9a86685c0e3ad8c46c4e8d4ba0811ce4f27ba Mon Sep 17 00:00:00 2001 From: Marcelo Nolasco Date: Tue, 5 Aug 2025 03:05:10 +0200 Subject: [PATCH 343/505] Translated using Weblate (Portuguese (Brazil)) Currently translated at 11.7% (184 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/pt_BR/ --- .../src/translations/pt_br/translation.json | 110 +++++++++++++++++- 1 file changed, 109 insertions(+), 1 deletion(-) diff --git a/apps/client/src/translations/pt_br/translation.json b/apps/client/src/translations/pt_br/translation.json index 559bb4e45..903ef4a70 100644 --- a/apps/client/src/translations/pt_br/translation.json +++ b/apps/client/src/translations/pt_br/translation.json @@ -117,6 +117,114 @@ "format_opml": "OPML - formato de intercâmbio de outliners apenas para texto. Formatação, imagens e arquivos não estão incluídos.", "opml_version_1": "OPML v1.0 – apenas texto simples", "opml_version_2": "OPML v2.0 – permite também HTML", - "export_type_single": "Apenas esta nota, sem seus descendentes" + "export_type_single": "Apenas esta nota, sem seus descendentes", + "export": "Exportar", + "choose_export_type": "Por favor, escolha primeiro o tipo de exportação", + "export_status": "Status da exportação", + "export_in_progress": "Exportação em andamento: {{progressCount}}", + "export_finished_successfully": "Exportação concluída com sucesso.", + "format_pdf": "PDF – para impressão ou compartilhamento." + }, + "help": { + "fullDocumentation": "Ajuda (a documentação completa está disponível online)", + "close": "Fechar", + "noteNavigation": "Navegação de notas", + "goUpDown": "UP, DOWN – subir/descer na lista de notas", + "collapseExpand": "ESQUERDA, DIREITA – recolher/expandir nó", + "notSet": "não definido", + "goBackForwards": "voltar / avançar no histórico", + "showJumpToNoteDialog": "mostrar diálogo \"Ir para\"", + "scrollToActiveNote": "rolar até a nota atual", + "jumpToParentNote": "Backspace – ir para a nota pai", + "collapseWholeTree": "recolher toda a árvore de notas", + "collapseSubTree": "recolher subárvore", + "tabShortcuts": "Atalhos de abas", + "newTabNoteLink": "Ctrl+clique – (ou clique com o botão do meio do mouse) em um link de nota abre a nota em uma nova aba", + "newTabWithActivationNoteLink": "Ctrl+Shift+clique – (ou Shift+clique com o botão do meio do mouse) em um link de nota abre e ativa a nota em uma nova aba", + "onlyInDesktop": "Apenas na versão para desktop (compilação Electron)", + "openEmptyTab": "abrir aba vazia", + "closeActiveTab": "fechar aba ativa", + "activateNextTab": "ativar próxima aba", + "activatePreviousTab": "ativar aba anterior", + "creatingNotes": "Criando notas", + "createNoteAfter": "criar nova nota após a nota atual", + "createNoteInto": "criar nova subnota dentro da nota atual", + "editBranchPrefix": "editar prefixo do clone da nota ativa", + "movingCloningNotes": "Movendo / clonando notas", + "moveNoteUpDown": "mover nota para cima/baixo na lista de notas", + "moveNoteUpHierarchy": "mover nota para cima na hierarquia", + "multiSelectNote": "selecionar múltiplas notas acima/abaixo", + "selectAllNotes": "selecionar todas as notas no nível atual", + "selectNote": "Shift+clique - selecionar nota", + "copyNotes": "copiar nota ativa (ou seleção atual) para a área de transferência (usado para clonar)", + "cutNotes": "recortar nota atual (ou seleção atual) para a área de transferência (usado para mover notas)", + "pasteNotes": "colar nota(s) como subnota dentro da nota ativa (o que pode ser mover ou clonar dependendo se foi copiado ou recortado para a área de transferência)", + "deleteNotes": "excluir nota / subárvore", + "editingNotes": "Edição de notas", + "editNoteTitle": "no painel de árvore, a navegação mudará do painel de árvore para o título da nota. Pressionar Enter no título da nota mudará o foco para o editor de texto. Ctrl+. mudará o foco de volta do editor para o painel de árvore.", + "createEditLink": "Ctrl+K - criar / editar link externo", + "createInternalLink": "criar link interno", + "followLink": "seguir link sob o cursor", + "insertDateTime": "inserir data e hora atual na posição do cursor", + "jumpToTreePane": "ir para a árvore de notas e rolar até a nota ativa", + "markdownAutoformat": "Autoformatação estilo Markdown", + "headings": "##, ###, #### etc. seguidos de espaço para títulos", + "bulletList": "* ou - seguidos de espaço para lista com marcadores", + "numberedList": "1. ou 1) seguidos de espaço para lista numerada", + "blockQuote": "comece uma linha com > seguido de espaço para citação em bloco", + "troubleshooting": "Solução de problemas", + "reloadFrontend": "recarregar o frontend do Trilium", + "showDevTools": "mostrar ferramentas de desenvolvedor", + "showSQLConsole": "mostrar console SQL", + "other": "Outros", + "quickSearch": "focar no campo de pesquisa rápida", + "inPageSearch": "pesquisa na página" + }, + "import": { + "importIntoNote": "Importar para a nota", + "close": "Fechar", + "chooseImportFile": "Escolher arquivo para importar", + "importDescription": "O conteúdo do(s) arquivo(s) selecionado(s) será importado como nota(s) filha(s) em", + "options": "Opções", + "safeImportTooltip": "Arquivos de exportação Trilium .zip podem conter scripts executáveis que podem apresentar comportamentos prejudiciais. A importação segura desativará a execução automática de todos os scripts importados. Desmarque “Importação segura” apenas se o arquivo de importação contiver scripts executáveis e você confiar totalmente no conteúdo do arquivo importado.", + "safeImport": "Importação segura", + "explodeArchivesTooltip": "Se esta opção estiver marcada, o Trilium irá ler arquivos .zip, .enex e .opml e criar notas a partir dos arquivos contidos nesses arquivos compactados. Se estiver desmarcada, o Trilium irá anexar os próprios arquivos compactados à nota.", + "explodeArchives": "Ler conteúdos de arquivos .zip, .enex e .opml.", + "shrinkImagesTooltip": "

    Se você marcar esta opção, o Trilium tentará reduzir o tamanho das imagens importadas por meio de escala e otimização, o que pode afetar a qualidade visual das imagens. Se desmarcada, as imagens serão importadas sem alterações.

    Isso não se aplica a importações de arquivos .zip com metadados, pois presume-se que esses arquivos já estejam otimizados.

    ", + "shrinkImages": "Reduzir imagens", + "textImportedAsText": "Importar arquivos HTML, Markdown e TXT como notas de texto caso não esteja claro pelos metadados", + "codeImportedAsCode": "Importar arquivos de código reconhecidos (por exemplo, .json) como notas de código caso não esteja claro pelos metadados", + "replaceUnderscoresWithSpaces": "Substituir sublinhados por espaços nos nomes das notas importadas", + "import": "Importar", + "failed": "Falha na importação: {{message}}.", + "html_import_tags": { + "title": "Tags de importação HTML", + "description": "Configurar quais tags HTML devem ser preservadas ao importar notas. As tags que não estiverem nesta lista serão removidas durante a importação. Algumas tags (como 'script') são sempre removidas por motivos de segurança.", + "placeholder": "Digite as tags HTML, uma por linha", + "reset_button": "Redefinir para lista padrão" + }, + "import-status": "Status da importação", + "in-progress": "Importação em andamento: {{progress}}", + "successful": "Importação concluída com sucesso." + }, + "include_note": { + "dialog_title": "Incluir nota", + "close": "Fechar", + "label_note": "Nota", + "placeholder_search": "pesquisar nota pelo nome", + "box_size_prompt": "Dimensão da caixa da nota incluída:", + "box_size_small": "pequeno (~ 10 linhas)", + "box_size_medium": "médio (~ 30 linhas)", + "box_size_full": "completo (a caixa exibe o texto completo)", + "button_include": "Incluir nota enter" + }, + "info": { + "modalTitle": "Mensagem informativa", + "closeButton": "Fechar", + "okButton": "OK" + }, + "jump_to_note": { + "search_placeholder": "Pesquise uma nota pelo nome ou digite > para comandos...", + "close": "Fechar" } } From 9023ba1d0aa54d44f44634c2e63c28ac9eab079c Mon Sep 17 00:00:00 2001 From: Grant Zhu Date: Mon, 4 Aug 2025 14:22:24 +0200 Subject: [PATCH 344/505] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (378 of 378 strings) Translation: Trilium Notes/Server Translate-URL: https://hosted.weblate.org/projects/trilium/server/zh_Hans/ --- .../src/assets/translations/cn/server.json | 222 +++++++++--------- 1 file changed, 111 insertions(+), 111 deletions(-) diff --git a/apps/server/src/assets/translations/cn/server.json b/apps/server/src/assets/translations/cn/server.json index 7001b86f5..0ff95e57a 100644 --- a/apps/server/src/assets/translations/cn/server.json +++ b/apps/server/src/assets/translations/cn/server.json @@ -1,7 +1,7 @@ { "keyboard_actions": { "open-jump-to-note-dialog": "打开“跳转到笔记”对话框", - "search-in-subtree": "在活跃笔记的子树中搜索笔记", + "search-in-subtree": "在当前笔记的子树中搜索笔记", "expand-subtree": "展开当前笔记的子树", "collapse-tree": "折叠完整的笔记树", "collapse-subtree": "折叠当前笔记的子树", @@ -9,52 +9,52 @@ "creating-and-moving-notes": "创建和移动笔记", "create-note-into-inbox": "在收件箱(若已定义)或日记中创建笔记", "delete-note": "删除笔记", - "move-note-up": "上移笔记", - "move-note-down": "下移笔记", - "move-note-up-in-hierarchy": "在层级中上移笔记", - "move-note-down-in-hierarchy": "在层级中下移笔记", + "move-note-up": "向上移动笔记", + "move-note-down": "向下移动笔记", + "move-note-up-in-hierarchy": "在层级中向上移动笔记", + "move-note-down-in-hierarchy": "在层级中向下移动笔记", "edit-note-title": "从树跳转到笔记详情并编辑标题", "edit-branch-prefix": "显示编辑分支前缀对话框", "note-clipboard": "笔记剪贴板", "copy-notes-to-clipboard": "复制选定的笔记到剪贴板", - "paste-notes-from-clipboard": "从剪贴板粘贴笔记到活跃笔记中", + "paste-notes-from-clipboard": "从剪贴板粘贴笔记到当前笔记中", "cut-notes-to-clipboard": "剪切选定的笔记到剪贴板", "select-all-notes-in-parent": "选择当前笔记级别的所有笔记", "add-note-above-to-the-selection": "将上方笔记添加到选择中", "add-note-below-to-selection": "将下方笔记添加到选择中", - "duplicate-subtree": "克隆子树", + "duplicate-subtree": "复制子树", "tabs-and-windows": "标签页和窗口", "open-new-tab": "打开新标签页", - "close-active-tab": "关闭活跃标签页", - "reopen-last-tab": "重开最后关闭的标签页", - "activate-next-tab": "激活右侧标签页", - "activate-previous-tab": "激活左侧标签页", - "open-new-window": "打开新空窗口", - "toggle-tray": "从系统托盘显示/隐藏应用程序", - "first-tab": "激活列表中的第一个标签页", - "second-tab": "激活列表中的第二个标签页", - "third-tab": "激活列表中的第三个标签页", - "fourth-tab": "激活列表中的第四个标签页", - "fifth-tab": "激活列表中的第五个标签页", - "sixth-tab": "激活列表中的第六个标签页", - "seventh-tab": "激活列表中的第七个标签页", - "eight-tab": "激活列表中的第八个标签页", - "ninth-tab": "激活列表中的第九个标签页", - "last-tab": "激活列表中的最后一个标签页", + "close-active-tab": "关闭当前标签页", + "reopen-last-tab": "重新打开最后关闭的标签页", + "activate-next-tab": "切换下一个标签页", + "activate-previous-tab": "切换上一个标签页", + "open-new-window": "打开新窗口", + "toggle-tray": "显示/隐藏系统托盘图标", + "first-tab": "切换到第一个标签页", + "second-tab": "切换到第二个标签页", + "third-tab": "切换到第三个标签页", + "fourth-tab": "切换到第四个标签页", + "fifth-tab": "切换到第五个标签页", + "sixth-tab": "切换到第六个标签页", + "seventh-tab": "切换到第七个标签页", + "eight-tab": "切换到第八个标签页", + "ninth-tab": "切换到第九个标签页", + "last-tab": "切换到最后一个标签页", "dialogs": "对话框", - "show-note-source": "显示笔记源对话框", + "show-note-source": "显示笔记源代码对话框", "show-options": "显示选项对话框", - "show-revisions": "显示笔记修订对话框", + "show-revisions": "显示修订历史对话框", "show-recent-changes": "显示最近更改对话框", - "show-sql-console": "显示 SQL 控制台对话框", + "show-sql-console": "显示SQL控制台对话框", "show-backend-log": "显示后端日志对话框", "text-note-operations": "文本笔记操作", "add-link-to-text": "打开对话框以添加链接到文本", - "follow-link-under-cursor": "追踪光标下的链接", - "insert-date-and-time-to-text": "插入当前日期和时间到文本", + "follow-link-under-cursor": "访问光标下的链接", + "insert-date-and-time-to-text": "在文本中插入日期和时间", "paste-markdown-into-text": "从剪贴板粘贴 Markdown 到文本笔记", "cut-into-note": "剪切当前笔记的选区并创建包含选定文本的子笔记", - "add-include-note-to-text": "打开对话框以引含一个笔记", + "add-include-note-to-text": "打开对话框以添加一个包含笔记", "edit-readonly-note": "编辑只读笔记", "attributes-labels-and-relations": "属性(标签和关系)", "add-new-label": "创建新标签", @@ -72,38 +72,38 @@ "toggle-similar-notes": "切换相似笔记", "other": "其他", "toggle-right-pane": "切换右侧面板的显示,包括目录和高亮", - "print-active-note": "打印活跃笔记", + "print-active-note": "打印当前笔记", "open-note-externally": "以默认应用打开笔记文件", - "render-active-note": "渲染(重新渲染)活跃笔记", - "run-active-note": "运行活跃 JavaScript(前/后端)代码笔记", - "toggle-note-hoisting": "切换活跃笔记的聚焦", - "unhoist": "从任意地方取消聚焦", - "reload-frontend-app": "重载前端应用", - "open-dev-tools": "打开开发工具", + "render-active-note": "渲染(重新渲染)当前笔记", + "run-active-note": "运行当前 JavaScript(前/后端)代码笔记", + "toggle-note-hoisting": "提升笔记", + "unhoist": "取消提升笔记", + "reload-frontend-app": "重新加载前端应用", + "open-dev-tools": "打开开发者工具", "toggle-left-note-tree-panel": "切换左侧(笔记树)面板", - "toggle-full-screen": "切换全屏", + "toggle-full-screen": "切换全屏模式", "zoom-out": "缩小", "zoom-in": "放大", "note-navigation": "笔记导航", "reset-zoom-level": "重置缩放级别", - "copy-without-formatting": "免格式复制选定文本", - "force-save-revision": "强制创建/保存活跃笔记的新修订版本", - "show-help": "显示内置用户指南", + "copy-without-formatting": "无格式复制选定文本", + "force-save-revision": "强制创建/保存当前笔记的新修订版本", + "show-help": "显示帮助", "toggle-book-properties": "切换书籍属性", "toggle-classic-editor-toolbar": "为编辑器切换格式标签页的固定工具栏", "export-as-pdf": "导出当前笔记为 PDF", - "show-cheatsheet": "显示包含常见键盘操作的弹窗", + "show-cheatsheet": "显示快捷键指南", "toggle-zen-mode": "启用/禁用禅模式(为专注编辑而精简界面)", "open-command-palette": "打开命令面板", "quick-search": "激活快速搜索栏", - "create-note-after": "在当前笔记之后创建新笔记", - "create-note-into": "创建活动笔记的子笔记", - "clone-notes-to": "克隆选中的笔记", - "move-notes-to": "移动选中的笔记", - "find-in-text": "切换搜索面板", - "back-in-note-history": "导航至历史记录中的上一条笔记", - "forward-in-note-history": "导航至历史记录中的下一条笔记", - "scroll-to-active-note": "滚动笔记树至活动笔记" + "create-note-after": "在当前笔记后面创建笔记", + "create-note-into": "创建笔记作为当前笔记的子笔记", + "clone-notes-to": "克隆选中的笔记到", + "move-notes-to": "移动选中的笔记到", + "find-in-text": "在文本中查找", + "back-in-note-history": "导航到历史记录中的上一个笔记", + "forward-in-note-history": "导航到历史记录的下一个笔记", + "scroll-to-active-note": "滚动笔记树到当前笔记" }, "login": { "title": "登录", @@ -118,15 +118,15 @@ "set_password": { "title": "设置密码", "heading": "设置密码", - "description": "在您能够从网页端开始使用 Trilium 之前,您需要先设置一个密码。您之后将使用此密码登录。", + "description": "在您能够从Web开始使用Trilium之前,您需要先设置一个密码。您之后将使用此密码登录。", "password": "密码", "password-confirmation": "密码确认", "button": "设置密码" }, - "javascript-required": "Trilium 需要启用 JavaScript。", + "javascript-required": "Trilium需要启用JavaScript。", "setup": { - "heading": "TriliumNext 笔记设置", - "new-document": "我是新用户,我想为我的笔记创建一个新的 Trilium 文档", + "heading": "TriliumNext笔记设置", + "new-document": "我是新用户,我想为我的笔记创建一个新的Trilium文档", "sync-from-desktop": "我已经有一个桌面实例,我想设置与它的同步", "sync-from-server": "我已经有一个服务器实例,我想设置与它的同步", "next": "下一步", @@ -137,8 +137,8 @@ "setup_sync-from-desktop": { "heading": "从桌面同步", "description": "此设置需要从桌面实例开始:", - "step1": "打开您的 TriliumNext 笔记桌面实例。", - "step2": "从 Trilium 菜单中,点击“选项”。", + "step1": "打开您的TriliumNext笔记桌面实例。", + "step2": "从Trilium菜单中,点击“选项”。", "step3": "点击“同步”类别。", "step4": "将服务器实例地址更改为:{{- host}} 并点击保存。", "step5": "点击“测试同步”按钮以验证连接是否成功。", @@ -147,8 +147,8 @@ }, "setup_sync-from-server": { "heading": "从服务器同步", - "instructions": "请在下面输入 Trilium 服务器地址和凭据。这将从服务器下载整个 Trilium 文档并设置与它的同步。根据文档大小和您的连接的速度,这可能需要一段时间。", - "server-host": "Trilium 服务器地址", + "instructions": "请在下面输入Trilium服务器地址和凭据。这将从服务器下载整个Trilium文档并设置与它的同步。根据文档大小和您的连接的速度,这可能需要一段时间。", + "server-host": "Trilium服务器地址", "server-host-placeholder": "https://<主机名称>:<端口>", "proxy-server": "代理服务器(可选)", "proxy-server-placeholder": "https://<主机名称>:<端口>", @@ -255,8 +255,8 @@ "visible-launchers-title": "可见启动器", "user-guide": "用户指南", "localization": "语言和区域", - "jump-to-note-title": "跳转到……", - "llm-chat-title": "与笔记对话", + "jump-to-note-title": "跳转至...", + "llm-chat-title": "与笔记聊天", "ai-llm-title": "AI/LLM", "inbox-title": "收件箱" }, @@ -297,49 +297,49 @@ "error_title": "错误" }, "keyboard_action_names": { - "back-in-note-history": "回到笔记历史记录", - "forward-in-note-history": "前进到笔记历史记录", + "back-in-note-history": "返回笔记历史", + "forward-in-note-history": "前进笔记历史", "jump-to-note": "跳转到...", "command-palette": "命令面板", - "scroll-to-active-note": "滚动到活动笔记", + "scroll-to-active-note": "滚动到当前笔记", "quick-search": "快速搜索", "search-in-subtree": "在子树中搜索", "expand-subtree": "展开子树", - "collapse-tree": "折叠树", + "collapse-tree": "折叠整个树", "collapse-subtree": "折叠子树", "sort-child-notes": "排序子笔记", - "create-note-after": "创建笔记后", + "create-note-after": "在后面创建笔记", "create-note-into": "创建笔记到", "create-note-into-inbox": "创建笔记到收件箱", "delete-notes": "删除笔记", - "move-note-up": "向上移动笔记", - "move-note-down": "向下移动笔记", - "move-note-up-in-hierarchy": "在层级中向上移动笔记", - "move-note-down-in-hierarchy": "在层级中向下移动笔记", + "move-note-up": "上移笔记", + "move-note-down": "下移笔记", + "move-note-up-in-hierarchy": "在层级中上移笔记", + "move-note-down-in-hierarchy": "在层级中下移笔记", "edit-note-title": "编辑笔记标题", "edit-branch-prefix": "编辑分支前缀", "clone-notes-to": "克隆笔记到", "move-notes-to": "移动笔记到", "copy-notes-to-clipboard": "复制笔记到剪贴板", - "paste-notes-from-clipboard": "粘贴笔记自剪贴板", + "paste-notes-from-clipboard": "从剪贴板粘贴笔记", "cut-notes-to-clipboard": "剪切笔记到剪贴板", - "select-all-notes-in-parent": "选中父级中的所有笔记", + "select-all-notes-in-parent": "选择父节点中所有笔记", "zoom-in": "放大", "zoom-out": "缩小", "reset-zoom-level": "重置缩放级别", "copy-without-formatting": "无格式复制", "force-save-revision": "强制保存修订版本", - "add-note-above-to-selection": "在所选内容上方添加笔记", - "add-note-below-to-selection": "在所选内容下方添加笔记", + "add-note-above-to-selection": "将上方笔记添加到选择", + "add-note-below-to-selection": "将下方笔记添加到选择", "duplicate-subtree": "复制子树", "open-new-tab": "打开新标签页", - "close-active-tab": "关闭活动标签页", - "reopen-last-tab": "重新打开最后一个标签页", - "activate-next-tab": "激活下一个标签页", - "activate-previous-tab": "激活上一个标签页", + "close-active-tab": "关闭当前标签页", + "reopen-last-tab": "重新打开最后关闭的标签页", + "activate-next-tab": "切换下一个标签页", + "activate-previous-tab": "切换上一个标签页", "open-new-window": "打开新窗口", - "toggle-system-tray-icon": "切换系统托盘图标", - "toggle-zen-mode": "切换专注模式", + "toggle-system-tray-icon": "显示/隐藏系统托盘图标", + "toggle-zen-mode": "启用/禁用禅模式", "switch-to-first-tab": "切换到第一个标签页", "switch-to-second-tab": "切换到第二个标签页", "switch-to-third-tab": "切换到第三个标签页", @@ -352,51 +352,51 @@ "switch-to-last-tab": "切换到最后一个标签页", "show-note-source": "显示笔记源代码", "show-options": "显示选项", - "show-revisions": "显示修订版本", + "show-revisions": "显示修订历史", "show-recent-changes": "显示最近更改", - "show-sql-console": "显示 SQL 控制台", + "show-sql-console": "显示SQL控制台", "show-backend-log": "显示后端日志", "show-help": "显示帮助", - "show-cheatsheet": "显示快捷键帮助", - "add-link-to-text": "给文本添加链接", - "follow-link-under-cursor": "点击光标处的链接", + "show-cheatsheet": "显示快捷键指南", + "add-link-to-text": "为文本添加链接", + "follow-link-under-cursor": "访问光标下的链接", "insert-date-and-time-to-text": "在文本中插入日期和时间", - "paste-markdown-into-text": "将 Markdown 粘贴到文本中", - "cut-into-note": "剪切到笔记中", - "add-include-note-to-text": "在文本中添加引用笔记", + "paste-markdown-into-text": "粘贴Markdown到文本", + "cut-into-note": "剪切到笔记", + "add-include-note-to-text": "在文本中添加包含笔记", "edit-read-only-note": "编辑只读笔记", "add-new-label": "添加新标签", - "add-new-relation": "添加新关联", - "toggle-ribbon-tab-classic-editor": "切换功能区选项卡至经典编辑器模式", - "toggle-ribbon-tab-basic-properties": "切换功能区选项卡基本属性", - "toggle-ribbon-tab-book-properties": "切换功能区选项卡书籍属性", - "toggle-ribbon-tab-file-properties": "切换功能区选项卡文件属性", - "toggle-ribbon-tab-image-properties": "切换功能区选项卡图片属性", - "toggle-ribbon-tab-owned-attributes": "切换功能区选项卡自有属性", - "toggle-ribbon-tab-inherited-attributes": "切换功能区选项卡继承属性", - "toggle-ribbon-tab-promoted-attributes": "切换功能区选项卡突出显示属性", - "toggle-ribbon-tab-note-map": "切换功能区选项卡笔记地图", - "toggle-ribbon-tab-note-info": "切换功能区选项卡笔记信息", - "toggle-ribbon-tab-note-paths": "切换功能区选项卡笔记路径", - "toggle-ribbon-tab-similar-notes": "切换功能区选项卡相似笔记", - "toggle-right-pane": "切换右侧窗格", + "add-new-relation": "添加新关系", + "toggle-ribbon-tab-classic-editor": "切换功能区标签:经典编辑器", + "toggle-ribbon-tab-basic-properties": "切换功能区标签:基本属性", + "toggle-ribbon-tab-book-properties": "切换功能区标签:书籍属性", + "toggle-ribbon-tab-file-properties": "切换功能区标签:文件属性", + "toggle-ribbon-tab-image-properties": "切换功能区标签:图片属性", + "toggle-ribbon-tab-owned-attributes": "切换功能区标签:自有属性", + "toggle-ribbon-tab-inherited-attributes": "切换功能区标签:继承属性", + "toggle-ribbon-tab-promoted-attributes": "切换功能区标签:提升属性", + "toggle-ribbon-tab-note-map": "切换功能区标签:笔记地图", + "toggle-ribbon-tab-note-info": "切换功能区标签:笔记信息", + "toggle-ribbon-tab-note-paths": "切换功能区标签:笔记路径", + "toggle-ribbon-tab-similar-notes": "切换功能区标签:相似笔记", + "toggle-right-pane": "切换右侧面板", "print-active-note": "打印当前笔记", - "export-active-note-as-pdf": "导出当前笔记为 PDF 格式", - "open-note-externally": "用外部程序打开笔记", + "export-active-note-as-pdf": "导出当前笔记为 PDF", + "open-note-externally": "在外部打开笔记", "render-active-note": "渲染当前笔记", "run-active-note": "运行当前笔记", - "toggle-note-hoisting": "切换笔记提升显示", - "unhoist-note": "取消笔记提升", + "toggle-note-hoisting": "提升笔记", + "unhoist-note": "取消提升笔记", "reload-frontend-app": "重新加载前端应用", "open-developer-tools": "打开开发者工具", "find-in-text": "在文本中查找", - "toggle-left-pane": "切换左侧窗格", + "toggle-left-pane": "切换左侧面板", "toggle-full-screen": "切换全屏模式" }, "share_theme": { "site-theme": "网站主题", - "search_placeholder": "搜索……", - "image_alt": "文稿图片", + "search_placeholder": "搜索...", + "image_alt": "文章图片", "last-updated": "最后更新于 {{- date}}", "subpages": "子页面:", "on-this-page": "本页内容", @@ -418,10 +418,10 @@ "built-in-templates": "内置模板", "board": "看板", "status": "状态", - "board_note_first": "第一条笔记", - "board_note_second": "第二条笔记", - "board_note_third": "第三条笔记", - "board_status_todo": "待办事项", + "board_note_first": "第一个笔记", + "board_note_second": "第二个笔记", + "board_note_third": "第三个笔记", + "board_status_todo": "待办", "board_status_progress": "进行中", "board_status_done": "已完成" } From bde8e17fe610c58aa3a441de1f88f2ee7bb7c279 Mon Sep 17 00:00:00 2001 From: Marcelo Nolasco Date: Tue, 5 Aug 2025 02:27:16 +0200 Subject: [PATCH 345/505] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (378 of 378 strings) Translation: Trilium Notes/Server Translate-URL: https://hosted.weblate.org/projects/trilium/server/pt_BR/ --- apps/server/src/assets/translations/pt_br/server.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/server/src/assets/translations/pt_br/server.json b/apps/server/src/assets/translations/pt_br/server.json index 79c1a2b15..e4f54bae2 100644 --- a/apps/server/src/assets/translations/pt_br/server.json +++ b/apps/server/src/assets/translations/pt_br/server.json @@ -1,7 +1,7 @@ { "keyboard_actions": { "open-jump-to-note-dialog": "Abrir diálogo \"Ir para nota\"", - "search-in-subtree": "Procurar por notas na subárvore ativa", + "search-in-subtree": "Buscar notas na subárvore da nota atual", "expand-subtree": "Expandir subárvore da nota atual", "collapse-tree": "Colapsar a árvore completa de notas", "collapse-subtree": "Colapsar subárvore da nota atual", @@ -14,7 +14,7 @@ "move-note-up-in-hierarchy": "Mover nota para cima em hierarquia", "move-note-down-in-hierarchy": "Mover nota para baixo em hierarquia", "edit-note-title": "Pule da árvore para os detalhes da nota e edite o título", - "edit-branch-prefix": "Exibir o diálogo de edição do prefixo da branch", + "edit-branch-prefix": "Exibir o diálogo \"Editar prefixo da ramificação\"", "note-clipboard": "Área de transferência de notas", "copy-notes-to-clipboard": "Copiar notas selecionadas para Área de transferência", "paste-notes-from-clipboard": "Colar notas da área de transferência na nota atual", @@ -226,7 +226,7 @@ "move-note-up-in-hierarchy": "Mover Nota Para Cima na Hierarquia", "move-note-down-in-hierarchy": "Mover Nota Para Baixo na Hierarquia", "edit-note-title": "Editar Título da Nota", - "edit-branch-prefix": "Editar Prefixo do Branch", + "edit-branch-prefix": "Editar prefixo da ramificação", "clone-notes-to": "Clonar Notas Para", "move-notes-to": "Mover Notas Para", "copy-notes-to-clipboard": "Copiar Notas para a Área de Transferência", From 952456a69c9a2d3f9a350990c4158933cfbf28f8 Mon Sep 17 00:00:00 2001 From: Kuzma Simonov Date: Mon, 4 Aug 2025 19:21:01 +0200 Subject: [PATCH 346/505] Translated using Weblate (Russian) Currently translated at 53.6% (837 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/ru/ --- .../src/translations/ru/translation.json | 432 +++++++++++++++--- 1 file changed, 381 insertions(+), 51 deletions(-) diff --git a/apps/client/src/translations/ru/translation.json b/apps/client/src/translations/ru/translation.json index 2f705f06d..daf8efc57 100644 --- a/apps/client/src/translations/ru/translation.json +++ b/apps/client/src/translations/ru/translation.json @@ -33,7 +33,8 @@ "link_title_arbitrary": "заголовок ссылки может быть изменен произвольно", "button_add_link": "Добавить ссылку enter", "help_on_links": "Помощь по ссылкам", - "search_note": "поиск заметки по ее названию" + "search_note": "поиск заметки по ее названию", + "link_title_mirrors": "название ссылки отражает текущий заголовок заметки" }, "branch_prefix": { "close": "Закрыть", @@ -55,7 +56,8 @@ "execute_bulk_actions": "Выполнить массовые действия", "bulk_actions_executed": "Массовые действия были успешно выполнены.", "labels": "Метки", - "bulk_actions": "Массовые действия" + "bulk_actions": "Массовые действия", + "none_yet": "Пока нет... добавьте действие, нажав на одно из доступных выше." }, "confirm": { "confirmation": "Подтверждение", @@ -81,7 +83,10 @@ "database_anonymization": { "light_anonymization_description": "Это действие создаст новую копию базы данных и выполнит её лёгкую анонимизацию — в частности, будет удалён только контент всех заметок, но заголовки и атрибуты останутся. Кроме того, будут сохранены пользовательские заметки, содержащие JavaScript-скрипты frontend/backend и пользовательские виджеты. Это даёт больше контекста для отладки проблем.", "choose_anonymization": "Вы можете самостоятельно решить, хотите ли вы предоставить полностью или частично анонимизированную базу данных. Даже полностью анонимизированная база данных очень полезна, однако в некоторых случаях частично анонимизированная база данных может ускорить процесс выявления и исправления ошибок.", - "full_anonymization_description": "Это действие создаст новую копию базы данных и анонимизирует ее (удалит все содержимое заметок и оставит только структуру и некоторые неконфиденциальные метаданные) для совместного использования в Интернете в целях отладки без опасения утечки ваших личных данных." + "full_anonymization_description": "Это действие создаст новую копию базы данных и анонимизирует ее (удалит все содержимое заметок и оставит только структуру и некоторые неконфиденциальные метаданные) для совместного использования в Интернете в целях отладки без опасения утечки ваших личных данных.", + "title": "Анонимизация базы данных", + "full_anonymization": "Полная анонимизация", + "light_anonymization": "Легкая анонимизация" }, "revisions_snapshot_limit": { "note_revisions_snapshot_limit_description": "Ограничение на количество снимков ревизий заметки определяет максимальное количество ревизий, которые можно сохранить для каждой заметки. Значение -1 означает отсутствие ограничений, а 0 означает удаление всех ревизий. Максимальное количество ревизий для одной заметки можно задать с помощью метки #versioningLimit.", @@ -90,7 +95,13 @@ "password": { "alert_message": "Пожалуйста, запомните новый пароль. Пароль используется для входа в веб-интерфейс и шифрования защищённых заметок. Если вы забудете пароль, все ваши защищённые заметки будут потеряны навсегда.", "heading": "Пароль", - "wiki": "вики" + "wiki": "вики", + "old_password": "Старый пароль", + "new_password": "Новый пароль", + "change_password": "Изменить пароль", + "change_password_heading": "Изменение пароля", + "set_password_heading": "Установка пароля", + "set_password": "Установить пароль" }, "content_language": { "description": "Выберите один или несколько языков, которые должны отображаться в разделе «Основные свойства» текстовой заметки, доступной только для чтения или редактируемой. Это позволит реализовать такие функции, как проверка орфографии и поддержка письма справа налево.", @@ -104,7 +115,11 @@ "dark_theme": "Темная", "triliumnext": "TriliumNext Beta (следует системной цветовой схеме)", "triliumnext-light": "TriliumNext Beta (Светлая)", - "triliumnext-dark": "TriliumNext Beta (Темная)" + "triliumnext-dark": "TriliumNext Beta (Темная)", + "title": "Тема приложения", + "layout": "Макет", + "layout-vertical-title": "Вертикальный", + "layout-horizontal-title": "Горизонтальный" }, "tasks": { "due": { @@ -174,7 +189,8 @@ "prefix_optional": "Префикс (необязательно)", "no_path_to_clone_to": "Не задан путь для клонирования.", "note_cloned": "Заметка \"{{clonedTitle}}\" клонирована в \"{{targetTitle}}\"", - "help_on_links": "Помощь по ссылкам" + "help_on_links": "Помощь по ссылкам", + "clone_to_selected_note": "Клонировать в выбранную заметку enter" }, "export": { "export_note_title": "Экспортировать заметку", @@ -226,7 +242,27 @@ "showDevTools": "показать инструменты разработчика", "showSQLConsole": "показать консоль SQL", "inPageSearch": "поиск на странице", - "editingNotes": "Редактирование заметок" + "editingNotes": "Редактирование заметок", + "newTabNoteLink": "Ctrl+щелчок - (или щелчок средней кнопкой мыши) по ссылке на заметку открывает заметку в новой вкладке", + "newTabWithActivationNoteLink": "Ctrl+Shift+щелчок - (или Shift+щелчок средней кнопкой мыши) по ссылке на заметку открывает и активирует заметку в новой вкладке", + "onlyInDesktop": "Только на десктопе (сборка Electron)", + "createNoteAfter": "создать новую заметку после активной заметки", + "createNoteInto": "создать новую дочернюю заметку к активной заметке", + "movingCloningNotes": "Перемещение / клонирование заметок", + "moveNoteUpDown": "переместить заметку вверх/вниз в списке заметок", + "moveNoteUpHierarchy": "переместить заметку вверх по иерархии", + "other": "Прочее", + "tabShortcuts": "Сочетания клавиш для управления вкладками", + "editBranchPrefix": "изменить префикс клона активной заметки", + "multiSelectNote": "множественный выбор заметки выше/ниже", + "selectNote": "Shift+click - выбрать заметку", + "copyNotes": "скопировать активную заметку (или выделение) в буфер обмер (используется для клонирования)", + "createEditLink": "Ctrl+K - создать/редактировать внешнюю ссылку", + "headings": "##, ###, #### и т. д., за которыми следует пробел для заголовков.", + "bulletList": "* или - с последующим пробелом для маркированного списка", + "numberedList": "1. или 1) с последующим пробелом для нумерованного списка", + "blockQuote": "начните строку с >, а затем пробела для блока цитаты", + "quickSearch": "сфокусироваться на полее ввода быстрого поиска" }, "modal": { "close": "Закрыть" @@ -242,17 +278,27 @@ "failed": "Сбой при импорте: {{message}}.", "html_import_tags": { "description": "Настройте HTML-теги, которые следует сохранять при импорте заметок. Теги, не указанные в этом списке, будут удалены при импорте. Некоторые теги (например, 'script') всегда удаляются в целях безопасности.", - "placeholder": "Введите HTML-теги, по одному в каждой строке" + "placeholder": "Введите HTML-теги, по одному в каждой строке", + "title": "Теги HTML для импорта" }, "import-status": "Статус импорта", "in-progress": "Импорт в процессе: {{progress}}", - "successful": "Импорт успешно завершен." + "successful": "Импорт успешно завершен.", + "close": "Закрыть", + "options": "Опции", + "importDescription": "Содержимое выбранных файлов будет импортировано как дочерние заметки в", + "safeImportTooltip": "Файлы экспорта Trilium .zip могут содержать исполняемые скрипты, которые могут быть вредоносными. Безопасный импорт отключит автоматическое выполнение всех импортированных скриптов. Снимите флажок «Безопасный импорт» только в том случае, если импортируемый архив должен содержать исполняемые скрипты, и вы полностью доверяете содержимому импортируемого файла.", + "explodeArchivesTooltip": "Если этот флажок установлен, Trilium будет читать файлы .zip, .enex и .opml и создавать заметки из файлов внутри этих архивов. Если флажок не установлен, Trilium будет прикреплять сами архивы к заметке.", + "explodeArchives": "Прочитать содержимое архивов .zip, .enex и .opml.", + "shrinkImagesTooltip": "

    Если этот параметр включен, Trilium попытается уменьшить размер импортируемых изображений путём масштабирования и оптимизации, что может повлиять на воспринимаемое качество изображения. Если этот параметр не установлен, изображения будут импортированы без изменений.

    Это не относится к импорту файлов .zip с метаданными, поскольку предполагается, что эти файлы уже оптимизированы.

    ", + "codeImportedAsCode": "Импортировать распознанные файлы кода (например, .json) в виде заметок типа \"код\", если это неясно из метаданных" }, "markdown_import": { "dialog_title": "Импорт Markdown", "modal_body_text": "Из-за особенностей браузера песочница не позволяет напрямую читать буфер обмена из JavaScript. Вставьте разметку Markdown для импорта в текстовую область ниже и нажмите кнопку «Импорт»", "close": "Закрыть", - "import_button": "Импорт Ctrl+Enter" + "import_button": "Импорт Ctrl+Enter", + "import_success": "Содержимое Markdown импортировано в документ." }, "note_type_chooser": { "modal_title": "Выберите тип заметки", @@ -274,7 +320,8 @@ "title": "Последние изменения", "erase_notes_button": "Удалить заметки, помеченные на удаление сейчас", "undelete_link": "восстановить", - "close": "Закрыть" + "close": "Закрыть", + "no_changes_message": "Еще нет изменений..." }, "revisions": { "restore_button": "Восстановить", @@ -295,7 +342,8 @@ "file_size": "Размер файла:", "preview": "Предпросмотр:", "preview_not_available": "Предпосмотр недоступен для заметки этого типа.", - "mime": "MIME: " + "mime": "MIME: ", + "settings": "Настройка версионирования заметок" }, "sort_child_notes": { "sort_children_by": "Сортировать дочерние заметки по...", @@ -309,7 +357,9 @@ "descending": "по убыванию", "sort_with_respect_to_different_character_sorting": "Сортировка с учетом различных правил сортировки и сопоставления символов в разных языках и регионах.", "folders": "Папки", - "sort": "Сортировать enter" + "sort": "Сортировать enter", + "natural_sort": "Естественная сортировка", + "natural_sort_language": "Язык естественной сортировки" }, "upload_attachments": { "upload_attachments_to_note": "Загрузить вложения к заметке", @@ -343,7 +393,8 @@ "single_value": "Одно значение", "multi_value": "Много значений", "inverse_relation": "Обратное отношение", - "more_notes": "Больше заметок" + "more_notes": "Больше заметок", + "date_time": "Дата и время" }, "command_palette": { "configure_launch_bar_description": "Откройте конфигурацию панели запуска, чтобы добавить или удалить элементы.", @@ -559,10 +610,17 @@ "modalTitle": "Информация" }, "jump_to_note": { - "close": "Закрыть" + "close": "Закрыть", + "search_placeholder": "Найдите заметку по ее названию или введите > для команд...", + "search_button": "Поиск по всему тексту Ctrl+Enter" }, "move_to": { - "close": "Закрыть" + "close": "Закрыть", + "target_parent_note": "Целевая родительская заметка", + "notes_to_move": "Заметки к переносу", + "dialog_title": "Переместить заметки в ...", + "search_placeholder": "поиск заметки по ее названию", + "move_button": "Переместить к выбранной заметке enter" }, "prompt": { "title": "Запрос", @@ -572,7 +630,8 @@ }, "move_note": { "to": "в", - "move_note": "Переместить заметку" + "move_note": "Переместить заметку", + "target_parent_note": "целевая версии заметки" }, "add_relation": { "to": "в", @@ -584,19 +643,22 @@ "to": "В", "rename_relation": "Переименовать отношение", "old_name": "старое наименование", - "new_name": "новое наименование" + "new_name": "новое наименование", + "rename_relation_from": "Переименовать отношение из" }, "update_relation_target": { "to": "в", "update_relation": "Обновить отношение", "relation_name": "название отношения", - "target_note": "целевая заметка" + "target_note": "целевая заметка", + "update_relation_target": "Обновить целевой элемент отношения" }, "attachments_actions": { "download": "Скачать", "open_externally": "Открыть внешними средствами", "rename_attachment": "Переименовать вложение", - "delete_attachment": "Удалить вложение" + "delete_attachment": "Удалить вложение", + "upload_new_revision": "Загрузить новую версию" }, "calendar": { "mon": "Пн", @@ -617,7 +679,9 @@ "september": "Сентябрь", "october": "Октябрь", "november": "Ноябрь", - "december": "Декабрь" + "december": "Декабрь", + "cannot_find_week_note": "Не удалось найти заметку недели", + "cannot_find_day_note": "Не удалось найти заметку дня" }, "global_menu": { "menu": "Меню", @@ -632,15 +696,28 @@ "reload_frontend": "Перезагрузить интерфейс", "show_help": "Показать справку", "show-cheatsheet": "Быстрая справка", - "toggle-zen-mode": "Режим дзен" + "toggle-zen-mode": "Режим дзен", + "open_new_window": "Открыть новое окно", + "reset_zoom_level": "Сбросить масштабирование", + "open_dev_tools": "Открыть Панель разработчика", + "open_sql_console": "Открыть консоль SQL", + "open_search_history": "Открыть историю поиска", + "show_backend_log": "Показать лог сервера", + "show_hidden_subtree": "Показать скрытое поддерево", + "about": "О Trilium Notes", + "reload_hint": "Перезагрузка может помочь устранить некоторые визуальные сбои без перезапуска всего приложения.", + "open_sql_console_history": "Открыть историю консоли SQL" }, "zpetne_odkazy": { "backlink": "{{count}} ссылки", - "backlinks": "{{count}} ссылок" + "backlinks": "{{count}} ссылок", + "relation": "отношение" }, "note_icon": { "category": "Категория:", - "search": "Поиск:" + "search": "Поиск:", + "change_note_icon": "Изменить иконку заметки", + "reset-default": "Сбросить к значку по умолчанию" }, "basic_properties": { "editable": "Изменяемое", @@ -658,25 +735,46 @@ "board": "Доска", "view_type": "Вид", "book_properties": "Свойства коллекции", - "geo-map": "Карта" + "geo-map": "Карта", + "invalid_view_type": "Недопустимый тип представления '{{type}}'", + "expand_all_children": "Развернуть все дочерние элементы", + "collapse_all_notes": "Свернуть все заметки" }, "edited_notes": { - "deleted": "(удалено)" + "deleted": "(удалено)", + "title": "Отредактированные заметки", + "no_edited_notes_found": "Пока нет отредактированных заметок за этот день..." }, "file_properties": { "download": "Скачать", "open": "Открыть", - "title": "Файд" + "title": "Файд", + "upload_success": "Загрузка новой версии файла не удалась.", + "upload_new_revision": "Загрузить новую версию", + "file_size": "Размер файла", + "file_type": "Тип файла", + "original_file_name": "Исходное имя файла", + "note_id": "ID заметки" }, "image_properties": { "download": "Скачать", "open": "Открыть", - "title": "Изображение" + "title": "Изображение", + "file_size": "Размер файла", + "file_type": "Тип файла", + "upload_failed": "Не удалось загрузить новую версию изображения: {{message}}", + "upload_success": "Загружена новая версия изображения.", + "upload_new_revision": "Загрузить новую версию", + "copy_reference_to_clipboard": "Копировать ссылку в буфер обмена", + "original_file_name": "Исходное имя файла" }, "note_info_widget": { "created": "Создано", "modified": "Изменено", - "type": "Тип" + "type": "Тип", + "note_id": "ID заметки", + "note_size": "Размер заметки", + "title": "Информация о заметке" }, "note_paths": { "search": "Поиск" @@ -685,16 +783,31 @@ "info": "Информация" }, "promoted_attributes": { - "url_placeholder": "http://website..." + "url_placeholder": "http://website...", + "unset-field-placeholder": "не установлено" }, "script_executor": { - "query": "Запрос" + "query": "Запрос", + "execute_query": "Выполнить запрос", + "execute_script": "Выполнить скрипт", + "script": "Скрипт" }, "search_definition": { - "limit": "предел" + "limit": "предел", + "search_string": "строка поиска", + "fast_search": "быстрый поиск", + "include_archived": "включать архивные", + "order_by": "сортировать по", + "search_button": "Поиск enter", + "search_parameters": "Параметры поиска", + "ancestor": "предок", + "action": "действие" }, "ancestor": { - "depth_label": "глубина" + "depth_label": "глубина", + "depth_doesnt_matter": "неважно", + "direct_children": "прямые потомки", + "label": "Предок" }, "debug": { "debug": "Отладка" @@ -704,7 +817,12 @@ }, "order_by": { "title": "Названию", - "desc": "По убыванию" + "desc": "По убыванию", + "order_by": "Сортировать по", + "relevancy": "Релевантности (по умолчанию)", + "date_created": "Дате создания", + "random": "Случайный порядок", + "asc": "По возрастанию (по умолчанию)" }, "search_string": { "search_prefix": "Поиск:" @@ -719,10 +837,17 @@ "fonts": "Шрифты", "size": "Размер", "serif": "С засечками", - "monospace": "Моноширинный" + "monospace": "Моноширинный", + "main_font": "Основной шрифт", + "font_family": "Семейство шрифтов", + "reload_frontend": "перезагрузить интерфейс", + "sans-serif": "Без засечек", + "system-default": "Системный по умолчанию" }, "max_content_width": { - "max_width_unit": "пикселей" + "max_width_unit": "пикселей", + "title": "Ширина контентной области", + "reload_button": "перезагрузить интерфейс" }, "native_title_bar": { "enabled": "включено", @@ -749,7 +874,56 @@ }, "name": "AI", "openai": "OpenAI", - "sources": "Источники" + "sources": "Источники", + "reprocessing_index": "Перестройка индекса...", + "processed_notes": "Обработанные заметки", + "total_notes": "Всего заметок", + "queued_notes": "Заметок в очереди", + "failed_notes": "Заметки с ошибками обработки", + "last_processed": "Последние обработанные", + "refresh_stats": "Обновить статистику", + "voyage_tab": "Voyage AI", + "system_prompt": "Системный промпт", + "openai_configuration": "Конфигурация OpenAI", + "openai_settings": "Настройки OpenAI", + "api_key": "Ключ API", + "url": "Базовый URL", + "default_model": "Модель по умолчанию", + "base_url": "Базовый URL", + "openai_url_description": "По умолчанию: https://api.openai.com/v1", + "anthropic_settings": "Настройки Anthropic", + "ollama_settings": "Настройки Ollama", + "anthropic_configuration": "Конфигурация Anthropic", + "voyage_url_description": "По умолчанию: https://api.voyageai.com/v1", + "ollama_configuration": "Конфигурация Ollama", + "enable_ollama": "Включить Ollama", + "ollama_url": "URL Ollama", + "ollama_model": "Модель Ollama", + "refresh_models": "Обновить модели", + "rebuild_index": "Пересобрать индекс", + "note_title": "Название заметки", + "last_attempt": "Последняя попытка", + "active_providers": "Активные провайдеры", + "disabled_providers": "Отключенные провайдеры", + "similarity_threshold": "Порок сходства", + "processing": "Обработка ({{percentage}}%)", + "incomplete": "Не завершено ({{percentage}}%)", + "complete": "Завершено (100%)", + "ai_settings": "Настройки AI", + "show_thinking": "Отображать размышление", + "index_status": "Статус индексирования", + "indexed_notes": "Проиндексированные заметки", + "indexing_stopped": "Индексирование остановлено", + "last_indexed": "Последние проиндексированные", + "note_chat": "Чат по заметке", + "start_indexing": "Начать индексирование", + "chat": { + "root_note_title": "Чаты с AI", + "new_chat_title": "Новый чат" + }, + "selected_provider": "Выбранный провайдер", + "select_model": "Выбрать модель...", + "select_provider": "Выбрать провайдера..." }, "code-editor-options": { "title": "Редактор" @@ -763,12 +937,14 @@ "baidu": "Baidu", "duckduckgo": "DuckDuckGo", "google": "Google", - "save_button": "Сохранить" + "save_button": "Сохранить", + "title": "Поисковый движок" }, "heading_style": { "plain": "Обычный", "underline": "Подчеркнутый", - "markdown": "В стиле Markdown" + "markdown": "В стиле Markdown", + "title": "Стиль заголовка" }, "table_of_contents": { "unit": "заголовки" @@ -783,26 +959,40 @@ "monday": "Понедельник" }, "backup": { - "path": "Путь" + "path": "Путь", + "backup_now": "Резервное копирование сейчас", + "existing_backups": "Существующие резервные копии" }, "etapi": { "title": "ETAPI", "wiki": "вики", "created": "Создано", - "actions": "Действия" + "actions": "Действия", + "existing_tokens": "Существующие токены", + "token_name": "Название токена", + "default_token_name": "новый токен", + "rename_token_title": "Переименовать токен" }, "multi_factor_authentication": { - "oauth_title": "OAuth/OpenID" + "oauth_title": "OAuth/OpenID", + "title": "Многофакторная аутентификация", + "mfa_method": "Метод авторизации", + "oauth_user_account": "Учетная запись пользователя: ", + "oauth_user_email": "Адрес электронной почты пользователя: " }, "shortcuts": { "shortcuts": "Сочетания клавиш", - "description": "Описание" + "description": "Описание", + "keyboard_shortcuts": "Сочетания клавиш", + "action_name": "Название действия", + "default_shortcuts": "Сочетания клавиш по умолчанию" }, "sync_2": { "timeout_unit": "миллисекунд", "note": "Заметка", "save": "Сохранить", - "help": "Помощь" + "help": "Помощь", + "config_title": "Настройка синхронизации" }, "api_log": { "close": "Закрыть" @@ -821,20 +1011,31 @@ "options": "Параметры" }, "include_note": { - "dialog_title": "Вставить заметку" + "dialog_title": "Вставить заметку", + "close": "Закрыть", + "label_note": "Заметка", + "button_include": "Вставить заметку enter", + "placeholder_search": "поиск заметки по ее названию", + "box_size_small": "небольшой (~ 10 строк)", + "box_size_medium": "средний (~ 30 строк)", + "box_size_full": "полный (в рамке показан полный текст)", + "box_size_prompt": "Размер рамки вставленной заметки:" }, "execute_script": { "execute_script": "Выполнить скрипт" }, "update_label_value": { "label_name_placeholder": "название метки", - "new_value_placeholder": "новое значение" + "new_value_placeholder": "новое значение", + "update_label_value": "Обновить значение метки" }, "delete_note": { - "delete_note": "Удалить заметку" + "delete_note": "Удалить заметку", + "delete_matched_notes": "Удалить совпадающие заметки" }, "rename_note": { - "rename_note": "Переименовать заметку" + "rename_note": "Переименовать заметку", + "new_note_title": "название новой заметки" }, "delete_relation": { "delete_relation": "Удалить отношение", @@ -856,7 +1057,15 @@ "export_note": "Экспортировать заметку", "delete_note": "Удалить заметку", "print_note": "Печать заметки", - "save_revision": "Сохранить версию" + "save_revision": "Сохранить версию", + "convert_into_attachment": "Конвертировать во вложение", + "search_in_note": "Поиск в заметке", + "print_pdf": "Экспорт в PDF", + "convert_into_attachment_prompt": "Вы уверены, что хотите преобразовать заметку '{{title}}' во вложение родительской заметки?", + "convert_into_attachment_successful": "Примечание '{{title}}' преобразовано во вложение.", + "convert_into_attachment_failed": "Не удалось преобразовать заметку '{{title}}'.", + "open_note_custom": "", + "open_note_externally_title": "Файл будет открыт во внешнем приложении и отслеживается на наличие изменений. После этого вы сможете загрузить изменённую версию обратно в Trilium." }, "revisions_button": { "note_revisions": "Версии заметки" @@ -865,7 +1074,11 @@ "update_available": "Доступно обновление" }, "code_buttons": { - "execute_button_title": "Выполнить скрипт" + "execute_button_title": "Выполнить скрипт", + "sql_console_saved_message": "Заметка типа \"Консоль SQL\" сохранена в {{note_path}}", + "opening_api_docs_message": "Открытие документации API...", + "save_to_note_button_title": "Сохранить в заметку", + "trilium_api_docs_button_title": "Документация по Open Trilium API" }, "hide_floating_buttons_button": { "button_title": "Скрыть кнопки" @@ -875,6 +1088,123 @@ }, "relation_map_buttons": { "zoom_in_title": "Увеличить масштаб", - "zoom_out_title": "Уменьшить масштаб" + "zoom_out_title": "Уменьшить масштаб", + "reset_pan_zoom_title": "Сбросить панорамирование и масштабирование", + "create_child_note_title": "Создать новую дочернюю заметку и добавить ее в эту карту отношений" + }, + "code_auto_read_only_size": { + "unit": "символов" + }, + "inherited_attribute_list": { + "title": "Унаследованные атрибуты" + }, + "note_map": { + "title": "Карта заметок" + }, + "owned_attribute_list": { + "owned_attributes": "Собственные атрибуты" + }, + "similar_notes": { + "title": "Похожие заметки" + }, + "fast_search": { + "fast_search": "Быстрый поиск" + }, + "attachment_list": { + "upload_attachments": "Загрузка вложений" + }, + "protected_session": { + "wrong_password": "Неверный пароль.", + "protecting-title": "Статус защиты", + "unprotecting-title": "Статус снятия защиты" + }, + "relation_map": { + "remove_note": "Удалить заметку", + "edit_title": "Изменить заголовок", + "rename_note": "Переименовать заметку", + "remove_relation": "Удалить отношение", + "default_new_note_title": "новая заметка" + }, + "vacuum_database": { + "title": "Сжатие базы данных" + }, + "vim_key_bindings": { + "use_vim_keybindings_in_code_notes": "Раскладка клавиш VIM" + }, + "network_connections": { + "network_connections_title": "Сетевые подключения" + }, + "tray": { + "title": "Системный трей" + }, + "highlights_list": { + "title": "Список выделений", + "bold": "Жирный текст", + "italic": "Наклонный текст", + "underline": "Подчеркнутый текст", + "color": "Цветной текст" + }, + "custom_date_time_format": { + "format_string": "Строка форматирования:", + "formatted_time": "Форматированная дата/время:" + }, + "spellcheck": { + "title": "Проверка орфографии", + "enable": "Включить проверку орфографии", + "language_code_label": "Код(ы) языков" + }, + "attribute_editor": { + "save_attributes": "Сохранить атрибуты " + }, + "delete_revisions": { + "delete_note_revisions": "Удалить версии заметки" + }, + "close_pane_button": { + "close_this_pane": "Закрыть панель" + }, + "create_pane_button": { + "create_new_split": "Создать новое разделение" + }, + "edit_button": { + "edit_this_note": "Редактировать заметку" + }, + "show_highlights_list_widget_button": { + "show_highlights_list": "Показать список выделений" + }, + "zen_mode": { + "button_exit": "Покинуть режим \"дзен\"" + }, + "content_renderer": { + "open_externally": "Открыть внешне" + }, + "mobile_detail_menu": { + "error_unrecognized_command": "Нераспознанная команда {{command}}", + "error_cannot_get_branch_id": "Невозможно получить branchId для notePath '{{notePath}}'", + "delete_this_note": "Удалить эту заметку", + "insert_child_note": "Вставить дочернюю заметку" + }, + "svg_export_button": { + "button_title": "Экспортировать диаграмму как SVG" + }, + "copy_image_reference_button": { + "button_title": "Скопировать ссылку на изображение в буфер обмена, можент быть вставлена в текстовую заметку." + }, + "note_launcher": { + "this_launcher_doesnt_define_target_note": "Этот лаунчер не определяет целевую заметку." + }, + "protected_session_status": { + "inactive": "Нажмите, чтобы войти в защищенный сеанс", + "active": "Защищённый сеанс активен. Нажмите, чтобы покинуть." + }, + "onclick_button": { + "no_click_handler": "Виджет кнопки '{{componentId}}' не имеет определенного обработчика нажатий" + }, + "sync_status": { + "in_progress": "Синхронизация с сервером продолжается.", + "disconnected_no_changes": "

    Не удалось установить соединение с сервером синхронизации.
    Все известные изменения синхронизированы.

    Нажмите, чтобы запустить синхронизацию.

    ", + "disconnected_with_changes": "

    Не удалось установить соединение с сервером синхронизации.
    Есть некоторые несинхронизированные изменения.

    Нажмите, чтобы запустить синхронизацию.

    ", + "connected_no_changes": "

    Подключено к серверу синхронизации.
    Все изменения уже синхронизированы.

    Нажмите, чтобы запустить синхронизацию.

    ", + "connected_with_changes": "

    Подключено к серверу синхронизации.
    Есть несколько изменений, которые ещё предстоит синхронизировать.

    Нажмите, чтобы запустить синхронизацию.

    ", + "unknown": "

    Состояние синхронизации станет известно после начала следующей попытки синхронизации.

    Нажмите, чтобы запустить синхронизацию сейчас.

    " } } From 3efc4b13d5a7f1c7787ae91fb891d37b8608399b Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 Aug 2025 07:39:02 +0200 Subject: [PATCH 347/505] Update translation files Updated by "Remove blank strings" add-on in Weblate. Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/ --- apps/client/src/translations/ru/translation.json | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/client/src/translations/ru/translation.json b/apps/client/src/translations/ru/translation.json index daf8efc57..a4dca49e2 100644 --- a/apps/client/src/translations/ru/translation.json +++ b/apps/client/src/translations/ru/translation.json @@ -1064,7 +1064,6 @@ "convert_into_attachment_prompt": "Вы уверены, что хотите преобразовать заметку '{{title}}' во вложение родительской заметки?", "convert_into_attachment_successful": "Примечание '{{title}}' преобразовано во вложение.", "convert_into_attachment_failed": "Не удалось преобразовать заметку '{{title}}'.", - "open_note_custom": "", "open_note_externally_title": "Файл будет открыт во внешнем приложении и отслеживается на наличие изменений. После этого вы сможете загрузить изменённую версию обратно в Trilium." }, "revisions_button": { From 18a4fbaa4b94254296737919332778c521af25e3 Mon Sep 17 00:00:00 2001 From: Kuzma Simonov Date: Tue, 5 Aug 2025 10:28:05 +0200 Subject: [PATCH 348/505] Translated using Weblate (Russian) Currently translated at 53.7% (838 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/ru/ --- apps/client/src/translations/ru/translation.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/client/src/translations/ru/translation.json b/apps/client/src/translations/ru/translation.json index a4dca49e2..66a66a0a8 100644 --- a/apps/client/src/translations/ru/translation.json +++ b/apps/client/src/translations/ru/translation.json @@ -78,7 +78,8 @@ "broken_relations_to_be_deleted": "Следующие связи будут разорваны и удалены ({{- relationCount}})", "cancel": "Отмена", "ok": "ОК", - "deleted_relation_text": "Примечание {{- note}} (подлежит удалению) ссылается на отношение {{- relation}}, происходящее из {{- source}}." + "deleted_relation_text": "Примечание {{- note}} (подлежит удалению) ссылается на отношение {{- relation}}, происходящее из {{- source}}.", + "delete_notes_preview": "Предпросмотр удаляемых заметок" }, "database_anonymization": { "light_anonymization_description": "Это действие создаст новую копию базы данных и выполнит её лёгкую анонимизацию — в частности, будет удалён только контент всех заметок, но заголовки и атрибуты останутся. Кроме того, будут сохранены пользовательские заметки, содержащие JavaScript-скрипты frontend/backend и пользовательские виджеты. Это даёт больше контекста для отладки проблем.", From dea8bc307ef0e2aecaa6c45817822c3238898fd1 Mon Sep 17 00:00:00 2001 From: Aris Kallergis Date: Tue, 5 Aug 2025 11:11:45 +0200 Subject: [PATCH 349/505] Added translation using Weblate (Greek) --- apps/client/src/translations/el/translation.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/client/src/translations/el/translation.json diff --git a/apps/client/src/translations/el/translation.json b/apps/client/src/translations/el/translation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/apps/client/src/translations/el/translation.json @@ -0,0 +1 @@ +{} From 00fc92764b6742c8a15559ddbdd8020a8d7152d4 Mon Sep 17 00:00:00 2001 From: "Antonio Liccardo (TuxmAL)" Date: Tue, 5 Aug 2025 13:19:25 +0200 Subject: [PATCH 350/505] Translated using Weblate (Italian) Currently translated at 7.1% (111 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/it/ --- .../src/translations/it/translation.json | 127 ++++++++++++++++-- 1 file changed, 116 insertions(+), 11 deletions(-) diff --git a/apps/client/src/translations/it/translation.json b/apps/client/src/translations/it/translation.json index a82ed298e..58781e49d 100644 --- a/apps/client/src/translations/it/translation.json +++ b/apps/client/src/translations/it/translation.json @@ -1,18 +1,28 @@ { "about": { "close": "Chiudi", - "app_version": "Versione app:", - "db_version": "Version DB:", + "app_version": "Versione dell'app:", + "db_version": "Versione DB:", "sync_version": "Versione Sync:", - "data_directory": "Cartella dati:" + "data_directory": "Cartella dati:", + "title": "Informazioni su Trilium Notes", + "build_date": "Data della build:", + "build_revision": "Revisione della build:", + "homepage": "Home page:" }, "toast": { "critical-error": { "title": "Errore critico", - "message": "È avvenuto un errore critico che non permette all'applicazione client di avviarsi:\n\n{{message}}\n\nMolto probabilmente ciò è dovuto ad uno script che ha fallito in modo inaspettato. Prova ad avviare l'applicazione in modalità provvisoria per controllare il problema." + "message": "Si è verificato un errore critico che impedisce l'avvio dell'applicazione client:\n\n{{message}}\n\nQuesto è probabilmente causato da un errore di script inaspettato. Prova a avviare l'applicazione in modo sicuro e controlla il problema." }, "bundle-error": { - "title": "Non si è riusciti a caricare uno script personalizzato" + "title": "Non si è riusciti a caricare uno script personalizzato", + "message": "Lo script della nota con ID \"{{id}}\", dal titolo \"{{title}}\" non è stato inizializzato a causa di:\n\n{{message}}" + }, + "widget-error": { + "title": "Impossibile inizializzare un widget", + "message-custom": "Il widget personalizzato della nota con ID \"{{id}}\", dal titolo \"{{title}}\" non è stato inizializzato a causa di:\n\n{{message}}", + "message-unknown": "Un widget sconosciuto non è stato inizializzato a causa di:\n\n{{message}}" } }, "add_link": { @@ -20,10 +30,11 @@ "close": "Chiudi", "note": "Nota", "search_note": "cerca una nota per nome", - "link_title_mirrors": "il titolo del collegamento seguirà il titolo della nota corrente", + "link_title_mirrors": "il titolo del collegamento rispecchia il titolo della nota corrente", "link_title_arbitrary": "il titolo del collegamento può essere modificato arbitrariamente", "link_title": "Titolo del collegamento", - "button_add_link": "Aggiungi il collegamento invio" + "button_add_link": "Aggiungi il collegamento invio", + "help_on_links": "Aiuto sui collegamenti" }, "branch_prefix": { "edit_branch_prefix": "Modifica il prefisso del ramo", @@ -36,20 +47,47 @@ "bulk_actions": { "bulk_actions": "Azioni massive", "close": "Chiudi", - "affected_notes": "Note influenzate" + "affected_notes": "Note influenzate", + "include_descendants": "Includi i discendenti della nota selezionata", + "available_actions": "Azioni disponibili", + "chosen_actions": "Azioni scelte", + "execute_bulk_actions": "Esegui le azioni massive", + "bulk_actions_executed": "Le azioni massive sono state eseguite con successo.", + "none_yet": "Ancora nessuna... aggiungi una azione cliccando su una di quelle disponibili sopra.", + "labels": "Etichette", + "relations": "Relazioni", + "notes": "Note", + "other": "Altro" }, "clone_to": { "clone_notes_to": "Clona note in...", - "close": "Chiudi" + "close": "Chiudi", + "help_on_links": "Aiuto sui collegamenti", + "notes_to_clone": "Note da clonare", + "target_parent_note": "Nodo padre obiettivo", + "search_for_note_by_its_name": "cerca una nota per nome", + "cloned_note_prefix_title": "Le note clonate saranno mostrate nell'albero delle note con il dato prefisso", + "prefix_optional": "Prefisso (opzionale)", + "clone_to_selected_note": "Clona sotto la nota selezionata invio", + "no_path_to_clone_to": "Nessun percorso per clonare dentro.", + "note_cloned": "La nota \"{{clonedTitle}}\" è stata clonata in \"{{targetTitle}}\"" }, "confirm": { "close": "Chiudi", "cancel": "Annulla", - "ok": "OK" + "ok": "OK", + "confirmation": "Conferma", + "are_you_sure_remove_note": "Sei sicuro di voler rimuovere la nota \"{{title}}\" dalla mappa delle relazioni? ", + "if_you_dont_check": "Se non lo selezioni, la nota sarà rimossa solamente dalla mappa delle relazioni.", + "also_delete_note": "Rimuove anche la nota" }, "delete_notes": { "ok": "OK", - "close": "Chiudi" + "close": "Chiudi", + "delete_notes_preview": "Anteprima di eliminazione delle note", + "delete_all_clones_description": "Elimina anche tutti i cloni (può essere disfatto tramite i cambiamenti recenti)", + "erase_notes_description": "L'eliminazione normale (soft) marca le note come eliminate e potranno essere recuperate entro un certo lasso di tempo (dalla finestra dei cambiamenti recenti). Selezionando questa opzione le note si elimineranno immediatamente e non sarà possibile recuperarle.", + "erase_notes_warning": "Elimina le note in modo permanente (non potrà essere disfatto), compresi tutti i cloni. Ciò forzerà un nuovo caricamento dell'applicazione." }, "info": { "okButton": "OK", @@ -95,5 +133,72 @@ }, "revisions": { "close": "Chiudi" + }, + "abstract_bulk_action": { + "remove_this_search_action": "Rimuovi questa azione di ricerca" + }, + "etapi": { + "new_token_title": "Nuovo token ETAPI", + "new_token_message": "Inserire il nuovo nome del token" + }, + "electron_integration": { + "zoom-factor": "Fattore di ingrandimento" + }, + "note_autocomplete": { + "search-for": "Cerca \"{{term}}\"", + "create-note": "Crea e collega la nota figlia \"{{term}}\"", + "insert-external-link": "Inserisci il collegamento esterno a \"{{term}}\"", + "clear-text-field": "Pulisci il campo di testo", + "show-recent-notes": "Mostra le note recenti", + "full-text-search": "Ricerca full text" + }, + "note_tooltip": { + "note-has-been-deleted": "La nota è stata eliminata.", + "quick-edit": "Modifica veloce" + }, + "geo-map": { + "create-child-note-title": "Crea una nota figlia e aggiungila alla mappa", + "create-child-note-instruction": "Clicca sulla mappa per creare una nuova nota qui o premi Escape per uscire.", + "unable-to-load-map": "Impossibile caricare la mappa." + }, + "geo-map-context": { + "open-location": "Apri la posizione", + "remove-from-map": "Rimuovi dalla mappa", + "add-note": "Aggiungi un marcatore in questa posizione" + }, + "debug": { + "debug": "Debug" + }, + "database_anonymization": { + "light_anonymization": "Anonimizzazione leggera" + }, + "cpu_arch_warning": { + "title": "Per favore scarica la versione ARM64", + "continue_anyway": "Continua Comunque", + "dont_show_again": "Non mostrare più questo avviso" + }, + "editorfeatures": { + "title": "Caratteristiche", + "emoji_completion_enabled": "Abilita il completamento automatico delle Emoji", + "note_completion_enabled": "Abilita il completamento automatico delle note" + }, + "table_view": { + "new-row": "Nuova riga", + "new-column": "Nuova colonna", + "sort-column-by": "Ordina per \"{{title}}\"", + "sort-column-ascending": "Ascendente", + "sort-column-descending": "Discendente", + "sort-column-clear": "Cancella l'ordinamento", + "hide-column": "Nascondi la colonna \"{{title}}\"", + "show-hide-columns": "Mostra/nascondi le colonne", + "row-insert-above": "Inserisci una riga sopra", + "row-insert-below": "Inserisci una riga sotto" + }, + "abstract_search_option": { + "remove_this_search_option": "Rimuovi questa opzione di ricerca", + "failed_rendering": "Opzione di ricerca di rendering non riuscita: {{dto}} con errore: {{error}} {{stack}}" + }, + "ancestor": { + "label": "Antenato" } } From 1046321117852ede3c9e94b02d603ed9c342e48a Mon Sep 17 00:00:00 2001 From: Aris Kallergis Date: Tue, 5 Aug 2025 11:21:11 +0200 Subject: [PATCH 351/505] Translated using Weblate (Greek) Currently translated at 0.7% (11 of 1560 strings) Translation: Trilium Notes/Client Translate-URL: https://hosted.weblate.org/projects/trilium/client/el/ --- .../src/translations/el/translation.json | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/apps/client/src/translations/el/translation.json b/apps/client/src/translations/el/translation.json index 0967ef424..8aeb826f0 100644 --- a/apps/client/src/translations/el/translation.json +++ b/apps/client/src/translations/el/translation.json @@ -1 +1,19 @@ -{} +{ + "about": { + "title": "Πληροφορίες για το Trilium Notes", + "close": "Κλείσιμο", + "homepage": "Αρχική Σελίδα:", + "app_version": "Έκδοση εφαρμογής:", + "db_version": "Έκδοση βάσης δεδομένων:", + "sync_version": "Έκδοση πρωτοκόλου συγχρονισμού:", + "build_date": "Ημερομηνία χτισίματος εφαρμογής:", + "build_revision": "Αριθμός αναθεώρησης χτισίματος:", + "data_directory": "Φάκελος δεδομένων:" + }, + "toast": { + "critical-error": { + "title": "Κρίσιμο σφάλμα", + "message": "Συνέβη κάποιο κρίσιμο σφάλμα, το οποίο δεν επιτρέπει στην εφαρμογή χρήστη να ξεκινήσει:\n\n{{message}}\n\nΤο πιθανότερο είναι να προκλήθηκε από κάποιο script που απέτυχε απρόοπτα. Δοκιμάστε να ξεκινήσετε την εφαρμογή σε ασφαλή λειτουργία για να λύσετε το πρόβλημα." + } + } +} From 93fae9cc8c50d7c1b899f45287b68ffe60ef008f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 5 Aug 2025 14:12:51 +0300 Subject: [PATCH 352/505] feat(react/dialogs): port confirm dialog partially --- apps/client/src/widgets/dialogs/confirm.ts | 151 -------------------- apps/client/src/widgets/dialogs/confirm.tsx | 78 ++++++++++ apps/client/src/widgets/react/Modal.tsx | 27 +++- 3 files changed, 98 insertions(+), 158 deletions(-) delete mode 100644 apps/client/src/widgets/dialogs/confirm.ts create mode 100644 apps/client/src/widgets/dialogs/confirm.tsx diff --git a/apps/client/src/widgets/dialogs/confirm.ts b/apps/client/src/widgets/dialogs/confirm.ts deleted file mode 100644 index 8fa25a728..000000000 --- a/apps/client/src/widgets/dialogs/confirm.ts +++ /dev/null @@ -1,151 +0,0 @@ -import BasicWidget from "../basic_widget.js"; -import { t } from "../../services/i18n.js"; -import { Modal } from "bootstrap"; - -const DELETE_NOTE_BUTTON_CLASS = "confirm-dialog-delete-note"; - -const TPL = /*html*/` -`; - -export type ConfirmDialogResult = false | ConfirmDialogOptions; -export type ConfirmDialogCallback = (val?: ConfirmDialogResult) => void; - -export interface ConfirmDialogOptions { - confirmed: boolean; - isDeleteNoteChecked: boolean; -} - -// For "showConfirmDialog" - -export interface ConfirmWithMessageOptions { - message: string | HTMLElement | JQuery; - callback: ConfirmDialogCallback; -} - -export interface ConfirmWithTitleOptions { - title: string; - callback: ConfirmDialogCallback; -} - -export default class ConfirmDialog extends BasicWidget { - private resolve: ConfirmDialogCallback | null; - - private modal!: Modal; - private $originallyFocused!: JQuery | null; - private $confirmContent!: JQuery; - private $okButton!: JQuery; - private $cancelButton!: JQuery; - private $custom!: JQuery; - - constructor() { - super(); - - this.resolve = null; - this.$originallyFocused = null; // element focused before the dialog was opened, so we can return to it afterward - } - - doRender() { - this.$widget = $(TPL); - this.modal = Modal.getOrCreateInstance(this.$widget[0]); - this.$confirmContent = this.$widget.find(".confirm-dialog-content"); - this.$okButton = this.$widget.find(".confirm-dialog-ok-button"); - this.$cancelButton = this.$widget.find(".confirm-dialog-cancel-button"); - this.$custom = this.$widget.find(".confirm-dialog-custom"); - - this.$widget.on("shown.bs.modal", () => this.$okButton.trigger("focus")); - - this.$widget.on("hidden.bs.modal", () => { - if (this.resolve) { - this.resolve(false); - } - - if (this.$originallyFocused) { - this.$originallyFocused.trigger("focus"); - this.$originallyFocused = null; - } - }); - - this.$cancelButton.on("click", () => this.doResolve(false)); - this.$okButton.on("click", () => this.doResolve(true)); - } - - showConfirmDialogEvent({ message, callback }: ConfirmWithMessageOptions) { - this.$originallyFocused = $(":focus"); - - this.$custom.hide(); - - glob.activeDialog = this.$widget; - - if (typeof message === "string") { - message = $("
    ").text(message); - } - - this.$confirmContent.empty().append(message); - - this.modal.show(); - - this.resolve = callback; - } - - showConfirmDeleteNoteBoxWithNoteDialogEvent({ title, callback }: ConfirmWithTitleOptions) { - glob.activeDialog = this.$widget; - - this.$confirmContent.text(`${t("confirm.are_you_sure_remove_note", { title: title })}`); - - this.$custom - .empty() - .append("
    ") - .append( - $("
    ") - .addClass("form-check") - .append( - $("
    - - -
    -
  • -
    `; - -export default class IncorrectCpuArchDialog extends BasicWidget { - private modal!: Modal; - private $downloadButton!: JQuery; - - doRender() { - this.$widget = $(TPL); - this.modal = Modal.getOrCreateInstance(this.$widget[0]); - this.$downloadButton = this.$widget.find(".download-correct-version-button"); - - this.$downloadButton.on("click", () => { - // Open the releases page where users can download the correct version - if (utils.isElectron()) { - const { shell } = utils.dynamicRequire("electron"); - shell.openExternal("https://github.com/TriliumNext/Trilium/releases/latest"); - } else { - window.open("https://github.com/TriliumNext/Trilium/releases/latest", "_blank"); - } - }); - - // Auto-focus the download button when shown - this.$widget.on("shown.bs.modal", () => { - this.$downloadButton.trigger("focus"); - }); - } - - showCpuArchWarningEvent() { - this.modal.show(); - } -} diff --git a/apps/client/src/widgets/dialogs/incorrect_cpu_arch.tsx b/apps/client/src/widgets/dialogs/incorrect_cpu_arch.tsx new file mode 100644 index 000000000..7b8675861 --- /dev/null +++ b/apps/client/src/widgets/dialogs/incorrect_cpu_arch.tsx @@ -0,0 +1,53 @@ +import { useRef } from "react"; +import { openDialog } from "../../services/dialog.js"; +import { t } from "../../services/i18n.js"; +import utils from "../../services/utils.js"; +import Button from "../react/Button.js"; +import Modal from "../react/Modal.js"; +import ReactBasicWidget from "../react/ReactBasicWidget.js"; + +function IncorrectCpuArchDialogComponent() { + const downloadButtonRef = useRef(null); + + return ( + downloadButtonRef.current?.focus()} + footerAlignment="between" + footer={<> + -
    - - -
    -
    -
    `; - -export default class DeleteNotesDialog extends BasicWidget { - private branchIds: string[] | null; - private resolve!: (options: ResolveOptions) => void; - - private $content!: JQuery; - private $okButton!: JQuery; - private $cancelButton!: JQuery; - private $deleteNotesList!: JQuery; - private $brokenRelationsList!: JQuery; - private $deletedNotesCount!: JQuery; - private $noNoteToDeleteWrapper!: JQuery; - private $deleteNotesListWrapper!: JQuery; - private $brokenRelationsListWrapper!: JQuery; - private $brokenRelationsCount!: JQuery; - private $deleteAllClones!: JQuery; - private $eraseNotes!: JQuery; - - private forceDeleteAllClones?: boolean; - - constructor() { - super(); - - this.branchIds = null; - } - - doRender() { - this.$widget = $(TPL); - this.$content = this.$widget.find(".recent-changes-content"); - this.$okButton = this.$widget.find(".delete-notes-dialog-ok-button"); - this.$cancelButton = this.$widget.find(".delete-notes-dialog-cancel-button"); - this.$deleteNotesList = this.$widget.find(".delete-notes-list"); - this.$brokenRelationsList = this.$widget.find(".broken-relations-list"); - this.$deletedNotesCount = this.$widget.find(".deleted-notes-count"); - this.$noNoteToDeleteWrapper = this.$widget.find(".no-note-to-delete-wrapper"); - this.$deleteNotesListWrapper = this.$widget.find(".delete-notes-list-wrapper"); - this.$brokenRelationsListWrapper = this.$widget.find(".broken-relations-wrapper"); - this.$brokenRelationsCount = this.$widget.find(".broke-relations-count"); - this.$deleteAllClones = this.$widget.find(".delete-all-clones"); - this.$eraseNotes = this.$widget.find(".erase-notes"); - - this.$widget.on("shown.bs.modal", () => this.$okButton.trigger("focus")); - - this.$cancelButton.on("click", () => { - closeActiveDialog(); - - this.resolve({ proceed: false }); - }); - - this.$okButton.on("click", () => { - closeActiveDialog(); - - this.resolve({ - proceed: true, - deleteAllClones: this.forceDeleteAllClones || this.isDeleteAllClonesChecked(), - eraseNotes: this.isEraseNotesChecked() - }); - }); - - this.$deleteAllClones.on("click", () => this.renderDeletePreview()); - } - - async renderDeletePreview() { - const response = await server.post("delete-notes-preview", { - branchIdsToDelete: this.branchIds, - deleteAllClones: this.forceDeleteAllClones || this.isDeleteAllClonesChecked() - }); - - this.$deleteNotesList.empty(); - this.$brokenRelationsList.empty(); - - this.$deleteNotesListWrapper.toggle(response.noteIdsToBeDeleted.length > 0); - this.$noNoteToDeleteWrapper.toggle(response.noteIdsToBeDeleted.length === 0); - - for (const note of await froca.getNotes(response.noteIdsToBeDeleted)) { - this.$deleteNotesList.append($("
  • ").append(await linkService.createLink(note.noteId, { showNotePath: true }))); - } - - this.$deletedNotesCount.text(response.noteIdsToBeDeleted.length); - - this.$brokenRelationsListWrapper.toggle(response.brokenRelations.length > 0); - this.$brokenRelationsCount.text(response.brokenRelations.length); - - await froca.getNotes(response.brokenRelations.map((br) => br.noteId)); - - for (const attr of response.brokenRelations) { - this.$brokenRelationsList.append( - $("
  • ").html( - t("delete_notes.deleted_relation_text", { - note: (await linkService.createLink(attr.value)).html(), - relation: `${attr.name}`, - source: (await linkService.createLink(attr.noteId)).html() - }) - ) - ); - } - } - - async showDeleteNotesDialogEvent({ branchIdsToDelete, callback, forceDeleteAllClones }: ShowDeleteNotesDialogOpts) { - this.branchIds = branchIdsToDelete; - this.forceDeleteAllClones = forceDeleteAllClones; - - await this.renderDeletePreview(); - - openDialog(this.$widget); - - this.$deleteAllClones.prop("checked", !!forceDeleteAllClones).prop("disabled", !!forceDeleteAllClones); - - this.$eraseNotes.prop("checked", false); - - this.resolve = callback; - } - - isDeleteAllClonesChecked() { - return this.$deleteAllClones.is(":checked"); - } - - isEraseNotesChecked() { - return this.$eraseNotes.is(":checked"); - } -} diff --git a/apps/client/src/widgets/dialogs/delete_notes.tsx b/apps/client/src/widgets/dialogs/delete_notes.tsx new file mode 100644 index 000000000..4a09f5b90 --- /dev/null +++ b/apps/client/src/widgets/dialogs/delete_notes.tsx @@ -0,0 +1,182 @@ +import { useRef, useState } from "preact/hooks"; +import { closeActiveDialog, openDialog } from "../../services/dialog.js"; +import { t } from "../../services/i18n.js"; +import FormCheckbox from "../react/FormCheckbox.js"; +import Modal from "../react/Modal.js"; +import ReactBasicWidget from "../react/ReactBasicWidget.js"; +import { useEffect } from "react"; +import type { DeleteNotesPreview } from "@triliumnext/commons"; +import server from "../../services/server.js"; +import froca from "../../services/froca.js"; +import FNote from "../../entities/fnote.js"; +import link from "../../services/link.js"; +import Button from "../react/Button.jsx"; + +export interface ResolveOptions { + proceed: boolean; + deleteAllClones?: boolean; + eraseNotes?: boolean; +} + +interface ShowDeleteNotesDialogOpts { + branchIdsToDelete?: string[]; + callback?: (opts: ResolveOptions) => void; + forceDeleteAllClones?: boolean; +} + +interface ShowDeleteNotesDialogProps extends ShowDeleteNotesDialogOpts { } + +interface BrokenRelationData { + note: string; + relation: string; + source: string; +} + +function DeleteNotesDialogComponent({ forceDeleteAllClones, branchIdsToDelete, callback }: ShowDeleteNotesDialogProps) { + const [ deleteAllClones, setDeleteAllClones ] = useState(false); + const [ eraseNotes, setEraseNotes ] = useState(!!forceDeleteAllClones); + const [ brokenRelations, setBrokenRelations ] = useState([]); + const [ noteIdsToBeDeleted, setNoteIdsToBeDeleted ] = useState([]); + const [ proceed, setProceed ] = useState(false); + const okButtonRef = useRef(null); + + useEffect(() => { + if (!branchIdsToDelete || branchIdsToDelete.length === 0) { + return; + } + + server.post("delete-notes-preview", { + branchIdsToDelete, + deleteAllClones: forceDeleteAllClones || deleteAllClones + }).then(response => { + setBrokenRelations(response.brokenRelations); + setNoteIdsToBeDeleted(response.noteIdsToBeDeleted); + }); + }, [ branchIdsToDelete, deleteAllClones, forceDeleteAllClones ]); + + return ( + okButtonRef.current?.focus()} + onHidden={() => callback?.({ proceed, deleteAllClones, eraseNotes })} + footer={<> + -
  • - -
    -

    -
    -`; - -export default class PasswordNoteSetDialog extends BasicWidget { - - private modal!: Modal; - private $openPasswordOptionsButton!: JQuery; - - doRender() { - this.$widget = $(TPL); - this.modal = Modal.getOrCreateInstance(this.$widget[0]); - this.$openPasswordOptionsButton = this.$widget.find(".open-password-options-button"); - this.$openPasswordOptionsButton.on("click", () => { - this.modal.hide(); - this.triggerCommand("showOptions", { section: "_optionsPassword" }); - }); - } - - showPasswordNotSetEvent() { - openDialog(this.$widget); - } -} diff --git a/apps/client/src/widgets/dialogs/password_not_set.tsx b/apps/client/src/widgets/dialogs/password_not_set.tsx new file mode 100644 index 000000000..398579ebd --- /dev/null +++ b/apps/client/src/widgets/dialogs/password_not_set.tsx @@ -0,0 +1,34 @@ +import { closeActiveDialog, openDialog } from "../../services/dialog"; +import ReactBasicWidget from "../react/ReactBasicWidget"; +import Modal from "../react/Modal"; +import { t } from "../../services/i18n"; +import Button from "../react/Button"; +import appContext from "../../components/app_context"; + +function PasswordNotSetDialogComponent() { + return ( + { + closeActiveDialog(); + appContext.triggerCommand("showOptions", { section: "_optionsPassword" }); + }} />} + > +

    {t("password_not_set.body1")}

    +

    {t("password_not_set.body2")}

    +
    + ); +} + +export default class PasswordNotSetDialog extends ReactBasicWidget { + + get component() { + return ; + } + + showPasswordNotSetEvent() { + openDialog(this.$widget); + } + +} From bde4545afc62f499da6e8e0bd2db79b2cc228c1b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 5 Aug 2025 19:06:47 +0300 Subject: [PATCH 359/505] feat(react/dialogs): port prompt --- .../src/translations/cn/translation.json | 2 +- .../src/translations/de/translation.json | 2 +- .../src/translations/en/translation.json | 2 +- .../src/translations/es/translation.json | 2 +- .../src/translations/fr/translation.json | 2 +- .../src/translations/ro/translation.json | 2 +- .../src/translations/tw/translation.json | 2 +- apps/client/src/widgets/dialogs/prompt.ts | 115 ------------------ apps/client/src/widgets/dialogs/prompt.tsx | 87 +++++++++++++ apps/client/src/widgets/react/FormGroup.tsx | 7 +- apps/client/src/widgets/react/FormTextBox.tsx | 8 +- apps/client/src/widgets/react/Modal.tsx | 18 ++- 12 files changed, 117 insertions(+), 132 deletions(-) delete mode 100644 apps/client/src/widgets/dialogs/prompt.ts create mode 100644 apps/client/src/widgets/dialogs/prompt.tsx diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index 4f38b4fff..1d59b2171 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -244,7 +244,7 @@ "prompt": { "title": "提示", "close": "关闭", - "ok": "确定 回车", + "ok": "确定", "defaultTitle": "提示" }, "protected_session_password": { diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index c013b3eec..5a5f32649 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -244,7 +244,7 @@ "prompt": { "title": "Prompt", "close": "Schließen", - "ok": "OK Eingabe", + "ok": "OK", "defaultTitle": "Prompt" }, "protected_session_password": { diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index d6a745932..0af2b16a9 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -250,7 +250,7 @@ "prompt": { "title": "Prompt", "close": "Close", - "ok": "OK enter", + "ok": "OK", "defaultTitle": "Prompt" }, "protected_session_password": { diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json index 21b9eed84..3f95e1886 100644 --- a/apps/client/src/translations/es/translation.json +++ b/apps/client/src/translations/es/translation.json @@ -247,7 +247,7 @@ "prompt": { "title": "Aviso", "close": "Cerrar", - "ok": "Aceptar enter", + "ok": "Aceptar", "defaultTitle": "Aviso" }, "protected_session_password": { diff --git a/apps/client/src/translations/fr/translation.json b/apps/client/src/translations/fr/translation.json index 306f98763..ec61a8acb 100644 --- a/apps/client/src/translations/fr/translation.json +++ b/apps/client/src/translations/fr/translation.json @@ -244,7 +244,7 @@ "prompt": { "title": "Prompt", "close": "Fermer", - "ok": "OK entrer", + "ok": "OK", "defaultTitle": "Prompt" }, "protected_session_password": { diff --git a/apps/client/src/translations/ro/translation.json b/apps/client/src/translations/ro/translation.json index 4752ed63c..ac6b6f10b 100644 --- a/apps/client/src/translations/ro/translation.json +++ b/apps/client/src/translations/ro/translation.json @@ -970,7 +970,7 @@ }, "prompt": { "defaultTitle": "Aviz", - "ok": "OK enter", + "ok": "OK", "title": "Aviz", "close": "Închide" }, diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json index 9d2b79540..b258090d1 100644 --- a/apps/client/src/translations/tw/translation.json +++ b/apps/client/src/translations/tw/translation.json @@ -222,7 +222,7 @@ }, "prompt": { "title": "提示", - "ok": "確定 Enter", + "ok": "確定", "defaultTitle": "提示" }, "protected_session_password": { diff --git a/apps/client/src/widgets/dialogs/prompt.ts b/apps/client/src/widgets/dialogs/prompt.ts deleted file mode 100644 index f780fc4f5..000000000 --- a/apps/client/src/widgets/dialogs/prompt.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { openDialog } from "../../services/dialog.js"; -import { t } from "../../services/i18n.js"; -import BasicWidget from "../basic_widget.js"; -import { Modal } from "bootstrap"; - -const TPL = /*html*/` -`; - -interface ShownCallbackData { - $dialog: JQuery; - $question: JQuery | null; - $answer: JQuery | null; - $form: JQuery; -} - -export interface PromptDialogOptions { - title?: string; - message?: string; - defaultValue?: string; - shown?: PromptShownDialogCallback; - callback?: (value: string | null) => void; -} - -export type PromptShownDialogCallback = ((callback: ShownCallbackData) => void) | null; - -export default class PromptDialog extends BasicWidget { - private resolve?: ((value: string | null) => void) | undefined | null; - private shownCb?: PromptShownDialogCallback | null; - - private modal!: Modal; - private $dialogBody!: JQuery; - private $question!: JQuery | null; - private $answer!: JQuery | null; - private $form!: JQuery; - - constructor() { - super(); - - this.resolve = null; - this.shownCb = null; - } - - doRender() { - this.$widget = $(TPL); - this.modal = Modal.getOrCreateInstance(this.$widget[0]); - this.$dialogBody = this.$widget.find(".modal-body"); - this.$form = this.$widget.find(".prompt-dialog-form"); - this.$question = null; - this.$answer = null; - - this.$widget.on("shown.bs.modal", () => { - if (this.shownCb) { - this.shownCb({ - $dialog: this.$widget, - $question: this.$question, - $answer: this.$answer, - $form: this.$form - }); - } - - this.$answer?.trigger("focus").select(); - }); - - this.$widget.on("hidden.bs.modal", () => { - if (this.resolve) { - this.resolve(null); - } - }); - - this.$form.on("submit", (e) => { - e.preventDefault(); - if (this.resolve) { - this.resolve(this.$answer?.val() as string); - } - - this.modal.hide(); - }); - } - - showPromptDialogEvent({ title, message, defaultValue, shown, callback }: PromptDialogOptions) { - this.shownCb = shown; - this.resolve = callback; - - this.$widget.find(".prompt-title").text(title || t("prompt.defaultTitle")); - - this.$question = $("
    -
    -

    `; - -export default class HelpDialog extends BasicWidget { - doRender() { - this.$widget = $(TPL); - } - - showCheatsheetEvent() { - openDialog(this.$widget); - } -} diff --git a/apps/client/src/widgets/dialogs/help.tsx b/apps/client/src/widgets/dialogs/help.tsx new file mode 100644 index 000000000..95d2a56b9 --- /dev/null +++ b/apps/client/src/widgets/dialogs/help.tsx @@ -0,0 +1,167 @@ +import { openDialog } from "../../services/dialog.js"; +import ReactBasicWidget from "../react/ReactBasicWidget.js"; +import Modal from "../react/Modal.jsx"; +import { t } from "../../services/i18n.js"; +import { ComponentChildren } from "preact"; +import { 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"; + +function HelpDialogComponent() { + return ( + +
    + +
      + + + + + + + + +
    +
    + + +
      + + +
    + +
    {t("help.onlyInDesktop")}
    +
      + + + + +
    +
    + + +
      + + + +
    +
    + + +
      + + + + + + + + + +
    +
    + + +
      + + + + + + +
    +
    + + +
      +
    • +
    • +
    • +
    • +
    +
    + + +
      + + + +
    +
    + + +
      + + +
    +
    +
    +
    + ); +} + +function KeyboardShortcut({ commands, description }: { commands: CommandNames | CommandNames[], description: string }) { + const [ shortcuts, setShortcuts ] = useState([]); + + useEffect(() => { + (async () => { + const shortcuts: string[] = []; + for (const command of Array.isArray(commands) ? commands : [commands]) { + const action = await keyboard_actions.getAction(command); + if (action) { + shortcuts.push(...(action.effectiveShortcuts ?? [])); + } + } + + if (shortcuts.length === 0) { + shortcuts.push(t("help.notSet")); + } + + setShortcuts(shortcuts); + })(); + }, [commands]); + + return FixedKeyboardShortcut({ + keys: shortcuts, + description + }); +} + +function FixedKeyboardShortcut({ keys, description }: { keys?: string[], description: string }) { + return ( +
  • + {keys && keys.map((key, index) => + <> + {key} + {index < keys.length - 1 ? ", " : "" } + + )} - +
  • + ); +} + +function Card({ title, children }: { title: string, children: ComponentChildren }) { + return ( +
    +
    +
    {title}
    + +

    + {children} +

    +
    +
    + ) +} + +export default class HelpDialog extends ReactBasicWidget { + + get component() { + return ; + } + + showCheatsheetEvent() { + openDialog(this.$widget); + } +} diff --git a/apps/client/src/widgets/react/Modal.tsx b/apps/client/src/widgets/react/Modal.tsx index 01c809b32..173915fec 100644 --- a/apps/client/src/widgets/react/Modal.tsx +++ b/apps/client/src/widgets/react/Modal.tsx @@ -10,6 +10,7 @@ interface ModalProps { children: ComponentChildren; footer?: ComponentChildren; footerAlignment?: "right" | "between"; + minWidth?: string; maxWidth?: number; zIndex?: number; /** @@ -40,7 +41,7 @@ interface ModalProps { formRef?: RefObject; } -export default function Modal({ children, className, size, title, footer, footerAlignment, onShown, onSubmit, helpPageId, maxWidth, zIndex, scrollable, onHidden: onHidden, modalRef: _modalRef, formRef: _formRef }: ModalProps) { +export default function Modal({ children, className, size, title, footer, footerAlignment, onShown, onSubmit, helpPageId, minWidth, maxWidth, zIndex, scrollable, onHidden: onHidden, modalRef: _modalRef, formRef: _formRef }: ModalProps) { const modalRef = _modalRef ?? useRef(null); const formRef = _formRef ?? useRef(null); @@ -76,6 +77,9 @@ export default function Modal({ children, className, size, title, footer, footer if (maxWidth) { documentStyle.maxWidth = `${maxWidth}px`; } + if (minWidth) { + documentStyle.minWidth = minWidth; + } return (
    diff --git a/apps/client/src/widgets/react/RawHtml.tsx b/apps/client/src/widgets/react/RawHtml.tsx new file mode 100644 index 000000000..8fc2ad60a --- /dev/null +++ b/apps/client/src/widgets/react/RawHtml.tsx @@ -0,0 +1,7 @@ +interface RawHtmlProps { + html: string; +} + +export default function RawHtml({ html }: RawHtmlProps) { + return ; +} \ No newline at end of file From 0cfe3351bb5835aff48ba7ddb540e1af8c45f3bc Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 5 Aug 2025 20:56:07 +0300 Subject: [PATCH 361/505] feat(react/dialogs): port include_note --- .../src/translations/cn/translation.json | 2 +- .../src/translations/de/translation.json | 2 +- .../src/translations/en/translation.json | 2 +- .../src/translations/es/translation.json | 2 +- .../src/translations/fr/translation.json | 2 +- .../src/translations/ro/translation.json | 2 +- .../src/translations/sr/translation.json | 2 +- .../src/translations/tw/translation.json | 2 +- .../src/widgets/dialogs/include_note.ts | 116 ------------------ .../src/widgets/dialogs/include_note.tsx | 99 +++++++++++++++ 10 files changed, 107 insertions(+), 124 deletions(-) delete mode 100644 apps/client/src/widgets/dialogs/include_note.ts create mode 100644 apps/client/src/widgets/dialogs/include_note.tsx diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index fc7d42fd6..a3a85325b 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -202,7 +202,7 @@ "box_size_small": "小型 (显示大约10行)", "box_size_medium": "中型 (显示大约30行)", "box_size_full": "完整显示(完整文本框)", - "button_include": "包含笔记 回车" + "button_include": "包含笔记" }, "info": { "modalTitle": "信息消息", diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index 3c569017a..431dd0027 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -201,7 +201,7 @@ "box_size_small": "klein (~ 10 Zeilen)", "box_size_medium": "mittel (~ 30 Zeilen)", "box_size_full": "vollständig (Feld zeigt vollständigen Text)", - "button_include": "Notiz beifügen Eingabetaste" + "button_include": "Notiz beifügen" }, "info": { "modalTitle": "Infonachricht", diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index c17badf3e..491addf3c 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -203,7 +203,7 @@ "box_size_small": "small (~ 10 lines)", "box_size_medium": "medium (~ 30 lines)", "box_size_full": "full (box shows complete text)", - "button_include": "Include note enter" + "button_include": "Include note" }, "info": { "modalTitle": "Info message", diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json index 1e1119e2f..91095325f 100644 --- a/apps/client/src/translations/es/translation.json +++ b/apps/client/src/translations/es/translation.json @@ -202,7 +202,7 @@ "box_size_small": "pequeño (~ 10 líneas)", "box_size_medium": "medio (~ 30 líneas)", "box_size_full": "completo (el cuadro muestra el texto completo)", - "button_include": "Incluir nota Enter" + "button_include": "Incluir nota" }, "info": { "modalTitle": "Mensaje informativo", diff --git a/apps/client/src/translations/fr/translation.json b/apps/client/src/translations/fr/translation.json index 6921f1cf5..0add71da1 100644 --- a/apps/client/src/translations/fr/translation.json +++ b/apps/client/src/translations/fr/translation.json @@ -201,7 +201,7 @@ "box_size_small": "petit (~ 10 lignes)", "box_size_medium": "moyen (~ 30 lignes)", "box_size_full": "complet (la boîte affiche le texte complet)", - "button_include": "Inclure une note Entrée" + "button_include": "Inclure une note" }, "info": { "modalTitle": "Message d'information", diff --git a/apps/client/src/translations/ro/translation.json b/apps/client/src/translations/ro/translation.json index 8544428c5..2b1ba6db2 100644 --- a/apps/client/src/translations/ro/translation.json +++ b/apps/client/src/translations/ro/translation.json @@ -750,7 +750,7 @@ "box_size_medium": "mediu (~ 30 de rânduri)", "box_size_prompt": "Dimensiunea căsuței notiței incluse:", "box_size_small": "mică (~ 10 rânduri)", - "button_include": "Include notița Enter", + "button_include": "Include notița", "dialog_title": "Includere notița", "label_note": "Notiță", "placeholder_search": "căutați notița după denumirea ei", diff --git a/apps/client/src/translations/sr/translation.json b/apps/client/src/translations/sr/translation.json index 61ab6a8b2..1e5d8741c 100644 --- a/apps/client/src/translations/sr/translation.json +++ b/apps/client/src/translations/sr/translation.json @@ -203,7 +203,7 @@ "box_size_small": "mala (~ 10 redova)", "box_size_medium": "srednja (~ 30 redova)", "box_size_full": "puna (kutija prikazuje ceo tekst)", - "button_include": "Uključi belešku enter" + "button_include": "Uključi belešku" }, "info": { "modalTitle": "Informativna poruka", diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json index 9e43e775a..50daa3905 100644 --- a/apps/client/src/translations/tw/translation.json +++ b/apps/client/src/translations/tw/translation.json @@ -185,7 +185,7 @@ "box_size_small": "小型 (顯示大約10行)", "box_size_medium": "中型 (顯示大約30行)", "box_size_full": "完整顯示(完整文字框)", - "button_include": "包含筆記 Enter" + "button_include": "包含筆記" }, "info": { "modalTitle": "資訊消息", diff --git a/apps/client/src/widgets/dialogs/include_note.ts b/apps/client/src/widgets/dialogs/include_note.ts deleted file mode 100644 index 61b22a35b..000000000 --- a/apps/client/src/widgets/dialogs/include_note.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { t } from "../../services/i18n.js"; -import treeService from "../../services/tree.js"; -import noteAutocompleteService from "../../services/note_autocomplete.js"; -import froca from "../../services/froca.js"; -import BasicWidget from "../basic_widget.js"; -import { Modal } from "bootstrap"; -import type { EventData } from "../../components/app_context.js"; -import type EditableTextTypeWidget from "../type_widgets/editable_text.js"; -import { openDialog } from "../../services/dialog.js"; - -const TPL = /*html*/` -`; - -export default class IncludeNoteDialog extends BasicWidget { - - private modal!: bootstrap.Modal; - private $form!: JQuery; - private $autoComplete!: JQuery; - private textTypeWidget?: EditableTextTypeWidget; - - doRender() { - this.$widget = $(TPL); - this.modal = Modal.getOrCreateInstance(this.$widget[0]); - this.$form = this.$widget.find(".include-note-form"); - this.$autoComplete = this.$widget.find(".include-note-autocomplete"); - this.$form.on("submit", () => { - const notePath = this.$autoComplete.getSelectedNotePath(); - - if (notePath) { - this.modal.hide(); - this.includeNote(notePath); - } else { - logError("No noteId to include."); - } - - return false; - }); - } - - async showIncludeNoteDialogEvent({ textTypeWidget }: EventData<"showIncludeDialog">) { - this.textTypeWidget = textTypeWidget; - await this.refresh(); - openDialog(this.$widget); - - this.$autoComplete.trigger("focus").trigger("select"); // to be able to quickly remove entered text - } - - async refresh() { - this.$autoComplete.val(""); - noteAutocompleteService.initNoteAutocomplete(this.$autoComplete, { - hideGoToSelectedNoteButton: true, - allowCreatingNotes: true - }); - noteAutocompleteService.showRecentNotes(this.$autoComplete); - } - - async includeNote(notePath: string) { - const noteId = treeService.getNoteIdFromUrl(notePath); - if (!noteId) { - return; - } - const note = await froca.getNote(noteId); - const boxSize = $("input[name='include-note-box-size']:checked").val() as string; - - if (["image", "canvas", "mermaid"].includes(note?.type ?? "")) { - // there's no benefit to use insert note functionlity for images, - // so we'll just add an IMG tag - this.textTypeWidget?.addImage(noteId); - } else { - this.textTypeWidget?.addIncludeNote(noteId, boxSize); - } - } -} diff --git a/apps/client/src/widgets/dialogs/include_note.tsx b/apps/client/src/widgets/dialogs/include_note.tsx new file mode 100644 index 000000000..ae78bab31 --- /dev/null +++ b/apps/client/src/widgets/dialogs/include_note.tsx @@ -0,0 +1,99 @@ +import { useRef, useState } from "preact/compat"; +import type { EventData } from "../../components/app_context"; +import { closeActiveDialog, openDialog } from "../../services/dialog"; +import { t } from "../../services/i18n"; +import FormGroup from "../react/FormGroup"; +import FormRadioGroup from "../react/FormRadioGroup"; +import Modal from "../react/Modal"; +import NoteAutocomplete from "../react/NoteAutocomplete"; +import ReactBasicWidget from "../react/ReactBasicWidget"; +import Button from "../react/Button"; +import note_autocomplete, { Suggestion } from "../../services/note_autocomplete"; +import tree from "../../services/tree"; +import froca from "../../services/froca"; +import EditableTextTypeWidget from "../type_widgets/editable_text"; + +interface IncludeNoteDialogProps { + textTypeWidget?: EditableTextTypeWidget; +} + +function IncludeNoteDialogComponent({ textTypeWidget }: IncludeNoteDialogProps) { + const [suggestion, setSuggestion] = useState(null); + const [boxSize, setBoxSize] = useState("medium"); + const inputRef = useRef(null); + + return (textTypeWidget && + { + inputRef.current?.focus(); + note_autocomplete.showRecentNotes($(inputRef.current!)); + }} + onSubmit={() => { + if (!suggestion?.notePath) { + return; + } + + closeActiveDialog(); + includeNote(suggestion.notePath, textTypeWidget); + }} + footer={ + -
    -
    - - -
    -

    - -`; - -export default class UploadAttachmentsDialog extends BasicWidget { - - private parentNoteId: string | null; - private modal!: bootstrap.Modal; - private $form!: JQuery; - private $noteTitle!: JQuery; - private $fileUploadInput!: JQuery; - private $uploadButton!: JQuery; - private $shrinkImagesCheckbox!: JQuery; - - constructor() { - super(); - - this.parentNoteId = null; - } - - doRender() { - this.$widget = $(TPL); - this.modal = Modal.getOrCreateInstance(this.$widget[0]); - - this.$form = this.$widget.find(".upload-attachment-form"); - this.$noteTitle = this.$widget.find(".upload-attachment-note-title"); - this.$fileUploadInput = this.$widget.find(".upload-attachment-file-upload-input"); - this.$uploadButton = this.$widget.find(".upload-attachment-button"); - this.$shrinkImagesCheckbox = this.$widget.find(".shrink-images-checkbox"); - - this.$form.on("submit", () => { - // disabling so that import is not triggered again. - this.$uploadButton.attr("disabled", "disabled"); - if (this.parentNoteId) { - this.uploadAttachments(this.parentNoteId); - } - return false; - }); - - this.$fileUploadInput.on("change", () => { - if (this.$fileUploadInput.val()) { - this.$uploadButton.removeAttr("disabled"); - } else { - this.$uploadButton.attr("disabled", "disabled"); - } - }); - - Tooltip.getOrCreateInstance(this.$widget.find('[data-bs-toggle="tooltip"]')[0], { - html: true - }); - } - - async showUploadAttachmentsDialogEvent({ noteId }: EventData<"showUploadAttachmentsDialog">) { - this.parentNoteId = noteId; - - this.$fileUploadInput.val("").trigger("change"); // to trigger upload button disabling listener below - this.$shrinkImagesCheckbox.prop("checked", options.is("compressImages")); - - this.$noteTitle.text(await treeService.getNoteTitle(this.parentNoteId)); - - openDialog(this.$widget); - } - - async uploadAttachments(parentNoteId: string) { - const files = Array.from(this.$fileUploadInput[0].files ?? []); // shallow copy since we're resetting the upload button below - - function boolToString($el: JQuery): "true" | "false" { - return ($el.is(":checked") ? "true" : "false"); - } - - const options = { - shrinkImages: boolToString(this.$shrinkImagesCheckbox) - }; - - this.modal.hide(); - - await importService.uploadFiles("attachments", parentNoteId, files, options); - } -} diff --git a/apps/client/src/widgets/dialogs/upload_attachments.tsx b/apps/client/src/widgets/dialogs/upload_attachments.tsx new file mode 100644 index 000000000..b0500c864 --- /dev/null +++ b/apps/client/src/widgets/dialogs/upload_attachments.tsx @@ -0,0 +1,79 @@ +import { useEffect, useState } from "preact/compat"; +import { closeActiveDialog, openDialog } from "../../services/dialog"; +import { t } from "../../services/i18n"; +import Button from "../react/Button"; +import FormCheckbox from "../react/FormCheckbox"; +import FormFileUpload from "../react/FormFileUpload"; +import FormGroup from "../react/FormGroup"; +import Modal from "../react/Modal"; +import ReactBasicWidget from "../react/ReactBasicWidget"; +import options from "../../services/options"; +import importService from "../../services/import.js"; +import { EventData } from "../../components/app_context"; +import tree from "../../services/tree"; + +interface UploadAttachmentsDialogProps { + parentNoteId?: string; +} + +function UploadAttachmentsDialogComponent({ parentNoteId }: UploadAttachmentsDialogProps) { + const [ files, setFiles ] = useState(null); + const [ shrinkImages, setShrinkImages ] = useState(options.is("compressImages")); + const [ isUploading, setIsUploading ] = useState(false); + const [ description, setDescription ] = useState(undefined); + + if (parentNoteId) { + useEffect(() => { + tree.getNoteTitle(parentNoteId).then((noteTitle) => + setDescription(t("upload_attachments.files_will_be_uploaded", { noteTitle }))); + }, [parentNoteId]); + } + + return (parentNoteId && + } + onSubmit={async () => { + if (!files) { + return; + } + + setIsUploading(true); + const filesCopy = Array.from(files); + await importService.uploadFiles("attachments", parentNoteId, filesCopy, { shrinkImages }); + setIsUploading(false); + closeActiveDialog(); + }} + > + + + + + + + + + ); +} + +export default class UploadAttachmentsDialog extends ReactBasicWidget { + + private props: UploadAttachmentsDialogProps = {}; + + get component() { + return ; + } + + showUploadAttachmentsDialogEvent({ noteId }: EventData<"showUploadAttachmentsDialog">) { + this.props = { parentNoteId: noteId }; + this.doRender(); + openDialog(this.$widget); + } + +} diff --git a/apps/client/src/widgets/react/Button.tsx b/apps/client/src/widgets/react/Button.tsx index dc4e61dcd..dcf62f9f3 100644 --- a/apps/client/src/widgets/react/Button.tsx +++ b/apps/client/src/widgets/react/Button.tsx @@ -11,9 +11,10 @@ interface ButtonProps { /** Called when the button is clicked. If not set, the button will submit the form (if any). */ onClick?: () => void; primary?: boolean; + disabled?: boolean; } -export default function Button({ buttonRef: _buttonRef, className, text, onClick, keyboardShortcut, icon, primary }: ButtonProps) { +export default function Button({ buttonRef: _buttonRef, className, text, onClick, keyboardShortcut, icon, primary, disabled }: ButtonProps) { const classes: string[] = ["btn"]; if (primary) { classes.push("btn-primary"); @@ -33,6 +34,7 @@ export default function Button({ buttonRef: _buttonRef, className, text, onClick type={onClick ? "button" : "submit"} onClick={onClick} ref={buttonRef} + disabled={disabled} > {icon && } {text} {keyboardShortcut && ( diff --git a/apps/client/src/widgets/react/FormFileUpload.tsx b/apps/client/src/widgets/react/FormFileUpload.tsx new file mode 100644 index 000000000..c2f53a5a9 --- /dev/null +++ b/apps/client/src/widgets/react/FormFileUpload.tsx @@ -0,0 +1,13 @@ +interface FormFileUploadProps { + onChange: (files: FileList | null) => void; + multiple?: boolean; +} + +export default function FormFileUpload({ onChange, multiple }: FormFileUploadProps) { + return ( + + ) +} \ No newline at end of file From 165d093928c93708625a6c9e26395ba0dbcfb1bd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Aug 2025 02:30:30 +0000 Subject: [PATCH 371/505] Update dependency @sveltejs/kit to v2.27.1 --- pnpm-lock.yaml | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4141a7b53..13babd52d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -809,10 +809,10 @@ importers: version: 9.32.0 '@sveltejs/adapter-auto': specifier: ^6.0.0 - version: 6.0.1(@sveltejs/kit@2.27.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) + version: 6.0.1(@sveltejs/kit@2.27.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))) '@sveltejs/kit': specifier: ^2.16.0 - version: 2.27.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + version: 2.27.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@sveltejs/vite-plugin-svelte': specifier: ^6.0.0 version: 6.1.0(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) @@ -3850,8 +3850,8 @@ packages: '@mapbox/point-geometry@0.1.0': resolution: {integrity: sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==} - '@mapbox/tiny-sdf@2.0.6': - resolution: {integrity: sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==} + '@mapbox/tiny-sdf@2.0.7': + resolution: {integrity: sha512-25gQLQMcpivjOSA40g3gO6qgiFPDpWRoMfd+G/GoppPIeP6JDaMMkMrEJnMZhKyyS6iKwVt5YKu02vCUyJM3Ug==} '@mapbox/unitbezier@0.0.1': resolution: {integrity: sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==} @@ -5322,8 +5322,8 @@ packages: peerDependencies: '@sveltejs/kit': ^2.0.0 - '@sveltejs/kit@2.27.0': - resolution: {integrity: sha512-pEX1Z2Km8tqmkni+ykIIou+ojp/7gb3M9tpllN5nDWNo9zlI0dI8/hDKFyBwQvb4jYR+EyLriFtrmgJ6GvbnBA==} + '@sveltejs/kit@2.27.1': + resolution: {integrity: sha512-u5HbL9T4TgWZwXZM7hwdT0f5sDkGaNxsSrLYQoql+eiz2+9rcbbq4MiOAPoRtXG0dys5P5ixBmyQdqZedwZUlA==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -16983,6 +16983,8 @@ snapshots: '@ckeditor/ckeditor5-core': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-code-block@46.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -17235,6 +17237,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -17257,6 +17261,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17728,6 +17734,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-restricted-editing@46.0.0': dependencies: @@ -19739,7 +19747,7 @@ snapshots: '@mapbox/point-geometry@0.1.0': {} - '@mapbox/tiny-sdf@2.0.6': {} + '@mapbox/tiny-sdf@2.0.7': {} '@mapbox/unitbezier@0.0.1': {} @@ -21439,11 +21447,11 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.27.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': + '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.27.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))': dependencies: - '@sveltejs/kit': 2.27.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@sveltejs/kit': 2.27.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@sveltejs/kit@2.27.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@sveltejs/kit@2.27.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(svelte@5.37.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.87.0)(sass@1.87.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@standard-schema/spec': 1.0.0 '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) @@ -28254,7 +28262,7 @@ snapshots: '@mapbox/geojson-rewind': 0.5.2 '@mapbox/jsonlint-lines-primitives': 2.0.2 '@mapbox/point-geometry': 0.1.0 - '@mapbox/tiny-sdf': 2.0.6 + '@mapbox/tiny-sdf': 2.0.7 '@mapbox/unitbezier': 0.0.1 '@mapbox/vector-tile': 1.3.1 '@mapbox/whoots-js': 3.1.0 From 073354fe04cac63036d52c3356032e00aba44d79 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Aug 2025 02:31:08 +0000 Subject: [PATCH 372/505] Update dependency fs-extra to v11.3.1 --- apps/edit-docs/package.json | 2 +- apps/server/package.json | 2 +- pnpm-lock.yaml | 46 ++++++++++++++++++++++++------------- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/apps/edit-docs/package.json b/apps/edit-docs/package.json index 0e0c2abba..ed6d10719 100644 --- a/apps/edit-docs/package.json +++ b/apps/edit-docs/package.json @@ -13,7 +13,7 @@ "@types/fs-extra": "11.0.4", "copy-webpack-plugin": "13.0.0", "electron": "37.2.5", - "fs-extra": "11.3.0" + "fs-extra": "11.3.1" }, "nx": { "name": "edit-docs", diff --git a/apps/server/package.json b/apps/server/package.json index bf314e44d..0c81070e3 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -68,7 +68,7 @@ "express-rate-limit": "8.0.1", "express-session": "1.18.2", "file-uri-to-path": "2.0.0", - "fs-extra": "11.3.0", + "fs-extra": "11.3.1", "helmet": "8.1.0", "html": "1.0.0", "html2plaintext": "2.1.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4141a7b53..e7c2d117e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -476,8 +476,8 @@ importers: specifier: 37.2.5 version: 37.2.5 fs-extra: - specifier: 11.3.0 - version: 11.3.0 + specifier: 11.3.1 + version: 11.3.1 apps/server: dependencies: @@ -669,8 +669,8 @@ importers: specifier: 2.0.0 version: 2.0.0 fs-extra: - specifier: 11.3.0 - version: 11.3.0 + specifier: 11.3.1 + version: 11.3.1 helmet: specifier: 8.1.0 version: 8.1.0 @@ -9095,6 +9095,10 @@ packages: resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} engines: {node: '>=14.14'} + fs-extra@11.3.1: + resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} + engines: {node: '>=14.14'} + fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} @@ -17042,8 +17046,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-watchdog': 46.0.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.2)': dependencies: @@ -17094,7 +17096,7 @@ snapshots: '@babel/traverse': 7.28.0 '@ckeditor/ckeditor5-dev-utils': 50.3.1(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)(typescript@5.0.4)(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) chalk: 5.5.0 - fs-extra: 11.3.0 + fs-extra: 11.3.1 glob: 11.0.3 plural-forms: 0.5.5 pofile: 1.1.4 @@ -17120,7 +17122,7 @@ snapshots: cssnano: 6.1.2(postcss@8.5.3) del: 5.1.0 esbuild-loader: 3.0.1(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - fs-extra: 11.3.0 + fs-extra: 11.3.1 is-interactive: 1.0.0 javascript-stringify: 1.6.0 mini-css-extract-plugin: 2.4.7(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) @@ -17151,7 +17153,7 @@ snapshots: css-loader: 7.1.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) cssnano: 7.1.0(postcss@8.5.6) esbuild-loader: 4.3.0(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - fs-extra: 11.3.0 + fs-extra: 11.3.1 glob: 11.0.3 is-interactive: 2.0.0 mini-css-extract-plugin: 2.9.2(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) @@ -17235,6 +17237,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -17257,6 +17261,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -17626,7 +17632,7 @@ snapshots: buffer: 6.0.3 chalk: 5.4.1 css-loader: 5.2.7(webpack@5.100.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.8)) - fs-extra: 11.3.0 + fs-extra: 11.3.1 glob: 7.2.3 minimist: 1.2.8 postcss: 8.5.6 @@ -18489,7 +18495,7 @@ snapshots: debug: 4.4.1(supports-color@6.0.0) extract-zip: 2.0.1 filenamify: 4.3.0 - fs-extra: 11.3.0 + fs-extra: 11.3.1 galactus: 1.0.0 get-package-info: 1.0.0 junk: 3.1.0 @@ -18551,7 +18557,7 @@ snapshots: '@malept/cross-spawn-promise': 2.0.0 debug: 4.4.1(supports-color@6.0.0) dir-compare: 4.2.0 - fs-extra: 11.3.0 + fs-extra: 11.3.1 minimatch: 9.0.5 plist: 3.1.0 transitivePeerDependencies: @@ -18561,7 +18567,7 @@ snapshots: dependencies: cross-dirname: 0.1.0 debug: 4.4.1(supports-color@6.0.0) - fs-extra: 11.3.0 + fs-extra: 11.3.1 minimist: 1.2.8 postject: 1.0.0-alpha.6 transitivePeerDependencies: @@ -21013,7 +21019,7 @@ snapshots: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) ajv-formats: 3.0.1(ajv@8.13.0) - fs-extra: 11.3.0 + fs-extra: 11.3.1 import-lazy: 4.0.0 jju: 1.4.0 resolve: 1.22.10 @@ -23836,6 +23842,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -25113,7 +25121,7 @@ snapshots: dpdm@3.14.0: dependencies: chalk: 4.1.2 - fs-extra: 11.3.0 + fs-extra: 11.3.1 glob: 10.4.5 ora: 5.4.1 tslib: 2.8.1 @@ -25576,7 +25584,7 @@ snapshots: dependencies: '@es-joy/jsdoccomment': 0.50.2 enhanced-resolve: 5.18.2 - fs-extra: 11.3.0 + fs-extra: 11.3.1 resolve.exports: 2.0.3 upath: 2.0.1 validate-npm-package-name: 6.0.2 @@ -26175,6 +26183,12 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 + fs-extra@11.3.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + fs-extra@7.0.1: dependencies: graceful-fs: 4.2.11 From 2d537b82f6afa3b932710cd3e88eebb833f609d8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Aug 2025 02:32:25 +0000 Subject: [PATCH 373/505] Update dependency @anthropic-ai/sdk to v0.58.0 --- apps/server/package.json | 2 +- pnpm-lock.yaml | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/apps/server/package.json b/apps/server/package.json index bf314e44d..c9b3a64d6 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -39,7 +39,7 @@ "@types/ws": "8.18.1", "@types/xml2js": "0.4.14", "express-http-proxy": "2.1.1", - "@anthropic-ai/sdk": "0.57.0", + "@anthropic-ai/sdk": "0.58.0", "@braintree/sanitize-url": "7.1.1", "@triliumnext/commons": "workspace:*", "@triliumnext/express-partial-content": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4141a7b53..d7043ae33 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -486,8 +486,8 @@ importers: version: 12.2.0 devDependencies: '@anthropic-ai/sdk': - specifier: 0.57.0 - version: 0.57.0 + specifier: 0.58.0 + version: 0.58.0 '@braintree/sanitize-url': specifier: 7.1.1 version: 7.1.1 @@ -1407,8 +1407,8 @@ packages: '@antfu/utils@8.1.1': resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} - '@anthropic-ai/sdk@0.57.0': - resolution: {integrity: sha512-z5LMy0MWu0+w2hflUgj4RlJr1R+0BxKXL7ldXTO8FasU8fu599STghO+QKwId2dAD0d464aHtU+ChWuRHw4FNw==} + '@anthropic-ai/sdk@0.58.0': + resolution: {integrity: sha512-wF8w+LB0AlKVLYUQho0nbK0uDv0K5Cgb92dbh8213t4roilnQ9Tm6zndheIaUxQdoEAeb0uoOT+GkkoIkqD8+A==} hasBin: true '@apidevtools/json-schema-ref-parser@9.1.2': @@ -15549,7 +15549,7 @@ snapshots: '@antfu/utils@8.1.1': {} - '@anthropic-ai/sdk@0.57.0': {} + '@anthropic-ai/sdk@0.58.0': {} '@apidevtools/json-schema-ref-parser@9.1.2': dependencies: @@ -17042,8 +17042,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-watchdog': 46.0.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.2)': dependencies: @@ -17235,6 +17233,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -17257,6 +17257,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -23836,6 +23838,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: From f5b7648d6da01c83fcdcc367c412f171795f9560 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Aug 2025 02:33:15 +0000 Subject: [PATCH 374/505] Update dependency openai to v5.12.0 --- apps/server/package.json | 2 +- pnpm-lock.yaml | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/apps/server/package.json b/apps/server/package.json index bf314e44d..5d8105e3b 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -88,7 +88,7 @@ "multer": "2.0.2", "normalize-strings": "1.1.1", "ollama": "0.5.16", - "openai": "5.11.0", + "openai": "5.12.0", "rand-token": "1.0.1", "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4141a7b53..fa8d28c8b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -729,8 +729,8 @@ importers: specifier: 0.5.16 version: 0.5.16 openai: - specifier: 5.11.0 - version: 5.11.0(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4) + specifier: 5.12.0 + version: 5.12.0(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4) rand-token: specifier: 1.0.1 version: 1.0.1 @@ -11569,8 +11569,8 @@ packages: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} - openai@5.11.0: - resolution: {integrity: sha512-+AuTc5pVjlnTuA9zvn8rA/k+1RluPIx9AD4eDcnutv6JNwHHZxIhkFy+tmMKCvmMFDQzfA/r1ujvPWB19DQkYg==} + openai@5.12.0: + resolution: {integrity: sha512-vUdt02xiWgOHiYUmW0Hj1Qu9OKAiVQu5Bd547ktVCiMKC1BkB5L3ImeEnCyq3WpRKR6ZTaPgekzqdozwdPs7Lg==} hasBin: true peerDependencies: ws: ^8.18.0 @@ -17042,8 +17042,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 '@ckeditor/ckeditor5-watchdog': 46.0.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.2)': dependencies: @@ -17235,6 +17233,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@46.0.0': dependencies: @@ -17257,6 +17257,8 @@ snapshots: '@ckeditor/ckeditor5-table': 46.0.0 '@ckeditor/ckeditor5-utils': 46.0.0 ckeditor5: 46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@46.0.0': dependencies: @@ -23836,6 +23838,8 @@ snapshots: ckeditor5-collaboration@46.0.0: dependencies: '@ckeditor/ckeditor5-collaboration-core': 46.0.0 + transitivePeerDependencies: + - supports-color ckeditor5-premium-features@46.0.0(bufferutil@4.0.9)(ckeditor5@46.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41))(utf-8-validate@6.0.5): dependencies: @@ -29364,7 +29368,7 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - openai@5.11.0(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4): + openai@5.12.0(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4): optionalDependencies: ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) zod: 3.24.4 From ed3ba2745fda86d7081a874c8b305a8a38037a9f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Aug 2025 02:33:21 +0000 Subject: [PATCH 375/505] Update actions/download-artifact action to v5 --- .github/workflows/main-docker.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main-docker.yml b/.github/workflows/main-docker.yml index 40c5149c7..ca84dd20b 100644 --- a/.github/workflows/main-docker.yml +++ b/.github/workflows/main-docker.yml @@ -223,7 +223,7 @@ jobs: - build steps: - name: Download digests - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: path: /tmp/digests pattern: digests-* diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b05cb4939..1d84519ea 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -107,7 +107,7 @@ jobs: docs/Release Notes - name: Download all artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: merge-multiple: true pattern: release-* From 33e3112290a1f19e999277b276654c9411e824a0 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 6 Aug 2025 11:39:31 +0300 Subject: [PATCH 376/505] feat(react/dialog): port note_type_chooser --- .../src/translations/cn/translation.json | 2 +- .../src/translations/de/translation.json | 2 +- .../src/translations/en/translation.json | 3 +- .../src/translations/es/translation.json | 2 +- .../src/translations/fr/translation.json | 2 +- .../src/translations/ro/translation.json | 2 +- .../src/translations/sr/translation.json | 2 +- .../src/translations/tw/translation.json | 2 +- .../src/widgets/dialogs/note_type_chooser.ts | 204 ------------------ .../src/widgets/dialogs/note_type_chooser.tsx | 125 +++++++++++ apps/client/src/widgets/react/Dropdown.tsx | 44 ++++ apps/client/src/widgets/react/FormGroup.tsx | 6 +- apps/client/src/widgets/react/FormList.tsx | 49 +++++ apps/client/src/widgets/react/Icon.tsx | 7 + 14 files changed, 238 insertions(+), 214 deletions(-) delete mode 100644 apps/client/src/widgets/dialogs/note_type_chooser.ts create mode 100644 apps/client/src/widgets/dialogs/note_type_chooser.tsx create mode 100644 apps/client/src/widgets/react/Dropdown.tsx create mode 100644 apps/client/src/widgets/react/FormList.tsx create mode 100644 apps/client/src/widgets/react/Icon.tsx diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index cd1b86123..d26594bfc 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -234,7 +234,7 @@ "modal_title": "选择笔记类型", "close": "关闭", "modal_body": "选择新笔记的类型或模板:", - "templates": "模板:" + "templates": "模板" }, "password_not_set": { "title": "密码未设置", diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index 5cb7dfa07..ef6bb1dec 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -233,7 +233,7 @@ "modal_title": "Wähle den Notiztyp aus", "close": "Schließen", "modal_body": "Wähle den Notiztyp / die Vorlage der neuen Notiz:", - "templates": "Vorlagen:" + "templates": "Vorlagen" }, "password_not_set": { "title": "Das Passwort ist nicht festgelegt", diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 4060745ab..9aec664fd 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -238,7 +238,8 @@ "modal_title": "Choose note type", "close": "Close", "modal_body": "Choose note type / template of the new note:", - "templates": "Templates:" + "templates": "Templates", + "builtin_templates": "Built-in Templates" }, "password_not_set": { "title": "Password is not set", diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json index 6043ea6bc..9de765399 100644 --- a/apps/client/src/translations/es/translation.json +++ b/apps/client/src/translations/es/translation.json @@ -236,7 +236,7 @@ "modal_title": "Elija el tipo de nota", "close": "Cerrar", "modal_body": "Elija el tipo de nota/plantilla de la nueva nota:", - "templates": "Plantillas:" + "templates": "Plantillas" }, "password_not_set": { "title": "La contraseña no está establecida", diff --git a/apps/client/src/translations/fr/translation.json b/apps/client/src/translations/fr/translation.json index 53836b014..86f2faf5c 100644 --- a/apps/client/src/translations/fr/translation.json +++ b/apps/client/src/translations/fr/translation.json @@ -233,7 +233,7 @@ "modal_title": "Choisissez le type de note", "close": "Fermer", "modal_body": "Choisissez le type de note/le modèle de la nouvelle note :", - "templates": "Modèles :" + "templates": "Modèles" }, "password_not_set": { "title": "Le mot de passe n'est pas défini", diff --git a/apps/client/src/translations/ro/translation.json b/apps/client/src/translations/ro/translation.json index e4d6288ba..c78c34b45 100644 --- a/apps/client/src/translations/ro/translation.json +++ b/apps/client/src/translations/ro/translation.json @@ -896,7 +896,7 @@ "note_type_chooser": { "modal_body": "Selectați tipul notiței/șablonul pentru noua notiță:", "modal_title": "Selectați tipul notiței", - "templates": "Șabloane:", + "templates": "Șabloane", "close": "Închide", "change_path_prompt": "Selectați locul unde să se creeze noua notiță:", "search_placeholder": "căutare cale notiță după nume (cea implicită dacă este necompletat)" diff --git a/apps/client/src/translations/sr/translation.json b/apps/client/src/translations/sr/translation.json index c6eeb8bff..5dbef4546 100644 --- a/apps/client/src/translations/sr/translation.json +++ b/apps/client/src/translations/sr/translation.json @@ -238,7 +238,7 @@ "modal_title": "Izaberite tip beleške", "close": "Zatvori", "modal_body": "Izaberite tip beleške / šablon za novu belešku:", - "templates": "Šabloni:" + "templates": "Šabloni" }, "password_not_set": { "title": "Lozinka nije podešena", diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json index 4140719b7..fbc9aa1c9 100644 --- a/apps/client/src/translations/tw/translation.json +++ b/apps/client/src/translations/tw/translation.json @@ -213,7 +213,7 @@ "note_type_chooser": { "modal_title": "選擇筆記類型", "modal_body": "選擇新筆記的類型或模板:", - "templates": "模板:" + "templates": "模板" }, "password_not_set": { "title": "密碼未設定", diff --git a/apps/client/src/widgets/dialogs/note_type_chooser.ts b/apps/client/src/widgets/dialogs/note_type_chooser.ts deleted file mode 100644 index 34a89aff6..000000000 --- a/apps/client/src/widgets/dialogs/note_type_chooser.ts +++ /dev/null @@ -1,204 +0,0 @@ -import type { CommandNames } from "../../components/app_context.js"; -import type { MenuCommandItem } from "../../menus/context_menu.js"; -import { t } from "../../services/i18n.js"; -import noteTypesService from "../../services/note_types.js"; -import noteAutocompleteService from "../../services/note_autocomplete.js"; -import BasicWidget from "../basic_widget.js"; -import { Dropdown, Modal } from "bootstrap"; - -const TPL = /*html*/` -`; - -export interface ChooseNoteTypeResponse { - success: boolean; - noteType?: string; - templateNoteId?: string; - notePath?: string; -} - -type Callback = (data: ChooseNoteTypeResponse) => void; - -export default class NoteTypeChooserDialog extends BasicWidget { - private resolve: Callback | null; - private dropdown!: Dropdown; - private modal!: Modal; - private $noteTypeDropdown!: JQuery; - private $autoComplete!: JQuery; - private $originalFocused: JQuery | null; - private $originalDialog: JQuery | null; - - constructor() { - super(); - - this.resolve = null; - this.$originalFocused = null; // element focused before the dialog was opened, so we can return to it afterward - this.$originalDialog = null; - } - - doRender() { - this.$widget = $(TPL); - this.modal = Modal.getOrCreateInstance(this.$widget[0]); - - this.$autoComplete = this.$widget.find(".choose-note-path"); - this.$noteTypeDropdown = this.$widget.find(".note-type-dropdown"); - this.dropdown = Dropdown.getOrCreateInstance(this.$widget.find(".note-type-dropdown-trigger")[0]); - - this.$widget.on("hidden.bs.modal", () => { - if (this.resolve) { - this.resolve({ success: false }); - } - - if (this.$originalFocused) { - this.$originalFocused.trigger("focus"); - this.$originalFocused = null; - } - - glob.activeDialog = this.$originalDialog; - }); - - this.$noteTypeDropdown.on("click", ".dropdown-item", (e) => this.doResolve(e)); - - this.$noteTypeDropdown.on("focus", ".dropdown-item", (e) => { - this.$noteTypeDropdown.find(".dropdown-item").each((i, el) => { - $(el).toggleClass("active", el === e.target); - }); - }); - - this.$noteTypeDropdown.on("keydown", ".dropdown-item", (e) => { - if (e.key === "Enter") { - this.doResolve(e); - e.preventDefault(); - return false; - } - }); - - this.$noteTypeDropdown.parent().on("hide.bs.dropdown", (e) => { - // prevent closing dropdown by clicking outside - // TODO: Check if this actually works. - //@ts-ignore - if (e.clickEvent) { - e.preventDefault(); - } else { - this.modal.hide(); - } - }); - } - - async refresh() { - noteAutocompleteService - .initNoteAutocomplete(this.$autoComplete, { - allowCreatingNotes: false, - hideGoToSelectedNoteButton: true, - allowJumpToSearchNotes: false, - }) - } - - async chooseNoteTypeEvent({ callback }: { callback: Callback }) { - this.$originalFocused = $(":focus"); - - await this.refresh(); - - const noteTypes = await noteTypesService.getNoteTypeItems(); - - this.$noteTypeDropdown.empty(); - - for (const noteType of noteTypes) { - if (noteType.title === "----") { - this.$noteTypeDropdown.append($('