@grantbii/design-system 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/.github/workflows/continuous-delivery.yaml +31 -0
  2. package/.github/workflows/continuous-integration.yaml +34 -0
  3. package/.husky/pre-commit +1 -0
  4. package/README.md +49 -0
  5. package/app/favicon.ico +0 -0
  6. package/app/layout.tsx +21 -0
  7. package/app/page.tsx +3 -0
  8. package/core/global/GlobalStyle.tsx +68 -0
  9. package/core/index.ts +3 -0
  10. package/core/integrations/StyledComponentsRegistry.tsx +27 -0
  11. package/core/tokens/colors.ts +46 -0
  12. package/eslint.config.mjs +24 -0
  13. package/next.config.ts +10 -0
  14. package/package.json +38 -0
  15. package/public/fonts/satoshi/README.md +51 -0
  16. package/public/fonts/satoshi/css/satoshi.css +179 -0
  17. package/public/fonts/satoshi/fonts/Satoshi-Black.eot +0 -0
  18. package/public/fonts/satoshi/fonts/Satoshi-Black.ttf +0 -0
  19. package/public/fonts/satoshi/fonts/Satoshi-Black.woff +0 -0
  20. package/public/fonts/satoshi/fonts/Satoshi-Black.woff2 +0 -0
  21. package/public/fonts/satoshi/fonts/Satoshi-BlackItalic.eot +0 -0
  22. package/public/fonts/satoshi/fonts/Satoshi-BlackItalic.ttf +0 -0
  23. package/public/fonts/satoshi/fonts/Satoshi-BlackItalic.woff +0 -0
  24. package/public/fonts/satoshi/fonts/Satoshi-BlackItalic.woff2 +0 -0
  25. package/public/fonts/satoshi/fonts/Satoshi-Bold.eot +0 -0
  26. package/public/fonts/satoshi/fonts/Satoshi-Bold.ttf +0 -0
  27. package/public/fonts/satoshi/fonts/Satoshi-Bold.woff +0 -0
  28. package/public/fonts/satoshi/fonts/Satoshi-Bold.woff2 +0 -0
  29. package/public/fonts/satoshi/fonts/Satoshi-BoldItalic.eot +0 -0
  30. package/public/fonts/satoshi/fonts/Satoshi-BoldItalic.ttf +0 -0
  31. package/public/fonts/satoshi/fonts/Satoshi-BoldItalic.woff +0 -0
  32. package/public/fonts/satoshi/fonts/Satoshi-BoldItalic.woff2 +0 -0
  33. package/public/fonts/satoshi/fonts/Satoshi-Italic.eot +0 -0
  34. package/public/fonts/satoshi/fonts/Satoshi-Italic.ttf +0 -0
  35. package/public/fonts/satoshi/fonts/Satoshi-Italic.woff +0 -0
  36. package/public/fonts/satoshi/fonts/Satoshi-Italic.woff2 +0 -0
  37. package/public/fonts/satoshi/fonts/Satoshi-Light.eot +0 -0
  38. package/public/fonts/satoshi/fonts/Satoshi-Light.ttf +0 -0
  39. package/public/fonts/satoshi/fonts/Satoshi-Light.woff +0 -0
  40. package/public/fonts/satoshi/fonts/Satoshi-Light.woff2 +0 -0
  41. package/public/fonts/satoshi/fonts/Satoshi-LightItalic.eot +0 -0
  42. package/public/fonts/satoshi/fonts/Satoshi-LightItalic.ttf +0 -0
  43. package/public/fonts/satoshi/fonts/Satoshi-LightItalic.woff +0 -0
  44. package/public/fonts/satoshi/fonts/Satoshi-LightItalic.woff2 +0 -0
  45. package/public/fonts/satoshi/fonts/Satoshi-Medium.eot +0 -0
  46. package/public/fonts/satoshi/fonts/Satoshi-Medium.ttf +0 -0
  47. package/public/fonts/satoshi/fonts/Satoshi-Medium.woff +0 -0
  48. package/public/fonts/satoshi/fonts/Satoshi-Medium.woff2 +0 -0
  49. package/public/fonts/satoshi/fonts/Satoshi-MediumItalic.eot +0 -0
  50. package/public/fonts/satoshi/fonts/Satoshi-MediumItalic.ttf +0 -0
  51. package/public/fonts/satoshi/fonts/Satoshi-MediumItalic.woff +0 -0
  52. package/public/fonts/satoshi/fonts/Satoshi-MediumItalic.woff2 +0 -0
  53. package/public/fonts/satoshi/fonts/Satoshi-Regular.eot +0 -0
  54. package/public/fonts/satoshi/fonts/Satoshi-Regular.ttf +0 -0
  55. package/public/fonts/satoshi/fonts/Satoshi-Regular.woff +0 -0
  56. package/public/fonts/satoshi/fonts/Satoshi-Regular.woff2 +0 -0
  57. package/public/fonts/satoshi/fonts/Satoshi-Variable.eot +0 -0
  58. package/public/fonts/satoshi/fonts/Satoshi-Variable.ttf +0 -0
  59. package/public/fonts/satoshi/fonts/Satoshi-Variable.woff +0 -0
  60. package/public/fonts/satoshi/fonts/Satoshi-Variable.woff2 +0 -0
  61. package/public/fonts/satoshi/fonts/Satoshi-VariableItalic.eot +0 -0
  62. package/public/fonts/satoshi/fonts/Satoshi-VariableItalic.ttf +0 -0
  63. package/public/fonts/satoshi/fonts/Satoshi-VariableItalic.woff +0 -0
  64. package/public/fonts/satoshi/fonts/Satoshi-VariableItalic.woff2 +0 -0
  65. package/public/icons/grant_match.webp +0 -0
  66. package/tsconfig.json +27 -0
@@ -0,0 +1,31 @@
1
+ name: Continuous Delivery for Design System
2
+
3
+ on:
4
+ push:
5
+ branches: ["prod"]
6
+
7
+ permissions:
8
+ contents: read
9
+
10
+ jobs:
11
+ publish:
12
+ runs-on: ubuntu-latest
13
+
14
+ steps:
15
+ - name: Git Checkout
16
+ uses: actions/checkout@v4
17
+
18
+ - name: Set up Node 22
19
+ uses: actions/setup-node@v4
20
+ with:
21
+ node-version: 22
22
+ registry-url: "https://registry.npmjs.org"
23
+ cache: "npm"
24
+
25
+ - name: Install dependencies
26
+ run: npm clean-install
27
+
28
+ - name: Publish package to NPM
29
+ run: npm publish --access public
30
+ env:
31
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -0,0 +1,34 @@
1
+ name: Continuous Integration for Design System
2
+
3
+ on:
4
+ push:
5
+ branches-ignore: ["prod"]
6
+
7
+ permissions:
8
+ contents: read
9
+
10
+ jobs:
11
+ checks:
12
+ runs-on: ubuntu-latest
13
+
14
+ steps:
15
+ - name: Git Checkout
16
+ uses: actions/checkout@v4
17
+
18
+ - name: Set up Node 22
19
+ uses: actions/setup-node@v4
20
+ with:
21
+ node-version: 22
22
+ cache: "npm"
23
+
24
+ - name: Install dependencies
25
+ run: npm clean-install
26
+
27
+ - name: Lint with eslint
28
+ run: npx eslint app/
29
+
30
+ - name: Format with prettier
31
+ run: npx prettier --check app/
32
+
33
+ - name: Ensure build passes
34
+ run: npm run build
@@ -0,0 +1 @@
1
+ npx lint-staged
package/README.md ADDED
@@ -0,0 +1,49 @@
1
+ # Grantbii's Design System
2
+
3
+ Based on Grantbii's Global Design Library in Figma.
4
+
5
+ ## Prerequisites
6
+
7
+ Node 22
8
+
9
+ ```bash
10
+ node -v # expected output: v22.14.xx
11
+ ```
12
+
13
+ ## Set-up
14
+
15
+ Install dependencies
16
+
17
+ ```bash
18
+ npm i
19
+ ```
20
+
21
+ ## Run
22
+
23
+ First, run the development server:
24
+
25
+ ```bash
26
+ npm run dev
27
+ ```
28
+
29
+ Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
30
+
31
+ The pages auto-updates as you edit the files.
32
+
33
+ ## Develop
34
+
35
+ Use the `webp` format for images as it is lossless but more efficient than `png`.
36
+
37
+ Get started by installing [`cwebp`](https://developers.google.com/speed/webp/docs/cwebp).
38
+
39
+ Convert an image from `png` to `webp` like so:
40
+
41
+ ```bash
42
+ cwebp -exact -lossless -progress your_image.png -o your_image.webp
43
+ ```
44
+
45
+ ## Deploy
46
+
47
+ Deployment is automatic with [AWS Amplify](https://aws.amazon.com/amplify).
48
+
49
+ Once a commit has been made on the `prod` branch, a build would be triggered.
Binary file
package/app/layout.tsx ADDED
@@ -0,0 +1,21 @@
1
+ import { GlobalStyle, StyledComponentsRegistry } from "@/core";
2
+ import type { Metadata } from "next";
3
+ import { PropsWithChildren } from "react";
4
+
5
+ export const metadata: Metadata = {
6
+ title: "Grantbii's Design System",
7
+ description: "Grantbii's Design System",
8
+ };
9
+
10
+ const RootLayout = ({ children }: PropsWithChildren) => (
11
+ <html lang="en">
12
+ <body>
13
+ <StyledComponentsRegistry>
14
+ <GlobalStyle />
15
+ {children}
16
+ </StyledComponentsRegistry>
17
+ </body>
18
+ </html>
19
+ );
20
+
21
+ export default RootLayout;
package/app/page.tsx ADDED
@@ -0,0 +1,3 @@
1
+ const HomePage = () => <main>Hello world</main>;
2
+
3
+ export default HomePage;
@@ -0,0 +1,68 @@
1
+ "use client";
2
+
3
+ import { BLACK_WHITE_COLOR, TYPOGRAPHY_COLOR } from "@/core/tokens/colors";
4
+ import "@/public/fonts/satoshi/css/satoshi.css";
5
+ import { createGlobalStyle } from "styled-components";
6
+
7
+ const GlobalStyle = createGlobalStyle`
8
+ html,
9
+ body {
10
+ max-width: 100vw;
11
+ }
12
+
13
+ body {
14
+ color: ${TYPOGRAPHY_COLOR.blackHigh};
15
+ background: ${BLACK_WHITE_COLOR.white};
16
+ font-family: Satoshi;
17
+ -webkit-font-smoothing: antialiased;
18
+ -moz-osx-font-smoothing: grayscale;
19
+ }
20
+
21
+ button,
22
+ fieldset,
23
+ textarea {
24
+ all: unset;
25
+ }
26
+
27
+ * {
28
+ box-sizing: border-box;
29
+ padding: 0;
30
+ margin: 0;
31
+ }
32
+
33
+ a {
34
+ color: inherit;
35
+ text-decoration: none;
36
+ }
37
+
38
+ button:hover {
39
+ cursor: pointer;
40
+ }
41
+
42
+ button:disabled {
43
+ cursor: not-allowed;
44
+ }
45
+
46
+ li {
47
+ list-style-position: inside;
48
+ }
49
+
50
+ li * {
51
+ vertical-align: middle;
52
+ }
53
+
54
+ /* number textfield in Chrome, Safari, Edge, Opera */
55
+ input::-webkit-outer-spin-button,
56
+ input::-webkit-inner-spin-button {
57
+ -webkit-appearance: none;
58
+ margin: 0;
59
+ }
60
+
61
+ /* number textfield in Firefox */
62
+ input[type="number"] {
63
+ -moz-appearance: textfield;
64
+ appearance: textfield;
65
+ }
66
+ `;
67
+
68
+ export default GlobalStyle;
package/core/index.ts ADDED
@@ -0,0 +1,3 @@
1
+ export { default as StyledComponentsRegistry } from "@/core/integrations/StyledComponentsRegistry";
2
+ export { default as GlobalStyle } from "@/core/global/GlobalStyle";
3
+ export * from "@/core/tokens/colors";
@@ -0,0 +1,27 @@
1
+ "use client";
2
+
3
+ import { useServerInsertedHTML } from "next/navigation";
4
+ import { PropsWithChildren, useState } from "react";
5
+ import { ServerStyleSheet, StyleSheetManager } from "styled-components";
6
+
7
+ const StyledComponentsRegistry = ({ children }: PropsWithChildren) => {
8
+ // Only create stylesheet once with lazy initial state
9
+ // x-ref: https://reactjs.org/docs/hooks-reference.html#lazy-initial-state
10
+ const [styledComponentsStyleSheet] = useState(() => new ServerStyleSheet());
11
+
12
+ useServerInsertedHTML(() => {
13
+ const styles = styledComponentsStyleSheet.getStyleElement();
14
+ styledComponentsStyleSheet.instance.clearTag();
15
+ return <>{styles}</>;
16
+ });
17
+
18
+ return typeof window !== "undefined" ? (
19
+ <>{children}</>
20
+ ) : (
21
+ <StyleSheetManager sheet={styledComponentsStyleSheet.instance}>
22
+ {children}
23
+ </StyleSheetManager>
24
+ );
25
+ };
26
+
27
+ export default StyledComponentsRegistry;
@@ -0,0 +1,46 @@
1
+ export const MAIN_COLOR = {
2
+ primary: "#16538a",
3
+ secondary: "#f3924d",
4
+ };
5
+
6
+ export const BLACK_WHITE_COLOR = {
7
+ black: "#232022",
8
+ white: "#ffffff",
9
+ };
10
+
11
+ export const NEUTRAL_COLOR = {
12
+ grey1: "#999999",
13
+ grey2: "#cccccc",
14
+ grey3: "#eeeeee",
15
+ grey4: "#fafafa",
16
+ };
17
+
18
+ export const ACCENT_COLOR = {
19
+ // usually includes dangerous, wrong or rejected information
20
+ red1: "#c02318",
21
+ red2: "#f88e86",
22
+ red3: "#fcc7c3",
23
+ // usually indicates warning, progressing, etc
24
+ yellow1: "#edab03",
25
+ yellow2: "#f4cc68",
26
+ yellow3: "#fae6b3",
27
+ // usually indicates success, correct, passed, etc
28
+ green1: "#08a45e",
29
+ green2: "#6bc89e",
30
+ green3: "#b5e4cf",
31
+ // usually indicates info, no emotion
32
+ blue1: "#1878e4",
33
+ blue2: "#74aeef",
34
+ blue3: "#bad6f7",
35
+ };
36
+
37
+ export const OVERLAY_COLOR = "#13131366";
38
+
39
+ export const TYPOGRAPHY_COLOR = {
40
+ blackHigh: "#000000e5",
41
+ blackMedium: "#00000099",
42
+ blackLow: "#0000004d",
43
+ whiteHigh: "#ffffff",
44
+ whiteMedium: "#ffffff99",
45
+ whiteLow: "#0000001a",
46
+ };
@@ -0,0 +1,24 @@
1
+ import { FlatCompat } from "@eslint/eslintrc";
2
+ import { dirname } from "path";
3
+ import { fileURLToPath } from "url";
4
+
5
+ const __filename = fileURLToPath(import.meta.url);
6
+ const __dirname = dirname(__filename);
7
+
8
+ const compat = new FlatCompat({
9
+ baseDirectory: __dirname,
10
+ });
11
+
12
+ const eslintConfig = [
13
+ ...compat.extends("next/core-web-vitals", "next/typescript"),
14
+ {
15
+ rules: {
16
+ "@typescript-eslint/no-unused-vars": [
17
+ "error",
18
+ { argsIgnorePattern: "^_" },
19
+ ],
20
+ },
21
+ },
22
+ ];
23
+
24
+ export default eslintConfig;
package/next.config.ts ADDED
@@ -0,0 +1,10 @@
1
+ import type { NextConfig } from "next";
2
+
3
+ const nextConfig: NextConfig = {
4
+ compiler: {
5
+ styledComponents: true,
6
+ },
7
+ devIndicators: false,
8
+ };
9
+
10
+ export default nextConfig;
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@grantbii/design-system",
3
+ "version": "1.0.0",
4
+ "scripts": {
5
+ "dev": "next dev --turbopack",
6
+ "build": "next build",
7
+ "start": "next start",
8
+ "lint": "next lint",
9
+ "prepare": "husky"
10
+ },
11
+ "dependencies": {
12
+ "next": "15.3.5",
13
+ "react": "^19.0.0",
14
+ "react-dom": "^19.0.0",
15
+ "styled-components": "^6.1.19"
16
+ },
17
+ "devDependencies": {
18
+ "@eslint/eslintrc": "^3",
19
+ "@types/node": "^20",
20
+ "@types/react": "^19",
21
+ "@types/react-dom": "^19",
22
+ "eslint": "^9",
23
+ "eslint-config-next": "15.3.5",
24
+ "husky": "^9.1.7",
25
+ "lint-staged": "^16.1.2",
26
+ "prettier": "^3.6.2",
27
+ "typescript": "^5.8.3"
28
+ },
29
+ "lint-staged": {
30
+ "**/*.{html,css,json,md,yaml}": [
31
+ "prettier --write"
32
+ ],
33
+ "**/*.{ts,tsx}": [
34
+ "eslint --fix",
35
+ "prettier --write"
36
+ ]
37
+ }
38
+ }
@@ -0,0 +1,51 @@
1
+ # Installing Webfonts
2
+
3
+ Follow these simple Steps.
4
+
5
+ ## 1.
6
+
7
+ Put `satoshi/` Folder into a Folder called `fonts/`.
8
+
9
+ ## 2.
10
+
11
+ Put `satoshi.css` into your `css/` Folder.
12
+
13
+ ## 3. (Optional)
14
+
15
+ You may adapt the `url('path')` in `satoshi.css` depends on your Website Filesystem.
16
+
17
+ ## 4.
18
+
19
+ Import `satoshi.css` at the top of you main Stylesheet.
20
+
21
+ ```
22
+ @import url('satoshi.css');
23
+ ```
24
+
25
+ ## 5.
26
+
27
+ You are now ready to use the following Rules in your CSS to specify each Font Style:
28
+
29
+ ```
30
+ font-family: Satoshi-Light;
31
+ font-family: Satoshi-LightItalic;
32
+ font-family: Satoshi-Regular;
33
+ font-family: Satoshi-Italic;
34
+ font-family: Satoshi-Medium;
35
+ font-family: Satoshi-MediumItalic;
36
+ font-family: Satoshi-Bold;
37
+ font-family: Satoshi-BoldItalic;
38
+ font-family: Satoshi-Black;
39
+ font-family: Satoshi-BlackItalic;
40
+ font-family: Satoshi-Variable;
41
+ font-family: Satoshi-VariableItalic;
42
+
43
+ ```
44
+
45
+ ## 6. (Optional)
46
+
47
+ Use `font-variation-settings` rule to controll axes of variable fonts:
48
+ wght 900.0
49
+
50
+ Available axes:
51
+ 'wght' (range from 300.0 to 900.0
@@ -0,0 +1,179 @@
1
+ /**
2
+ * @license
3
+ *
4
+ * Font Family: Satoshi
5
+ * Designed by: Deni Anggara
6
+ * URL: https://www.fontshare.com/fonts/satoshi
7
+ * © 2025 Indian Type Foundry
8
+ *
9
+ * Satoshi Light
10
+ * Satoshi LightItalic
11
+ * Satoshi Regular
12
+ * Satoshi Italic
13
+ * Satoshi Medium
14
+ * Satoshi MediumItalic
15
+ * Satoshi Bold
16
+ * Satoshi BoldItalic
17
+ * Satoshi Black
18
+ * Satoshi BlackItalic
19
+ * Satoshi Variable (Variable font)
20
+ * Satoshi VariableItalic (Variable font)
21
+ *
22
+ * Satoshi -> Satoshi Variable (Variable font)
23
+ *
24
+ */
25
+ @font-face {
26
+ font-family: "Satoshi-Light";
27
+ src:
28
+ url("../fonts/Satoshi-Light.woff2") format("woff2"),
29
+ url("../fonts/Satoshi-Light.woff") format("woff"),
30
+ url("../fonts/Satoshi-Light.ttf") format("truetype");
31
+ font-weight: 300;
32
+ font-display: swap;
33
+ font-style: normal;
34
+ }
35
+ @font-face {
36
+ font-family: "Satoshi-LightItalic";
37
+ src:
38
+ url("../fonts/Satoshi-LightItalic.woff2") format("woff2"),
39
+ url("../fonts/Satoshi-LightItalic.woff") format("woff"),
40
+ url("../fonts/Satoshi-LightItalic.ttf") format("truetype");
41
+ font-weight: 300;
42
+ font-display: swap;
43
+ font-style: italic;
44
+ }
45
+ @font-face {
46
+ font-family: "Satoshi-Regular";
47
+ src:
48
+ url("../fonts/Satoshi-Regular.woff2") format("woff2"),
49
+ url("../fonts/Satoshi-Regular.woff") format("woff"),
50
+ url("../fonts/Satoshi-Regular.ttf") format("truetype");
51
+ font-weight: 400;
52
+ font-display: swap;
53
+ font-style: normal;
54
+ }
55
+ @font-face {
56
+ font-family: "Satoshi-Italic";
57
+ src:
58
+ url("../fonts/Satoshi-Italic.woff2") format("woff2"),
59
+ url("../fonts/Satoshi-Italic.woff") format("woff"),
60
+ url("../fonts/Satoshi-Italic.ttf") format("truetype");
61
+ font-weight: 400;
62
+ font-display: swap;
63
+ font-style: italic;
64
+ }
65
+ @font-face {
66
+ font-family: "Satoshi-Medium";
67
+ src:
68
+ url("../fonts/Satoshi-Medium.woff2") format("woff2"),
69
+ url("../fonts/Satoshi-Medium.woff") format("woff"),
70
+ url("../fonts/Satoshi-Medium.ttf") format("truetype");
71
+ font-weight: 500;
72
+ font-display: swap;
73
+ font-style: normal;
74
+ }
75
+ @font-face {
76
+ font-family: "Satoshi-MediumItalic";
77
+ src:
78
+ url("../fonts/Satoshi-MediumItalic.woff2") format("woff2"),
79
+ url("../fonts/Satoshi-MediumItalic.woff") format("woff"),
80
+ url("../fonts/Satoshi-MediumItalic.ttf") format("truetype");
81
+ font-weight: 500;
82
+ font-display: swap;
83
+ font-style: italic;
84
+ }
85
+ @font-face {
86
+ font-family: "Satoshi-Bold";
87
+ src:
88
+ url("../fonts/Satoshi-Bold.woff2") format("woff2"),
89
+ url("../fonts/Satoshi-Bold.woff") format("woff"),
90
+ url("../fonts/Satoshi-Bold.ttf") format("truetype");
91
+ font-weight: 700;
92
+ font-display: swap;
93
+ font-style: normal;
94
+ }
95
+ @font-face {
96
+ font-family: "Satoshi-BoldItalic";
97
+ src:
98
+ url("../fonts/Satoshi-BoldItalic.woff2") format("woff2"),
99
+ url("../fonts/Satoshi-BoldItalic.woff") format("woff"),
100
+ url("../fonts/Satoshi-BoldItalic.ttf") format("truetype");
101
+ font-weight: 700;
102
+ font-display: swap;
103
+ font-style: italic;
104
+ }
105
+ @font-face {
106
+ font-family: "Satoshi-Black";
107
+ src:
108
+ url("../fonts/Satoshi-Black.woff2") format("woff2"),
109
+ url("../fonts/Satoshi-Black.woff") format("woff"),
110
+ url("../fonts/Satoshi-Black.ttf") format("truetype");
111
+ font-weight: 900;
112
+ font-display: swap;
113
+ font-style: normal;
114
+ }
115
+ @font-face {
116
+ font-family: "Satoshi-BlackItalic";
117
+ src:
118
+ url("../fonts/Satoshi-BlackItalic.woff2") format("woff2"),
119
+ url("../fonts/Satoshi-BlackItalic.woff") format("woff"),
120
+ url("../fonts/Satoshi-BlackItalic.ttf") format("truetype");
121
+ font-weight: 900;
122
+ font-display: swap;
123
+ font-style: italic;
124
+ }
125
+ /**
126
+ * This is a variable font
127
+ * You can control variable axes as shown below:
128
+ * font-variation-settings: wght 900.0;
129
+ *
130
+ * available axes:
131
+ 'wght' (range from 300.0 to 900.0
132
+ */
133
+ @font-face {
134
+ font-family: "Satoshi-Variable";
135
+ src:
136
+ url("../fonts/Satoshi-Variable.woff2") format("woff2"),
137
+ url("../fonts/Satoshi-Variable.woff") format("woff"),
138
+ url("../fonts/Satoshi-Variable.ttf") format("truetype");
139
+ font-weight: 300 900;
140
+ font-display: swap;
141
+ font-style: normal;
142
+ }
143
+ /**
144
+ * This is a variable font
145
+ * You can control variable axes as shown below:
146
+ * font-variation-settings: wght 900.0;
147
+ *
148
+ * available axes:
149
+ 'wght' (range from 300.0 to 900.0
150
+ */
151
+ @font-face {
152
+ font-family: "Satoshi-VariableItalic";
153
+ src:
154
+ url("../fonts/Satoshi-VariableItalic.woff2") format("woff2"),
155
+ url("../fonts/Satoshi-VariableItalic.woff") format("woff"),
156
+ url("../fonts/Satoshi-VariableItalic.ttf") format("truetype");
157
+ font-weight: 300 900;
158
+ font-display: swap;
159
+ font-style: italic;
160
+ }
161
+
162
+ /**
163
+ * This is a variable font
164
+ * You can control variable axes as shown below:
165
+ * font-variation-settings: wght 900.0;
166
+ *
167
+ * available axes:
168
+ 'wght' (range from 300.0 to 900.0
169
+ */
170
+ @font-face {
171
+ font-family: "Satoshi"; /* same as Satoshi-Variable */
172
+ src:
173
+ url("../fonts/Satoshi-Variable.woff2") format("woff2"),
174
+ url("../fonts/Satoshi-Variable.woff") format("woff"),
175
+ url("../fonts/Satoshi-Variable.ttf") format("truetype");
176
+ font-weight: 300 900;
177
+ font-display: swap;
178
+ font-style: normal;
179
+ }
Binary file
package/tsconfig.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2017",
4
+ "lib": ["dom", "dom.iterable", "esnext"],
5
+ "allowJs": true,
6
+ "skipLibCheck": true,
7
+ "strict": true,
8
+ "noEmit": true,
9
+ "esModuleInterop": true,
10
+ "module": "esnext",
11
+ "moduleResolution": "bundler",
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "jsx": "preserve",
15
+ "incremental": true,
16
+ "plugins": [
17
+ {
18
+ "name": "next"
19
+ }
20
+ ],
21
+ "paths": {
22
+ "@/*": ["./*"]
23
+ }
24
+ },
25
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
26
+ "exclude": ["node_modules"]
27
+ }