A very simple bookmarking webapp bookmarker.finxol.deno.net/
at main 76 lines 1.7 kB view raw
1@layer components { 2 [class*="button"], 3 button { 4 --bg-opacity: 1; 5 --bg: var(--primary); 6 7 display: inline-flex; 8 align-items: center; 9 justify-content: center; 10 gap: calc(var(--spacing) * 0.5); 11 padding: calc(var(--spacing) * 0.75) calc(var(--spacing) * 1.5); 12 13 background-color: oklch(from var(--bg) l c h / var(--bg-opacity)); 14 color: var(--color, white); 15 color: var(--color, contrast-color(var(--primary))); 16 17 border: none; 18 border-radius: var(--radius); 19 text-decoration: none; 20 21 font-weight: 600; 22 font-size: 0.875rem; 23 cursor: pointer; 24 25 transition: 0.25s ease; 26 27 &:hover { 28 --bg-opacity: 0.85; 29 } 30 31 &:disabled { 32 cursor: not-allowed; 33 opacity: 0.5; 34 } 35 } 36 37 .button-ghost { 38 --bg-opacity: 0; 39 --bg-lightness: 1; 40 --bg-saturation: 0.7; 41 --color: oklch(from var(--primary-text) l c h / 0.75); 42 background-color: hsl( 43 from var(--bg) h calc(s * var(--bg-saturation)) 44 calc(l * var(--bg-lightness)) / var(--bg-opacity) 45 ); 46 47 &:hover { 48 --bg-opacity: 0.3; 49 } 50 51 &:active, 52 &.active { 53 --bg-opacity: 0.4; 54 --bg-lightness: 1.05; 55 --bg-saturation: 0.25; 56 } 57 } 58 59 .button-danger { 60 --bg: var(--danger); 61 --saturation: 80%; 62 --color: hsl(from var(--danger) h var(--saturation) l); 63 64 &:hover { 65 --saturation: 100%; 66 } 67 } 68 69 .button-icon { 70 padding: 0.5rem; 71 } 72 73 .button-round { 74 border-radius: 100vw; 75 } 76}