mirror of
https://github.com/zadam/trilium.git
synced 2026-02-28 17:20:56 +01:00
Compare commits
1 Commits
main
...
renovate/m
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f57cdda57a |
8
.github/workflows/main-docker.yml
vendored
8
.github/workflows/main-docker.yml
vendored
@@ -86,12 +86,12 @@ jobs:
|
||||
|
||||
- name: Upload Playwright trace
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v6
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: Playwright trace (${{ matrix.dockerfile }})
|
||||
path: test-output/playwright/output
|
||||
|
||||
- uses: actions/upload-artifact@v6
|
||||
- uses: actions/upload-artifact@v7
|
||||
if: ${{ !cancelled() }}
|
||||
with:
|
||||
name: Playwright report (${{ matrix.dockerfile }})
|
||||
@@ -213,7 +213,7 @@ jobs:
|
||||
touch "/tmp/digests/${digest#sha256:}"
|
||||
|
||||
- name: Upload digest
|
||||
uses: actions/upload-artifact@v6
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: digests-${{ env.PLATFORM_PAIR }}-${{ matrix.dockerfile }}
|
||||
path: /tmp/digests/*
|
||||
@@ -227,7 +227,7 @@ jobs:
|
||||
- build
|
||||
steps:
|
||||
- name: Download digests
|
||||
uses: actions/download-artifact@v7
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
path: /tmp/digests
|
||||
pattern: digests-*
|
||||
|
||||
2
.github/workflows/nightly.yml
vendored
2
.github/workflows/nightly.yml
vendored
@@ -102,7 +102,7 @@ jobs:
|
||||
name: Nightly Build
|
||||
|
||||
- name: Publish artifacts
|
||||
uses: actions/upload-artifact@v6
|
||||
uses: actions/upload-artifact@v7
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
with:
|
||||
name: TriliumNotes ${{ matrix.os.name }} ${{ matrix.arch }}
|
||||
|
||||
2
.github/workflows/playwright.yml
vendored
2
.github/workflows/playwright.yml
vendored
@@ -77,7 +77,7 @@ jobs:
|
||||
|
||||
- name: Upload test report
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v6
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: e2e report ${{ matrix.arch }}
|
||||
path: apps/server-e2e/test-output
|
||||
|
||||
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
@@ -81,7 +81,7 @@ jobs:
|
||||
GPG_SIGNING_KEY: ${{ secrets.GPG_SIGN_KEY }}
|
||||
|
||||
- name: Upload the artifact
|
||||
uses: actions/upload-artifact@v6
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: release-desktop-${{ matrix.os.name }}-${{ matrix.arch }}
|
||||
path: apps/desktop/upload/*.*
|
||||
@@ -108,7 +108,7 @@ jobs:
|
||||
arch: ${{ matrix.arch }}
|
||||
|
||||
- name: Upload the artifact
|
||||
uses: actions/upload-artifact@v6
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: release-server-linux-${{ matrix.arch }}
|
||||
path: upload/*.*
|
||||
@@ -128,7 +128,7 @@ jobs:
|
||||
docs/Release Notes
|
||||
|
||||
- name: Download all artifacts
|
||||
uses: actions/download-artifact@v7
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
merge-multiple: true
|
||||
pattern: release-*
|
||||
|
||||
2
.github/workflows/web-clipper.yml
vendored
2
.github/workflows/web-clipper.yml
vendored
@@ -48,7 +48,7 @@ jobs:
|
||||
pnpm --filter web-clipper zip:firefox
|
||||
|
||||
- name: Upload build artifacts
|
||||
uses: actions/upload-artifact@v6
|
||||
uses: actions/upload-artifact@v7
|
||||
if: ${{ !startsWith(github.ref, 'refs/tags/web-clipper-v') }}
|
||||
with:
|
||||
name: web-clipper-extension
|
||||
|
||||
@@ -647,10 +647,10 @@ html .note-detail-editable-text :not(figure, .include-note, hr):first-child {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
:root .ck-content hr {
|
||||
margin-block: 5px;
|
||||
height: 0;
|
||||
border: thin solid var(--main-border-color);
|
||||
.ck-content hr {
|
||||
margin: 5px 0;
|
||||
height: 1px;
|
||||
background-color: var(--main-border-color);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -372,6 +372,10 @@ body[dir=ltr] #launcher-container {
|
||||
.calendar-dropdown-widget .calendar-header [data-calendar-input="month"] {
|
||||
--input-background-color: transparent;
|
||||
--menu-background-color: transparent;
|
||||
|
||||
text-align: center;
|
||||
font-size: 1.4em;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.calendar-dropdown-widget .calendar-header input:not(:focus) {
|
||||
@@ -421,6 +425,8 @@ body[dir=ltr] #launcher-container {
|
||||
}
|
||||
|
||||
.calendar-dropdown-widget .calendar-week span {
|
||||
font-size: 0.85em;
|
||||
font-weight: 500;
|
||||
color: var(--calendar-weekday-labels-color);
|
||||
}
|
||||
|
||||
@@ -683,10 +689,9 @@ body.layout-vertical.background-effects div.quick-search .dropdown-menu {
|
||||
padding-inline-start: 12px;
|
||||
}
|
||||
|
||||
#left-pane span.fancytree-node.fancytree-active,
|
||||
#left-pane span.fancytree-node.fancytree-active:hover {
|
||||
#left-pane span.fancytree-node.fancytree-active {
|
||||
position: relative;
|
||||
background: transparent;
|
||||
background: transparent !important;
|
||||
color: var(--custom-color, var(--left-pane-item-selected-color));
|
||||
}
|
||||
|
||||
@@ -699,14 +704,6 @@ body.layout-vertical.background-effects div.quick-search .dropdown-menu {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* .fancytree-node pseudo-elements:
|
||||
*
|
||||
* - ::before: the active tree item decorator.
|
||||
* - ::after: the selected tree item background. A pseudo-element is used instead of the
|
||||
* element's background color, to allow alpha compositing for the hover state.
|
||||
*/
|
||||
|
||||
#left-pane span.fancytree-node.fancytree-active::before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
@@ -721,24 +718,6 @@ body.layout-vertical.background-effects div.quick-search .dropdown-menu {
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
#left-pane span.fancytree-node.fancytree-selected {
|
||||
--left-pane-item-selected-shadow-size: 4px;
|
||||
|
||||
position: relative;
|
||||
background-color: transparent;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
#left-pane span.fancytree-node.fancytree-selected::after {
|
||||
display: block;
|
||||
position: absolute;
|
||||
z-index: -2;
|
||||
content: "";
|
||||
inset: 0;
|
||||
background: var(--selection-background-color);
|
||||
animation: left-pane-item-select 100ms ease-out;
|
||||
}
|
||||
|
||||
#left-pane span.fancytree-node.protected > span.fancytree-custom-icon {
|
||||
position: relative;
|
||||
filter: unset !important;
|
||||
@@ -801,8 +780,7 @@ body[dir=rtl] #left-pane span.fancytree-node.protected > span.fancytree-custom-i
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
#left-pane .tree-item-button,
|
||||
#left-pane span.fancytree-node.fancytree-selected .fancytree-custom-icon {
|
||||
#left-pane .tree-item-button {
|
||||
margin-inline-end: 6px;
|
||||
border: unset;
|
||||
border-radius: 50%;
|
||||
@@ -813,8 +791,7 @@ body[dir=rtl] #left-pane span.fancytree-node.protected > span.fancytree-custom-i
|
||||
box-shadow 200ms ease-out;
|
||||
}
|
||||
|
||||
#left-pane .tree-item-button:hover,
|
||||
#left-pane span.fancytree-node.fancytree-selected .fancytree-custom-icon:hover {
|
||||
#left-pane .tree-item-button:hover {
|
||||
background: var(--left-pane-item-action-button-hover-background);
|
||||
box-shadow: var(--left-pane-item-action-button-hover-shadow);
|
||||
transition:
|
||||
@@ -822,41 +799,10 @@ body[dir=rtl] #left-pane span.fancytree-node.protected > span.fancytree-custom-i
|
||||
box-shadow 100ms ease-in;
|
||||
}
|
||||
|
||||
#left-pane span.fancytree-node.fancytree-active .tree-item-button:hover,
|
||||
#left-pane span.fancytree-node.fancytree-active.fancytree-selected .fancytree-custom-icon:hover {
|
||||
#left-pane span.fancytree-node.fancytree-active .tree-item-button:hover {
|
||||
box-shadow: var(--left-pane-item-selected-action-button-hover-shadow);
|
||||
}
|
||||
|
||||
/* Selected item bulk action button */
|
||||
|
||||
@keyframes bulk-action-button-blink {
|
||||
from {
|
||||
opacity: 1;
|
||||
}
|
||||
to {
|
||||
opacity: .3;
|
||||
}
|
||||
}
|
||||
|
||||
#left-pane span.fancytree-node.fancytree-selected .fancytree-custom-icon {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#left-pane span.fancytree-node.fancytree-selected .fancytree-custom-icon::before {
|
||||
border: 0;
|
||||
font-size: .65em;
|
||||
}
|
||||
|
||||
#left-pane span.fancytree-node.fancytree-selected:hover .fancytree-custom-icon:not(:hover)::before {
|
||||
animation: bulk-action-button-blink 500ms linear infinite alternate;
|
||||
}
|
||||
|
||||
#left-pane span.fancytree-node.fancytree-selected.protected .fancytree-custom-icon::after {
|
||||
/* Protected note indicator */
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
#context-menu-container {
|
||||
/* The context menu of the tree */
|
||||
--menu-item-icon-vert-offset: -1px;
|
||||
|
||||
@@ -140,22 +140,10 @@ ul.fancytree-container {
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
|
||||
.fancytree-custom-icon {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
/* Fallback icon */
|
||||
:where(.fancytree-custom-icon)::before {
|
||||
content: "?";
|
||||
}
|
||||
|
||||
/* Protected note icon badge */
|
||||
span.fancytree-node.protected > span.fancytree-custom-icon {
|
||||
filter: drop-shadow(2px 2px 2px var(--main-text-color));
|
||||
}
|
||||
@@ -197,7 +185,7 @@ span.fancytree-node.fancytree-active-clone:not(.fancytree-active) .fancytree-tit
|
||||
|
||||
span.fancytree-active {
|
||||
color: var(--active-item-text-color);
|
||||
background-color: var(--active-item-background-color);
|
||||
background-color: var(--active-item-background-color) !important;
|
||||
border-color: transparent; /* invisible border */
|
||||
border-radius: 5px;
|
||||
}
|
||||
@@ -207,15 +195,20 @@ span.fancytree-active .fancytree-title {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
span.fancytree-node.fancytree-selected {
|
||||
background-color: var(--selection-background-color);
|
||||
border-radius: 0;
|
||||
span.fancytree-selected {
|
||||
border-color: var(--main-border-color) !important;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
span.fancytree-selected .fancytree-title {
|
||||
text-decoration: underline;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
span.fancytree-selected .fancytree-custom-icon::before {
|
||||
font-family: "boxicons";
|
||||
content: "\ef05";
|
||||
border: 1px solid var(--main-text-color);
|
||||
content: "\eb43";
|
||||
border: 1px solid var(--main-border-color);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
height: 100%;
|
||||
display: flex;
|
||||
gap: 1em;
|
||||
margin-inline: var(--content-margin-inline);
|
||||
padding-inline: 12px;
|
||||
padding-block: 4px;
|
||||
align-items: flex-start;
|
||||
overflow-x: auto;
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
--fc-border-color: var(--main-border-color);
|
||||
--fc-neutral-bg-color: var(--launcher-pane-background-color);
|
||||
--fc-list-event-hover-bg-color: var(--left-pane-item-hover-background);
|
||||
padding: 0 var(--content-margin-inline);
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
.calendar-container .fc-list-sticky .fc-list-day > * {
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
|
||||
.table-view-container {
|
||||
height: 100%;
|
||||
margin-inline-start: var(--content-margin-inline);
|
||||
}
|
||||
|
||||
.search-result-widget-content .table-view {
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
.calendar-dropdown-widget .calendar-header {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
padding: 0 0.5rem 1rem 0.5rem;
|
||||
padding: 0 0.5rem 0.5rem 0.5rem;
|
||||
}
|
||||
|
||||
.calendar-dropdown-widget .calendar-header>div {
|
||||
@@ -65,13 +65,8 @@
|
||||
border: 0;
|
||||
border-inline-start: unset;
|
||||
background-color: var(--menu-background-color);
|
||||
font-weight: bold;
|
||||
outline: 0;
|
||||
font-weight: 300;
|
||||
font-size: 1.4em;
|
||||
}
|
||||
|
||||
.calendar-dropdown-widget .calendar-header .dropdown-toggle {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.calendar-dropdown-widget .calendar-header .dropdown-toggle::after {
|
||||
@@ -87,20 +82,18 @@
|
||||
.calendar-dropdown-widget .calendar-week span {
|
||||
flex-direction: column;
|
||||
flex: 0 0 12.5%;
|
||||
font-size: 1rem;
|
||||
font-weight: bold;
|
||||
max-width: 12.5%;
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
font-size: .85em;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.calendar-dropdown-widget .calendar-body {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
min-height: 250px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.calendar-dropdown-widget .calendar-week-number {
|
||||
|
||||
@@ -4,11 +4,10 @@ body.experimental-feature-new-layout {
|
||||
}
|
||||
|
||||
.title-actions {
|
||||
--title-actions-padding-start: var(--content-margin-inline);
|
||||
--title-actions-padding-end: var(--content-margin-inline);
|
||||
--title-actions-padding-start: 12px;
|
||||
--title-actions-padding-end: 8px;
|
||||
|
||||
display: flex;
|
||||
width: 100%;
|
||||
max-width: var(--max-content-width);
|
||||
flex-direction: column;
|
||||
gap: 0.5em;
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
position: relative;
|
||||
top: 5px;
|
||||
padding: .25em 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
overflow-x: auto;
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
contain: none !important;
|
||||
}
|
||||
|
||||
.search-result-widget .note-list-wrapper {
|
||||
margin-inline: var(--content-margin-inline);
|
||||
.search-result-widget .note-list {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.note-split.type-search .scrolling-container {
|
||||
|
||||
@@ -3,8 +3,4 @@
|
||||
margin-inline: 40px;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
|
||||
label {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,14 @@
|
||||
import type { HTMLAttributes, RefObject } from "preact";
|
||||
import { useCallback, useEffect, useRef } from "preact/hooks";
|
||||
import Inter from "./../../../fonts/Inter/Inter-VariableFont_opsz,wght.ttf";
|
||||
|
||||
import { useSyncedRef, useTriliumOption, useTriliumOptionBool } from "../../react/hooks";
|
||||
|
||||
interface FontDefinition {
|
||||
name: string;
|
||||
url: string;
|
||||
}
|
||||
|
||||
const FONTS: FontDefinition[] = [
|
||||
{name: "Inter", url: Inter},
|
||||
]
|
||||
const VARIABLE_WHITELIST = new Set([
|
||||
"root-background",
|
||||
"main-background-color",
|
||||
"main-border-color",
|
||||
"main-text-color"
|
||||
]);
|
||||
|
||||
interface PdfViewerProps extends Pick<HTMLAttributes<HTMLIFrameElement>, "tabIndex"> {
|
||||
iframeRef?: RefObject<HTMLIFrameElement>;
|
||||
@@ -57,12 +55,8 @@ function useStyleInjection(iframeRef: RefObject<HTMLIFrameElement>) {
|
||||
style.id = 'client-root-vars';
|
||||
style.textContent = cssVarsToString(getRootCssVariables());
|
||||
styleRef.current = style;
|
||||
doc.head.appendChild(style);
|
||||
|
||||
const fontStyles = doc.createElement("style");
|
||||
fontStyles.textContent = FONTS.map(injectFont).join("\n");
|
||||
doc.head.appendChild(fontStyles);
|
||||
|
||||
doc.head.appendChild(style);
|
||||
}, [ iframeRef ]);
|
||||
|
||||
// React to changes.
|
||||
@@ -85,7 +79,7 @@ function getRootCssVariables() {
|
||||
|
||||
for (let i = 0; i < styles.length; i++) {
|
||||
const prop = styles[i];
|
||||
if (prop.startsWith('--')) {
|
||||
if (prop.startsWith('--') && VARIABLE_WHITELIST.has(prop.substring(2))) {
|
||||
vars[`--tn-${prop.substring(2)}`] = styles.getPropertyValue(prop).trim();
|
||||
}
|
||||
}
|
||||
@@ -98,12 +92,3 @@ function cssVarsToString(vars: Record<string, string>) {
|
||||
.map(([k, v]) => ` ${k}: ${v};`)
|
||||
.join('\n')}\n}`;
|
||||
}
|
||||
|
||||
function injectFont(font: FontDefinition) {
|
||||
return `
|
||||
@font-face {
|
||||
font-family: '${font.name}';
|
||||
src: url('${font.url}');
|
||||
}
|
||||
`;
|
||||
}
|
||||
@@ -19,12 +19,4 @@
|
||||
.tn-link {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
label {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.input-group {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,323 +1,31 @@
|
||||
/* #region General */
|
||||
:root {
|
||||
color-scheme: var(--tn-theme-style);
|
||||
|
||||
:root {
|
||||
--main-color: var(--tn-main-text-color);
|
||||
--body-bg-color: transparent;
|
||||
--outline-color: gray;
|
||||
--focus-ring-color: var(--tn-input-focus-outline-color);
|
||||
--toolbar-border-color: var(--tn-main-border-color);
|
||||
--toolbar-icon-bg-color: var(--tn-main-text-color);
|
||||
--toolbar-bg-color: transparent;
|
||||
--main-color: var(--tn-main-text-color);
|
||||
--toolbar-border-color: var(--tn-main-border-color);
|
||||
--toolbar-icon-opacity: 1;
|
||||
--toggled-btn-bg-color: var(--tn-hover-item-background-color);
|
||||
--doorhanger-bg-color: var(--tn-menu-background-color);
|
||||
--doorhanger-separator-color: var(--tn-main-border-color);
|
||||
|
||||
--page-margin: 12px auto;
|
||||
--spreadHorizontalWrapped-margin-LR: 4px;
|
||||
|
||||
color-scheme: var(--tn-theme-style);
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
:root button,
|
||||
:root dialog,
|
||||
:root #toolbarContainer,
|
||||
:root .toolbarButton,
|
||||
:root #scaleSelect,
|
||||
:root .toolbarButtonWithContainer .editorParamsToolbar .editorParamsLabel,
|
||||
:root #toolbarContainer #toolbarViewer input,
|
||||
:root #editorUndoBar,
|
||||
:root .dialogButton {
|
||||
font-family: Inter, sans-serif;
|
||||
}
|
||||
|
||||
#secondaryToolbar,
|
||||
#documentPropertiesDialog,
|
||||
#findbar.doorHanger,
|
||||
.doorHangerRight,
|
||||
#printServiceDialog,
|
||||
:root :is(.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor, .signatureEditor), .textLayer) .editToolbar,
|
||||
#viewerContainer .editToolbar .colorPicker .dropdown,
|
||||
#editorUndoBar {
|
||||
border: 1px solid var(--tn-dropdown-border-color);
|
||||
border-radius: var(--tn-dropdown-border-radius);
|
||||
background-color: var(--tn-menu-background-color);
|
||||
padding: var(--tn-menu-padding-size);
|
||||
box-shadow: 0px 10px 20px rgba(0, 0, 0, var(--tn-dropdown-shadow-opacity));
|
||||
backdrop-filter: var(--tn-dropdown-backdrop-filter);
|
||||
}
|
||||
|
||||
.doorHangerRight,
|
||||
.doorHangerLeft,
|
||||
.doorHanger {
|
||||
&::after, &::before {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
:root .toggle-button {
|
||||
--toggle-border-color: transparent;
|
||||
--toggle-background-color: var(--tn-input-background-color);
|
||||
--toggle-background-color-hover: var(--toggle-background-color);
|
||||
--toggle-dot-background-color: var(--tn-input-text-color);
|
||||
--toggle-background-color-pressed: var(--tn-input-text-color);
|
||||
--toggle-background-color-pressed-hover: var(--toggle-background-color-pressed);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
:root .colorPicker {
|
||||
--hover-outline-color: var(--tn-input-focus-outline-color);
|
||||
--selected-outline-color: var(--tn-main-text-color);
|
||||
|
||||
outline-offset: 3px;
|
||||
}
|
||||
|
||||
/* Text boxes */
|
||||
input:not([type]),
|
||||
input[type="number"] {
|
||||
--field-border-color: transparent;
|
||||
--field-bg-color: var(--tn-input-background-color);
|
||||
--field-color: var(--tn-input-text-color);
|
||||
--input-horizontal-padding: 8px;
|
||||
|
||||
border-radius: 4px !important;
|
||||
font-size: .85rem !important;
|
||||
|
||||
&:hover {
|
||||
--field-bg-color: var(--tn-input-hover-background);
|
||||
--field-color: var(--tn-input-hover-color);
|
||||
.pdfViewer {
|
||||
.page,
|
||||
.page > .canvasWrapper,
|
||||
.page > .canvasWrapper > canvas {
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
border-color: transparent !important;
|
||||
outline: 2px solid var(--tn-input-focus-outline-color);
|
||||
--field-bg-color: var(--tn-input-focus-background);
|
||||
--field-color: var(--tn-input-focus-color);
|
||||
}
|
||||
|
||||
&::placeholder {
|
||||
color: var(--tn-input-placeholder-color)
|
||||
}
|
||||
|
||||
&::selection {
|
||||
background-color: var(--tn-input-selection-background);
|
||||
color: var(--tn-input-selection-text-color);
|
||||
.page {
|
||||
border: 1px solid var(--tn-main-border-color);
|
||||
box-shadow: 7px 7px 15px #00000010;
|
||||
}
|
||||
}
|
||||
|
||||
input[type="color"] {
|
||||
border: 0;
|
||||
outline: 0;
|
||||
background: transparent;
|
||||
border-radius: 4px;
|
||||
|
||||
&:hover {
|
||||
opacity: .75;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
outline: 2px solid var(--tn-input-focus-outline-color);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
/* #endregion */
|
||||
|
||||
/* #region Toolbar */
|
||||
|
||||
#toolbarContainer select.scaleSelect,
|
||||
#toolbarContainer input.pageNumber {
|
||||
height: calc(var(--toolbar-height) - 8px);
|
||||
padding-block: 0;
|
||||
}
|
||||
|
||||
#toolbarContainer {
|
||||
padding-inline: 12px;
|
||||
}
|
||||
|
||||
.toolbarButton {
|
||||
border-radius: 6px;
|
||||
|
||||
&:not(.labeled):active::before {
|
||||
transform: scale(.85) !important;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: var(--tn-hover-item-background-color);
|
||||
color: var(--tn-hover-item-text-color);
|
||||
}
|
||||
|
||||
&.toggled {
|
||||
/* Icon-only button */
|
||||
&:not(.labeled) {
|
||||
background: var(--tn-ck-editor-toolbar-button-on-background);
|
||||
|
||||
&&::before {
|
||||
background: var(--tn-ck-editor-toolbar-button-on-color);
|
||||
}
|
||||
}
|
||||
|
||||
&::before {
|
||||
color: var(--tn-menu-item-icon-color);
|
||||
}
|
||||
}
|
||||
}
|
||||
.verticalToolbarSeparator,
|
||||
.splitToolbarButtonSeparator {
|
||||
--separator-color: transparent;
|
||||
}
|
||||
|
||||
.verticalToolbarSeparator {
|
||||
margin-inline: 4px;
|
||||
}
|
||||
|
||||
:root #findbar {
|
||||
--toolbar-height: 40px;
|
||||
|
||||
padding: 0 4px;
|
||||
|
||||
/* Search input */
|
||||
.loadingInput {
|
||||
margin-inline-end: 8px;
|
||||
}
|
||||
|
||||
/* Search input - no results */
|
||||
#findInputContainer #findInput[data-status="notFound"] {
|
||||
--tn-input-focus-outline-color: var(--tn-dropdown-item-icon-destructive-color);
|
||||
background: inherit;
|
||||
}
|
||||
|
||||
/* Option buttons */
|
||||
.toggleButton.toolbarLabel,
|
||||
.toolbarButton {
|
||||
height: calc(var(--toolbar-height) - 12px);
|
||||
padding-inline: 10px;
|
||||
border-radius: 6px;
|
||||
aspect-ratio: unset;
|
||||
}
|
||||
|
||||
/* Toggable option buttons */
|
||||
.toggleButton.toolbarLabel {
|
||||
--main-color: var(--tn-main-text-color);
|
||||
--button-hover-color: var(--tn-hover-item-background-color);
|
||||
--toggled-btn-bg-color: var(--tn-ck-editor-toolbar-button-on-background);
|
||||
--toggled-btn-color: var(--tn-ck-editor-toolbar-button-on-color);
|
||||
}
|
||||
|
||||
/* Search status text */
|
||||
#findbarMessageContainer #findResultsCount,
|
||||
#findMsg {
|
||||
background-color: transparent;
|
||||
color: var(--tn-main-text-color);
|
||||
opacity: .5;
|
||||
};
|
||||
|
||||
/* Not found message */
|
||||
#findMsg[data-status="notFound"] {
|
||||
color: var(--tn-dropdown-item-icon-destructive-color);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
#toolbarContainer #toolbarViewer #pageNumber {
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
#scaleSelectContainer {
|
||||
--dropdown-btn-bg-color: transparent;
|
||||
--button-hover-color: transparent;
|
||||
border-radius: 6px;
|
||||
|
||||
&:hover,
|
||||
&:focus-within{
|
||||
background-color: var(--tn-hover-item-background-color);
|
||||
}
|
||||
}
|
||||
|
||||
/* Toolbar editor dropdowns */
|
||||
:root .editorParamsToolbar:not(.menu),
|
||||
:root #highlightParamsToolbarContainer {
|
||||
padding: 10px 16px;
|
||||
}
|
||||
|
||||
/* Toolbar dropdowns */
|
||||
:root .editorParamsToolbar {
|
||||
.menu {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.editorParamsToolbarContainer {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Overflow menu */
|
||||
:root #secondaryToolbar {
|
||||
--toolbar-icon-bg-color: var(--tn-menu-item-icon-color);
|
||||
--toolbar-icon-hover-bg-color: var(--tn-menu-item-icon-color);
|
||||
--toggled-btn-bg-color: transparent;
|
||||
--toggled-btn-color: currentColor;
|
||||
--doorhanger-icon-opacity: 1;
|
||||
padding: var(--tn-menu-padding-size);
|
||||
width: auto;
|
||||
min-width: 220px;
|
||||
max-width: 400px;
|
||||
|
||||
.toolbarButton.labeled {
|
||||
color: var(--tn-menu-text-color);
|
||||
padding-inline-end: 12px;
|
||||
padding-block: 6px;
|
||||
font-size: .9rem;
|
||||
}
|
||||
}
|
||||
|
||||
/* Horizontal menu dividers */
|
||||
:root #highlightParamsToolbarContainer #editorHighlightVisibility .divider,
|
||||
:root .horizontalToolbarSeparator {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
background: unset;
|
||||
border: none;
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
border-top: 1px solid var(--tn-main-border-color);
|
||||
}
|
||||
}
|
||||
|
||||
/* Radio menu items */
|
||||
#cursorToolButtons .toolbarButton,
|
||||
#scrollModeButtons .toolbarButton,
|
||||
#spreadModeButtons .toolbarButton {
|
||||
--toggled-hover-active-btn-color: var(--tn-hover-item-background-color);
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
display: block;
|
||||
content: "";
|
||||
position: absolute;
|
||||
right: 0;
|
||||
width: 2em;
|
||||
height: 100%;
|
||||
/* https://pictogrammers.com/library/mdi/icon/radiobox-blank/ */
|
||||
mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3ctitle%3eradiobox-blank%3c/title%3e%3cpath d='M12%2c20A8%2c8 0 0%2c1 4%2c12A8%2c8 0 0%2c1 12%2c4A8%2c8 0 0%2c1 20%2c12A8%2c8 0 0%2c1 12%2c20M12%2c2A10%2c10 0 0%2c0 2%2c12A10%2c10 0 0%2c0 12%2c22A10%2c10 0 0%2c0 22%2c12A10%2c10 0 0%2c0 12%2c2Z' /%3e%3c/svg%3e");
|
||||
mask-size: 16px;
|
||||
mask-repeat: no-repeat;
|
||||
mask-position: center center;
|
||||
background-color: var(--tn-main-text-color);
|
||||
}
|
||||
|
||||
&.toggled::after {
|
||||
/* https://pictogrammers.com/library/mdi/icon/radiobox-marked/ */
|
||||
mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3ctitle%3eradiobox-marked%3c/title%3e%3cpath d='M12%2c20A8%2c8 0 0%2c1 4%2c12A8%2c8 0 0%2c1 12%2c4A8%2c8 0 0%2c1 20%2c12A8%2c8 0 0%2c1 12%2c20M12%2c2A10%2c10 0 0%2c0 2%2c12A10%2c10 0 0%2c0 12%2c22A10%2c10 0 0%2c0 22%2c12A10%2c10 0 0%2c0 12%2c2M12%2c7A5%2c5 0 0%2c0 7%2c12A5%2c5 0 0%2c0 12%2c17A5%2c5 0 0%2c0 17%2c12A5%2c5 0 0%2c0 12%2c7Z' /%3e%3c/svg%3e");
|
||||
}
|
||||
}
|
||||
|
||||
/* Permanently removed buttons */
|
||||
#viewsManagerToggleButton,
|
||||
#downloadButton,
|
||||
@@ -335,103 +43,10 @@ input[type="color"] {
|
||||
|
||||
/* #region Properties Dialog */
|
||||
|
||||
#documentPropertiesDialog {
|
||||
--separator-color: transparent;
|
||||
|
||||
user-select: none;
|
||||
padding: 1em;
|
||||
|
||||
.row {
|
||||
line-height: 1.5;
|
||||
|
||||
> span {
|
||||
font-weight: bold;
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
> p {
|
||||
user-select: all;
|
||||
}
|
||||
}
|
||||
|
||||
/* Hide irrelevant properties */
|
||||
> .row:has(#fileNameField),
|
||||
> .row:has(#linearizedField) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#documentPropertiesClose {
|
||||
/* TODO: restyle */
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
/* #endregion */
|
||||
|
||||
/* #region Viewer Area */
|
||||
|
||||
.pdfViewer {
|
||||
.page,
|
||||
.page > .canvasWrapper,
|
||||
.page > .canvasWrapper > canvas {
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.page {
|
||||
border: 1px solid var(--tn-main-border-color);
|
||||
box-shadow: 7px 7px 15px #00000010;
|
||||
}
|
||||
}
|
||||
|
||||
#viewsManager {
|
||||
/* Hide irrelevant properties */
|
||||
#documentPropertiesDialog > .row:has(#fileNameField),
|
||||
#documentPropertiesDialog > .row:has(#linearizedField) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:root :is(.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor, .signatureEditor), .textLayer) .editToolbar {
|
||||
--editor-toolbar-hover-bg-color: var(--tn-hover-item-background-color);
|
||||
--editor-toolbar-hover-fg-color: var(--tn-hover-item-text-color);
|
||||
--editor-toolbar-hover-outline: transparent;
|
||||
|
||||
padding: 4px;
|
||||
|
||||
.divider {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.buttons {
|
||||
gap: 2px;
|
||||
|
||||
> * {
|
||||
border-radius: 6px !important;
|
||||
}
|
||||
|
||||
.deleteButton::before {
|
||||
background-color: var(--tn-dropdown-item-icon-destructive-color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#viewerContainer .editToolbar .colorPicker .dropdown {
|
||||
padding: 12px 6px;
|
||||
|
||||
&::before {
|
||||
display: block;
|
||||
position: absolute;
|
||||
content: "";
|
||||
inset: 0;
|
||||
border: 1px solid var(--tn-dropdown-border-color);
|
||||
border-radius: var(--tn-dropdown-border-radius);
|
||||
backdrop-filter: var(--tn-dropdown-backdrop-filter);
|
||||
z-index: -1;
|
||||
}
|
||||
}
|
||||
|
||||
#editorUndoBar {
|
||||
--message-bar-fg-color: var(--tn-main-text-color);
|
||||
--message-bar-icon-color: var(--tn-menu-item-icon-color);
|
||||
--undo-button-border: transparent;
|
||||
padding-inline: 20px;
|
||||
}
|
||||
|
||||
/* #endregion */
|
||||
/* #endregion */
|
||||
|
||||
Reference in New Issue
Block a user