FY23 Q3 Foundations KR1:  Updated Pajamas IA that takes into account new and updated definitions and organization

## Purpose

See [epic description](https://gitlab.com/groups/gitlab-org/gitlab-services/-/epics/12).

## Steps

- [x] Evaluate existing IA to determine opportunities for improvement.
- [x] Evaluate existing definitions found at https://design.gitlab.com/get-started/structure with a primary focus on: Foundations, Components, Regions, and Objects.
- [x] Propose definition updates and work through internal discussion.
- [x] Test updated definitions internally to make sure categories and meaning are clear.
- [x] Update IA and structure by incorporating definitions and other content organization changes.

## Before / after

<details><summary>Definitions</summary>

### Definitions

|  | **Before** | **After** |
| ------ | ------ | ------ |
| **Foundations** | Foundations represent perceptual patterns. These are less tangible aspects of the design system. Together they create a certain aesthetic for the product. For example, colors, typography, and icons. | Foundational items communicate the opinionated way in which basic visual design attributes, elements, and concepts come together to create a distinct GitLab personality that’s expressed in the UI. For example, color, typography, and iconography. |
| **Components** | A small design primitive. Components build upon the design foundations (typography, spacing, motion, colors, iconography, etc.) and are the reusable building blocks of the interface. For example, buttons, tabs, and input fields. | A component is a UI element that serves a singular purpose or function. Two or more simple components can combine to form a composite component that still has a single function. For example, an avatar, button, or combobox. |
| **Regions** | Regions are areas formed by combining multiple components, creating a layout section that can be reused across various pages. For example, the comments and activity feed in issues or merge requests. | _Deprecated_ |
| **Patterns** | _N/A_ | A pattern combines components and/or content elements into a repeatable, consistent group that has a shared purpose, content association, or both. For example, filtering, forms, or navigation. |
| **Page templates** | _N/A_ | A template prescribes layout and behavior for a page or common content layout. For example, an issuable, settings, or search results. |
| **Objects** | Objects capture and organize data as a single source of truth around specific tasks and user interactions. Objects are described in terms of attributes (what they contain), functions (what they do), and relationships (what they interact with). When documented as a conceptual model, objects help understand how the product works and fits together on a system level, detached from the constraints of the user interface. An effective object model tightly aligns our user's mental model with the product's data model. For example, issue, group, and merge request. | An object is a conceptual building block or concept that defines how we think about something independent of its visual representation or interaction model. For example, a job, merge request, or repository. |
</details>

<details><summary>Information Architecture (IA)</summary>

### IA

| **Before** | **After** |
| ------ | ------ |
| ![image](/uploads/e7416965f7f3a1b0db814c3e8a2bfb87/image.png) | ![image](/uploads/78262d88e192afad89d4e67b01eebca1/image.png) |
| ![image](/uploads/570c6fa88e0655ab4caf753dd74a3c01/image.png) | ![image](/uploads/fecd2dca3dcd6916f19e71d6b927710d/image.png) |

</details>

[![Figmacon.svg](/uploads/f326197d14f6fb1e342a1034e12e4386/Figmacon.svg) Working file in Figma →](https://www.figma.com/file/qYQOk3DhrswWIsRnoUTJ6J/%231378-Pajamas-IA-JE?node-id=0%3A1)

---

## Retrospection

### Good
* The IA and navigation are being updated and there were some good insights learned.

### Bad
* This effort took so long that the other KRs didn't get worked on.

### Try
* Breaking down even smaller.

Story points: 8.0