pd-markdown 2.0.0 → 2.0.1

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.
Files changed (75) hide show
  1. package/README.md +52 -170
  2. package/package.json +12 -11
  3. package/packages/parser/README.md +120 -0
  4. package/packages/utils/README.md +130 -0
  5. package/packages/web/README.md +110 -0
  6. package/packages/parser/dist/index.cjs +0 -191
  7. package/packages/parser/dist/index.cjs.map +0 -1
  8. package/packages/parser/dist/index.d.ts +0 -4
  9. package/packages/parser/dist/index.d.ts.map +0 -1
  10. package/packages/parser/dist/index.mjs +0 -185
  11. package/packages/parser/dist/index.mjs.map +0 -1
  12. package/packages/parser/dist/plugins/index.d.ts +0 -4
  13. package/packages/parser/dist/plugins/index.d.ts.map +0 -1
  14. package/packages/parser/dist/plugins/transform/heading.d.ts +0 -6
  15. package/packages/parser/dist/plugins/transform/heading.d.ts.map +0 -1
  16. package/packages/parser/dist/plugins/transform/list.d.ts +0 -14
  17. package/packages/parser/dist/plugins/transform/list.d.ts.map +0 -1
  18. package/packages/parser/dist/plugins/transform/table.d.ts +0 -27
  19. package/packages/parser/dist/plugins/transform/table.d.ts.map +0 -1
  20. package/packages/parser/dist/processor.d.ts +0 -22
  21. package/packages/parser/dist/processor.d.ts.map +0 -1
  22. package/packages/parser/dist/types/index.d.ts +0 -55
  23. package/packages/parser/dist/types/index.d.ts.map +0 -1
  24. package/packages/utils/dist/ast/query.d.ts +0 -36
  25. package/packages/utils/dist/ast/query.d.ts.map +0 -1
  26. package/packages/utils/dist/ast/traverse.d.ts +0 -22
  27. package/packages/utils/dist/ast/traverse.d.ts.map +0 -1
  28. package/packages/utils/dist/index.cjs +0 -358
  29. package/packages/utils/dist/index.cjs.map +0 -1
  30. package/packages/utils/dist/index.d.ts +0 -7
  31. package/packages/utils/dist/index.d.ts.map +0 -1
  32. package/packages/utils/dist/index.mjs +0 -343
  33. package/packages/utils/dist/index.mjs.map +0 -1
  34. package/packages/utils/dist/string/sanitize.d.ts +0 -22
  35. package/packages/utils/dist/string/sanitize.d.ts.map +0 -1
  36. package/packages/utils/dist/string/slugify.d.ts +0 -16
  37. package/packages/utils/dist/string/slugify.d.ts.map +0 -1
  38. package/packages/utils/dist/types/index.d.ts +0 -49
  39. package/packages/utils/dist/types/index.d.ts.map +0 -1
  40. package/packages/web/dist/components/MarkdownRenderer.d.ts +0 -27
  41. package/packages/web/dist/components/MarkdownRenderer.d.ts.map +0 -1
  42. package/packages/web/dist/components/NodeRenderer.d.ts +0 -10
  43. package/packages/web/dist/components/NodeRenderer.d.ts.map +0 -1
  44. package/packages/web/dist/components/StreamMarkdownRenderer.d.ts +0 -58
  45. package/packages/web/dist/components/StreamMarkdownRenderer.d.ts.map +0 -1
  46. package/packages/web/dist/components/context.d.ts +0 -17
  47. package/packages/web/dist/components/context.d.ts.map +0 -1
  48. package/packages/web/dist/components/defaults/Blockquote.d.ts +0 -8
  49. package/packages/web/dist/components/defaults/Blockquote.d.ts.map +0 -1
  50. package/packages/web/dist/components/defaults/Code.d.ts +0 -13
  51. package/packages/web/dist/components/defaults/Code.d.ts.map +0 -1
  52. package/packages/web/dist/components/defaults/Heading.d.ts +0 -8
  53. package/packages/web/dist/components/defaults/Heading.d.ts.map +0 -1
  54. package/packages/web/dist/components/defaults/Image.d.ts +0 -7
  55. package/packages/web/dist/components/defaults/Image.d.ts.map +0 -1
  56. package/packages/web/dist/components/defaults/Link.d.ts +0 -8
  57. package/packages/web/dist/components/defaults/Link.d.ts.map +0 -1
  58. package/packages/web/dist/components/defaults/List.d.ts +0 -13
  59. package/packages/web/dist/components/defaults/List.d.ts.map +0 -1
  60. package/packages/web/dist/components/defaults/Paragraph.d.ts +0 -8
  61. package/packages/web/dist/components/defaults/Paragraph.d.ts.map +0 -1
  62. package/packages/web/dist/components/defaults/Table.d.ts +0 -19
  63. package/packages/web/dist/components/defaults/Table.d.ts.map +0 -1
  64. package/packages/web/dist/components/defaults/index.d.ts +0 -42
  65. package/packages/web/dist/components/defaults/index.d.ts.map +0 -1
  66. package/packages/web/dist/hooks/useMarkdown.d.ts +0 -11
  67. package/packages/web/dist/hooks/useMarkdown.d.ts.map +0 -1
  68. package/packages/web/dist/hooks/useStreamMarkdown.d.ts +0 -59
  69. package/packages/web/dist/hooks/useStreamMarkdown.d.ts.map +0 -1
  70. package/packages/web/dist/index.cjs +0 -715
  71. package/packages/web/dist/index.cjs.map +0 -1
  72. package/packages/web/dist/index.d.ts +0 -8
  73. package/packages/web/dist/index.d.ts.map +0 -1
  74. package/packages/web/dist/index.mjs +0 -694
  75. package/packages/web/dist/index.mjs.map +0 -1
@@ -1,13 +0,0 @@
1
- import type { FC, ReactNode } from 'react';
2
- import type { List as ListNode, ListItem as ListItemNode } from 'mdast';
3
- export interface ListProps {
4
- node: ListNode;
5
- children: ReactNode;
6
- }
7
- export declare const List: FC<ListProps>;
8
- export interface ListItemProps {
9
- node: ListItemNode;
10
- children: ReactNode;
11
- }
12
- export declare const ListItem: FC<ListItemProps>;
13
- //# sourceMappingURL=List.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../src/components/defaults/List.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,OAAO,CAAA;AAEvE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAK9B,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAYtC,CAAA"}
@@ -1,8 +0,0 @@
1
- import type { FC, ReactNode } from 'react';
2
- import type { Paragraph as ParagraphNode } from 'mdast';
3
- export interface ParagraphProps {
4
- node: ParagraphNode;
5
- children: ReactNode;
6
- }
7
- export declare const Paragraph: FC<ParagraphProps>;
8
- //# sourceMappingURL=Paragraph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Paragraph.d.ts","sourceRoot":"","sources":["../../../src/components/defaults/Paragraph.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,OAAO,CAAA;AAEvD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAExC,CAAA"}
@@ -1,19 +0,0 @@
1
- import type { FC, ReactNode } from 'react';
2
- import type { Table as TableNode, TableRow as TableRowNode, TableCell as TableCellNode } from 'mdast';
3
- export interface TableProps {
4
- node: TableNode;
5
- children: ReactNode;
6
- }
7
- export declare const Table: FC<TableProps>;
8
- export interface TableRowProps {
9
- node: TableRowNode;
10
- children: ReactNode;
11
- isHeader?: boolean;
12
- }
13
- export declare const TableRow: FC<TableRowProps>;
14
- export interface TableCellProps {
15
- node: TableCellNode;
16
- children: ReactNode;
17
- }
18
- export declare const TableCell: FC<TableCellProps>;
19
- //# sourceMappingURL=Table.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/components/defaults/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EACV,KAAK,IAAI,SAAS,EAClB,QAAQ,IAAI,YAAY,EACxB,SAAS,IAAI,aAAa,EAC3B,MAAM,OAAO,CAAA;AAEd,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAA;IACf,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAMhC,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAStC,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAOxC,CAAA"}
@@ -1,42 +0,0 @@
1
- import * as React from 'react';
2
- import { Heading } from './Heading';
3
- import type { HeadingProps } from './Heading';
4
- import { Paragraph } from './Paragraph';
5
- import type { ParagraphProps } from './Paragraph';
6
- import { List, ListItem } from './List';
7
- import type { ListProps, ListItemProps } from './List';
8
- import { Table, TableRow, TableCell } from './Table';
9
- import type { TableProps, TableRowProps, TableCellProps } from './Table';
10
- import { Code, InlineCodeComponent } from './Code';
11
- import type { CodeProps, InlineCodeProps } from './Code';
12
- import { Link } from './Link';
13
- import type { LinkProps } from './Link';
14
- import { Image } from './Image';
15
- import type { ImageProps } from './Image';
16
- import { Blockquote } from './Blockquote';
17
- import type { BlockquoteProps } from './Blockquote';
18
- export { Heading, Paragraph, List, ListItem, Table, TableRow, TableCell, Code, InlineCodeComponent, Link, Image, Blockquote, };
19
- export type { HeadingProps, ParagraphProps, ListProps, ListItemProps, TableProps, TableRowProps, TableCellProps, CodeProps, InlineCodeProps, LinkProps, ImageProps, BlockquoteProps, };
20
- /**
21
- * Map of node types to their corresponding React components
22
- */
23
- export interface ComponentMap {
24
- heading: React.FC<HeadingProps>;
25
- paragraph: React.FC<ParagraphProps>;
26
- list: React.FC<ListProps>;
27
- listItem: React.FC<ListItemProps>;
28
- table: React.FC<TableProps>;
29
- tableRow: React.FC<TableRowProps>;
30
- tableCell: React.FC<TableCellProps>;
31
- code: React.FC<CodeProps>;
32
- inlineCode: React.FC<InlineCodeProps>;
33
- link: React.FC<LinkProps>;
34
- image: React.FC<ImageProps>;
35
- blockquote: React.FC<BlockquoteProps>;
36
- [key: string]: React.FC<any>;
37
- }
38
- /**
39
- * Default component map
40
- */
41
- export declare const defaultComponents: ComponentMap;
42
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/defaults/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAGnD,OAAO,EACL,OAAO,EACP,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,mBAAmB,EACnB,IAAI,EACJ,KAAK,EACL,UAAU,GACX,CAAA;AAGD,YAAY,EACV,YAAY,EACZ,cAAc,EACd,SAAS,EACT,aAAa,EACb,UAAU,EACV,aAAa,EACb,cAAc,EACd,SAAS,EACT,eAAe,EACf,SAAS,EACT,UAAU,EACV,eAAe,GAChB,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAA;IAC/B,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACnC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IACzB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACjC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAC3B,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACjC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACnC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IACzB,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,CAAA;IACrC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IACzB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAC3B,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,CAAA;IAErC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAa/B,CAAA"}
@@ -1,11 +0,0 @@
1
- import type { Root } from 'mdast';
2
- import { type ParserOptions } from 'pd-markdown-parser';
3
- /**
4
- * Hook for parsing markdown on the client side
5
- *
6
- * @param source - Markdown source string
7
- * @param options - Parser options
8
- * @returns Parsed AST
9
- */
10
- export declare function useMarkdown(source: string, options?: ParserOptions): Root;
11
- //# sourceMappingURL=useMarkdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMarkdown.d.ts","sourceRoot":"","sources":["../../src/hooks/useMarkdown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAerE;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAOzE"}
@@ -1,59 +0,0 @@
1
- import type { Root } from 'mdast';
2
- import { type ParserOptions } from 'pd-markdown-parser';
3
- export interface StreamState {
4
- /** The current accumulated markdown source */
5
- source: string;
6
- /** The parsed AST of the current source */
7
- ast: Root;
8
- /** Whether the stream is currently receiving data */
9
- isStreaming: boolean;
10
- /** Whether the stream has completed */
11
- isDone: boolean;
12
- /** Error if any occurred */
13
- error: Error | null;
14
- }
15
- export interface UseStreamMarkdownOptions {
16
- /** Parser options */
17
- parserOptions?: ParserOptions;
18
- /** Callback when streaming starts */
19
- onStart?: () => void;
20
- /** Callback when a new chunk is received */
21
- onChunk?: (chunk: string, fullText: string) => void;
22
- /** Callback when streaming completes */
23
- onDone?: (fullText: string) => void;
24
- /** Callback on error */
25
- onError?: (error: Error) => void;
26
- /** Debounce interval for re-parsing (ms). Default: 50 */
27
- parseDebounceMs?: number;
28
- }
29
- export interface UseStreamMarkdownReturn extends StreamState {
30
- /** Append a chunk of markdown text */
31
- append: (chunk: string) => void;
32
- /** Signal that the stream is complete */
33
- done: () => void;
34
- /** Reset the stream state */
35
- reset: () => void;
36
- /** Start consuming a ReadableStream */
37
- consume: (stream: ReadableStream<string>) => Promise<void>;
38
- /** Start consuming an async iterator */
39
- consumeIterator: (iterator: AsyncIterable<string>) => Promise<void>;
40
- /** Start consuming a fetch Response with SSE */
41
- consumeResponse: (response: Response, options?: {
42
- extractContent?: (data: string) => string | null;
43
- }) => Promise<void>;
44
- }
45
- /**
46
- * Hook for streaming markdown rendering.
47
- *
48
- * Provides a simple API to progressively append markdown text,
49
- * automatically re-parsing into an AST that can be rendered
50
- * by the MarkdownRenderer.
51
- *
52
- * Supports multiple consumption methods:
53
- * - Manual `append()` + `done()` calls
54
- * - `consume(readableStream)` for ReadableStream<string>
55
- * - `consumeIterator(asyncIterable)` for async iterators
56
- * - `consumeResponse(response)` for SSE/fetch responses
57
- */
58
- export declare function useStreamMarkdown(options?: UseStreamMarkdownOptions): UseStreamMarkdownReturn;
59
- //# sourceMappingURL=useStreamMarkdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStreamMarkdown.d.ts","sourceRoot":"","sources":["../../src/hooks/useStreamMarkdown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAErE,MAAM,WAAW,WAAW;IAC1B,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,GAAG,EAAE,IAAI,CAAA;IACT,qDAAqD;IACrD,WAAW,EAAE,OAAO,CAAA;IACpB,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAA;IACf,4BAA4B;IAC5B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,qBAAqB;IACrB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,wCAAwC;IACxC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,wBAAwB;IACxB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,sCAAsC;IACtC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,yCAAyC;IACzC,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,uCAAuC;IACvC,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,wCAAwC;IACxC,eAAe,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnE,gDAAgD;IAChD,eAAe,EAAE,CACf,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;KAAE,KAC3D,OAAO,CAAC,IAAI,CAAC,CAAA;CACnB;AAuBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,wBAA6B,GACrC,uBAAuB,CAoRzB"}