Draft: feat(GlDrawer): change drawer layout concept
What does this MR do?
This MR resolves #1964
As a follow-up of this comment
It makes header sticky by default and reorganise drawer layout.
Drawer is not scrollable anymore, only drawer-body.
It helps keep header
and footer
sticky and scrim becomes a pseudo element
of a drawer-body
Does this MR meet the acceptance criteria?
Conformity
-
Code review guidelines. -
GitLab UI's contributing guidlines. -
If it changes a Pajamas-compliant component's look & feel, the MR has been reviewed by a UX designer. -
If it changes GitLab UI's documentation guidelines, the MR has been reviewed by a Technical Writer. -
If the MR changes a component's API, integration MR(s) have been opened in the following projects to ensure that the @gitlab/ui
package can be upgraded quickly after the changes are released:-
GitLab: mr_url -
CustomersDot: mr_url -
Status Page: mr_url
-
-
Added the ~"component:*"
label(s) if applicable.
Screenshots
Here is a list of components in gitlab using drawer
GlDrawer uses in GitLab
~/pipeline_editor/components/drawer/pipeline_editor_drawer.vue
~/crm/components/form.vue
~/whats_new/components/app.vue
~/boards/components/board_content_sidebar.vue
~/boards/components/board_settings_sidebar.vue
ee/roadmap/components/roadmap_settings.vue
ee/security_orchestration/components/policy_drawer/policy_drawer.vue
ee/requirements/components/requirement_form.vue
ee/boards/components/epic_board_content_sidebar.vue
-
ee/security_configuration/dast_profiles/dast_profiles_sidebar/dast_profiles_sidebar.vue
- This is the only one currently opting in to a stick header.
ee/compliance_dashboard/components/drawer.vue
Drawer | Screenshot after padding change |
---|---|
~/pipeline_editor/components/drawer/pipeline_editor_drawer.vue | |
~/crm/components/form.vue | |
~/whats_new/components/app.vue |
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
Security reports checked/validated by a reviewer from the AppSec team
Accessibility
If this MR adds or modifies a component, take a few moments to review the following:
-
All actions and functionality can be done with a keyboard. -
Links, buttons, and controls have a visible focus state. -
All content is presented in text or with a text equivalent. For example, alt text for SVG, or aria-label
for icons that have meaning or perform actions. -
Changes in a component’s state are announced by a screen reader. For example, changing aria-expanded="false"
toaria-expanded="true"
when an accordion is expanded. -
Color combinations have sufficient contrast.
Closes #1964
Edited by Artur Fedorov