@nikpnevmatikos/html-renderer 0.1.0-alpha.0 → 0.1.0-alpha.3

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
@@ -1,19 +1,279 @@
1
- # @nikpnevmatikos/html-renderer
1
+ # Html-Renderer
2
2
 
3
- Pure-JavaScript HTML renderer for React Native. Fabric/Expo compatible.
3
+ [![npm version](https://img.shields.io/npm/v/@nikpnevmatikos/html-renderer?color=blue&label=npm)](https://www.npmjs.com/package/@nikpnevmatikos/html-renderer)
4
+ [![CI](https://github.com/NikPnevmatikos/Html-Renderer/actions/workflows/ci.yml/badge.svg)](https://github.com/NikPnevmatikos/Html-Renderer/actions/workflows/ci.yml)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
4
6
 
5
- See the [root README](../../README.md) for full documentation.
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
+
9
+ > **Status:** currently in alpha (`0.1.0-alpha.2`). Install with `@alpha` tag — see below.
10
+
11
+ - **Zero native code** — works on iOS, Android, Web (via `react-native-web`), and Expo Go without a dev build.
12
+ - **Fabric (new architecture) compatible** out of the box.
13
+ - **Real CSS stylesheet support** — a `stylesheet` prop that accepts actual CSS with selectors and specificity.
14
+ - Transient render tree model: HTML → DOM → resolved render tree → `<Text>` / `<View>` / `<Image>`.
15
+ - Full style inheritance, CSS cascade, and the box-model basics.
16
+ - Extensible via custom renderers, custom element models, DOM transform hooks, and per-renderer config.
17
+ - 100+ unit tests, typed end-to-end.
6
18
 
7
19
  ## Install
8
20
 
9
21
  ```bash
10
- npm install @nikpnevmatikos/html-renderer
22
+ npm install @nikpnevmatikos/html-renderer@alpha
11
23
  ```
12
24
 
13
- ## Usage
25
+ Peer dependencies: `react >= 18`, `react-native >= 0.73`.
26
+
27
+ ## Quick start
14
28
 
15
29
  ```tsx
16
30
  import { HtmlRenderer } from '@nikpnevmatikos/html-renderer';
17
31
 
18
- <HtmlRenderer html="<p>Hello <strong>world</strong></p>" />;
32
+ export default function Screen() {
33
+ return (
34
+ <HtmlRenderer
35
+ html={`<h1>Hello</h1><p>This is <strong>bold</strong> and <a href="https://x.dev">a link</a>.</p>`}
36
+ />
37
+ );
38
+ }
39
+ ```
40
+
41
+ ## Props
42
+
43
+ | Prop | Type | Description |
44
+ |---|---|---|
45
+ | `html` | `string` | The HTML source to render. |
46
+ | `baseStyle` | `ResolvedStyle` | Root style inherited by all content. |
47
+ | `stylesheet` | `string` | A CSS stylesheet with real selectors (type, class, id, descendant, child). |
48
+ | `tagsStyles` | `Record<tag, StyleInput>` | Per-tag style override (`{ h1: {...} }`). |
49
+ | `classesStyles` | `Record<class, StyleInput>` | Style by `class` attribute. |
50
+ | `idsStyles` | `Record<id, StyleInput>` | Style by `id` attribute. |
51
+ | `customRenderers` | `Record<tag, CustomRenderer>` | Replace or wrap the renderer for any tag. |
52
+ | `customHTMLElementModels` | `Record<tag, HTMLElementModel>` | Define new tags with custom block/inline semantics and default styles. |
53
+ | `renderersProps` | `Record<tag, Record<string, unknown>>` | Per-renderer config. Built-in consumers: `ol.startIndex`, `ul/ol.markerTextStyle`, `img.initialDimensions`. |
54
+ | `contentWidth` | `number` | Max render width. Images wider than this scale down proportionally. |
55
+ | `transformDom` | `(dom: DomNode[]) => DomNode[]` | Runs after parse, before build. Use for sanitization or tag rewrites. |
56
+ | `onLinkPress` | `(href, attribs) => void` | Override the default `Linking.openURL` link handler. |
57
+ | `ignoredDomTags` | `string[]` | Tags to drop during parse (subtree removed). |
58
+ | `ignoredStyles` | `string[]` | CSS properties to drop. Accepts kebab-case (`background-color`) or camelCase (`backgroundColor`). |
59
+ | `defaultTextProps` | `TextProps` | Spread onto every `<Text>`. |
60
+ | `defaultViewProps` | `ViewProps` | Spread onto every `<View>`. |
61
+ | `textSelectable` | `boolean` | Shortcut for `defaultTextProps.selectable = true`. |
62
+
63
+ `StyleInput` is `ResolvedStyle | string` — every style map accepts either an RN-style object *or* a CSS declarations string:
64
+
65
+ ```tsx
66
+ tagsStyles={{
67
+ h1: { color: 'red', fontSize: 24 },
68
+ h2: 'color: blue; font-size: 20px', // CSS string works too
69
+ }}
70
+ ```
71
+
72
+ ## Supported tags
73
+
74
+ **Block:** `p`, `div`, `h1–h6`, `ul`, `ol`, `li`, `pre`, `blockquote`, `hr`, `table`, `thead`, `tbody`, `tfoot`, `tr`, `th`, `td`, `caption`.
75
+
76
+ **Inline:** `span`, `strong`/`b`, `em`/`i`, `u`, `s`/`del`/`strike`, `ins`, `mark`, `small`, `code`, `a`, `br`, `img`.
77
+
78
+ ## Supported CSS
79
+
80
+ - Typography: `color`, `font-size` (px), `font-family`, `font-weight`, `font-style`, `text-align`, `text-decoration`, `line-height` (px)
81
+ - Box model: `margin` (shorthand + individual sides), `padding` (shorthand + individual sides), `background-color`
82
+ - Colors: hex, `rgb()`, `rgba()`, `hsl()`, named (passed through to RN's color system)
83
+ - Units: **`px` only** for now — `em`/`rem`/`%` are not resolved yet
84
+
85
+ ## Examples
86
+
87
+ ### `stylesheet` — real CSS with selectors
88
+
89
+ ```tsx
90
+ const css = `
91
+ article.card {
92
+ background-color: #fafbfc;
93
+ padding: 12px;
94
+ }
95
+ article.card h3 {
96
+ color: #1a73e8;
97
+ }
98
+ .highlight {
99
+ background-color: #fff3a3;
100
+ }
101
+ h1 > span {
102
+ font-weight: bold;
103
+ }
104
+ `;
105
+
106
+ <HtmlRenderer html={html} stylesheet={css} />;
107
+ ```
108
+
109
+ Supports: type (`h1`), class (`.foo`), id (`#bar`), universal (`*`), compound (`h1.big#hero`), descendant (`article span`), child (`h1 > span`), selector lists (`h1, h2`). Specificity and source order work per the CSS spec.
110
+
111
+ Not supported: pseudo-classes, pseudo-elements, attribute selectors, sibling combinators (`+`, `~`), `@media` queries.
112
+
113
+ ### Custom renderer
114
+
115
+ ```tsx
116
+ import { type CustomRenderer } from '@nikpnevmatikos/html-renderer';
117
+
118
+ const customRenderers: Record<string, CustomRenderer> = {
119
+ h1: (node, defaultRender) => (
120
+ <View style={{ borderBottomWidth: 2, borderBottomColor: 'blue' }}>
121
+ {defaultRender()}
122
+ </View>
123
+ ),
124
+ };
125
+
126
+ <HtmlRenderer html={html} customRenderers={customRenderers} />;
127
+ ```
128
+
129
+ ### Custom HTML element models
130
+
131
+ Define your own tags that behave like real HTML:
132
+
133
+ ```tsx
134
+ import { type HTMLElementModel } from '@nikpnevmatikos/html-renderer';
135
+
136
+ const customHTMLElementModels: Record<string, HTMLElementModel> = {
137
+ 'my-card': {
138
+ display: 'block',
139
+ tagDefaultStyle: { backgroundColor: '#eef', padding: 12 },
140
+ },
141
+ 'x-spacer': {
142
+ display: 'block',
143
+ isVoid: true, // ignore any children
144
+ tagDefaultStyle: { height: 20 },
145
+ },
146
+ };
147
+
148
+ <HtmlRenderer
149
+ html="<my-card>hello</my-card>"
150
+ customHTMLElementModels={customHTMLElementModels}
151
+ />;
152
+ ```
153
+
154
+ ### DOM transform hook
155
+
156
+ ```tsx
157
+ import { type TransformDom } from '@nikpnevmatikos/html-renderer';
158
+
159
+ const sanitize: TransformDom = (dom) => walk(dom);
160
+
161
+ function walk(nodes) {
162
+ return nodes.map((n) => {
163
+ if (n.type === 'element') {
164
+ return { ...n, attribs: { ...n.attribs, onclick: '' }, children: walk(n.children) };
165
+ }
166
+ return n;
167
+ });
168
+ }
169
+
170
+ <HtmlRenderer html={html} transformDom={sanitize} />;
171
+ ```
172
+
173
+ ### Link handling
174
+
175
+ ```tsx
176
+ import { type OnLinkPress } from '@nikpnevmatikos/html-renderer';
177
+
178
+ const onLinkPress: OnLinkPress = (href, attribs) => {
179
+ if (attribs.target === '_blank') {
180
+ void Linking.openURL(href);
181
+ } else {
182
+ navigation.navigate('InAppBrowser', { url: href });
183
+ }
184
+ };
185
+
186
+ <HtmlRenderer html={html} onLinkPress={onLinkPress} />;
187
+ ```
188
+
189
+ ### Auto-fit images
190
+
191
+ ```tsx
192
+ import { Dimensions } from 'react-native';
193
+
194
+ const contentWidth = Dimensions.get('window').width - 32;
195
+
196
+ <HtmlRenderer html={html} contentWidth={contentWidth} />;
197
+ ```
198
+
199
+ ### Renderers props (per-renderer config)
200
+
201
+ ```tsx
202
+ <HtmlRenderer
203
+ html={html}
204
+ renderersProps={{
205
+ ol: { startIndex: 5, markerTextStyle: { color: '#888' } },
206
+ ul: { markerTextStyle: { color: 'red' } },
207
+ img: { initialDimensions: { width: 300, height: 200 } },
208
+ }}
209
+ />
210
+ ```
211
+
212
+ ## Cascade order
213
+
214
+ From lowest to highest priority:
215
+
19
216
  ```
217
+ 1. baseStyle (HtmlRenderer prop — root defaults)
218
+ 2. Built-in tag defaults (h1 bold, strong bold, etc.)
219
+ 3. stylesheet matches (by selector specificity + source order)
220
+ 4. tagsStyles (per-tag programmatic override)
221
+ 5. classesStyles (by matched class)
222
+ 6. idsStyles (by matched id)
223
+ 7. Inline style="..." (highest — HTML inline always wins)
224
+ ```
225
+
226
+ ## How it works
227
+
228
+ ```
229
+ HTML string
230
+ └─ parseHtml (htmlparser2) → DOM tree
231
+ └─ transformDom? (optional) → DOM tree
232
+ └─ buildRenderTree → Render tree
233
+ └─ resolveStyles (full cascade per element)
234
+ └─ hoistBlocks (fragment inline-wrapping-block)
235
+ └─ collapseWhitespace (CSS whitespace rules)
236
+ └─ Renderer → <View> / <Text> / <Image>
237
+ ```
238
+
239
+ Styles resolve at build time into a single `ResolvedStyle` per element. At render time, `splitStyle` partitions each style into View-applicable and Text-applicable halves and applies them to the correct component.
240
+
241
+ ## Current limitations
242
+
243
+ Actively on the roadmap:
244
+
245
+ - **No `rowspan`** on tables (colspan works).
246
+ - **CSS units** beyond `px` — `em`, `rem`, `%` not resolved yet.
247
+ - **Forms** — `<input>`, `<textarea>`, `<button>`, `<select>` not yet rendered (planned for core, pure-JS via RN's `TextInput` / `Pressable`).
248
+ - **Stylesheet features** — pseudo-classes (`:first-child`, `:nth-child`), attribute selectors (`[type="text"]`), and `@media` queries not yet supported.
249
+ - **Advanced CSS** — transforms, opacity, individual `border-*` sides, `border-radius`, flex/grid display modes.
250
+ - **Intrinsic table column widths** — columns render equal-width (`flex: 1`); `width` on `<col>` / cells is ignored.
251
+
252
+ ## Plugin packages (planned)
253
+
254
+ Features that need native dependencies ship as separate packages so the core stays zero-native-modules. Each uses the core's `customRenderers` and `customHTMLElementModels` APIs — no core changes needed to add them.
255
+
256
+ | Tags | Planned package | Native peer dep |
257
+ |---|---|---|
258
+ | `<iframe>` | `@nikpnevmatikos/html-renderer-webview` | `react-native-webview` |
259
+ | `<video>`, `<audio>` | `@nikpnevmatikos/html-renderer-video` | `expo-video` or `react-native-video` |
260
+ | `<svg>` | `@nikpnevmatikos/html-renderer-svg` | `react-native-svg` |
261
+
262
+ Until these ship, you can wire any of these tags yourself via `customRenderers` — the same API the plugins will use. See the "Custom renderer" and "Custom HTML element models" examples above.
263
+
264
+ ## Development
265
+
266
+ ```bash
267
+ npm install # installs all workspace deps
268
+ npm run dev # tsc --watch on core
269
+ npm test # jest — 100+ tests
270
+ npm run typecheck # tsc --noEmit on core
271
+ npm run build # build core to dist
272
+
273
+ # live example app
274
+ cd example && npm start
275
+ ```
276
+
277
+ ## License
278
+
279
+ MIT — see [LICENSE](./LICENSE).
@@ -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;AA6ElB,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;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"}
@@ -27,7 +27,50 @@ const BLOCK_TAGS = new Set([
27
27
  'th',
28
28
  'td',
29
29
  'caption',
30
+ 'article',
31
+ 'aside',
32
+ 'header',
33
+ 'footer',
34
+ 'main',
35
+ 'nav',
36
+ 'section',
37
+ 'figure',
38
+ 'figcaption',
39
+ 'address',
40
+ 'dl',
41
+ 'dt',
42
+ 'dd',
30
43
  ]);
44
+ const KNOWN_TAGS = new Set([
45
+ // block / sectioning
46
+ 'p', 'div', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
47
+ 'ul', 'ol', 'li', 'pre', 'blockquote', 'hr',
48
+ 'article', 'aside', 'footer', 'header', 'main', 'nav', 'section',
49
+ 'address', 'figure', 'figcaption', 'dl', 'dt', 'dd',
50
+ // tables
51
+ 'table', 'thead', 'tbody', 'tfoot', 'tr', 'th', 'td', 'caption',
52
+ 'col', 'colgroup',
53
+ // inline / phrasing
54
+ 'a', 'abbr', 'b', 'bdi', 'bdo', 'br', 'cite', 'code',
55
+ 'data', 'dfn', 'em', 'i', 'kbd', 'mark', 'q',
56
+ 's', 'samp', 'small', 'span', 'strong', 'sub', 'sup',
57
+ 'time', 'u', 'var', 'wbr',
58
+ 'del', 'ins', 'strike', 'big', 'tt', 'font',
59
+ // embedded
60
+ 'img', 'audio', 'video', 'picture', 'source', 'track',
61
+ // document root (defensive — full-doc HTML)
62
+ 'html', 'head', 'body',
63
+ ]);
64
+ const warnedTags = new Set();
65
+ function warnUnsupportedTag(tag) {
66
+ if (warnedTags.has(tag))
67
+ return;
68
+ warnedTags.add(tag);
69
+ // eslint-disable-next-line no-console
70
+ console.warn(`[html-renderer] The "${tag}" tag is a valid HTML element but is not handled by this library. ` +
71
+ `Add it to "customHTMLElementModels" to specify how it should be rendered, ` +
72
+ `or to "ignoredDomTags" to skip it.`);
73
+ }
31
74
  const INHERITED_PROPS = [
32
75
  'color',
33
76
  'fontSize',
@@ -35,6 +78,8 @@ const INHERITED_PROPS = [
35
78
  'fontWeight',
36
79
  'fontStyle',
37
80
  'textAlign',
81
+ 'textTransform',
82
+ 'letterSpacing',
38
83
  'textDecorationLine',
39
84
  'lineHeight',
40
85
  ];
@@ -134,6 +179,9 @@ function buildElement(el, inherited, preserveWhitespace, ctx, ancestors) {
134
179
  return buildImage(el);
135
180
  }
136
181
  const customModel = ctx.customHTMLElementModels[el.name];
182
+ if (!customModel && !KNOWN_TAGS.has(el.name)) {
183
+ warnUnsupportedTag(el.name);
184
+ }
137
185
  const tagDefault = resolveTagDefault(el.name, customModel);
138
186
  const elInfo = {
139
187
  tag: el.name,
@@ -155,6 +203,7 @@ function buildElement(el, inherited, preserveWhitespace, ctx, ancestors) {
155
203
  const childPreserve = preserveWhitespace || el.name === 'pre';
156
204
  const isVoid = customModel?.isVoid === true;
157
205
  const childAncestors = [...ancestors, elInfo];
206
+ const inheritedForChildren = pickInherited(resolved);
158
207
  const element = {
159
208
  kind: 'element',
160
209
  tag: el.name,
@@ -163,7 +212,7 @@ function buildElement(el, inherited, preserveWhitespace, ctx, ancestors) {
163
212
  children: isVoid
164
213
  ? []
165
214
  : el.children
166
- .map((c) => buildNode(c, resolved, childPreserve, ctx, childAncestors))
215
+ .map((c) => buildNode(c, inheritedForChildren, childPreserve, ctx, childAncestors))
167
216
  .filter((c) => c !== null),
168
217
  };
169
218
  if (el.name === 'a') {
@@ -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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"}
@@ -14,6 +14,29 @@ export function parseInlineStyle(styleAttr) {
14
14
  }
15
15
  return result;
16
16
  }
17
+ const FONT_SIZE_KEYWORDS = {
18
+ 'xx-small': 9,
19
+ 'x-small': 10,
20
+ small: 13,
21
+ medium: 16,
22
+ large: 18,
23
+ 'x-large': 24,
24
+ 'xx-large': 32,
25
+ smaller: 12,
26
+ larger: 16,
27
+ };
28
+ const BORDER_STYLES = new Set([
29
+ 'none',
30
+ 'solid',
31
+ 'dashed',
32
+ 'dotted',
33
+ 'double',
34
+ 'groove',
35
+ 'ridge',
36
+ 'inset',
37
+ 'outset',
38
+ 'hidden',
39
+ ]);
17
40
  function applyCssProperty(out, prop, value) {
18
41
  switch (prop) {
19
42
  case 'color':
@@ -23,21 +46,48 @@ function applyCssProperty(out, prop, value) {
23
46
  case 'background':
24
47
  out.backgroundColor = value;
25
48
  return;
49
+ case 'opacity': {
50
+ const n = parseFloat(value);
51
+ if (!isNaN(n))
52
+ out.opacity = n;
53
+ return;
54
+ }
26
55
  case 'font-size': {
56
+ const kw = FONT_SIZE_KEYWORDS[value.trim().toLowerCase()];
57
+ if (kw !== undefined) {
58
+ out.fontSize = kw;
59
+ return;
60
+ }
27
61
  const px = parsePx(value);
28
62
  if (px !== null)
29
63
  out.fontSize = px;
30
64
  return;
31
65
  }
32
66
  case 'line-height': {
67
+ const trimmed = value.trim();
68
+ const unitless = /^-?\d+(?:\.\d+)?$/.exec(trimmed);
69
+ if (unitless) {
70
+ out.lineHeight = parseFloat(unitless[0]) * EM_BASE_PX;
71
+ return;
72
+ }
33
73
  const px = parsePx(value);
34
74
  if (px !== null)
35
75
  out.lineHeight = px;
36
76
  return;
37
77
  }
78
+ case 'letter-spacing': {
79
+ const px = parsePx(value);
80
+ if (px !== null)
81
+ out.letterSpacing = px;
82
+ return;
83
+ }
38
84
  case 'font-family':
39
85
  out.fontFamily = stripFontFamilyQuotes(value);
40
86
  return;
87
+ case 'display':
88
+ if (value === 'none' || value === 'flex')
89
+ out.display = value;
90
+ return;
41
91
  case 'font-weight': {
42
92
  if (value === 'bold' || value === 'normal') {
43
93
  out.fontWeight = value;
@@ -60,6 +110,16 @@ function applyCssProperty(out, prop, value) {
60
110
  out.textAlign = value;
61
111
  }
62
112
  return;
113
+ case 'text-transform': {
114
+ const v = value.trim().toLowerCase();
115
+ if (v === 'none' ||
116
+ v === 'uppercase' ||
117
+ v === 'lowercase' ||
118
+ v === 'capitalize') {
119
+ out.textTransform = v;
120
+ }
121
+ return;
122
+ }
63
123
  case 'text-decoration':
64
124
  case 'text-decoration-line': {
65
125
  const hasUnderline = value.includes('underline');
@@ -108,10 +168,95 @@ function applyCssProperty(out, prop, value) {
108
168
  case 'padding-right':
109
169
  setPx(out, 'paddingRight', value);
110
170
  return;
171
+ case 'border':
172
+ applyBorderShorthand(out, value, null);
173
+ return;
174
+ case 'border-top':
175
+ applyBorderShorthand(out, value, 'Top');
176
+ return;
177
+ case 'border-right':
178
+ applyBorderShorthand(out, value, 'Right');
179
+ return;
180
+ case 'border-bottom':
181
+ applyBorderShorthand(out, value, 'Bottom');
182
+ return;
183
+ case 'border-left':
184
+ applyBorderShorthand(out, value, 'Left');
185
+ return;
186
+ case 'border-width':
187
+ applySidesShorthand(out, value, 'Width', parsePx);
188
+ return;
189
+ case 'border-color':
190
+ applySidesShorthand(out, value, 'Color', (v) => v);
191
+ return;
192
+ case 'border-style': {
193
+ const v = value.trim().toLowerCase();
194
+ if (v === 'solid' || v === 'dashed' || v === 'dotted') {
195
+ out.borderStyle = v;
196
+ }
197
+ return;
198
+ }
199
+ case 'border-top-width':
200
+ setPx(out, 'borderTopWidth', value);
201
+ return;
202
+ case 'border-right-width':
203
+ setPx(out, 'borderRightWidth', value);
204
+ return;
205
+ case 'border-bottom-width':
206
+ setPx(out, 'borderBottomWidth', value);
207
+ return;
208
+ case 'border-left-width':
209
+ setPx(out, 'borderLeftWidth', value);
210
+ return;
211
+ case 'border-top-color':
212
+ out.borderTopColor = value;
213
+ return;
214
+ case 'border-right-color':
215
+ out.borderRightColor = value;
216
+ return;
217
+ case 'border-bottom-color':
218
+ out.borderBottomColor = value;
219
+ return;
220
+ case 'border-left-color':
221
+ out.borderLeftColor = value;
222
+ return;
223
+ case 'border-radius':
224
+ applyBorderRadiusShorthand(out, value);
225
+ return;
226
+ case 'border-top-left-radius':
227
+ setPx(out, 'borderTopLeftRadius', value);
228
+ return;
229
+ case 'border-top-right-radius':
230
+ setPx(out, 'borderTopRightRadius', value);
231
+ return;
232
+ case 'border-bottom-left-radius':
233
+ setPx(out, 'borderBottomLeftRadius', value);
234
+ return;
235
+ case 'border-bottom-right-radius':
236
+ setPx(out, 'borderBottomRightRadius', value);
237
+ return;
238
+ case 'width':
239
+ setDimension(out, 'width', value);
240
+ return;
241
+ case 'min-width':
242
+ setDimension(out, 'minWidth', value);
243
+ return;
244
+ case 'max-width':
245
+ setDimension(out, 'maxWidth', value);
246
+ return;
247
+ case 'height':
248
+ setDimension(out, 'height', value);
249
+ return;
250
+ case 'min-height':
251
+ setDimension(out, 'minHeight', value);
252
+ return;
253
+ case 'max-height':
254
+ setDimension(out, 'maxHeight', value);
255
+ return;
111
256
  }
112
257
  }
113
258
  function applyBoxShorthand(out, prop, value) {
114
- const parts = value.split(/\s+/).map(parsePx);
259
+ const parts = tokenize(value).map(parsePx);
115
260
  if (parts.some((p) => p === null))
116
261
  return;
117
262
  const [a, b, c, d] = parts;
@@ -151,19 +296,176 @@ function applyBoxShorthand(out, prop, value) {
151
296
  out.paddingLeft = left;
152
297
  }
153
298
  }
299
+ function applySidesShorthand(out, value, suffix, parser) {
300
+ const parts = tokenize(value).map(parser);
301
+ if (parts.some((p) => p === null || p === undefined))
302
+ return;
303
+ const [a, b, c, d] = parts;
304
+ let top, right, bottom, left;
305
+ switch (parts.length) {
306
+ case 1:
307
+ top = right = bottom = left = a;
308
+ break;
309
+ case 2:
310
+ top = bottom = a;
311
+ right = left = b;
312
+ break;
313
+ case 3:
314
+ top = a;
315
+ right = left = b;
316
+ bottom = c;
317
+ break;
318
+ case 4:
319
+ top = a;
320
+ right = b;
321
+ bottom = c;
322
+ left = d;
323
+ break;
324
+ default:
325
+ return;
326
+ }
327
+ out[`borderTop${suffix}`] = top;
328
+ out[`borderRight${suffix}`] = right;
329
+ out[`borderBottom${suffix}`] = bottom;
330
+ out[`borderLeft${suffix}`] = left;
331
+ }
332
+ function applyBorderShorthand(out, value, side) {
333
+ const tokens = tokenize(value);
334
+ let width;
335
+ let style;
336
+ let color;
337
+ for (const tok of tokens) {
338
+ const lower = tok.toLowerCase();
339
+ if (BORDER_STYLES.has(lower)) {
340
+ style = lower;
341
+ continue;
342
+ }
343
+ const px = parsePx(tok);
344
+ if (px !== null && width === undefined) {
345
+ width = px;
346
+ continue;
347
+ }
348
+ if (color === undefined)
349
+ color = tok;
350
+ }
351
+ if (side === null) {
352
+ if (width !== undefined) {
353
+ out.borderTopWidth = width;
354
+ out.borderRightWidth = width;
355
+ out.borderBottomWidth = width;
356
+ out.borderLeftWidth = width;
357
+ out.borderWidth = width;
358
+ }
359
+ if (color !== undefined) {
360
+ out.borderTopColor = color;
361
+ out.borderRightColor = color;
362
+ out.borderBottomColor = color;
363
+ out.borderLeftColor = color;
364
+ out.borderColor = color;
365
+ }
366
+ }
367
+ else {
368
+ if (width !== undefined) {
369
+ out[`border${side}Width`] = width;
370
+ }
371
+ if (color !== undefined) {
372
+ out[`border${side}Color`] = color;
373
+ }
374
+ }
375
+ if (style === 'solid' || style === 'dashed' || style === 'dotted') {
376
+ out.borderStyle = style;
377
+ }
378
+ }
379
+ function applyBorderRadiusShorthand(out, value) {
380
+ const parts = tokenize(value).map(parsePx);
381
+ if (parts.some((p) => p === null))
382
+ return;
383
+ const [a, b, c, d] = parts;
384
+ let tl, tr, br, bl;
385
+ switch (parts.length) {
386
+ case 1:
387
+ out.borderRadius = a;
388
+ return;
389
+ case 2:
390
+ tl = br = a;
391
+ tr = bl = b;
392
+ break;
393
+ case 3:
394
+ tl = a;
395
+ tr = bl = b;
396
+ br = c;
397
+ break;
398
+ case 4:
399
+ tl = a;
400
+ tr = b;
401
+ br = c;
402
+ bl = d;
403
+ break;
404
+ default:
405
+ return;
406
+ }
407
+ out.borderTopLeftRadius = tl;
408
+ out.borderTopRightRadius = tr;
409
+ out.borderBottomRightRadius = br;
410
+ out.borderBottomLeftRadius = bl;
411
+ }
154
412
  function setPx(out, key, value) {
155
413
  const px = parsePx(value);
156
414
  if (px !== null)
157
415
  out[key] = px;
158
416
  }
417
+ function setDimension(out, key, value) {
418
+ const dim = parseDimension(value);
419
+ if (dim !== null)
420
+ out[key] = dim;
421
+ }
422
+ function parseDimension(value) {
423
+ const trimmed = value.trim();
424
+ if (/^-?\d+(?:\.\d+)?%$/.test(trimmed))
425
+ return trimmed;
426
+ return parsePx(trimmed);
427
+ }
159
428
  function stripFontFamilyQuotes(value) {
160
429
  const first = value.split(',')[0].trim();
161
430
  return first.replace(/^["']|["']$/g, '');
162
431
  }
432
+ const EM_BASE_PX = 14;
163
433
  function parsePx(value) {
164
- const match = /^(-?\d+(?:\.\d+)?)\s*(px)?$/.exec(value);
434
+ const match = /^(-?\d+(?:\.\d+)?)\s*(px|em|rem)?$/.exec(value);
165
435
  if (!match)
166
436
  return null;
167
- return parseFloat(match[1]);
437
+ const n = parseFloat(match[1]);
438
+ const unit = match[2];
439
+ if (unit === 'em' || unit === 'rem') {
440
+ return n * EM_BASE_PX;
441
+ }
442
+ return n;
443
+ }
444
+ function tokenize(value) {
445
+ const tokens = [];
446
+ let depth = 0;
447
+ let cur = '';
448
+ for (const ch of value) {
449
+ if (ch === '(') {
450
+ depth++;
451
+ cur += ch;
452
+ }
453
+ else if (ch === ')') {
454
+ depth--;
455
+ cur += ch;
456
+ }
457
+ else if (/\s/.test(ch) && depth === 0) {
458
+ if (cur) {
459
+ tokens.push(cur);
460
+ cur = '';
461
+ }
462
+ }
463
+ else {
464
+ cur += ch;
465
+ }
466
+ }
467
+ if (cur)
468
+ tokens.push(cur);
469
+ return tokens;
168
470
  }
169
471
  //# sourceMappingURL=parse-inline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-inline.js","sourceRoot":"","sources":["../../src/styles/parse-inline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-inline.js","sourceRoot":"","sources":["../../src/styles/parse-inline.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../src/styles/split.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAY,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAkCxE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAqB3D"}
1
+ {"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../src/styles/split.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAY,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AA2DxE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAyB3D"}
@@ -9,9 +9,12 @@ const TEXT_KEYS = [
9
9
  'fontStyle',
10
10
  'textDecorationLine',
11
11
  'textAlign',
12
+ 'textTransform',
13
+ 'letterSpacing',
12
14
  'lineHeight',
13
15
  ];
14
16
  const VIEW_KEYS = [
17
+ 'display',
15
18
  'margin',
16
19
  'marginHorizontal',
17
20
  'marginVertical',
@@ -26,6 +29,28 @@ const VIEW_KEYS = [
26
29
  'paddingBottom',
27
30
  'paddingLeft',
28
31
  'paddingRight',
32
+ 'borderRadius',
33
+ 'borderTopLeftRadius',
34
+ 'borderTopRightRadius',
35
+ 'borderBottomLeftRadius',
36
+ 'borderBottomRightRadius',
37
+ 'borderWidth',
38
+ 'borderTopWidth',
39
+ 'borderRightWidth',
40
+ 'borderBottomWidth',
41
+ 'borderLeftWidth',
42
+ 'borderColor',
43
+ 'borderTopColor',
44
+ 'borderRightColor',
45
+ 'borderBottomColor',
46
+ 'borderLeftColor',
47
+ 'borderStyle',
48
+ 'width',
49
+ 'minWidth',
50
+ 'maxWidth',
51
+ 'height',
52
+ 'minHeight',
53
+ 'maxHeight',
29
54
  ];
30
55
  export function splitStyle(style) {
31
56
  const view = {};
@@ -47,6 +72,10 @@ export function splitStyle(style) {
47
72
  view.backgroundColor = style.backgroundColor;
48
73
  text.backgroundColor = style.backgroundColor;
49
74
  }
75
+ if (style.opacity !== undefined) {
76
+ view.opacity = style.opacity;
77
+ text.opacity = style.opacity;
78
+ }
50
79
  return { view, text };
51
80
  }
52
81
  //# sourceMappingURL=split.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"split.js","sourceRoot":"","sources":["../../src/styles/split.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAkC,MAAM,cAAc,CAAC;AAExE,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAC7E,WAAW,CAAC;AAEd,MAAM,SAAS,GAAG;IAChB,OAAO;IACP,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,oBAAoB;IACpB,WAAW;IACX,YAAY;CACJ,CAAC;AAEX,MAAM,SAAS,GAAG;IAChB,QAAQ;IACR,kBAAkB;IAClB,gBAAgB;IAChB,WAAW;IACX,cAAc;IACd,YAAY;IACZ,aAAa;IACb,SAAS;IACT,mBAAmB;IACnB,iBAAiB;IACjB,YAAY;IACZ,eAAe;IACf,aAAa;IACb,cAAc;CACN,CAAC;AAOX,MAAM,UAAU,UAAU,CAAC,KAAoB;IAC7C,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAc,EAAE,CAAC;IAE3B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,SAAS;YAAG,IAAgC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;IAChC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,SAAS;YAAG,IAAgC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;IAC/C,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"split.js","sourceRoot":"","sources":["../../src/styles/split.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAkC,MAAM,cAAc,CAAC;AAExE,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAC7E,WAAW,CAAC;AAEd,MAAM,SAAS,GAAG;IAChB,OAAO;IACP,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,oBAAoB;IACpB,WAAW;IACX,eAAe;IACf,eAAe;IACf,YAAY;CACJ,CAAC;AAEX,MAAM,SAAS,GAAG;IAChB,SAAS;IACT,QAAQ;IACR,kBAAkB;IAClB,gBAAgB;IAChB,WAAW;IACX,cAAc;IACd,YAAY;IACZ,aAAa;IACb,SAAS;IACT,mBAAmB;IACnB,iBAAiB;IACjB,YAAY;IACZ,eAAe;IACf,aAAa;IACb,cAAc;IACd,cAAc;IACd,qBAAqB;IACrB,sBAAsB;IACtB,wBAAwB;IACxB,yBAAyB;IACzB,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,aAAa;IACb,OAAO;IACP,UAAU;IACV,UAAU;IACV,QAAQ;IACR,WAAW;IACX,WAAW;CACH,CAAC;AAOX,MAAM,UAAU,UAAU,CAAC,KAAoB;IAC7C,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAc,EAAE,CAAC;IAE3B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,SAAS;YAAG,IAAgC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;IAChC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,SAAS;YAAG,IAAgC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;IAC/C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -17,8 +17,12 @@ export interface ResolvedStyle {
17
17
  fontStyle?: 'normal' | 'italic';
18
18
  textDecorationLine?: 'none' | 'underline' | 'line-through' | 'underline line-through';
19
19
  textAlign?: 'auto' | 'left' | 'right' | 'center' | 'justify';
20
+ textTransform?: 'none' | 'uppercase' | 'lowercase' | 'capitalize';
21
+ letterSpacing?: number;
20
22
  lineHeight?: number;
21
23
  backgroundColor?: string;
24
+ opacity?: number;
25
+ display?: 'flex' | 'none';
22
26
  margin?: number;
23
27
  marginHorizontal?: number;
24
28
  marginVertical?: number;
@@ -33,6 +37,28 @@ export interface ResolvedStyle {
33
37
  paddingBottom?: number;
34
38
  paddingLeft?: number;
35
39
  paddingRight?: number;
40
+ borderRadius?: number;
41
+ borderTopLeftRadius?: number;
42
+ borderTopRightRadius?: number;
43
+ borderBottomLeftRadius?: number;
44
+ borderBottomRightRadius?: number;
45
+ borderWidth?: number;
46
+ borderTopWidth?: number;
47
+ borderRightWidth?: number;
48
+ borderBottomWidth?: number;
49
+ borderLeftWidth?: number;
50
+ borderColor?: string;
51
+ borderTopColor?: string;
52
+ borderRightColor?: string;
53
+ borderBottomColor?: string;
54
+ borderLeftColor?: string;
55
+ borderStyle?: 'solid' | 'dashed' | 'dotted';
56
+ width?: number | string;
57
+ minWidth?: number | string;
58
+ maxWidth?: number | string;
59
+ height?: number | string;
60
+ minHeight?: number | string;
61
+ maxHeight?: number | string;
36
62
  }
37
63
  export type RenderNode = RenderElement | RenderText | RenderImage;
38
64
  export interface RenderElement {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nikpnevmatikos/html-renderer",
3
- "version": "0.1.0-alpha.0",
3
+ "version": "0.1.0-alpha.3",
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",