123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307 |
- @mixin base-theme {
- --font-sans: "Inter", sans-serif;
- --font-mono: "Roboto Mono", monospace;
- --font-icon: "Material Icons";
- --font-size-tiny: calc(var(--font-size-body) - 0.062rem);
- }
- @mixin dark-theme {
- --primary-color: theme("colors.neutral.900");
- --primary-light-color: theme("colors.dark.600");
- --primary-dark-color: theme("colors.neutral.800");
- --primary-contrast-color: #161616;
- --secondary-color: theme("colors.neutral.400");
- --secondary-light-color: theme("colors.neutral.500");
- --secondary-dark-color: theme("colors.neutral.100");
- --divider-color: theme("colors.neutral.800");
- --divider-light-color: theme("colors.dark.500");
- --divider-dark-color: theme("colors.dark.300");
- --error-color: theme("colors.stone.800");
- --tooltip-color: theme("colors.neutral.100");
- --popover-color: theme("colors.dark.700");
- --editor-theme: "merbivore_soft";
- }
- @mixin light-theme {
- --primary-color: theme("colors.white");
- --primary-light-color: theme("colors.neutral.50");
- --primary-dark-color: theme("colors.neutral.100");
- --primary-contrast-color: #fefefe;
- --secondary-color: theme("colors.neutral.500");
- --secondary-light-color: theme("colors.neutral.400");
- --secondary-dark-color: theme("colors.neutral.900");
- --divider-color: theme("colors.gray.100");
- --divider-light-color: theme("colors.neutral.100");
- --divider-dark-color: theme("colors.neutral.300");
- --error-color: theme("colors.yellow.100");
- --tooltip-color: theme("colors.neutral.800");
- --popover-color: theme("colors.white");
- --editor-theme: "textmate";
- }
- @mixin black-theme {
- --primary-color: theme("colors.dark.900");
- --primary-light-color: theme("colors.neutral.900");
- --primary-dark-color: theme("colors.dark.800");
- --primary-contrast-color: #0e0e0e;
- --secondary-color: theme("colors.neutral.400");
- --secondary-light-color: theme("colors.neutral.500");
- --secondary-dark-color: theme("colors.neutral.100");
- --divider-color: theme("colors.neutral.800");
- --divider-light-color: theme("colors.dark.800");
- --divider-dark-color: theme("colors.dark.300");
- --error-color: theme("colors.stone.900");
- --tooltip-color: theme("colors.neutral.100");
- --popover-color: theme("colors.dark.600");
- --editor-theme: "twilight";
- }
- @mixin dark-editor-theme {
- --editor-type-color: theme("colors.purple.400");
- --editor-name-color: theme("colors.blue.400");
- --editor-operator-color: theme("colors.indigo.400");
- --editor-invalid-color: theme("colors.red.400");
- --editor-separator-color: theme("colors.gray.400");
- --editor-meta-color: theme("colors.gray.400");
- --editor-variable-color: theme("colors.green.400");
- --editor-link-color: theme("colors.cyan.400");
- --editor-process-color: theme("colors.fuchsia.400");
- --editor-constant-color: theme("colors.violet.400");
- --editor-keyword-color: theme("colors.pink.400");
- }
- @mixin light-editor-theme {
- --editor-type-color: theme("colors.purple.600");
- --editor-name-color: theme("colors.red.600");
- --editor-operator-color: theme("colors.indigo.600");
- --editor-invalid-color: theme("colors.red.600");
- --editor-separator-color: theme("colors.gray.600");
- --editor-meta-color: theme("colors.gray.600");
- --editor-variable-color: theme("colors.green.600");
- --editor-link-color: theme("colors.cyan.600");
- --editor-process-color: theme("colors.blue.600");
- --editor-constant-color: theme("colors.fuchsia.600");
- --editor-keyword-color: theme("colors.pink.600");
- }
- @mixin black-editor-theme {
- --editor-type-color: theme("colors.purple.400");
- --editor-name-color: theme("colors.fuchsia.400");
- --editor-operator-color: theme("colors.indigo.400");
- --editor-invalid-color: theme("colors.red.400");
- --editor-separator-color: theme("colors.gray.400");
- --editor-meta-color: theme("colors.gray.400");
- --editor-variable-color: theme("colors.green.400");
- --editor-link-color: theme("colors.cyan.400");
- --editor-process-color: theme("colors.violet.400");
- --editor-constant-color: theme("colors.blue.400");
- --editor-keyword-color: theme("colors.pink.400");
- }
- @mixin green-theme {
- --accent-color: theme("colors.green.500");
- --accent-light-color: theme("colors.green.400");
- --accent-dark-color: theme("colors.green.600");
- --accent-contrast-color: theme("colors.white");
- --gradient-from-color: theme("colors.green.200");
- --gradient-via-color: theme("colors.green.400");
- --gradient-to-color: theme("colors.green.600");
- }
- @mixin teal-theme {
- --accent-color: theme("colors.teal.500");
- --accent-light-color: theme("colors.teal.400");
- --accent-dark-color: theme("colors.teal.600");
- --accent-contrast-color: theme("colors.white");
- --gradient-from-color: theme("colors.teal.200");
- --gradient-via-color: theme("colors.teal.400");
- --gradient-to-color: theme("colors.teal.600");
- }
- @mixin blue-theme {
- --accent-color: theme("colors.blue.500");
- --accent-light-color: theme("colors.blue.400");
- --accent-dark-color: theme("colors.blue.600");
- --accent-contrast-color: theme("colors.white");
- --gradient-from-color: theme("colors.blue.200");
- --gradient-via-color: theme("colors.blue.400");
- --gradient-to-color: theme("colors.blue.600");
- }
- @mixin indigo-theme {
- --accent-color: theme("colors.indigo.500");
- --accent-light-color: theme("colors.indigo.400");
- --accent-dark-color: theme("colors.indigo.600");
- --accent-contrast-color: theme("colors.white");
- --gradient-from-color: theme("colors.indigo.200");
- --gradient-via-color: theme("colors.indigo.400");
- --gradient-to-color: theme("colors.indigo.600");
- }
- @mixin purple-theme {
- --accent-color: theme("colors.purple.500");
- --accent-light-color: theme("colors.purple.400");
- --accent-dark-color: theme("colors.purple.600");
- --accent-contrast-color: theme("colors.white");
- --gradient-from-color: theme("colors.purple.200");
- --gradient-via-color: theme("colors.purple.400");
- --gradient-to-color: theme("colors.purple.600");
- }
- @mixin yellow-theme {
- --accent-color: theme("colors.yellow.500");
- --accent-light-color: theme("colors.yellow.400");
- --accent-dark-color: theme("colors.yellow.600");
- --accent-contrast-color: theme("colors.white");
- --gradient-from-color: theme("colors.yellow.200");
- --gradient-via-color: theme("colors.yellow.400");
- --gradient-to-color: theme("colors.yellow.600");
- }
- @mixin orange-theme {
- --accent-color: theme("colors.orange.500");
- --accent-light-color: theme("colors.orange.400");
- --accent-dark-color: theme("colors.orange.600");
- --accent-contrast-color: theme("colors.white");
- --gradient-from-color: theme("colors.orange.200");
- --gradient-via-color: theme("colors.orange.400");
- --gradient-to-color: theme("colors.orange.600");
- }
- @mixin red-theme {
- --accent-color: theme("colors.red.500");
- --accent-light-color: theme("colors.red.400");
- --accent-dark-color: theme("colors.red.600");
- --accent-contrast-color: theme("colors.white");
- --gradient-from-color: theme("colors.red.200");
- --gradient-via-color: theme("colors.red.400");
- --gradient-to-color: theme("colors.red.600");
- }
- @mixin pink-theme {
- --accent-color: theme("colors.pink.500");
- --accent-light-color: theme("colors.pink.400");
- --accent-dark-color: theme("colors.pink.600");
- --accent-contrast-color: theme("colors.white");
- --gradient-from-color: theme("colors.pink.200");
- --gradient-via-color: theme("colors.pink.400");
- --gradient-to-color: theme("colors.pink.600");
- }
- :root {
- @include base-theme;
- @include dark-theme;
- @include green-theme;
- @include dark-editor-theme;
- }
- :root.light {
- @include light-theme;
- @include light-editor-theme;
- }
- :root.dark {
- @include dark-theme;
- @include dark-editor-theme;
- }
- :root.black {
- @include black-theme;
- @include black-editor-theme;
- }
- :root[data-accent="blue"] {
- @include blue-theme;
- }
- :root[data-accent="green"] {
- @include green-theme;
- }
- :root[data-accent="teal"] {
- @include teal-theme;
- }
- :root[data-accent="indigo"] {
- @include indigo-theme;
- }
- :root[data-accent="purple"] {
- @include purple-theme;
- }
- :root[data-accent="orange"] {
- @include orange-theme;
- }
- :root[data-accent="pink"] {
- @include pink-theme;
- }
- :root[data-accent="red"] {
- @include red-theme;
- }
- :root[data-accent="yellow"] {
- @include yellow-theme;
- }
- @mixin font-small {
- --font-size-body: 0.75rem;
- --line-height-body: 1rem;
- --upper-primary-sticky-fold: 4.125rem;
- --upper-secondary-sticky-fold: 6.188rem;
- --upper-tertiary-sticky-fold: 8.25rem;
- --upper-mobile-primary-sticky-fold: 6.625rem;
- --upper-mobile-secondary-sticky-fold: 8.688rem;
- --upper-mobile-sticky-fold: 10.75rem;
- --upper-mobile-tertiary-sticky-fold: 8.25rem;
- --lower-primary-sticky-fold: 3rem;
- --lower-secondary-sticky-fold: 5.063rem;
- --lower-tertiary-sticky-fold: 7.125rem;
- --sidebar-primary-sticky-fold: 2rem;
- }
- @mixin font-medium {
- --font-size-body: 0.875rem;
- --line-height-body: 1.25rem;
- --upper-primary-sticky-fold: 4.375rem;
- --upper-secondary-sticky-fold: 6.688rem;
- --upper-tertiary-sticky-fold: 9rem;
- --upper-mobile-primary-sticky-fold: 7.125rem;
- --upper-mobile-secondary-sticky-fold: 9.438rem;
- --upper-mobile-sticky-fold: 11.75rem;
- --upper-mobile-tertiary-sticky-fold: 9rem;
- --lower-primary-sticky-fold: 3.25rem;
- --lower-secondary-sticky-fold: 5.563rem;
- --lower-tertiary-sticky-fold: 7.875rem;
- --sidebar-primary-sticky-fold: 2.25rem;
- }
- @mixin font-large {
- --font-size-body: 1rem;
- --line-height-body: 1.5rem;
- --upper-primary-sticky-fold: 4.625rem;
- --upper-secondary-sticky-fold: 7.188rem;
- --upper-tertiary-sticky-fold: 9.75rem;
- --upper-mobile-primary-sticky-fold: 7.625rem;
- --upper-mobile-secondary-sticky-fold: 10.188rem;
- --upper-mobile-sticky-fold: 12.75rem;
- --upper-mobile-tertiary-sticky-fold: 9.75rem;
- --lower-primary-sticky-fold: 3.5rem;
- --lower-secondary-sticky-fold: 6.063rem;
- --lower-tertiary-sticky-fold: 8.625rem;
- --sidebar-primary-sticky-fold: 2.5rem;
- }
- :root[data-font-size="small"] {
- @include font-small;
- }
- :root[data-font-size="medium"] {
- @include font-medium;
- }
- :root[data-font-size="large"] {
- @include font-large;
- }
|