-
Notifications
You must be signed in to change notification settings - Fork 50
[WIP-07-A] [Project Solar / Phase 1 / Dry-run] Include IBM Plex fonts as part of the @hashicorp/design-system-components package
#3387
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
Draft
didoo
wants to merge
22
commits into
project-solar/phase-1/HDS-5202-5203-5204/dry-run-foundations
Choose a base branch
from
project-solar/phase-1/HDS-5688/ibm-plex-font-embedding
base: project-solar/phase-1/HDS-5202-5203-5204/dry-run-foundations
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+119,953
−25,812
Draft
Changes from all commits
Commits
Show all changes
22 commits
Select commit
Hold shift + click to select a range
2bc917c
added proper `$modes` definitions to `typography` src JSON tokens
didoo ae24b60
TEMP - added `postbuild` scripts to `package.json` files for tokens a…
didoo 833634c
added more proper `$modes` definitions to `color/semantic` and `core/…
didoo 40a0c9b
added component-level design tokens for badge + added $modes values +…
didoo 1e3bd38
updated tokens for `Badge` after sync with Lilith
didoo c0ddeac
updated CSS styles for `Badge`/`BadgeCount` after changes to underlyi…
didoo bcb970e
added component-level design tokens for Button + updated CSS styling …
didoo d5c38c1
replaced button-related Sass variables with corresponding CSS variabl…
didoo 52461b7
added conditional styling for button when full-width
didoo fb1bdac
linting
didoo 32e22b0
assigned `0` as value for all the “carbonized” border radiuses
didoo bbf28a8
updated a few tokens for `Form/RadioCard`
didoo d3e4c78
small fixes per Copilot’s review
didoo fb5d908
re-generated design tokens in `dest` output
didoo b69f52a
updated temporary CSS files (components + themed tokens) in showcase …
didoo 1f6061c
added `@ibm/plex-sans` and `@ibm/plex-mono` as dev-dependencies for `…
didoo bb1cbb0
update Rollup configuration for `packages/components` to copy static …
didoo 131ceba
added custom `design-system-plex-fonts.scss` file to generate `@font-…
didoo 9a36eda
added IBM Plex font files to the `public-assets` entry in the Ember V…
didoo 5adc07e
updated scripts in `packages/components/package.json` to handle new `…
didoo 5b051a1
removed import of CDN stylesheet for Plex Sans + added import of HDS-…
didoo 210d4f6
updated temporary CSS files (components + themed tokens) in showcase …
didoo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -18,6 +18,7 @@ | |
| "author": "HashiCorp Design Systems <[email protected]>", | ||
| "scripts": { | ||
| "build": "rollup --config", | ||
| "postbuild": "cp -R dist/styles/@hashicorp/design-system-components.css ../../showcase/public/assets/styles/@hashicorp/ && cp -R dist/styles/@hashicorp/design-system-components-common.css ../../showcase/public/assets/styles/@hashicorp/ && cp -R dist/styles/@hashicorp/design-system-power-select-overrides.css ../../showcase/public/assets/styles/@hashicorp/ && cp -R dist/styles/@hashicorp/design-system-plex-fonts.css ../../showcase/public/assets/styles/@hashicorp/", | ||
| "format": "prettier . --cache --write", | ||
| "lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\" --prefixColors auto", | ||
| "lint:fix": "concurrently \"pnpm:lint:*:fix\" --names \"fix:\" --prefixColors auto && pnpm run format", | ||
|
|
@@ -33,7 +34,8 @@ | |
| "test-f:design-system-components": "test -f 'dist/styles/@hashicorp/design-system-components.css' || (echo \"\n\\033[31m⚠️ Error: the pre-compiled CSS file \\`dist/styles/@hashicorp/design-system-components.css\\` was not found\\033[0m\\n\" && exit 1)", | ||
| "test-f:design-system-components-common": "test -f 'dist/styles/@hashicorp/design-system-components-common.css' || (echo \"\n\\033[31m⚠️ Error: the pre-compiled CSS file \\`dist/styles/@hashicorp/design-system-components-common.css\\` was not found\\033[0m\\n\" && exit 1)", | ||
| "test-f:design-system-power-select-overrides": "test -f 'dist/styles/@hashicorp/design-system-power-select-overrides.css' || (echo \"\n\\033[31m⚠️ Error: the pre-compiled CSS file \\`dist/styles/@hashicorp/design-system-power-select-overrides.css\\` was not found\\033[0m\\n\" && exit 1)", | ||
| "prepublishOnly": "pnpm build && pnpm test-f:design-system-components && pnpm test-f:design-system-components-common && pnpm test-f:design-system-power-select-overrides" | ||
| "test-f:design-system-plex-fonts": "test -f 'dist/styles/@hashicorp/design-system-plex-fonts.css' || (echo \"\n\\033[31m⚠️ Error: the pre-compiled CSS file \\`dist/styles/@hashicorp/design-system-plex-fonts.css\\` was not found\\033[0m\\n\" && exit 1)", | ||
| "prepublishOnly": "pnpm build && pnpm test-f:design-system-components && pnpm test-f:design-system-components-common && pnpm test-f:design-system-power-select-overrides && pnpm test-f:design-system-plex-fonts" | ||
| }, | ||
| "dependencies": { | ||
| "@codemirror/commands": "^6.8.0", | ||
|
|
@@ -93,6 +95,8 @@ | |
| "@glint/environment-ember-loose": "^1.5.2", | ||
| "@glint/environment-ember-template-imports": "^1.5.2", | ||
| "@glint/template": "^1.5.2", | ||
| "@ibm/plex-mono": "^1.1.0", | ||
| "@ibm/plex-sans": "^1.1.0", | ||
| "@rollup/plugin-babel": "^6.0.4", | ||
| "@tsconfig/ember": "^3.0.10", | ||
| "@types/luxon": "^3.4.2", | ||
|
|
@@ -401,6 +405,53 @@ | |
| "./services/hds-intl.js": "./dist/_app_/services/hds-intl.js", | ||
| "./services/hds-theming.js": "./dist/_app_/services/hds-theming.js", | ||
| "./services/hds-time.js": "./dist/_app_/services/hds-time.js" | ||
| }, | ||
| "public-assets": { | ||
| "dist/public/assets/fonts/LICENSE.txt": "assets/fonts/LICENSE.txt", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-Italic-Cyrillic.woff2": "assets/fonts/split/woff2/IBMPlexMono-Italic-Cyrillic.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-Italic-Latin1.woff2": "assets/fonts/split/woff2/IBMPlexMono-Italic-Latin1.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-Italic-Latin2.woff2": "assets/fonts/split/woff2/IBMPlexMono-Italic-Latin2.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-Italic-Latin3.woff2": "assets/fonts/split/woff2/IBMPlexMono-Italic-Latin3.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-Italic-Pi.woff2": "assets/fonts/split/woff2/IBMPlexMono-Italic-Pi.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-Regular-Cyrillic.woff2": "assets/fonts/split/woff2/IBMPlexMono-Regular-Cyrillic.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-Regular-Latin1.woff2": "assets/fonts/split/woff2/IBMPlexMono-Regular-Latin1.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-Regular-Latin2.woff2": "assets/fonts/split/woff2/IBMPlexMono-Regular-Latin2.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-Regular-Latin3.woff2": "assets/fonts/split/woff2/IBMPlexMono-Regular-Latin3.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-Regular-Pi.woff2": "assets/fonts/split/woff2/IBMPlexMono-Regular-Pi.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBold-Cyrillic.woff2": "assets/fonts/split/woff2/IBMPlexMono-SemiBold-Cyrillic.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBold-Latin1.woff2": "assets/fonts/split/woff2/IBMPlexMono-SemiBold-Latin1.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBold-Latin2.woff2": "assets/fonts/split/woff2/IBMPlexMono-SemiBold-Latin2.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBold-Latin3.woff2": "assets/fonts/split/woff2/IBMPlexMono-SemiBold-Latin3.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBold-Pi.woff2": "assets/fonts/split/woff2/IBMPlexMono-SemiBold-Pi.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Cyrillic.woff2": "assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Cyrillic.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin1.woff2": "assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin1.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin2.woff2": "assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin2.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin3.woff2": "assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin3.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Pi.woff2": "assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Pi.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-Italic-Cyrillic.woff2": "assets/fonts/split/woff2/IBMPlexSans-Italic-Cyrillic.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-Italic-Greek.woff2": "assets/fonts/split/woff2/IBMPlexSans-Italic-Greek.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-Italic-Latin1.woff2": "assets/fonts/split/woff2/IBMPlexSans-Italic-Latin1.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-Italic-Latin2.woff2": "assets/fonts/split/woff2/IBMPlexSans-Italic-Latin2.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-Italic-Latin3.woff2": "assets/fonts/split/woff2/IBMPlexSans-Italic-Latin3.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-Italic-Pi.woff2": "assets/fonts/split/woff2/IBMPlexSans-Italic-Pi.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-Regular-Cyrillic.woff2": "assets/fonts/split/woff2/IBMPlexSans-Regular-Cyrillic.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-Regular-Greek.woff2": "assets/fonts/split/woff2/IBMPlexSans-Regular-Greek.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-Regular-Latin1.woff2": "assets/fonts/split/woff2/IBMPlexSans-Regular-Latin1.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-Regular-Latin2.woff2": "assets/fonts/split/woff2/IBMPlexSans-Regular-Latin2.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-Regular-Latin3.woff2": "assets/fonts/split/woff2/IBMPlexSans-Regular-Latin3.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-Regular-Pi.woff2": "assets/fonts/split/woff2/IBMPlexSans-Regular-Pi.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBold-Cyrillic.woff2": "assets/fonts/split/woff2/IBMPlexSans-SemiBold-Cyrillic.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBold-Greek.woff2": "assets/fonts/split/woff2/IBMPlexSans-SemiBold-Greek.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBold-Latin1.woff2": "assets/fonts/split/woff2/IBMPlexSans-SemiBold-Latin1.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBold-Latin2.woff2": "assets/fonts/split/woff2/IBMPlexSans-SemiBold-Latin2.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBold-Latin3.woff2": "assets/fonts/split/woff2/IBMPlexSans-SemiBold-Latin3.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBold-Pi.woff2": "assets/fonts/split/woff2/IBMPlexSans-SemiBold-Pi.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Cyrillic.woff2": "assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Cyrillic.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Greek.woff2": "assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Greek.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin1.woff2": "assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin1.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin2.woff2": "assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin2.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin3.woff2": "assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin3.woff2", | ||
| "dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Pi.woff2": "assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Pi.woff2" | ||
| } | ||
| }, | ||
| "exports": { | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
58 changes: 58 additions & 0 deletions
58
packages/components/src/styles/@hashicorp/design-system-plex-fonts.scss
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| /** | ||
| * Copyright (c) HashiCorp, Inc. | ||
| * SPDX-License-Identifier: MPL-2.0 | ||
| */ | ||
|
|
||
| // | ||
| // IBM PLEX FONTS | ||
| // | ||
|
|
||
| // We use only a few selected weights, per design specs | ||
| /* stylelint-disable value-keyword-case */ | ||
| $selected-weights: ( | ||
| // ❌ 100 | ||
| thin: false, | ||
| thinItalic: false, | ||
| // ❌ 200 | ||
| extralight: false, | ||
| extralightItalic: false, | ||
| // ❌ 300 | ||
| light: false, | ||
| lightItalic: false, | ||
| // ✅ 400 | ||
| regular: true, | ||
| italic: true, | ||
| // ❌ 500 | ||
| medium: false, | ||
| mediumItalic: false, | ||
| // ❌ 450 | ||
| text: false, | ||
| textItalic: false, | ||
| // ✅ 600 | ||
| semibold: true, | ||
| semiboldItalic: true, | ||
| // ❌ 700 | ||
| bold: false, | ||
| boldItalic: false | ||
| ); | ||
| /* stylelint-enable value-keyword-case */ | ||
|
|
||
| // Plex Sans (imported from `node_modules/@ibm/plex-sans`) | ||
| // | ||
| @use "plex-sans/scss/index.scss" as PlexSans with ( | ||
| $font-prefix: "/assets", | ||
| $font-weights: $selected-weights | ||
| ); | ||
|
|
||
| // Plex Mono (imported from `node_modules/@ibm/plex-mono`) | ||
| // | ||
| @use "plex-mono/scss/index.scss" as PlexMono with ( | ||
| $font-prefix: "/assets", | ||
| $font-weights: $selected-weights | ||
| ); | ||
|
|
||
| // Add the `@font-face` definitions | ||
| // see: https://github.com/IBM/plex/tree/master/packages/plex-sans#font-weights | ||
| // | ||
| @include PlexSans.all(); | ||
| @include PlexMono.all(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TBD if they should be devDependencies or normal dependencies