Files
logseq/src/main/frontend/components/whiteboard.css

284 lines
5.6 KiB
CSS

.whiteboard-dashboard-bg-grid {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
}
h1.title.whiteboard-dashboard-title {
padding-right: 0;
}
.dashboard-bg-card {
background-color: var(--ls-secondary-background-color);
border: 1px solid var(--ls-border-color);
opacity: 0.3;
}
.dashboard-card {
@apply rounded-lg flex flex-col gap-1 overflow-hidden font-medium;
height: 300px;
.dashboard-card-checkbox {
@apply flex items-center justify-center rounded flex-shrink-0;
border: 2px solid transparent;
visibility: hidden;
width: 24px;
height: 24px;
transform: translateX(4px);
&:focus-within {
border-color: var(--ls-border-color);
}
.form-checkbox {
top: 0;
}
}
&:is(:hover, [data-checked='true']) .dashboard-card-checkbox {
visibility: visible;
}
}
.dashboard-preview-card {
@apply transition border;
}
.dashboard-create-card {
@apply items-center justify-center relative border opacity-90 hover:shadow-lg;
background-color: var(--lx-gray-02, var(--ls-secondary-background-color, var(--rx-gray-02)));
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.06);
.ls-icon-plus, .dashboard-create-card-caption {
@apply opacity-60;
}
&:hover {
@apply opacity-100;
.ls-icon-plus, .dashboard-create-card-caption {
@apply opacity-90;
}
}
}
.dark .dashboard-create-card {
background-color: var(--lx-gray-03, var(--ls-secondary-background-color, var(--rx-gray-03)));
}
.dashboard-create-card i {
font-size: 24px;
}
.dashboard-create-card-caption {
position: absolute;
width: 100%;
bottom: 12px;
display: flex;
justify-content: center;
font-size: 14px;
}
.dashboard-card-title {
@apply px-4 py-3 flex flex-col gap-1 border-b;
background-color: var(--lx-gray-02, var(--ls-secondary-background-color, var(--rx-gray-02)));
}
.dark .dashboard-card-title {
background-color: var(--lx-gray-03, var(--ls-secondary-background-color, var(--rx-gray-03)));
}
.dashboard-card-title-name {
@apply truncate;
color: var(--ls-primary-text-color);
}
.single-block > :is(.block-content-wrapper, .editor-wrapper) {
width: 100% !important;
padding: 8px 12px;
border-radius: 8px;
}
.tl-logseq-cp-container > .page {
padding: 12px;
}
.tl-logseq-cp-container > .ls-block {
padding: 0;
}
input.tl-text-input {
border: none;
padding: 0;
&:focus {
box-shadow: none;
}
}
/**
* ???
*/
.open-page-ref-link {
@apply text-sm px-1 flex items-center;
border-radius: 2px;
flex-shrink: 0;
background-color: var(--ls-quaternary-background-color);
font-size: 14px;
color: var(--ls-primary-text-color);
vertical-align: baseline;
}
.whiteboard-page-refs-count {
@apply whitespace-nowrap;
border-radius: 8px;
background: var(--ls-primary-background-color);
}
.whiteboard-page-refs-count:hover,
.whiteboard-page-refs-count.open {
filter: brightness(0.9);
}
.whiteboard-page-title-root {
@apply shadow-md flex items-center;
position: absolute;
left: 2.5rem;
top: 0;
padding: 4px;
border-radius: 0 0 12px 12px;
z-index: 2000;
gap: 4px;
line-height: 1.4;
background: var(--lx-gray-01, var(--ls-primary-background-color, hsl(var(--background))));
}
.dark .whiteboard-page-title-root {
background: var(--lx-gray-02, var(--ls-primary-background-color, hsl(var(--background))));
}
.whiteboard-page-title {
@apply px-2 py-1 flex-1 overflow-ellipsis overflow-hidden;
font-size: 20px;
border-radius: 8px;
border: 1px solid transparent;
background: var(--ls-secondary-background-color);
&-root {
max-width: 70%;
overflow: hidden;
}
.page-title-sizer-wrapper {
width: calc(100% - 20px);
> .title {
@apply whitespace-nowrap min-w-[100px];
}
}
.edit-input {
width: 100%;
border: none;
box-shadow: none;
padding: 0;
background-color: transparent;
}
}
.whiteboard-page-title:hover {
background-color: var(--ls-tertiary-background-color);
}
.whiteboard-page-title:focus-within {
border: 1px solid var(--ls-border-color);
box-shadow: 0 0 0 4px var(--ls-focus-ring-color);
}
.whiteboard-page-refs-count-label {
@apply flex gap-1 items-center;
}
.whiteboard-page-refs {
@apply flex-shrink-0;
}
.whiteboard-page[data-breakpoint=sm] {
.whiteboard-page-refs-count-label {
display: none;
}
.whiteboard-page-title-root {
left: 0.5rem;
}
.tl-action-bar {
left: 0.5rem;
bottom: 0;
}
.tl-primary-tools {
right: 0;
}
}
/* disable user select globally for whiteboard on iOS/iPad. Is there a better option? */
html:is(.is-ios, is-native-ios, is-native-ipad) [data-page="whiteboard"] * {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.cp__whiteboard-welcome {
> .head-bg {
@apply flex m-auto mb-10 w-auto sm:w-[500px];
background-image: url("../img/whiteboard-welcome-dark.png");
background-size: contain;
background-repeat: no-repeat;
background-position: center;
padding-top: 86px;
max-width: 90vw;
> strong {
@apply block rounded text-gray-700 text-[10px] font-semibold px-2 py-0.5
m-auto translate-y-8 uppercase;
background-color: var(--ls-link-text-color);
color: var(--ls-primary-background-color);
}
}
> h1 {
color: var(--ls-title-text-color);
}
> h1, p {
@apply flex justify-center text-center;
}
> p {
@apply text-sm mx-10;
max-width: 540px;
}
}
html[data-theme='light'] {
.cp__whiteboard-welcome {
> .head-bg {
background-image: url("../img/whiteboard-welcome-light.png");
}
}
}