Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mobile prototype ash #11894

Closed
wants to merge 7 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/angry-snakes-camp.md
@@ -0,0 +1,5 @@
---
'@shopify/polaris': minor
---

Reduced text size of helper, error, and footer text
5 changes: 5 additions & 0 deletions .changeset/neat-bobcats-clean.md
@@ -0,0 +1,5 @@
---
'@shopify/polaris': patch
---

Add border to Banner on breakpoint-xs and change success icon to CheckCircleIcon
5 changes: 5 additions & 0 deletions .changeset/polite-wombats-speak.md
@@ -0,0 +1,5 @@
---
'@shopify/polaris': minor
---

Updated LegacyCard title size to text `headingMg` to match `bodyMd` text size
5 changes: 5 additions & 0 deletions .changeset/selfish-oranges-listen.md
@@ -0,0 +1,5 @@
---
'@shopify/polaris': minor
---

Updated `RadioButton` `border-width` to improve mobile consistency
5 changes: 5 additions & 0 deletions .changeset/sharp-moose-act.md
@@ -0,0 +1,5 @@
---
'@shopify/polaris': minor
---

Updated responsive text styles for mobile
5 changes: 5 additions & 0 deletions .changeset/sweet-donkeys-shake.md
@@ -0,0 +1,5 @@
---
'@shopify/polaris': major
---

Experimenting with TextField styles
9 changes: 7 additions & 2 deletions polaris-react/postcss-mixins/text-style-input.css
@@ -1,7 +1,12 @@
@define-mixin text-style-input {
font-size: var(--p-font-size-325);
font-size: var(--p-font-size-400);
font-weight: var(--p-font-weight-regular);
line-height: var(--p-font-line-height-500);
line-height: var(--p-font-line-height-600);
border: none;
letter-spacing: initial;

@media (--p-breakpoints-md-up) {
font-size: var(--p-font-size-325);
line-height: var(--p-font-line-height-500);
}
}
10 changes: 8 additions & 2 deletions polaris-react/src/components/AppProvider/global.css
Expand Up @@ -53,13 +53,18 @@

html,
body {
font-size: var(--p-font-size-325);
line-height: var(--p-font-line-height-500);
font-size: var(--p-font-size-400);
line-height: var(--p-font-line-height-600);
font-weight: var(--p-font-weight-regular);
font-feature-settings: 'calt' 0;
letter-spacing: initial;
color: var(--p-color-text);
-webkit-tap-highlight-color: transparent;

@media (--p-breakpoints-md-up) {
font-size: var(--p-font-size-325);
line-height: var(--p-font-line-height-500);
}
}

html,
Expand Down Expand Up @@ -114,6 +119,7 @@ html {
@media (--p-breakpoints-sm-down) {
html {
font: -apple-system-body;
-webkit-text-size-adjust: calc(100% * (16 / 17));
}
}
}
Expand Down
Expand Up @@ -76,7 +76,7 @@ export function MappedAction({
{contentText}
</Text>
{helpText ? (
<Text as="p" variant="bodyMd" tone="subdued">
<Text as="p" variant="bodySm" tone="subdued">
{helpText}
</Text>
) : null}
Expand Down
15 changes: 13 additions & 2 deletions polaris-react/src/components/Banner/Banner.module.css
Expand Up @@ -3,6 +3,12 @@
position: relative;
display: flex;

margin-inline: var(--p-space-300);

@media (--p-breakpoints-sm-up) {
margin-inline: var(--p-space-0);
}

&:focus {
outline: none;
}
Expand All @@ -21,12 +27,17 @@
}

.withinPage {
@mixin shadow-bevel var(--p-shadow-200), var(--p-border-radius-0);

@media (--p-breakpoints-sm-up) {
@mixin shadow-bevel var(--p-shadow-200), var(--p-border-radius-300);
}

@media (--p-breakpoints-xs-only) {
border-width: var(--p-border-width-025);
border-style: solid;
border-color: var(--p-color-border);
border-radius: var(--p-border-radius-300);
}

+ .Banner {
margin-top: var(--p-space-400);
}
Expand Down
13 changes: 2 additions & 11 deletions polaris-react/src/components/Banner/Banner.tsx
Expand Up @@ -23,7 +23,6 @@ import type {IconProps} from '../Icon';
import {BannerContext} from '../../utilities/banner-context';
import {WithinContentContext} from '../../utilities/within-content-context';
import {classNames} from '../../utilities/css';
import {useBreakpoints} from '../../utilities/breakpoints';
import {useI18n} from '../../utilities/i18n';
import {useEventListener} from '../../utilities/use-event-listener';
import {BlockStack} from '../BlockStack';
Expand Down Expand Up @@ -81,6 +80,7 @@ export const Banner = forwardRef<BannerHandles, BannerProps>(function Banner(
onMouseUp={handleMouseUp}
onKeyUp={handleKeyUp}
onBlur={handleBlur}
style={{overflow: 'hidden'}}
>
<BannerLayout {...props} />
</div>
Expand Down Expand Up @@ -198,21 +198,12 @@ export function DefaultBanner({
dismissButton,
children,
}: PropsWithChildren<BannerLayoutProps>) {
const {smUp} = useBreakpoints();
const hasContent = children || actionButtons;

return (
<Box width="100%">
<BlockStack align="space-between">
<Box
background={backgroundColor}
color={textColor}
borderStartStartRadius={smUp ? '300' : undefined}
borderStartEndRadius={smUp ? '300' : undefined}
borderEndStartRadius={!hasContent && smUp ? '300' : undefined}
borderEndEndRadius={!hasContent && smUp ? '300' : undefined}
padding="300"
>
<Box background={backgroundColor} color={textColor} padding="300">
<InlineStack
align="space-between"
blockAlign="center"
Expand Down
4 changes: 2 additions & 2 deletions polaris-react/src/components/Banner/tests/Banner.test.tsx
@@ -1,10 +1,10 @@
import React, {useEffect, useRef} from 'react';
import {
PlusCircleIcon,
CheckIcon,
AlertTriangleIcon,
InfoIcon,
AlertDiamondIcon,
CheckCircleIcon,
} from '@shopify/polaris-icons';
import {mountWithApp} from 'tests/utilities';

Expand Down Expand Up @@ -356,7 +356,7 @@ describe('<Banner />', () => {

describe('icon', () => {
it.each([
['success', CheckIcon],
['success', CheckCircleIcon],
['info', InfoIcon],
['warning', AlertTriangleIcon],
['critical', AlertDiamondIcon],
Expand Down
4 changes: 2 additions & 2 deletions polaris-react/src/components/Banner/utilities.ts
Expand Up @@ -7,7 +7,7 @@ import {
AlertDiamondIcon,
InfoIcon,
AlertTriangleIcon,
CheckIcon,
CheckCircleIcon,
} from '@shopify/polaris-icons';
import {useImperativeHandle, useRef, useState} from 'react';

Expand Down Expand Up @@ -39,7 +39,7 @@ export const bannerAttributes: {[key in BannerTone]: BannerAttributes} = {
text: 'text-success',
icon: 'text-success',
},
icon: CheckIcon,
icon: CheckCircleIcon,
},
warning: {
withinPage: {
Expand Down
1 change: 1 addition & 0 deletions polaris-react/src/components/Choice/Choice.tsx
Expand Up @@ -161,6 +161,7 @@ export function Choice({
<div className={styles.HelpText} id={helpTextID(id)}>
<Text
as="span"
variant="bodySm"
// `undefined` means color: inherit
// the nearest ancestor with a specified color is .Descriptions in Choice.scss
tone={disabled ? undefined : 'subdued'}
Expand Down
2 changes: 1 addition & 1 deletion polaris-react/src/components/FooterHelp/FooterHelp.tsx
Expand Up @@ -18,7 +18,7 @@ export function FooterHelp({children, align = 'center'}: FooterHelpProps) {

return (
<div className={styles.FooterHelp} style={style}>
<Text as="p" variant="bodyLg">
<Text as="p" variant="bodySm">
{children}
</Text>
</div>
Expand Down
Expand Up @@ -25,8 +25,10 @@ export function Group({children, condensed, title, helpText}: GroupProps) {
if (helpText) {
helpTextId = `${id}HelpText`;
helpTextElement = (
<Box id={helpTextId} color="text-secondary">
{helpText}
<Box id={helpTextId}>
<Text as="p" variant="bodySm" tone="subdued">
{helpText}
</Text>
</Box>
);
}
Expand Down
Expand Up @@ -2,6 +2,10 @@
display: flex;
color: var(--p-color-text-critical);
fill: var(--p-color-text-critical);

& > span {
margin-top: var(--p-space-050);
}
}

.Icon {
Expand Down
2 changes: 1 addition & 1 deletion polaris-react/src/components/InlineError/InlineError.tsx
Expand Up @@ -24,7 +24,7 @@ export function InlineError({message, fieldID}: InlineErrorProps) {
<div className={styles.Icon}>
<Icon source={AlertCircleIcon} />
</div>
<Text as="span" variant="bodyMd">
<Text as="span" variant="bodySm">
{message}
</Text>
</div>
Expand Down
15 changes: 12 additions & 3 deletions polaris-react/src/components/Label/Label.tsx
@@ -1,7 +1,8 @@
import React from 'react';

import {Text} from '../Text';
import {classNames} from '../../utilities/css';
import type {TextProps} from '../Text';
import {Text} from '../Text';

import styles from './Label.module.css';

Expand All @@ -14,13 +15,21 @@ export interface LabelProps {
hidden?: boolean;
/** Visual required indicator for the label */
requiredIndicator?: boolean;

variant?: TextProps['variant'];
}

export function labelID(id: string) {
return `${id}Label`;
}

export function Label({children, id, hidden, requiredIndicator}: LabelProps) {
export function Label({
children,
id,
hidden,
requiredIndicator,
variant = 'bodyMd',
}: LabelProps) {
const className = classNames(styles.Label, hidden && styles.hidden);

return (
Expand All @@ -33,7 +42,7 @@ export function Label({children, id, hidden, requiredIndicator}: LabelProps) {
requiredIndicator && styles.RequiredIndicator,
)}
>
<Text as="span" variant="bodyMd">
<Text as="span" variant={variant}>
{children}
</Text>
</label>
Expand Down
13 changes: 13 additions & 0 deletions polaris-react/src/components/Labelled/Labelled.module.css
Expand Up @@ -26,6 +26,19 @@
margin-bottom: var(--p-space-100);
}

.labelInline {
position: relative;
}

.labelInline .LabelWrapper {
position: absolute;
top: 6px;
color: var(--p-color-text-secondary);
left: var(--p-space-300);
right: var(--p-space-300);
z-index: var(--p-z-index-2);
}

.HelpText {
margin-top: var(--p-space-100);
}
Expand Down
7 changes: 6 additions & 1 deletion polaris-react/src/components/Labelled/Labelled.tsx
Expand Up @@ -33,6 +33,8 @@ export interface LabelledProps {
disabled?: boolean;
/** Labels signify a readOnly control */
readOnly?: boolean;

labelInline?: boolean;
}

export function Labelled({
Expand All @@ -46,9 +48,11 @@ export function Labelled({
requiredIndicator,
disabled,
readOnly,
labelInline,
...rest
}: LabelledProps) {
const className = classNames(
labelInline && styles.labelInline,
labelHidden && styles.hidden,
disabled && styles.disabled,
readOnly && styles.readOnly,
Expand All @@ -66,7 +70,7 @@ export function Labelled({
id={helpTextID(id)}
aria-disabled={disabled}
>
<Text as="span" tone="subdued" variant="bodyMd" breakWord>
<Text as="span" tone="subdued" variant="bodySm" breakWord>
{helpText}
</Text>
</div>
Expand All @@ -85,6 +89,7 @@ export function Labelled({
requiredIndicator={requiredIndicator}
{...rest}
hidden={false}
variant={labelInline ? 'bodyXs' : undefined}
>
{label}
</Label>
Expand Down
Expand Up @@ -21,7 +21,7 @@ export function Header({children, title, actions}: LegacyCardHeaderProps) {
const titleMarkup = isValidElement(title) ? (
title
) : (
<Text variant="headingSm" as="h2">
<Text variant="headingMd" as="h2">
{title}
</Text>
);
Expand Down
Expand Up @@ -427,7 +427,7 @@ class LegacyFiltersInner extends Component<CombinedProps, State> {

const helpTextMarkup = helpText ? (
<div id="FiltersHelpText" className={styles.HelpText}>
<Text tone="subdued" as="span">
<Text tone="subdued" as="span" variant="bodySm">
{helpText}
</Text>
</div>
Expand Down
Expand Up @@ -111,7 +111,7 @@
display: block;
width: 100%;
height: 100%;
border: var(--p-border-width-0165) solid var(--p-color-input-border);
border: var(--p-border-width-025) solid var(--p-color-input-border);
border-radius: var(--p-border-radius-full);
background-color: var(--p-color-input-bg-surface);
transition: border-color var(--p-motion-duration-100) var(--p-motion-ease-out);
Expand Down