- Jan 22, 2024
-
-
Peter Hegman authored
Allows users to switch between available organizations
-
- Jan 18, 2024
-
-
Paul Gascou-Vaillancourt authored
This replaces a bunch of `@include` rules with their actual CSS definitions. This is done in preparation for moving to Tailwind CSS, which won't let us include utilities the same way due to our inability to support the `@apply` directive. The `@include` approach was already questioned in the past as it doen't have much value over explicit style definitions and just adds an unnecessary abstraction layer.
-
Scott de Jonge authored
-
- Jan 17, 2024
-
-
James Rushford authored
-
- Jan 08, 2024
-
-
Scott de Jonge authored
Remove `user_application_theme_css_filename` and stylesheet link in head Remove `theme_helper.scss` Remove `theme_*.scss` files
-
- Jan 02, 2024
-
-
James Rushford authored
-
- Dec 18, 2023
-
-
Tomas Bulva authored
Group and project filter dropdowns scrolling issues. Are in part due to style leaking. And in part due to fluid width of content. Changelog: fixed
-
- Dec 11, 2023
-
-
Scott de Jonge authored
Rename `counter` class `user-bar-button` shared with "Search or go to" Rename `user-bar-item` class `user-bar-dropdown-toggle` for clarity Add `$t-white-a-*` SCSS variables Make `$t-gray-a-` values static and remove `_dark.scss` overrides Refactor super sidebar styles with new custom properties for `:active` states, remove `mix-blend-mode` usage, add `.gl-dark` custom property values using `$t-white-a-*` values Update `nav-item` and `menu-section` to use CSS custom properties for `:hover`/`:focus` and now `:active` states Remove `gl-bg-t-gray-a-08` override class on `GlBadge` in `nav-item` Changelog: other
-
- Nov 29, 2023
-
-
Thomas Hutterer authored
-
- Nov 24, 2023
-
-
- Nov 21, 2023
-
-
This component could later be extracted into gitlab-ui.
-
Create `--super-sidebar-*` CSS custom properties for color values Update theme mixin to set CSS cuastom properties and mix-blend-mode Remove custom colors from `.brand-logo` use button `background-color` with `mix-blend-mode` in `super_sidebar.scss` Remove color utility classes from `.counter` and `.active-indicator` Add explicit `super-sidebar-help-center-toggle` class to set background when `aria-expanded="true"`
-
- Sep 14, 2023
-
-
Mark Florian authored
This removes code left unused by !129843. Part of #415812.
-
Move `<button>` to be sibling of `<nav-item>` link element Remove custom `nav-item-link` and `nav-item-badge` class usage and styles Add `show-on-focus-or-hover--control` control class Add `hide-on-focus-or-hover` context/control/target classes Update `disable_animations.scss` usage of `:not()` selector to remove `nav-item-link` selector, opt for direct selector `button.show-on-focus-or-hover--target` Changelog: fixed
-
- Sep 12, 2023
-
-
Changelog: added
-
- Aug 31, 2023
-
-
This should help prevent accidental clicks when trying to navigate. Changelog: changed
-
- Aug 15, 2023
-
-
Mark Florian authored
This also uses the `js-` prefix to make its purpose clearer, that it's not for styling purposes. See https://docs.gitlab.com/ee/development/fe_guide/style/scss.html#selectors-with-a-js--prefix.
-
Mark Florian authored
The sidebar nav item and global search frequent items have similar needs: show descendant elements when some ancestor element has focus or hover. The extra CSS isn't ideal, but our utility classes aren't powerful enough to support this use case. At least it's now shared across a few places.
-
- Jul 24, 2023
-
-
Sascha Eggenberger authored
Changelog: changed
-
- Jul 14, 2023
-
-
Rename `$calc-application-bars-height` to `$calc-system-bars-height` Update `calc(#{$header-height} + #{$calc-system-bars-height})` usage to `$calc-application-bars-height` variable
-
- Jul 10, 2023
-
-
Scott de Jonge authored
Create `brand_logo.scss` stylesheet Decouple brand logo styles from super sidebar
-
- Jul 08, 2023
-
-
- May 11, 2023
-
-
Move "Skip to main content" link outside of becoming `inert` in `<aside class="super-sidebar">` Update styles to `gl-fixed` and required positioning, margin, & width Move `.super-sidebar-skip-to` styles before `.super-sidebar` to reflect element order on the DOM Create `$super-sidebar-skip-to-z-index` variable Changelog: fixed
-
- May 10, 2023
-
-
Scott de Jonge authored
Update class from `count-pill` to `nav-item-badge` for clarity Add `nav-item-badge`, `gl-absolute`, `gl-top-2`, and `gl-right-0` classes conditionally when `isPinnable` is `true` Changelog: fixed
-
- May 09, 2023
-
-
TODO: - hide on focus - share position with pin icon
-
- May 03, 2023
-
-
Mark Florian authored
-
Mark Florian authored
Prefix variables with `$super-sidebar-` to be consistent with `$super-sidebar-width`/`$super-sidebar-z-index` and reduce confusion with existing `$sidebar-` prefixed variables.
-
Mark Florian authored
This reimplements the sidebar peek behaviour that was originally added in !116914. This implementation uses a document-wide `mousemove` listener, whereas the previous implementation relied on the `mouseenter/leave` events fired on the sidebar element itself and a small hover area. The old approach ---------------- The main problem with the previous implementation was that sometimes the sidebar would oscillate between peeked open and closed if the cursor was stationary. This was sometimes easy to reproduce, and sometimes hard. The reason comes down to a race between the JavaScript timer and the CSS transition duration. The [UI Events specification][spec] says of the `mouseenter` event: [spec]: https://w3c.github.io/uievents/#event-type-mouseenter > A user agent MUST also dispatch this event when the element or one of > its descendants moves to be underneath the primary pointing device. It turns out that browsers do not obey this as you might expect on elements that are undergoing transitions under a stationary cursor (I suspect this applies to animations as well). Presumably this is for performance reasons. What they actually do in this case is dispatch the event approximately *after* the transition has ended. Each browser does this slightly differently in my testing, and none of them seem deterministic in exactly when the event is dispatched. This means that, if the sidebar's opening transition is cancelled before it is complete (e.g., the sidebar instead starts its closing transition) the `mouseenter` does not get dispatched even if the transition did move the element underneath the stationary cursor. If the cursor is moving at the same time as the transitioning element, the event is dispatched as expected on the first frame the cursor enters it. So, the race was between the opening sidebar transition and the closing timer. If the transition ended early enough, the `mouseenter` event would be dispatched, and the bug wouldn't happen. If the cursor moved during the transition and was over the transitioning sidebar, the `mouseenter` event would be dispatched, as expected. The bug occurred only when the cursor was stationary, and the opening transition took too long, causing it to be cancelled by the closing transition, meaning no `mouseenter` event was dispatched to keep the sidebar open. The new approach ---------------- The approach taken here is to rely on a document-wide `mousemove` listener. This has two benefits: - The bug with the previous approach is avoided since no DOM is involved in determining where the cursor is. - Additional regions are trivial to add, for instance, moving the cursor far enough away instantly closes the sidebar, rather than having to wait for the closing timer. It is possible to other regions, for instance, one which shows a hint or affordance of the peek behaviour, but does not start the timer to open the sidebar (this is not implemented here, but is trivial to do so). It does have one drawback, which is that it's not coupled to the DOM. This means that if the sidebar changes width, or has some descendant that overflows the sidebar, the sidebar might get closed even though the cursor is over it. This could be avoided in a few ways, but isn't done here. This also formalises and extracts the peek state machine logic into its own Vue component. This means that the document event listener is guaranteed to be added and cleaned up when switching between toggled open/closed states. The timers are also encapsulated within that component, and the whole thing can be more thoroughly tested in isolation.
-
- May 02, 2023
-
-
Austin Regnery authored
-
-
- Apr 26, 2023
-
-
- Apr 24, 2023
-
-
This drops the `GlCollapse`-based context switcher in favor of a `GlDisclosureDropdown` solution. This aligns with most recent design decisions to make the context switcher stand out more.
-
- Apr 23, 2023
-
-
This adds the ability for the Trial Status widget to show up in the super sidebar.
-
- Apr 19, 2023
-
-
Create `super_sidebar_peek` feature flag Remove `gl-visibility-hidden` class from super sidebar collapsed state Add hover area which toggles `isPeek` state on `mouseover` Decrease transition to `100ms` when peeking Replace super sidebar `border-right` with `box-shadow` when peeking Add `hasCollapseButton` prop to `<user-bar>` to hide when peeking Use `prefers-reduced-motion: no-preference` for transitions Add `100ms` delay to `isPeek` to compensate for unintentional triggers Move `SUPER_SIDEBAR_PEEK_DELAY` to `constants.js` Add `setTimeoutSpy` to tests, restore `createWrapper` on test
-
- Apr 18, 2023
-
-
Remove custom styles to absolute position super-sidebar-toggle Remove `gl-relative` wrapping class for breadcrumbs Add `breadcrumbs_class` and `breadcrumbs_container_class` variables Update existing sticky headers to compensate for breadcrumbs height Add `--breadcrumbs-height` to be added with `.with-breadcrumbs` conditional class Add `--breadcrumbs-height` to `$calc-application-header-height` variable Update `.layout-page` and `.boards-sidebar` with height variables
-
- Apr 14, 2023
-
-
Sam Beckham authored
-
- Apr 06, 2023
-
-
Otherwise tab order looks wrong, while it's focusing the hidden button.
-
- Apr 03, 2023
-
-
Sam Beckham authored
This reverts merge request !115923
-
Thomas Hutterer authored
Changelog: added
-
Add hover area which toggles `isPeek` state on `mouseover` Add `150ms` delay to `isPeek` to compensate for unintentional triggers Decrease transition to `100ms` when peeking Replace super sidebar `border-right` with `box-shadow` when peeking Move `isCollapsed` to `isInert` computed property include `!isPeek` Add `hasCollapseButton` prop to `<user-bar>` to hide when peeking Add `ease-out` to super sidebar transform transition
-