forked from coracle/flotilla
424 lines
7.1 KiB
CSS
424 lines
7.1 KiB
CSS
@import "@welshman/editor/index.css";
|
|
|
|
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
/* Fonts */
|
|
|
|
@font-face {
|
|
font-family: "Satoshis";
|
|
font-style: normal;
|
|
font-weight: 400;
|
|
src:
|
|
local(""),
|
|
url("/fonts/Satoshi Symbol.ttf") format("truetype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: "Lato";
|
|
font-style: normal;
|
|
font-weight: 400;
|
|
src:
|
|
local(""),
|
|
url("/fonts/Lato-Regular.ttf") format("truetype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: "Lato";
|
|
font-style: bold;
|
|
font-weight: 600;
|
|
src:
|
|
local(""),
|
|
url("/fonts/Lato-Bold.ttf") format("truetype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: "Lato";
|
|
font-style: italic;
|
|
font-weight: 400;
|
|
src:
|
|
local(""),
|
|
url("/fonts/Italic.ttf") format("truetype");
|
|
}
|
|
|
|
/* root */
|
|
|
|
:root {
|
|
font-family: Lato;
|
|
--sait: var(--safe-area-inset-top, env(safe-area-inset-top));
|
|
--saib: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));
|
|
--sail: var(--safe-area-inset-left, env(safe-area-inset-left));
|
|
--sair: var(--safe-area-inset-right, env(safe-area-inset-right));
|
|
}
|
|
|
|
[data-theme] {
|
|
@apply bg-base-300;
|
|
--base-100: oklch(var(--b1));
|
|
--base-200: oklch(var(--b2));
|
|
--base-300: oklch(var(--b3));
|
|
--base-content: oklch(var(--bc));
|
|
--primary: oklch(var(--p));
|
|
--primary-content: oklch(var(--pc));
|
|
--secondary: oklch(var(--s));
|
|
--secondary-content: oklch(var(--sc));
|
|
--neutral: oklch(var(--n));
|
|
--neutral-content: oklch(var(--nc));
|
|
}
|
|
|
|
.mobile [data-tip]::before {
|
|
display: none !important;
|
|
}
|
|
|
|
/* safe area insets */
|
|
|
|
@layer components {
|
|
.pt-sai {
|
|
padding-top: var(--sait);
|
|
}
|
|
|
|
.pr-sai {
|
|
padding-right: var(--sair);
|
|
}
|
|
|
|
.pb-sai {
|
|
padding-bottom: var(--saib);
|
|
}
|
|
|
|
.pl-sai {
|
|
padding-left: var(--sail);
|
|
}
|
|
|
|
.px-sai {
|
|
@apply pl-sai pr-sai;
|
|
}
|
|
|
|
.py-sai {
|
|
@apply pt-sai pb-sai;
|
|
}
|
|
|
|
.p-sai {
|
|
@apply py-sai px-sai;
|
|
}
|
|
|
|
.mt-sai {
|
|
margin-top: var(--sait);
|
|
}
|
|
|
|
.mr-sai {
|
|
margin-right: var(--sair);
|
|
}
|
|
|
|
.mb-sai {
|
|
margin-bottom: var(--saib);
|
|
}
|
|
|
|
.ml-sai {
|
|
margin-left: var(--sail);
|
|
}
|
|
|
|
.mx-sai {
|
|
@apply ml-sai mr-sai;
|
|
}
|
|
|
|
.my-sai {
|
|
@apply mt-sai mb-sai;
|
|
}
|
|
|
|
.m-sai {
|
|
@apply my-sai mx-sai;
|
|
}
|
|
|
|
.top-sai {
|
|
top: var(--sait);
|
|
}
|
|
|
|
.right-sai {
|
|
right: var(--sair);
|
|
}
|
|
|
|
.bottom-sai {
|
|
bottom: var(--saib);
|
|
}
|
|
|
|
.left-sai {
|
|
left: var(--sail);
|
|
}
|
|
}
|
|
|
|
/* utilities */
|
|
|
|
.bg-alt,
|
|
.bg-alt .bg-alt .bg-alt,
|
|
.hover\:bg-alt:hover,
|
|
.bg-alt .bg-alt .hover\:bg-alt:hover,
|
|
.bg-alt .bg-alt.hover\:bg-alt:hover {
|
|
@apply bg-base-100 text-base-content transition-colors;
|
|
}
|
|
|
|
.bg-alt .bg-alt,
|
|
.bg-alt .bg-alt .bg-alt .bg-alt,
|
|
.bg-alt .hover\:bg-alt:hover,
|
|
.bg-alt .bg-alt .bg-alt .hover\:bg-alt:hover,
|
|
.bg-alt.hover\:bg-alt:hover,
|
|
.bg-alt .bg-alt .bg-alt.hover\:bg-alt:hover {
|
|
@apply bg-base-300 text-base-content transition-colors;
|
|
}
|
|
|
|
.card2 {
|
|
@apply rounded-box p-4 text-base-content sm:p-6;
|
|
}
|
|
|
|
.card2.card2-sm {
|
|
@apply p-2 text-base-content sm:p-4;
|
|
}
|
|
|
|
.column {
|
|
@apply flex flex-col;
|
|
}
|
|
|
|
.center {
|
|
@apply flex items-center justify-center;
|
|
}
|
|
|
|
.row-2 {
|
|
@apply flex items-center gap-2;
|
|
}
|
|
|
|
.row-3 {
|
|
@apply flex items-center gap-3;
|
|
}
|
|
|
|
.row-4 {
|
|
@apply flex items-center gap-4;
|
|
}
|
|
|
|
.col-2 {
|
|
@apply flex flex-col gap-2;
|
|
}
|
|
|
|
.col-3 {
|
|
@apply flex flex-col gap-3;
|
|
}
|
|
|
|
.col-4 {
|
|
@apply flex flex-col gap-4;
|
|
}
|
|
|
|
.col-8 {
|
|
@apply flex flex-col gap-8;
|
|
}
|
|
|
|
.badge {
|
|
@apply justify-start overflow-hidden text-ellipsis whitespace-nowrap;
|
|
}
|
|
|
|
.ellipsize {
|
|
@apply overflow-hidden text-ellipsis;
|
|
}
|
|
|
|
[data-tip]::before {
|
|
@apply ellipsize;
|
|
}
|
|
|
|
.content-padding-x {
|
|
@apply px-4 sm:px-8 md:px-12;
|
|
}
|
|
|
|
.content-padding-t {
|
|
@apply pt-4 sm:pt-8 md:pt-12;
|
|
}
|
|
|
|
.content-padding-b {
|
|
@apply pb-4 sm:pb-8 md:pb-12;
|
|
}
|
|
|
|
.content-padding-y {
|
|
@apply content-padding-t content-padding-b;
|
|
}
|
|
|
|
.content-sizing {
|
|
@apply m-auto w-full max-w-3xl;
|
|
}
|
|
|
|
.content {
|
|
@apply content-sizing content-padding-x content-padding-y;
|
|
}
|
|
|
|
.heading {
|
|
@apply text-center text-2xl;
|
|
}
|
|
|
|
.subheading {
|
|
@apply text-center text-xl;
|
|
}
|
|
|
|
.superheading {
|
|
@apply text-center text-4xl;
|
|
}
|
|
|
|
.link {
|
|
@apply cursor-pointer text-primary underline;
|
|
}
|
|
|
|
.input input::placeholder {
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.shadow-top-xl {
|
|
@apply shadow-[0_20px_25px_-5px_rgb(0,0,0,0.1)_0_8px_10px_-6px_rgb(0,0,0,0.1)];
|
|
}
|
|
|
|
/* tiptap */
|
|
|
|
.input-editor,
|
|
.chat-editor,
|
|
.note-editor {
|
|
@apply -m-1 min-h-12 p-1 text-sm;
|
|
}
|
|
|
|
.tiptap {
|
|
--tiptap-object-bg: var(--neutral);
|
|
--tiptap-object-fg: var(--neutral-content);
|
|
--tiptap-active-bg: var(--primary);
|
|
--tiptap-active-fg: var(--primary-content);
|
|
}
|
|
|
|
.tiptap-suggestions {
|
|
--tiptap-object-bg: var(--base-100);
|
|
--tiptap-object-fg: var(--base-content);
|
|
--tiptap-active-bg: var(--base-300);
|
|
--tiptap-active-fg: var(--base-content);
|
|
}
|
|
|
|
.tiptap-suggestions__item {
|
|
@apply border-l-2 border-solid border-base-100;
|
|
}
|
|
|
|
.tiptap-suggestions__selected {
|
|
@apply border-primary;
|
|
}
|
|
|
|
.tiptap {
|
|
@apply max-h-[350px] overflow-y-auto p-2 px-4;
|
|
}
|
|
|
|
.tiptap p.is-editor-empty:first-child::before {
|
|
opacity: 40%;
|
|
}
|
|
|
|
.chat-editor .tiptap {
|
|
@apply rounded-box bg-base-300 pr-12;
|
|
}
|
|
|
|
.note-editor .tiptap {
|
|
--tiptap-object-bg: var(--base-200);
|
|
@apply input input-bordered h-auto min-h-32 rounded-box p-[.65rem] pb-6;
|
|
}
|
|
|
|
.input-editor .tiptap {
|
|
--tiptap-object-bg: var(--base-200);
|
|
@apply input input-bordered h-auto p-[.65rem];
|
|
}
|
|
|
|
/* link-content, based on tiptap */
|
|
|
|
.link-content {
|
|
max-width: 100%;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
border-radius: 3px;
|
|
padding: 0 0.25rem;
|
|
background-color: var(--base-100);
|
|
color: var(--base-content);
|
|
}
|
|
|
|
/* content rendered by welshman/content */
|
|
|
|
.welshman-content a {
|
|
@apply link;
|
|
}
|
|
|
|
.welshman-content-error a {
|
|
@apply underline;
|
|
}
|
|
|
|
/* date input */
|
|
|
|
.picker {
|
|
--date-picker-foreground: var(--base-content);
|
|
--date-picker-background: var(--base-300);
|
|
--date-picker-highlight-border: var(--primary);
|
|
--date-picker-selected-color: var(--primary-content);
|
|
--date-picker-selected-background: var(--primary);
|
|
}
|
|
|
|
.date-time-field {
|
|
@apply input input-bordered rounded-lg px-0;
|
|
}
|
|
|
|
.date-time-field input {
|
|
@apply !h-full !w-full !rounded-lg !border-none !bg-inherit !px-4 !text-inherit;
|
|
}
|
|
|
|
/* tippy popover */
|
|
|
|
.tippy-box {
|
|
@apply rounded-box shadow-xl;
|
|
}
|
|
|
|
/* emoji picker */
|
|
|
|
emoji-picker {
|
|
--background: var(--base-100);
|
|
--border-color: var(--base-100);
|
|
--border-radius: var(--rounded-box);
|
|
--button-active-background: var(--base-content);
|
|
--button-hover-background: var(--base-content);
|
|
--indicator-color: var(--base-content);
|
|
--input-border-color: var(--base-100);
|
|
--input-font-color: var(--base-content);
|
|
--outline-color: var(--base-100);
|
|
}
|
|
|
|
/* progress */
|
|
|
|
progress[value]::-webkit-progress-value {
|
|
transition: width 0.5s;
|
|
}
|
|
|
|
/* content width for fixed elements */
|
|
|
|
.cw {
|
|
@apply w-full md:left-[18.5rem] md:w-[calc(100%-18.5rem-var(--sair))];
|
|
}
|
|
|
|
.cw-full {
|
|
@apply w-full md:left-[4rem] md:w-[calc(100%-4rem-var(--sair))];
|
|
}
|
|
|
|
.cb {
|
|
@apply md:bottom-sai bottom-[calc(var(--saib)+3.5rem)];
|
|
}
|
|
|
|
/* Keyboard open state adjustments */
|
|
|
|
body.keyboard-open .cb {
|
|
@apply bottom-sai;
|
|
}
|
|
|
|
body.keyboard-open .hide-on-keyboard {
|
|
display: none;
|
|
}
|
|
|
|
/* chat view */
|
|
|
|
.chat__compose {
|
|
@apply cb cw fixed z-compose;
|
|
}
|
|
|
|
.chat__scroll-down {
|
|
@apply fixed bottom-28 right-4 z-feature md:bottom-16;
|
|
}
|