@obvia/fonts 0.0.6 → 0.0.8
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.
- package/dist/fonts/fonts.css +70 -0
- package/dist/index.d.ts +108 -3
- package/dist/index.js +105 -0
- package/dist/nuxt.d.ts +13 -0
- package/dist/nuxt.js +6 -0
- package/dist/react.js +129 -0
- package/dist/vanilla.js +8 -0
- package/dist/vue.d.ts +33 -0
- package/dist/vue.js +15 -0
- package/package.json +22 -5
- package/readme.md +59 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/* Obvia Sans */
|
|
2
|
+
@font-face {
|
|
3
|
+
font-family: "Obvia Sans";
|
|
4
|
+
src: url("./fonts/obvia-sans/Obvia-Variable.woff2") format("woff2");
|
|
5
|
+
font-weight: 100 900;
|
|
6
|
+
font-display: swap;
|
|
7
|
+
}
|
|
8
|
+
.font-obvia-sans {
|
|
9
|
+
font-family: "Obvia Sans", sans-serif;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* Obvia Mono */
|
|
13
|
+
@font-face {
|
|
14
|
+
font-family: "Obvia Mono";
|
|
15
|
+
src: url("./fonts/obvia-mono/ObviaMono-Variable.woff2") format("woff2");
|
|
16
|
+
font-weight: 100 900;
|
|
17
|
+
font-display: swap;
|
|
18
|
+
}
|
|
19
|
+
.font-obvia-mono {
|
|
20
|
+
font-family: "Obvia Mono", ui-monospace, SFMono-Regular, Roboto Mono,
|
|
21
|
+
Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/* Obvia Pixel */
|
|
25
|
+
@font-face {
|
|
26
|
+
font-family: "Obvia Pixel Square";
|
|
27
|
+
src: url("./fonts/obvia-pixel/ObviaPixel-Square.woff2") format("woff2");
|
|
28
|
+
font-weight: 500;
|
|
29
|
+
font-display: swap;
|
|
30
|
+
}
|
|
31
|
+
@font-face {
|
|
32
|
+
font-family: "Obvia Pixel Grid";
|
|
33
|
+
src: url("./fonts/obvia-pixel/ObviaPixel-Grid.woff2") format("woff2");
|
|
34
|
+
font-weight: 500;
|
|
35
|
+
font-display: swap;
|
|
36
|
+
}
|
|
37
|
+
@font-face {
|
|
38
|
+
font-family: "Obvia Pixel Circle";
|
|
39
|
+
src: url("./fonts/obvia-pixel/ObviaPixel-Circle.woff2") format("woff2");
|
|
40
|
+
font-weight: 500;
|
|
41
|
+
font-display: swap;
|
|
42
|
+
}
|
|
43
|
+
@font-face {
|
|
44
|
+
font-family: "Obvia Pixel Triangle";
|
|
45
|
+
src: url("./fonts/obvia-pixel/ObviaPixel-Triangle.woff2") format("woff2");
|
|
46
|
+
font-weight: 500;
|
|
47
|
+
font-display: swap;
|
|
48
|
+
}
|
|
49
|
+
@font-face {
|
|
50
|
+
font-family: "Obvia Pixel Line";
|
|
51
|
+
src: url("./fonts/obvia-pixel/ObviaPixel-Line.woff2") format("woff2");
|
|
52
|
+
font-weight: 500;
|
|
53
|
+
font-display: swap;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.font-obvia-pixel-square {
|
|
57
|
+
font-family: "Obvia Pixel Square", "Obvia Mono", monospace;
|
|
58
|
+
}
|
|
59
|
+
.font-obvia-pixel-grid {
|
|
60
|
+
font-family: "Obvia Pixel Grid", "Obvia Mono", monospace;
|
|
61
|
+
}
|
|
62
|
+
.font-obvia-pixel-circle {
|
|
63
|
+
font-family: "Obvia Pixel Circle", "Obvia Mono", monospace;
|
|
64
|
+
}
|
|
65
|
+
.font-obvia-pixel-triangle {
|
|
66
|
+
font-family: "Obvia Pixel Triangle", "Obvia Mono", monospace;
|
|
67
|
+
}
|
|
68
|
+
.font-obvia-pixel-line {
|
|
69
|
+
font-family: "Obvia Pixel Line", "Obvia Mono", monospace;
|
|
70
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { NextFontWithVariable } from
|
|
2
|
-
|
|
1
|
+
import { NextFontWithVariable } from "next/dist/compiled/@next/font"
|
|
2
|
+
|
|
3
3
|
declare module "@obvia/fonts" {
|
|
4
4
|
/**
|
|
5
5
|
* **Obvia Sans** font, with `className` and `variable` properties, meant to be attached to DOM elements via `className`
|
|
@@ -14,6 +14,21 @@ declare module "@obvia/fonts" {
|
|
|
14
14
|
* - `700` - Bold
|
|
15
15
|
* - `800` - Black
|
|
16
16
|
* - `900` - Ultra Black
|
|
17
|
+
*
|
|
18
|
+
* **Usage**
|
|
19
|
+
* ```tsx
|
|
20
|
+
* import { obviaSans } from "@obvia/fonts"
|
|
21
|
+
*
|
|
22
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
23
|
+
* return (
|
|
24
|
+
* <html lang="en">
|
|
25
|
+
* <body className={`${obviaSans.variable}`}>
|
|
26
|
+
* {children}
|
|
27
|
+
* </body>
|
|
28
|
+
* </html>
|
|
29
|
+
* );
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
17
32
|
*/
|
|
18
33
|
export const obviaSans: NextFontWithVariable
|
|
19
34
|
|
|
@@ -30,6 +45,21 @@ declare module "@obvia/fonts" {
|
|
|
30
45
|
* - `700` - Bold
|
|
31
46
|
* - `800` - Black
|
|
32
47
|
* - `900` - Ultra Black
|
|
48
|
+
*
|
|
49
|
+
* **Usage**
|
|
50
|
+
* ```tsx
|
|
51
|
+
* import { obviaMono } from "@obvia/fonts"
|
|
52
|
+
*
|
|
53
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
54
|
+
* return (
|
|
55
|
+
* <html lang="en">
|
|
56
|
+
* <body className={`${obviaMono.variable}`}>
|
|
57
|
+
* {children}
|
|
58
|
+
* </body>
|
|
59
|
+
* </html>
|
|
60
|
+
* );
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
33
63
|
*/
|
|
34
64
|
export const obviaMono: NextFontWithVariable
|
|
35
65
|
|
|
@@ -38,6 +68,21 @@ declare module "@obvia/fonts" {
|
|
|
38
68
|
*
|
|
39
69
|
* **Weights**
|
|
40
70
|
* - `500` - Medium
|
|
71
|
+
*
|
|
72
|
+
* **Usage**
|
|
73
|
+
* ```tsx
|
|
74
|
+
* import { obviaPixelSquare } from "@obvia/fonts"
|
|
75
|
+
*
|
|
76
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
77
|
+
* return (
|
|
78
|
+
* <html lang="en">
|
|
79
|
+
* <body className={`${obviaPixelSquare.variable}`}>
|
|
80
|
+
* {children}
|
|
81
|
+
* </body>
|
|
82
|
+
* </html>
|
|
83
|
+
* );
|
|
84
|
+
* }
|
|
85
|
+
* ```
|
|
41
86
|
*/
|
|
42
87
|
export const obviaPixelSquare: NextFontWithVariable
|
|
43
88
|
|
|
@@ -46,6 +91,21 @@ declare module "@obvia/fonts" {
|
|
|
46
91
|
*
|
|
47
92
|
* **Weights**
|
|
48
93
|
* - `500` - Medium
|
|
94
|
+
*
|
|
95
|
+
* **Usage**
|
|
96
|
+
* ```tsx
|
|
97
|
+
* import { obviaPixelGrid } from "@obvia/fonts"
|
|
98
|
+
*
|
|
99
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
100
|
+
* return (
|
|
101
|
+
* <html lang="en">
|
|
102
|
+
* <body className={`${obviaPixelGrid.variable}`}>
|
|
103
|
+
* {children}
|
|
104
|
+
* </body>
|
|
105
|
+
* </html>
|
|
106
|
+
* );
|
|
107
|
+
* }
|
|
108
|
+
* ```
|
|
49
109
|
*/
|
|
50
110
|
export const obviaPixelGrid: NextFontWithVariable
|
|
51
111
|
|
|
@@ -54,6 +114,21 @@ declare module "@obvia/fonts" {
|
|
|
54
114
|
*
|
|
55
115
|
* **Weights**
|
|
56
116
|
* - `500` - Medium
|
|
117
|
+
*
|
|
118
|
+
* **Usage**
|
|
119
|
+
* ```tsx
|
|
120
|
+
* import { obviaPixelCircle } from "@obvia/fonts"
|
|
121
|
+
*
|
|
122
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
123
|
+
* return (
|
|
124
|
+
* <html lang="en">
|
|
125
|
+
* <body className={`${obviaPixelCircle.variable}`}>
|
|
126
|
+
* {children}
|
|
127
|
+
* </body>
|
|
128
|
+
* </html>
|
|
129
|
+
* );
|
|
130
|
+
* }
|
|
131
|
+
* ```
|
|
57
132
|
*/
|
|
58
133
|
export const obviaPixelCircle: NextFontWithVariable
|
|
59
134
|
|
|
@@ -62,6 +137,21 @@ declare module "@obvia/fonts" {
|
|
|
62
137
|
*
|
|
63
138
|
* **Weights**
|
|
64
139
|
* - `500` - Medium
|
|
140
|
+
*
|
|
141
|
+
* **Usage**
|
|
142
|
+
* ```tsx
|
|
143
|
+
* import { obviaPixelTriangle } from "@obvia/fonts"
|
|
144
|
+
*
|
|
145
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
146
|
+
* return (
|
|
147
|
+
* <html lang="en">
|
|
148
|
+
* <body className={`${obviaPixelTriangle.variable}`}>
|
|
149
|
+
* {children}
|
|
150
|
+
* </body>
|
|
151
|
+
* </html>
|
|
152
|
+
* );
|
|
153
|
+
* }
|
|
154
|
+
* ```
|
|
65
155
|
*/
|
|
66
156
|
export const obviaPixelTriangle: NextFontWithVariable
|
|
67
157
|
|
|
@@ -70,6 +160,21 @@ declare module "@obvia/fonts" {
|
|
|
70
160
|
*
|
|
71
161
|
* **Weights**
|
|
72
162
|
* - `500` - Medium
|
|
163
|
+
*
|
|
164
|
+
* **Usage**
|
|
165
|
+
* ```tsx
|
|
166
|
+
* import { obviaPixelLine } from "@obvia/fonts"
|
|
167
|
+
*
|
|
168
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
169
|
+
* return (
|
|
170
|
+
* <html lang="en">
|
|
171
|
+
* <body className={`${obviaPixelLine.variable}`}>
|
|
172
|
+
* {children}
|
|
173
|
+
* </body>
|
|
174
|
+
* </html>
|
|
175
|
+
* )
|
|
176
|
+
* }
|
|
177
|
+
* ```
|
|
73
178
|
*/
|
|
74
179
|
export const obviaPixelLine: NextFontWithVariable
|
|
75
|
-
}
|
|
180
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,21 @@ import localFont from "next/font/local";
|
|
|
12
12
|
* - `700` - Bold
|
|
13
13
|
* - `800` - Black
|
|
14
14
|
* - `900` - Ultra Black
|
|
15
|
+
*
|
|
16
|
+
* **Usage**
|
|
17
|
+
* ```tsx
|
|
18
|
+
* import { obviaSans } from "@obvia/fonts"
|
|
19
|
+
*
|
|
20
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
21
|
+
* return (
|
|
22
|
+
* <html lang="en">
|
|
23
|
+
* <body className={`${obviaSans.variable}`}>
|
|
24
|
+
* {children}
|
|
25
|
+
* </body>
|
|
26
|
+
* </html>
|
|
27
|
+
* );
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
15
30
|
*/
|
|
16
31
|
export const obviaSans = localFont({
|
|
17
32
|
src: "./fonts/obvia-sans/Obvia-Variable.woff2",
|
|
@@ -31,6 +46,21 @@ export const obviaSans = localFont({
|
|
|
31
46
|
* - `700` - Bold
|
|
32
47
|
* - `800` - Black
|
|
33
48
|
* - `900` - Ultra Black
|
|
49
|
+
*
|
|
50
|
+
* **Usage**
|
|
51
|
+
* ```tsx
|
|
52
|
+
* import { obviaMono } from "@obvia/fonts"
|
|
53
|
+
*
|
|
54
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
55
|
+
* return (
|
|
56
|
+
* <html lang="en">
|
|
57
|
+
* <body className={`${obviaMono.variable}`}>
|
|
58
|
+
* {children}
|
|
59
|
+
* </body>
|
|
60
|
+
* </html>
|
|
61
|
+
* );
|
|
62
|
+
* }
|
|
63
|
+
* ```
|
|
34
64
|
*/
|
|
35
65
|
export const obviaMono = localFont({
|
|
36
66
|
src: "./fonts/obvia-mono/ObviaMono-Variable.woff2",
|
|
@@ -54,6 +84,21 @@ export const obviaMono = localFont({
|
|
|
54
84
|
*
|
|
55
85
|
* **Weights**
|
|
56
86
|
* - `500` - Medium
|
|
87
|
+
*
|
|
88
|
+
* **Usage**
|
|
89
|
+
* ```tsx
|
|
90
|
+
* import { obviaPixelSquare } from "@obvia/fonts"
|
|
91
|
+
*
|
|
92
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
93
|
+
* return (
|
|
94
|
+
* <html lang="en">
|
|
95
|
+
* <body className={`${obviaPixelSquare.variable}`}>
|
|
96
|
+
* {children}
|
|
97
|
+
* </body>
|
|
98
|
+
* </html>
|
|
99
|
+
* );
|
|
100
|
+
* }
|
|
101
|
+
* ```
|
|
57
102
|
*/
|
|
58
103
|
export const obviaPixelSquare = localFont({
|
|
59
104
|
src: "./fonts/obvia-pixel/ObviaPixel-Square.woff2",
|
|
@@ -78,6 +123,21 @@ export const obviaPixelSquare = localFont({
|
|
|
78
123
|
*
|
|
79
124
|
* **Weights**
|
|
80
125
|
* - `500` - Medium
|
|
126
|
+
*
|
|
127
|
+
* **Usage**
|
|
128
|
+
* ```tsx
|
|
129
|
+
* import { obviaPixelGrid } from "@obvia/fonts"
|
|
130
|
+
*
|
|
131
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
132
|
+
* return (
|
|
133
|
+
* <html lang="en">
|
|
134
|
+
* <body className={`${obviaPixelGrid.variable}`}>
|
|
135
|
+
* {children}
|
|
136
|
+
* </body>
|
|
137
|
+
* </html>
|
|
138
|
+
* );
|
|
139
|
+
* }
|
|
140
|
+
* ```
|
|
81
141
|
*/
|
|
82
142
|
export const obviaPixelGrid = localFont({
|
|
83
143
|
src: "./fonts/obvia-pixel/ObviaPixel-Grid.woff2",
|
|
@@ -102,6 +162,21 @@ export const obviaPixelGrid = localFont({
|
|
|
102
162
|
*
|
|
103
163
|
* **Weights**
|
|
104
164
|
* - `500` - Medium
|
|
165
|
+
*
|
|
166
|
+
* **Usage**
|
|
167
|
+
* ```tsx
|
|
168
|
+
* import { obviaPixelCircle } from "@obvia/fonts"
|
|
169
|
+
*
|
|
170
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
171
|
+
* return (
|
|
172
|
+
* <html lang="en">
|
|
173
|
+
* <body className={`${obviaPixelCircle.variable}`}>
|
|
174
|
+
* {children}
|
|
175
|
+
* </body>
|
|
176
|
+
* </html>
|
|
177
|
+
* );
|
|
178
|
+
* }
|
|
179
|
+
* ```
|
|
105
180
|
*/
|
|
106
181
|
export const obviaPixelCircle = localFont({
|
|
107
182
|
src: "./fonts/obvia-pixel/ObviaPixel-Circle.woff2",
|
|
@@ -126,6 +201,21 @@ export const obviaPixelCircle = localFont({
|
|
|
126
201
|
*
|
|
127
202
|
* **Weights**
|
|
128
203
|
* - `500` - Medium
|
|
204
|
+
*
|
|
205
|
+
* **Usage**
|
|
206
|
+
* ```tsx
|
|
207
|
+
* import { obviaPixelTriangle } from "@obvia/fonts"
|
|
208
|
+
*
|
|
209
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
210
|
+
* return (
|
|
211
|
+
* <html lang="en">
|
|
212
|
+
* <body className={`${obviaPixelTriangle.variable}`}>
|
|
213
|
+
* {children}
|
|
214
|
+
* </body>
|
|
215
|
+
* </html>
|
|
216
|
+
* );
|
|
217
|
+
* }
|
|
218
|
+
* ```
|
|
129
219
|
*/
|
|
130
220
|
export const obviaPixelTriangle = localFont({
|
|
131
221
|
src: "./fonts/obvia-pixel/ObviaPixel-Triangle.woff2",
|
|
@@ -150,6 +240,21 @@ export const obviaPixelTriangle = localFont({
|
|
|
150
240
|
*
|
|
151
241
|
* **Weights**
|
|
152
242
|
* - `500` - Medium
|
|
243
|
+
*
|
|
244
|
+
* **Usage**
|
|
245
|
+
* ```tsx
|
|
246
|
+
* import { obviaPixelLine } from "@obvia/fonts"
|
|
247
|
+
*
|
|
248
|
+
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
249
|
+
* return (
|
|
250
|
+
* <html lang="en">
|
|
251
|
+
* <body className={`${obviaPixelLine.variable}`}>
|
|
252
|
+
* {children}
|
|
253
|
+
* </body>
|
|
254
|
+
* </html>
|
|
255
|
+
* )
|
|
256
|
+
* }
|
|
257
|
+
* ```
|
|
153
258
|
*/
|
|
154
259
|
export const obviaPixelLine = localFont({
|
|
155
260
|
src: "./fonts/obvia-pixel/ObviaPixel-Line.woff2",
|
package/dist/nuxt.d.ts
ADDED
package/dist/nuxt.js
ADDED
package/dist/react.js
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import "./fonts/fonts.css";
|
|
2
|
+
/**
|
|
3
|
+
* **Obvia Sans** font, with `className` and `variable` properties, meant to be attached to DOM elements via `className`
|
|
4
|
+
*
|
|
5
|
+
* **Weights**
|
|
6
|
+
* - `100` - Thin
|
|
7
|
+
* - `200` - Ultra Light
|
|
8
|
+
* - `300` - Light
|
|
9
|
+
* - `400` - Regular
|
|
10
|
+
* - `500` - Medium
|
|
11
|
+
* - `600` - Semibold
|
|
12
|
+
* - `700` - Bold
|
|
13
|
+
* - `800` - Black
|
|
14
|
+
* - `900` - Ultra Black
|
|
15
|
+
*
|
|
16
|
+
* **Usage**
|
|
17
|
+
* ```tsx
|
|
18
|
+
* import { obviaSans } from "@obvia/fonts/react"
|
|
19
|
+
*
|
|
20
|
+
* export const ObviaSans ({ children, className }) => (
|
|
21
|
+
* <span className={`${obviaSans}`}>{children}</span>
|
|
22
|
+
* )
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export const obviaSans = "font-obvia-sans";
|
|
26
|
+
/**
|
|
27
|
+
* **Obvia Mono** variable font, with `className` and `variable` properties, meant to be attached to DOM elements via `className`
|
|
28
|
+
*
|
|
29
|
+
* **Weights**
|
|
30
|
+
* - `100` - Thin
|
|
31
|
+
* - `200` - Ultra Light
|
|
32
|
+
* - `300` - Light
|
|
33
|
+
* - `400` - Regular
|
|
34
|
+
* - `500` - Medium
|
|
35
|
+
* - `600` - Semibold
|
|
36
|
+
* - `700` - Bold
|
|
37
|
+
* - `800` - Black
|
|
38
|
+
* - `900` - Ultra Black
|
|
39
|
+
*
|
|
40
|
+
* **Usage**
|
|
41
|
+
* ```tsx
|
|
42
|
+
* import { obviaMono } from "@obvia/fonts/react"
|
|
43
|
+
*
|
|
44
|
+
* export const ObviaMono ({ children, className }) => (
|
|
45
|
+
* <span className={`${obviaMono}`}>{children}</span>
|
|
46
|
+
* )
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export const obviaMono = "font-obvia-mono";
|
|
50
|
+
/**
|
|
51
|
+
* **Obvia Pixel Square** variable font, with `className` and `variable` properties, meant to be attached to DOM elements via `className`
|
|
52
|
+
*
|
|
53
|
+
* **Weights**
|
|
54
|
+
* - `500` - Medium
|
|
55
|
+
*
|
|
56
|
+
* **Usage**
|
|
57
|
+
* ```tsx
|
|
58
|
+
* import { obviaPixelSquare } from "@obvia/fonts/react"
|
|
59
|
+
*
|
|
60
|
+
* export const ObviaPixelSquare = ({ children, className }) => (
|
|
61
|
+
* <span className={`${obviaPixelSquare}`}>{children}</span>
|
|
62
|
+
* )
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export const obviaPixelSquare = "font-obvia-pixel-square";
|
|
66
|
+
/**
|
|
67
|
+
* **Obvia Pixel Grid** variable font, with `className` and `variable` properties, meant to be attached to DOM elements via `className`
|
|
68
|
+
*
|
|
69
|
+
* **Weights**
|
|
70
|
+
* - `500` - Medium
|
|
71
|
+
*
|
|
72
|
+
* **Usage**
|
|
73
|
+
* ```tsx
|
|
74
|
+
* import { obviaPixelGrid } from "@obvia/fonts/react"
|
|
75
|
+
*
|
|
76
|
+
* export const ObviaPixelGrid = ({ children, className }) => (
|
|
77
|
+
* <span className={`${obviaPixelGrid}`}>{children}</span>
|
|
78
|
+
* )
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export const obviaPixelGrid = "font-obvia-pixel-grid";
|
|
82
|
+
/**
|
|
83
|
+
* **Obvia Pixel Circle** variable font, with `className` and `variable` properties, meant to be attached to DOM elements via `className`
|
|
84
|
+
*
|
|
85
|
+
* **Weights**
|
|
86
|
+
* - `500` - Medium
|
|
87
|
+
*
|
|
88
|
+
* **Usage**
|
|
89
|
+
* ```tsx
|
|
90
|
+
* import { obviaPixelCircle } from "@obvia/fonts/react"
|
|
91
|
+
*
|
|
92
|
+
* export const ObviaPixelCircle = ({ children, className }) => (
|
|
93
|
+
* <span className={`${obviaPixelCircle}`}>{children}</span>
|
|
94
|
+
* )
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export const obviaPixelCircle = "font-obvia-pixel-circle";
|
|
98
|
+
/**
|
|
99
|
+
* **Obvia Pixel Triangle** variable font, with `className` and `variable` properties, meant to be attached to DOM elements via `className`
|
|
100
|
+
*
|
|
101
|
+
* **Weights**
|
|
102
|
+
* - `500` - Medium
|
|
103
|
+
*
|
|
104
|
+
* **Usage**
|
|
105
|
+
* ```tsx
|
|
106
|
+
* import { obviaPixelTriangle } from "@obvia/fonts/react"
|
|
107
|
+
*
|
|
108
|
+
* export const ObviaPixelTriangle = ({ children, className }) => (
|
|
109
|
+
* <span className={`${obviaPixelTriangle}`}>{children}</span>
|
|
110
|
+
* )
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
export const obviaPixelTriangle = "font-obvia-pixel-triangle";
|
|
114
|
+
/**
|
|
115
|
+
* **Obvia Pixel Line** variable font, with `className` and `variable` properties, meant to be attached to DOM elements via `className`
|
|
116
|
+
*
|
|
117
|
+
* **Weights**
|
|
118
|
+
* - `500` - Medium
|
|
119
|
+
*
|
|
120
|
+
* **Usage**
|
|
121
|
+
* ```tsx
|
|
122
|
+
* import { obviaPixelLine } from "@obvia/fonts/react"
|
|
123
|
+
*
|
|
124
|
+
* export const ObviaPixelLine = ({ children, className }) => (
|
|
125
|
+
* <span className={`${obviaPixelLine}`}>{children}</span>
|
|
126
|
+
* )
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export const obviaPixelLine = "font-obvia-pixel-line";
|
package/dist/vanilla.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "./fonts/fonts.css";
|
|
2
|
+
export const obviaSans = "font-obvia-sans";
|
|
3
|
+
export const obviaMono = "font-obvia-mono";
|
|
4
|
+
export const obviaPixelSquar = "font-obvia-pixel-square";
|
|
5
|
+
export const obviaPixelGrid = "font-obvia-pixel-grid";
|
|
6
|
+
export const obviaPixelCircle = "font-obvia-pixel-circle";
|
|
7
|
+
export const obviaPixelTriangle = "font-obvia-pixel-triangle";
|
|
8
|
+
export const obviaPixelLine = "font-obvia-pixel-line";
|
package/dist/vue.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ObviaFonts } from "./vue"
|
|
2
|
+
|
|
3
|
+
declare module "@vue/runtime-core" {
|
|
4
|
+
interface ComponentCustomProperties {
|
|
5
|
+
/**
|
|
6
|
+
* **Obvia Font Family** variable font, with `className` and `variable` properties, meant to be attached to DOM elements via `className`
|
|
7
|
+
*
|
|
8
|
+
* **Family**
|
|
9
|
+
* - `Obvia Sans` - A geometric sans-serif crafted for precision and readability. Rooted in Swiss modernist principles,
|
|
10
|
+
* it balances simplicity with strength, making it suitable for body text, headlines, branding, and
|
|
11
|
+
* large-scale display use
|
|
12
|
+
* - `Obvia Mono` - A monospaced companion to Obvia Sans. Designed for technical contexts — code editors, diagrams,
|
|
13
|
+
* and terminal interfaces — it brings consistency and clarity to environments where structure matters
|
|
14
|
+
* most
|
|
15
|
+
* - `Obvia Pixel` - A playful display family of five pixel-inspired styles. Each variant explores a different facet of
|
|
16
|
+
* digital aesthetics, offering bold, decorative forms for logos, posters, and expressive headlines
|
|
17
|
+
*
|
|
18
|
+
* **Usage**
|
|
19
|
+
* ```vue
|
|
20
|
+
* <template>
|
|
21
|
+
* <div :class="$fonts.obviaSans">Obvia Sans Style</div>
|
|
22
|
+
* <div :class="$fonts.obviaMono">Pixel Mono Style</div>
|
|
23
|
+
* <div :class="$fonts.obviaPixelSquare">Pixel Square Style</div>
|
|
24
|
+
* <div :class="$fonts.obviaPixelGrid">Pixel Grid Style</div>
|
|
25
|
+
* <div :class="$fonts.obviaPixelCircle">Pixel Circle Style</div>
|
|
26
|
+
* <div :class="$fonts.obviaPixelTriangle">Pixel Triangle Style</div>
|
|
27
|
+
* <div :class="$fonts.obviaPixelLine">Pixel Line Style</div>
|
|
28
|
+
* </template>
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
$fonts: ObviaFonts
|
|
32
|
+
}
|
|
33
|
+
}
|
package/dist/vue.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "./fonts.css";
|
|
2
|
+
export const fonts = {
|
|
3
|
+
obviaSans: "font-obvia-sans",
|
|
4
|
+
obviaMono: "font-obvia-mono",
|
|
5
|
+
obviaPixelSquare: "font-obvia-pixel-square",
|
|
6
|
+
obviaPixelGrid: "font-obvia-pixel-grid",
|
|
7
|
+
obviaPixelCircle: "font-obvia-pixel-circle",
|
|
8
|
+
obviaPixelTriangle: "font-obvia-pixel-triangle",
|
|
9
|
+
obviaPixelLine: "font-obvia-pixel-line"
|
|
10
|
+
};
|
|
11
|
+
export default {
|
|
12
|
+
install(app) {
|
|
13
|
+
app.config.globalProperties.$fonts = fonts;
|
|
14
|
+
}
|
|
15
|
+
};
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"keywords" : ["obvia","obvia mono","obvia sans","obvia pixel","typeface","fonts","obvia fonts","webfont","open-type","true-type","typography"],
|
|
6
6
|
"license" : "SIL OPEN FONT LICENSE",
|
|
7
7
|
"homepage" : "https://obvia.studio/fonts",
|
|
8
|
-
"version" : "0.0.
|
|
8
|
+
"version" : "0.0.8",
|
|
9
9
|
|
|
10
10
|
"author" : {
|
|
11
11
|
"name" : "Selçuk Çukur",
|
|
@@ -22,24 +22,41 @@
|
|
|
22
22
|
"module" : "./dist/index.js",
|
|
23
23
|
"types" : "./dist/index.d.ts",
|
|
24
24
|
|
|
25
|
-
"scripts" :
|
|
26
|
-
{
|
|
25
|
+
"scripts" : {
|
|
27
26
|
"prebuild" : "robocopy src\\\\fonts dist\\\\fonts /E",
|
|
28
27
|
"build" : "tsc"
|
|
29
28
|
},
|
|
30
29
|
|
|
31
30
|
"devDependencies" : {
|
|
32
|
-
"tsup" : "^8.5.1",
|
|
33
31
|
"typescript" : "^5.9.3"
|
|
34
32
|
},
|
|
35
33
|
"peerDependencies" : {
|
|
34
|
+
"react" : ">=18.0.0",
|
|
35
|
+
"vue" : ">=3.0.0",
|
|
36
|
+
"nuxt" : ">=4.0.0",
|
|
36
37
|
"next" : ">=13.2.0"
|
|
37
38
|
},
|
|
38
39
|
|
|
39
40
|
"exports" : {
|
|
40
|
-
"."
|
|
41
|
+
"." : {
|
|
41
42
|
"types" : "./dist/index.d.ts",
|
|
42
43
|
"default" : "./dist/index.js"
|
|
44
|
+
},
|
|
45
|
+
"./react" : {
|
|
46
|
+
"types" : "./dist/react.d.ts",
|
|
47
|
+
"default" : "./dist/react.js"
|
|
48
|
+
},
|
|
49
|
+
"./vanilla" : {
|
|
50
|
+
"types" : "./dist/vanilla.d.ts",
|
|
51
|
+
"default" : "./dist/vanilla.js"
|
|
52
|
+
},
|
|
53
|
+
"./vue" : {
|
|
54
|
+
"types" : "./dist/vue.d.ts",
|
|
55
|
+
"default" : "./dist/vue.js"
|
|
56
|
+
},
|
|
57
|
+
"./nuxt" : {
|
|
58
|
+
"types" : "./dist/nuxt.d.ts",
|
|
59
|
+
"default" : "./dist/nuxt.js"
|
|
43
60
|
}
|
|
44
61
|
},
|
|
45
62
|
"files" : ["dist", "fonts"],
|
package/readme.md
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Obvia Font Family
|
|
2
|
+
|
|
3
|
+
Obvia is a contemporary type system envisioned by [Selçuk Çukur](https://selcukcukur.me) in
|
|
4
|
+
collaboration with [Obvia](https://obvia.studio). It is built on clarity, rhythm, and versatility
|
|
5
|
+
— designed to serve both functional and expressive needs across digital and print environments.
|
|
6
|
+
|
|
7
|
+
- **Obvia Sans** - A geometric sans-serif crafted for precision and readability. Rooted in Swiss modernist principles,
|
|
8
|
+
it balances simplicity with strength, making it suitable for body text, headlines, branding, and
|
|
9
|
+
large-scale display use.
|
|
10
|
+
|
|
11
|
+
- **Obvia Mono** - A monospaced companion to Obvia Sans. Designed for technical contexts — code editors, diagrams,
|
|
12
|
+
and terminal interfaces — it brings consistency and clarity to environments where structure matters
|
|
13
|
+
most.
|
|
14
|
+
|
|
15
|
+
- **Obvia Pixel** - A playful display family of five pixel-inspired styles. Each variant explores a different facet of
|
|
16
|
+
digital aesthetics, offering bold, decorative forms for logos, posters, and expressive headlines.
|
|
17
|
+
|
|
18
|
+
## Installation
|
|
19
|
+
|
|
20
|
+
Obvia ships as a single package — installing @obvia/fonts gives you access to Sans, Mono, and Pixel families all at once.
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
npm install @obvia/fonts
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
After installation, you can import any style directly :
|
|
27
|
+
```ts
|
|
28
|
+
// Sans
|
|
29
|
+
import { obviaSans } from "@obvia/fonts"
|
|
30
|
+
|
|
31
|
+
// Mono
|
|
32
|
+
import { obviaMono } from "@obvia/fonts"
|
|
33
|
+
|
|
34
|
+
// Pixel
|
|
35
|
+
import { obviaPixel } from "@obvia/fonts"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
This unified distribution ensures consistency across projects: one install, three families, infinite possibilities.
|
|
39
|
+
|
|
40
|
+
## License
|
|
41
|
+
|
|
42
|
+
The Obvia font family is free and open sourced under the [SIL Open Font License](../../LICENSE.txt).
|
|
43
|
+
|
|
44
|
+
## Inspiration
|
|
45
|
+
|
|
46
|
+
Obvia draws its spirit from a lineage of remarkable typefaces. Each of these designs has shaped
|
|
47
|
+
our perspective on clarity, rhythm, and modernity :
|
|
48
|
+
|
|
49
|
+
- [Geist](https://vercel.com/geist/geist)
|
|
50
|
+
- [Inter](https://rsms.me/inter)
|
|
51
|
+
- [Univers](https://www.linotype.com/1567/univers-family.html)
|
|
52
|
+
- [SF Mono](https://developer.apple.com/fonts/)
|
|
53
|
+
- [SF Pro](https://developer.apple.com/fonts/)
|
|
54
|
+
- [Suisse International](https://www.swisstypefaces.com/fonts/suisse/)
|
|
55
|
+
- [ABC Diatype Mono](https://abcdinamo.com/typefaces/diatype)
|
|
56
|
+
- [ABC Diatype](https://abcdinamo.com/typefaces/diatype)
|
|
57
|
+
|
|
58
|
+
We acknowledge and thank the creators of these typefaces for their craft and vision. Their work
|
|
59
|
+
continues to inspire and guide our own.
|