Skip to content

Commit 93c4e94

Browse files
committed
feat(fuselage): Integrate Inter font
1 parent b406ce3 commit 93c4e94

File tree

7 files changed

+57
-6
lines changed

7 files changed

+57
-6
lines changed

.changeset/sweet-mirrors-live.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@rocket.chat/fuselage': minor
3+
---
4+
5+
feat(fuselage): Integrate Inter font

packages/fuselage/.storybook/main.ts

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,22 @@
1-
import { dirname, join } from 'path';
1+
import { dirname, join, resolve } from 'path';
22

33
import type { StorybookConfig } from '@storybook/react-webpack5';
44

5-
export default {
5+
const config: StorybookConfig = {
6+
webpackFinal: async (config) => {
7+
config.module?.rules?.push({
8+
test: /\.woff2$/,
9+
type: 'asset/resource',
10+
});
11+
12+
config.resolve = config.resolve || {};
13+
config.resolve.alias = {
14+
...config.resolve.alias,
15+
'~inter-ui': resolve(__dirname, '../../../node_modules/inter-ui'),
16+
};
17+
18+
return config;
19+
},
620
addons: [
721
getAbsolutePath('@storybook/addon-a11y'),
822
getAbsolutePath('@rocket.chat/storybook-dark-mode'),
@@ -87,7 +101,9 @@ export default {
87101
typescript: {
88102
reactDocgen: 'react-docgen-typescript',
89103
},
90-
} satisfies StorybookConfig;
104+
};
105+
106+
export default config;
91107

92108
function getAbsolutePath(value: string): any {
93109
return dirname(require.resolve(join(value, 'package.json')));

packages/fuselage/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
"@rocket.chat/fuselage-tokens": "workspace:~",
4343
"@rocket.chat/memo": "workspace:~",
4444
"@rocket.chat/styled": "workspace:~",
45+
"inter-ui": "~4.1.1",
4546
"invariant": "^2.2.4",
4647
"react-aria": "~3.37.0",
4748
"react-keyed-flatten-children": "^1.3.0",
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
@font-face {
2+
font-family: 'Inter';
3+
font-style: normal;
4+
font-weight: 100 900;
5+
font-display: swap;
6+
src: url('~inter-ui/variable/InterVariable.woff2') format('woff2');
7+
}

packages/fuselage/src/index.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
@import './fonts/inter.scss';
12
@import './styles/functions.scss';
23
@import './styles/variables/all.scss';
34
@import './styles/mixins/all.scss';

packages/fuselage/webpack.config.js

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,13 @@ export default (env, { mode = 'production' }) =>
4141
},
4242
},
4343
},
44+
{
45+
test: /\.woff2$/,
46+
type: 'asset/resource',
47+
generator: {
48+
filename: 'fonts/[name][ext]',
49+
},
50+
},
4451
{
4552
test: /\.scss$/,
4653
use: [
@@ -72,11 +79,17 @@ export default (env, { mode = 'production' }) =>
7279
},
7380
resolve: {
7481
extensions: ['.tsx', '.ts', '.jsx', '.js', '.json'],
82+
alias: {
83+
'~inter-ui': resolve(
84+
import.meta.dirname,
85+
'../../node_modules/inter-ui',
86+
),
87+
},
7588
},
7689
externals: [
77-
...Object.keys(pkg.dependencies ?? {}).map(
78-
(dep) => new RegExp(`^${dep}(/.+)?$`),
79-
),
90+
...Object.keys(pkg.dependencies ?? {})
91+
.filter((dep) => dep !== 'inter-ui')
92+
.map((dep) => new RegExp(`^${dep}(/.+)?$`)),
8093
...Object.keys(pkg.peerDependencies ?? {}).map(
8194
(dep) => new RegExp(`^${dep}(/.+)?$`),
8295
),

yarn.lock

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5636,6 +5636,7 @@ __metadata:
56365636
css-loader: "npm:~7.1.2"
56375637
cssnano: "npm:~7.1.2"
56385638
eslint: "npm:~9.39.2"
5639+
inter-ui: "npm:~4.1.1"
56395640
invariant: "npm:^2.2.4"
56405641
jest: "npm:~30.2.0"
56415642
jest-axe: "npm:~10.0.0"
@@ -12236,6 +12237,13 @@ __metadata:
1223612237
languageName: node
1223712238
linkType: hard
1223812239

12240+
"inter-ui@npm:~4.1.1":
12241+
version: 4.1.1
12242+
resolution: "inter-ui@npm:4.1.1"
12243+
checksum: 10/4c5438a85ea037c6c9e89a80ea7f5d7f31293c91110934a4faffd28da53577cc92480845a7959eb3501f243b58774f5f32b2a7aee597b49b5fc5455880186061
12244+
languageName: node
12245+
linkType: hard
12246+
1223912247
"internal-slot@npm:^1.1.0":
1224012248
version: 1.1.0
1224112249
resolution: "internal-slot@npm:1.1.0"

0 commit comments

Comments
 (0)