diff --git a/core b/core new file mode 100644 index 0000000000..9a8bda6cd5 Binary files /dev/null and b/core differ diff --git a/special-pages/pages/new-tab/app/components/App.module.css b/special-pages/pages/new-tab/app/components/App.module.css index eb7e1aa644..ed34b578bd 100644 --- a/special-pages/pages/new-tab/app/components/App.module.css +++ b/special-pages/pages/new-tab/app/components/App.module.css @@ -100,7 +100,7 @@ body[data-animate-background="true"] { .aside { color: var(--ds-color-theme-text-primary); - background: var(--ds-color-theme-surface-tertiary); + background: var(--ds-color-theme-surface-secondary); grid-area: aside; height: 100vh; z-index: 1; diff --git a/special-pages/pages/new-tab/app/components/DismissButton.module.css b/special-pages/pages/new-tab/app/components/DismissButton.module.css index e9f8d76a1d..f503d39b17 100644 --- a/special-pages/pages/new-tab/app/components/DismissButton.module.css +++ b/special-pages/pages/new-tab/app/components/DismissButton.module.css @@ -7,7 +7,7 @@ padding: 0; line-height: 1; background-color: transparent; - color: var(--ds-color-theme-text-secondary); + color: var(--ds-color-theme-icons-secondary); border: none; border-radius: 50%; transition: all .3s; @@ -19,47 +19,22 @@ transform: translateX(-50%) translateY(-50%); } - &:hover { - background-color: var(--color-black-at-9); + &:hover:not(:disabled) { + background-color: var(--ds-color-theme-control-fill-primary); cursor: pointer; } - &:active { - background-color: var(--color-black-at-18); - color: var(--ds-color-theme-text-primary); + &:active:not(:disabled) { + background-color: var(--ds-color-theme-control-fill-secondary); } &:disabled { - color: var(--color-black-at-84); - } - - &:disabled:hover { + opacity: 0.4; cursor: not-allowed; - background-color: var(--color-white-at-6); } &:focus-visible { box-shadow: var(--focus-ring); outline: none; } - - [data-theme=dark] & { - &:hover { - background-color: var(--color-black-at-9); - } - - &:active { - background-color: var(--color-white-at-18); - } - - &:disabled { - color: var(--color-white-at-12); - opacity: 0.8; - } - - &:disabled:hover { - cursor: not-allowed; - background-color: var(--color-white-at-12); - } - } } diff --git a/special-pages/pages/new-tab/app/components/Popover.js b/special-pages/pages/new-tab/app/components/Popover.js index 184137228c..cb941a420a 100644 --- a/special-pages/pages/new-tab/app/components/Popover.js +++ b/special-pages/pages/new-tab/app/components/Popover.js @@ -1,7 +1,7 @@ import { h } from 'preact'; import { useEffect, useId, useRef } from 'preact/hooks'; import { useTypedTranslationWith } from '../types.js'; -import { Cross } from './Icons.js'; +import { DismissButton } from './DismissButton.jsx'; import styles from './Popover.module.css'; /** @@ -44,9 +44,11 @@ export function Popover({ title, badge, onClose, children }) { />
- +

{badge && {badge}} {title} diff --git a/special-pages/pages/new-tab/app/components/Popover.module.css b/special-pages/pages/new-tab/app/components/Popover.module.css index 22dcff8331..918dcccbf2 100644 --- a/special-pages/pages/new-tab/app/components/Popover.module.css +++ b/special-pages/pages/new-tab/app/components/Popover.module.css @@ -23,27 +23,9 @@ } .closeButton { - background: none; - border-radius: 100%; - border: none; - color: var(--ds-color-theme-icons-primary); - cursor: pointer; - padding: 0; position: absolute; right: var(--sp-4); top: var(--sp-4); - - &:hover { - background: rgba(0, 0, 0, 0.06); /* @todo: dark mode? */ - } - - &:active { - background: rgba(0, 0, 0, 0.12); /* @todo: dark mode? */ - } - - &:focus-visible { - box-shadow: var(--focus-ring); - } } .heading { @@ -86,6 +68,11 @@ &:active { color: var(--ds-color-theme-accent-tertiary); } + + &:focus-visible { + box-shadow: var(--focus-ring); + outline: none; + } } } diff --git a/special-pages/pages/new-tab/app/components/ShowHide.module.css b/special-pages/pages/new-tab/app/components/ShowHide.module.css index 2efcf2163f..75f3352d53 100644 --- a/special-pages/pages/new-tab/app/components/ShowHide.module.css +++ b/special-pages/pages/new-tab/app/components/ShowHide.module.css @@ -104,24 +104,13 @@ } &:hover { - background-color: var(--color-black-at-6); + background-color: var(--ds-color-theme-control-fill-secondary); + border-color: var(--ds-color-theme-control-border-secondary); } &:active { - background-color: var(--color-black-at-12); - } - - [data-theme=dark] & { - border-color: var(--color-white-at-9); - - &:hover { - border-color: var(--color-white-at-18); - background-color: var(--color-white-at-6); - } - - &:active { - background-color: var(--color-white-at-12); - } + background-color: var(--ds-color-theme-control-fill-tertiary); + border-color: var(--ds-color-theme-control-border-tertiary); } } diff --git a/special-pages/pages/new-tab/app/components/Tooltip/Tooltip.module.css b/special-pages/pages/new-tab/app/components/Tooltip/Tooltip.module.css index 46f8b871ac..1a338f7dad 100644 --- a/special-pages/pages/new-tab/app/components/Tooltip/Tooltip.module.css +++ b/special-pages/pages/new-tab/app/components/Tooltip/Tooltip.module.css @@ -7,7 +7,7 @@ } .tooltipContainer:focus-visible { - outline: 2px solid var(--color-blue-50); + outline: 2px solid var(--ds-color-theme-accent-primary); outline-offset: 2px; } @@ -17,11 +17,11 @@ left: calc(100% + 8px); padding: 8px 16px; border-radius: 12px; - background-color: rgba(255, 255, 255, 0.98); + background-color: var(--ds-color-theme-surface-tertiary); box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.20); font-size: 12px; line-height: 15px; - color: var(--color-black-at-96); + color: var(--ds-color-theme-text-primary); white-space: normal; width: 236px; z-index: 1000; @@ -33,12 +33,6 @@ } } -/* Dark mode styles */ -[data-theme="dark"] .tooltip { - background-color: rgb(71, 71, 71); - color: var(--color-white-at-96); -} - @keyframes tooltipFadeIn { from { opacity: 0; diff --git a/special-pages/pages/new-tab/app/customizer/components/BrowserThemeSection.module.css b/special-pages/pages/new-tab/app/customizer/components/BrowserThemeSection.module.css index 6d6fa84fe0..22a6aa8a3c 100644 --- a/special-pages/pages/new-tab/app/customizer/components/BrowserThemeSection.module.css +++ b/special-pages/pages/new-tab/app/customizer/components/BrowserThemeSection.module.css @@ -27,6 +27,7 @@ &:focus-visible { box-shadow: var(--focus-ring-primary); + outline: none; } &:active { @@ -73,4 +74,4 @@ border: 1px solid var(--color-white-at-9); background: var(--color-gray-80); } -} \ No newline at end of file +} diff --git a/special-pages/pages/new-tab/app/customizer/components/Customizer.module.css b/special-pages/pages/new-tab/app/customizer/components/Customizer.module.css index 676c910fed..0d542c2028 100644 --- a/special-pages/pages/new-tab/app/customizer/components/Customizer.module.css +++ b/special-pages/pages/new-tab/app/customizer/components/Customizer.module.css @@ -17,30 +17,19 @@ gap: calc(6 * var(--px-in-rem)); color: var(--ds-color-theme-text-primary); - [data-theme=dark] & { - border-color: var(--color-white-at-9); - } - &:focus-visible { box-shadow: var(--focus-ring); outline: none; } &:hover { - background-color: var(--color-black-at-6); - border-color: var(--color-black-at-18); - [data-theme=dark] & { - background-color: var(--color-white-at-18); - border-color: var(--color-white-at-36); - } + background-color: var(--ds-color-theme-control-fill-secondary); + border-color: var(--ds-color-theme-control-border-secondary); } &:active { - background-color: var(--color-white-at-12); - [data-theme=dark] & { - background-color: var(--color-white-at-24); - border-color: var(--color-white-at-50); - } + background-color: var(--ds-color-theme-control-fill-tertiary); + border-color: var(--ds-color-theme-control-border-tertiary); } &[data-kind="drawer"][aria-expanded="true"] { diff --git a/special-pages/pages/new-tab/app/customizer/components/CustomizerDrawerInner.module.css b/special-pages/pages/new-tab/app/customizer/components/CustomizerDrawerInner.module.css index 3eccb99b85..ccb297ae01 100644 --- a/special-pages/pages/new-tab/app/customizer/components/CustomizerDrawerInner.module.css +++ b/special-pages/pages/new-tab/app/customizer/components/CustomizerDrawerInner.module.css @@ -37,18 +37,14 @@ position: relative; flex-shrink: 0; - color: var(--color-black-at-84); - background-color: var(--color-black-at-9); - &:hover { - background-color: var(--color-black-at-18); + background-color: var(--ds-color-theme-control-fill-primary); + + &:hover:not(:disabled) { + background-color: var(--ds-color-theme-control-fill-secondary); } - [data-theme="dark"] & { - color: var(--color-white-at-84); - background-color: var(--color-white-at-9); - &:hover { - background-color: var(--color-white-at-18); - } + &:active:not(:disabled) { + background-color: var(--ds-color-theme-control-fill-tertiary); } } .backBtn { @@ -76,7 +72,7 @@ width: 100%; } .borderedSection { - border-top: 1px solid var(--ds-color-theme-container-border-primary); + border-top: 1px solid var(--ds-color-theme-surface-decoration-primary); padding-top: calc(18 * var(--px-in-rem)) } .sectionBody { @@ -257,10 +253,8 @@ color: var(--ds-color-theme-accent-primary); margin-bottom: var(--sp-3); - &:focus { - outline: none; - } &:focus-visible { - text-decoration: underline; + box-shadow: var(--focus-ring); + outline: none; } } diff --git a/special-pages/pages/new-tab/app/favorites/components/Favorites.module.css b/special-pages/pages/new-tab/app/favorites/components/Favorites.module.css index 447e1559b1..2bb308c4da 100644 --- a/special-pages/pages/new-tab/app/favorites/components/Favorites.module.css +++ b/special-pages/pages/new-tab/app/favorites/components/Favorites.module.css @@ -15,10 +15,9 @@ margin-bottom: var(--sp-4); } - &:hover { - [data-show-hide] { - opacity: 1; - } + &:hover [data-show-hide], + & [data-show-hide]:focus-within { + opacity: 1; } } diff --git a/special-pages/pages/new-tab/app/next-steps/components/NextSteps.module.css b/special-pages/pages/new-tab/app/next-steps/components/NextSteps.module.css index dcb0d7a3cf..df484fe56c 100644 --- a/special-pages/pages/new-tab/app/next-steps/components/NextSteps.module.css +++ b/special-pages/pages/new-tab/app/next-steps/components/NextSteps.module.css @@ -57,56 +57,29 @@ transition: opacity .3s ease-out; &:active { - background-color: var(--color-black-at-6); + background-color: var(--ds-color-theme-control-fill-tertiary); opacity: 0; } } - &:hover { - background-color: var(--color-black-at-6); + &:hover:not(:disabled) { + background-color: var(--ds-color-theme-control-fill-secondary); cursor: pointer; } - &:active { - background-color: var(--ds-color-theme-accent-primary); - color: var(--ds-color-theme-accent-content-primary); + &:active:not(:disabled) { + background-color: var(--ds-color-theme-control-fill-tertiary); } &:disabled { - color: var(--color-black-at-84); - } - - &:disabled:hover { + opacity: 0.4; cursor: not-allowed; - background-color: var(--color-white-at-6); } &:focus-visible { box-shadow: var(--focus-ring); outline: none; } - - [data-theme=dark] & { - &.supressActiveStateForSwitchToConfirmationText { - &:active { - background-color: var(--color-black-at-9); - } - } - - &:hover:not(:active) { - background-color: var(--color-black-at-9); - } - - &:disabled { - color: var(--color-white-at-12); - opacity: 0.8; - } - - &:disabled:hover { - cursor: not-allowed; - background-color: var(--color-white-at-12); - } - } } .confirmation { @@ -149,10 +122,9 @@ opacity: 0; } - &:hover { - [data-show-hide] { - opacity: 1; - } + &:hover [data-show-hide], + & [data-show-hide]:focus-within { + opacity: 1; } } diff --git a/special-pages/pages/new-tab/app/omnibar/components/SuggestionsList.module.css b/special-pages/pages/new-tab/app/omnibar/components/SuggestionsList.module.css index 0c526f16e8..0f933e62d5 100644 --- a/special-pages/pages/new-tab/app/omnibar/components/SuggestionsList.module.css +++ b/special-pages/pages/new-tab/app/omnibar/components/SuggestionsList.module.css @@ -42,7 +42,7 @@ } .badge { - background: var(--color-white-at-30); /* @fixme: Should use a --ntp theme variable for this. This pill design differs from Figma, though */ + background: var(--ds-color-theme-accent-secondary); } } diff --git a/special-pages/pages/new-tab/app/omnibar/components/TabSwitcher.module.css b/special-pages/pages/new-tab/app/omnibar/components/TabSwitcher.module.css index 6026cf0907..bbf85e661a 100644 --- a/special-pages/pages/new-tab/app/omnibar/components/TabSwitcher.module.css +++ b/special-pages/pages/new-tab/app/omnibar/components/TabSwitcher.module.css @@ -4,7 +4,6 @@ display: grid; gap: var(--sp-0_5); grid-template-columns: repeat(var(--tab-count), 1fr); - overflow: hidden; padding: var(--sp-0_5); position: relative; @@ -16,6 +15,7 @@ .tab { align-items: center; background: none; + border-radius: 99px; border: none; color: var(--ds-color-theme-text-primary); cursor: pointer; @@ -28,6 +28,11 @@ transform: translateZ(0); /* Force .tab into its own stacking context. Workaround for WebKit mistakenly layering .blob on top of .tab when .App_mainLayout animates. */ z-index: 1; + &:focus-visible { + box-shadow: var(--focus-ring); + outline: none; + } + &:hover:not([aria-selected="true"])::before { background: var(--ds-color-theme-control-fill-primary); border-radius: 99px; diff --git a/special-pages/pages/new-tab/app/protections/components/Protections.module.css b/special-pages/pages/new-tab/app/protections/components/Protections.module.css index 3beb06ab87..ca340f1946 100644 --- a/special-pages/pages/new-tab/app/protections/components/Protections.module.css +++ b/special-pages/pages/new-tab/app/protections/components/Protections.module.css @@ -62,6 +62,11 @@ color: var(--ds-color-theme-text-primary); border-radius: 5px; background: transparent; + + &:focus-visible { + box-shadow: var(--focus-ring); + outline: none; + } } [data-platform-name="windows"] { @@ -99,13 +104,16 @@ background: transparent; border: 0.5px solid transparent; height: 22px; + } .active { border: 0.5px solid rgba(0, 0, 0, 0.10); background: #FFF; - /* Mac/Control/Standard */ - box-shadow: 0px 0.5px 0px 0px rgba(255, 255, 255, 0.20) inset, 0px 1px 0px 0px rgba(255, 255, 255, 0.05) inset, 0px 0px 0px 0.5px rgba(0, 0, 0, 0.10), 0px 0px 1px 0px rgba(0, 0, 0, 0.05), 0px 1px 1px 0px rgba(0, 0, 0, 0.20); + &:not(:focus-visible) { + /* Mac/Control/Standard */ + box-shadow: 0px 0.5px 0px 0px rgba(255, 255, 255, 0.20) inset, 0px 1px 0px 0px rgba(255, 255, 255, 0.05) inset, 0px 0px 0px 0.5px rgba(0, 0, 0, 0.10), 0px 0px 1px 0px rgba(0, 0, 0, 0.05), 0px 1px 1px 0px rgba(0, 0, 0, 0.20); + } [data-theme="dark"] & { background: rgba(255, 255, 255, 0.25); diff --git a/special-pages/pages/new-tab/app/styles/ntp-theme.css b/special-pages/pages/new-tab/app/styles/ntp-theme.css index ebd52e836e..866c7a4364 100644 --- a/special-pages/pages/new-tab/app/styles/ntp-theme.css +++ b/special-pages/pages/new-tab/app/styles/ntp-theme.css @@ -53,16 +53,16 @@ } [data-theme=light] { - --focus-ring: 0px 0px 0px 1px var(--color-white), 0px 0px 0px 3px var(--ds-color-theme-accent-primary); - --focus-ring-thin: 0px 0px 0px 1px var(--ds-color-theme-accent-primary), 0px 0px 0px 1px var(--color-white); + --focus-ring: 0px 0px 0px 1px var(--color-white), 0px 0px 0px 3px var(--color-black); + --focus-ring-thin: 0px 0px 0px 1px var(--color-black), 0px 0px 0px 1px var(--color-white); --focus-ring-primary: 0px 0px 0px 1px var(--color-white), 0px 0px 0px 3px var(--ds-color-theme-accent-primary); --ntp-selection-color: var(--color-white); --ntp-selection-background-color: #3A69EF; } [data-theme=dark] { - --focus-ring: 0px 0px 0px 1px var(--ds-color-theme-accent-primary), 0px 0px 0px 3px var(--color-white); - --focus-ring-thin: 0px 0px 0px 1px var(--color-white), 0px 0px 0px 1px var(--ds-color-theme-accent-primary); + --focus-ring: 0px 0px 0px 1px var(--color-white), 0px 0px 0px 3px var(--color-white); + --focus-ring-thin: 0px 0px 0px 1px var(--color-white), 0px 0px 0px 1px var(--color-white); --focus-ring-primary: 0px 0px 0px 1px var(--default-dark-background-color), 0px 0px 0px 3px var(--ds-color-theme-accent-primary); --ntp-selection-color: var(--color-white); --ntp-selection-background-color: var(--color-blue-30); diff --git a/special-pages/pages/new-tab/integration-tests/new-tab.screenshots.spec.js-snapshots/omnibar-sidebar-ai-disabled-ntp-screenshots-light-darwin.png b/special-pages/pages/new-tab/integration-tests/new-tab.screenshots.spec.js-snapshots/omnibar-sidebar-ai-disabled-ntp-screenshots-light-darwin.png index 893075ef65..e16d661c5b 100644 Binary files a/special-pages/pages/new-tab/integration-tests/new-tab.screenshots.spec.js-snapshots/omnibar-sidebar-ai-disabled-ntp-screenshots-light-darwin.png and b/special-pages/pages/new-tab/integration-tests/new-tab.screenshots.spec.js-snapshots/omnibar-sidebar-ai-disabled-ntp-screenshots-light-darwin.png differ diff --git a/special-pages/pages/new-tab/integration-tests/new-tab.screenshots.spec.js-snapshots/omnibar-sidebar-ai-enabled-ntp-screenshots-light-darwin.png b/special-pages/pages/new-tab/integration-tests/new-tab.screenshots.spec.js-snapshots/omnibar-sidebar-ai-enabled-ntp-screenshots-light-darwin.png index b2917c9a93..3e42957260 100644 Binary files a/special-pages/pages/new-tab/integration-tests/new-tab.screenshots.spec.js-snapshots/omnibar-sidebar-ai-enabled-ntp-screenshots-light-darwin.png and b/special-pages/pages/new-tab/integration-tests/new-tab.screenshots.spec.js-snapshots/omnibar-sidebar-ai-enabled-ntp-screenshots-light-darwin.png differ diff --git a/special-pages/pages/new-tab/integration-tests/new-tab.screenshots.spec.js-snapshots/omnibar-sidebar-hide-ai-setting-ntp-screenshots-light-darwin.png b/special-pages/pages/new-tab/integration-tests/new-tab.screenshots.spec.js-snapshots/omnibar-sidebar-hide-ai-setting-ntp-screenshots-light-darwin.png index a0b12cb6a8..2c27009495 100644 Binary files a/special-pages/pages/new-tab/integration-tests/new-tab.screenshots.spec.js-snapshots/omnibar-sidebar-hide-ai-setting-ntp-screenshots-light-darwin.png and b/special-pages/pages/new-tab/integration-tests/new-tab.screenshots.spec.js-snapshots/omnibar-sidebar-hide-ai-setting-ntp-screenshots-light-darwin.png differ