--- stage: none group: unassigned info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- # Icons and SVG Illustrations We manage our own icon and illustration library in the [`gitlab-svgs`](https://gitlab.com/gitlab-org/gitlab-svgs) repository. This repository is published on [npm](https://www.npmjs.com/package/@gitlab/svgs), and is managed as a dependency with yarn. You can browse all available [icons and illustrations](https://gitlab-org.gitlab.io/gitlab-svgs). To upgrade to a new version run `yarn upgrade @gitlab/svgs`. ## Icons We are using SVG Icons in GitLab with a SVG Sprite. This means the icons are only loaded once, and are referenced through an ID. The sprite SVG is located under `/assets/icons.svg`. ### Usage in HAML/Rails To use a sprite Icon in HAML or Rails we use a specific helper function: ```ruby sprite_icon(icon_name, size: nil, css_class: '') ``` - **icon_name**: Use the icon_name for the SVG sprite in the list of ([GitLab SVGs](https://gitlab-org.gitlab.io/gitlab-svgs)). - **size (optional)**: Use one of the following sizes : 16, 24, 32, 48, 72 (this is translated into a `s16` class) - **css_class (optional)**: If you want to add additional CSS classes. **Example** ```haml = sprite_icon('issues', size: 72, css_class: 'icon-danger') ``` **Output from example above** ```html ``` ### Usage in Vue [GitLab UI](https://gitlab-org.gitlab.io/gitlab-ui/), our components library, provides a component to display sprite icons. Sample usage : ```html