@astryxdesign/core 0.6.1 → 0.6.2

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 (62) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/DateRangeInput/DateRangeInput.d.ts +3 -0
  3. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  4. package/dist/DateRangeInput/DateRangeInput.js +16 -9
  5. package/dist/Dialog/DialogHeader.d.ts +1 -1
  6. package/dist/Dialog/DialogHeader.d.ts.map +1 -1
  7. package/dist/Dialog/DialogHeader.js +10 -7
  8. package/dist/FileInput/FileInput.d.ts.map +1 -1
  9. package/dist/FileInput/FileInput.js +9 -3
  10. package/dist/Markdown/Markdown.d.ts +10 -2
  11. package/dist/Markdown/Markdown.d.ts.map +1 -1
  12. package/dist/Markdown/Markdown.js +58 -14
  13. package/dist/Markdown/index.d.ts +1 -1
  14. package/dist/Markdown/index.d.ts.map +1 -1
  15. package/dist/Markdown/parser.d.ts +126 -12
  16. package/dist/Markdown/parser.d.ts.map +1 -1
  17. package/dist/Markdown/parser.js +369 -34
  18. package/dist/Markdown/utils.d.ts +1 -1
  19. package/dist/Markdown/utils.d.ts.map +1 -1
  20. package/dist/Slider/Slider.d.ts.map +1 -1
  21. package/dist/Slider/Slider.js +5 -2
  22. package/dist/Spinner/Spinner.d.ts +1 -1
  23. package/dist/Spinner/Spinner.d.ts.map +1 -1
  24. package/dist/Spinner/Spinner.js +23 -15
  25. package/dist/astryx.css +2 -1
  26. package/locales/en.json +16 -0
  27. package/locales/pseudo.json +12 -0
  28. package/package.json +6 -4
  29. package/scripts/agent-doc-state.mjs +1 -1
  30. package/src/DateRangeInput/DateRangeInput.doc.mjs +35 -7
  31. package/src/DateRangeInput/DateRangeInput.spec.md +203 -0
  32. package/src/DateRangeInput/DateRangeInput.test.tsx +100 -4
  33. package/src/DateRangeInput/DateRangeInput.tsx +29 -20
  34. package/src/Dialog/Dialog.doc.mjs +3 -0
  35. package/src/Dialog/Dialog.spec.md +1 -1
  36. package/src/Dialog/DialogHeader.doc.mjs +38 -0
  37. package/src/Dialog/DialogHeader.test.tsx +49 -0
  38. package/src/Dialog/DialogHeader.tsx +23 -4
  39. package/src/Dialog/modules/DialogHeader.spec.md +152 -0
  40. package/src/FileInput/FileInput.doc.mjs +2 -0
  41. package/src/FileInput/FileInput.spec.md +199 -0
  42. package/src/FileInput/FileInput.test.tsx +14 -0
  43. package/src/FileInput/FileInput.tsx +13 -3
  44. package/src/Markdown/Markdown.doc.mjs +167 -42
  45. package/src/Markdown/Markdown.public.test.ts +157 -0
  46. package/src/Markdown/Markdown.spec.md +149 -70
  47. package/src/Markdown/Markdown.test.tsx +107 -3
  48. package/src/Markdown/Markdown.tsx +116 -35
  49. package/src/Markdown/incremental.test.ts +175 -7
  50. package/src/Markdown/index.ts +6 -0
  51. package/src/Markdown/parser.perf.test.ts +3 -1
  52. package/src/Markdown/parser.test.ts +122 -0
  53. package/src/Markdown/parser.ts +609 -81
  54. package/src/Markdown/utils.ts +6 -0
  55. package/src/Slider/Slider.doc.mjs +16 -0
  56. package/src/Slider/Slider.spec.md +61 -47
  57. package/src/Slider/Slider.test.tsx +18 -0
  58. package/src/Slider/Slider.tsx +12 -6
  59. package/src/Spinner/Spinner.doc.mjs +6 -3
  60. package/src/Spinner/Spinner.test.tsx +37 -0
  61. package/src/Spinner/Spinner.tsx +31 -14
  62. package/src/theme/derivedVarRegistry.test.ts +6 -4
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * @file parser.ts
3
3
  * @input Markdown string
4
- * @output Array of MarkdownNode AST nodes; heading slug helpers
4
+ * @output Array of MarkdownNode AST nodes, including opt-in math; heading slug
5
+ * helpers
5
6
  * (inlineText, slugify, uniqueSlug) shared by Markdown rendering and
6
7
  * Outline's parseOutlineFromMarkdown
7
8
  * @position Core parser; consumed by Markdown.tsx and Outline
8
9
  */
10
+ /** Nodes returned by default and legacy parser calls. */
9
11
  export type InlineNode = {
10
12
  type: 'text';
11
13
  content: string;
@@ -35,14 +37,49 @@ export type InlineNode = {
35
37
  } | {
36
38
  type: 'break';
37
39
  };
38
- export type BlockNode = BlockNodeKind & {
40
+ /** The additional inline node returned only when parsing with `math: true`. */
41
+ export type MathInlineNode = {
42
+ type: 'math';
43
+ value: string;
44
+ };
45
+ /** Nodes returned by an explicitly math-enabled inline parse. */
46
+ export type InlineNodeWithMath = {
47
+ type: 'text';
48
+ content: string;
49
+ } | {
50
+ type: 'bold';
51
+ children: InlineNodeWithMath[];
52
+ } | {
53
+ type: 'italic';
54
+ children: InlineNodeWithMath[];
55
+ } | {
56
+ type: 'strikethrough';
57
+ children: InlineNodeWithMath[];
58
+ } | {
59
+ type: 'code';
60
+ content: string;
61
+ } | MathInlineNode | {
62
+ type: 'link';
63
+ href: string;
64
+ children: InlineNodeWithMath[];
65
+ } | {
66
+ type: 'image';
67
+ src: string;
68
+ alt: string;
69
+ } | {
70
+ type: 'citation';
71
+ sourceId: string;
72
+ } | {
73
+ type: 'break';
74
+ };
75
+ type BlockMetadata = {
39
76
  /**
40
77
  * Where this block came from in the source, when parsed with the
41
78
  * `sourceRanges` option. Top-level blocks only.
42
79
  */
43
80
  range?: SourceRange;
44
81
  };
45
- type BlockNodeKind = {
82
+ type LegacyBlockNodeKind = {
46
83
  type: 'heading';
47
84
  level: 1 | 2 | 3 | 4 | 5 | 6;
48
85
  children: InlineNode[];
@@ -76,6 +113,49 @@ type BlockNodeKind = {
76
113
  src: string;
77
114
  alt: string;
78
115
  };
116
+ /** Blocks returned by default and legacy parser calls. */
117
+ export type BlockNode = LegacyBlockNodeKind & BlockMetadata;
118
+ /** The additional block returned only when parsing with `math: true`. */
119
+ export type MathBlockNode = {
120
+ type: 'math';
121
+ value: string;
122
+ } & BlockMetadata;
123
+ type MathEnabledBlockNodeKind = {
124
+ type: 'heading';
125
+ level: 1 | 2 | 3 | 4 | 5 | 6;
126
+ children: InlineNodeWithMath[];
127
+ } | {
128
+ type: 'paragraph';
129
+ children: InlineNodeWithMath[];
130
+ } | {
131
+ type: 'codeblock';
132
+ language: string;
133
+ content: string;
134
+ } | MathBlockNode | {
135
+ type: 'blockquote';
136
+ children: BlockNodeWithMath[];
137
+ } | {
138
+ type: 'list';
139
+ ordered: boolean;
140
+ start?: number;
141
+ /** Ordered-list marker delimiter ('.' or ')'). Undefined for bullets. */
142
+ delimiter?: '.' | ')';
143
+ loose?: boolean;
144
+ items: ListItemNodeWithMath[];
145
+ } | {
146
+ type: 'table';
147
+ headers: TableCellNodeWithMath[];
148
+ alignments: TableAlignment[];
149
+ rows: TableCellNodeWithMath[][];
150
+ } | {
151
+ type: 'hr';
152
+ } | {
153
+ type: 'image';
154
+ src: string;
155
+ alt: string;
156
+ };
157
+ /** Blocks returned by an explicitly math-enabled block parse. */
158
+ export type BlockNodeWithMath = MathEnabledBlockNodeKind & BlockMetadata;
79
159
  /**
80
160
  * Where a block sits in the source string handed to `parseMarkdown`:
81
161
  * `source.slice(start, end)` is the block, and `end` excludes the block's
@@ -93,9 +173,16 @@ export type ListItemNode = {
93
173
  checked?: boolean;
94
174
  children: BlockNode[];
95
175
  };
176
+ type ListItemNodeWithMath = {
177
+ checked?: boolean;
178
+ children: BlockNodeWithMath[];
179
+ };
96
180
  export type TableCellNode = {
97
181
  children: InlineNode[];
98
182
  };
183
+ type TableCellNodeWithMath = {
184
+ children: InlineNodeWithMath[];
185
+ };
99
186
  export type TableAlignment = 'left' | 'center' | 'right' | null;
100
187
  /**
101
188
  * Options for the markdown parser entry points.
@@ -104,7 +191,7 @@ export type TableAlignment = 'left' | 'center' | 'right' | null;
104
191
  * `parseMarkdownIncremental` functions also accept the legacy
105
192
  * `ReadonlySet<string>` shape as the second argument.
106
193
  */
107
- export type ParseOptions = {
194
+ type CommonParseOptions = {
108
195
  /** Set of citation source ids — `[id]` / `【id】` markers in this set
109
196
  * become citation nodes instead of plain text / links. */
110
197
  sourceIds?: ReadonlySet<string>;
@@ -131,14 +218,32 @@ export type ParseOptions = {
131
218
  */
132
219
  sourceRanges?: boolean;
133
220
  };
221
+ /** Options for default and legacy parser results. */
222
+ export type ParseOptions = CommonParseOptions & {
223
+ math?: false | undefined;
224
+ };
225
+ /**
226
+ * Options that explicitly parse `$…$` and `$$…$$` into math-enabled result
227
+ * unions. Keeping this separate prevents a legacy `ParseOptions` annotation
228
+ * from silently widening an exhaustive node switch.
229
+ */
230
+ export type MathParseOptions = CommonParseOptions & {
231
+ math: true;
232
+ };
134
233
  export declare function parseInline(text: string, sourceIds?: ReadonlySet<string>): InlineNode[];
234
+ export declare function parseInline(text: string, options: MathParseOptions): InlineNodeWithMath[];
135
235
  export declare function parseInline(text: string, options: ParseOptions): InlineNode[];
136
236
  export declare function parseMarkdown(input: string, sourceIds?: ReadonlySet<string>): BlockNode[];
237
+ export declare function parseMarkdown(input: string, options: MathParseOptions): BlockNodeWithMath[];
137
238
  export declare function parseMarkdown(input: string, options: ParseOptions): BlockNode[];
138
- export interface IncrementalState {
239
+ type IncrementalBlockNode<MathEnabled extends boolean> = MathEnabled extends true ? BlockNodeWithMath : BlockNode;
240
+ declare const incrementalStateMode: unique symbol;
241
+ export interface IncrementalState<MathEnabled extends boolean = false> {
242
+ /** @internal Nominally couples a factory-created cache to its node union. */
243
+ readonly [incrementalStateMode]: MathEnabled;
139
244
  prevInput: string;
140
245
  settledText: string;
141
- settledBlocks: BlockNode[];
246
+ settledBlocks: IncrementalBlockNode<MathEnabled>[];
142
247
  settledUpTo: number;
143
248
  /**
144
249
  * The `autolink` option the cached `settledBlocks` were parsed with.
@@ -147,6 +252,8 @@ export interface IncrementalState {
147
252
  * with newly-arriving content.
148
253
  */
149
254
  autolink?: 'gfm';
255
+ /** Whether the cached settled blocks were parsed with math enabled. */
256
+ math?: MathEnabled;
150
257
  /**
151
258
  * The `sourceRanges` option the cached `settledBlocks` were parsed with.
152
259
  * Flipping it invalidates them the same way `autolink` does: they either
@@ -171,17 +278,23 @@ type IncrementalWork = {
171
278
  /** Block nodes parsed anew this call (settled delta + unsettled tail). */
172
279
  readonly renderedBlocks: number;
173
280
  };
174
- export declare function createIncrementalState(): IncrementalState;
281
+ /**
282
+ * Create an incremental parser cache. Use the `<true>` type argument with
283
+ * `MathParseOptions` so the cache and returned nodes share the math contract.
284
+ */
285
+ export declare function createIncrementalState<MathEnabled extends boolean = false>(): IncrementalState<MathEnabled>;
175
286
  /**
176
287
  * Deterministic work counters for the most recent incremental parse.
177
288
  * @internal Exported from this module for performance regression tests only.
178
289
  */
179
- export declare function getIncrementalParseWork(state: IncrementalState): IncrementalWork;
290
+ export declare function getIncrementalParseWork(state: IncrementalState<boolean>): IncrementalWork;
180
291
  /**
181
292
  * Strip trailing incomplete inline syntax that appears during streaming.
182
293
  * Only affects the tail of the last line — safe to apply to the full string.
183
294
  */
184
- export declare function trimStreamingArtifacts(input: string): string;
295
+ export declare function trimStreamingArtifacts(input: string, options?: {
296
+ math?: boolean;
297
+ }): string;
185
298
  /**
186
299
  * Parse one cumulative snapshot of a streaming Markdown document.
187
300
  *
@@ -193,10 +306,11 @@ export declare function trimStreamingArtifacts(input: string): string;
193
306
  * starts with the settled prefix (a replacement rather than an append),
194
307
  * the cache is discarded and the whole document is re-parsed.
195
308
  */
196
- export declare function parseMarkdownIncremental(input: string, state: IncrementalState, sourceIds?: ReadonlySet<string>): BlockNode[];
197
- export declare function parseMarkdownIncremental(input: string, state: IncrementalState, options: ParseOptions): BlockNode[];
309
+ export declare function parseMarkdownIncremental(input: string, state: IncrementalState<false>, sourceIds?: ReadonlySet<string>): BlockNode[];
310
+ export declare function parseMarkdownIncremental(input: string, state: IncrementalState<true>, options: MathParseOptions): BlockNodeWithMath[];
311
+ export declare function parseMarkdownIncremental(input: string, state: IncrementalState<false>, options: ParseOptions): BlockNode[];
198
312
  /** Flatten inline nodes into their plain text content. */
199
- export declare function inlineText(nodes: InlineNode[]): string;
313
+ export declare function inlineText(nodes: ReadonlyArray<InlineNodeWithMath>): string;
200
314
  /** Turn heading text into a URL-safe slug (lowercase, hyphen-separated). */
201
315
  export declare function slugify(value: string): string;
202
316
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/Markdown/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/Markdown/parser.ts"],"names":[],"mappings":"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"}