@oxyhq/bloom 0.3.6 → 0.3.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.
- package/lib/commonjs/fonts/FontLoader.native.js +6 -6
- package/lib/commonjs/fonts/FontLoader.native.js.map +1 -1
- package/lib/commonjs/fonts/tokens.js +1 -1
- package/lib/commonjs/fonts/tokens.js.map +1 -1
- package/lib/commonjs/typography/index.js +6 -4
- package/lib/commonjs/typography/index.js.map +1 -1
- package/lib/module/fonts/FontLoader.native.js +6 -6
- package/lib/module/fonts/FontLoader.native.js.map +1 -1
- package/lib/module/fonts/tokens.js +1 -1
- package/lib/module/fonts/tokens.js.map +1 -1
- package/lib/module/typography/index.js +6 -4
- package/lib/module/typography/index.js.map +1 -1
- package/lib/typescript/commonjs/fonts/FontLoader.native.d.ts +2 -2
- package/lib/typescript/commonjs/fonts/tokens.d.ts +1 -1
- package/lib/typescript/commonjs/typography/index.d.ts.map +1 -1
- package/lib/typescript/module/fonts/FontLoader.native.d.ts +2 -2
- package/lib/typescript/module/fonts/tokens.d.ts +1 -1
- package/lib/typescript/module/typography/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/FontLoader.native.test.tsx +7 -7
- package/src/fonts/FontLoader.native.tsx +6 -6
- package/src/fonts/tokens.ts +1 -1
- package/src/typography/index.tsx +6 -2
|
@@ -19,9 +19,9 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Mutates `Text.defaultProps.style` so every native `<Text>` in the consuming
|
|
22
|
-
* app inherits Bloom's
|
|
23
|
-
* to any existing default style so caller-provided `style`
|
|
24
|
-
* applies AFTER `defaultProps.style`) still wins for overrides.
|
|
22
|
+
* app inherits Bloom's default font (BlomusModernus). The Bloom family name
|
|
23
|
+
* is prepended to any existing default style so caller-provided `style`
|
|
24
|
+
* (which React applies AFTER `defaultProps.style`) still wins for overrides.
|
|
25
25
|
*
|
|
26
26
|
* Idempotent: re-invoking it after the first apply is a no-op because the
|
|
27
27
|
* first style entry will already be the Bloom default we added.
|
|
@@ -30,7 +30,7 @@ function applyDefaultTextFont() {
|
|
|
30
30
|
const TextWithDefaults = _reactNative.Text;
|
|
31
31
|
const existing = TextWithDefaults.defaultProps?.style;
|
|
32
32
|
const bloomDefault = {
|
|
33
|
-
fontFamily: '
|
|
33
|
+
fontFamily: 'BlomusModernus'
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
// Detect whether we've already prepended ourselves. `existing` may be an
|
|
@@ -61,8 +61,8 @@ function applyDefaultTextFont() {
|
|
|
61
61
|
* provider tree ever flips `fonts` back on.
|
|
62
62
|
*
|
|
63
63
|
* Once the bundled fonts report `loaded === true`, this component also
|
|
64
|
-
* mutates `Text.defaultProps.style` to prepend `{ fontFamily: '
|
|
65
|
-
* so every native `<Text>` in the consuming app inherits Bloom's
|
|
64
|
+
* mutates `Text.defaultProps.style` to prepend `{ fontFamily: 'BlomusModernus' }`
|
|
65
|
+
* so every native `<Text>` in the consuming app inherits Bloom's default
|
|
66
66
|
* family without callers needing to import `<Text>` from `@oxyhq/bloom`.
|
|
67
67
|
* The mutation is gated by a `useRef` so it runs at most once per
|
|
68
68
|
* FontLoader instance, and the underlying apply is idempotent — the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_expoFont","_fontAssets","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","applyDefaultTextFont","TextWithDefaults","Text","existing","defaultProps","style","bloomDefault","fontFamily","Array","isArray","first","nextStyle","FontLoader","enabled","fallback","children","loaded","useFonts","FONT_ASSETS","defaultsApplied","useRef","current","jsx","Fragment"],"sourceRoot":"../../../src","sources":["fonts/FontLoader.native.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAA4C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAc5C;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASkB,oBAAoBA,CAAA,EAAS;EACpC,MAAMC,gBAAgB,GAAGC,iBAAwB;EACjD,MAAMC,QAAQ,GAAGF,gBAAgB,CAACG,YAAY,EAAEC,KAAK;EACrD,MAAMC,YAAuB,GAAG;IAAEC,UAAU,EAAE;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_expoFont","_fontAssets","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","applyDefaultTextFont","TextWithDefaults","Text","existing","defaultProps","style","bloomDefault","fontFamily","Array","isArray","first","nextStyle","FontLoader","enabled","fallback","children","loaded","useFonts","FONT_ASSETS","defaultsApplied","useRef","current","jsx","Fragment"],"sourceRoot":"../../../src","sources":["fonts/FontLoader.native.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,7 +16,7 @@ exports.fontFamilies = exports.fontCssVars = void 0;
|
|
|
16
16
|
|
|
17
17
|
const fontFamilies = exports.fontFamilies = {
|
|
18
18
|
display: 'BlomusModernus, Georgia, "Times New Roman", serif',
|
|
19
|
-
sans: '
|
|
19
|
+
sans: 'BlomusModernus, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
20
20
|
mono: '"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace'
|
|
21
21
|
};
|
|
22
22
|
const fontCssVars = exports.fontCssVars = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fontFamilies","exports","display","sans","mono","fontCssVars"],"sourceRoot":"../../../src","sources":["fonts/tokens.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1BE,OAAO,EAAE,mDAAmD;EAC5DC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"names":["fontFamilies","exports","display","sans","mono","fontCssVars"],"sourceRoot":"../../../src","sources":["fonts/tokens.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1BE,OAAO,EAAE,mDAAmD;EAC5DC,IAAI,EAAE,mFAAmF;EACzFC,IAAI,EAAE;AACR,CAAU;AAEH,MAAMC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,GAAG;EACzBH,OAAO,EAAE,sBAAsB;EAC/BC,IAAI,EAAE,mBAAmB;EACzBC,IAAI,EAAE;AACR,CAAU","ignoreList":[]}
|
|
@@ -30,14 +30,16 @@ function fontFamilyStyle(kind) {
|
|
|
30
30
|
fontFamily: `var(--bloom-font-${kind})`
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
if (kind === 'display') return {
|
|
34
|
-
fontFamily: 'BlomusModernus'
|
|
35
|
-
};
|
|
36
33
|
if (kind === 'mono') return {
|
|
37
34
|
fontFamily: 'Geist Mono'
|
|
38
35
|
};
|
|
36
|
+
// `display` and `sans` both resolve to BlomusModernus on native — Bloom's
|
|
37
|
+
// default body font. The CSS stack in `tokens.ts` differs (display vs sans
|
|
38
|
+
// have different fallback chains for web), but on RN the literal family
|
|
39
|
+
// name is the only thing that matters; the .ttf is registered via
|
|
40
|
+
// `useFonts(FONT_ASSETS)` in `FontLoader.native.tsx`.
|
|
39
41
|
return {
|
|
40
|
-
fontFamily: '
|
|
42
|
+
fontFamily: 'BlomusModernus'
|
|
41
43
|
};
|
|
42
44
|
}
|
|
43
45
|
const SANS_FONT_FAMILY = fontFamilyStyle('sans');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_tokens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","fontFamilyStyle","kind","Platform","OS","fontFamily","SANS_FONT_FAMILY","DISPLAY_FONT_FAMILY","TextComponent","Text","children","style","rest","colors","useTheme","jsx","fontSize","color","text","exports","Span","memo","displayName","HEADING_STYLE","fontWeight","createHeadingElement","level","HeadingElement","extraProps","role","H1","H2","H3","H4","H5","H6","P","lineHeight"],"sourceRoot":"../../../src","sources":["typography/index.tsx"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAA+C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAI/C;AACA;AACA;AACA;AACA;AACA;AACA,SAASkB,eAAeA,CACtBC,IAAiC,EACT;EACxB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO;MAAEC,UAAU,EAAE,oBAAoBH,IAAI;IAAI,CAAC;EACpD;EACA,IAAIA,IAAI,KAAK,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_tokens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","fontFamilyStyle","kind","Platform","OS","fontFamily","SANS_FONT_FAMILY","DISPLAY_FONT_FAMILY","TextComponent","Text","children","style","rest","colors","useTheme","jsx","fontSize","color","text","exports","Span","memo","displayName","HEADING_STYLE","fontWeight","createHeadingElement","level","HeadingElement","extraProps","role","H1","H2","H3","H4","H5","H6","P","lineHeight"],"sourceRoot":"../../../src","sources":["typography/index.tsx"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAA+C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAI/C;AACA;AACA;AACA;AACA;AACA;AACA,SAASkB,eAAeA,CACtBC,IAAiC,EACT;EACxB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO;MAAEC,UAAU,EAAE,oBAAoBH,IAAI;IAAI,CAAC;EACpD;EACA,IAAIA,IAAI,KAAK,MAAM,EAAE,OAAO;IAAEG,UAAU,EAAE;EAAa,CAAC;EACxD;EACA;EACA;EACA;EACA;EACA,OAAO;IAAEA,UAAU,EAAE;EAAiB,CAAC;AACzC;AAEA,MAAMC,gBAAgB,GAAGL,eAAe,CAAC,MAAM,CAAC;AAChD,MAAMM,mBAAmB,GAAGN,eAAe,CAAC,SAAS,CAAC;;AAEtD;AACA;AACA;AACA;AACA,MAAMO,aAAa,GAAG,SAASC,IAAIA,CAAC;EAAEC,QAAQ;EAAEC,KAAK;EAAE,GAAGC;AAAgB,CAAC,EAAE;EAC3E,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EAE7B,oBACE,IAAAjC,WAAA,CAAAkC,GAAA,EAACrC,YAAA,CAAA+B,IAAM;IAAA,GACDG,IAAI;IACRD,KAAK,EAAE,CAAC;MAAEK,QAAQ,EAAE,EAAE;MAAEC,KAAK,EAAEJ,MAAM,CAACK,IAAI;MAAE,GAAGZ;IAAiB,CAAC,EAAEK,KAAK,CAAE;IAAAD,QAAA,EACzEA;EAAQ,CACH,CAAC;AAEb,CAAC;AAEM,MAAMD,IAAI,GAAAU,OAAA,CAAAC,IAAA,GAAAD,OAAA,CAAAV,IAAA,gBAAG,IAAAY,WAAI,EAACb,aAAa,CAAC;AACvCC,IAAI,CAACa,WAAW,GAAG,MAAM;AAIzB,MAAMC,aAAmC,GAAG;EAC1C,GAAGhB,mBAAmB;EACtBiB,UAAU,EAAE;AACd,CAAC;AAED,SAASC,oBAAoBA,CAAC;EAAEC;AAAyB,CAAC,EAAuB;EAC/E,OAAO,SAASC,cAAcA,CAAC;IAAEhB,KAAK;IAAE,GAAGC;EAAgB,CAAC,EAAE;IAC5D,MAAMgB,UAAmC,GACvCzB,qBAAQ,CAACC,EAAE,KAAK,KAAK,GACjB;MAAEyB,IAAI,EAAE,SAAS;MAAE,YAAY,EAAEH;IAAM,CAAC,GACxC,CAAC,CAAC;IACR,oBAAO,IAAA7C,WAAA,CAAAkC,GAAA,EAACN,IAAI;MAAA,GAAKmB,UAAU;MAAA,GAAMhB,IAAI;MAAED,KAAK,EAAE,CAACY,aAAa,EAAEZ,KAAK;IAAE,CAAE,CAAC;EAC1E,CAAC;AACH;AAEO,MAAMmB,EAAE,GAAAX,OAAA,CAAAW,EAAA,GAAGL,oBAAoB,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC,CAAC;AACpDI,EAAE,CAACR,WAAW,GAAG,IAAI;AACd,MAAMS,EAAE,GAAAZ,OAAA,CAAAY,EAAA,GAAGN,oBAAoB,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC,CAAC;AACpDK,EAAE,CAACT,WAAW,GAAG,IAAI;AACd,MAAMU,EAAE,GAAAb,OAAA,CAAAa,EAAA,GAAGP,oBAAoB,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC,CAAC;AACpDM,EAAE,CAACV,WAAW,GAAG,IAAI;AACd,MAAMW,EAAE,GAAAd,OAAA,CAAAc,EAAA,GAAGR,oBAAoB,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC,CAAC;AACpDO,EAAE,CAACX,WAAW,GAAG,IAAI;AACd,MAAMY,EAAE,GAAAf,OAAA,CAAAe,EAAA,GAAGT,oBAAoB,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC,CAAC;AACpDQ,EAAE,CAACZ,WAAW,GAAG,IAAI;AACd,MAAMa,EAAE,GAAAhB,OAAA,CAAAgB,EAAA,GAAGV,oBAAoB,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC,CAAC;AACpDS,EAAE,CAACb,WAAW,GAAG,IAAI;AAEd,SAASc,CAACA,CAAC;EAAEzB,KAAK;EAAE,GAAGC;AAAgB,CAAC,EAAE;EAC/C,MAAMgB,UAAmC,GACvCzB,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG;IAAEyB,IAAI,EAAE;EAAY,CAAC,GAAG,CAAC,CAAC;EACpD,oBACE,IAAAhD,WAAA,CAAAkC,GAAA,EAACN,IAAI;IAAA,GACCmB,UAAU;IAAA,GACVhB,IAAI;IACRD,KAAK,EAAE,CAAC;MAAEK,QAAQ,EAAE,EAAE;MAAEqB,UAAU,EAAE,EAAE,GAAG;IAAM,CAAC,EAAE1B,KAAK;EAAE,CAC1D,CAAC;AAEN;AACAyB,CAAC,CAACd,WAAW,GAAG,GAAG","ignoreList":[]}
|
|
@@ -14,9 +14,9 @@ import { FONT_ASSETS } from "./font-assets.js";
|
|
|
14
14
|
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
15
15
|
/**
|
|
16
16
|
* Mutates `Text.defaultProps.style` so every native `<Text>` in the consuming
|
|
17
|
-
* app inherits Bloom's
|
|
18
|
-
* to any existing default style so caller-provided `style`
|
|
19
|
-
* applies AFTER `defaultProps.style`) still wins for overrides.
|
|
17
|
+
* app inherits Bloom's default font (BlomusModernus). The Bloom family name
|
|
18
|
+
* is prepended to any existing default style so caller-provided `style`
|
|
19
|
+
* (which React applies AFTER `defaultProps.style`) still wins for overrides.
|
|
20
20
|
*
|
|
21
21
|
* Idempotent: re-invoking it after the first apply is a no-op because the
|
|
22
22
|
* first style entry will already be the Bloom default we added.
|
|
@@ -25,7 +25,7 @@ function applyDefaultTextFont() {
|
|
|
25
25
|
const TextWithDefaults = Text;
|
|
26
26
|
const existing = TextWithDefaults.defaultProps?.style;
|
|
27
27
|
const bloomDefault = {
|
|
28
|
-
fontFamily: '
|
|
28
|
+
fontFamily: 'BlomusModernus'
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
// Detect whether we've already prepended ourselves. `existing` may be an
|
|
@@ -56,8 +56,8 @@ function applyDefaultTextFont() {
|
|
|
56
56
|
* provider tree ever flips `fonts` back on.
|
|
57
57
|
*
|
|
58
58
|
* Once the bundled fonts report `loaded === true`, this component also
|
|
59
|
-
* mutates `Text.defaultProps.style` to prepend `{ fontFamily: '
|
|
60
|
-
* so every native `<Text>` in the consuming app inherits Bloom's
|
|
59
|
+
* mutates `Text.defaultProps.style` to prepend `{ fontFamily: 'BlomusModernus' }`
|
|
60
|
+
* so every native `<Text>` in the consuming app inherits Bloom's default
|
|
61
61
|
* family without callers needing to import `<Text>` from `@oxyhq/bloom`.
|
|
62
62
|
* The mutation is gated by a `useRef` so it runs at most once per
|
|
63
63
|
* FontLoader instance, and the underlying apply is idempotent — the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRef","Text","useFonts","FONT_ASSETS","Fragment","_Fragment","jsx","_jsx","applyDefaultTextFont","TextWithDefaults","existing","defaultProps","style","bloomDefault","fontFamily","Array","isArray","first","nextStyle","FontLoader","enabled","fallback","children","loaded","defaultsApplied","current"],"sourceRoot":"../../../src","sources":["fonts/FontLoader.native.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AACrC,SAASC,IAAI,QAAwD,cAAc;AACnF,SAASC,QAAQ,QAAQ,WAAW;AACpC,SAASC,WAAW,QAAQ,kBAAe;;AAc3C;AACA;AACA;AACA;AACA;AACA;AALA,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,oBAAoBA,CAAA,EAAS;EACpC,MAAMC,gBAAgB,GAAGR,IAAwB;EACjD,MAAMS,QAAQ,GAAGD,gBAAgB,CAACE,YAAY,EAAEC,KAAK;EACrD,MAAMC,YAAuB,GAAG;IAAEC,UAAU,EAAE;
|
|
1
|
+
{"version":3,"names":["React","useRef","Text","useFonts","FONT_ASSETS","Fragment","_Fragment","jsx","_jsx","applyDefaultTextFont","TextWithDefaults","existing","defaultProps","style","bloomDefault","fontFamily","Array","isArray","first","nextStyle","FontLoader","enabled","fallback","children","loaded","defaultsApplied","current"],"sourceRoot":"../../../src","sources":["fonts/FontLoader.native.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AACrC,SAASC,IAAI,QAAwD,cAAc;AACnF,SAASC,QAAQ,QAAQ,WAAW;AACpC,SAASC,WAAW,QAAQ,kBAAe;;AAc3C;AACA;AACA;AACA;AACA;AACA;AALA,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,oBAAoBA,CAAA,EAAS;EACpC,MAAMC,gBAAgB,GAAGR,IAAwB;EACjD,MAAMS,QAAQ,GAAGD,gBAAgB,CAACE,YAAY,EAAEC,KAAK;EACrD,MAAMC,YAAuB,GAAG;IAAEC,UAAU,EAAE;EAAiB,CAAC;;EAEhE;EACA;EACA;EACA;EACA,IAAIC,KAAK,CAACC,OAAO,CAACN,QAAQ,CAAC,EAAE;IAC3B,MAAMO,KAAK,GAAGP,QAAQ,CAAC,CAAC,CAAC;IACzB,IACEO,KAAK,IACL,OAAOA,KAAK,KAAK,QAAQ,IACzB,CAACF,KAAK,CAACC,OAAO,CAACC,KAAK,CAAC,IACpBA,KAAK,CAAeH,UAAU,KAAKD,YAAY,CAACC,UAAU,EAC3D;MACA;IACF;EACF,CAAC,MAAM,IACLJ,QAAQ,IACR,OAAOA,QAAQ,KAAK,QAAQ,IAC3BA,QAAQ,CAAeI,UAAU,KAAKD,YAAY,CAACC,UAAU,EAC9D;IACA;EACF;EAEA,MAAMI,SAA+B,GACnCR,QAAQ,IAAI,IAAI,GAAGG,YAAY,GAAG,CAACA,YAAY,EAAEH,QAAQ,CAAC;EAE5DD,gBAAgB,CAACE,YAAY,GAAG;IAC9B,GAAGF,gBAAgB,CAACE,YAAY;IAChCC,KAAK,EAAEM;EACT,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CAAC;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAA0B,CAAC,EAAE;EAC3E,MAAM,CAACC,MAAM,CAAC,GAAGrB,QAAQ,CAACC,WAAW,CAAC;EACtC,MAAMqB,eAAe,GAAGxB,MAAM,CAAC,KAAK,CAAC;EAErC,IAAIuB,MAAM,IAAI,CAACC,eAAe,CAACC,OAAO,EAAE;IACtCD,eAAe,CAACC,OAAO,GAAG,IAAI;IAC9BjB,oBAAoB,CAAC,CAAC;EACxB;EAEA,IAAI,CAACY,OAAO,EAAE,oBAAOb,IAAA,CAAAF,SAAA;IAAAiB,QAAA,EAAGA;EAAQ,CAAG,CAAC;EACpC,IAAI,CAACC,MAAM,EAAE,oBAAOhB,IAAA,CAAAF,SAAA;IAAAiB,QAAA,EAAGD,QAAQ,IAAI;EAAI,CAAG,CAAC;EAC3C,oBAAOd,IAAA,CAAAF,SAAA;IAAAiB,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB","ignoreList":[]}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
export const fontFamilies = {
|
|
14
14
|
display: 'BlomusModernus, Georgia, "Times New Roman", serif',
|
|
15
|
-
sans: '
|
|
15
|
+
sans: 'BlomusModernus, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
16
16
|
mono: '"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace'
|
|
17
17
|
};
|
|
18
18
|
export const fontCssVars = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fontFamilies","display","sans","mono","fontCssVars"],"sourceRoot":"../../../src","sources":["fonts/tokens.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,YAAY,GAAG;EAC1BC,OAAO,EAAE,mDAAmD;EAC5DC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"names":["fontFamilies","display","sans","mono","fontCssVars"],"sourceRoot":"../../../src","sources":["fonts/tokens.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,YAAY,GAAG;EAC1BC,OAAO,EAAE,mDAAmD;EAC5DC,IAAI,EAAE,mFAAmF;EACzFC,IAAI,EAAE;AACR,CAAU;AAEV,OAAO,MAAMC,WAAW,GAAG;EACzBH,OAAO,EAAE,sBAAsB;EAC/BC,IAAI,EAAE,mBAAmB;EACzBC,IAAI,EAAE;AACR,CAAU","ignoreList":[]}
|
|
@@ -17,14 +17,16 @@ function fontFamilyStyle(kind) {
|
|
|
17
17
|
fontFamily: `var(--bloom-font-${kind})`
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
if (kind === 'display') return {
|
|
21
|
-
fontFamily: 'BlomusModernus'
|
|
22
|
-
};
|
|
23
20
|
if (kind === 'mono') return {
|
|
24
21
|
fontFamily: 'Geist Mono'
|
|
25
22
|
};
|
|
23
|
+
// `display` and `sans` both resolve to BlomusModernus on native — Bloom's
|
|
24
|
+
// default body font. The CSS stack in `tokens.ts` differs (display vs sans
|
|
25
|
+
// have different fallback chains for web), but on RN the literal family
|
|
26
|
+
// name is the only thing that matters; the .ttf is registered via
|
|
27
|
+
// `useFonts(FONT_ASSETS)` in `FontLoader.native.tsx`.
|
|
26
28
|
return {
|
|
27
|
-
fontFamily: '
|
|
29
|
+
fontFamily: 'BlomusModernus'
|
|
28
30
|
};
|
|
29
31
|
}
|
|
30
32
|
const SANS_FONT_FAMILY = fontFamilyStyle('sans');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","Text","RNText","Platform","useTheme","fontFamilies","jsx","_jsx","fontFamilyStyle","kind","OS","fontFamily","SANS_FONT_FAMILY","DISPLAY_FONT_FAMILY","TextComponent","children","style","rest","colors","fontSize","color","text","displayName","Span","HEADING_STYLE","fontWeight","createHeadingElement","level","HeadingElement","extraProps","role","H1","H2","H3","H4","H5","H6","P","lineHeight"],"sourceRoot":"../../../src","sources":["typography/index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SACEC,IAAI,IAAIC,MAAM,EAEdC,QAAQ,QAGH,cAAc;AAErB,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,YAAY,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAI/C;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CACtBC,IAAiC,EACT;EACxB,IAAIN,QAAQ,CAACO,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO;MAAEC,UAAU,EAAE,oBAAoBF,IAAI;IAAI,CAAC;EACpD;EACA,IAAIA,IAAI,KAAK,
|
|
1
|
+
{"version":3,"names":["React","memo","Text","RNText","Platform","useTheme","fontFamilies","jsx","_jsx","fontFamilyStyle","kind","OS","fontFamily","SANS_FONT_FAMILY","DISPLAY_FONT_FAMILY","TextComponent","children","style","rest","colors","fontSize","color","text","displayName","Span","HEADING_STYLE","fontWeight","createHeadingElement","level","HeadingElement","extraProps","role","H1","H2","H3","H4","H5","H6","P","lineHeight"],"sourceRoot":"../../../src","sources":["typography/index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SACEC,IAAI,IAAIC,MAAM,EAEdC,QAAQ,QAGH,cAAc;AAErB,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,YAAY,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAI/C;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CACtBC,IAAiC,EACT;EACxB,IAAIN,QAAQ,CAACO,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO;MAAEC,UAAU,EAAE,oBAAoBF,IAAI;IAAI,CAAC;EACpD;EACA,IAAIA,IAAI,KAAK,MAAM,EAAE,OAAO;IAAEE,UAAU,EAAE;EAAa,CAAC;EACxD;EACA;EACA;EACA;EACA;EACA,OAAO;IAAEA,UAAU,EAAE;EAAiB,CAAC;AACzC;AAEA,MAAMC,gBAAgB,GAAGJ,eAAe,CAAC,MAAM,CAAC;AAChD,MAAMK,mBAAmB,GAAGL,eAAe,CAAC,SAAS,CAAC;;AAEtD;AACA;AACA;AACA;AACA,MAAMM,aAAa,GAAG,SAASb,IAAIA,CAAC;EAAEc,QAAQ;EAAEC,KAAK;EAAE,GAAGC;AAAgB,CAAC,EAAE;EAC3E,MAAM;IAAEC;EAAO,CAAC,GAAGd,QAAQ,CAAC,CAAC;EAE7B,oBACEG,IAAA,CAACL,MAAM;IAAA,GACDe,IAAI;IACRD,KAAK,EAAE,CAAC;MAAEG,QAAQ,EAAE,EAAE;MAAEC,KAAK,EAAEF,MAAM,CAACG,IAAI;MAAE,GAAGT;IAAiB,CAAC,EAAEI,KAAK,CAAE;IAAAD,QAAA,EACzEA;EAAQ,CACH,CAAC;AAEb,CAAC;AAED,OAAO,MAAMd,IAAI,gBAAGD,IAAI,CAACc,aAAa,CAAC;AACvCb,IAAI,CAACqB,WAAW,GAAG,MAAM;AAEzB,SAASrB,IAAI,IAAIsB,IAAI;AAErB,MAAMC,aAAmC,GAAG;EAC1C,GAAGX,mBAAmB;EACtBY,UAAU,EAAE;AACd,CAAC;AAED,SAASC,oBAAoBA,CAAC;EAAEC;AAAyB,CAAC,EAAuB;EAC/E,OAAO,SAASC,cAAcA,CAAC;IAAEZ,KAAK;IAAE,GAAGC;EAAgB,CAAC,EAAE;IAC5D,MAAMY,UAAmC,GACvC1B,QAAQ,CAACO,EAAE,KAAK,KAAK,GACjB;MAAEoB,IAAI,EAAE,SAAS;MAAE,YAAY,EAAEH;IAAM,CAAC,GACxC,CAAC,CAAC;IACR,oBAAOpB,IAAA,CAACN,IAAI;MAAA,GAAK4B,UAAU;MAAA,GAAMZ,IAAI;MAAED,KAAK,EAAE,CAACQ,aAAa,EAAER,KAAK;IAAE,CAAE,CAAC;EAC1E,CAAC;AACH;AAEA,OAAO,MAAMe,EAAE,GAAGL,oBAAoB,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC,CAAC;AACpDI,EAAE,CAACT,WAAW,GAAG,IAAI;AACrB,OAAO,MAAMU,EAAE,GAAGN,oBAAoB,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC,CAAC;AACpDK,EAAE,CAACV,WAAW,GAAG,IAAI;AACrB,OAAO,MAAMW,EAAE,GAAGP,oBAAoB,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC,CAAC;AACpDM,EAAE,CAACX,WAAW,GAAG,IAAI;AACrB,OAAO,MAAMY,EAAE,GAAGR,oBAAoB,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC,CAAC;AACpDO,EAAE,CAACZ,WAAW,GAAG,IAAI;AACrB,OAAO,MAAMa,EAAE,GAAGT,oBAAoB,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC,CAAC;AACpDQ,EAAE,CAACb,WAAW,GAAG,IAAI;AACrB,OAAO,MAAMc,EAAE,GAAGV,oBAAoB,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC,CAAC;AACpDS,EAAE,CAACd,WAAW,GAAG,IAAI;AAErB,OAAO,SAASe,CAACA,CAAC;EAAErB,KAAK;EAAE,GAAGC;AAAgB,CAAC,EAAE;EAC/C,MAAMY,UAAmC,GACvC1B,QAAQ,CAACO,EAAE,KAAK,KAAK,GAAG;IAAEoB,IAAI,EAAE;EAAY,CAAC,GAAG,CAAC,CAAC;EACpD,oBACEvB,IAAA,CAACN,IAAI;IAAA,GACC4B,UAAU;IAAA,GACVZ,IAAI;IACRD,KAAK,EAAE,CAAC;MAAEG,QAAQ,EAAE,EAAE;MAAEmB,UAAU,EAAE,EAAE,GAAG;IAAM,CAAC,EAAEtB,KAAK;EAAE,CAC1D,CAAC;AAEN;AACAqB,CAAC,CAACf,WAAW,GAAG,GAAG;AAEnB,SAASjB,YAAY","ignoreList":[]}
|
|
@@ -19,8 +19,8 @@ export interface FontLoaderProps {
|
|
|
19
19
|
* provider tree ever flips `fonts` back on.
|
|
20
20
|
*
|
|
21
21
|
* Once the bundled fonts report `loaded === true`, this component also
|
|
22
|
-
* mutates `Text.defaultProps.style` to prepend `{ fontFamily: '
|
|
23
|
-
* so every native `<Text>` in the consuming app inherits Bloom's
|
|
22
|
+
* mutates `Text.defaultProps.style` to prepend `{ fontFamily: 'BlomusModernus' }`
|
|
23
|
+
* so every native `<Text>` in the consuming app inherits Bloom's default
|
|
24
24
|
* family without callers needing to import `<Text>` from `@oxyhq/bloom`.
|
|
25
25
|
* The mutation is gated by a `useRef` so it runs at most once per
|
|
26
26
|
* FontLoader instance, and the underlying apply is idempotent — the
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export declare const fontFamilies: {
|
|
11
11
|
readonly display: "BlomusModernus, Georgia, \"Times New Roman\", serif";
|
|
12
|
-
readonly sans: "
|
|
12
|
+
readonly sans: "BlomusModernus, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif";
|
|
13
13
|
readonly mono: "\"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, monospace";
|
|
14
14
|
};
|
|
15
15
|
export declare const fontCssVars: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/typography/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAEL,KAAK,SAAS,IAAI,WAAW,EAI9B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/typography/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAEL,KAAK,SAAS,IAAI,WAAW,EAI9B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC;AA0CpC,eAAO,MAAM,IAAI,2DAZiD,SAAS,6CAYpC,CAAC;AAGxC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;AAiBxB,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAGrD,wBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,2CAU9C;yBAVe,CAAC;;;AAajB,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -19,8 +19,8 @@ export interface FontLoaderProps {
|
|
|
19
19
|
* provider tree ever flips `fonts` back on.
|
|
20
20
|
*
|
|
21
21
|
* Once the bundled fonts report `loaded === true`, this component also
|
|
22
|
-
* mutates `Text.defaultProps.style` to prepend `{ fontFamily: '
|
|
23
|
-
* so every native `<Text>` in the consuming app inherits Bloom's
|
|
22
|
+
* mutates `Text.defaultProps.style` to prepend `{ fontFamily: 'BlomusModernus' }`
|
|
23
|
+
* so every native `<Text>` in the consuming app inherits Bloom's default
|
|
24
24
|
* family without callers needing to import `<Text>` from `@oxyhq/bloom`.
|
|
25
25
|
* The mutation is gated by a `useRef` so it runs at most once per
|
|
26
26
|
* FontLoader instance, and the underlying apply is idempotent — the
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export declare const fontFamilies: {
|
|
11
11
|
readonly display: "BlomusModernus, Georgia, \"Times New Roman\", serif";
|
|
12
|
-
readonly sans: "
|
|
12
|
+
readonly sans: "BlomusModernus, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif";
|
|
13
13
|
readonly mono: "\"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, monospace";
|
|
14
14
|
};
|
|
15
15
|
export declare const fontCssVars: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/typography/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAEL,KAAK,SAAS,IAAI,WAAW,EAI9B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/typography/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAEL,KAAK,SAAS,IAAI,WAAW,EAI9B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC;AA0CpC,eAAO,MAAM,IAAI,2DAZiD,SAAS,6CAYpC,CAAC;AAGxC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;AAiBxB,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAGrD,wBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,2CAU9C;yBAVe,CAAC;;;AAajB,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -86,7 +86,7 @@ describe('FontLoader (native)', () => {
|
|
|
86
86
|
expect(getByText('content')).toBeTruthy();
|
|
87
87
|
});
|
|
88
88
|
|
|
89
|
-
it('prepends
|
|
89
|
+
it('prepends BlomusModernus to Text.defaultProps.style once fonts are loaded', () => {
|
|
90
90
|
setUseFontsResult([true, null]);
|
|
91
91
|
render(
|
|
92
92
|
<FontLoader enabled>
|
|
@@ -94,7 +94,7 @@ describe('FontLoader (native)', () => {
|
|
|
94
94
|
</FontLoader>,
|
|
95
95
|
);
|
|
96
96
|
const defaults = (Text as TextWithDefaults).defaultProps;
|
|
97
|
-
expect(defaults?.style).toEqual({ fontFamily: '
|
|
97
|
+
expect(defaults?.style).toEqual({ fontFamily: 'BlomusModernus' });
|
|
98
98
|
});
|
|
99
99
|
|
|
100
100
|
it('does not touch Text.defaultProps until fonts are loaded', () => {
|
|
@@ -107,7 +107,7 @@ describe('FontLoader (native)', () => {
|
|
|
107
107
|
expect((Text as TextWithDefaults).defaultProps?.style).toBeUndefined();
|
|
108
108
|
});
|
|
109
109
|
|
|
110
|
-
it('preserves a pre-existing default style by appending it after
|
|
110
|
+
it('preserves a pre-existing default style by appending it after BlomusModernus', () => {
|
|
111
111
|
const preExisting = { color: '#abcdef' } as const;
|
|
112
112
|
(Text as TextWithDefaults).defaultProps = { style: preExisting };
|
|
113
113
|
setUseFontsResult([true, null]);
|
|
@@ -119,7 +119,7 @@ describe('FontLoader (native)', () => {
|
|
|
119
119
|
const style = (Text as TextWithDefaults).defaultProps?.style;
|
|
120
120
|
expect(Array.isArray(style)).toBe(true);
|
|
121
121
|
if (Array.isArray(style)) {
|
|
122
|
-
expect(style[0]).toEqual({ fontFamily: '
|
|
122
|
+
expect(style[0]).toEqual({ fontFamily: 'BlomusModernus' });
|
|
123
123
|
expect(style[1]).toBe(preExisting);
|
|
124
124
|
}
|
|
125
125
|
});
|
|
@@ -139,8 +139,8 @@ describe('FontLoader (native)', () => {
|
|
|
139
139
|
);
|
|
140
140
|
second.unmount();
|
|
141
141
|
const style = (Text as TextWithDefaults).defaultProps?.style;
|
|
142
|
-
// Should still be the single, plain
|
|
143
|
-
// or duplicated entries.
|
|
144
|
-
expect(style).toEqual({ fontFamily: '
|
|
142
|
+
// Should still be the single, plain BlomusModernus object — not nested
|
|
143
|
+
// arrays or duplicated entries.
|
|
144
|
+
expect(style).toEqual({ fontFamily: 'BlomusModernus' });
|
|
145
145
|
});
|
|
146
146
|
});
|
|
@@ -27,9 +27,9 @@ type TextWithDefaults = typeof Text & {
|
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* Mutates `Text.defaultProps.style` so every native `<Text>` in the consuming
|
|
30
|
-
* app inherits Bloom's
|
|
31
|
-
* to any existing default style so caller-provided `style`
|
|
32
|
-
* applies AFTER `defaultProps.style`) still wins for overrides.
|
|
30
|
+
* app inherits Bloom's default font (BlomusModernus). The Bloom family name
|
|
31
|
+
* is prepended to any existing default style so caller-provided `style`
|
|
32
|
+
* (which React applies AFTER `defaultProps.style`) still wins for overrides.
|
|
33
33
|
*
|
|
34
34
|
* Idempotent: re-invoking it after the first apply is a no-op because the
|
|
35
35
|
* first style entry will already be the Bloom default we added.
|
|
@@ -37,7 +37,7 @@ type TextWithDefaults = typeof Text & {
|
|
|
37
37
|
function applyDefaultTextFont(): void {
|
|
38
38
|
const TextWithDefaults = Text as TextWithDefaults;
|
|
39
39
|
const existing = TextWithDefaults.defaultProps?.style;
|
|
40
|
-
const bloomDefault: TextStyle = { fontFamily: '
|
|
40
|
+
const bloomDefault: TextStyle = { fontFamily: 'BlomusModernus' };
|
|
41
41
|
|
|
42
42
|
// Detect whether we've already prepended ourselves. `existing` may be an
|
|
43
43
|
// array (multiple style fragments), a single object, a registered style
|
|
@@ -79,8 +79,8 @@ function applyDefaultTextFont(): void {
|
|
|
79
79
|
* provider tree ever flips `fonts` back on.
|
|
80
80
|
*
|
|
81
81
|
* Once the bundled fonts report `loaded === true`, this component also
|
|
82
|
-
* mutates `Text.defaultProps.style` to prepend `{ fontFamily: '
|
|
83
|
-
* so every native `<Text>` in the consuming app inherits Bloom's
|
|
82
|
+
* mutates `Text.defaultProps.style` to prepend `{ fontFamily: 'BlomusModernus' }`
|
|
83
|
+
* so every native `<Text>` in the consuming app inherits Bloom's default
|
|
84
84
|
* family without callers needing to import `<Text>` from `@oxyhq/bloom`.
|
|
85
85
|
* The mutation is gated by a `useRef` so it runs at most once per
|
|
86
86
|
* FontLoader instance, and the underlying apply is idempotent — the
|
package/src/fonts/tokens.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
export const fontFamilies = {
|
|
12
12
|
display: 'BlomusModernus, Georgia, "Times New Roman", serif',
|
|
13
|
-
sans: '
|
|
13
|
+
sans: 'BlomusModernus, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
14
14
|
mono: '"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace',
|
|
15
15
|
} as const;
|
|
16
16
|
|
package/src/typography/index.tsx
CHANGED
|
@@ -24,9 +24,13 @@ function fontFamilyStyle(
|
|
|
24
24
|
if (Platform.OS === 'web') {
|
|
25
25
|
return { fontFamily: `var(--bloom-font-${kind})` };
|
|
26
26
|
}
|
|
27
|
-
if (kind === 'display') return { fontFamily: 'BlomusModernus' };
|
|
28
27
|
if (kind === 'mono') return { fontFamily: 'Geist Mono' };
|
|
29
|
-
|
|
28
|
+
// `display` and `sans` both resolve to BlomusModernus on native — Bloom's
|
|
29
|
+
// default body font. The CSS stack in `tokens.ts` differs (display vs sans
|
|
30
|
+
// have different fallback chains for web), but on RN the literal family
|
|
31
|
+
// name is the only thing that matters; the .ttf is registered via
|
|
32
|
+
// `useFonts(FONT_ASSETS)` in `FontLoader.native.tsx`.
|
|
33
|
+
return { fontFamily: 'BlomusModernus' };
|
|
30
34
|
}
|
|
31
35
|
|
|
32
36
|
const SANS_FONT_FAMILY = fontFamilyStyle('sans');
|