♻️(react) split fonts in a seperate CSS file
Fonts were de-facto included in the bundled dist/style.css file which wasn't convenient in situations were consumers wanted to import fonts by themselves.
This commit is contained in:
5
.changeset/two-swans-crash.md
Normal file
5
.changeset/two-swans-crash.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"@openfun/cunningham-react": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Split fonts in a separated CSS file
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
@import "cunningham-tokens";
|
@import "@openfun/cunningham-react/fonts";
|
||||||
@import "@openfun/cunningham-react/style";
|
@import "@openfun/cunningham-react/style";
|
||||||
|
@import "cunningham-tokens";
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
font-family: Roboto, sans-serif;
|
font-family: Roboto, sans-serif;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import '../src/index.scss'
|
import '../src/index.scss'
|
||||||
|
import '../src/fonts.scss'
|
||||||
|
|
||||||
export const parameters = {
|
export const parameters = {
|
||||||
actions: { argTypesRegex: "^on[A-Z].*" },
|
actions: { argTypesRegex: "^on[A-Z].*" },
|
||||||
|
|||||||
@@ -16,7 +16,8 @@
|
|||||||
"require": "./dist/index.cjs",
|
"require": "./dist/index.cjs",
|
||||||
"types": "./dist/index.d.ts"
|
"types": "./dist/index.d.ts"
|
||||||
},
|
},
|
||||||
"./style": "./dist/style.css"
|
"./style": "./dist/style.css",
|
||||||
|
"./fonts": "./dist/fonts.css"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"dist/"
|
"dist/"
|
||||||
@@ -24,7 +25,8 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"lint": "eslint . 'src/**/*.{ts,tsx}'",
|
"lint": "eslint . 'src/**/*.{ts,tsx}'",
|
||||||
"dev": "yarn storybook & nodemon --watch src --ext '*' --ignore src/cunningham-tokens.ts --ignore src/cunningham-tokens.js --ignore src/cunningham-tokens.css --exec npm run build",
|
"dev": "yarn storybook & nodemon --watch src --ext '*' --ignore src/cunningham-tokens.ts --ignore src/cunningham-tokens.js --ignore src/cunningham-tokens.css --exec npm run build",
|
||||||
"build": "tsc && yarn build-theme && vite build",
|
"build": "tsc && yarn build-theme && vite build && yarn build-fonts",
|
||||||
|
"build-fonts": "vite build -c vite.fonts.config.ts && rm -rf dist/fonts.js",
|
||||||
"build-theme": "cunningham -o src -g css,ts,js",
|
"build-theme": "cunningham -o src -g css,ts,js",
|
||||||
"preview": "vite preview",
|
"preview": "vite preview",
|
||||||
"test": "FORCE_COLOR=1 vitest run",
|
"test": "FORCE_COLOR=1 vitest run",
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Then, add these lines at the top of your main stylesheet file:
|
|||||||
dark
|
dark
|
||||||
format={false}
|
format={false}
|
||||||
code={`
|
code={`
|
||||||
|
@import "@openfun/cunningham-react/fonts"; // Imports default fonts ( Roboto ). You can also import fonts by yourself.
|
||||||
@import "@openfun/cunningham-react/style"; // Imports the default theme.
|
@import "@openfun/cunningham-react/style"; // Imports the default theme.
|
||||||
@import "cunningham-tokens"; // Imports the file you just generated.
|
@import "cunningham-tokens"; // Imports the file you just generated.
|
||||||
`}
|
`}
|
||||||
|
|||||||
6
packages/react/src/fonts.scss
Normal file
6
packages/react/src/fonts.scss
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
@import "@fontsource/roboto/100";
|
||||||
|
@import "@fontsource/roboto/300";
|
||||||
|
@import "@fontsource/roboto/400";
|
||||||
|
@import "@fontsource/roboto/500";
|
||||||
|
@import "@fontsource/roboto/700";
|
||||||
|
@import "@fontsource/roboto/900";
|
||||||
@@ -1,9 +1,3 @@
|
|||||||
@import "@fontsource/roboto/100";
|
|
||||||
@import "@fontsource/roboto/300";
|
|
||||||
@import "@fontsource/roboto/400";
|
|
||||||
@import "@fontsource/roboto/500";
|
|
||||||
@import "@fontsource/roboto/700";
|
|
||||||
@import "@fontsource/roboto/900";
|
|
||||||
@import "cunningham-tokens";
|
@import "cunningham-tokens";
|
||||||
@import '@openfun/cunningham-tokens/default-tokens';
|
@import '@openfun/cunningham-tokens/default-tokens';
|
||||||
@import './components/Button';
|
@import './components/Button';
|
||||||
|
|||||||
21
packages/react/vite.fonts.config.ts
Normal file
21
packages/react/vite.fonts.config.ts
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
import { defineConfig } from "vitest/config";
|
||||||
|
|
||||||
|
// https://vitejs.dev/config/
|
||||||
|
export default defineConfig({
|
||||||
|
build: {
|
||||||
|
emptyOutDir: false,
|
||||||
|
outDir: "dist",
|
||||||
|
lib: {
|
||||||
|
entry: {
|
||||||
|
fonts: "./src/fonts.scss",
|
||||||
|
},
|
||||||
|
formats: ["es"],
|
||||||
|
},
|
||||||
|
rollupOptions: {
|
||||||
|
input: "src/fonts.scss",
|
||||||
|
output: {
|
||||||
|
assetFileNames: "fonts.css",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user