@nikpnevmatikos/html-renderer 0.1.0-alpha.4 → 0.2.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 CHANGED
@@ -6,8 +6,6 @@
6
6
 
7
7
  A modern React Native HTML renderer, written in TypeScript with **zero native modules**. Built from scratch as a maintained alternative to the abandoned `react-native-render-html`.
8
8
 
9
- > **Status:** currently in alpha (`0.1.0-alpha.4`). Install with `@alpha` tag — see below.
10
-
11
9
  - **Zero native code** — works on iOS, Android, Web (via `react-native-web`), and Expo Go without a dev build.
12
10
  - **Fabric (new architecture) compatible** out of the box.
13
11
  - **Real CSS stylesheet support** — a `stylesheet` prop that accepts actual CSS with selectors and specificity.
@@ -15,18 +13,16 @@ A modern React Native HTML renderer, written in TypeScript with **zero native mo
15
13
  - Full style inheritance, CSS cascade, and the box-model basics.
16
14
  - Extensible via custom renderers, custom element models, DOM transform hooks, and per-renderer config.
17
15
  - **Entity-encoded HTML** (`<p>hello</p>` from CMS/API backends, even double-encoded) is auto-detected and rendered as HTML — no pre-decoding needed.
18
- - 100+ unit tests, typed end-to-end.
16
+ - 130+ unit tests, typed end-to-end.
19
17
 
20
18
  ## Install
21
19
 
22
20
  ```bash
23
- npm install @nikpnevmatikos/html-renderer@alpha
21
+ npm install @nikpnevmatikos/html-renderer
24
22
  ```
25
23
 
26
24
  Peer dependencies: `react >= 18`, `react-native >= 0.73`.
27
25
 
28
- > The `@alpha` tag is needed while the package is in prerelease. Once `0.1.0` stable is published, plain `npm install @nikpnevmatikos/html-renderer` will work.
29
-
30
26
  ## Quick start
31
27
 
32
28
  ```tsx
@@ -46,9 +42,9 @@ export default function Screen() {
46
42
  | Prop | Type | Description |
47
43
  |---|---|---|
48
44
  | `html` | `string` | The HTML source to render. |
49
- | `baseStyle` | `ResolvedStyle` | Root style inherited by all content. |
45
+ | `baseStyle` | `ResolvedStyle` | Root style. Inherited text props cascade to all content; box props (background, padding, …) style the root container. |
50
46
  | `stylesheet` | `string` | A CSS stylesheet with real selectors (type, class, id, descendant, child). |
51
- | `tagsStyles` | `Record<tag, StyleInput>` | Per-tag style override (`{ h1: {...} }`). |
47
+ | `tagsStyles` | `Record<tag, StyleInput>` | Per-tag style override (`{ h1: {...} }`). `body` is special: it styles the document root even when the HTML is a fragment with no `<body>` tag — see below. |
52
48
  | `classesStyles` | `Record<class, StyleInput>` | Style by `class` attribute. |
53
49
  | `idsStyles` | `Record<id, StyleInput>` | Style by `id` attribute. |
54
50
  | `customRenderers` | `Record<tag, CustomRenderer>` | Replace or wrap the renderer for any tag. |
@@ -57,7 +53,7 @@ export default function Screen() {
57
53
  | `contentWidth` | `number` | Max render width. Images wider than this scale down proportionally. |
58
54
  | `transformDom` | `(dom: DomNode[]) => DomNode[]` | Runs after parse, before build. Use for sanitization or tag rewrites. |
59
55
  | `onLinkPress` | `(href, attribs) => void` | Override the default `Linking.openURL` link handler. |
60
- | `ignoredDomTags` | `string[]` | Tags to drop during parse (subtree removed). |
56
+ | `ignoredDomTags` | `string[]` | Tags to drop during parse (subtree removed). Merged with the built-in defaults: `head`, `title`, `style`, `script`, `link`, `meta`, `base`. |
61
57
  | `ignoredStyles` | `string[]` | CSS properties to drop. Accepts kebab-case (`background-color`) or camelCase (`backgroundColor`). |
62
58
  | `defaultTextProps` | `TextProps` | Spread onto every `<Text>`. |
63
59
  | `defaultViewProps` | `ViewProps` | Spread onto every `<View>`. |
@@ -78,15 +74,31 @@ tagsStyles={{
78
74
 
79
75
  **Inline:** `span`, `strong`/`b`, `em`/`i`, `u`, `s`/`del`/`strike`, `ins`, `mark`, `small`, `code`, `a`, `br`, `img`.
80
76
 
77
+ **Documents:** full-document HTML works too — literal `<html>`/`<body>` render as plain block containers, and `<head>`, `<title>`, `<style>`, `<script>`, `<link>`, `<meta>`, `<base>` are ignored by default.
78
+
81
79
  ## Supported CSS
82
80
 
83
- - Typography: `color`, `font-size` (px), `font-family`, `font-weight`, `font-style`, `text-align`, `text-decoration`, `line-height` (px)
84
- - Box model: `margin` (shorthand + individual sides), `padding` (shorthand + individual sides), `background-color`
81
+ - Typography: `color`, `font-size` (px), `font-family`, `font-weight`, `font-style`, `text-align`, `text-decoration`, `text-transform`, `letter-spacing`, `line-height` (px)
82
+ - Box model: `margin` / `padding` (shorthands + individual sides), `background-color`, the `border` family (shorthands, per-side widths/colors, `border-style`, `border-radius` including per-corner), `width`/`height` with `min-`/`max-` variants
83
+ - Other: `opacity`, `display` (`flex` and `none`)
85
84
  - Colors: hex, `rgb()`, `rgba()`, `hsl()`, named (passed through to RN's color system)
86
- - Units: **`px` only** for now — `em`/`rem`/`%` are not resolved yet
85
+ - Units: **`px` only** for now — `em`/`rem` are not resolved yet, and `%` works only on `width`/`height`
87
86
 
88
87
  ## Examples
89
88
 
89
+ ### Root styles — `baseStyle` and `tagsStyles.body`
90
+
91
+ `tagsStyles.body` styles the document root even when the source HTML is a fragment with no `<body>` element — as if the content were wrapped in a synthetic body. Inherited text properties cascade into all content; box properties are applied once to the root container. This makes it the natural way to set the root text color:
92
+
93
+ ```tsx
94
+ <HtmlRenderer
95
+ html="<p>Hello</p>"
96
+ tagsStyles={{ body: { color: 'white' } }} // text renders white
97
+ />
98
+ ```
99
+
100
+ `baseStyle` does the same thing one rung lower in the cascade (`tagsStyles.body` wins where both set a property). If the HTML contains a literal `<body>` tag, `tagsStyles.body` is applied on that element instead, so box props are never applied twice.
101
+
90
102
  ### `stylesheet` — real CSS with selectors
91
103
 
92
104
  ```tsx
@@ -218,14 +230,17 @@ From lowest to highest priority:
218
230
 
219
231
  ```
220
232
  1. baseStyle (HtmlRenderer prop — root defaults)
221
- 2. Built-in tag defaults (h1 bold, strong bold, etc.)
222
- 3. stylesheet matches (by selector specificity + source order)
223
- 4. tagsStyles (per-tag programmatic override)
224
- 5. classesStyles (by matched class)
225
- 6. idsStyles (by matched id)
226
- 7. Inline style="..." (highest HTML inline always wins)
233
+ 2. tagsStyles.body (document root applies even without a <body> tag)
234
+ 3. Built-in tag defaults (h1 bold, strong bold, etc.)
235
+ 4. stylesheet matches (by selector specificity + source order)
236
+ 5. tagsStyles (per-tag programmatic override)
237
+ 6. classesStyles (by matched class)
238
+ 7. idsStyles (by matched id)
239
+ 8. Inline style="..." (highest — HTML inline always wins)
227
240
  ```
228
241
 
242
+ Root styles (1–2) reach descendants through inheritance, so only inherited text properties cascade down — and any element-level match (3–8) overrides them.
243
+
229
244
  ## How it works
230
245
 
231
246
  ```
@@ -246,10 +261,10 @@ Styles resolve at build time into a single `ResolvedStyle` per element. At rende
246
261
  Actively on the roadmap:
247
262
 
248
263
  - **No `rowspan`** on tables (colspan works).
249
- - **CSS units** beyond `px` — `em`, `rem`, `%` not resolved yet.
264
+ - **CSS units** beyond `px` — `em`, `rem` not resolved yet; `%` only on `width`/`height`.
250
265
  - **Forms** — `<input>`, `<textarea>`, `<button>`, `<select>` not yet rendered (planned for core, pure-JS via RN's `TextInput` / `Pressable`).
251
266
  - **Stylesheet features** — pseudo-classes (`:first-child`, `:nth-child`), attribute selectors (`[type="text"]`), and `@media` queries not yet supported.
252
- - **Advanced CSS** — transforms, opacity, individual `border-*` sides, `border-radius`, flex/grid display modes.
267
+ - **Advanced CSS** — transforms, flex/grid layout of HTML content.
253
268
  - **Intrinsic table column widths** — columns render equal-width (`flex: 1`); `width` on `<col>` / cells is ignored.
254
269
 
255
270
  ## Plugin packages (planned)
@@ -269,7 +284,7 @@ Until these ship, you can wire any of these tags yourself via `customRenderers`
269
284
  ```bash
270
285
  npm install # installs all workspace deps
271
286
  npm run dev # tsc --watch on core
272
- npm test # jest — 100+ tests
287
+ npm test # jest — 130+ tests
273
288
  npm run typecheck # tsc --noEmit on core
274
289
  npm run build # build core to dist
275
290
 
package/dist/index.d.ts CHANGED
@@ -4,4 +4,6 @@ export type { DomNode, DomElement, DomText, HTMLElementModel, RenderNode, Render
4
4
  export { parseHtml } from './parser/parse';
5
5
  export { buildRenderTree } from './render-tree/build';
6
6
  export { parseInlineStyle } from './styles/parse-inline';
7
+ export { resolveRootStyle, ROOT_DEFAULT_STYLE } from './styles/root';
8
+ export type { RootStyleOptions } from './styles/root';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,OAAO,EACP,UAAU,EACV,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,OAAO,EACP,UAAU,EACV,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -2,4 +2,5 @@ export { HtmlRenderer } from './renderer/Renderer';
2
2
  export { parseHtml } from './parser/parse';
3
3
  export { buildRenderTree } from './render-tree/build';
4
4
  export { parseInlineStyle } from './styles/parse-inline';
5
+ export { resolveRootStyle, ROOT_DEFAULT_STYLE } from './styles/root';
5
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAoBnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAoBnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -11,4 +11,5 @@ export interface BuildOptions {
11
11
  stylesheet?: string;
12
12
  }
13
13
  export declare function buildRenderTree(dom: DomNode[], options?: BuildOptions): RenderNode[];
14
+ export declare function treeContainsTag(nodes: RenderNode[], tag: string): boolean;
14
15
  //# sourceMappingURL=build.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/render-tree/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,gBAAgB,EAChB,UAAU,EAIV,aAAa,EACb,UAAU,EACX,MAAM,UAAU,CAAC;AA8HlB,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA2BD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EAAE,EACd,OAAO,GAAE,YAAiB,GACzB,UAAU,EAAE,CAkBd"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/render-tree/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,gBAAgB,EAChB,UAAU,EAIV,aAAa,EACb,UAAU,EACX,MAAM,UAAU,CAAC;AA0IlB,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA2BD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EAAE,EACd,OAAO,GAAE,YAAiB,GACzB,UAAU,EAAE,CAsBd;AAuQD,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAOzE"}
@@ -1,5 +1,6 @@
1
1
  import { parseInlineStyle } from '../styles/parse-inline';
2
2
  import { normalizeStyleInput, normalizeStyleMap } from '../styles/normalize';
3
+ import { resolveRootStyle } from '../styles/root';
3
4
  import { parseStylesheet } from '../styles/css-parser';
4
5
  import { matchSelector, } from '../styles/selector-match';
5
6
  import { collapseWhitespace } from './whitespace';
@@ -40,6 +41,9 @@ const BLOCK_TAGS = new Set([
40
41
  'dl',
41
42
  'dt',
42
43
  'dd',
44
+ // document containers — kept as plain block wrappers for full-document HTML
45
+ 'html',
46
+ 'body',
43
47
  ]);
44
48
  const KNOWN_TAGS = new Set([
45
49
  // block / sectioning
@@ -61,6 +65,18 @@ const KNOWN_TAGS = new Set([
61
65
  // document root (defensive — full-doc HTML)
62
66
  'html', 'head', 'body',
63
67
  ]);
68
+ // Non-rendered document tags, always merged with the user's ignoredDomTags.
69
+ // Without these, full-document HTML would render <title> text and raw
70
+ // <style>/<script> source as visible content.
71
+ const DEFAULT_IGNORED_DOM_TAGS = [
72
+ 'head',
73
+ 'title',
74
+ 'style',
75
+ 'script',
76
+ 'link',
77
+ 'meta',
78
+ 'base',
79
+ ];
64
80
  const warnedTags = new Set();
65
81
  function warnUnsupportedTag(tag) {
66
82
  if (warnedTags.has(tag))
@@ -107,10 +123,6 @@ const DEFAULT_TAG_STYLES = {
107
123
  th: { fontWeight: 'bold', textAlign: 'center' },
108
124
  caption: { fontWeight: 'bold', textAlign: 'center' },
109
125
  };
110
- const BASE_STYLE = {
111
- color: '#000000',
112
- fontSize: 14,
113
- };
114
126
  function cssNameToRN(name) {
115
127
  return name.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
116
128
  }
@@ -125,12 +137,18 @@ function buildIgnoredStyleKeys(input) {
125
137
  return out;
126
138
  }
127
139
  export function buildRenderTree(dom, options = {}) {
128
- const rootStyle = { ...BASE_STYLE, ...(options.baseStyle ?? {}) };
140
+ // Inherited half only: box props from baseStyle / tagsStyles.body belong to
141
+ // the single root container (styled by the renderer), not to every
142
+ // top-level element.
143
+ const rootStyle = pickInherited(resolveRootStyle(options));
129
144
  const ctx = {
130
145
  tagsStyles: normalizeStyleMap(options.tagsStyles),
131
146
  classesStyles: normalizeStyleMap(options.classesStyles),
132
147
  idsStyles: normalizeStyleMap(options.idsStyles),
133
- ignoredDomTags: new Set((options.ignoredDomTags ?? []).map((t) => t.toLowerCase())),
148
+ ignoredDomTags: new Set([
149
+ ...DEFAULT_IGNORED_DOM_TAGS,
150
+ ...(options.ignoredDomTags ?? []).map((t) => t.toLowerCase()),
151
+ ]),
134
152
  ignoredStyleKeys: buildIgnoredStyleKeys(options.ignoredStyles),
135
153
  customHTMLElementModels: options.customHTMLElementModels ?? {},
136
154
  renderersProps: options.renderersProps ?? {},
@@ -345,4 +363,15 @@ function pickInherited(style) {
345
363
  }
346
364
  return out;
347
365
  }
366
+ export function treeContainsTag(nodes, tag) {
367
+ for (const n of nodes) {
368
+ if (n.kind !== 'element')
369
+ continue;
370
+ if (n.tag === tag)
371
+ return true;
372
+ if (treeContainsTag(n.children, tag))
373
+ return true;
374
+ }
375
+ return false;
376
+ }
348
377
  //# sourceMappingURL=build.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/render-tree/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/render-tree/build.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../src/renderer/Renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAOL,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAEhB,aAAa,EAEb,aAAa,EACb,UAAU,EACX,MAAM,UAAU,CAAC;AAMlB,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,MAAM,KAAK,CAAC,SAAS,EACpC,IAAI,EAAE,kBAAkB,KACrB,KAAK,CAAC,SAAS,CAAC;AAErB,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC5B,IAAI,CAAC;AAEV,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACjD,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAkBD,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAkDxC"}
1
+ {"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../src/renderer/Renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAOL,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAEhB,aAAa,EAEb,aAAa,EACb,UAAU,EACX,MAAM,UAAU,CAAC;AAOlB,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,MAAM,KAAK,CAAC,SAAS,EACpC,IAAI,EAAE,kBAAkB,KACrB,KAAK,CAAC,SAAS,CAAC;AAErB,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC5B,IAAI,CAAC;AAEV,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACjD,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAiBD,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAkExC"}
@@ -1,20 +1,20 @@
1
1
  import React from 'react';
2
2
  import { Text, View, Linking, StyleSheet, } from 'react-native';
3
3
  import { parseHtml } from '../parser/parse';
4
- import { buildRenderTree } from '../render-tree/build';
4
+ import { buildRenderTree, treeContainsTag } from '../render-tree/build';
5
+ import { resolveRootStyle } from '../styles/root';
5
6
  import { splitStyle } from '../styles/split';
6
7
  import { RenderedImage } from './RenderedImage';
7
- const ROOT_STYLE = { color: '#000000', fontSize: 14 };
8
8
  const EMPTY_CUSTOM = {};
9
9
  const EMPTY_RENDERERS_PROPS = {};
10
10
  const EMPTY_TEXT_PROPS = {};
11
11
  const EMPTY_VIEW_PROPS = {};
12
12
  const HEADING_LEVEL = { h1: 1, h2: 2, h3: 3, h4: 4, h5: 5, h6: 6 };
13
13
  export function HtmlRenderer({ html, baseStyle, tagsStyles, classesStyles, idsStyles, stylesheet, customRenderers, customHTMLElementModels, renderersProps, contentWidth, transformDom, onLinkPress, ignoredDomTags, ignoredStyles, defaultTextProps, defaultViewProps, textSelectable, }) {
14
- const tree = React.useMemo(() => {
14
+ const { tree, hasBodyElement } = React.useMemo(() => {
15
15
  const parsed = parseHtml(html);
16
16
  const dom = transformDom ? transformDom(parsed) : parsed;
17
- return buildRenderTree(dom, {
17
+ const builtTree = buildRenderTree(dom, {
18
18
  baseStyle,
19
19
  tagsStyles,
20
20
  classesStyles,
@@ -25,6 +25,10 @@ export function HtmlRenderer({ html, baseStyle, tagsStyles, classesStyles, idsSt
25
25
  customHTMLElementModels,
26
26
  renderersProps,
27
27
  });
28
+ return {
29
+ tree: builtTree,
30
+ hasBodyElement: treeContainsTag(builtTree, 'body'),
31
+ };
28
32
  }, [
29
33
  html,
30
34
  baseStyle,
@@ -51,9 +55,14 @@ export function HtmlRenderer({ html, baseStyle, tagsStyles, classesStyles, idsSt
51
55
  defaultTextProps: mergedTextProps,
52
56
  defaultViewProps: mergedViewProps,
53
57
  };
54
- const parentStyle = { ...ROOT_STYLE, ...(baseStyle ?? {}) };
55
- return (<View {...mergedViewProps}>
56
- {renderBlockChildren(tree, parentStyle, ctx)}
58
+ const rootStyle = React.useMemo(() => resolveRootStyle({ baseStyle, tagsStyles }), [baseStyle, tagsStyles]);
59
+ // A literal <body> element receives tagsStyles.body itself — the root View
60
+ // then takes only the baseStyle box props so padding/background/etc. are
61
+ // not applied twice.
62
+ const rootViewStyle = React.useMemo(() => splitStyle(hasBodyElement ? resolveRootStyle({ baseStyle }) : rootStyle)
63
+ .view, [hasBodyElement, baseStyle, rootStyle]);
64
+ return (<View {...mergedViewProps} style={[mergedViewProps.style, rootViewStyle]}>
65
+ {renderBlockChildren(tree, rootStyle, ctx)}
57
66
  </View>);
58
67
  }
59
68
  function groupBlockChildren(children) {
@@ -119,6 +128,12 @@ function renderBlockDefault(el, key, ctx) {
119
128
  if (el.tag === 'hr') {
120
129
  return (<View key={key} {...ctx.defaultViewProps} style={[styles.hr, vStyle]}/>);
121
130
  }
131
+ // Document containers: plain wrappers without the default block margin.
132
+ if (el.tag === 'html' || el.tag === 'body') {
133
+ return (<View key={key} {...ctx.defaultViewProps} style={vStyle}>
134
+ {renderBlockChildren(el.children, el.style, ctx)}
135
+ </View>);
136
+ }
122
137
  if (el.tag === 'ul' || el.tag === 'ol') {
123
138
  return (<View key={key} {...ctx.defaultViewProps} style={[styles.block, styles.list, vStyle]}>
124
139
  {renderBlockChildren(el.children, el.style, ctx)}
@@ -1 +1 @@
1
- {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../src/renderer/Renderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../src/renderer/Renderer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ResolvedStyle, StyleInput } from '../types';
2
+ /** Default style at the document root — the seed of the inheritance cascade. */
3
+ export declare const ROOT_DEFAULT_STYLE: ResolvedStyle;
4
+ export interface RootStyleOptions {
5
+ baseStyle?: ResolvedStyle;
6
+ tagsStyles?: Record<string, StyleInput>;
7
+ }
8
+ /**
9
+ * Effective document-root style: defaults ← baseStyle ← tagsStyles.body.
10
+ *
11
+ * `tagsStyles.body` contributes here even when the source HTML has no <body>
12
+ * element, as if the content were wrapped in a synthetic body. Inherited text
13
+ * properties cascade into all content; box properties (background, padding,
14
+ * margin, borders) belong on the single root container, which the renderer
15
+ * styles with the view half of this result.
16
+ */
17
+ export declare function resolveRootStyle(options: RootStyleOptions): ResolvedStyle;
18
+ //# sourceMappingURL=root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/styles/root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG1D,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,EAAE,aAGhC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,aAAa,CAOzE"}
@@ -0,0 +1,24 @@
1
+ import { normalizeStyleInput } from './normalize';
2
+ /** Default style at the document root — the seed of the inheritance cascade. */
3
+ export const ROOT_DEFAULT_STYLE = {
4
+ color: '#000000',
5
+ fontSize: 14,
6
+ };
7
+ /**
8
+ * Effective document-root style: defaults ← baseStyle ← tagsStyles.body.
9
+ *
10
+ * `tagsStyles.body` contributes here even when the source HTML has no <body>
11
+ * element, as if the content were wrapped in a synthetic body. Inherited text
12
+ * properties cascade into all content; box properties (background, padding,
13
+ * margin, borders) belong on the single root container, which the renderer
14
+ * styles with the view half of this result.
15
+ */
16
+ export function resolveRootStyle(options) {
17
+ const body = options.tagsStyles?.body;
18
+ return {
19
+ ...ROOT_DEFAULT_STYLE,
20
+ ...(options.baseStyle ?? {}),
21
+ ...(body !== undefined ? normalizeStyleInput(body) : {}),
22
+ };
23
+ }
24
+ //# sourceMappingURL=root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.js","sourceRoot":"","sources":["../../src/styles/root.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,gFAAgF;AAChF,MAAM,CAAC,MAAM,kBAAkB,GAAkB;IAC/C,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,EAAE;CACb,CAAC;AAOF;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAyB;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;IACtC,OAAO;QACL,GAAG,kBAAkB;QACrB,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QAC5B,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nikpnevmatikos/html-renderer",
3
- "version": "0.1.0-alpha.4",
3
+ "version": "0.2.0",
4
4
  "description": "React Native HTML renderer in TypeScript — zero native modules, Fabric/Expo compatible. Supports tagsStyles, stylesheet with CSS selectors, custom renderers, and more.",
5
5
  "author": "NikPnevmatikos",
6
6
  "license": "MIT",