markstream-angular 0.0.1-alpha.0 → 0.0.1-alpha.10

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 (43) hide show
  1. package/README.md +14 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.js +2181 -2048
  4. package/dist/types/components/AdmonitionNode/AdmonitionNode.component.d.ts +1 -1
  5. package/dist/types/components/BlockquoteNode/BlockquoteNode.component.d.ts +1 -1
  6. package/dist/types/components/CodeBlockNode/CodeBlockNode.component.d.ts +2 -1
  7. package/dist/types/components/D2BlockNode/D2BlockNode.component.d.ts +1 -1
  8. package/dist/types/components/DefinitionListNode/DefinitionListNode.component.d.ts +1 -1
  9. package/dist/types/components/DynamicNodeHost/DynamicNodeHost.component.d.ts +2 -2
  10. package/dist/types/components/EmphasisNode/EmphasisNode.component.d.ts +1 -1
  11. package/dist/types/components/FallbackComponent/FallbackComponent.component.d.ts +1 -1
  12. package/dist/types/components/FootnoteNode/FootnoteNode.component.d.ts +1 -1
  13. package/dist/types/components/HeadingNode/HeadingNode.component.d.ts +1 -1
  14. package/dist/types/components/HighlightNode/HighlightNode.component.d.ts +1 -1
  15. package/dist/types/components/HtmlBlockNode/HtmlBlockNode.component.d.ts +1 -1
  16. package/dist/types/components/HtmlInlineNode/HtmlInlineNode.component.d.ts +1 -1
  17. package/dist/types/components/ImageNode/ImageNode.component.d.ts +0 -1
  18. package/dist/types/components/InfographicBlockNode/InfographicBlockNode.component.d.ts +2 -1
  19. package/dist/types/components/InlineCodeNode/InlineCodeNode.component.d.ts +13 -3
  20. package/dist/types/components/InsertNode/InsertNode.component.d.ts +1 -1
  21. package/dist/types/components/LinkNode/LinkNode.component.d.ts +1 -1
  22. package/dist/types/components/ListItemNode/ListItemNode.component.d.ts +1 -1
  23. package/dist/types/components/ListNode/ListNode.component.d.ts +1 -1
  24. package/dist/types/components/MermaidBlockNode/MermaidBlockNode.component.d.ts +1 -1
  25. package/dist/types/components/NestedRenderer/NestedRenderer.component.d.ts +1 -1
  26. package/dist/types/components/NodeOutlet/NodeOutlet.component.d.ts +1 -1
  27. package/dist/types/components/NodeRenderer/NodeRenderer.component.d.ts +5 -3
  28. package/dist/types/components/ParagraphNode/ParagraphNode.component.d.ts +6 -1
  29. package/dist/types/components/StrikethroughNode/StrikethroughNode.component.d.ts +1 -1
  30. package/dist/types/components/StrongNode/StrongNode.component.d.ts +1 -1
  31. package/dist/types/components/SubscriptNode/SubscriptNode.component.d.ts +1 -1
  32. package/dist/types/components/SuperscriptNode/SuperscriptNode.component.d.ts +1 -1
  33. package/dist/types/components/TableNode/TableNode.component.d.ts +1 -1
  34. package/dist/types/components/TextNode/TextNode.component.d.ts +14 -3
  35. package/dist/types/components/TextNode/streamingTextState.d.ts +11 -0
  36. package/dist/types/components/VmrContainerNode/VmrContainerNode.component.d.ts +1 -1
  37. package/dist/types/components/shared/node-helpers.d.ts +18 -10
  38. package/dist/types/components/shared/node-outlet-helpers.d.ts +1 -1
  39. package/dist/types/index.d.ts +14 -12
  40. package/dist/types/renderMarkdownHtml.d.ts +1 -1
  41. package/dist/types/types/monaco.d.ts +64 -0
  42. package/dist/types/workers/katexWorkerClient.d.ts +1 -1
  43. package/package.json +8 -7
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class AdmonitionNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class BlockquoteNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,5 +1,5 @@
1
1
  import { AfterViewInit, OnChanges, OnDestroy } from '@angular/core';
2
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
2
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
3
3
  export declare class CodeBlockNodeComponent implements AfterViewInit, OnChanges, OnDestroy {
4
4
  private readonly cdr;
5
5
  private readonly i18n;
@@ -45,6 +45,7 @@ export declare class CodeBlockNodeComponent implements AfterViewInit, OnChanges,
45
45
  get rawLanguage(): string;
46
46
  get canonicalLanguage(): string;
47
47
  get monacoLanguage(): string;
48
+ get isPlainTextLanguage(): boolean;
48
49
  get displayLanguage(): string;
49
50
  get languageIconDataUrl(): string;
50
51
  get resolvedCode(): string;
@@ -1,5 +1,5 @@
1
1
  import { AfterViewInit, OnChanges, OnDestroy } from '@angular/core';
2
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
2
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
3
3
  export declare class D2BlockNodeComponent implements AfterViewInit, OnChanges, OnDestroy {
4
4
  private readonly cdr;
5
5
  private previewHost?;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class DefinitionListNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,5 +1,5 @@
1
- import { Type, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
2
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { OnChanges, OnDestroy, SimpleChanges, Type } from '@angular/core';
2
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
3
3
  export declare class DynamicNodeHostComponent implements OnChanges, OnDestroy {
4
4
  component?: Type<any> | null;
5
5
  node: AngularRenderableNode;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class EmphasisNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class FallbackComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class FootnoteNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class HeadingNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class HighlightNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class HtmlBlockNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class HtmlInlineNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -4,5 +4,4 @@ export declare class ImageNodeComponent {
4
4
  get src(): string;
5
5
  get alt(): string;
6
6
  get title(): string;
7
- get isSvg(): boolean;
8
7
  }
@@ -1,5 +1,5 @@
1
1
  import { AfterViewInit, OnChanges, OnDestroy } from '@angular/core';
2
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
2
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
3
3
  export declare class InfographicBlockNodeComponent implements AfterViewInit, OnChanges, OnDestroy {
4
4
  private readonly cdr;
5
5
  private previewHost?;
@@ -35,6 +35,7 @@ export declare class InfographicBlockNodeComponent implements AfterViewInit, OnC
35
35
  get resolvedShowZoomControls(): boolean;
36
36
  get resolvedShowTooltips(): boolean;
37
37
  get resolvedMaxHeight(): string;
38
+ private resolveContainerMinHeight;
38
39
  get resolvedLoading(): boolean;
39
40
  get resolvedProgressiveRender(): boolean;
40
41
  get modalTransform(): string;
@@ -1,5 +1,15 @@
1
- import { AngularRenderableNode } from '../shared/node-helpers';
2
- export declare class InlineCodeNodeComponent {
1
+ import { OnChanges } from '@angular/core';
2
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
3
+ export declare class InlineCodeNodeComponent implements OnChanges {
3
4
  node: AngularRenderableNode;
4
- get code(): string;
5
+ context?: AngularRenderContext;
6
+ indexKey?: string;
7
+ typewriter?: boolean;
8
+ settledCode: string;
9
+ streamedDelta: string;
10
+ private streamFadeVersion;
11
+ ngOnChanges(): void;
12
+ get streamedDeltaClass(): "markstream-angular-text__stream-delta--a" | "markstream-angular-text__stream-delta--b";
13
+ get typewriterEnabled(): boolean;
14
+ settleStreamedDelta(): void;
5
15
  }
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class InsertNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,5 +1,5 @@
1
1
  import { AfterViewInit, OnChanges, OnDestroy } from '@angular/core';
2
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
2
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
3
3
  export declare class LinkNodeComponent implements AfterViewInit, OnChanges, OnDestroy {
4
4
  private anchorRef?;
5
5
  node: AngularRenderableNode;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class ListItemNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class ListNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,5 +1,5 @@
1
1
  import { AfterViewInit, OnChanges, OnDestroy } from '@angular/core';
2
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
2
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
3
3
  export declare class MermaidBlockNodeComponent implements AfterViewInit, OnChanges, OnDestroy {
4
4
  private readonly cdr;
5
5
  private previewHost?;
@@ -1,6 +1,6 @@
1
1
  import { OnChanges } from '@angular/core';
2
2
  import { MarkdownIt, ParseOptions } from 'stream-markdown-parser';
3
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
3
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
4
4
  type NestedRenderItem = {
5
5
  kind: 'label';
6
6
  attrs: Record<string, string | true> | null;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class NodeOutletComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,5 +1,5 @@
1
- import { AfterViewInit, OnChanges, OnDestroy, OnInit, EventEmitter } from '@angular/core';
2
- import { AngularRenderContext, AngularRenderableNode, NodeRendererProps } from '../shared/node-helpers';
1
+ import { AfterViewInit, OnChanges, OnDestroy, OnInit, SimpleChanges, EventEmitter } from '@angular/core';
2
+ import { AngularRenderableNode, AngularRenderContext, NodeRendererProps } from '../shared/node-helpers';
3
3
  interface VisibleNodeEntry {
4
4
  node: AngularRenderableNode;
5
5
  index: number;
@@ -63,6 +63,8 @@ export declare class NodeRendererComponent implements NodeRendererProps, OnChang
63
63
  private readonly nodeHeights;
64
64
  private readonly nodeVisibility;
65
65
  private readonly nodeSeen;
66
+ private readonly textStreamState;
67
+ private streamRenderVersion;
66
68
  private readonly slotElements;
67
69
  private readonly observedElements;
68
70
  private observer;
@@ -88,7 +90,7 @@ export declare class NodeRendererComponent implements NodeRendererProps, OnChang
88
90
  get incrementalRenderingActive(): boolean;
89
91
  get deferNodesActive(): boolean;
90
92
  get shouldObserveSlots(): boolean;
91
- ngOnChanges(): void;
93
+ ngOnChanges(changes: SimpleChanges): void;
92
94
  ngOnInit(): void;
93
95
  ngAfterViewInit(): void;
94
96
  ngOnDestroy(): void;
@@ -1,8 +1,9 @@
1
1
  import { OnChanges } from '@angular/core';
2
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
2
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
3
3
  type ParagraphSegment = {
4
4
  kind: 'inline';
5
5
  nodes: AngularRenderableNode[];
6
+ mediaOnly: boolean;
6
7
  } | {
7
8
  kind: 'block';
8
9
  node: AngularRenderableNode;
@@ -15,6 +16,10 @@ export declare class ParagraphNodeComponent implements OnChanges {
15
16
  get children(): AngularRenderableNode[];
16
17
  ngOnChanges(): void;
17
18
  trackByIndex: (index: number) => string;
19
+ trackByChildIndex: (index: number) => number;
18
20
  segmentPrefix(index: number): string;
21
+ childPrefix(segmentIndex: number, childIndex: number): string;
22
+ isWhitespaceText(node: AngularRenderableNode): boolean;
23
+ getTextContent(node: AngularRenderableNode): string;
19
24
  }
20
25
  export {};
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class StrikethroughNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class StrongNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class SubscriptNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class SuperscriptNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class TableNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,6 +1,17 @@
1
- import { AngularRenderableNode } from '../shared/node-helpers';
2
- export declare class TextNodeComponent {
1
+ import { OnChanges } from '@angular/core';
2
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
3
+ export declare class TextNodeComponent implements OnChanges {
3
4
  node: AngularRenderableNode;
4
- get text(): string;
5
+ context?: AngularRenderContext;
6
+ indexKey?: string;
7
+ typewriter?: boolean;
8
+ settledText: string;
9
+ streamedDelta: string;
10
+ private streamFadeVersion;
11
+ private lastStreamRenderVersion?;
12
+ ngOnChanges(): void;
5
13
  get centered(): boolean;
14
+ get streamedDeltaClass(): "markstream-angular-text__stream-delta--a" | "markstream-angular-text__stream-delta--b";
15
+ get typewriterEnabled(): boolean;
16
+ settleStreamedDelta(): void;
6
17
  }
@@ -0,0 +1,11 @@
1
+ export interface ResolveStreamingTextStateOptions {
2
+ nextContent: string;
3
+ previousContent: string;
4
+ typewriterEnabled: boolean;
5
+ }
6
+ export interface StreamingTextStateResult {
7
+ settledContent: string;
8
+ streamedDelta: string;
9
+ appended: boolean;
10
+ }
11
+ export declare function resolveStreamingTextState({ nextContent, previousContent, typewriterEnabled, }: ResolveStreamingTextStateOptions): StreamingTextStateResult;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from '../shared/node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from '../shared/node-helpers';
2
2
  export declare class VmrContainerNodeComponent {
3
3
  node: AngularRenderableNode;
4
4
  context?: AngularRenderContext;
@@ -1,5 +1,6 @@
1
1
  import { Type } from '@angular/core';
2
- import { BaseNode, MarkdownIt, ParseOptions, ParsedNode } from 'stream-markdown-parser';
2
+ import { BaseNode, MarkdownIt, ParsedNode, ParseOptions } from 'stream-markdown-parser';
3
+ import { CodeBlockMonacoOptions, CodeBlockMonacoTheme } from '../../types/monaco';
3
4
  export type AngularRenderableNode = (ParsedNode | BaseNode) & Record<string, unknown>;
4
5
  export interface NodeRendererEvents {
5
6
  onCopy?: (code: string) => void;
@@ -15,9 +16,9 @@ export interface NodeRendererProps {
15
16
  customHtmlTags?: readonly string[];
16
17
  viewportPriority?: boolean;
17
18
  codeBlockStream?: boolean;
18
- codeBlockDarkTheme?: any;
19
- codeBlockLightTheme?: any;
20
- codeBlockMonacoOptions?: Record<string, any>;
19
+ codeBlockDarkTheme?: CodeBlockMonacoTheme;
20
+ codeBlockLightTheme?: CodeBlockMonacoTheme;
21
+ codeBlockMonacoOptions?: CodeBlockMonacoOptions;
21
22
  renderCodeBlocksAsPre?: boolean;
22
23
  codeBlockMinWidth?: string | number;
23
24
  codeBlockMaxWidth?: string | number;
@@ -27,7 +28,7 @@ export interface NodeRendererProps {
27
28
  infographicProps?: Record<string, any>;
28
29
  customComponents?: Record<string, Type<any>>;
29
30
  showTooltips?: boolean;
30
- themes?: string[];
31
+ themes?: CodeBlockMonacoTheme[];
31
32
  isDark?: boolean;
32
33
  customId?: string;
33
34
  indexKey?: number | string;
@@ -49,6 +50,8 @@ export interface AngularRenderContext {
49
50
  indexKey?: string;
50
51
  final?: boolean;
51
52
  typewriter?: boolean;
53
+ textStreamState?: Map<string, string>;
54
+ streamRenderVersion?: number;
52
55
  showTooltips?: boolean;
53
56
  codeBlockStream?: boolean;
54
57
  renderCodeBlocksAsPre?: boolean;
@@ -62,19 +65,24 @@ export interface AngularRenderContext {
62
65
  infographicProps?: Record<string, any>;
63
66
  customComponents?: Record<string, Type<any>>;
64
67
  codeBlockThemes?: {
65
- themes?: string[];
66
- darkTheme?: any;
67
- lightTheme?: any;
68
- monacoOptions?: Record<string, any>;
68
+ themes?: CodeBlockMonacoTheme[];
69
+ darkTheme?: CodeBlockMonacoTheme;
70
+ lightTheme?: CodeBlockMonacoTheme;
71
+ monacoOptions?: CodeBlockMonacoOptions;
69
72
  minWidth?: string | number;
70
73
  maxWidth?: string | number;
71
74
  };
72
75
  events: NodeRendererEvents;
73
76
  }
74
77
  export declare const BLOCK_LEVEL_TYPES: Set<string>;
75
- export declare function buildRenderContext(props: NodeRendererProps, events?: NodeRendererEvents): AngularRenderContext;
78
+ export declare function buildRenderContext(props: NodeRendererProps, events?: NodeRendererEvents, textStreamState?: Map<string, string>, streamRenderVersion?: number): AngularRenderContext;
76
79
  export declare function resolveParsedNodes(props: NodeRendererProps): AngularRenderableNode[];
77
80
  export declare function getNodeList(value: unknown): AngularRenderableNode[];
81
+ export declare function isWhitespaceTextNode(node: AngularRenderableNode | null | undefined): boolean;
82
+ export declare function getMeaningfulLinkChildren(node: AngularRenderableNode | null | undefined): AngularRenderableNode[];
83
+ export declare function isImageOnlyLinkNode(node: AngularRenderableNode | null | undefined): boolean;
84
+ export declare function isMediaOnlyParagraphNodes(children: readonly AngularRenderableNode[]): boolean;
85
+ export declare function normalizeMediaOnlyParagraphNodes(children: readonly AngularRenderableNode[]): AngularRenderableNode[];
78
86
  export declare function getString(value: unknown): string;
79
87
  export declare function normalizeCustomHtmlTags(tags?: readonly string[]): string[];
80
88
  export declare function normalizeTagName(value: unknown): string;
@@ -1,4 +1,4 @@
1
- import { AngularRenderContext, AngularRenderableNode } from './node-helpers';
1
+ import { AngularRenderableNode, AngularRenderContext } from './node-helpers';
2
2
  export type CodeBlockMode = 'mermaid' | 'd2' | 'infographic' | 'pre' | 'code';
3
3
  export declare function resolveNodeOutletCodeMode(node: AngularRenderableNode, context?: AngularRenderContext): CodeBlockMode;
4
4
  export declare function resolveHtmlTag(node: AngularRenderableNode): string;
@@ -25,8 +25,6 @@ export { InsertNodeComponent as InsertNode } from './components/InsertNode/Inser
25
25
  export { LinkNodeComponent as LinkNode } from './components/LinkNode/LinkNode.component';
26
26
  export { ListItemNodeComponent as ListItemNode } from './components/ListItemNode/ListItemNode.component';
27
27
  export { ListNodeComponent as ListNode } from './components/ListNode/ListNode.component';
28
- export { MarkstreamAngularComponent } from './markstream-angular.component';
29
- export { MarkstreamAngularComponent as MarkdownRenderComponent } from './markstream-angular.component';
30
28
  export { MathBlockNodeComponent as MathBlockNode } from './components/MathBlockNode/MathBlockNode.component';
31
29
  export { MathInlineNodeComponent as MathInlineNode } from './components/MathInlineNode/MathInlineNode.component';
32
30
  export { MermaidBlockNodeComponent as MermaidBlockNode } from './components/MermaidBlockNode/MermaidBlockNode.component';
@@ -35,6 +33,8 @@ export { NodeRendererComponent as NodeRenderer } from './components/NodeRenderer
35
33
  export { ParagraphNodeComponent as ParagraphNode } from './components/ParagraphNode/ParagraphNode.component';
36
34
  export { PreCodeNodeComponent as PreCodeNode } from './components/PreCodeNode/PreCodeNode.component';
37
35
  export { ReferenceNodeComponent as ReferenceNode } from './components/ReferenceNode/ReferenceNode.component';
36
+ export type { AngularRenderableNode, AngularRenderContext, NodeRendererEvents, NodeRendererProps, } from './components/shared/node-helpers';
37
+ export { buildRenderContext, resolveParsedNodes, } from './components/shared/node-helpers';
38
38
  export { SafeAttrsDirective } from './components/shared/safe-attrs.directive';
39
39
  export { StrikethroughNodeComponent as StrikethroughNode } from './components/StrikethroughNode/StrikethroughNode.component';
40
40
  export { StrongNodeComponent as StrongNode } from './components/StrongNode/StrongNode.component';
@@ -48,24 +48,26 @@ export { clearGlobalCustomComponents, getCustomComponentsRevision, getCustomNode
48
48
  export type { CustomComponentMap } from './customComponents';
49
49
  export { disposeRenderedHtmlEnhancements, enhanceRenderedHtml, } from './enhanceRenderedHtml';
50
50
  export type { EnhanceRenderedHtmlOptions, RenderedHtmlEnhancementHandle } from './enhanceRenderedHtml';
51
- export type { AngularRenderContext, AngularRenderableNode, NodeRendererEvents, NodeRendererProps, } from './components/shared/node-helpers';
52
- export { buildRenderContext, resolveParsedNodes, } from './components/shared/node-helpers';
53
51
  export { setDefaultI18nMap, useSafeI18n } from './i18n/useSafeI18n';
54
- export { renderMarkdownNodeToHtml, renderMarkdownNodesToHtml, renderMarkdownToHtml, renderNestedMarkdownToHtml, } from './renderMarkdownHtml';
55
- export type { MarkstreamAngularRenderOptions, NestedMarkdownHtmlInput, NestedMarkdownHtmlOptions, RenderableMarkdownNode, } from './renderMarkdownHtml';
56
- export { sanitizeHtmlContent } from './sanitizeHtmlContent';
57
- export { getLanguageIcon, languageMap, normalizeLanguageIdentifier, resolveMonacoLanguageId, setLanguageIconResolver, } from './utils/languageIcon';
58
- export type { LanguageIconResolver } from './utils/languageIcon';
59
- export { parseNestedMarkdownToNodes, } from './parseNestedMarkdownToNodes';
60
- export type { NestedMarkdownNodesInput, NestedMarkdownNodesOptions, } from './parseNestedMarkdownToNodes';
52
+ export { MarkstreamAngularComponent } from './markstream-angular.component';
53
+ export { MarkstreamAngularComponent as MarkdownRenderComponent } from './markstream-angular.component';
54
+ export { MarkstreamAngularComponent as default } from './markstream-angular.component';
55
+ export type { MarkstreamAngularComponentProps } from './markstream-angular.component';
61
56
  export type { D2Loader } from './optional/d2';
62
57
  export { disableD2, enableD2, isD2Enabled, setD2Loader, } from './optional/d2';
63
58
  export type { KatexLoader } from './optional/katex';
64
59
  export { disableKatex, enableKatex, getKatex, isKatexEnabled, setKatexLoader, } from './optional/katex';
65
60
  export type { MermaidLoader } from './optional/mermaid';
66
61
  export { disableMermaid, enableMermaid, getMermaid, isMermaidEnabled, setMermaidLoader, } from './optional/mermaid';
62
+ export { parseNestedMarkdownToNodes, } from './parseNestedMarkdownToNodes';
63
+ export type { NestedMarkdownNodesInput, NestedMarkdownNodesOptions, } from './parseNestedMarkdownToNodes';
64
+ export { renderMarkdownNodesToHtml, renderMarkdownNodeToHtml, renderMarkdownToHtml, renderNestedMarkdownToHtml, } from './renderMarkdownHtml';
65
+ export type { MarkstreamAngularRenderOptions, NestedMarkdownHtmlInput, NestedMarkdownHtmlOptions, RenderableMarkdownNode, } from './renderMarkdownHtml';
66
+ export { sanitizeHtmlContent } from './sanitizeHtmlContent';
67
+ export type { CodeBlockDiffAppearance, CodeBlockDiffHideUnchangedRegions, CodeBlockDiffHideUnchangedRegionsOptions, CodeBlockDiffHunkActionContext, CodeBlockDiffHunkActionKind, CodeBlockDiffHunkSide, CodeBlockDiffLineStyle, CodeBlockDiffUnchangedRegionStyle, CodeBlockMonacoLanguage, CodeBlockMonacoOptions, CodeBlockMonacoTheme, CodeBlockMonacoThemeObject, } from './types/monaco';
68
+ export { getLanguageIcon, languageMap, normalizeLanguageIdentifier, resolveMonacoLanguageId, setLanguageIconResolver, } from './utils/languageIcon';
69
+ export type { LanguageIconResolver } from './utils/languageIcon';
67
70
  export * from './workers/katexCdnWorker';
68
71
  export * from './workers/katexWorkerClient';
69
72
  export * from './workers/mermaidCdnWorker';
70
73
  export * from './workers/mermaidWorkerClient';
71
- export { MarkstreamAngularComponent as default } from './markstream-angular.component';
@@ -1,4 +1,4 @@
1
- import { BaseNode, ParseOptions, ParsedNode } from 'stream-markdown-parser';
1
+ import { BaseNode, ParsedNode, ParseOptions } from 'stream-markdown-parser';
2
2
  export type RenderableMarkdownNode = (ParsedNode | BaseNode) & Record<string, unknown>;
3
3
  type NestedClassValue = string | readonly string[] | null | undefined;
4
4
  export interface MarkstreamAngularRenderOptions {
@@ -0,0 +1,64 @@
1
+ export interface CodeBlockMonacoThemeObject {
2
+ name: string;
3
+ base?: string;
4
+ inherit?: boolean;
5
+ colors?: Record<string, string>;
6
+ rules?: Array<Record<string, unknown>>;
7
+ [key: string]: unknown;
8
+ }
9
+ export type CodeBlockMonacoTheme = string | CodeBlockMonacoThemeObject;
10
+ export type CodeBlockMonacoLanguage = string | ((...args: any[]) => unknown);
11
+ export interface CodeBlockDiffHideUnchangedRegionsOptions {
12
+ enabled?: boolean;
13
+ contextLineCount?: number;
14
+ minimumLineCount?: number;
15
+ revealLineCount?: number;
16
+ }
17
+ export type CodeBlockDiffHideUnchangedRegions = boolean | CodeBlockDiffHideUnchangedRegionsOptions;
18
+ export type CodeBlockDiffLineStyle = 'background' | 'bar';
19
+ export type CodeBlockDiffAppearance = 'auto' | 'light' | 'dark';
20
+ export type CodeBlockDiffUnchangedRegionStyle = 'line-info' | 'line-info-basic' | 'metadata' | 'simple';
21
+ export type CodeBlockDiffHunkActionKind = 'revert' | 'stage';
22
+ export type CodeBlockDiffHunkSide = 'upper' | 'lower';
23
+ export interface CodeBlockDiffHunkActionContext {
24
+ action: CodeBlockDiffHunkActionKind;
25
+ side: CodeBlockDiffHunkSide;
26
+ lineChange: unknown;
27
+ originalModel: unknown;
28
+ modifiedModel: unknown;
29
+ }
30
+ export interface CodeBlockMonacoOptions {
31
+ MAX_HEIGHT?: number | string;
32
+ fontSize?: number;
33
+ lineHeight?: number;
34
+ fontFamily?: string;
35
+ tabSize?: number;
36
+ readOnly?: boolean;
37
+ wordWrap?: 'off' | 'on' | 'wordWrapColumn' | 'bounded' | string;
38
+ wrappingIndent?: 'none' | 'same' | 'indent' | 'deepIndent' | string;
39
+ theme?: string;
40
+ themes?: CodeBlockMonacoTheme[];
41
+ languages?: CodeBlockMonacoLanguage[];
42
+ renderSideBySide?: boolean;
43
+ enableSplitViewResizing?: boolean;
44
+ ignoreTrimWhitespace?: boolean;
45
+ maxComputationTime?: number;
46
+ diffAlgorithm?: string;
47
+ renderIndicators?: boolean;
48
+ originalEditable?: boolean;
49
+ revealDebounceMs?: number;
50
+ revealStrategy?: 'bottom' | 'centerIfOutside' | 'center';
51
+ revealBatchOnIdleMs?: number;
52
+ updateThrottleMs?: number;
53
+ diffUpdateThrottleMs?: number;
54
+ diffAutoScroll?: boolean;
55
+ diffHideUnchangedRegions?: CodeBlockDiffHideUnchangedRegions;
56
+ diffLineStyle?: CodeBlockDiffLineStyle;
57
+ diffAppearance?: CodeBlockDiffAppearance;
58
+ diffUnchangedRegionStyle?: CodeBlockDiffUnchangedRegionStyle;
59
+ diffHunkActionsOnHover?: boolean;
60
+ diffHunkHoverHideDelayMs?: number;
61
+ onDiffHunkAction?: (context: CodeBlockDiffHunkActionContext) => void | boolean | Promise<void | boolean>;
62
+ scrollbar?: Record<string, any>;
63
+ [key: string]: any;
64
+ }
@@ -1,3 +1,4 @@
1
+ export declare const WORKER_BUSY_CODE = "WORKER_BUSY";
1
2
  export declare function setKaTeXWorker(nextWorker: Worker): void;
2
3
  export declare function clearKaTeXWorker(): void;
3
4
  export declare function setKaTeXWorkerDebug(enabled: boolean): void;
@@ -8,7 +9,6 @@ export declare function getKaTeXWorkerLoad(): {
8
9
  max: number;
9
10
  };
10
11
  export declare function setKaTeXWorkerMaxConcurrency(value: number): void;
11
- export declare const WORKER_BUSY_CODE = "WORKER_BUSY";
12
12
  export declare function isKaTeXWorkerBusy(): boolean;
13
13
  export declare function waitForKaTeXWorkerSlot(timeout?: number, signal?: AbortSignal): Promise<void>;
14
14
  export interface BackpressureOptions {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "markstream-angular",
3
3
  "type": "module",
4
- "version": "0.0.1-alpha.0",
4
+ "version": "0.0.1-alpha.10",
5
5
  "description": "Experimental Angular Markdown renderer for Markstream, built on stream-markdown AST and a stable HTML baseline renderer.",
6
6
  "author": "Simon He",
7
7
  "license": "MIT",
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "exports": {
29
29
  ".": {
30
- "types": "./dist/index.d.ts",
30
+ "types": "./dist/types/index.d.ts",
31
31
  "import": "./dist/index.js"
32
32
  },
33
33
  "./index.css": "./dist/index.css",
@@ -36,18 +36,18 @@
36
36
  },
37
37
  "main": "./dist/index.js",
38
38
  "module": "./dist/index.js",
39
- "types": "./dist/index.d.ts",
39
+ "types": "./dist/types/index.d.ts",
40
40
  "files": [
41
41
  "dist"
42
42
  ],
43
43
  "peerDependencies": {
44
- "@antv/infographic": "^0.2.3",
45
44
  "@angular/common": ">=20",
46
45
  "@angular/core": ">=20",
46
+ "@antv/infographic": "^0.2.3",
47
47
  "@terrastruct/d2": ">=0.1.33",
48
48
  "katex": ">=0.16.22",
49
49
  "mermaid": ">=11",
50
- "stream-monaco": ">=0.0.18"
50
+ "stream-monaco": ">=0.0.21"
51
51
  },
52
52
  "peerDependenciesMeta": {
53
53
  "@antv/infographic": {
@@ -68,7 +68,7 @@
68
68
  },
69
69
  "dependencies": {
70
70
  "@floating-ui/dom": "^1.7.6",
71
- "stream-markdown-parser": "0.0.69"
71
+ "stream-markdown-parser": "0.0.80"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@types/node": "^18.19.130",
@@ -81,6 +81,7 @@
81
81
  "build": "vite build --mode npm",
82
82
  "dev": "vite dev",
83
83
  "preview": "vite preview",
84
- "typecheck": "tsc --noEmit"
84
+ "typecheck": "tsc --noEmit",
85
+ "release": "bumpp --commit --no-tag --no-push && pnpm publish --access public && node ../../scripts/tag-package.mjs --package-json package.json --push"
85
86
  }
86
87
  }