@mapples/fonts 0.1.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.
- package/README.md +16 -0
- package/assets/DMSans/DMSans-Bold.ttf +0 -0
- package/assets/DMSans/DMSans-Medium.ttf +0 -0
- package/assets/DMSans/DMSans-Regular.ttf +0 -0
- package/assets/DMSans/DMSans-SemiBold.ttf +0 -0
- package/assets/Fraunces/Fraunces-Bold.ttf +0 -0
- package/assets/Fraunces/Fraunces-Regular.ttf +0 -0
- package/assets/Fraunces/Fraunces-SemiBold.ttf +0 -0
- package/assets/IBMPlexMono/IBMPlexMono-Medium.ttf +0 -0
- package/assets/IBMPlexMono/IBMPlexMono-Regular.ttf +0 -0
- package/assets/Inter/Inter-Bold.ttf +0 -0
- package/assets/Inter/Inter-Medium.ttf +0 -0
- package/assets/Inter/Inter-Regular.ttf +0 -0
- package/assets/Inter/Inter-SemiBold.ttf +0 -0
- package/assets/Manrope/Manrope-Bold.ttf +0 -0
- package/assets/Manrope/Manrope-Medium.ttf +0 -0
- package/assets/Manrope/Manrope-Regular.ttf +0 -0
- package/assets/Manrope/Manrope-SemiBold.ttf +0 -0
- package/assets/Nunito/Nunito-Bold.ttf +0 -0
- package/assets/Nunito/Nunito-Medium.ttf +0 -0
- package/assets/Nunito/Nunito-Regular.ttf +0 -0
- package/assets/Nunito/Nunito-SemiBold.ttf +0 -0
- package/assets/Outfit/Outfit-Bold.ttf +0 -0
- package/assets/Outfit/Outfit-Medium.ttf +0 -0
- package/assets/Outfit/Outfit-Regular.ttf +0 -0
- package/assets/Outfit/Outfit-SemiBold.ttf +0 -0
- package/assets/PlayfairDisplay/PlayfairDisplay-Bold.ttf +0 -0
- package/assets/PlayfairDisplay/PlayfairDisplay-Regular.ttf +0 -0
- package/assets/PlayfairDisplay/PlayfairDisplay-SemiBold.ttf +0 -0
- package/assets/PlusJakartaSans/PlusJakartaSans-Bold.ttf +0 -0
- package/assets/PlusJakartaSans/PlusJakartaSans-Medium.ttf +0 -0
- package/assets/PlusJakartaSans/PlusJakartaSans-Regular.ttf +0 -0
- package/assets/PlusJakartaSans/PlusJakartaSans-SemiBold.ttf +0 -0
- package/assets/Poppins/Poppins-Bold.ttf +0 -0
- package/assets/Poppins/Poppins-Medium.ttf +0 -0
- package/assets/Poppins/Poppins-Regular.ttf +0 -0
- package/assets/Poppins/Poppins-SemiBold.ttf +0 -0
- package/assets/Sora/Sora-Bold.ttf +0 -0
- package/assets/Sora/Sora-Medium.ttf +0 -0
- package/assets/Sora/Sora-Regular.ttf +0 -0
- package/assets/Sora/Sora-SemiBold.ttf +0 -0
- package/assets/SpaceGrotesk/SpaceGrotesk-Bold.ttf +0 -0
- package/assets/SpaceGrotesk/SpaceGrotesk-Medium.ttf +0 -0
- package/assets/SpaceGrotesk/SpaceGrotesk-Regular.ttf +0 -0
- package/assets/SpaceGrotesk/SpaceGrotesk-SemiBold.ttf +0 -0
- package/dist/files.d.ts +6 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +52 -0
- package/dist/files.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest.d.ts +28 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +105 -0
- package/dist/manifest.js.map +1 -0
- package/package.json +34 -0
package/README.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# @mapples/fonts
|
|
2
|
+
|
|
3
|
+
The font library bundled with every Mapples project: 12 open-licensed (OFL)
|
|
4
|
+
Google Fonts families, registered **per weight** (`Inter-SemiBold`) the way
|
|
5
|
+
React Native expects, so the same family name renders identically in the
|
|
6
|
+
Creator canvas (web + native) and in the exported app.
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
import { FONT_FILES, FONT_FAMILIES, fontFamilyName } from '@mapples/fonts';
|
|
10
|
+
|
|
11
|
+
useFonts(FONT_FILES); // expo-font — load everything once
|
|
12
|
+
fontFamilyName('Manrope', 'Bold'); // 'Manrope-Bold'
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
`FONT_FAMILIES` / `FONT_META` are the closed set the AI design generator is
|
|
16
|
+
schema-locked to — it cannot name a font that is not shipped here.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/files.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA6C7C,CAAC"}
|
package/dist/files.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* expo-font source map: registered family name → bundled file. Generated
|
|
3
|
+
* from manifest.ts — keep the two in sync (the build checks every path).
|
|
4
|
+
*/
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
6
|
+
export const FONT_FILES = {
|
|
7
|
+
'Inter-Regular': require('../assets/Inter/Inter-Regular.ttf'),
|
|
8
|
+
'Inter-Medium': require('../assets/Inter/Inter-Medium.ttf'),
|
|
9
|
+
'Inter-SemiBold': require('../assets/Inter/Inter-SemiBold.ttf'),
|
|
10
|
+
'Inter-Bold': require('../assets/Inter/Inter-Bold.ttf'),
|
|
11
|
+
'Manrope-Regular': require('../assets/Manrope/Manrope-Regular.ttf'),
|
|
12
|
+
'Manrope-Medium': require('../assets/Manrope/Manrope-Medium.ttf'),
|
|
13
|
+
'Manrope-SemiBold': require('../assets/Manrope/Manrope-SemiBold.ttf'),
|
|
14
|
+
'Manrope-Bold': require('../assets/Manrope/Manrope-Bold.ttf'),
|
|
15
|
+
'DMSans-Regular': require('../assets/DMSans/DMSans-Regular.ttf'),
|
|
16
|
+
'DMSans-Medium': require('../assets/DMSans/DMSans-Medium.ttf'),
|
|
17
|
+
'DMSans-SemiBold': require('../assets/DMSans/DMSans-SemiBold.ttf'),
|
|
18
|
+
'DMSans-Bold': require('../assets/DMSans/DMSans-Bold.ttf'),
|
|
19
|
+
'PlusJakartaSans-Regular': require('../assets/PlusJakartaSans/PlusJakartaSans-Regular.ttf'),
|
|
20
|
+
'PlusJakartaSans-Medium': require('../assets/PlusJakartaSans/PlusJakartaSans-Medium.ttf'),
|
|
21
|
+
'PlusJakartaSans-SemiBold': require('../assets/PlusJakartaSans/PlusJakartaSans-SemiBold.ttf'),
|
|
22
|
+
'PlusJakartaSans-Bold': require('../assets/PlusJakartaSans/PlusJakartaSans-Bold.ttf'),
|
|
23
|
+
'Poppins-Regular': require('../assets/Poppins/Poppins-Regular.ttf'),
|
|
24
|
+
'Poppins-Medium': require('../assets/Poppins/Poppins-Medium.ttf'),
|
|
25
|
+
'Poppins-SemiBold': require('../assets/Poppins/Poppins-SemiBold.ttf'),
|
|
26
|
+
'Poppins-Bold': require('../assets/Poppins/Poppins-Bold.ttf'),
|
|
27
|
+
'Nunito-Regular': require('../assets/Nunito/Nunito-Regular.ttf'),
|
|
28
|
+
'Nunito-Medium': require('../assets/Nunito/Nunito-Medium.ttf'),
|
|
29
|
+
'Nunito-SemiBold': require('../assets/Nunito/Nunito-SemiBold.ttf'),
|
|
30
|
+
'Nunito-Bold': require('../assets/Nunito/Nunito-Bold.ttf'),
|
|
31
|
+
'SpaceGrotesk-Regular': require('../assets/SpaceGrotesk/SpaceGrotesk-Regular.ttf'),
|
|
32
|
+
'SpaceGrotesk-Medium': require('../assets/SpaceGrotesk/SpaceGrotesk-Medium.ttf'),
|
|
33
|
+
'SpaceGrotesk-SemiBold': require('../assets/SpaceGrotesk/SpaceGrotesk-SemiBold.ttf'),
|
|
34
|
+
'SpaceGrotesk-Bold': require('../assets/SpaceGrotesk/SpaceGrotesk-Bold.ttf'),
|
|
35
|
+
'Sora-Regular': require('../assets/Sora/Sora-Regular.ttf'),
|
|
36
|
+
'Sora-Medium': require('../assets/Sora/Sora-Medium.ttf'),
|
|
37
|
+
'Sora-SemiBold': require('../assets/Sora/Sora-SemiBold.ttf'),
|
|
38
|
+
'Sora-Bold': require('../assets/Sora/Sora-Bold.ttf'),
|
|
39
|
+
'Outfit-Regular': require('../assets/Outfit/Outfit-Regular.ttf'),
|
|
40
|
+
'Outfit-Medium': require('../assets/Outfit/Outfit-Medium.ttf'),
|
|
41
|
+
'Outfit-SemiBold': require('../assets/Outfit/Outfit-SemiBold.ttf'),
|
|
42
|
+
'Outfit-Bold': require('../assets/Outfit/Outfit-Bold.ttf'),
|
|
43
|
+
'PlayfairDisplay-Regular': require('../assets/PlayfairDisplay/PlayfairDisplay-Regular.ttf'),
|
|
44
|
+
'PlayfairDisplay-SemiBold': require('../assets/PlayfairDisplay/PlayfairDisplay-SemiBold.ttf'),
|
|
45
|
+
'PlayfairDisplay-Bold': require('../assets/PlayfairDisplay/PlayfairDisplay-Bold.ttf'),
|
|
46
|
+
'Fraunces-Regular': require('../assets/Fraunces/Fraunces-Regular.ttf'),
|
|
47
|
+
'Fraunces-SemiBold': require('../assets/Fraunces/Fraunces-SemiBold.ttf'),
|
|
48
|
+
'Fraunces-Bold': require('../assets/Fraunces/Fraunces-Bold.ttf'),
|
|
49
|
+
'IBMPlexMono-Regular': require('../assets/IBMPlexMono/IBMPlexMono-Regular.ttf'),
|
|
50
|
+
'IBMPlexMono-Medium': require('../assets/IBMPlexMono/IBMPlexMono-Medium.ttf'),
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0DAA0D;AAC1D,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,eAAe,EAAE,OAAO,CAAC,mCAAmC,CAAC;IAC7D,cAAc,EAAE,OAAO,CAAC,kCAAkC,CAAC;IAC3D,gBAAgB,EAAE,OAAO,CAAC,oCAAoC,CAAC;IAC/D,YAAY,EAAE,OAAO,CAAC,gCAAgC,CAAC;IACvD,iBAAiB,EAAE,OAAO,CAAC,uCAAuC,CAAC;IACnE,gBAAgB,EAAE,OAAO,CAAC,sCAAsC,CAAC;IACjE,kBAAkB,EAAE,OAAO,CAAC,wCAAwC,CAAC;IACrE,cAAc,EAAE,OAAO,CAAC,oCAAoC,CAAC;IAC7D,gBAAgB,EAAE,OAAO,CAAC,qCAAqC,CAAC;IAChE,eAAe,EAAE,OAAO,CAAC,oCAAoC,CAAC;IAC9D,iBAAiB,EAAE,OAAO,CAAC,sCAAsC,CAAC;IAClE,aAAa,EAAE,OAAO,CAAC,kCAAkC,CAAC;IAC1D,yBAAyB,EAAE,OAAO,CAAC,uDAAuD,CAAC;IAC3F,wBAAwB,EAAE,OAAO,CAAC,sDAAsD,CAAC;IACzF,0BAA0B,EAAE,OAAO,CAAC,wDAAwD,CAAC;IAC7F,sBAAsB,EAAE,OAAO,CAAC,oDAAoD,CAAC;IACrF,iBAAiB,EAAE,OAAO,CAAC,uCAAuC,CAAC;IACnE,gBAAgB,EAAE,OAAO,CAAC,sCAAsC,CAAC;IACjE,kBAAkB,EAAE,OAAO,CAAC,wCAAwC,CAAC;IACrE,cAAc,EAAE,OAAO,CAAC,oCAAoC,CAAC;IAC7D,gBAAgB,EAAE,OAAO,CAAC,qCAAqC,CAAC;IAChE,eAAe,EAAE,OAAO,CAAC,oCAAoC,CAAC;IAC9D,iBAAiB,EAAE,OAAO,CAAC,sCAAsC,CAAC;IAClE,aAAa,EAAE,OAAO,CAAC,kCAAkC,CAAC;IAC1D,sBAAsB,EAAE,OAAO,CAAC,iDAAiD,CAAC;IAClF,qBAAqB,EAAE,OAAO,CAAC,gDAAgD,CAAC;IAChF,uBAAuB,EAAE,OAAO,CAAC,kDAAkD,CAAC;IACpF,mBAAmB,EAAE,OAAO,CAAC,8CAA8C,CAAC;IAC5E,cAAc,EAAE,OAAO,CAAC,iCAAiC,CAAC;IAC1D,aAAa,EAAE,OAAO,CAAC,gCAAgC,CAAC;IACxD,eAAe,EAAE,OAAO,CAAC,kCAAkC,CAAC;IAC5D,WAAW,EAAE,OAAO,CAAC,8BAA8B,CAAC;IACpD,gBAAgB,EAAE,OAAO,CAAC,qCAAqC,CAAC;IAChE,eAAe,EAAE,OAAO,CAAC,oCAAoC,CAAC;IAC9D,iBAAiB,EAAE,OAAO,CAAC,sCAAsC,CAAC;IAClE,aAAa,EAAE,OAAO,CAAC,kCAAkC,CAAC;IAC1D,yBAAyB,EAAE,OAAO,CAAC,uDAAuD,CAAC;IAC3F,0BAA0B,EAAE,OAAO,CAAC,wDAAwD,CAAC;IAC7F,sBAAsB,EAAE,OAAO,CAAC,oDAAoD,CAAC;IACrF,kBAAkB,EAAE,OAAO,CAAC,yCAAyC,CAAC;IACtE,mBAAmB,EAAE,OAAO,CAAC,0CAA0C,CAAC;IACxE,eAAe,EAAE,OAAO,CAAC,sCAAsC,CAAC;IAChE,qBAAqB,EAAE,OAAO,CAAC,+CAA+C,CAAC;IAC/E,oBAAoB,EAAE,OAAO,CAAC,8CAA8C,CAAC;CAC9E,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The closed font set. Families and weights here are the only values the
|
|
3
|
+
* typography generator may emit, and every entry has a file under assets/.
|
|
4
|
+
* Keep this file runtime-free (the AI service imports it in Node).
|
|
5
|
+
*/
|
|
6
|
+
export declare const FONT_FAMILIES: readonly ["Inter", "Manrope", "DM Sans", "Plus Jakarta Sans", "Poppins", "Nunito", "Space Grotesk", "Sora", "Outfit", "Playfair Display", "Fraunces", "IBM Plex Mono"];
|
|
7
|
+
export type FontFamily = (typeof FONT_FAMILIES)[number];
|
|
8
|
+
export declare const FONT_WEIGHTS: readonly ["Regular", "Medium", "SemiBold", "Bold"];
|
|
9
|
+
export type FontWeight = (typeof FONT_WEIGHTS)[number];
|
|
10
|
+
export type FontCategory = 'sans' | 'serif' | 'mono';
|
|
11
|
+
export interface FontMeta {
|
|
12
|
+
category: FontCategory;
|
|
13
|
+
/** Weights shipped for this family. */
|
|
14
|
+
weights: readonly FontWeight[];
|
|
15
|
+
/** One-line character note the generator can use to pair fonts. */
|
|
16
|
+
character: string;
|
|
17
|
+
/** Families that pair well as headline/body partners. */
|
|
18
|
+
pairsWith: readonly FontFamily[];
|
|
19
|
+
}
|
|
20
|
+
export declare const FONT_META: Record<FontFamily, FontMeta>;
|
|
21
|
+
/** The registered React Native family name for a family + weight. */
|
|
22
|
+
export declare const fontFamilyName: (family: FontFamily, weight: FontWeight) => string;
|
|
23
|
+
/** Relative path of each font file from the package root. */
|
|
24
|
+
export declare const FONT_FILE_PATHS: Record<string, string>;
|
|
25
|
+
/** Every registered family name, e.g. "Inter-SemiBold". */
|
|
26
|
+
export declare const FONT_NAMES: string[];
|
|
27
|
+
export declare const isBuiltinFontName: (name: string) => boolean;
|
|
28
|
+
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,aAAa,wKAahB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,eAAO,MAAM,YAAY,oDAAqD,CAAC;AAC/E,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,uCAAuC;IACvC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IAC/B,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC;CAClC;AAED,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAyElD,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,cAAc,GACzB,QAAQ,UAAU,EAClB,QAAQ,UAAU,KACjB,MAAmD,CAAC;AAEvD,6DAA6D;AAC7D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOlD,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,UAAU,EAAE,MAAM,EAAiC,CAAC;AAEjE,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,OACxB,CAAC"}
|
package/dist/manifest.js
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The closed font set. Families and weights here are the only values the
|
|
3
|
+
* typography generator may emit, and every entry has a file under assets/.
|
|
4
|
+
* Keep this file runtime-free (the AI service imports it in Node).
|
|
5
|
+
*/
|
|
6
|
+
export const FONT_FAMILIES = [
|
|
7
|
+
'Inter',
|
|
8
|
+
'Manrope',
|
|
9
|
+
'DM Sans',
|
|
10
|
+
'Plus Jakarta Sans',
|
|
11
|
+
'Poppins',
|
|
12
|
+
'Nunito',
|
|
13
|
+
'Space Grotesk',
|
|
14
|
+
'Sora',
|
|
15
|
+
'Outfit',
|
|
16
|
+
'Playfair Display',
|
|
17
|
+
'Fraunces',
|
|
18
|
+
'IBM Plex Mono',
|
|
19
|
+
];
|
|
20
|
+
export const FONT_WEIGHTS = ['Regular', 'Medium', 'SemiBold', 'Bold'];
|
|
21
|
+
export const FONT_META = {
|
|
22
|
+
Inter: {
|
|
23
|
+
category: 'sans',
|
|
24
|
+
weights: FONT_WEIGHTS,
|
|
25
|
+
character: 'neutral, highly legible UI sans',
|
|
26
|
+
pairsWith: ['Playfair Display', 'Fraunces', 'IBM Plex Mono'],
|
|
27
|
+
},
|
|
28
|
+
Manrope: {
|
|
29
|
+
category: 'sans',
|
|
30
|
+
weights: FONT_WEIGHTS,
|
|
31
|
+
character: 'modern geometric, friendly tech',
|
|
32
|
+
pairsWith: ['Fraunces', 'Inter', 'IBM Plex Mono'],
|
|
33
|
+
},
|
|
34
|
+
'DM Sans': {
|
|
35
|
+
category: 'sans',
|
|
36
|
+
weights: FONT_WEIGHTS,
|
|
37
|
+
character: 'low-contrast geometric, calm product UI',
|
|
38
|
+
pairsWith: ['Playfair Display', 'Fraunces'],
|
|
39
|
+
},
|
|
40
|
+
'Plus Jakarta Sans': {
|
|
41
|
+
category: 'sans',
|
|
42
|
+
weights: FONT_WEIGHTS,
|
|
43
|
+
character: 'rounded geometric, startup/fintech',
|
|
44
|
+
pairsWith: ['Inter', 'Fraunces'],
|
|
45
|
+
},
|
|
46
|
+
Poppins: {
|
|
47
|
+
category: 'sans',
|
|
48
|
+
weights: FONT_WEIGHTS,
|
|
49
|
+
character: 'round geometric, playful consumer apps',
|
|
50
|
+
pairsWith: ['Nunito', 'Inter'],
|
|
51
|
+
},
|
|
52
|
+
Nunito: {
|
|
53
|
+
category: 'sans',
|
|
54
|
+
weights: FONT_WEIGHTS,
|
|
55
|
+
character: 'soft rounded terminals, approachable',
|
|
56
|
+
pairsWith: ['Poppins', 'Outfit'],
|
|
57
|
+
},
|
|
58
|
+
'Space Grotesk': {
|
|
59
|
+
category: 'sans',
|
|
60
|
+
weights: FONT_WEIGHTS,
|
|
61
|
+
character: 'quirky technical grotesk, dev tools',
|
|
62
|
+
pairsWith: ['Inter', 'IBM Plex Mono'],
|
|
63
|
+
},
|
|
64
|
+
Sora: {
|
|
65
|
+
category: 'sans',
|
|
66
|
+
weights: FONT_WEIGHTS,
|
|
67
|
+
character: 'wide geometric display sans, bold headlines',
|
|
68
|
+
pairsWith: ['Inter', 'DM Sans'],
|
|
69
|
+
},
|
|
70
|
+
Outfit: {
|
|
71
|
+
category: 'sans',
|
|
72
|
+
weights: FONT_WEIGHTS,
|
|
73
|
+
character: 'clean geometric display, fashion/lifestyle',
|
|
74
|
+
pairsWith: ['DM Sans', 'Nunito'],
|
|
75
|
+
},
|
|
76
|
+
'Playfair Display': {
|
|
77
|
+
category: 'serif',
|
|
78
|
+
weights: ['Regular', 'SemiBold', 'Bold'],
|
|
79
|
+
character: 'high-contrast editorial serif for headlines',
|
|
80
|
+
pairsWith: ['Inter', 'DM Sans'],
|
|
81
|
+
},
|
|
82
|
+
Fraunces: {
|
|
83
|
+
category: 'serif',
|
|
84
|
+
weights: ['Regular', 'SemiBold', 'Bold'],
|
|
85
|
+
character: 'soft wonky serif, warm and characterful',
|
|
86
|
+
pairsWith: ['Manrope', 'Inter', 'DM Sans'],
|
|
87
|
+
},
|
|
88
|
+
'IBM Plex Mono': {
|
|
89
|
+
category: 'mono',
|
|
90
|
+
weights: ['Regular', 'Medium'],
|
|
91
|
+
character: 'monospace for code, data and labels',
|
|
92
|
+
pairsWith: ['Inter', 'Space Grotesk'],
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
/** The registered React Native family name for a family + weight. */
|
|
96
|
+
export const fontFamilyName = (family, weight) => `${family.replace(/\s+/g, '')}-${weight}`;
|
|
97
|
+
/** Relative path of each font file from the package root. */
|
|
98
|
+
export const FONT_FILE_PATHS = Object.fromEntries(FONT_FAMILIES.flatMap((family) => FONT_META[family].weights.map((weight) => {
|
|
99
|
+
const name = fontFamilyName(family, weight);
|
|
100
|
+
return [name, `assets/${family.replace(/\s+/g, '')}/${name}.ttf`];
|
|
101
|
+
})));
|
|
102
|
+
/** Every registered family name, e.g. "Inter-SemiBold". */
|
|
103
|
+
export const FONT_NAMES = Object.keys(FONT_FILE_PATHS);
|
|
104
|
+
export const isBuiltinFontName = (name) => name in FONT_FILE_PATHS;
|
|
105
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mapples/fonts",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "The bundled font library every Mapples project can use: 12 open-licensed families, registered per weight.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "tsc -b tsconfig.build.json && node ./scripts/copy-assets.mjs",
|
|
10
|
+
"lint": "eslint .",
|
|
11
|
+
"type-check": "tsc --noEmit",
|
|
12
|
+
"clean": "rm -rf dist"
|
|
13
|
+
},
|
|
14
|
+
"author": {
|
|
15
|
+
"name": "Oleksandr Soloviov",
|
|
16
|
+
"url": "https://mapples.org/people/olek_soloviov"
|
|
17
|
+
},
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "https://github.com/mapplesorg/mapples-open-kit.git",
|
|
22
|
+
"directory": "packages/@mapples/fonts"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@types/node": "^24.3.0",
|
|
26
|
+
"typescript": "~6.0.3"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"dist",
|
|
30
|
+
"assets",
|
|
31
|
+
"README.md",
|
|
32
|
+
"package.json"
|
|
33
|
+
]
|
|
34
|
+
}
|