diff --git a/polaris.shopify.com/content/design/colors/index.md b/polaris.shopify.com/content/design/colors/index.md index 1527b4fb1f8..863a7cc1e8f 100644 --- a/polaris.shopify.com/content/design/colors/index.md +++ b/polaris.shopify.com/content/design/colors/index.md @@ -28,7 +28,7 @@ status: New - + ## Color has purpose @@ -46,7 +46,7 @@ status: New - + Each usage of color within the Shopify admin is purposefully tied to a specific meaning. For instance, red signifies critical errors, green represents success messages, and blue is used to draw attention to tips and offers. Using color as decoration is exclusive to illustration. @@ -85,7 +85,7 @@ status: New - + ## Color has impact @@ -103,7 +103,7 @@ status: New - + The intentional design of the overall interface in black and white enables strategically positioned and carefully selected elements to grab merchants' attention. By utilizing color purposefully, the focus is directed towards crucial information, actions, and visual cues. @@ -145,7 +145,7 @@ status: New - + ## Color is accessible @@ -165,7 +165,7 @@ status: New - + Colors are meant to be easily understood and read by all merchants. Sufficient contrast makes things easier to find, identify and interact with. diff --git a/polaris.shopify.com/content/design/depth/creating-depth.md b/polaris.shopify.com/content/design/depth/creating-depth.md index 77435e2020d..ea2e2eca90e 100644 --- a/polaris.shopify.com/content/design/depth/creating-depth.md +++ b/polaris.shopify.com/content/design/depth/creating-depth.md @@ -1,6 +1,6 @@ --- title: Creating Depth -icon: ColorsMajor +icon: VariantMajor showTOC: true keywords: - depth @@ -9,7 +9,7 @@ keywords: - bevel use --- -# {frontmatter.title} +# Depth → {frontmatter.title} @@ -37,10 +37,10 @@ keywords: - @@ -86,10 +86,10 @@ keywords: - @@ -123,8 +123,8 @@ keywords: diff --git a/polaris.shopify.com/content/design/icons/creating-icons.md b/polaris.shopify.com/content/design/icons/creating-icons.md index 1f29cb604e3..6e9016bd3eb 100644 --- a/polaris.shopify.com/content/design/icons/creating-icons.md +++ b/polaris.shopify.com/content/design/icons/creating-icons.md @@ -30,7 +30,7 @@ keywords: - icon visual harmony. --- -# {frontmatter.title} +# Icons → {frontmatter.title} {frontmatter.description} diff --git a/polaris.shopify.com/content/design/icons/using-icons.md b/polaris.shopify.com/content/design/icons/using-icons.md index 35949688121..a8db0b7ce85 100644 --- a/polaris.shopify.com/content/design/icons/using-icons.md +++ b/polaris.shopify.com/content/design/icons/using-icons.md @@ -21,7 +21,7 @@ keywords: - icon colors --- -# {frontmatter.title} +# Icons → {frontmatter.title} {frontmatter.description} diff --git a/polaris.shopify.com/content/design/layout/density.md b/polaris.shopify.com/content/design/layout/density.md index 27ee380c925..a7f9894ebfb 100644 --- a/polaris.shopify.com/content/design/layout/density.md +++ b/polaris.shopify.com/content/design/layout/density.md @@ -29,10 +29,12 @@ description: The admin is high density by default, but the level of density can + ## High density Information-rich interfaces like index pages or data tables require high-density layouts for efficiency. By presenting information in a denser format, merchants can quickly access and compare data, enhancing the effectiveness of the Shopify admin. + @@ -42,8 +44,9 @@ description: The admin is high density by default, but the level of density can - + Another way to create visual zones in high density layouts is to use different surface colors. Secondary colors can be used to create visual hierarchy within a high density component to increase visual hierarchy and to guide merchants to the data that matters most. + @@ -58,10 +61,12 @@ description: The admin is high density by default, but the level of density can + ### Grid and vertical divisions Dividing surfaces vertically and in a grid pattern also offers a way to increase density. This type of visual pattern is better suited for selections or data visualization and should be used accordingly. These divisions are made by using different surface background colors instead of using line dividers. + @@ -85,10 +90,12 @@ description: The admin is high density by default, but the level of density can + ### Action components use high density Smaller components, like option lists or popovers, are built with high density in mind. Because their main purpose is to offer a set of actions to the merchant, they need to feel small and efficient. Effectively designed action components give the feeling of a pro tool in the Shopify admin and increase efficiency when using different features. + @@ -112,6 +119,7 @@ description: The admin is high density by default, but the level of density can + ## Low density @@ -120,6 +128,7 @@ description: The admin is high density by default, but the level of density can Because low density interfaces offer more space, there is more for the merchant to analyze before taking action. Low density interfaces can also contain high density components, like a complex text editor within a card that serves to edit a product title and description. Top-to-bottom visual rhythm is often used to create a linear and predictable layout that is easy for merchants to understand. + @@ -144,10 +153,12 @@ description: The admin is high density by default, but the level of density can + ### Switching contexts Cards are the best way to switch context in low density layouts. Each card can be specialized in a set of features that requires the merchant to recenter their focus. + diff --git a/polaris.shopify.com/content/design/layout/index.md b/polaris.shopify.com/content/design/layout/index.md index e8c41c825a0..8dce091e3bc 100644 --- a/polaris.shopify.com/content/design/layout/index.md +++ b/polaris.shopify.com/content/design/layout/index.md @@ -28,23 +28,24 @@ status: New -## Overview - - -### Space defines proximity + +## Space defines proximity Space plays a vital role in establishing connections between items. The principle of proximity states that the closer objects are, the stronger their perceived relationship. + ![An order card with an inset table followed by an apps card with a grid pattern made of different surfaces](/images/design/layout/layout-overview-01-space@2x.png) + Grouping similar items together helps merchants understand which elements are related and make faster decisions. + @@ -68,13 +69,14 @@ Grouping similar items together helps merchants understand which elements are re - + ## Emphasis creates hierarchy In the Shopify admin, larger, heavier, and contrasting elements attract attention and create visual rhythm. Smaller, lighter, and subtler elements are work-oriented and provide detailed information. + @@ -82,9 +84,9 @@ Smaller, lighter, and subtler elements are work-oriented and provide detailed in - + Use size, weight, and contrast to establish hierarchy in the admin. Divider lines are used to delimit rows of information in data and index tables, and rarely for dividing information elsewhere. - + @@ -108,11 +110,12 @@ Smaller, lighter, and subtler elements are work-oriented and provide detailed in - + ## Software, not website Since the admin is more like software than a website, elements need to be sized appropriately based on their job. + @@ -122,7 +125,9 @@ Since the admin is more like software than a website, elements need to be sized + Compact elements add detail, and larger elements command more attention. Surfaces adapt to these components and offer an optimized view of the admin. + diff --git a/polaris.shopify.com/content/design/layout/layout-tokens.md b/polaris.shopify.com/content/design/layout/layout-tokens.md index 447568d627c..3987a926184 100644 --- a/polaris.shopify.com/content/design/layout/layout-tokens.md +++ b/polaris.shopify.com/content/design/layout/layout-tokens.md @@ -27,15 +27,15 @@ description: Apply consistent and harmonious space within and between ui element -## Overview - + - ### Using space tokens + ## Using space tokens Space tokens should be used whenever you need to apply space around or between elements within. You should apply space tokens to all space related css properties such as padding, margin and gap. They should not be used for non-space declarations such as height, width, outline-offset, etc. Always use the proper token group when using Polaris tokens. If a token doesn’t seem to fit your need feel free to reach out in the #polaris channel or create an issue in Github. + @@ -48,12 +48,14 @@ description: Apply consistent and harmonious space within and between ui element + ### Primitive tokens Primitive tokens refer to generic tokens that can be applied to provide spacing around or between components. They give access to the full scale of values offered by Polaris for managing space within the interface. Each is simply named by declaring the token group and then the percentage multiplier of our base value of 4px. Therefore, space-100 is equal to 4px while space-400 equals 16px. + @@ -66,12 +68,14 @@ description: Apply consistent and harmonious space within and between ui element + ### Semantic tokens Similar to color tokens, semantic space tokens provide spacing for specific and defined contexts within the admin. These tokens should only be used for that explicit purpose. When no semantic token seems to fit your need, use a primitive token instead. Semantic tokens explicitly declare what css selector they should be applied to. For example, space-card-padding should only be used to set the padding within the Card component. + ![Visual: example use of card-padding token](/images/design/layout/tokens/layout-tokens-semantic@2x.png) @@ -91,15 +95,18 @@ description: Apply consistent and harmonious space within and between ui element - ## How to apply them + + + ## How to apply tokens ### Figma Semantic and primitive space tokens can be accessed via the auto layout padding and gap inputs in the right panel. + ![Visual: Dropdown of variables in Figma](/images/design/layout/tokens/layout-tokens-figma@2x.png) @@ -110,10 +117,12 @@ description: Apply consistent and harmonious space within and between ui element + ### Polaris React Space tokens can be applied in two main ways in Polaris Reach. First, all of the layout components such as Box have access to the tokens via their prop api. Second, when writing your own css you can use the token directly via the css variables that come with the Polaris token package. + ![Visual: Dropdown of variables in Figma](/images/design/layout/tokens/layout-tokens-polaris-react@2x.png) diff --git a/polaris.shopify.com/content/design/layout/spacial-organization.md b/polaris.shopify.com/content/design/layout/spacial-organization.md index 6afac8ee1c8..349f6e6e340 100644 --- a/polaris.shopify.com/content/design/layout/spacial-organization.md +++ b/polaris.shopify.com/content/design/layout/spacial-organization.md @@ -29,10 +29,12 @@ description: Components, elements and surfaces are organized to create compositi + ## Building layouts The Shopify admin is built by using a combination of components like cards, popovers, modals, tables and so on. These components define the elevation of different surfaces in the admin and how they can interact with each other. + @@ -46,10 +48,12 @@ description: Components, elements and surfaces are organized to create compositi + ## Surfaces Surfaces in the admin contain other elements, like badges and text. Cards, popovers, modals and other such components are surfaces that are used to build the admin. + @@ -62,6 +66,7 @@ description: Components, elements and surfaces are organized to create compositi + ### Dividing surfaces @@ -70,6 +75,7 @@ description: Components, elements and surfaces are organized to create compositi Nested surfaces can be grouped together within another surface to achieve visual separation between different parts of a component. Divider lines are reserved for data and index tables. + @@ -126,10 +132,12 @@ description: Components, elements and surfaces are organized to create compositi + ### Nesting Nesting surfaces and other elements is crucial to the pro feel of the Shopify admin. Careful consideration should be taken when using elements of varying border radiuses in order to create the feeling that the interface is purpose-built. + @@ -160,10 +168,12 @@ description: Components, elements and surfaces are organized to create compositi + ### Nesting tables Tables and lists that exist within another container follow slightly different spacing guidelines. Horizontal padding is adjusted to give more space for data, and to avoid having too much empty space overall. + @@ -193,12 +203,14 @@ description: Components, elements and surfaces are organized to create compositi + ## Shaped elements Shaped elements contain other design elements within a container that has a certain shape. These elements can live on surfaces or on backgrounds and are often smaller and serve a single purpose, like badges. Shaped elements often do not have an elevation and their shapes are considered to either be target zones if they’re interactive, or serve as a visual indicator to make them easier to scan. + @@ -224,10 +236,12 @@ description: Components, elements and surfaces are organized to create compositi + ### Buttons Buttons are shaped elements, as their contents can vary their sizing to adjust for visual balance. Sizing of buttons depends on context. Standalone or grouped, buttons have a default size that is widely used in the admin. Because buttons often pull the most attention to a primary action, their size has been adjusted so as to not overwhelm the visual balance of the admin. + @@ -239,10 +253,12 @@ description: Components, elements and surfaces are organized to create compositi + ## Breaking alignment Breaking alignment or spacing may be required in some rare instances. Depending on the layout of the page, alignments may be mathematically inconsistent, but will be visually aligned. Make sure to use imaginary keylines to create neatly aligned containers in the UI if spacing is inconsistent within each container. + diff --git a/polaris.shopify.com/content/design/motion/creating-motion.md b/polaris.shopify.com/content/design/motion/creating-motion.md index 0a11c0e9b03..33ec34e6c43 100644 --- a/polaris.shopify.com/content/design/motion/creating-motion.md +++ b/polaris.shopify.com/content/design/motion/creating-motion.md @@ -5,9 +5,10 @@ keywords: - motion - animation - design +icon: TransactionMajor --- -# {frontmatter.title} +# Motion → {frontmatter.title} {frontmatter.description} @@ -92,24 +93,18 @@ Animations should be simple and purposeful, used to enhance understanding or pro #### Do - - Use simple, meaningful animations that are consistent with the overall style - and tone of the interface. - - #### Dont + +Use simple, meaningful animations that are consistent with the overall style and +tone of the interface. + +#### Dont + -Use appropriate timing for your animations and transitions. Matching the timing of the motion to merchant expectations. - - #### Dont + +Use appropriate timing for your animations and transitions. Matching the timing of +the motion to merchant expectations. + +#### Dont + + @@ -91,7 +94,7 @@ Motion can guide merchant attention during navigation, helping to maintain conte + @@ -162,7 +168,7 @@ Motion can be used to indicate loading states, keeping merchants informed and en ![An icon representing an hourglass.](/images/design/motion/using/03-loading-dont1@2x.png) - + Use static loading indicators, as they make the system seem unresponsive or slow. + + diff --git a/polaris.shopify.com/content/design/typography/font-and-typescale.md b/polaris.shopify.com/content/design/typography/font-and-typescale.md index 7c666ce690a..a5d5bbaaea4 100644 --- a/polaris.shopify.com/content/design/typography/font-and-typescale.md +++ b/polaris.shopify.com/content/design/typography/font-and-typescale.md @@ -8,9 +8,10 @@ keywords: - fonts icon: TextAlignmentLeftMajor hideChildren: true +order: 1 --- -# {frontmatter.title} +# Typography → {frontmatter.title} {frontmatter.description} diff --git a/polaris.shopify.com/content/design/typography/typography-tokens.md b/polaris.shopify.com/content/design/typography/typography-tokens.md index c0ac74422d5..8b9ef454629 100644 --- a/polaris.shopify.com/content/design/typography/typography-tokens.md +++ b/polaris.shopify.com/content/design/typography/typography-tokens.md @@ -1,5 +1,5 @@ --- -title: Typography tokens +title: Tokens description: Typography is the art of arranging type in ways that provides innate hierarchy to UI. showTOC: true keywords: @@ -8,9 +8,10 @@ keywords: - fonts icon: Hexagon hideChildren: true +order: 3 --- -# {frontmatter.title} +# Typography → {frontmatter.title} {frontmatter.description} diff --git a/polaris.shopify.com/content/design/typography/using-type.md b/polaris.shopify.com/content/design/typography/using-type.md index 30027c6ca15..569f3bff8a1 100644 --- a/polaris.shopify.com/content/design/typography/using-type.md +++ b/polaris.shopify.com/content/design/typography/using-type.md @@ -8,9 +8,10 @@ keywords: - fonts icon: TypeMajor hideChildren: true +order: 2 --- -# {frontmatter.title} +# Typography → {frontmatter.title} {frontmatter.description} @@ -39,7 +40,7 @@ Vertical alignment is used on type where line height and padding on an element a ![A badge where the type and icon are different sizes, but are centered vertically to achieve symmetry](/images/design/typography/typography-using-type-03-vertical-do@2x.png) - Consider aligning centering type vertically when bounding boxes differ from one element to another. + Consider aligning type vertically when bounding boxes differ from one element to another.