react-native-enriched-html 1.1.0 → 1.2.0-nightly-20260806-0fdac7a45

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.
@@ -491,7 +491,12 @@ static void emit_attributes(GumboElement *el, const char *tag_name,
491
491
  if (strcmp(tag_name, "a") == 0) {
492
492
  emit_one_attr(out, el, "href");
493
493
  } else if (strcmp(tag_name, "img") == 0) {
494
- emit_one_attr(out, el, "src");
494
+ const char *src_val = get_attr(el, "src");
495
+ if (src_val && src_val[0]) {
496
+ emit_one_attr(out, el, "src");
497
+ } else {
498
+ buffer_append_str(out, " src=\"\"");
499
+ }
495
500
  emit_one_attr(out, el, "alt");
496
501
  emit_one_attr(out, el, "width");
497
502
  emit_one_attr(out, el, "height");
@@ -282,6 +282,11 @@ TEST(GumboParserTest, EnrichedTagRemappings) {
282
282
  EXPECT_EQ(
283
283
  GumboParser::normalizeHtml("<img src='x' width='100' height='100' />"),
284
284
  "<img src=\"x\" width=\"100\" height=\"100\" />");
285
+ EXPECT_EQ(GumboParser::normalizeHtml("<img width=\"100\" height=\"100\" />"),
286
+ "<img src=\"\" width=\"100\" height=\"100\" />");
287
+ EXPECT_EQ(GumboParser::normalizeHtml(
288
+ "<img src=\"\" width=\"100\" height=\"100\" />"),
289
+ "<img src=\"\" width=\"100\" height=\"100\" />");
285
290
 
286
291
  // Lists
287
292
  EXPECT_EQ(GumboParser::normalizeHtml("<ul><li>x</li></ul>"),
@@ -670,7 +670,7 @@
670
670
  [styleArr addObject:@([ItalicStyle getType])];
671
671
  } else if ([tagName isEqualToString:@"img"]) {
672
672
  NSRegularExpression *srcRegex =
673
- [NSRegularExpression regularExpressionWithPattern:@"src=\"([^\"]+)\""
673
+ [NSRegularExpression regularExpressionWithPattern:@"src=\"([^\"]*)\""
674
674
  options:0
675
675
  error:nullptr];
676
676
  NSTextCheckingResult *match =
@@ -366,7 +366,9 @@
366
366
  vertical-align: text-bottom;
367
367
  }
368
368
 
369
- .et-view img.error {
369
+ .et-view img.error,
370
+ .et-view img:not([src]),
371
+ .et-view img[src=""] {
370
372
  content: linear-gradient(transparent, transparent);
371
373
  background-color: currentColor;
372
374
  -webkit-mask: var(--et-broken-image-glyph) no-repeat center / contain;
@@ -172,7 +172,7 @@ function emitAttributes(el, name) {
172
172
  case 'a':
173
173
  return emitOneAttr(el, 'href');
174
174
  case 'img':
175
- return emitOneAttr(el, 'src') + emitOneAttr(el, 'alt') + emitOneAttr(el, 'width') + emitOneAttr(el, 'height');
175
+ return (el.getAttribute('src') ? emitOneAttr(el, 'src') : ' src=""') + emitOneAttr(el, 'alt') + emitOneAttr(el, 'width') + emitOneAttr(el, 'height');
176
176
  case 'ul':
177
177
  return (isCheckboxList(el) ? ' data-type="checkbox"' : '') + emitAlignment(el, name);
178
178
  case 'li':
@@ -1 +1 @@
1
- {"version":3,"names":["INLINE_TAGS","Set","BLOCK_TAGS","SELF_CLOSING_TAGS","PASS_TAGS","STRIPPED_TAGS","TABLE_TAGS","canonicalName","name","classifyTag","has","isElement","node","nodeType","Node","ELEMENT_NODE","isText","TEXT_NODE","tagName","toLowerCase","isListNode","n","isBlockquoteNode","isBrNode","isBlockProducing","isPurelyInline","child","Array","from","childNodes","hasBlockOrBqChild","findCssValue","style","prop","re","RegExp","replace","m","exec","trim","findAllCssValues","out","push","parseCssStyle","result","bold","italic","underline","strikethrough","fw","lower","includes","num","parseInt","Number","isNaN","fs","decorations","v","extraStyles","s","tag","emitStylesOpen","emitStylesClose","ALIGN_TAGS","ALIGN_VALUES","emitAlignment","el","align","getAttribute","emitOneAttr","attr","val","escaped","escapeText","emitAttributes","isCheckboxList","isChecked","hasAttribute","attributes","firstLi","children","find","c","role","className","isGoogleDocsWrapper","id","startsWith","length","match","isWhitespaceOnly","value","i","charCodeAt","flushInlineP","ib","attrs","emitted","buf","flattenBqChildren","flattenBqNode","t","textContent","walkNode","flushLiBuffer","ctx","styles","hasEmitted","flattenLiChildren","flattenLiNode","nestedLists","walkChildren","parentIsList","hasBlock","bqIb","cur","outName","cls","pb","dc","sib","nextSibling","row","es","liIb","nl","wrap","normalizeHtml","html","parser","DOMParser","doc","parseFromString","body"],"sourceRoot":"../../../../src","sources":["web/normalization/htmlNormalizer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["INLINE_TAGS","Set","BLOCK_TAGS","SELF_CLOSING_TAGS","PASS_TAGS","STRIPPED_TAGS","TABLE_TAGS","canonicalName","name","classifyTag","has","isElement","node","nodeType","Node","ELEMENT_NODE","isText","TEXT_NODE","tagName","toLowerCase","isListNode","n","isBlockquoteNode","isBrNode","isBlockProducing","isPurelyInline","child","Array","from","childNodes","hasBlockOrBqChild","findCssValue","style","prop","re","RegExp","replace","m","exec","trim","findAllCssValues","out","push","parseCssStyle","result","bold","italic","underline","strikethrough","fw","lower","includes","num","parseInt","Number","isNaN","fs","decorations","v","extraStyles","s","tag","emitStylesOpen","emitStylesClose","ALIGN_TAGS","ALIGN_VALUES","emitAlignment","el","align","getAttribute","emitOneAttr","attr","val","escaped","escapeText","emitAttributes","isCheckboxList","isChecked","hasAttribute","attributes","firstLi","children","find","c","role","className","isGoogleDocsWrapper","id","startsWith","length","match","isWhitespaceOnly","value","i","charCodeAt","flushInlineP","ib","attrs","emitted","buf","flattenBqChildren","flattenBqNode","t","textContent","walkNode","flushLiBuffer","ctx","styles","hasEmitted","flattenLiChildren","flattenLiNode","nestedLists","walkChildren","parentIsList","hasBlock","bqIb","cur","outName","cls","pb","dc","sib","nextSibling","row","es","liIb","nl","wrap","normalizeHtml","html","parser","DOMParser","doc","parseFromString","body"],"sourceRoot":"../../../../src","sources":["web/normalization/htmlNormalizer.ts"],"mappings":"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","ignoreList":[]}
@@ -3,13 +3,18 @@
3
3
  import DOMPurify from 'dompurify';
4
4
  const MENTION_ATTRS = ['text', 'indicator'];
5
5
 
6
+ // Non-URL <img> attributes we emit. They must be listed as "URI safe" because
7
+ // DOMPurify validates every attribute value that isn't in its built-in
8
+ // URI_SAFE_ATTRIBUTES set against ALLOWED_URI_REGEXP.
9
+ const IMG_DIMENSION_ATTRS = ['width', 'height'];
10
+
6
11
  // Attributes DOMPurify keeps by default and are commonly used, so we don't emit an unnecessary warning
7
12
  const COMMONLY_ALLOWED_ATTRS = ['id', 'class', 'style'];
8
13
  export function sanitizeHtml(html, config) {
9
14
  return DOMPurify.sanitize(html, {
10
15
  ADD_TAGS: ['mention', 'codeblock'],
11
16
  ADD_ATTR: MENTION_ATTRS,
12
- ADD_URI_SAFE_ATTR: MENTION_ATTRS,
17
+ ADD_URI_SAFE_ATTR: [...MENTION_ATTRS, ...IMG_DIMENSION_ATTRS],
13
18
  // if not supplied, fall back to DOMPurify's built-in default.
14
19
  ...(config?.linkRegex ? {
15
20
  ALLOWED_URI_REGEXP: config.linkRegex
@@ -1 +1 @@
1
- {"version":3,"names":["DOMPurify","MENTION_ATTRS","COMMONLY_ALLOWED_ATTRS","sanitizeHtml","html","config","sanitize","ADD_TAGS","ADD_ATTR","ADD_URI_SAFE_ATTR","linkRegex","ALLOWED_URI_REGEXP","sanitizeMentionAttributes","attributes","el","document","createElement","name","value","Object","entries","setAttribute","cleaned","DOMParser","parseFromString","outerHTML","querySelector","out","attr","Array","from","includes","toLowerCase","checkMentionAttributes","keys","forEach","attrName","lower","startsWith","console","warn"],"sourceRoot":"../../../../src","sources":["web/sanitization/htmlSanitizer.ts"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,WAAW;AAGjC,MAAMC,aAAa,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;;AAE3C;AACA,MAAMC,sBAAsB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;AAEvD,OAAO,SAASC,YAAYA,CAACC,IAAY,EAAEC,MAA2B,EAAE;EACtE,OAAOL,SAAS,CAACM,QAAQ,CAACF,IAAI,EAAE;IAC9BG,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;IAClCC,QAAQ,EAAEP,aAAa;IACvBQ,iBAAiB,EAAER,aAAa;IAChC;IACA,IAAII,MAAM,EAAEK,SAAS,GAAG;MAAEC,kBAAkB,EAAEN,MAAM,CAACK;IAAU,CAAC,GAAG,CAAC,CAAC;EACvE,CAAC,CAAC;AACJ;AAEA,OAAO,SAASE,yBAAyBA,CACvCC,UAAmC,EACX;EACxB,IAAI,CAACA,UAAU,EAAE,OAAO,CAAC,CAAC;EAE1B,MAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAa,CAAC,SAAS,CAAC;EAC5C,KAAK,MAAM,CAACC,IAAI,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACP,UAAU,CAAC,EAAE;IACtD,IAAI;MACFC,EAAE,CAACO,YAAY,CAACJ,IAAI,EAAEC,KAAK,CAAC;IAC9B,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,MAAMI,OAAO,GAAG,IAAIC,SAAS,CAAC,CAAC,CAC5BC,eAAe,CAACrB,YAAY,CAACW,EAAE,CAACW,SAAS,CAAC,EAAE,WAAW,CAAC,CACxDC,aAAa,CAAC,SAAS,CAAC;EAE3B,MAAMC,GAA2B,GAAG,CAAC,CAAC;EACtC,IAAI,CAACL,OAAO,EAAE,OAAOK,GAAG;EAExB,KAAK,MAAMC,IAAI,IAAIC,KAAK,CAACC,IAAI,CAACR,OAAO,CAACT,UAAU,CAAC,EAAE;IACjD,IAAIZ,aAAa,CAAC8B,QAAQ,CAACH,IAAI,CAACX,IAAI,CAACe,WAAW,CAAC,CAAC,CAAC,EAAE;IACrDL,GAAG,CAACC,IAAI,CAACX,IAAI,CAAC,GAAGW,IAAI,CAACV,KAAK;EAC7B;EACA,OAAOS,GAAG;AACZ;;AAEA;AACA;AACA,OAAO,SAASM,sBAAsBA,CAACpB,UAAmC,EAAE;EAC1E,IAAI,CAACA,UAAU,EAAE;EAEjBM,MAAM,CAACe,IAAI,CAACrB,UAAU,CAAC,CAACsB,OAAO,CAAEC,QAAQ,IAAK;IAC5C,MAAMC,KAAK,GAAGD,QAAQ,CAACJ,WAAW,CAAC,CAAC;IACpC,IACEK,KAAK,CAACC,UAAU,CAAC,OAAO,CAAC,IACzBrC,aAAa,CAAC8B,QAAQ,CAACM,KAAK,CAAC,IAC7BnC,sBAAsB,CAAC6B,QAAQ,CAACM,KAAK,CAAC,EACtC;MACA;IACF;IACAE,OAAO,CAACC,IAAI,CACV,gCAAgCJ,QAAQ,6DAA6D,GACnG,+DACJ,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["DOMPurify","MENTION_ATTRS","IMG_DIMENSION_ATTRS","COMMONLY_ALLOWED_ATTRS","sanitizeHtml","html","config","sanitize","ADD_TAGS","ADD_ATTR","ADD_URI_SAFE_ATTR","linkRegex","ALLOWED_URI_REGEXP","sanitizeMentionAttributes","attributes","el","document","createElement","name","value","Object","entries","setAttribute","cleaned","DOMParser","parseFromString","outerHTML","querySelector","out","attr","Array","from","includes","toLowerCase","checkMentionAttributes","keys","forEach","attrName","lower","startsWith","console","warn"],"sourceRoot":"../../../../src","sources":["web/sanitization/htmlSanitizer.ts"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,WAAW;AAGjC,MAAMC,aAAa,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;;AAE3C;AACA;AACA;AACA,MAAMC,mBAAmB,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC;;AAE/C;AACA,MAAMC,sBAAsB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;AAEvD,OAAO,SAASC,YAAYA,CAACC,IAAY,EAAEC,MAA2B,EAAE;EACtE,OAAON,SAAS,CAACO,QAAQ,CAACF,IAAI,EAAE;IAC9BG,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;IAClCC,QAAQ,EAAER,aAAa;IACvBS,iBAAiB,EAAE,CAAC,GAAGT,aAAa,EAAE,GAAGC,mBAAmB,CAAC;IAC7D;IACA,IAAII,MAAM,EAAEK,SAAS,GAAG;MAAEC,kBAAkB,EAAEN,MAAM,CAACK;IAAU,CAAC,GAAG,CAAC,CAAC;EACvE,CAAC,CAAC;AACJ;AAEA,OAAO,SAASE,yBAAyBA,CACvCC,UAAmC,EACX;EACxB,IAAI,CAACA,UAAU,EAAE,OAAO,CAAC,CAAC;EAE1B,MAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAa,CAAC,SAAS,CAAC;EAC5C,KAAK,MAAM,CAACC,IAAI,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACP,UAAU,CAAC,EAAE;IACtD,IAAI;MACFC,EAAE,CAACO,YAAY,CAACJ,IAAI,EAAEC,KAAK,CAAC;IAC9B,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,MAAMI,OAAO,GAAG,IAAIC,SAAS,CAAC,CAAC,CAC5BC,eAAe,CAACrB,YAAY,CAACW,EAAE,CAACW,SAAS,CAAC,EAAE,WAAW,CAAC,CACxDC,aAAa,CAAC,SAAS,CAAC;EAE3B,MAAMC,GAA2B,GAAG,CAAC,CAAC;EACtC,IAAI,CAACL,OAAO,EAAE,OAAOK,GAAG;EAExB,KAAK,MAAMC,IAAI,IAAIC,KAAK,CAACC,IAAI,CAACR,OAAO,CAACT,UAAU,CAAC,EAAE;IACjD,IAAIb,aAAa,CAAC+B,QAAQ,CAACH,IAAI,CAACX,IAAI,CAACe,WAAW,CAAC,CAAC,CAAC,EAAE;IACrDL,GAAG,CAACC,IAAI,CAACX,IAAI,CAAC,GAAGW,IAAI,CAACV,KAAK;EAC7B;EACA,OAAOS,GAAG;AACZ;;AAEA;AACA;AACA,OAAO,SAASM,sBAAsBA,CAACpB,UAAmC,EAAE;EAC1E,IAAI,CAACA,UAAU,EAAE;EAEjBM,MAAM,CAACe,IAAI,CAACrB,UAAU,CAAC,CAACsB,OAAO,CAAEC,QAAQ,IAAK;IAC5C,MAAMC,KAAK,GAAGD,QAAQ,CAACJ,WAAW,CAAC,CAAC;IACpC,IACEK,KAAK,CAACC,UAAU,CAAC,OAAO,CAAC,IACzBtC,aAAa,CAAC+B,QAAQ,CAACM,KAAK,CAAC,IAC7BnC,sBAAsB,CAAC6B,QAAQ,CAACM,KAAK,CAAC,EACtC;MACA;IACF;IACAE,OAAO,CAACC,IAAI,CACV,gCAAgCJ,QAAQ,6DAA6D,GACnG,+DACJ,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"htmlSanitizer.d.ts","sourceRoot":"","sources":["../../../../../src/web/sanitization/htmlSanitizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAa,CAAC;AAOtD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,UAQrE;AAED,wBAAgB,yBAAyB,CACvC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBxB;AAID,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAiBzE"}
1
+ {"version":3,"file":"htmlSanitizer.d.ts","sourceRoot":"","sources":["../../../../../src/web/sanitization/htmlSanitizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAa,CAAC;AAYtD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,UAQrE;AAED,wBAAgB,yBAAyB,CACvC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBxB;AAID,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAiBzE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-enriched-html",
3
- "version": "1.1.0",
3
+ "version": "1.2.0-nightly-20260806-0fdac7a45",
4
4
  "description": "HTML-based Rich Text solution for React Native",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/module/index.js",
@@ -366,7 +366,9 @@
366
366
  vertical-align: text-bottom;
367
367
  }
368
368
 
369
- .et-view img.error {
369
+ .et-view img.error,
370
+ .et-view img:not([src]),
371
+ .et-view img[src=""] {
370
372
  content: linear-gradient(transparent, transparent);
371
373
  background-color: currentColor;
372
374
  -webkit-mask: var(--et-broken-image-glyph) no-repeat center / contain;
@@ -267,7 +267,7 @@ function emitAttributes(el: Element, name: string): string {
267
267
  return emitOneAttr(el, 'href');
268
268
  case 'img':
269
269
  return (
270
- emitOneAttr(el, 'src') +
270
+ (el.getAttribute('src') ? emitOneAttr(el, 'src') : ' src=""') +
271
271
  emitOneAttr(el, 'alt') +
272
272
  emitOneAttr(el, 'width') +
273
273
  emitOneAttr(el, 'height')
@@ -3,6 +3,11 @@ import type { SanitizationConfig } from '../../types';
3
3
 
4
4
  const MENTION_ATTRS = ['text', 'indicator'];
5
5
 
6
+ // Non-URL <img> attributes we emit. They must be listed as "URI safe" because
7
+ // DOMPurify validates every attribute value that isn't in its built-in
8
+ // URI_SAFE_ATTRIBUTES set against ALLOWED_URI_REGEXP.
9
+ const IMG_DIMENSION_ATTRS = ['width', 'height'];
10
+
6
11
  // Attributes DOMPurify keeps by default and are commonly used, so we don't emit an unnecessary warning
7
12
  const COMMONLY_ALLOWED_ATTRS = ['id', 'class', 'style'];
8
13
 
@@ -10,7 +15,7 @@ export function sanitizeHtml(html: string, config?: SanitizationConfig) {
10
15
  return DOMPurify.sanitize(html, {
11
16
  ADD_TAGS: ['mention', 'codeblock'],
12
17
  ADD_ATTR: MENTION_ATTRS,
13
- ADD_URI_SAFE_ATTR: MENTION_ATTRS,
18
+ ADD_URI_SAFE_ATTR: [...MENTION_ATTRS, ...IMG_DIMENSION_ATTRS],
14
19
  // if not supplied, fall back to DOMPurify's built-in default.
15
20
  ...(config?.linkRegex ? { ALLOWED_URI_REGEXP: config.linkRegex } : {}),
16
21
  });