mirror of
https://github.com/supabase/supabase.git
synced 2026-06-30 12:29:05 -04:00
0abe792889
This PR migrates the JS config for Tailwind into a CSS config. As such, all variables have been defined as CSS variables and they're using the specialized Tailwind syntax for generating utility classes. Beside the migration, these changes were also added: - Added `tailwind.config.css` to few packages to make the Tailwind Intellisense work. - Migrated away from Radix style color classes to our defined classes, the values will remain the same. - Most of the CSS is generated by scripts, they'll be removed in next PRs. * Removed redundant `border-light` classes from several components since it was undefined. * Removed redundant `text-strong` classes from several components since it was undefined. How to test: - Open all apps, compare the UI (mainly colors) to builds from #45417 and try to find a difference. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Harmonized color variable usages and updated UI color references (affects palettes, charts, gradients, hero illustrations, and scrollbars). * Tweaked border, tab, and selection visuals across components. * **New Features** * Added a suite of theme animations and refined typography presets used by site prose and docs. * **Refactor** * Overhauled Tailwind/theme configuration and color token generation for more consistent theming. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
440 lines
7.4 KiB
CSS
440 lines
7.4 KiB
CSS
@reference "./globals.css";
|
|
/* Brought over from platform to be cleaned if needed */
|
|
|
|
/* Form panels */
|
|
|
|
.Form,
|
|
.Form button {
|
|
animation: fade 200ms ease-out;
|
|
}
|
|
|
|
.Form .form-control,
|
|
.Form select {
|
|
min-width: 250px;
|
|
width: calc(67% - 0.5rem);
|
|
margin-left: 0.5rem;
|
|
}
|
|
|
|
.Form .form-group,
|
|
.Form .checkbox {
|
|
@apply w-full;
|
|
}
|
|
|
|
.form-group {
|
|
@apply mb-2 p-0 leading-5 border-0 bg-transparent;
|
|
font-size: 15px;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
/* TO DO: REMOVE */
|
|
.form-group label {
|
|
@apply inline-block text-foreground-light text-sm py-2;
|
|
width: 33%;
|
|
align-self: top;
|
|
}
|
|
|
|
.Form .checkbox .form-check-label {
|
|
@apply flex items-center;
|
|
}
|
|
|
|
.Form .checkbox .form-check-label input[type='checkbox'] {
|
|
@apply mr-4;
|
|
width: auto;
|
|
}
|
|
|
|
.Form input[type='checkbox'] {
|
|
min-width: inherit;
|
|
width: inherit;
|
|
}
|
|
|
|
.Form .form-text,
|
|
.Form .form-error {
|
|
@apply block text-sm text-foreground-lighter my-1;
|
|
display: block;
|
|
margin-left: calc(33% + 0.5rem);
|
|
width: 100%;
|
|
}
|
|
|
|
.Form .form-error {
|
|
@apply text-red-400;
|
|
}
|
|
|
|
.Form .text-danger {
|
|
@apply text-red-900;
|
|
}
|
|
|
|
.Form .form-help {
|
|
@apply text-border-muted;
|
|
}
|
|
|
|
.Form hr {
|
|
@apply mt-4 mb-4;
|
|
}
|
|
|
|
.section-block {
|
|
@apply p-0 rounded-sm bg-surface-100 border border-overlay;
|
|
}
|
|
|
|
.section-block--header {
|
|
@apply border-b border-overlay;
|
|
}
|
|
|
|
.section-block--header h1,
|
|
.section-block--header h2,
|
|
.section-block--header h3,
|
|
.section-block--header h4 {
|
|
@apply m-0;
|
|
}
|
|
|
|
.section-block--header p {
|
|
@apply text-gray-300;
|
|
}
|
|
|
|
.section-block--footer {
|
|
@apply border-overlay bg-surface-100;
|
|
}
|
|
|
|
.section-block--footer button:not(.mr-0) {
|
|
@apply mr-2;
|
|
}
|
|
|
|
/*
|
|
Table
|
|
*/
|
|
|
|
.table-container table {
|
|
@apply w-full;
|
|
border-collapse: separate;
|
|
border-spacing: 0;
|
|
}
|
|
|
|
.table-container table span {
|
|
@apply truncate;
|
|
}
|
|
|
|
.table-container thead th {
|
|
@apply text-foreground-light font-normal text-sm;
|
|
@apply bg-surface-200;
|
|
@apply border-t border-b border-default;
|
|
}
|
|
|
|
.table-container thead th:first-child {
|
|
@apply rounded-sm rounded-r-none rounded-b-none;
|
|
@apply border-l;
|
|
}
|
|
|
|
.table-container thead th:last-child {
|
|
@apply pr-6 rounded-sm rounded-l-none rounded-b-none;
|
|
@apply border-r;
|
|
}
|
|
|
|
.table-container tbody tr {
|
|
@apply bg-surface-100;
|
|
}
|
|
|
|
.table-container tbody .tr--link {
|
|
@apply cursor-pointer transition-colors;
|
|
}
|
|
|
|
.table-container tbody .tr--link:hover {
|
|
@apply bg-surface-200;
|
|
}
|
|
|
|
.table-container tbody td {
|
|
@apply border-b p-3 px-4 text-sm text-gray-1100 border-default;
|
|
}
|
|
|
|
.table-container tbody td:first-child {
|
|
@apply pl-4 border-b border-l border-default;
|
|
}
|
|
|
|
.table-container tbody td:last-child {
|
|
@apply pr-4 border-b border-r border-default;
|
|
}
|
|
|
|
.table-container tbody tr:last-child td:first-child {
|
|
@apply rounded-sm rounded-r-none rounded-t-none;
|
|
}
|
|
|
|
.table-container tbody tr:last-child td:last-child {
|
|
@apply rounded-sm rounded-l-none rounded-t-none;
|
|
}
|
|
|
|
.table-container--borderless thead th {
|
|
border-top: none;
|
|
}
|
|
|
|
.table-container--borderless thead th:first-child {
|
|
border-left: none;
|
|
}
|
|
|
|
.table-container--borderless thead th:last-child {
|
|
border-right: none;
|
|
}
|
|
|
|
.table-container--borderless tbody td:first-child {
|
|
border-left: none;
|
|
}
|
|
|
|
.table-container--borderless tbody td:last-child {
|
|
border-right: none;
|
|
}
|
|
|
|
.table-container--borderless tbody tr:last-child td {
|
|
border-bottom: none;
|
|
}
|
|
|
|
/* Docs */
|
|
.Docs {
|
|
&--inner-wrapper {
|
|
background: linear-gradient(
|
|
90deg,
|
|
hsl(var(--background-alternative-default)) 50%,
|
|
hsl(var(--background-surface-100)) 50%
|
|
);
|
|
width: 100%;
|
|
}
|
|
|
|
.dark &--inner-wrapper {
|
|
background: linear-gradient(
|
|
90deg,
|
|
hsl(var(--background-surface-100)) 50%,
|
|
hsl(var(--background-default)) 50%
|
|
);
|
|
}
|
|
|
|
/* h1, */
|
|
/* h2, */
|
|
/* h3 { */
|
|
/* @apply p-4 m-0; */
|
|
/* } */
|
|
|
|
.doc-heading {
|
|
@apply text-foreground capitalize mt-4 px-6 w-1/2;
|
|
hyphens: auto;
|
|
max-width: 50%;
|
|
}
|
|
|
|
.doc-section {
|
|
@apply border-b flex border-default;
|
|
}
|
|
|
|
&.Docs--table-editor .doc-section--introduction {
|
|
.text {
|
|
width: 85%;
|
|
}
|
|
}
|
|
|
|
&.Docs--table-editor .doc-section--introduction {
|
|
.text {
|
|
width: 85%;
|
|
}
|
|
}
|
|
|
|
&.Docs--table-editor .doc-section--client-libraries {
|
|
flex-direction: column;
|
|
margin-bottom: 40px;
|
|
|
|
.text,
|
|
.code {
|
|
width: 100%;
|
|
max-width: none;
|
|
}
|
|
.code {
|
|
margin-bottom: 20px;
|
|
}
|
|
}
|
|
|
|
.doc-section article:first-child {
|
|
@apply prose prose-docs prose-sm max-w-none;
|
|
}
|
|
|
|
&.Docs--table-editor .doc-section__table-name {
|
|
@apply mt-4;
|
|
}
|
|
|
|
.code-column {
|
|
@apply p-4 px-6 w-1/2;
|
|
max-width: 50%;
|
|
|
|
/* a:not(.btn-primary):not(.btn-secondary) { */
|
|
/* @apply text-green-500; */
|
|
/* } */
|
|
|
|
a {
|
|
@apply transition;
|
|
}
|
|
|
|
a:hover {
|
|
@apply text-brand-600;
|
|
}
|
|
|
|
p:last-child {
|
|
padding-bottom: 0;
|
|
}
|
|
}
|
|
|
|
.code {
|
|
@apply flex-1 p-2 px-6 w-1/2 pb-4;
|
|
max-width: 50%;
|
|
|
|
h4 {
|
|
@apply uppercase font-normal m-1 p-0 text-sm text-foreground-light;
|
|
}
|
|
|
|
h4:not(:first-child) {
|
|
@apply mt-6;
|
|
}
|
|
|
|
code {
|
|
@apply m-1 p-0;
|
|
background-color: none;
|
|
}
|
|
|
|
.is-highlighted {
|
|
@apply text-brand;
|
|
}
|
|
}
|
|
.codeblock-container + .codeblock-container {
|
|
@apply mt-12;
|
|
}
|
|
}
|
|
|
|
::-moz-selection {
|
|
/* Code for Firefox */
|
|
@apply bg-brand;
|
|
color: #333 !important;
|
|
}
|
|
|
|
::selection {
|
|
background-color: #6ee7b7;
|
|
color: #333 !important;
|
|
}
|
|
|
|
.has-hidden-children {
|
|
.visible-child {
|
|
transition: opacity 0.2s ease;
|
|
opacity: 100;
|
|
}
|
|
.hidden-child {
|
|
transition: opacity 0.2s ease;
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
.has-hidden-children:hover {
|
|
.visible-child {
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
.hidden-child {
|
|
opacity: 100;
|
|
}
|
|
}
|
|
|
|
.SQLTabNav {
|
|
overflow-x: auto;
|
|
overflow-y: hidden !important;
|
|
|
|
&::-webkit-scrollbar {
|
|
display: none !important;
|
|
}
|
|
|
|
/* for Firefox */
|
|
scrollbar-width: none; /* auto | thin | none | <length>; */
|
|
}
|
|
|
|
.radix-tooltip-arrow {
|
|
polygon {
|
|
@apply fill-background-alternative [[data-theme*=dark]_&]:fill-background-alternative;
|
|
/* fill: #eeeeee; */
|
|
}
|
|
}
|
|
|
|
.pitr-listbox {
|
|
@apply md:gap-x-2;
|
|
}
|
|
|
|
.roles-toggle {
|
|
label {
|
|
@apply mt-1;
|
|
}
|
|
}
|
|
|
|
.thin-scrollbars {
|
|
scrollbar-width: thin;
|
|
scrollbar-color: hsl(var(--foreground-muted)) hsl(var(--background-alternative-default));
|
|
|
|
.dark & {
|
|
scrollbar-color: hsl(var(--foreground-lighter)) hsl(var(--background-surface-100));
|
|
}
|
|
|
|
::-webkit-scrollbar {
|
|
background: hsl(var(--background-default));
|
|
height: 3px;
|
|
width: 0px;
|
|
border-radius: 0;
|
|
|
|
.dark & {
|
|
background: hsl(var(--border-control));
|
|
}
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
-webkit-box-shadow: inset 0 0 6px hsl(var(--border-control));
|
|
-webkit-border-radius: 5px;
|
|
border-radius: 5px;
|
|
|
|
.dark & {
|
|
-webkit-box-shadow: inset 0 0 6px hsl(var(--border-stronger));
|
|
}
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
-webkit-border-radius: 5px;
|
|
border-radius: 5px;
|
|
background: hsl(var(--foreground-muted));
|
|
|
|
.dark & {
|
|
-webkit-box-shadow: inset 0 0 6px var(--color-slate-1200);
|
|
}
|
|
}
|
|
}
|
|
|
|
.form-field-markdown {
|
|
a {
|
|
@apply text-brand transition opacity-75 hover:opacity-100 underline;
|
|
}
|
|
}
|
|
|
|
.view-icon {
|
|
rect {
|
|
@apply fill-blue-500 stroke-blue-500;
|
|
}
|
|
path,
|
|
circle {
|
|
@apply stroke-blue-900 fill-blue-500;
|
|
}
|
|
}
|
|
|
|
.table-icon {
|
|
rect {
|
|
@apply fill-green-1000 stroke-green-500;
|
|
}
|
|
line {
|
|
@apply stroke-green-500;
|
|
}
|
|
}
|
|
|
|
.recharts-cartesian-axis-tick {
|
|
text {
|
|
@apply text-xs;
|
|
}
|
|
}
|
|
.recharts-reference-line {
|
|
line {
|
|
@apply stroke-foreground-lighter;
|
|
}
|
|
}
|