anything-llm/frontend/src/index.css
Sean Hatfield 4f268dfeb6
[FEAT] Document picker folders for organization (#902)
* implement alternating color rows for file picker

* implement alternating colors for workspace directory

* remove unneeded props/variables

* remove unused border classes

* WIP new folder UI

* remove unneeded expanded prop from filerow component

* folder creation UI and files object manipulation WIP

* folder creation & moving files complete

* add developer API support for creating folders and moving files

* update alternating row css for file picker

* remove unneeded props from merge

* normalize paths for folders
priority to custom docs folder
silently fail on duplicate folders

* update folder icon to custom svg

* linting and move FolderIcon to JSX

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2024-03-20 16:10:30 -07:00

616 lines
9.1 KiB
CSS

@tailwind base;
@tailwind components;
@tailwind utilities;
html,
body {
padding: 0;
margin: 0;
font-family:
"plus-jakarta-sans",
-apple-system,
BlinkMacSystemFont,
Segoe UI,
Roboto,
Oxygen,
Ubuntu,
Cantarell,
Fira Sans,
Droid Sans,
Helvetica Neue,
sans-serif;
background-color: white;
}
a {
color: inherit;
text-decoration: none;
}
* {
box-sizing: border-box;
}
.g327 {
border-color: #302f30;
}
@font-face {
font-family: "plus-jakarta-sans";
src: url("../public/fonts/PlusJakartaSans.ttf");
font-display: swap;
}
.grr {
grid-template-columns: repeat(2, 1fr);
}
.greyC {
filter: gray;
-webkit-filter: grayscale(100%);
transition: 0.4s;
}
.greyC:hover {
filter: none;
-webkit-filter: none;
transition: 0.4s;
}
.chat__message {
transform-origin: 0 100%;
transform: scale(0);
animation: message 0.15s ease-out 0s forwards;
animation-delay: 500ms;
}
@keyframes message {
0% {
max-height: 100%;
}
80% {
transform: scale(1.1);
}
100% {
transform: scale(1);
max-height: 100%;
overflow: visible;
padding-top: 1rem;
}
}
.doc__source {
transform-origin: 0 100%;
transform: scale(0);
animation: message2 0.15s ease-out 0s forwards;
animation-delay: 50ms;
}
@keyframes message2 {
0% {
max-height: 100%;
}
80% {
transform: scale(1.1);
}
100% {
transform: scale(1);
max-height: 100%;
overflow: visible;
}
}
@media (prefers-color-scheme: light) {
.sidebar-items:after {
content: " ";
position: absolute;
left: 0;
right: 0px;
height: 4em;
top: 69vh;
z-index: 1;
pointer-events: none;
}
}
@media (prefers-color-scheme: dark) {
.sidebar-items:after {
content: " ";
position: absolute;
left: 0;
right: 0px;
height: 4em;
top: 69vh;
z-index: 1;
pointer-events: none;
}
}
@media (prefers-color-scheme: light) {
.fade-up-border {
background: linear-gradient(
to bottom,
rgba(220, 221, 223, 10%),
rgb(220, 221, 223) 89%
);
}
}
@media (prefers-color-scheme: dark) {
.fade-up-border {
background: linear-gradient(
to bottom,
rgba(41, 37, 36, 50%),
rgb(41 37 36) 90%
);
}
}
/**
* ==============================================
* Dot Falling
* ==============================================
*/
.dot-falling {
position: relative;
left: -9999px;
width: 10px;
height: 10px;
border-radius: 5px;
background-color: #eeeeee;
color: #5fa4fa;
box-shadow: 9999px 0 0 0 #eeeeee;
animation: dot-falling 1.5s infinite linear;
animation-delay: 0.1s;
}
.dot-falling::before,
.dot-falling::after {
content: "";
display: inline-block;
position: absolute;
top: 0;
}
.dot-falling::before {
width: 10px;
height: 10px;
border-radius: 5px;
background-color: #eeeeee;
color: #eeeeee;
animation: dot-falling-before 1.5s infinite linear;
animation-delay: 0s;
}
.dot-falling::after {
width: 10px;
height: 10px;
border-radius: 5px;
background-color: #eeeeee;
color: #eeeeee;
animation: dot-falling-after 1.5s infinite linear;
animation-delay: 0.2s;
}
@keyframes dot-falling {
0% {
box-shadow: 9999px -15px 0 0 rgba(152, 128, 255, 0);
}
25%,
50%,
75% {
box-shadow: 9999px 0 0 0 #eeeeee;
}
100% {
box-shadow: 9999px 15px 0 0 rgba(152, 128, 255, 0);
}
}
@keyframes dot-falling-before {
0% {
box-shadow: 9984px -15px 0 0 rgba(152, 128, 255, 0);
}
25%,
50%,
75% {
box-shadow: 9984px 0 0 0 #eeeeee;
}
100% {
box-shadow: 9984px 15px 0 0 rgba(152, 128, 255, 0);
}
}
@keyframes dot-falling-after {
0% {
box-shadow: 10014px -15px 0 0 rgba(152, 128, 255, 0);
}
25%,
50%,
75% {
box-shadow: 10014px 0 0 0 #eeeeee;
}
100% {
box-shadow: 10014px 15px 0 0 rgba(152, 128, 255, 0);
}
}
#chat-history::-webkit-scrollbar,
#chat-container::-webkit-scrollbar,
.no-scroll::-webkit-scrollbar {
display: none !important;
}
/* Hide scrollbar for IE, Edge and Firefox */
#chat-history,
#chat-container,
.no-scroll {
-ms-overflow-style: none !important;
/* IE and Edge */
scrollbar-width: none !important;
/* Firefox */
}
.z-99 {
z-index: 99;
}
.z-98 {
z-index: 98;
}
.file-uploader {
width: 100% !important;
height: 100px !important;
}
.grid-loader > circle {
fill: #008eff;
}
dialog {
pointer-events: none;
opacity: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
dialog[open] {
opacity: 1;
pointer-events: inherit;
}
dialog::backdrop {
background: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(2px);
}
.backdrop {
background: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(2px);
}
.animate-slow-pulse {
transform: scale(1);
animation: subtlePulse 20s infinite;
will-change: transform;
}
@keyframes subtlePulse {
0% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
100% {
transform: scale(1);
}
}
@keyframes subtleShift {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.login-input-gradient {
background: linear-gradient(
180deg,
rgba(61, 65, 71, 0.3) 0%,
rgba(44, 47, 53, 0.3) 100%
) !important;
box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.25);
}
.white-fill {
fill: white;
}
.tip:before {
content: "";
display: block;
width: 0;
height: 0;
position: absolute;
border-bottom: 8px solid transparent;
border-top: 8px solid rgba(255, 255, 255, 0.5);
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-radius: 0px 0px 0px 5px;
left: 1%;
top: 100%;
}
.user-reply > div:first-of-type {
border: 2px solid white;
}
.reply > *:last-child::after {
content: "|";
animation: blink 1.5s steps(1) infinite;
color: white;
font-size: 14px;
}
@keyframes blink {
0% {
opacity: 0;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@layer components {
.radio-container:has(input:checked) {
@apply border-blue-500 bg-blue-400/10 text-blue-800;
}
}
.rti--container {
@apply !bg-zinc-900 !text-white !placeholder-white !placeholder-opacity-60 !text-sm !rounded-lg !p-2.5;
}
.tooltip {
@apply !bg-black !text-white !py-2 !px-3 !rounded-md;
}
.Toastify__toast-body {
white-space: pre-line;
}
@keyframes slideDown {
from {
max-height: 0;
opacity: 0;
}
to {
max-height: 400px;
opacity: 1;
}
}
.slide-down {
animation: slideDown 0.3s ease-out forwards;
}
@keyframes slideUp {
from {
max-height: 400px;
opacity: 1;
}
to {
max-height: 0;
opacity: 0;
}
}
.slide-up {
animation: slideUp 0.3s ease-out forwards;
}
.input-label {
@apply text-[14px] font-bold text-white;
}
/**
* ==============================================
* Markdown Styles
* ==============================================
*/
.markdown,
.markdown > * {
font-weight: 400;
}
.markdown h1 {
font-size: xx-large;
line-height: 1.7;
padding-left: 0.3rem;
}
.markdown h2 {
line-height: 1.5;
font-size: x-large;
padding-left: 0.3rem;
}
.markdown h3 {
line-height: 1.4;
font-size: large;
padding-left: 0.3rem;
}
/* Table Styles */
.markdown table {
border-collapse: separate;
}
.markdown th {
border-top: none;
}
.markdown td:first-child,
.markdown th:first-child {
border-left: none;
}
.markdown table {
width: 100%;
border-collapse: collapse;
color: #bdbdbe;
font-size: 13px;
margin: 30px 0px;
border-radius: 10px;
overflow: hidden;
font-weight: normal;
}
.markdown table thead {
color: #fff;
text-transform: uppercase;
font-weight: bolder;
}
.markdown hr {
border: 0;
border-top: 1px solid #cdcdcd40;
margin: 1rem 0;
}
.markdown table th,
.markdown table td {
padding: 8px 15px;
border-bottom: 1px solid #cdcdcd2e;
text-align: left;
}
.markdown table th {
padding: 14px 15px;
}
@media (max-width: 600px) {
.markdown table th,
.markdown table td {
padding: 10px;
}
}
/* List Styles */
.markdown ol {
list-style: decimal-leading-zero;
padding-left: 0px;
padding-top: 10px;
margin: 10px;
}
.markdown ol li {
margin-left: 20px;
padding-left: 10px;
position: relative;
transition: all 0.3s ease;
line-height: 1.4rem;
}
.markdown ol li::marker {
padding-top: 10px;
}
.markdown ol li p {
margin: 0.5rem;
padding-top: 10px;
}
.markdown ul {
list-style: revert-layer;
/* color: #cfcfcfcf; */
padding-left: 0px;
padding-top: 10px;
padding-bottom: 10px;
margin: 10px;
}
.markdown ul li::marker {
color: #d0d0d0cf;
padding-top: 10px;
}
.markdownul li {
margin-left: 20px;
padding-left: 10px;
transition: all 0.3s ease;
line-height: 1.4rem;
}
.markdown ul li > ul {
padding-left: 20px;
margin: 0px;
}
.markdown p {
font-weight: 400;
margin: 0.35rem;
}
.markdown {
text-wrap: wrap;
}
.markdown pre {
margin: 20px 0;
}
.markdown strong {
font-weight: 600;
color: #fff;
}
.file-row:nth-child(even) {
@apply bg-[#1C1E21];
}
.file-row:nth-child(odd) {
@apply bg-[#2C2C2C];
}
.file-row.selected:nth-child(even) {
@apply bg-sky-500/20;
}
.file-row.selected:nth-child(odd) {
@apply bg-sky-500/10;
}