UNPKG

@helpwave/hightide

Version:

helpwave's component and theming library

489 lines (405 loc) 11.9 kB
@import 'tailwindcss'; /* variants */ @custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *)); @custom-variant light (&:where([data-theme=light], [data-theme=light] *)); /* utilities */ @utility col { @apply flex flex-col gap-y-2; } @utility row { @apply flex flex-row gap-x-2; } @layer utilities { .animation-delay-0 { animation-delay: 0ms; } .animation-delay-100 { animation-delay: 100ms; } .animation-delay-200 { animation-delay: 200ms; } .animation-delay-300 { animation-delay: 300ms; } .animation-delay-400 { animation-delay: 400ms; } .animation-delay-500 { animation-delay: 500ms; } .animation-delay-1000 { animation-delay: 1000ms; } @keyframes fade-in { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes fade-out { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes bigLeftUp { 0%, 25% { stroke-dashoffset: 1000; } 50%, 75%, 100% { stroke-dashoffset: 0; } } @keyframes bigRightDown { 0%, 25%, 50% { stroke-dashoffset: 0; } 75%, 100% { stroke-dashoffset: -1000; } } @keyframes smallLeftUp { 0%, 25%, 50% { stroke-dashoffset: 1000; } 75%, 100% { stroke-dashoffset: 0; } } @keyframes smallRightDown { 0%, 25% { stroke-dashoffset: 0; } 50%, 75%, 100% { stroke-dashoffset: -1000; } } .animate-fade { animation: fade-out 3s ease-in-out; } .animate-wave-big-left-up { animation: bigLeftUp 1.7s ease-in infinite normal; } .animate-wave-big-right-down { animation: bigRightDown 1.7s ease-in infinite reverse; } .animate-wave-small-left-up { animation: smallLeftUp 1.7s ease-in infinite normal; } .animate-wave-small-right-down { animation: smallRightDown 1.7s ease-in infinite reverse; } .animate-tooltip-fade-in { animation: fade-in 0.2s ease-in-out forwards; } .animate-tooltip-fade-out { animation: fade-in 0.2s ease-in-out forwards; } .shadow-around { box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.02), 0 -2px 2px 0 rgba(0, 0, 0, 0.02), 2px 0 2px 0 rgba(0, 0, 0, 0.02), -2px 0 2px 0 rgba(0, 0, 0, 0.02); } .shadow-around-md { box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.02), 0 -5px 5px 0 rgba(0, 0, 0, 0.02), 5px 0 5px 0 rgba(0, 0, 0, 0.02), -5px 0 5px 0 rgba(0, 0, 0, 0.02); } .shadow-around-lg { box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.02), 0 -10px 10px 0 rgba(0, 0, 0, 0.02), 10px 0 10px 0 rgba(0, 0, 0, 0.02), -10px 0 10px 0 rgba(0, 0, 0, 0.02); } .shadow-around-xl { box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.02), 0 -20px 20px 0 rgba(0, 0, 0, 0.02), 20px 0 20px 0 rgba(0, 0, 0, 0.02), -20px 0 20px 0 rgba(0, 0, 0, 0.02); } } /* The theme variables */ @theme { /* Colors for with default values of the light theme */ --color-white: #FFFFFF; --color-black: #000000; --color-gray-25: #F8F8F8; --color-gray-50: #F2F2F2; --color-gray-100: #E6E6E6; --color-gray-200: #CCCCCC; --color-gray-300: #B3B3B3; --color-gray-400: #999999; --color-gray-500: #888888; --color-gray-600: #666666; --color-gray-700: #4D4D4D; --color-gray-800: #333333; --color-gray-900: #1A1A1A; --color-gray-950: #0D0D0D; --color-green-100: #D1EFD8; --color-green-500: #69CB81; --color-green-900: #2C5536; --color-orange-100: #FBECD9; --color-orange-200: #F7D8B3; --color-orange-500: #EA9E40; --color-purple-50: #EFE6FD; --color-purple-100: #CEB0FA; --color-purple-400: #8470c5; --color-purple-500: #694BB4; --color-blue-50: #F6FAFF; --color-blue-100: #D6E3F9; --color-blue-200: #99B9EF; --color-blue-500: #3272DF; --color-blue-600: #285BB2; --color-blue-800: #1A4080; --color-red-50: #FFF9F9; --color-red-100: #FBE0E2; --color-red-200: #F7C2C5; --color-red-300: #F4A3A7; --color-red-400: #E3798A; --color-red-500: #DC576D; --color-red-900: #5C252E; --color-primary: var(--color-purple-500); --color-on-primary: #FFFFFF; --color-secondary: #11243E; --color-on-secondary: #FFFFFF; --color-warning: #EA9E40; --color-on-warning: #FFFFFF; --color-positive: #69CB81; --color-on-positive: #FFFFFF; --color-negative: #DC576D; --color-on-negative: #FFFFFF; --color-surface: #FFFFFF; --color-on-surface: #1A1A1A; --color-surface-variant: #F8F8F8; --color-surface-warning: #FBECD9; --color-highlight: #3272DF; --color-background: #EEEEEE; --color-on-background: #1A1A1A; --color-female: #E3798A; --color-female-outline: #F4A3A7; --color-female-surface: #FBE0E2; --color-female-background: #FFF9F9; --color-male: #3272DF; --color-male-outline: #99B9EF; --color-male-surface: #D6E3F9; --color-male-background: #F6FAFF; --color-neutral: #4D4D4D; --color-neutral-outline: #B3B3B3; --color-neutral-surface: #E6E6E6; --color-neutral-background: #F8F8F8; --color-text-primary: #1A1A1A; --color-text-secondary: #666666; --color-text-tertiary: #B3B3B3; --color-text-highlight: #3272DF; --color-icon-primary: #1A1A1A; --color-icon-secondary: #666666; --color-icon-highlight: #3272DF; --color-divider: #E6E6E6; --color-description: #555555; --color-outline: #E6E6E6; --color-outline-variant: #CCCCCC; --color-disabled-background: #BBBBBB; --color-disabled-text: #555555; --color-disabled-icon: #555555; --color-disabled-outline: #555555; --color-button-solid-primary-background: var(--color-purple-500); --color-button-solid-primary-text: #FFFFFF; --color-button-solid-primary-icon: #FFFFFF; --color-button-solid-secondary-background: #EFE6FD; --color-button-solid-secondary-text: var(--color-purple-500); --color-button-solid-secondary-icon: var(--color-purple-500); --color-button-solid-tertiary-background: #F2F2F2; --color-button-solid-tertiary-icon: #888888; --color-button-solid-tertiary-text: #888888; --color-button-outline-primary-outline: var(--color-purple-500); --color-button-outline-primary-icon: var(--color-purple-500); --color-button-outline-primary-text: var(--color-purple-500); --color-button-solid-positive-background: #69CB81; --color-button-solid-positive-icon: #FFFFFF; --color-button-solid-positive-text: #FFFFFF; --color-button-solid-warning-background: #EA9E40; --color-button-solid-warning-icon: #FFFFFF; --color-button-solid-warning-text: #FFFFFF; --color-button-solid-negative-background: #DC576D; --color-button-solid-negative-icon: #FFFFFF; --color-button-solid-negative-text: #FFFFFF; --color-button-text-hover-background: #E1E1E1; --color-button-text-neutral-text: #333333; --color-button-text-neutral-icon: #333333; --color-button-text-negative-text: #DC576D; --color-button-text-negative-icon: #DC576D; --color-menu-background: #FFFFFF; --color-menu-text: #1A1A1A; --color-menu-border: #999999; --color-tag-default-background: #F6FAFF; --color-tag-default-text: #1A4080; --color-tag-default-icon: #1A4080; --color-tag-dark-background: #333333; --color-tag-dark-text: #FFFFFF; --color-tag-dark-icon: #FFFFFF; --color-tag-green-background: #E2E9DB; --color-tag-green-text: #7A977E; --color-tag-green-icon: #7A977E; --color-tag-yellow-background: #FEEACB; --color-tag-yellow-text: #C79345; --color-tag-yellow-icon: #C79345; --color-tag-red-background: #FEE0DD; --color-tag-red-text: #D67268; --color-tag-red-icon: #D67268; --color-tag-blue-background: #F6FAFF; --color-tag-blue-text: #1A4080; --color-tag-blue-icon: #1A4080; --color-tag-pink-background: #CEA3B8; --color-tag-pink-text: #CE75A0; --color-tag-pink-icon: #CE75A0; --color-tabel-header-background: #F6FAFF; --color-text-image-primary-background: var(--color-purple-500); --color-text-image-primary-text: #FFFFFF; --color-text-image-secondary-background: #3171DE; --color-text-image-secondary-text: #FFFFFF; --color-text-image-dark-background: #11243E; --color-text-image-dark-text: #FFFFFF; /* breakpoints */ --breakpoint-tablet: 48rem; /* 768px for 16px font-size */ --breakpoint-desktop: 64rem; /* 1024px for 16px font-size*/ /* fonts */ --font-inter: 'Inter', sans-serif; --font-space: 'Space Grotesk', sans-serif; } /* Overrides of the dark theme */ @layer base { /* Here are overrides for the light theme */ @variant dark { --color-primary: var(--color-purple-400); --color-surface: #333333; --color-on-surface: #EEEEEE; --color-surface-variant: #494949; --color-surface-warning: #FBECD9; --color-highlight: #3272DF; --color-background: #1A1A1A; --color-on-background: #EEEEEE; --color-neutral: #4D4D4D; --color-neutral-outline: #B3B3B3; --color-neutral-surface: #E6E6E6; --color-neutral-background: #F8F8F8; --color-text-primary: #EEEEEE; --color-text-secondary: #666666; --color-text-tertiary: #B3B3B3; --color-text-highlight: #3272DF; --color-icon-primary: #EEEEEE; --color-icon-secondary: #666666; --color-icon-highlight: #3272DF; --color-description: #999999; --color-disabled-background: #555555; --color-disabled-text: #888888; --color-button-text-hover-background: #383838; --color-button-text-neutral-text: #EEEEEE; --color-button-text-neutral-icon: #EEEEEE; --color-menu-background: #333333; --color-menu-text: #EEEEEE; --color-menu-border: #999999; --color-tabel-header-background: #F6FAFF; } } /* Styles that can be overwritten by utils */ @layer components { .btn-sm { @apply row items-center justify-center gap-x-1 px-[0.625rem] py-[0.25rem] rounded-[0.375rem]; } .btn-md { @apply row items-center justify-center gap-x-2 px-[0.75rem] py-[0.5rem] rounded-[0.375rem]; } .btn-lg { @apply row items-center justify-center gap-x-2 px-[1rem] py-[0.675rem] rounded-[0.375rem]; } .card-sm { @apply col gap-y-2 bg-surface text-on-surface px-2 py-1 rounded; } .card-md { @apply col gap-y-2 bg-surface text-on-surface px-4 py-2 rounded-md; } .card-lg { @apply col gap-y-2 bg-surface text-on-surface px-8 py-4 rounded-lg; } .chip { @apply row gap-x-1 items-center justify-center px-2 py-1 rounded-md; } .chip-full { @apply row gap-x-1 items-center justify-center px-2 py-1 rounded-full; } .section-padding-x { @apply px-6 tablet:px-12 desktop:px-24; } .section-padding-y { @apply py-16; } .section-padding { @apply px-6 tablet:px-12 desktop:px-24 py-16; } } @layer components { html, main { @apply bg-background text-on-background; } button { @apply cursor-pointer; } .textstyle-title-3xl { @apply text-5xl font-space font-bold; } .textstyle-title-2xl { @apply text-4xl font-space font-bold; } .textstyle-title-xl { @apply text-3xl font-space font-bold; } .textstyle-title-lg { @apply text-2xl font-space font-bold; } .textstyle-title-md { @apply text-xl font-space font-bold; } .textstyle-title-normal { @apply text-lg font-semibold; } .textstyle-title-sm { @apply font-space font-bold; } .textstyle-accent { @apply text-sm text-gray-600 font-bold; } .textstyle-description { @apply text-gray-400; } .textstyle-label-lg { @apply text-gray-700 text-lg font-semibold; } .textstyle-label-md { @apply text-gray-700 font-semibold; } .textstyle-label-sm { @apply text-sm text-gray-700 font-semibold; } .textstyle-table-name { @apply text-lg font-space font-medium; } .textstyle-table-header { @apply text-gray-600 font-bold; } .textstyle-navigation-item { @apply font-bold font-space; } .textstyle-form-error { @apply text-negative text-sm; } .textstyle-form-description { @apply text-gray-500 text-sm; } }