From b55216692476132cb1556af7be269eb76048ad96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A1s=20Moln=C3=A1r?= <38168628+barnabasmolnar@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:58:33 +0200 Subject: [PATCH] feat: new dark mode theme & light theme tweaks (#7104) Co-authored-by: dwelle --- src/components/Actions.scss | 4 +- src/components/FilledButton.scss | 18 ++--- src/components/HelpDialog.scss | 17 ++++- src/components/LibraryMenu.scss | 4 +- src/components/RadioGroup.scss | 25 +++---- src/components/Sidebar/SidebarTrigger.scss | 3 +- src/components/Switch.scss | 30 ++++---- src/components/TextField.scss | 33 ++++----- src/components/ToolIcon.scss | 5 -- src/components/Toolbar.scss | 1 + src/components/dropdownMenu/DropdownMenu.scss | 44 ++++++++---- .../LiveCollaborationTrigger.scss | 2 + src/components/main-menu/MainMenu.tsx | 1 + .../welcome-screen/WelcomeScreen.scss | 11 ++- src/css/styles.scss | 19 +++++- src/css/theme.scss | 68 ++++++++++++------- src/css/variables.module.scss | 40 ++++++++--- 17 files changed, 197 insertions(+), 128 deletions(-) diff --git a/src/components/Actions.scss b/src/components/Actions.scss index 925e918d..df0d7375 100644 --- a/src/components/Actions.scss +++ b/src/components/Actions.scss @@ -2,13 +2,13 @@ .undo-redo-buttons { background-color: var(--island-bg-color); border-radius: var(--border-radius-lg); + box-shadow: 0 0 0 1px var(--color-surface-lowest); } .zoom-button, .undo-redo-buttons button { - border: 1px solid var(--default-border-color) !important; border-radius: 0 !important; - background-color: transparent !important; + background-color: var(--color-surface-low) !important; font-size: 0.875rem !important; width: var(--lg-button-size); height: var(--lg-button-size); diff --git a/src/components/FilledButton.scss b/src/components/FilledButton.scss index e171ff8d..c0a57f27 100644 --- a/src/components/FilledButton.scss +++ b/src/components/FilledButton.scss @@ -12,32 +12,32 @@ &--color-primary { &.ExcButton--variant-filled { - --text-color: var(--input-bg-color); + --text-color: var(--color-surface-lowest); --back-color: var(--color-primary); &:hover { - --back-color: var(--color-primary-darker); + --back-color: var(--color-brand-hover); } &:active { - --back-color: var(--color-primary-darkest); + --back-color: var(--color-brand-active); } } &.ExcButton--variant-outlined, &.ExcButton--variant-icon { --text-color: var(--color-primary); - --border-color: var(--color-primary); - --back-color: var(--input-bg-color); + --border-color: var(--color-border-outline); + --back-color: transparent; &:hover { - --text-color: var(--color-primary-darker); - --border-color: var(--color-primary-darker); + --text-color: var(--color-brand-hover); + --border-color: var(--color-brand-hover); } &:active { - --text-color: var(--color-primary-darkest); - --border-color: var(--color-primary-darkest); + --text-color: var(--color-brand-active); + --border-color: var(--color-brand-active); } } } diff --git a/src/components/HelpDialog.scss b/src/components/HelpDialog.scss index 8a0a08f3..0722c972 100644 --- a/src/components/HelpDialog.scss +++ b/src/components/HelpDialog.scss @@ -19,20 +19,35 @@ } &__btn { + --background: var(--color-surface-mid); + display: flex; column-gap: 0.5rem; align-items: center; - border: 1px solid var(--default-border-color); + background-color: var(--background); padding: 0.625rem 1rem; + border: 1px solid var(--background); border-radius: var(--border-radius-lg); color: var(--text-primary-color); font-weight: 600; font-size: 0.75rem; letter-spacing: 0.4px; + @at-root .excalidraw.theme--dark#{&} { + --background: var(--color-surface-high); + &:hover { + --background: #363541; + } + } + &:hover { + --background: var(--color-surface-high); text-decoration: none; } + + &:active { + border-color: var(--color-primary); + } } &__link-icon { diff --git a/src/components/LibraryMenu.scss b/src/components/LibraryMenu.scss index 16715614..1de8aee1 100644 --- a/src/components/LibraryMenu.scss +++ b/src/components/LibraryMenu.scss @@ -99,10 +99,10 @@ font-size: 0.75rem; &:hover { - background-color: var(--color-primary-darker); + background-color: var(--color-brand-hover); } &:active { - background-color: var(--color-primary-darkest); + background-color: var(--color-brand-active); } } diff --git a/src/components/RadioGroup.scss b/src/components/RadioGroup.scss index 86064826..eb70f4a8 100644 --- a/src/components/RadioGroup.scss +++ b/src/components/RadioGroup.scss @@ -1,27 +1,18 @@ @import "../css/variables.module"; .excalidraw { - --RadioGroup-background: #ffffff; - --RadioGroup-border: var(--color-gray-30); + --RadioGroup-background: var(--island-bg-color); + --RadioGroup-border: var(--color-surface-high); --RadioGroup-choice-color-off: var(--color-primary); - --RadioGroup-choice-color-off-hover: var(--color-primary-darkest); - --RadioGroup-choice-background-off: white; - --RadioGroup-choice-background-off-active: var(--color-gray-20); + --RadioGroup-choice-color-off-hover: var(--color-brand-hover); + --RadioGroup-choice-background-off: var(--island-bg-color); + --RadioGroup-choice-background-off-active: var(--color-surface-high); - --RadioGroup-choice-color-on: white; + --RadioGroup-choice-color-on: var(--color-surface-lowest); --RadioGroup-choice-background-on: var(--color-primary); - --RadioGroup-choice-background-on-hover: var(--color-primary-darker); - --RadioGroup-choice-background-on-active: var(--color-primary-darkest); - - &.theme--dark { - --RadioGroup-background: var(--color-gray-85); - --RadioGroup-border: var(--color-gray-70); - - --RadioGroup-choice-background-off: var(--color-gray-85); - --RadioGroup-choice-background-off-active: var(--color-gray-70); - --RadioGroup-choice-color-on: var(--color-gray-85); - } + --RadioGroup-choice-background-on-hover: var(--color-brand-hover); + --RadioGroup-choice-background-on-active: var(--color-brand-active); .RadioGroup { box-sizing: border-box; diff --git a/src/components/Sidebar/SidebarTrigger.scss b/src/components/Sidebar/SidebarTrigger.scss index 7c0669c4..834df656 100644 --- a/src/components/Sidebar/SidebarTrigger.scss +++ b/src/components/Sidebar/SidebarTrigger.scss @@ -3,8 +3,7 @@ .excalidraw { .sidebar-trigger { @include outlineButtonStyles; - - background-color: var(--island-bg-color); + @include filledButtonOnCanvas; width: auto; height: var(--lg-button-size); diff --git a/src/components/Switch.scss b/src/components/Switch.scss index ab98bad6..ca3c0371 100644 --- a/src/components/Switch.scss +++ b/src/components/Switch.scss @@ -1,15 +1,13 @@ @import "../css/variables.module"; .excalidraw { - --Switch-disabled-color: #d6d6d6; - --Switch-track-background: white; - --Switch-thumb-background: #3d3d3d; - - &.theme--dark { - --Switch-disabled-color: #5c5c5c; - --Switch-track-background: #242424; - --Switch-thumb-background: #b8b8b8; - } + --Switch-disabled-color: var(--color-border-outline); + --Switch-disabled-toggled-background: var(--color-border-outline-variant); + --Switch-disabled-border: var(--color-border-outline-variant); + --Switch-track-background: var(--island-bg-color); + --Switch-thumb-background: var(--color-on-surface); + --Switch-hover-background: var(--color-brand-hover); + --Switch-active-background: var(--color-brand-active); .Switch { position: relative; @@ -28,7 +26,11 @@ &:hover { background: var(--Switch-track-background); - border: 1px solid #999999; + border: 1px solid var(--Switch-hover-background); + } + + &:active { + border: 1px solid var(--Switch-active-background); } &.toggled { @@ -43,11 +45,11 @@ &.disabled { background: var(--Switch-track-background); - border: 1px solid var(--Switch-disabled-color); + border: 1px solid var(--Switch-disabled-border); &.toggled { - background: var(--Switch-disabled-color); - border: 1px solid var(--Switch-disabled-color); + background: var(--Switch-disabled-toggled-background); + border: 1px solid var(--Switch-disabled-toggled-background); } } @@ -92,7 +94,7 @@ } &.disabled.toggled:before { - background: var(--color-gray-50); + background: var(--Switch-disabled-color); } & input { diff --git a/src/components/TextField.scss b/src/components/TextField.scss index 57093996..74518d21 100644 --- a/src/components/TextField.scss +++ b/src/components/TextField.scss @@ -1,25 +1,16 @@ @import "../css/variables.module"; .excalidraw { - --ExcTextField--color: var(--color-gray-80); - --ExcTextField--label-color: var(--color-gray-80); - --ExcTextField--background: white; - --ExcTextField--readonly--background: var(--color-gray-10); - --ExcTextField--readonly--color: var(--color-gray-80); - --ExcTextField--border: var(--color-gray-40); - --ExcTextField--border-hover: var(--color-gray-50); - --ExcTextField--placeholder: var(--color-gray-40); - - &.theme--dark { - --ExcTextField--color: var(--color-gray-10); - --ExcTextField--label-color: var(--color-gray-20); - --ExcTextField--background: var(--color-gray-85); - --ExcTextField--readonly--background: var(--color-gray-80); - --ExcTextField--readonly--color: var(--color-gray-40); - --ExcTextField--border: var(--color-gray-70); - --ExcTextField--border-hover: var(--color-gray-60); - --ExcTextField--placeholder: var(--color-gray-80); - } + --ExcTextField--color: var(--color-on-surface); + --ExcTextField--label-color: var(--color-on-surface); + --ExcTextField--background: transparent; + --ExcTextField--readonly--background: var(--color-surface-high); + --ExcTextField--readonly--color: var(--color-on-surface); + --ExcTextField--border: var(--color-border-outline); + --ExcTextField--readonly--border: var(--color-border-outline-variant); + --ExcTextField--border-hover: var(--color-brand-hover); + --ExcTextField--border-active: var(--color-brand-active); + --ExcTextField--placeholder: var(--color-border-outline-variant); .ExcTextField { &--fullWidth { @@ -61,7 +52,7 @@ &:active, &:focus-within { - border-color: var(--color-primary); + border-color: var(--ExcTextField--border-active); } } @@ -107,7 +98,7 @@ &--readonly { background: var(--ExcTextField--readonly--background); - border-color: transparent; + border-color: var(--ExcTextField--readonly--border); & input { color: var(--ExcTextField--readonly--color); diff --git a/src/components/ToolIcon.scss b/src/components/ToolIcon.scss index 066f26d6..6ebd31cb 100644 --- a/src/components/ToolIcon.scss +++ b/src/components/ToolIcon.scss @@ -97,10 +97,6 @@ } } - // &:hover { - // background-color: var(--button-gray-2); - // } - &:active { background-color: var(--button-gray-3); } @@ -110,7 +106,6 @@ } &--hide { - // visibility: hidden; display: none !important; } } diff --git a/src/components/Toolbar.scss b/src/components/Toolbar.scss index aee50a14..fa123248 100644 --- a/src/components/Toolbar.scss +++ b/src/components/Toolbar.scss @@ -22,6 +22,7 @@ .App-toolbar__extra-tools-trigger { box-shadow: none; border: 0; + background-color: transparent; &:active { background-color: var(--button-hover-bg); diff --git a/src/components/dropdownMenu/DropdownMenu.scss b/src/components/dropdownMenu/DropdownMenu.scss index 1df90fd4..0ab1eb04 100644 --- a/src/components/dropdownMenu/DropdownMenu.scss +++ b/src/components/dropdownMenu/DropdownMenu.scss @@ -16,7 +16,7 @@ .dropdown-menu-container { padding: 8px 8px; box-sizing: border-box; - background-color: var(--island-bg-color); + // background-color: var(--island-bg-color); box-shadow: var(--shadow-island); border-radius: var(--border-radius-lg); position: relative; @@ -29,7 +29,7 @@ } .dropdown-menu-container { - background-color: #fff !important; + background-color: var(--island-bg-color); max-height: calc(100vh - 150px); overflow-y: auto; --gap: 2; @@ -40,7 +40,7 @@ padding: 0 0.625rem; column-gap: 0.625rem; font-size: 0.875rem; - color: var(--color-gray-100); + color: var(--color-on-surface); width: 100%; box-sizing: border-box; font-weight: normal; @@ -49,7 +49,7 @@ .dropdown-menu-item { background-color: transparent; - border: 0; + border: 1px solid transparent; align-items: center; height: 2rem; cursor: pointer; @@ -80,6 +80,11 @@ text-decoration: none; } + &:active { + background-color: var(--button-hover-bg); + border-color: var(--color-brand-active); + } + svg { width: 1rem; height: 1rem; @@ -98,22 +103,33 @@ font-weight: 500; } } - &.theme--dark { - .dropdown-menu-item { - color: var(--color-gray-40); - } - - .dropdown-menu-container { - background-color: var(--color-gray-90) !important; - } - } .dropdown-menu-button { @include outlineButtonStyles; - background-color: var(--island-bg-color); width: var(--lg-button-size); height: var(--lg-button-size); + --background: var(--color-surface-mid); + + background-color: var(--background); + + @at-root .excalidraw.theme--dark#{&} { + --background: var(--color-surface-high); + &:hover { + --background: #363541; + } + } + + &:hover { + --background: var(--color-surface-high); + background-color: var(--background); + text-decoration: none; + } + + &:active { + border-color: var(--color-primary); + } + svg { width: var(--lg-icon-size); height: var(--lg-icon-size); diff --git a/src/components/live-collaboration/LiveCollaborationTrigger.scss b/src/components/live-collaboration/LiveCollaborationTrigger.scss index 138d6459..76319334 100644 --- a/src/components/live-collaboration/LiveCollaborationTrigger.scss +++ b/src/components/live-collaboration/LiveCollaborationTrigger.scss @@ -14,6 +14,8 @@ --button-active-bg: var(--color-primary-darker); + box-shadow: 0 0 0 1px var(--color-surface-lowest); + flex-shrink: 0; // double .active to force specificity diff --git a/src/components/main-menu/MainMenu.tsx b/src/components/main-menu/MainMenu.tsx index aa245408..6d6ba5ef 100644 --- a/src/components/main-menu/MainMenu.tsx +++ b/src/components/main-menu/MainMenu.tsx @@ -43,6 +43,7 @@ const MainMenu = Object.assign( }); }} data-testid="main-menu-trigger" + className="main-menu-trigger" > {HamburgerMenuIcon} diff --git a/src/components/welcome-screen/WelcomeScreen.scss b/src/components/welcome-screen/WelcomeScreen.scss index 8f1a09bf..ef526aba 100644 --- a/src/components/welcome-screen/WelcomeScreen.scss +++ b/src/components/welcome-screen/WelcomeScreen.scss @@ -174,7 +174,7 @@ justify-content: space-between; background: none; - border: none; + border: 1px solid transparent; padding: 0.75rem; @@ -204,7 +204,7 @@ .welcome-screen-menu-item:hover { text-decoration: none; - background: var(--color-gray-10); + background: var(--button-hover-bg); .welcome-screen-menu-item__shortcut { color: var(--color-gray-50); @@ -216,7 +216,8 @@ } .welcome-screen-menu-item:active { - background: var(--color-gray-20); + background: var(--button-hover-bg); + border-color: var(--color-brand-active); .welcome-screen-menu-item__shortcut { color: var(--color-gray-50); @@ -247,8 +248,7 @@ } .welcome-screen-menu-item:hover { - background: var(--color-gray-85); - + background-color: var(--color-surface-low); .welcome-screen-menu-item__shortcut { color: var(--color-gray-50); } @@ -259,7 +259,6 @@ } .welcome-screen-menu-item:active { - background-color: var(--color-gray-90); .welcome-screen-menu-item__text { color: var(--color-gray-10); } diff --git a/src/css/styles.scss b/src/css/styles.scss index 4ca58af4..d3553871 100644 --- a/src/css/styles.scss +++ b/src/css/styles.scss @@ -444,13 +444,14 @@ } &:active { - border: 1px solid var(--color-primary-darkest); + border: 1px solid var(--button-active-border); } } .help-icon { @include outlineButtonStyles; - background-color: var(--island-bg-color); + @include filledButtonOnCanvas; + width: var(--lg-button-size); height: var(--lg-button-size); @@ -621,6 +622,20 @@ padding: 0; } } + + .main-menu-trigger { + @include filledButtonOnCanvas; + } + + .App-menu__left { + --button-border: transparent; + --button-bg: var(--color-surface-mid); + + @at-root .excalidraw.theme--dark#{&} { + --button-hover-bg: #363541; + --button-bg: var(--color-surface-high); + } + } } .ErrorSplash.excalidraw { diff --git a/src/css/theme.scss b/src/css/theme.scss index 1db22313..4fb8bf81 100644 --- a/src/css/theme.scss +++ b/src/css/theme.scss @@ -12,27 +12,30 @@ --dialog-border-color: var(--color-gray-20); --dropdown-icon: url('data:image/svg+xml,'); --focus-highlight-color: #{$oc-blue-2}; - --icon-fill-color: var(--color-gray-80); + --icon-fill-color: var(--color-on-surface); --icon-green-fill-color: #{$oc-green-9}; --default-bg-color: #{$oc-white}; --input-bg-color: #{$oc-white}; --input-border-color: #{$oc-gray-4}; --input-hover-bg-color: #{$oc-gray-1}; --input-label-color: #{$oc-gray-7}; - --island-bg-color: rgba(255, 255, 255, 0.96); + --island-bg-color: #ffffff; --keybinding-color: var(--color-gray-40); --link-color: #{$oc-blue-7}; --overlay-bg-color: #{transparentize($oc-white, 0.12)}; - --popup-bg-color: #{$oc-white}; + --popup-bg-color: var(--island-bg-color); --popup-secondary-bg-color: #{$oc-gray-1}; --popup-text-color: #{$oc-black}; --popup-text-inverted-color: #{$oc-white}; --select-highlight-color: #{$oc-blue-5}; - --shadow-island: 0px 7px 14px rgba(0, 0, 0, 0.05), - 0px 0px 3.12708px rgba(0, 0, 0, 0.0798), - 0px 0px 0.931014px rgba(0, 0, 0, 0.1702); - --button-hover-bg: var(--color-gray-10); - --default-border-color: var(--color-gray-30); + --shadow-island: 0px 0px 0.9310142993927002px 0px rgba(0, 0, 0, 0.17), + 0px 0px 3.1270833015441895px 0px rgba(0, 0, 0, 0.08), + 0px 7px 14px 0px rgba(0, 0, 0, 0.05); + + --button-hover-bg: var(--color-surface-high); + --button-active-bg: var(--color-surface-high); + --button-active-border: var(--color-brand-active); + --default-border-color: var(--color-surface-high); --default-button-size: 2rem; --default-icon-size: 1rem; @@ -63,14 +66,14 @@ 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035), 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802); - --sidebar-border-color: var(--color-gray-20); - --sidebar-bg-color: #fff; + --sidebar-border-color: var(--color-surface-high); + --sidebar-bg-color: var(--island-bg-color); --library-dropdown-shadow: 0px 15px 6px rgba(0, 0, 0, 0.01), 0px 8px 5px rgba(0, 0, 0, 0.05), 0px 4px 4px rgba(0, 0, 0, 0.09), 0px 1px 2px rgba(0, 0, 0, 0.1), 0px 0px 0px rgba(0, 0, 0, 0.1); --space-factor: 0.25rem; - --text-primary-color: var(--color-gray-80); + --text-primary-color: var(--color-on-surface); --color-selection: #6965db; @@ -132,6 +135,19 @@ --border-radius-md: 0.375rem; --border-radius-lg: 0.5rem; + --color-surface-high: hsl(244, 100%, 97%); + --color-surface-mid: hsl(240 25% 96%); + --color-surface-low: hsl(240 25% 94%); + --color-surface-lowest: #ffffff; + --color-on-surface: #1b1b1f; + --color-brand-hover: #5753d0; + --color-on-primary-container: #030064; + --color-surface-primary-container: #e0dfff; + --color-brand-active: #4440bf; + --color-border-outline: #767680; + --color-border-outline-variant: #c5c5d0; + --color-surface-primary-container: #e0dfff; + &.theme--dark { &.theme--dark-background-none { background: none; @@ -150,29 +166,24 @@ --dialog-border-color: var(--color-gray-80); --dropdown-icon: url('data:image/svg+xml,'); --focus-highlight-color: #{$oc-blue-6}; - --icon-fill-color: var(--color-gray-40); --icon-green-fill-color: #{$oc-green-4}; --default-bg-color: #121212; --input-bg-color: #121212; --input-border-color: #2e2e2e; --input-hover-bg-color: #181818; --input-label-color: #{$oc-gray-2}; - --island-bg-color: #262627; + --island-bg-color: #232329; --keybinding-color: var(--color-gray-60); --link-color: #{$oc-blue-4}; --overlay-bg-color: #{transparentize($oc-gray-8, 0.88)}; - --popup-bg-color: #2c2c2c; --popup-secondary-bg-color: #222; --popup-text-color: #{$oc-gray-4}; --popup-text-inverted-color: #2c2c2c; --select-highlight-color: #{$oc-blue-4}; - --text-primary-color: var(--color-gray-40); - --button-hover-bg: var(--color-gray-80); - --default-border-color: var(--color-gray-80); - --shadow-island: 0px 13px 33px rgba(0, 0, 0, 0.07), - 0px 4.13px 9.94853px rgba(0, 0, 0, 0.0456112), - 0px 1.13px 4.13211px rgba(0, 0, 0, 0.035), - 0px 0.769896px 1.4945px rgba(0, 0, 0, 0.0243888); + --shadow-island: 0px 0px 0.9310142993927002px 0px rgba(0, 0, 0, 0.17), + 0px 0px 3.1270833015441895px 0px rgba(0, 0, 0, 0.08), + 0px 7px 14px 0px rgba(0, 0, 0, 0.05); + --modal-shadow: 0px 100px 80px rgba(0, 0, 0, 0.07), 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275), @@ -180,8 +191,6 @@ 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802); --avatar-border-color: var(--color-gray-85); - --sidebar-border-color: var(--color-gray-85); - --sidebar-bg-color: #191919; --scrollbar-thumb: #{$oc-gray-8}; --scrollbar-thumb-hover: #{$oc-gray-7}; @@ -224,5 +233,18 @@ --color-promo: #d297ff; --color-logo-text: #e2dfff; + + --color-surface-high: hsl(245, 10%, 21%); + --color-surface-low: hsl(240, 8%, 15%); + --color-surface-mid: hsl(240 6% 10%); + --color-surface-lowest: hsl(0, 0%, 7%); + --color-on-surface: #e3e3e8; + --color-brand-hover: #bbb8ff; + --color-on-primary-container: #e0dfff; + --color-surface-primary-container: #403e6a; + --color-brand-active: #d0ccff; + --color-border-outline: #8e8d9c; + --color-border-outline-variant: #46464f; + --color-surface-primary-container: #403e6a; } } diff --git a/src/css/variables.module.scss b/src/css/variables.module.scss index 10e42dc7..634752df 100644 --- a/src/css/variables.module.scss +++ b/src/css/variables.module.scss @@ -11,7 +11,7 @@ .ToolIcon_type_radio, .ToolIcon_type_checkbox { &:checked + .ToolIcon__icon { - --icon-fill-color: var(--color-primary-darker); + --icon-fill-color: var(--color-on-primary-container); svg { fill: var(--icon-fill-color); @@ -23,11 +23,11 @@ .ToolIcon_type_radio, .ToolIcon_type_checkbox { &:checked + .ToolIcon__icon { - background: var(--color-primary-light); - --keybinding-color: var(--color-gray-60); + background: var(--color-surface-primary-container); + --keybinding-color: var(--color-on-primary-container); svg { - color: var(--color-primary-darker); + color: var(--color-on-primary-container); } } } @@ -44,7 +44,11 @@ &:active { background: var(--button-hover-bg); - border: 1px solid var(--color-primary-darkest); + border: 1px solid var(--button-active-border); + + svg { + color: var(--color-on-primary-container); + } } } } @@ -63,7 +67,7 @@ border-radius: var(--border-radius-lg); cursor: pointer; background-color: var(--button-bg, var(--island-bg-color)); - color: var(--button-color, var(--text-primary-color)); + color: var(--button-color, var(--color-on-surface)); svg { width: var(--button-width, var(--lg-icon-size)); @@ -88,22 +92,38 @@ } &.active { - background-color: var(--button-selected-bg, var(--color-primary-light)); - border-color: var(--button-selected-border, var(--color-primary-light)); + background-color: var( + --button-selected-bg, + var(--color-surface-primary-container) + ); + border-color: var( + --button-selected-border, + var(--color-surface-primary-container) + ); &:hover { background-color: var( --button-selected-hover-bg, - var(--color-primary-light) + var(--color-surface-primary-container) ); } svg { - color: var(--button-color, var(--color-primary-darker)); + color: var(--button-color, var(--color-on-primary-container)); } } } +@mixin filledButtonOnCanvas { + border: none; + box-shadow: 0 0 0 1px var(--color-surface-lowest); + background-color: var(--color-surface-low); + + &:active { + box-shadow: 0 0 0 1px var(--color-brand-active); + } +} + $theme-filter: "invert(93%) hue-rotate(180deg)"; $right-sidebar-width: "302px";