react-native-marked 7.0.2 → 7.1.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
@@ -53,6 +53,7 @@ export default ExampleComponent;
53
53
  | theme | Props for customizing colors and spacing for all components,and it will get overridden with custom component style applied via 'styles' prop | [UserTheme](src/theme/types.ts) | true |
54
54
  | baseUrl | A prefix url for any relative link | string | true |
55
55
  | renderer | Custom component Renderer | [RendererInterface](src/lib/types.ts) | true |
56
+ | hooks | Hooks run during parsing to transform tokens | [Marked Hooks](https://marked.js.org/using_pro#hooks) | true |
56
57
 
57
58
 
58
59
  ### Using hook
@@ -90,6 +91,8 @@ const CustomComponent = () => {
90
91
  | baseUrl | A prefix url for any relative link | string | true |
91
92
  | renderer | Custom component Renderer | [RendererInterface](src/lib/types.ts) | true |
92
93
  | tokenizer | Generate custom tokens | [MarkedTokenizer<CustomToken>](src/lib/types.ts) | true |
94
+ | hooks | Hooks run during parsing to transform tokens |
95
+ [Marked Hooks](https://marked.js.org/using_pro#hooks) | true |
93
96
 
94
97
 
95
98
  ## Examples
@@ -20,10 +20,11 @@ const useMarkdown = (value, options) => {
20
20
  const elements = (0, _react.useMemo)(() => {
21
21
  const tokens = (0, _marked.lexer)(value, {
22
22
  gfm: true,
23
- tokenizer: options?.tokenizer
23
+ tokenizer: options?.tokenizer,
24
+ hooks: options?.hooks
24
25
  });
25
26
  return parser.parse(tokens);
26
- }, [value, parser, options?.tokenizer]);
27
+ }, [value, parser, options?.tokenizer, options?.hooks]);
27
28
  return elements;
28
29
  };
29
30
  var _default = exports.default = useMarkdown;
@@ -1 +1 @@
1
- {"version":3,"names":["_marked","require","_react","_Parser","_interopRequireDefault","_Renderer","_styles","e","__esModule","default","useMarkdown","value","options","styles","useMemo","getStyles","colorScheme","theme","parser","Parser","baseUrl","renderer","Renderer","elements","tokens","lexer","gfm","tokenizer","parse","_default","exports"],"sourceRoot":"../../../src","sources":["hooks/useMarkdown.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,OAAA,GAAAF,sBAAA,CAAAH,OAAA;AAA0C,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAY1C,MAAMG,WAAW,GAAGA,CACnBC,KAAa,EACbC,OAAgC,KACf;EACjB,MAAMC,MAAM,GAAG,IAAAC,cAAO,EACrB,MAAM,IAAAC,eAAS,EAACH,OAAO,EAAEC,MAAM,EAAED,OAAO,EAAEI,WAAW,EAAEJ,OAAO,EAAEK,KAAK,CAAC,EACtE,CAACL,OAAO,EAAEC,MAAM,EAAED,OAAO,EAAEK,KAAK,EAAEL,OAAO,EAAEI,WAAW,CACvD,CAAC;EAED,MAAME,MAAM,GAAG,IAAAJ,cAAO,EACrB,MACC,IAAIK,eAAM,CAAC;IACVN,MAAM,EAAEA,MAAM;IACdO,OAAO,EAAER,OAAO,EAAEQ,OAAO;IACzBC,QAAQ,EAAET,OAAO,EAAES,QAAQ,IAAI,IAAIC,iBAAQ,CAAC;EAC7C,CAAC,CAAC,EACH,CAACV,OAAO,EAAES,QAAQ,EAAET,OAAO,EAAEQ,OAAO,EAAEP,MAAM,CAC7C,CAAC;EAED,MAAMU,QAAQ,GAAG,IAAAT,cAAO,EAAC,MAAM;IAC9B,MAAMU,MAAM,GAAG,IAAAC,aAAK,EAACd,KAAK,EAAE;MAC3Be,GAAG,EAAE,IAAI;MACTC,SAAS,EAAEf,OAAO,EAAEe;IACrB,CAAC,CAAC;IACF,OAAOT,MAAM,CAACU,KAAK,CAACJ,MAAM,CAAC;EAC5B,CAAC,EAAE,CAACb,KAAK,EAAEO,MAAM,EAAEN,OAAO,EAAEe,SAAS,CAAC,CAAC;EAEvC,OAAOJ,QAAQ;AAChB,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAArB,OAAA,GAEaC,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["_marked","require","_react","_Parser","_interopRequireDefault","_Renderer","_styles","e","__esModule","default","useMarkdown","value","options","styles","useMemo","getStyles","colorScheme","theme","parser","Parser","baseUrl","renderer","Renderer","elements","tokens","lexer","gfm","tokenizer","hooks","parse","_default","exports"],"sourceRoot":"../../../src","sources":["hooks/useMarkdown.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,OAAA,GAAAF,sBAAA,CAAAH,OAAA;AAA0C,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAa1C,MAAMG,WAAW,GAAGA,CACnBC,KAAa,EACbC,OAAgC,KACf;EACjB,MAAMC,MAAM,GAAG,IAAAC,cAAO,EACrB,MAAM,IAAAC,eAAS,EAACH,OAAO,EAAEC,MAAM,EAAED,OAAO,EAAEI,WAAW,EAAEJ,OAAO,EAAEK,KAAK,CAAC,EACtE,CAACL,OAAO,EAAEC,MAAM,EAAED,OAAO,EAAEK,KAAK,EAAEL,OAAO,EAAEI,WAAW,CACvD,CAAC;EAED,MAAME,MAAM,GAAG,IAAAJ,cAAO,EACrB,MACC,IAAIK,eAAM,CAAC;IACVN,MAAM,EAAEA,MAAM;IACdO,OAAO,EAAER,OAAO,EAAEQ,OAAO;IACzBC,QAAQ,EAAET,OAAO,EAAES,QAAQ,IAAI,IAAIC,iBAAQ,CAAC;EAC7C,CAAC,CAAC,EACH,CAACV,OAAO,EAAES,QAAQ,EAAET,OAAO,EAAEQ,OAAO,EAAEP,MAAM,CAC7C,CAAC;EAED,MAAMU,QAAQ,GAAG,IAAAT,cAAO,EAAC,MAAM;IAC9B,MAAMU,MAAM,GAAG,IAAAC,aAAK,EAACd,KAAK,EAAE;MAC3Be,GAAG,EAAE,IAAI;MACTC,SAAS,EAAEf,OAAO,EAAEe,SAAS;MAC7BC,KAAK,EAAEhB,OAAO,EAAEgB;IACjB,CAAC,CAAC;IACF,OAAOV,MAAM,CAACW,KAAK,CAACL,MAAM,CAAC;EAC5B,CAAC,EAAE,CAACb,KAAK,EAAEO,MAAM,EAAEN,OAAO,EAAEe,SAAS,EAAEf,OAAO,EAAEgB,KAAK,CAAC,CAAC;EAEvD,OAAOL,QAAQ;AAChB,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,CAAAtB,OAAA,GAEaC,WAAW","ignoreList":[]}
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "MarkedHooks", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _marked.Hooks;
10
+ }
11
+ });
6
12
  exports.MarkedLexer = void 0;
7
13
  Object.defineProperty(exports, "MarkedTokenizer", {
8
14
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"names":["_marked","require","_useMarkdown","_interopRequireDefault","_Markdown","_Renderer","e","__esModule","default","MarkedLexer","exports","marked","lexer","_default","Markdown"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,SAAA,GAAAF,sBAAA,CAAAF,OAAA;AAAsC,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQtC,MAAMG,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,cAAM,CAACC,KAAK;AAAC,IAAAC,QAAA,GAAAH,OAAA,CAAAF,OAAA,GAclBM,iBAAQ","ignoreList":[]}
1
+ {"version":3,"names":["_marked","require","_useMarkdown","_interopRequireDefault","_Markdown","_Renderer","e","__esModule","default","MarkedLexer","exports","marked","lexer","_default","Markdown"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,SAAA,GAAAF,sBAAA,CAAAF,OAAA;AAAsC,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQtC,MAAMG,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,cAAM,CAACC,KAAK;AAAC,IAAAC,QAAA,GAAAH,OAAA,CAAAF,OAAA,GAclBM,iBAAQ","ignoreList":[]}
@@ -18,7 +18,8 @@ const Markdown = ({
18
18
  baseUrl,
19
19
  renderer,
20
20
  styles,
21
- tokenizer
21
+ tokenizer,
22
+ hooks
22
23
  }) => {
23
24
  const colorScheme = (0, _reactNative.useColorScheme)();
24
25
  const rnElements = (0, _useMarkdown.default)(value, {
@@ -27,7 +28,8 @@ const Markdown = ({
27
28
  renderer,
28
29
  colorScheme,
29
30
  styles,
30
- tokenizer
31
+ tokenizer,
32
+ hooks
31
33
  });
32
34
  const renderItem = (0, _react.useCallback)(({
33
35
  item
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useMarkdown","_interopRequireDefault","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Markdown","value","flatListProps","theme","baseUrl","renderer","styles","tokenizer","colorScheme","useColorScheme","rnElements","useMarkdown","renderItem","useCallback","item","keyExtractor","_","index","toString","jsx","FlatList","removeClippedSubviews","maxToRenderPerBatch","initialNumToRender","style","backgroundColor","data","_default","exports"],"sourceRoot":"../../../src","sources":["lib/Markdown.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA+C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAG/C,MAAMW,QAAQ,GAAGA,CAAC;EACjBC,KAAK;EACLC,aAAa;EACbC,KAAK;EACLC,OAAO;EACPC,QAAQ;EACRC,MAAM;EACNC;AACc,CAAC,KAAK;EACpB,MAAMC,WAAW,GAAG,IAAAC,2BAAc,EAAC,CAAC;EAEpC,MAAMC,UAAU,GAAG,IAAAC,oBAAW,EAACV,KAAK,EAAE;IACrCE,KAAK;IACLC,OAAO;IACPC,QAAQ;IACRG,WAAW;IACXF,MAAM;IACNC;EACD,CAAC,CAAC;EAEF,MAAMK,UAAU,GAAG,IAAAC,kBAAW,EAAC,CAAC;IAAEC;EAA0B,CAAC,KAAK;IACjE,OAAOA,IAAI;EACZ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,YAAY,GAAG,IAAAF,kBAAW,EAC/B,CAACG,CAAY,EAAEC,KAAa,KAAKA,KAAK,CAACC,QAAQ,CAAC,CAAC,EACjD,EACD,CAAC;EAED,oBACC,IAAAvC,WAAA,CAAAwC,GAAA,EAAC3C,YAAA,CAAA4C,QAAQ;IACRC,qBAAqB,EAAE,KAAM;IAC7BN,YAAY,EAAEA,YAAa;IAC3BO,mBAAmB,EAAE,CAAE;IACvBC,kBAAkB,EAAE,CAAE;IACtBC,KAAK,EAAE;MACNC,eAAe,EAAEjB,WAAW,KAAK,OAAO,GAAG,SAAS,GAAG;IACxD,CAAE;IAAA,GACEN,aAAa;IACjBwB,IAAI,EAAEhB,UAAW;IACjBE,UAAU,EAAEA;EAAW,CACvB,CAAC;AAEJ,CAAC;AAAC,IAAAe,QAAA,GAAAC,OAAA,CAAA9C,OAAA,GAEakB,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useMarkdown","_interopRequireDefault","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Markdown","value","flatListProps","theme","baseUrl","renderer","styles","tokenizer","hooks","colorScheme","useColorScheme","rnElements","useMarkdown","renderItem","useCallback","item","keyExtractor","_","index","toString","jsx","FlatList","removeClippedSubviews","maxToRenderPerBatch","initialNumToRender","style","backgroundColor","data","_default","exports"],"sourceRoot":"../../../src","sources":["lib/Markdown.tsx"],"mappings":"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","ignoreList":[]}
@@ -15,10 +15,11 @@ const useMarkdown = (value, options) => {
15
15
  const elements = useMemo(() => {
16
16
  const tokens = lexer(value, {
17
17
  gfm: true,
18
- tokenizer: options?.tokenizer
18
+ tokenizer: options?.tokenizer,
19
+ hooks: options?.hooks
19
20
  });
20
21
  return parser.parse(tokens);
21
- }, [value, parser, options?.tokenizer]);
22
+ }, [value, parser, options?.tokenizer, options?.hooks]);
22
23
  return elements;
23
24
  };
24
25
  export default useMarkdown;
@@ -1 +1 @@
1
- {"version":3,"names":["lexer","useMemo","Parser","Renderer","getStyles","useMarkdown","value","options","styles","colorScheme","theme","parser","baseUrl","renderer","elements","tokens","gfm","tokenizer","parse"],"sourceRoot":"../../../src","sources":["hooks/useMarkdown.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAwB,QAAQ;AAC9C,SAAyBC,OAAO,QAAQ,OAAO;AAE/C,OAAOC,MAAM,MAAM,eAAe;AAClC,OAAOC,QAAQ,MAAM,iBAAiB;AAEtC,OAAOC,SAAS,MAAM,mBAAmB;AAYzC,MAAMC,WAAW,GAAGA,CACnBC,KAAa,EACbC,OAAgC,KACf;EACjB,MAAMC,MAAM,GAAGP,OAAO,CACrB,MAAMG,SAAS,CAACG,OAAO,EAAEC,MAAM,EAAED,OAAO,EAAEE,WAAW,EAAEF,OAAO,EAAEG,KAAK,CAAC,EACtE,CAACH,OAAO,EAAEC,MAAM,EAAED,OAAO,EAAEG,KAAK,EAAEH,OAAO,EAAEE,WAAW,CACvD,CAAC;EAED,MAAME,MAAM,GAAGV,OAAO,CACrB,MACC,IAAIC,MAAM,CAAC;IACVM,MAAM,EAAEA,MAAM;IACdI,OAAO,EAAEL,OAAO,EAAEK,OAAO;IACzBC,QAAQ,EAAEN,OAAO,EAAEM,QAAQ,IAAI,IAAIV,QAAQ,CAAC;EAC7C,CAAC,CAAC,EACH,CAACI,OAAO,EAAEM,QAAQ,EAAEN,OAAO,EAAEK,OAAO,EAAEJ,MAAM,CAC7C,CAAC;EAED,MAAMM,QAAQ,GAAGb,OAAO,CAAC,MAAM;IAC9B,MAAMc,MAAM,GAAGf,KAAK,CAACM,KAAK,EAAE;MAC3BU,GAAG,EAAE,IAAI;MACTC,SAAS,EAAEV,OAAO,EAAEU;IACrB,CAAC,CAAC;IACF,OAAON,MAAM,CAACO,KAAK,CAACH,MAAM,CAAC;EAC5B,CAAC,EAAE,CAACT,KAAK,EAAEK,MAAM,EAAEJ,OAAO,EAAEU,SAAS,CAAC,CAAC;EAEvC,OAAOH,QAAQ;AAChB,CAAC;AAED,eAAeT,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["lexer","useMemo","Parser","Renderer","getStyles","useMarkdown","value","options","styles","colorScheme","theme","parser","baseUrl","renderer","elements","tokens","gfm","tokenizer","hooks","parse"],"sourceRoot":"../../../src","sources":["hooks/useMarkdown.ts"],"mappings":";;AAAA,SAAqBA,KAAK,QAAwB,QAAQ;AAC1D,SAAyBC,OAAO,QAAQ,OAAO;AAE/C,OAAOC,MAAM,MAAM,eAAe;AAClC,OAAOC,QAAQ,MAAM,iBAAiB;AAEtC,OAAOC,SAAS,MAAM,mBAAmB;AAazC,MAAMC,WAAW,GAAGA,CACnBC,KAAa,EACbC,OAAgC,KACf;EACjB,MAAMC,MAAM,GAAGP,OAAO,CACrB,MAAMG,SAAS,CAACG,OAAO,EAAEC,MAAM,EAAED,OAAO,EAAEE,WAAW,EAAEF,OAAO,EAAEG,KAAK,CAAC,EACtE,CAACH,OAAO,EAAEC,MAAM,EAAED,OAAO,EAAEG,KAAK,EAAEH,OAAO,EAAEE,WAAW,CACvD,CAAC;EAED,MAAME,MAAM,GAAGV,OAAO,CACrB,MACC,IAAIC,MAAM,CAAC;IACVM,MAAM,EAAEA,MAAM;IACdI,OAAO,EAAEL,OAAO,EAAEK,OAAO;IACzBC,QAAQ,EAAEN,OAAO,EAAEM,QAAQ,IAAI,IAAIV,QAAQ,CAAC;EAC7C,CAAC,CAAC,EACH,CAACI,OAAO,EAAEM,QAAQ,EAAEN,OAAO,EAAEK,OAAO,EAAEJ,MAAM,CAC7C,CAAC;EAED,MAAMM,QAAQ,GAAGb,OAAO,CAAC,MAAM;IAC9B,MAAMc,MAAM,GAAGf,KAAK,CAACM,KAAK,EAAE;MAC3BU,GAAG,EAAE,IAAI;MACTC,SAAS,EAAEV,OAAO,EAAEU,SAAS;MAC7BC,KAAK,EAAEX,OAAO,EAAEW;IACjB,CAAC,CAAC;IACF,OAAOP,MAAM,CAACQ,KAAK,CAACJ,MAAM,CAAC;EAC5B,CAAC,EAAE,CAACT,KAAK,EAAEK,MAAM,EAAEJ,OAAO,EAAEU,SAAS,EAAEV,OAAO,EAAEW,KAAK,CAAC,CAAC;EAEvD,OAAOJ,QAAQ;AAChB,CAAC;AAED,eAAeT,WAAW","ignoreList":[]}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import { Tokenizer as MarkedTokenizer, marked } from "marked";
3
+ import { Hooks as MarkedHooks, Tokenizer as MarkedTokenizer, marked } from "marked";
4
4
  import useMarkdown from "./hooks/useMarkdown";
5
5
  import Markdown from "./lib/Markdown";
6
6
  import Renderer from "./lib/Renderer";
7
7
  const MarkedLexer = marked.lexer;
8
- export { useMarkdown, MarkedLexer, Renderer, MarkedTokenizer };
8
+ export { useMarkdown, MarkedLexer, Renderer, MarkedTokenizer, MarkedHooks };
9
9
  export default Markdown;
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Tokenizer","MarkedTokenizer","marked","useMarkdown","Markdown","Renderer","MarkedLexer","lexer"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AACA,SAASA,SAAS,IAAIC,eAAe,EAAEC,MAAM,QAAQ,QAAQ;AAC7D,OAAOC,WAAW,MAAuC,qBAAqB;AAC9E,OAAOC,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,QAAQ,MAAM,gBAAgB;AAQrC,MAAMC,WAAW,GAAGJ,MAAM,CAACK,KAAK;AAYhC,SAASJ,WAAW,EAAEG,WAAW,EAAED,QAAQ,EAAEJ,eAAe;AAE5D,eAAeG,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["Hooks","MarkedHooks","Tokenizer","MarkedTokenizer","marked","useMarkdown","Markdown","Renderer","MarkedLexer","lexer"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AACA,SACCA,KAAK,IAAIC,WAAW,EACpBC,SAAS,IAAIC,eAAe,EAC5BC,MAAM,QACA,QAAQ;AACf,OAAOC,WAAW,MAAuC,qBAAqB;AAC9E,OAAOC,QAAQ,MAAM,gBAAgB;AACrC,OAAOC,QAAQ,MAAM,gBAAgB;AAQrC,MAAMC,WAAW,GAAGJ,MAAM,CAACK,KAAK;AAYhC,SAASJ,WAAW,EAAEG,WAAW,EAAED,QAAQ,EAAEJ,eAAe,EAAEF,WAAW;AAEzE,eAAeK,QAAQ","ignoreList":[]}
@@ -11,7 +11,8 @@ const Markdown = ({
11
11
  baseUrl,
12
12
  renderer,
13
13
  styles,
14
- tokenizer
14
+ tokenizer,
15
+ hooks
15
16
  }) => {
16
17
  const colorScheme = useColorScheme();
17
18
  const rnElements = useMarkdown(value, {
@@ -20,7 +21,8 @@ const Markdown = ({
20
21
  renderer,
21
22
  colorScheme,
22
23
  styles,
23
- tokenizer
24
+ tokenizer,
25
+ hooks
24
26
  });
25
27
  const renderItem = useCallback(({
26
28
  item
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","FlatList","useColorScheme","useMarkdown","jsx","_jsx","Markdown","value","flatListProps","theme","baseUrl","renderer","styles","tokenizer","colorScheme","rnElements","renderItem","item","keyExtractor","_","index","toString","removeClippedSubviews","maxToRenderPerBatch","initialNumToRender","style","backgroundColor","data"],"sourceRoot":"../../../src","sources":["lib/Markdown.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAuCC,WAAW,QAAQ,OAAO;AAC7E,SAASC,QAAQ,EAAEC,cAAc,QAAQ,cAAc;AACvD,OAAOC,WAAW,MAAM,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG/C,MAAMC,QAAQ,GAAGA,CAAC;EACjBC,KAAK;EACLC,aAAa;EACbC,KAAK;EACLC,OAAO;EACPC,QAAQ;EACRC,MAAM;EACNC;AACc,CAAC,KAAK;EACpB,MAAMC,WAAW,GAAGZ,cAAc,CAAC,CAAC;EAEpC,MAAMa,UAAU,GAAGZ,WAAW,CAACI,KAAK,EAAE;IACrCE,KAAK;IACLC,OAAO;IACPC,QAAQ;IACRG,WAAW;IACXF,MAAM;IACNC;EACD,CAAC,CAAC;EAEF,MAAMG,UAAU,GAAGhB,WAAW,CAAC,CAAC;IAAEiB;EAA0B,CAAC,KAAK;IACjE,OAAOA,IAAI;EACZ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,YAAY,GAAGlB,WAAW,CAC/B,CAACmB,CAAY,EAAEC,KAAa,KAAKA,KAAK,CAACC,QAAQ,CAAC,CAAC,EACjD,EACD,CAAC;EAED,oBACChB,IAAA,CAACJ,QAAQ;IACRqB,qBAAqB,EAAE,KAAM;IAC7BJ,YAAY,EAAEA,YAAa;IAC3BK,mBAAmB,EAAE,CAAE;IACvBC,kBAAkB,EAAE,CAAE;IACtBC,KAAK,EAAE;MACNC,eAAe,EAAEZ,WAAW,KAAK,OAAO,GAAG,SAAS,GAAG;IACxD,CAAE;IAAA,GACEN,aAAa;IACjBmB,IAAI,EAAEZ,UAAW;IACjBC,UAAU,EAAEA;EAAW,CACvB,CAAC;AAEJ,CAAC;AAED,eAAeV,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","FlatList","useColorScheme","useMarkdown","jsx","_jsx","Markdown","value","flatListProps","theme","baseUrl","renderer","styles","tokenizer","hooks","colorScheme","rnElements","renderItem","item","keyExtractor","_","index","toString","removeClippedSubviews","maxToRenderPerBatch","initialNumToRender","style","backgroundColor","data"],"sourceRoot":"../../../src","sources":["lib/Markdown.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAuCC,WAAW,QAAQ,OAAO;AAC7E,SAASC,QAAQ,EAAEC,cAAc,QAAQ,cAAc;AACvD,OAAOC,WAAW,MAAM,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG/C,MAAMC,QAAQ,GAAGA,CAAC;EACjBC,KAAK;EACLC,aAAa;EACbC,KAAK;EACLC,OAAO;EACPC,QAAQ;EACRC,MAAM;EACNC,SAAS;EACTC;AACc,CAAC,KAAK;EACpB,MAAMC,WAAW,GAAGb,cAAc,CAAC,CAAC;EAEpC,MAAMc,UAAU,GAAGb,WAAW,CAACI,KAAK,EAAE;IACrCE,KAAK;IACLC,OAAO;IACPC,QAAQ;IACRI,WAAW;IACXH,MAAM;IACNC,SAAS;IACTC;EACD,CAAC,CAAC;EAEF,MAAMG,UAAU,GAAGjB,WAAW,CAAC,CAAC;IAAEkB;EAA0B,CAAC,KAAK;IACjE,OAAOA,IAAI;EACZ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,YAAY,GAAGnB,WAAW,CAC/B,CAACoB,CAAY,EAAEC,KAAa,KAAKA,KAAK,CAACC,QAAQ,CAAC,CAAC,EACjD,EACD,CAAC;EAED,oBACCjB,IAAA,CAACJ,QAAQ;IACRsB,qBAAqB,EAAE,KAAM;IAC7BJ,YAAY,EAAEA,YAAa;IAC3BK,mBAAmB,EAAE,CAAE;IACvBC,kBAAkB,EAAE,CAAE;IACtBC,KAAK,EAAE;MACNC,eAAe,EAAEZ,WAAW,KAAK,OAAO,GAAG,SAAS,GAAG;IACxD,CAAE;IAAA,GACEP,aAAa;IACjBoB,IAAI,EAAEZ,UAAW;IACjBC,UAAU,EAAEA;EAAW,CACvB,CAAC;AAEJ,CAAC;AAED,eAAeX,QAAQ","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { type Tokenizer } from "marked";
1
+ import { type Hooks, type Tokenizer } from "marked";
2
2
  import { type ReactNode } from "react";
3
3
  import type { ColorSchemeName } from "react-native";
4
4
  import type { RendererInterface } from "../lib/types";
@@ -10,6 +10,7 @@ export interface useMarkdownHookOptions {
10
10
  styles?: MarkedStyles;
11
11
  baseUrl?: string;
12
12
  tokenizer?: Tokenizer;
13
+ hooks?: Hooks;
13
14
  }
14
15
  declare const useMarkdown: (value: string, options?: useMarkdownHookOptions) => ReactNode[];
15
16
  export default useMarkdown;
@@ -1 +1 @@
1
- {"version":3,"file":"useMarkdown.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMarkdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACtC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,QAAA,MAAM,WAAW,GAChB,OAAO,MAAM,EACb,UAAU,sBAAsB,KAC9B,SAAS,EAyBX,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"useMarkdown.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMarkdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAS,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACtC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;CACd;AAED,QAAA,MAAM,WAAW,GAChB,OAAO,MAAM,EACb,UAAU,sBAAsB,KAC9B,SAAS,EA0BX,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Token, Tokens } from "marked";
2
- import { Tokenizer as MarkedTokenizer } from "marked";
2
+ import { Hooks as MarkedHooks, Tokenizer as MarkedTokenizer } from "marked";
3
3
  import useMarkdown, { type useMarkdownHookOptions } from "./hooks/useMarkdown";
4
4
  import Markdown from "./lib/Markdown";
5
5
  import Renderer from "./lib/Renderer";
@@ -7,6 +7,6 @@ import type { MarkdownProps, ParserOptions, RendererInterface } from "./lib/type
7
7
  import type { MarkedStyles } from "./theme/types";
8
8
  declare const MarkedLexer: typeof import("marked").Lexer.lex;
9
9
  export type { MarkdownProps, MarkedStyles, ParserOptions, RendererInterface, useMarkdownHookOptions, Token, Tokens, };
10
- export { useMarkdown, MarkedLexer, Renderer, MarkedTokenizer };
10
+ export { useMarkdown, MarkedLexer, Renderer, MarkedTokenizer, MarkedHooks };
11
11
  export default Markdown;
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,SAAS,IAAI,eAAe,EAAU,MAAM,QAAQ,CAAC;AAC9D,OAAO,WAAW,EAAE,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,EACX,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,QAAA,MAAM,WAAW,mCAAe,CAAC;AAEjC,YAAY,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,EACL,MAAM,GACN,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;AAE/D,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EACN,KAAK,IAAI,WAAW,EACpB,SAAS,IAAI,eAAe,EAE5B,MAAM,QAAQ,CAAC;AAChB,OAAO,WAAW,EAAE,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,EACX,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,QAAA,MAAM,WAAW,mCAAe,CAAC;AAEjC,YAAY,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,EACL,MAAM,GACN,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;AAE5E,eAAe,QAAQ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
2
  import type { MarkdownProps } from "./types";
3
- declare const Markdown: ({ value, flatListProps, theme, baseUrl, renderer, styles, tokenizer, }: MarkdownProps) => React.JSX.Element;
3
+ declare const Markdown: ({ value, flatListProps, theme, baseUrl, renderer, styles, tokenizer, hooks, }: MarkdownProps) => React.JSX.Element;
4
4
  export default Markdown;
5
5
  //# sourceMappingURL=Markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/lib/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAG9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,QAAA,MAAM,QAAQ,GAAI,wEAQf,aAAa,sBAmCf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/lib/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAG9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,QAAA,MAAM,QAAQ,GAAI,+EASf,aAAa,sBAoCf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Tokenizer } from "marked";
1
+ import type { Hooks, Tokenizer } from "marked";
2
2
  import type { ReactNode } from "react";
3
3
  import type { FlatListProps, ImageStyle, TextStyle, ViewStyle } from "react-native";
4
4
  import type { MarkedStyles, UserTheme } from "./../theme/types";
@@ -12,6 +12,7 @@ export interface MarkdownProps extends Partial<ParserOptions> {
12
12
  flatListProps?: Omit<FlatListProps<ReactNode>, "data" | "renderItem" | "horizontal">;
13
13
  theme?: UserTheme;
14
14
  tokenizer?: Tokenizer;
15
+ hooks?: Hooks;
15
16
  }
16
17
  export type TableColAlignment = "center" | "left" | "right" | null;
17
18
  export interface RendererInterface {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-marked",
3
- "version": "7.0.2",
3
+ "version": "7.1.0",
4
4
  "description": "Markdown renderer for React Native powered by marked.js",
5
5
  "main": "dist/commonjs/index",
6
6
  "module": "dist/module/index",
@@ -54,30 +54,30 @@
54
54
  "@babel/core": "7.27.7",
55
55
  "@babel/helper-explode-assignable-expression": "7.18.6",
56
56
  "@babel/preset-env": "7.27.2",
57
- "@biomejs/biome": "2.0.5",
57
+ "@biomejs/biome": "2.3.8",
58
58
  "@commitlint/config-conventional": "19.8.1",
59
- "@evilmartians/lefthook": "1.11.14",
59
+ "@evilmartians/lefthook": "1.13.6",
60
60
  "@react-native/babel-preset": "0.78.2",
61
- "@release-it/conventional-changelog": "10.0.1",
61
+ "@release-it/conventional-changelog": "10.0.2",
62
62
  "@testing-library/react-native": "v14.0.0-alpha.1",
63
63
  "@types/jest": "29.5.14",
64
- "@types/node": "22.15.33",
64
+ "@types/node": "22.19.1",
65
65
  "@types/react": "19.1.8",
66
66
  "@types/svg-parser": "^2.0.3",
67
67
  "commitlint": "19.8.1",
68
- "danger": "13.0.4",
68
+ "danger": "13.0.5",
69
69
  "husky": "9.1.7",
70
70
  "jest": "29.7.0",
71
71
  "jest-environment-jsdom": "29.7.0",
72
- "pod-install": "0.3.9",
72
+ "pod-install": "0.3.10",
73
73
  "postinstall-postinstall": "2.1.0",
74
74
  "react": "19.1.0",
75
75
  "react-native": "0.78.2",
76
- "react-native-builder-bob": "0.40.12",
77
- "react-native-svg": "15.12.0",
76
+ "react-native-builder-bob": "0.40.16",
77
+ "react-native-svg": "15.15.1",
78
78
  "reassure": "1.4.0",
79
- "release-it": "19.0.3",
80
- "typescript": "5.8.3",
79
+ "release-it": "19.0.6",
80
+ "typescript": "5.9.3",
81
81
  "universal-test-renderer": "0.6.0"
82
82
  },
83
83
  "peerDependencies": {
@@ -93,7 +93,7 @@
93
93
  "<rootDir>/dist/"
94
94
  ],
95
95
  "transformIgnorePatterns": [
96
- "node_modules/(?!(jest-)?react-native|@react-native|@react-native-community|github-slugger)"
96
+ "node_modules/(?!(jest-)?react-native|@react-native|@react-native-community|github-slugger|marked)"
97
97
  ]
98
98
  },
99
99
  "commitlint": {
@@ -161,7 +161,7 @@
161
161
  "@jsamr/react-native-li": "2.3.1",
162
162
  "github-slugger": "2.0.0",
163
163
  "html-entities": "2.6.0",
164
- "marked": "15.0.12",
164
+ "marked": "17.0.1",
165
165
  "react-native-reanimated-table": "0.0.2",
166
166
  "svg-parser": "2.0.4"
167
167
  },
@@ -1,4 +1,4 @@
1
- import { lexer, type Tokenizer } from "marked";
1
+ import { type Hooks, lexer, type Tokenizer } from "marked";
2
2
  import { type ReactNode, useMemo } from "react";
3
3
  import type { ColorSchemeName } from "react-native";
4
4
  import Parser from "../lib/Parser";
@@ -14,6 +14,7 @@ export interface useMarkdownHookOptions {
14
14
  styles?: MarkedStyles;
15
15
  baseUrl?: string;
16
16
  tokenizer?: Tokenizer;
17
+ hooks?: Hooks;
17
18
  }
18
19
 
19
20
  const useMarkdown = (
@@ -39,9 +40,10 @@ const useMarkdown = (
39
40
  const tokens = lexer(value, {
40
41
  gfm: true,
41
42
  tokenizer: options?.tokenizer,
43
+ hooks: options?.hooks,
42
44
  });
43
45
  return parser.parse(tokens);
44
- }, [value, parser, options?.tokenizer]);
46
+ }, [value, parser, options?.tokenizer, options?.hooks]);
45
47
 
46
48
  return elements;
47
49
  };
package/src/index.ts CHANGED
@@ -1,5 +1,9 @@
1
1
  import type { Token, Tokens } from "marked";
2
- import { Tokenizer as MarkedTokenizer, marked } from "marked";
2
+ import {
3
+ Hooks as MarkedHooks,
4
+ Tokenizer as MarkedTokenizer,
5
+ marked,
6
+ } from "marked";
3
7
  import useMarkdown, { type useMarkdownHookOptions } from "./hooks/useMarkdown";
4
8
  import Markdown from "./lib/Markdown";
5
9
  import Renderer from "./lib/Renderer";
@@ -22,6 +26,6 @@ export type {
22
26
  Tokens,
23
27
  };
24
28
 
25
- export { useMarkdown, MarkedLexer, Renderer, MarkedTokenizer };
29
+ export { useMarkdown, MarkedLexer, Renderer, MarkedTokenizer, MarkedHooks };
26
30
 
27
31
  export default Markdown;
@@ -11,6 +11,7 @@ const Markdown = ({
11
11
  renderer,
12
12
  styles,
13
13
  tokenizer,
14
+ hooks,
14
15
  }: MarkdownProps) => {
15
16
  const colorScheme = useColorScheme();
16
17
 
@@ -21,6 +22,7 @@ const Markdown = ({
21
22
  colorScheme,
22
23
  styles,
23
24
  tokenizer,
25
+ hooks,
24
26
  });
25
27
 
26
28
  const renderItem = useCallback(({ item }: { item: ReactNode }) => {
package/src/lib/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Tokenizer } from "marked";
1
+ import type { Hooks, Tokenizer } from "marked";
2
2
  import type { ReactNode } from "react";
3
3
  import type {
4
4
  FlatListProps,
@@ -22,6 +22,7 @@ export interface MarkdownProps extends Partial<ParserOptions> {
22
22
  >;
23
23
  theme?: UserTheme;
24
24
  tokenizer?: Tokenizer;
25
+ hooks?: Hooks;
25
26
  }
26
27
 
27
28
  export type TableColAlignment = "center" | "left" | "right" | null;