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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a display font family variant as Figma does not automatically switch #970

Merged
merged 2 commits into from
Jun 18, 2024

Conversation

lukasoppermann
Copy link
Contributor

@lukasoppermann lukasoppermann commented Jun 17, 2024

Summary

On mac OS, SF Pro Display is automatically used on text 20px or larger. To mimic this in Figma we need to add a display variant.

This has NO impact on css output, just Figma.

CC: @maximedegreve thanks for bringing this to my attention.

Copy link

changeset-bot bot commented Jun 17, 2024

🦋 Changeset detected

Latest commit: 1e08134

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@primer/primitives Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Contributor

github-actions bot commented Jun 17, 2024

Design Token Contrast Check

light: ✅ all checks passed

Show results table for theme: light
contrastPair pass contrastRatio minimumContrastRatio
fgColor-default vs. bgColor-default 15.79:1 4.5:1
fgColor-muted vs. bgColor-default 5.33:1 4.5:1
fgColor-default vs. bgColor-muted 14.83:1 4.5:1
fgColor-muted vs. bgColor-muted 5.01:1 4.5:1
fgColor-default vs. bgColor-inset 14.83:1 4.5:1
fgColor-muted vs. bgColor-inset 5.01:1 4.5:1
control-fgColor-rest vs. bgColor-default 14.65:1 4.5:1
control-fgColor-rest vs. bgColor-muted 13.76:1 4.5:1
control-fgColor-rest vs. bgColor-inset 13.76:1 4.5:1
control-fgColor-rest vs. control-bgColor-rest 13.76:1 4.5:1
control-fgColor-placeholder vs. control-bgColor-rest 4.58:1 4.5:1
control-fgColor-rest vs. control-bgColor-active 12.22:1 4.5:1
control-fgColor-rest vs. control-bgColor-selected 13.76:1 4.5:1
fgColor-default vs. bgColor-accent-muted 13.88:1 4.5:1
fgColor-default vs. bgColor-success-muted 14.19:1 4.5:1
fgColor-default vs. bgColor-open-muted 14.19:1 4.5:1
fgColor-default vs. bgColor-danger-muted 13.77:1 4.5:1
fgColor-default vs. bgColor-closed-muted 13.77:1 4.5:1
fgColor-default vs. bgColor-attention-muted 14.65:1 4.5:1
fgColor-default vs. bgColor-severe-muted 14.26:1 4.5:1
fgColor-default vs. bgColor-done-muted 14.21:1 4.5:1
fgColor-default vs. bgColor-sponsors-muted 14.24:1 4.5:1
fgColor-accent vs. bgColor-default 5.19:1 4.5:1
fgColor-accent vs. bgColor-muted 4.87:1 4.5:1
fgColor-accent vs. bgColor-inset 4.87:1 4.5:1
fgColor-success vs. bgColor-default 5.07:1 4.5:1
fgColor-success vs. bgColor-muted 4.77:1 4.5:1
fgColor-success vs. bgColor-inset 4.77:1 4.5:1
fgColor-open vs. bgColor-default 5.07:1 4.5:1
fgColor-open vs. bgColor-muted 4.77:1 4.5:1
fgColor-open vs. bgColor-inset 4.77:1 4.5:1
fgColor-danger vs. bgColor-default 5.24:1 4.5:1
fgColor-danger vs. bgColor-muted 4.92:1 4.5:1
fgColor-danger vs. bgColor-inset 4.92:1 4.5:1
fgColor-closed vs. bgColor-default 5.24:1 4.5:1
fgColor-closed vs. bgColor-muted 4.92:1 4.5:1
fgColor-closed vs. bgColor-inset 4.92:1 4.5:1
fgColor-attention vs. bgColor-default 4.86:1 4.5:1
fgColor-attention vs. bgColor-muted 4.57:1 4.5:1
fgColor-attention vs. bgColor-inset 4.57:1 4.5:1
fgColor-severe vs. bgColor-default 5.03:1 4.5:1
fgColor-severe vs. bgColor-muted 4.72:1 4.5:1
fgColor-severe vs. bgColor-inset 4.72:1 4.5:1
fgColor-done vs. bgColor-default 5.04:1 4.5:1
fgColor-done vs. bgColor-muted 4.73:1 4.5:1
fgColor-done vs. bgColor-inset 4.73:1 4.5:1
fgColor-sponsors vs. bgColor-default 5.04:1 4.5:1
fgColor-sponsors vs. bgColor-muted 4.73:1 4.5:1
fgColor-sponsors vs. bgColor-inset 4.73:1 4.5:1
fgColor-accent vs. bgColor-accent-muted 4.56:1 4.5:1
fgColor-success vs. bgColor-success-muted 4.56:1 4.5:1
fgColor-open vs. bgColor-open-muted 4.56:1 4.5:1
fgColor-danger vs. bgColor-danger-muted 4.57:1 4.5:1
fgColor-closed vs. bgColor-closed-muted 4.57:1 4.5:1
fgColor-attention vs. bgColor-attention-muted 4.51:1 4.5:1
fgColor-severe vs. bgColor-severe-muted 4.54:1 4.5:1
fgColor-done vs. bgColor-done-muted 4.53:1 4.5:1
fgColor-sponsors vs. bgColor-sponsors-muted 4.55:1 4.5:1
fgColor-onEmphasis vs. bgColor-neutral-emphasis 4.54:1 4.5:1
fgColor-onEmphasis vs. bgColor-accent-emphasis 5.19:1 4.5:1
fgColor-onEmphasis vs. bgColor-success-emphasis 4.51:1 4.5:1
fgColor-onEmphasis vs. bgColor-open-emphasis 4.51:1 4.5:1
fgColor-onEmphasis vs. bgColor-danger-emphasis 5.35:1 4.5:1
fgColor-onEmphasis vs. bgColor-closed-emphasis 5.35:1 4.5:1
fgColor-onEmphasis vs. bgColor-attention-emphasis 4.86:1 4.5:1
fgColor-onEmphasis vs. bgColor-severe-emphasis 5.03:1 4.5:1
fgColor-onEmphasis vs. bgColor-done-emphasis 5.04:1 4.5:1
fgColor-onEmphasis vs. bgColor-sponsors-emphasis 5.04:1 4.5:1
control-borderColor-emphasis vs. bgColor-default 3.27:1 3:1
control-borderColor-emphasis vs. bgColor-muted 3.08:1 3:1

dark: ✅ all checks passed

Show results table for theme: dark
contrastPair pass contrastRatio minimumContrastRatio
fgColor-default vs. bgColor-default 16.01:1 4.5:1
fgColor-muted vs. bgColor-default 6.31:1 4.5:1
fgColor-default vs. bgColor-muted 14.63:1 4.5:1
fgColor-muted vs. bgColor-muted 5.76:1 4.5:1
fgColor-default vs. bgColor-inset 17.37:1 4.5:1
fgColor-muted vs. bgColor-inset 6.84:1 4.5:1
control-fgColor-rest vs. bgColor-default 12.26:1 4.5:1
control-fgColor-rest vs. bgColor-muted 11.2:1 4.5:1
control-fgColor-rest vs. bgColor-inset 13.3:1 4.5:1
control-fgColor-rest vs. control-bgColor-rest 9.86:1 4.5:1
control-fgColor-placeholder vs. control-bgColor-rest 4.58:1 4.5:1
control-fgColor-rest vs. control-bgColor-active 7.87:1 4.5:1
control-fgColor-rest vs. control-bgColor-selected 11.2:1 4.5:1
fgColor-default vs. bgColor-accent-muted on bgColor-default 14.34:1 4.5:1
fgColor-default vs. bgColor-accent-muted on bgColor-muted 12.91:1 4.5:1
fgColor-default vs. bgColor-success-muted on bgColor-default 13.44:1 4.5:1
fgColor-default vs. bgColor-success-muted on bgColor-muted 12:1 4.5:1
fgColor-default vs. bgColor-open-muted on bgColor-default 14.28:1 4.5:1
fgColor-default vs. bgColor-open-muted on bgColor-muted 12.85:1 4.5:1
fgColor-default vs. bgColor-danger-muted on bgColor-default 14.49:1 4.5:1
fgColor-default vs. bgColor-danger-muted on bgColor-muted 13.09:1 4.5:1
fgColor-default vs. bgColor-closed-muted on bgColor-default 13.65:1 4.5:1
fgColor-default vs. bgColor-closed-muted on bgColor-muted 12.34:1 4.5:1
fgColor-default vs. bgColor-attention-muted on bgColor-default 13.4:1 4.5:1
fgColor-default vs. bgColor-attention-muted on bgColor-muted 12.08:1 4.5:1
fgColor-default vs. bgColor-severe-muted on bgColor-default 14.45:1 4.5:1
fgColor-default vs. bgColor-severe-muted on bgColor-muted 13.03:1 4.5:1
fgColor-default vs. bgColor-done-muted on bgColor-default 13.11:1 4.5:1
fgColor-default vs. bgColor-done-muted on bgColor-muted 11.71:1 4.5:1
fgColor-default vs. bgColor-sponsors-muted on bgColor-default 14.4:1 4.5:1
fgColor-default vs. bgColor-sponsors-muted on bgColor-muted 12.98:1 4.5:1
fgColor-accent vs. bgColor-default 6.1:1 4.5:1
fgColor-accent vs. bgColor-muted 5.58:1 4.5:1
fgColor-accent vs. bgColor-inset 6.62:1 4.5:1
fgColor-success vs. bgColor-default 7.44:1 4.5:1
fgColor-success vs. bgColor-muted 6.8:1 4.5:1
fgColor-success vs. bgColor-inset 8.08:1 4.5:1
fgColor-open vs. bgColor-default 7.44:1 4.5:1
fgColor-open vs. bgColor-muted 6.8:1 4.5:1
fgColor-open vs. bgColor-inset 8.08:1 4.5:1
fgColor-danger vs. bgColor-default 5.64:1 4.5:1
fgColor-danger vs. bgColor-muted 5.16:1 4.5:1
fgColor-danger vs. bgColor-inset 6.12:1 4.5:1
fgColor-closed vs. bgColor-default 5.64:1 4.5:1
fgColor-closed vs. bgColor-muted 5.16:1 4.5:1
fgColor-closed vs. bgColor-inset 6.12:1 4.5:1
fgColor-attention vs. bgColor-default 7.49:1 4.5:1
fgColor-attention vs. bgColor-muted 6.85:1 4.5:1
fgColor-attention vs. bgColor-inset 8.13:1 4.5:1
fgColor-severe vs. bgColor-default 5.61:1 4.5:1
fgColor-severe vs. bgColor-muted 5.13:1 4.5:1
fgColor-severe vs. bgColor-inset 6.09:1 4.5:1
fgColor-done vs. bgColor-default 6.32:1 4.5:1
fgColor-done vs. bgColor-muted 5.78:1 4.5:1
fgColor-done vs. bgColor-inset 6.86:1 4.5:1
fgColor-sponsors vs. bgColor-default 5.62:1 4.5:1
fgColor-sponsors vs. bgColor-muted 5.14:1 4.5:1
fgColor-sponsors vs. bgColor-inset 6.1:1 4.5:1
fgColor-accent vs. bgColor-accent-muted on bgColor-default 5.46:1 4.5:1
fgColor-success vs. bgColor-success-muted on bgColor-default 6.25:1 4.5:1
fgColor-success vs. bgColor-success-muted on bgColor-muted 5.58:1 4.5:1
fgColor-open vs. bgColor-open-muted on bgColor-default 6.64:1 4.5:1
fgColor-open vs. bgColor-open-muted on bgColor-muted 5.97:1 4.5:1
fgColor-danger vs. bgColor-danger-muted on bgColor-default 5.1:1 4.5:1
fgColor-danger vs. bgColor-danger-muted on bgColor-muted 4.61:1 4.5:1
fgColor-closed vs. bgColor-closed-muted on bgColor-default 4.81:1 4.5:1
fgColor-attention vs. bgColor-attention-muted on bgColor-default 6.27:1 4.5:1
fgColor-attention vs. bgColor-attention-muted on bgColor-muted 5.65:1 4.5:1
fgColor-severe vs. bgColor-severe-muted on bgColor-default 5.06:1 4.5:1
fgColor-severe vs. bgColor-severe-muted on bgColor-muted 4.57:1 4.5:1
fgColor-done vs. bgColor-done-muted on bgColor-default 5.18:1 4.5:1
fgColor-done vs. bgColor-done-muted on bgColor-muted 4.62:1 4.5:1
fgColor-sponsors vs. bgColor-sponsors-muted on bgColor-default 5.06:1 4.5:1
fgColor-sponsors vs. bgColor-sponsors-muted on bgColor-muted 4.56:1 4.5:1
fgColor-onEmphasis vs. bgColor-neutral-emphasis 4.59:1 4.5:1
fgColor-onEmphasis vs. bgColor-accent-emphasis 4.63:1 4.5:1
fgColor-onEmphasis vs. bgColor-success-emphasis 4.63:1 4.5:1
fgColor-onEmphasis vs. bgColor-open-emphasis 4.63:1 4.5:1
fgColor-onEmphasis vs. bgColor-danger-emphasis 4.6:1 4.5:1
fgColor-onEmphasis vs. bgColor-closed-emphasis 4.6:1 4.5:1
fgColor-onEmphasis vs. bgColor-attention-emphasis 4.64:1 4.5:1
fgColor-onEmphasis vs. bgColor-severe-emphasis 4.65:1 4.5:1
fgColor-onEmphasis vs. bgColor-done-emphasis 4.6:1 4.5:1
fgColor-onEmphasis vs. bgColor-sponsors-emphasis 4.57:1 4.5:1
control-borderColor-emphasis vs. bgColor-default 3.66:1 3:1
control-borderColor-emphasis vs. bgColor-muted 3.35:1 3:1

Copy link
Contributor

github-actions bot commented Jun 17, 2024

Design Token Diff

/css/functional/typography/typography.css

+++ /home/runner/work/primitives/primitives/dist/css/functional/typography/typography.css	2024-06-17 13:05:06.236799402 +0000
@@ -22,6 +22,7 @@
 --text-display-size: 2.5rem;
 --text-display-lineBoxHeight: 1.4;
 --fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
+  --fontStack-sansSerifDisplay: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
 --fontStack-sansSerif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
 --fontStack-system: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
 --text-codeInline-weight: var(--base-text-weight-normal);
@@ -39,9 +40,9 @@
 --text-body-shorthand-small: var(--text-body-weight) var(--text-body-size-small) / var(--text-body-lineHeight-small) var(--fontStack-sansSerif);
 --text-body-shorthand-medium: var(--text-body-weight) var(--text-body-size-medium) / var(--text-body-lineHeight-medium) var(--fontStack-sansSerif);
 --text-body-shorthand-large: var(--text-body-weight) var(--text-body-size-large) / var(--text-body-lineHeight-large) var(--fontStack-sansSerif);
-  --text-subtitle-shorthand: var(--text-subtitle-weight) var(--text-subtitle-size) / var(--text-subtitle-lineHeight) var(--fontStack-sansSerif);
+  --text-subtitle-shorthand: var(--text-subtitle-weight) var(--text-subtitle-size) / var(--text-subtitle-lineHeight) var(--fontStack-sansSerifDisplay);
 --text-title-shorthand-small: var(--text-title-weight-small) var(--text-title-size-small) / var(--text-title-lineHeight-small) var(--fontStack-sansSerif);
-  --text-title-shorthand-medium: var(--text-title-weight-medium) var(--text-title-size-medium) / var(--text-title-lineHeight-medium) var(--fontStack-sansSerif);
-  --text-title-shorthand-large: var(--text-title-weight-large) var(--text-title-size-large) / var(--text-title-lineHeight-large) var(--fontStack-sansSerif);
-  --text-display-shorthand: var(--text-display-weight) var(--text-display-size) / var(--text-display-lineHeight) var(--fontStack-sansSerif);
+  --text-title-shorthand-medium: var(--text-title-weight-medium) var(--text-title-size-medium) / var(--text-title-lineHeight-medium) var(--fontStack-sansSerifDisplay);
+  --text-title-shorthand-large: var(--text-title-weight-large) var(--text-title-size-large) / var(--text-title-lineHeight-large) var(--fontStack-sansSerifDisplay);
+  --text-display-shorthand: var(--text-display-weight) var(--text-display-size) / var(--text-display-lineHeight) var(--fontStack-sansSerifDisplay);
}

/css/primitives.css

+++ /home/runner/work/primitives/primitives/dist/css/primitives.css	2024-06-17 13:05:06.404801923 +0000
@@ -164,6 +164,7 @@
 --text-display-size: 2.5rem;
 --text-display-lineBoxHeight: 1.4;
 --fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
+  --fontStack-sansSerifDisplay: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
 --fontStack-sansSerif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
 --fontStack-system: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
 --text-codeInline-weight: var(--base-text-weight-normal);
@@ -181,9 +182,9 @@
 --text-body-shorthand-small: var(--text-body-weight) var(--text-body-size-small) / var(--text-body-lineHeight-small) var(--fontStack-sansSerif);
 --text-body-shorthand-medium: var(--text-body-weight) var(--text-body-size-medium) / var(--text-body-lineHeight-medium) var(--fontStack-sansSerif);
 --text-body-shorthand-large: var(--text-body-weight) var(--text-body-size-large) / var(--text-body-lineHeight-large) var(--fontStack-sansSerif);
-  --text-subtitle-shorthand: var(--text-subtitle-weight) var(--text-subtitle-size) / var(--text-subtitle-lineHeight) var(--fontStack-sansSerif);
+  --text-subtitle-shorthand: var(--text-subtitle-weight) var(--text-subtitle-size) / var(--text-subtitle-lineHeight) var(--fontStack-sansSerifDisplay);
 --text-title-shorthand-small: var(--text-title-weight-small) var(--text-title-size-small) / var(--text-title-lineHeight-small) var(--fontStack-sansSerif);
-  --text-title-shorthand-medium: var(--text-title-weight-medium) var(--text-title-size-medium) / var(--text-title-lineHeight-medium) var(--fontStack-sansSerif);
-  --text-title-shorthand-large: var(--text-title-weight-large) var(--text-title-size-large) / var(--text-title-lineHeight-large) var(--fontStack-sansSerif);
-  --text-display-shorthand: var(--text-display-weight) var(--text-display-size) / var(--text-display-lineHeight) var(--fontStack-sansSerif);
+  --text-title-shorthand-medium: var(--text-title-weight-medium) var(--text-title-size-medium) / var(--text-title-lineHeight-medium) var(--fontStack-sansSerifDisplay);
+  --text-title-shorthand-large: var(--text-title-weight-large) var(--text-title-size-large) / var(--text-title-lineHeight-large) var(--fontStack-sansSerifDisplay);
+  --text-display-shorthand: var(--text-display-weight) var(--text-display-size) / var(--text-display-lineHeight) var(--fontStack-sansSerifDisplay);
}

@lukasoppermann lukasoppermann merged commit 395d45f into main Jun 18, 2024
21 checks passed
@lukasoppermann lukasoppermann deleted the add-display-font branch June 18, 2024 10:59
@primer primer bot mentioned this pull request Jun 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants