Files
hoppscotch/assets/scss/styles.scss
2021-09-11 20:55:33 +05:30

480 lines
8.1 KiB
SCSS

*,
*::before,
*::after {
@apply backface-hidden;
}
:root {
@apply antialiased;
font-variant-ligatures: common-ligatures;
}
::-webkit-scrollbar-track {
@apply bg-transparent;
}
::-webkit-scrollbar-thumb {
@apply bg-divider bg-clip-content;
@apply rounded-full;
@apply border-solid border-4 border-transparent;
@apply hover:(bg-dividerDark bg-clip-content);
}
::-webkit-scrollbar {
@apply w-4;
@apply h-4;
}
.hide-scrollbar::-webkit-scrollbar {
@apply hidden;
}
::selection {
@apply bg-accent;
@apply text-accentContrast;
}
input::placeholder,
textarea::placeholder {
@apply text-secondaryDark;
@apply opacity-25;
}
input,
textarea {
@apply text-secondaryDark;
@apply font-medium;
}
html {
scroll-behavior: smooth;
}
body {
@apply bg-primary;
@apply text-secondary;
@apply font-medium;
@apply select-none;
@apply overflow-x-hidden;
animation: fade 300ms forwards;
font-size: var(--body-font-size);
line-height: var(--body-line-height);
overflow: overlay;
-webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none;
}
@keyframes fade {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.fade-enter-active,
.fade-leave-active,
.page-enter-active,
.page-leave-active,
.layout-enter-active,
.layout-leave-active {
@apply transition-opacity;
}
.fade-enter,
.fade-leave-to,
.page-enter,
.page-leave-to,
.layout-enter,
.layout-leave-to {
@apply opacity-0;
}
.material-icons {
font-size: var(--body-line-height) !important;
width: var(--body-line-height);
overflow: hidden;
}
.svg-icons {
height: var(--body-line-height);
width: var(--body-line-height);
}
a {
@apply inline-flex;
@apply text-current;
@apply no-underline;
@apply outline-none;
@apply transition;
font-size: var(--body-font-size);
line-height: var(--body-line-height);
&.link {
@apply items-center;
@apply px-1 py-0.5;
@apply -mx-1 -my-0.5;
@apply text-accent;
@apply rounded;
@apply hover:text-accentDark;
@apply focus-visible:(ring ring-accent);
}
}
.tippy-popper {
.tooltip-theme {
@apply bg-tooltip;
@apply text-primary;
@apply font-semibold;
@apply py-1 px-2;
@apply truncate;
@apply shadow;
font-size: 88%;
line-height: var(--body-line-height);
kbd {
@apply inline-flex;
@apply font-sans;
@apply bg-gray-500;
@apply bg-opacity-45;
@apply text-primaryLight;
@apply rounded-sm;
@apply px-1;
@apply ml-1;
@apply truncate;
}
}
.popover-theme {
@apply bg-popover;
@apply text-secondary;
@apply p-2;
@apply shadow-lg;
@apply focus:outline-none;
font-size: var(--body-font-size);
line-height: var(--body-line-height);
.tippy-roundarrow svg {
@apply fill-popover;
}
}
}
[interactive] > div {
@apply flex;
@apply flex-1;
@apply h-full;
}
.tippy-content > div {
@apply flex flex-col;
@apply max-h-46;
@apply items-stretch;
@apply overflow-y-auto;
&::-webkit-scrollbar {
@apply hidden;
}
}
hr {
@apply border-b border-dividerLight;
@apply my-2;
}
.heading {
@apply font-bold;
@apply text-secondaryDark text-lg;
}
.input,
.select,
.textarea {
@apply flex;
@apply w-full;
@apply px-4 py-2;
@apply bg-transparent;
@apply rounded;
@apply text-secondaryDark;
@apply border border-divider;
@apply focus-visible:border-dividerDark;
}
input,
select,
textarea,
button {
@apply focus:outline-none;
@apply truncate;
@apply transition;
@apply disabled:cursor-not-allowed;
font-size: var(--body-font-size);
line-height: var(--body-line-height);
}
.input[type="file"],
.input[type="radio"],
#installPWA {
@apply hidden;
}
.floating-input ~ label {
@apply font-medium;
@apply py-0.5;
@apply px-2;
@apply m-2;
@apply rounded;
@apply transition;
@apply absolute;
@apply origin-top-left;
}
.floating-input:focus-within ~ label,
.floating-input:not(:placeholder-shown) ~ label {
@apply bg-primary;
@apply transform;
@apply origin-top-left;
@apply scale-75;
@apply -translate-y-5;
@apply translate-x-1;
}
.floating-input:focus-within ~ label {
@apply text-secondaryDark;
}
pre.ace_editor {
@apply font-mono;
@apply resize-none;
@apply z-0;
}
.select {
@apply appearance-none;
@apply cursor-pointer;
&::-ms-expand {
@apply hidden;
}
}
.select-wrapper {
@apply flex flex-1;
@apply relative;
&::after {
@apply absolute;
@apply flex;
@apply inset-y-0;
@apply items-center;
@apply justify-center;
@apply pointer-events-none;
@apply font-icon;
@apply text-secondaryLight;
@apply right-3;
content: "\e313";
}
}
input[type="checkbox"] {
@apply hidden;
&,
& + label {
@apply align-middle;
@apply cursor-pointer;
&::before {
@apply border-2 border-divider;
@apply rounded;
@apply inline-flex;
@apply items-center;
@apply justify-center;
@apply text-transparent;
@apply h-4;
@apply w-4;
@apply font-icon;
content: "\e876";
margin: 8px 8px 8px 0;
}
}
&:checked + label::before {
@apply bg-accent;
@apply border-accent;
@apply text-primary;
}
}
.info-response {
@apply text-pink-500;
}
.success-response {
@apply text-green-500;
}
.redir-response {
@apply text-yellow-500;
}
.cl-error-response {
@apply text-red-500;
}
.sv-error-response {
@apply text-red-600;
}
.missing-data-response {
@apply text-secondaryLight;
}
.Vue-Toastification__progress-bar {
background-color: rgba(0, 0, 0, 0.6) !important;
}
.Vue-Toastification__toast {
@apply !bg-tooltip;
@apply !text-primary;
@apply !justify-start;
@apply !shadow;
@apply !font-medium;
@apply h-auto;
@apply w-auto;
@apply px-4;
@apply py-2;
@apply rounded;
@apply flex;
@apply items-center;
}
.Vue-Toastification__toast-body {
@apply !font-sans;
font-size: var(--body-font-size) !important;
line-height: var(--body-line-height) !important;
}
.action {
@apply bg-gray-500;
@apply px-4;
@apply bg-opacity-10;
@apply ml-auto;
@apply last:ml-4;
@apply sm:ml-8;
@apply transition;
@apply rounded;
@apply text-current;
@apply normal-case;
@apply hover:(bg-opacity-20 no-underline);
@apply font-medium;
font-size: var(--body-font-size);
line-height: var(--body-line-height);
}
.Vue-Toastification__toast--info {
@apply !bg-accent;
}
.Vue-Toastification__toast--error {
@apply !bg-red-200;
@apply !text-red-800;
}
.Vue-Toastification__toast--success {
@apply !bg-green-200;
@apply !text-green-800;
}
.smart-splitter .splitpanes__splitter {
@apply relative;
@apply bg-primaryLight;
}
.no-splitter .splitpanes__splitter {
@apply relative;
@apply bg-primaryLight;
}
.smart-splitter.splitpanes--vertical > .splitpanes__splitter {
@apply w-1;
}
.smart-splitter.splitpanes--horizontal > .splitpanes__splitter {
@apply h-1;
}
.no-splitter.splitpanes--vertical > .splitpanes__splitter {
@apply w-0.5;
@apply pointer-events-none;
}
.no-splitter.splitpanes--horizontal > .splitpanes__splitter {
@apply h-0.5;
@apply pointer-events-none;
}
.smart-splitter .splitpanes__splitter::before {
@apply absolute;
@apply inset-0;
@apply bg-dividerLight;
@apply opacity-0;
@apply z-30;
@apply transition;
content: "";
}
.smart-splitter .splitpanes__splitter::after {
@apply absolute;
@apply inset-0;
@apply z-30;
@apply transition;
@apply flex;
@apply items-center;
@apply justify-center;
@apply text-dividerDark;
@apply font-icon;
}
.smart-splitter.splitpanes--vertical > .splitpanes__splitter::after {
content: "\e5d4";
}
.smart-splitter.splitpanes--horizontal > .splitpanes__splitter::after {
content: "\e5d3";
}
.smart-splitter .splitpanes__splitter:hover::before {
@apply opacity-100;
}
.smart-splitter.splitpanes--vertical > .splitpanes__splitter::before {
@apply -left-0.5;
@apply -right-0.5;
@apply h-full;
}
.smart-splitter.splitpanes--horizontal > .splitpanes__splitter::before {
@apply -top-0.5;
@apply -bottom-0.5;
@apply w-full;
}
@media (max-width: 767px) {
main {
margin-bottom: env(safe-area-inset-bottom);
}
}