@oxyhq/bloom 0.2.3 → 0.3.1
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/assets/fonts/BlomusModernus-Bold.ttf +0 -0
- package/assets/fonts/BlomusModernus-Bold.woff2 +0 -0
- package/assets/fonts/BlomusModernus-Regular.ttf +0 -0
- package/assets/fonts/BlomusModernus-Regular.woff2 +0 -0
- package/assets/fonts/GeistMono-Variable.ttf +0 -0
- package/assets/fonts/GeistMono-Variable.woff2 +0 -0
- package/assets/fonts/InterVariable.ttf +0 -0
- package/assets/fonts/InterVariable.woff2 +0 -0
- package/lib/commonjs/code/Code.js +47 -0
- package/lib/commonjs/code/Code.js.map +1 -0
- package/lib/commonjs/code/Pre.js +61 -0
- package/lib/commonjs/code/Pre.js.map +1 -0
- package/lib/commonjs/code/index.js +20 -0
- package/lib/commonjs/code/index.js.map +1 -0
- package/lib/commonjs/error-boundary/ErrorBoundary.js +27 -18
- package/lib/commonjs/error-boundary/ErrorBoundary.js.map +1 -1
- package/lib/commonjs/fonts/FontLoader.js +35 -0
- package/lib/commonjs/fonts/FontLoader.js.map +1 -0
- package/lib/commonjs/fonts/FontLoader.native.js +36 -0
- package/lib/commonjs/fonts/FontLoader.native.js.map +1 -0
- package/lib/commonjs/fonts/apply-font-faces.js +49 -0
- package/lib/commonjs/fonts/apply-font-faces.js.map +1 -0
- package/lib/commonjs/fonts/font-assets.js +23 -0
- package/lib/commonjs/fonts/font-assets.js.map +1 -0
- package/lib/commonjs/fonts/index.js +40 -0
- package/lib/commonjs/fonts/index.js.map +1 -0
- package/lib/commonjs/fonts/tokens.js +27 -0
- package/lib/commonjs/fonts/tokens.js.map +1 -0
- package/lib/commonjs/index.js +9 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +9 -3
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/theme/BloomThemeProvider.js +8 -1
- package/lib/commonjs/theme/BloomThemeProvider.js.map +1 -1
- package/lib/commonjs/typography/index.js +41 -3
- package/lib/commonjs/typography/index.js.map +1 -1
- package/lib/module/code/Code.js +42 -0
- package/lib/module/code/Code.js.map +1 -0
- package/lib/module/code/Pre.js +56 -0
- package/lib/module/code/Pre.js.map +1 -0
- package/lib/module/code/index.js +5 -0
- package/lib/module/code/index.js.map +1 -0
- package/lib/module/error-boundary/ErrorBoundary.js +27 -18
- package/lib/module/error-boundary/ErrorBoundary.js.map +1 -1
- package/lib/module/fonts/FontLoader.js +30 -0
- package/lib/module/fonts/FontLoader.js.map +1 -0
- package/lib/module/fonts/FontLoader.native.js +31 -0
- package/lib/module/fonts/FontLoader.native.js.map +1 -0
- package/lib/module/fonts/apply-font-faces.js +43 -0
- package/lib/module/fonts/apply-font-faces.js.map +1 -0
- package/lib/module/fonts/font-assets.js +19 -0
- package/lib/module/fonts/font-assets.js.map +1 -0
- package/lib/module/fonts/index.js +7 -0
- package/lib/module/fonts/index.js.map +1 -0
- package/lib/module/fonts/tokens.js +23 -0
- package/lib/module/fonts/tokens.js.map +1 -0
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +6 -0
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/theme/BloomThemeProvider.js +8 -1
- package/lib/module/theme/BloomThemeProvider.js.map +1 -1
- package/lib/module/typography/index.js +36 -3
- package/lib/module/typography/index.js.map +1 -1
- package/lib/typescript/commonjs/__tests__/BloomThemeProvider.fonts-web.test.d.ts +5 -0
- package/lib/typescript/commonjs/__tests__/BloomThemeProvider.fonts-web.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/__tests__/Code.test.d.ts +2 -0
- package/lib/typescript/commonjs/__tests__/Code.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/__tests__/FontLoader.native.test.d.ts +2 -0
- package/lib/typescript/commonjs/__tests__/FontLoader.native.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/__tests__/Pre.test.d.ts +2 -0
- package/lib/typescript/commonjs/__tests__/Pre.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/__tests__/apply-font-faces.test.d.ts +5 -0
- package/lib/typescript/commonjs/__tests__/apply-font-faces.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/code/Code.d.ts +7 -0
- package/lib/typescript/commonjs/code/Code.d.ts.map +1 -0
- package/lib/typescript/commonjs/code/Pre.d.ts +8 -0
- package/lib/typescript/commonjs/code/Pre.d.ts.map +1 -0
- package/lib/typescript/commonjs/code/index.d.ts +5 -0
- package/lib/typescript/commonjs/code/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/error-boundary/ErrorBoundary.d.ts.map +1 -1
- package/lib/typescript/commonjs/fonts/FontLoader.d.ts +28 -0
- package/lib/typescript/commonjs/fonts/FontLoader.d.ts.map +1 -0
- package/lib/typescript/commonjs/fonts/FontLoader.native.d.ts +22 -0
- package/lib/typescript/commonjs/fonts/FontLoader.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/fonts/apply-font-faces.d.ts +15 -0
- package/lib/typescript/commonjs/fonts/apply-font-faces.d.ts.map +1 -0
- package/lib/typescript/commonjs/fonts/font-assets.d.ts +7 -0
- package/lib/typescript/commonjs/fonts/font-assets.d.ts.map +1 -0
- package/lib/typescript/commonjs/fonts/index.d.ts +7 -0
- package/lib/typescript/commonjs/fonts/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/fonts/tokens.d.ts +21 -0
- package/lib/typescript/commonjs/fonts/tokens.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/common.d.ts +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +2 -0
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts +13 -1
- package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/toast/index.d.ts +7 -7
- package/lib/typescript/commonjs/typography/index.d.ts +2 -0
- package/lib/typescript/commonjs/typography/index.d.ts.map +1 -1
- package/lib/typescript/module/__tests__/BloomThemeProvider.fonts-web.test.d.ts +5 -0
- package/lib/typescript/module/__tests__/BloomThemeProvider.fonts-web.test.d.ts.map +1 -0
- package/lib/typescript/module/__tests__/Code.test.d.ts +2 -0
- package/lib/typescript/module/__tests__/Code.test.d.ts.map +1 -0
- package/lib/typescript/module/__tests__/FontLoader.native.test.d.ts +2 -0
- package/lib/typescript/module/__tests__/FontLoader.native.test.d.ts.map +1 -0
- package/lib/typescript/module/__tests__/Pre.test.d.ts +2 -0
- package/lib/typescript/module/__tests__/Pre.test.d.ts.map +1 -0
- package/lib/typescript/module/__tests__/apply-font-faces.test.d.ts +5 -0
- package/lib/typescript/module/__tests__/apply-font-faces.test.d.ts.map +1 -0
- package/lib/typescript/module/code/Code.d.ts +7 -0
- package/lib/typescript/module/code/Code.d.ts.map +1 -0
- package/lib/typescript/module/code/Pre.d.ts +8 -0
- package/lib/typescript/module/code/Pre.d.ts.map +1 -0
- package/lib/typescript/module/code/index.d.ts +5 -0
- package/lib/typescript/module/code/index.d.ts.map +1 -0
- package/lib/typescript/module/error-boundary/ErrorBoundary.d.ts.map +1 -1
- package/lib/typescript/module/fonts/FontLoader.d.ts +28 -0
- package/lib/typescript/module/fonts/FontLoader.d.ts.map +1 -0
- package/lib/typescript/module/fonts/FontLoader.native.d.ts +22 -0
- package/lib/typescript/module/fonts/FontLoader.native.d.ts.map +1 -0
- package/lib/typescript/module/fonts/apply-font-faces.d.ts +15 -0
- package/lib/typescript/module/fonts/apply-font-faces.d.ts.map +1 -0
- package/lib/typescript/module/fonts/font-assets.d.ts +7 -0
- package/lib/typescript/module/fonts/font-assets.d.ts.map +1 -0
- package/lib/typescript/module/fonts/index.d.ts +7 -0
- package/lib/typescript/module/fonts/index.d.ts.map +1 -0
- package/lib/typescript/module/fonts/tokens.d.ts +21 -0
- package/lib/typescript/module/fonts/tokens.d.ts.map +1 -0
- package/lib/typescript/module/icons/common.d.ts +1 -1
- package/lib/typescript/module/index.d.ts +2 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +2 -0
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/theme/BloomThemeProvider.d.ts +13 -1
- package/lib/typescript/module/theme/BloomThemeProvider.d.ts.map +1 -1
- package/lib/typescript/module/toast/index.d.ts +7 -7
- package/lib/typescript/module/typography/index.d.ts +2 -0
- package/lib/typescript/module/typography/index.d.ts.map +1 -1
- package/package.json +37 -2
- package/src/__tests__/BloomThemeProvider.fonts-web.test.tsx +42 -0
- package/src/__tests__/BloomThemeProvider.test.tsx +22 -0
- package/src/__tests__/Code.test.tsx +25 -0
- package/src/__tests__/FontLoader.native.test.tsx +75 -0
- package/src/__tests__/Pre.test.tsx +25 -0
- package/src/__tests__/apply-font-faces.test.ts +59 -0
- package/src/assets.d.ts +20 -0
- package/src/code/Code.tsx +52 -0
- package/src/code/Pre.tsx +76 -0
- package/src/code/index.ts +4 -0
- package/src/error-boundary/ErrorBoundary.tsx +22 -7
- package/src/fonts/FontLoader.native.tsx +30 -0
- package/src/fonts/FontLoader.tsx +37 -0
- package/src/fonts/apply-font-faces.ts +42 -0
- package/src/fonts/font-assets.ts +16 -0
- package/src/fonts/index.ts +6 -0
- package/src/fonts/tokens.ts +23 -0
- package/src/index.ts +6 -0
- package/src/index.web.ts +6 -0
- package/src/theme/BloomThemeProvider.tsx +18 -1
- package/src/typography/index.tsx +32 -3
package/src/typography/index.tsx
CHANGED
|
@@ -8,11 +8,33 @@ import {
|
|
|
8
8
|
} from 'react-native';
|
|
9
9
|
|
|
10
10
|
import { useTheme } from '../theme/use-theme';
|
|
11
|
+
import { fontFamilies } from '../fonts/tokens';
|
|
11
12
|
|
|
12
13
|
export type TextProps = RNTextProps;
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
|
-
*
|
|
16
|
+
* Platform-aware font-family value. On web we resolve to the CSS custom
|
|
17
|
+
* property set by `applyFontFaces` so consumer apps can re-skin Bloom by
|
|
18
|
+
* overriding `--bloom-font-*` at any subtree. On native we use the literal
|
|
19
|
+
* family name registered by `expo-font`'s `useFonts(FONT_ASSETS)`.
|
|
20
|
+
*/
|
|
21
|
+
function fontFamilyStyle(
|
|
22
|
+
kind: 'display' | 'sans' | 'mono',
|
|
23
|
+
): { fontFamily: string } {
|
|
24
|
+
if (Platform.OS === 'web') {
|
|
25
|
+
return { fontFamily: `var(--bloom-font-${kind})` };
|
|
26
|
+
}
|
|
27
|
+
if (kind === 'display') return { fontFamily: 'BlomusModernus' };
|
|
28
|
+
if (kind === 'mono') return { fontFamily: 'Geist Mono' };
|
|
29
|
+
return { fontFamily: 'Inter' };
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const SANS_FONT_FAMILY = fontFamilyStyle('sans');
|
|
33
|
+
const DISPLAY_FONT_FAMILY = fontFamilyStyle('display');
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Base text component with theme-aware default color and the Bloom sans
|
|
37
|
+
* font family applied.
|
|
16
38
|
*/
|
|
17
39
|
const TextComponent = function Text({ children, style, ...rest }: TextProps) {
|
|
18
40
|
const { colors } = useTheme();
|
|
@@ -20,7 +42,7 @@ const TextComponent = function Text({ children, style, ...rest }: TextProps) {
|
|
|
20
42
|
return (
|
|
21
43
|
<RNText
|
|
22
44
|
{...rest}
|
|
23
|
-
style={[{ fontSize: 13, color: colors.text }, style]}>
|
|
45
|
+
style={[{ fontSize: 13, color: colors.text, ...SANS_FONT_FAMILY }, style]}>
|
|
24
46
|
{children}
|
|
25
47
|
</RNText>
|
|
26
48
|
);
|
|
@@ -31,13 +53,18 @@ Text.displayName = 'Text';
|
|
|
31
53
|
|
|
32
54
|
export { Text as Span };
|
|
33
55
|
|
|
56
|
+
const HEADING_STYLE: StyleProp<TextStyle> = {
|
|
57
|
+
...DISPLAY_FONT_FAMILY,
|
|
58
|
+
fontWeight: '700',
|
|
59
|
+
};
|
|
60
|
+
|
|
34
61
|
function createHeadingElement({ level }: { level: number }): React.FC<TextProps> {
|
|
35
62
|
return function HeadingElement({ style, ...rest }: TextProps) {
|
|
36
63
|
const extraProps: Record<string, unknown> =
|
|
37
64
|
Platform.OS === 'web'
|
|
38
65
|
? { role: 'heading', 'aria-level': level }
|
|
39
66
|
: {};
|
|
40
|
-
return <Text {...extraProps} {...rest} style={style} />;
|
|
67
|
+
return <Text {...extraProps} {...rest} style={[HEADING_STYLE, style]} />;
|
|
41
68
|
};
|
|
42
69
|
}
|
|
43
70
|
|
|
@@ -66,3 +93,5 @@ export function P({ style, ...rest }: TextProps) {
|
|
|
66
93
|
);
|
|
67
94
|
}
|
|
68
95
|
P.displayName = 'P';
|
|
96
|
+
|
|
97
|
+
export { fontFamilies };
|