@obvia/fonts 0.0.6 → 0.0.7

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.
@@ -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 'next/dist/compiled/@next/font';
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
@@ -0,0 +1,13 @@
1
+ import type { ObviaFonts } from "./vue"
2
+
3
+ declare module "nuxt/app" {
4
+ interface NuxtApp {
5
+ $fonts: ObviaFonts
6
+ }
7
+ }
8
+
9
+ declare module "vue" {
10
+ interface ComponentCustomProperties {
11
+ $fonts: ObviaFonts
12
+ }
13
+ }
package/dist/nuxt.js ADDED
@@ -0,0 +1,6 @@
1
+ import { defineNuxtPlugin } from "nuxt/app";
2
+ import { fonts } from "./vue";
3
+ import "./fonts.css";
4
+ export default defineNuxtPlugin((nuxtApp) => {
5
+ nuxtApp.provide("fonts", fonts);
6
+ });
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";
@@ -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.6",
8
+ "version" : "0.0.7",
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" : ">=3.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.