@miethe/ui 0.3.0 → 0.6.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/CHANGELOG.md +51 -0
- package/README.md +776 -9
- package/dist/components/content-viewer/ArticleViewer.d.ts +42 -0
- package/dist/components/content-viewer/ArticleViewer.d.ts.map +1 -0
- package/dist/components/content-viewer/ArticleViewer.js +321 -0
- package/dist/components/content-viewer/ArticleViewer.js.map +1 -0
- package/dist/components/content-viewer/FrontmatterHeader.d.ts +32 -0
- package/dist/components/content-viewer/FrontmatterHeader.d.ts.map +1 -0
- package/dist/components/content-viewer/FrontmatterHeader.js +95 -0
- package/dist/components/content-viewer/FrontmatterHeader.js.map +1 -0
- package/dist/components/content-viewer/callouts/Callout.d.ts +43 -0
- package/dist/components/content-viewer/callouts/Callout.d.ts.map +1 -0
- package/dist/components/content-viewer/callouts/Callout.js +86 -0
- package/dist/components/content-viewer/callouts/Callout.js.map +1 -0
- package/dist/components/content-viewer/callouts/index.d.ts +2 -0
- package/dist/components/content-viewer/callouts/index.d.ts.map +1 -0
- package/dist/components/content-viewer/callouts/index.js +2 -0
- package/dist/components/content-viewer/callouts/index.js.map +1 -0
- package/dist/components/content-viewer/index.d.ts +21 -0
- package/dist/components/content-viewer/index.d.ts.map +1 -0
- package/dist/components/content-viewer/index.js +29 -0
- package/dist/components/content-viewer/index.js.map +1 -0
- package/dist/components/content-viewer/plugins/index.d.ts +5 -0
- package/dist/components/content-viewer/plugins/index.d.ts.map +1 -0
- package/dist/components/content-viewer/plugins/index.js +5 -0
- package/dist/components/content-viewer/plugins/index.js.map +1 -0
- package/dist/components/content-viewer/plugins/lowlightLoader.d.ts +63 -0
- package/dist/components/content-viewer/plugins/lowlightLoader.d.ts.map +1 -0
- package/dist/components/content-viewer/plugins/lowlightLoader.js +120 -0
- package/dist/components/content-viewer/plugins/lowlightLoader.js.map +1 -0
- package/dist/components/content-viewer/plugins/rehypeCodeHighlight.d.ts +44 -0
- package/dist/components/content-viewer/plugins/rehypeCodeHighlight.d.ts.map +1 -0
- package/dist/components/content-viewer/plugins/rehypeCodeHighlight.js +122 -0
- package/dist/components/content-viewer/plugins/rehypeCodeHighlight.js.map +1 -0
- package/dist/components/content-viewer/plugins/rehypeExternalLinks.d.ts +59 -0
- package/dist/components/content-viewer/plugins/rehypeExternalLinks.d.ts.map +1 -0
- package/dist/components/content-viewer/plugins/rehypeExternalLinks.js +79 -0
- package/dist/components/content-viewer/plugins/rehypeExternalLinks.js.map +1 -0
- package/dist/components/content-viewer/plugins/rehypeHeadingIds.d.ts +37 -0
- package/dist/components/content-viewer/plugins/rehypeHeadingIds.d.ts.map +1 -0
- package/dist/components/content-viewer/plugins/rehypeHeadingIds.js +82 -0
- package/dist/components/content-viewer/plugins/rehypeHeadingIds.js.map +1 -0
- package/dist/components/content-viewer/plugins/remarkCallouts.d.ts +39 -0
- package/dist/components/content-viewer/plugins/remarkCallouts.d.ts.map +1 -0
- package/dist/components/content-viewer/plugins/remarkCallouts.js +77 -0
- package/dist/components/content-viewer/plugins/remarkCallouts.js.map +1 -0
- package/dist/components/content-viewer/plugins/slugify.d.ts +24 -0
- package/dist/components/content-viewer/plugins/slugify.d.ts.map +1 -0
- package/dist/components/content-viewer/plugins/slugify.js +31 -0
- package/dist/components/content-viewer/plugins/slugify.js.map +1 -0
- package/dist/components/content-viewer/sanitize.d.ts +75 -0
- package/dist/components/content-viewer/sanitize.d.ts.map +1 -0
- package/dist/components/content-viewer/sanitize.js +252 -0
- package/dist/components/content-viewer/sanitize.js.map +1 -0
- package/dist/components/content-viewer/types.d.ts +315 -0
- package/dist/components/content-viewer/types.d.ts.map +1 -0
- package/dist/components/content-viewer/types.js +8 -0
- package/dist/components/content-viewer/types.js.map +1 -0
- package/dist/components/content-viewer/variants.d.ts +71 -0
- package/dist/components/content-viewer/variants.d.ts.map +1 -0
- package/dist/components/content-viewer/variants.js +105 -0
- package/dist/components/content-viewer/variants.js.map +1 -0
- package/dist/content-viewer/ContentPane.d.ts +44 -1
- package/dist/content-viewer/ContentPane.d.ts.map +1 -1
- package/dist/content-viewer/ContentPane.js +139 -5
- package/dist/content-viewer/ContentPane.js.map +1 -1
- package/dist/content-viewer/FileTree.d.ts +23 -1
- package/dist/content-viewer/FileTree.d.ts.map +1 -1
- package/dist/content-viewer/FileTree.js +20 -5
- package/dist/content-viewer/FileTree.js.map +1 -1
- package/dist/content-viewer/index.d.ts +2 -0
- package/dist/content-viewer/index.d.ts.map +1 -1
- package/dist/content-viewer/index.js +2 -0
- package/dist/content-viewer/index.js.map +1 -1
- package/dist/diff/DiffViewer.js +3 -3
- package/dist/diff/DiffViewer.js.map +1 -1
- package/dist/discovery/discovery-card.d.ts +25 -0
- package/dist/discovery/discovery-card.d.ts.map +1 -0
- package/dist/discovery/discovery-card.js +265 -0
- package/dist/discovery/discovery-card.js.map +1 -0
- package/dist/discovery/index.d.ts +3 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +3 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/display/ContextInfoCard.d.ts +61 -0
- package/dist/display/ContextInfoCard.d.ts.map +1 -0
- package/dist/display/ContextInfoCard.js +45 -0
- package/dist/display/ContextInfoCard.js.map +1 -0
- package/dist/display/index.d.ts +2 -0
- package/dist/display/index.d.ts.map +1 -1
- package/dist/display/index.js +1 -0
- package/dist/display/index.js.map +1 -1
- package/dist/editor/CodeEditor.d.ts +39 -0
- package/dist/editor/CodeEditor.d.ts.map +1 -0
- package/dist/editor/CodeEditor.js +114 -0
- package/dist/editor/CodeEditor.js.map +1 -0
- package/dist/editor/MarkdownEditor.d.ts +3 -2
- package/dist/editor/MarkdownEditor.d.ts.map +1 -1
- package/dist/editor/MarkdownEditor.js +32 -80
- package/dist/editor/MarkdownEditor.js.map +1 -1
- package/dist/editor/SplitPreview.d.ts +10 -1
- package/dist/editor/SplitPreview.d.ts.map +1 -1
- package/dist/editor/SplitPreview.js +4 -2
- package/dist/editor/SplitPreview.js.map +1 -1
- package/dist/editor/codeLanguages.d.ts +28 -0
- package/dist/editor/codeLanguages.d.ts.map +1 -0
- package/dist/editor/codeLanguages.js +54 -0
- package/dist/editor/codeLanguages.js.map +1 -0
- package/dist/editor/index.d.ts +2 -0
- package/dist/editor/index.d.ts.map +1 -1
- package/dist/editor/index.js +6 -0
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/theme.d.ts +16 -0
- package/dist/editor/theme.d.ts.map +1 -0
- package/dist/editor/theme.js +82 -0
- package/dist/editor/theme.js.map +1 -0
- package/dist/filters/filter-bar.d.ts +14 -0
- package/dist/filters/filter-bar.d.ts.map +1 -0
- package/dist/filters/filter-bar.js +47 -0
- package/dist/filters/filter-bar.js.map +1 -0
- package/dist/filters/filter-slot-config.d.ts +239 -0
- package/dist/filters/filter-slot-config.d.ts.map +1 -0
- package/dist/filters/filter-slot-config.js +24 -0
- package/dist/filters/filter-slot-config.js.map +1 -0
- package/dist/filters/index.d.ts +2 -0
- package/dist/filters/index.d.ts.map +1 -1
- package/dist/filters/index.js +1 -0
- package/dist/filters/index.js.map +1 -1
- package/dist/primitives/Card.d.ts +28 -0
- package/dist/primitives/Card.d.ts.map +1 -0
- package/dist/primitives/Card.js +30 -0
- package/dist/primitives/Card.js.map +1 -0
- package/dist/primitives/CollectionPicker.d.ts +47 -0
- package/dist/primitives/CollectionPicker.d.ts.map +1 -0
- package/dist/primitives/CollectionPicker.js +105 -0
- package/dist/primitives/CollectionPicker.js.map +1 -0
- package/dist/primitives/CreateEntityDialog.d.ts +144 -0
- package/dist/primitives/CreateEntityDialog.d.ts.map +1 -0
- package/dist/primitives/CreateEntityDialog.js +379 -0
- package/dist/primitives/CreateEntityDialog.js.map +1 -0
- package/dist/primitives/FormField.d.ts +29 -0
- package/dist/primitives/FormField.d.ts.map +1 -0
- package/dist/primitives/FormField.js +27 -0
- package/dist/primitives/FormField.js.map +1 -0
- package/dist/primitives/Label.d.ts +20 -0
- package/dist/primitives/Label.d.ts.map +1 -0
- package/dist/primitives/Label.js +21 -0
- package/dist/primitives/Label.js.map +1 -0
- package/dist/primitives/SecretField.d.ts +28 -0
- package/dist/primitives/SecretField.d.ts.map +1 -0
- package/dist/primitives/SecretField.js +65 -0
- package/dist/primitives/SecretField.js.map +1 -0
- package/dist/primitives/Spinner.d.ts +16 -0
- package/dist/primitives/Spinner.d.ts.map +1 -0
- package/dist/primitives/Spinner.js +34 -0
- package/dist/primitives/Spinner.js.map +1 -0
- package/dist/primitives/Switch.d.ts +32 -0
- package/dist/primitives/Switch.d.ts.map +1 -0
- package/dist/primitives/Switch.js +43 -0
- package/dist/primitives/Switch.js.map +1 -0
- package/dist/primitives/index.d.ts +16 -0
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +9 -0
- package/dist/primitives/index.js.map +1 -1
- package/dist/utils/type-colors.d.ts.map +1 -1
- package/dist/utils/type-colors.js +4 -0
- package/dist/utils/type-colors.js.map +1 -1
- package/package.json +40 -6
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @miethe/ui — ArticleViewer CSS-variable variant system (PU2-05)
|
|
3
|
+
*
|
|
4
|
+
* Maps `ArticleVariant` values to Tailwind-compatible CSS class names.
|
|
5
|
+
* Each class is expected to read CSS custom properties from document root,
|
|
6
|
+
* which the consumer (e.g., Portal `globals.css`) must define.
|
|
7
|
+
*
|
|
8
|
+
* ## CSS-Variable Contract
|
|
9
|
+
*
|
|
10
|
+
* When variant="editorial", apply the class `cv-variant-editorial` and
|
|
11
|
+
* define these variables at `:root` (or a suitable ancestor):
|
|
12
|
+
*
|
|
13
|
+
* ```css
|
|
14
|
+
* :root {
|
|
15
|
+
* --cv-editorial-h1-font: Fraunces, Georgia, serif;
|
|
16
|
+
* --cv-editorial-h1-size: 2.25rem;
|
|
17
|
+
* --cv-editorial-h2-font: Fraunces, Georgia, serif;
|
|
18
|
+
* --cv-editorial-h2-size: 1.875rem;
|
|
19
|
+
* --cv-editorial-body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
20
|
+
* --cv-editorial-body-size: 1rem;
|
|
21
|
+
* --cv-editorial-body-line-height: 1.75;
|
|
22
|
+
* --cv-editorial-quote-color: #64748b;
|
|
23
|
+
* --cv-editorial-quote-font-style: italic;
|
|
24
|
+
* --cv-callout-note-accent: #0ea5e9;
|
|
25
|
+
* --cv-callout-note-bg: #f0f9ff;
|
|
26
|
+
* --cv-callout-reference-accent: #64748b;
|
|
27
|
+
* --cv-callout-reference-bg: #f1f5f9;
|
|
28
|
+
* --cv-callout-warning-accent: #f59e0b;
|
|
29
|
+
* --cv-callout-warning-bg: #fffbeb;
|
|
30
|
+
* --cv-callout-info-accent: #0ea5e9;
|
|
31
|
+
* --cv-callout-info-bg: #f0f9ff;
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* Analogous `--cv-compact-*` and `--cv-technical-*` sets follow the same pattern.
|
|
36
|
+
* Missing variables are silently ignored — browser defaults apply.
|
|
37
|
+
*
|
|
38
|
+
* ## Light / Dark Mode
|
|
39
|
+
*
|
|
40
|
+
* Variables should be declared inside appropriate selectors at the consumer side:
|
|
41
|
+
*
|
|
42
|
+
* ```css
|
|
43
|
+
* :root { --cv-editorial-body-font: "Libre Baskerville", serif; }
|
|
44
|
+
* .dark { --cv-editorial-body-font: "Libre Baskerville", serif; }
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* The component itself applies no color values — all theming is delegated to the consumer.
|
|
48
|
+
*/
|
|
49
|
+
// ============================================================================
|
|
50
|
+
// Variant class names
|
|
51
|
+
// ============================================================================
|
|
52
|
+
/**
|
|
53
|
+
* Mapping from `ArticleVariant` → the CSS class applied to the root element.
|
|
54
|
+
* The class is expected to read CSS custom properties from document root.
|
|
55
|
+
*/
|
|
56
|
+
export const VARIANT_CLASSES = {
|
|
57
|
+
editorial: 'cv-variant-editorial',
|
|
58
|
+
compact: 'cv-variant-compact',
|
|
59
|
+
technical: 'cv-variant-technical',
|
|
60
|
+
};
|
|
61
|
+
// ============================================================================
|
|
62
|
+
// Token shape documentation
|
|
63
|
+
// ============================================================================
|
|
64
|
+
/**
|
|
65
|
+
* Returns the CSS custom property names expected for a given variant.
|
|
66
|
+
* Use this as documentation / tooling support — it does not read or set variables.
|
|
67
|
+
*
|
|
68
|
+
* @param variant - The `ArticleVariant` to query
|
|
69
|
+
* @returns An object whose values are the expected `--cv-*` variable names
|
|
70
|
+
*/
|
|
71
|
+
export function getVariantTokenNames(variant) {
|
|
72
|
+
const prefix = `--cv-${variant}`;
|
|
73
|
+
return {
|
|
74
|
+
h1Font: `${prefix}-h1-font`,
|
|
75
|
+
h1Size: `${prefix}-h1-size`,
|
|
76
|
+
h2Font: `${prefix}-h2-font`,
|
|
77
|
+
h2Size: `${prefix}-h2-size`,
|
|
78
|
+
bodyFont: `${prefix}-body-font`,
|
|
79
|
+
bodySize: `${prefix}-body-size`,
|
|
80
|
+
bodyLineHeight: `${prefix}-body-line-height`,
|
|
81
|
+
quoteColor: `${prefix}-quote-color`,
|
|
82
|
+
quoteFontStyle: `${prefix}-quote-font-style`,
|
|
83
|
+
calloutNoteAccent: '--cv-callout-note-accent',
|
|
84
|
+
calloutNoteBg: '--cv-callout-note-bg',
|
|
85
|
+
calloutReferenceAccent: '--cv-callout-reference-accent',
|
|
86
|
+
calloutReferenceBg: '--cv-callout-reference-bg',
|
|
87
|
+
calloutWarningAccent: '--cv-callout-warning-accent',
|
|
88
|
+
calloutWarningBg: '--cv-callout-warning-bg',
|
|
89
|
+
calloutInfoAccent: '--cv-callout-info-accent',
|
|
90
|
+
calloutInfoBg: '--cv-callout-info-bg',
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Returns the CSS class name to apply for a given variant,
|
|
95
|
+
* or `undefined` when no variant is specified.
|
|
96
|
+
*
|
|
97
|
+
* @param variant - Optional `ArticleVariant`
|
|
98
|
+
* @returns CSS class string, or `undefined`
|
|
99
|
+
*/
|
|
100
|
+
export function variantClass(variant) {
|
|
101
|
+
if (variant === undefined)
|
|
102
|
+
return undefined;
|
|
103
|
+
return VARIANT_CLASSES[variant];
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=variants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variants.js","sourceRoot":"","sources":["../../../src/components/content-viewer/variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAIH,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmC;IAC7D,SAAS,EAAE,sBAAsB;IACjC,OAAO,EAAE,oBAAoB;IAC7B,SAAS,EAAE,sBAAsB;CAClC,CAAC;AAEF,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,MAAM,MAAM,GAAG,QAAQ,OAAO,EAAE,CAAC;IACjC,OAAO;QACL,MAAM,EAAE,GAAG,MAAM,UAAU;QAC3B,MAAM,EAAE,GAAG,MAAM,UAAU;QAC3B,MAAM,EAAE,GAAG,MAAM,UAAU;QAC3B,MAAM,EAAE,GAAG,MAAM,UAAU;QAC3B,QAAQ,EAAE,GAAG,MAAM,YAAY;QAC/B,QAAQ,EAAE,GAAG,MAAM,YAAY;QAC/B,cAAc,EAAE,GAAG,MAAM,mBAAmB;QAC5C,UAAU,EAAE,GAAG,MAAM,cAAc;QACnC,cAAc,EAAE,GAAG,MAAM,mBAAmB;QAC5C,iBAAiB,EAAE,0BAA0B;QAC7C,aAAa,EAAE,sBAAsB;QACrC,sBAAsB,EAAE,+BAA+B;QACvD,kBAAkB,EAAE,2BAA2B;QAC/C,oBAAoB,EAAE,6BAA6B;QACnD,gBAAgB,EAAE,yBAAyB;QAC3C,iBAAiB,EAAE,0BAA0B;QAC7C,aAAa,EAAE,sBAAsB;KACtC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,OAAmC;IAC9D,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
/**
|
|
2
3
|
* Truncation information for large files
|
|
3
4
|
*/
|
|
@@ -36,6 +37,16 @@ export interface ContentPaneProps {
|
|
|
36
37
|
* @default "File content viewer"
|
|
37
38
|
*/
|
|
38
39
|
ariaLabel?: string;
|
|
40
|
+
/**
|
|
41
|
+
* When true, the rendered markdown HTML is passed through rehype-sanitize
|
|
42
|
+
* before display. Strips dangerous constructs: <script>, inline event
|
|
43
|
+
* handlers (onerror=, onclick=, etc.), javascript: URLs, and unsafe elements
|
|
44
|
+
* like <iframe>. When false (default), behavior is identical to the
|
|
45
|
+
* pre-sanitize-prop behavior — no sanitization overhead, no DOM changes.
|
|
46
|
+
* Only meaningful for markdown files (.md); ignored for plain-text files.
|
|
47
|
+
* @default false
|
|
48
|
+
*/
|
|
49
|
+
sanitize?: boolean;
|
|
39
50
|
/**
|
|
40
51
|
* Deprecated. Frontmatter is now automatically stripped from content
|
|
41
52
|
* when FrontmatterDisplay component is shown (when frontmatter exists).
|
|
@@ -44,6 +55,38 @@ export interface ContentPaneProps {
|
|
|
44
55
|
* @deprecated
|
|
45
56
|
*/
|
|
46
57
|
showFrontmatter?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* When true, syntax-highlights non-markdown editable files (e.g. .ts, .py, .json)
|
|
60
|
+
* using lowlight. Mirrors ArticleViewer.codeHighlight semantics: opt-in, lowlight-based,
|
|
61
|
+
* requires the consumer to install `lowlight` separately (`npm install lowlight`).
|
|
62
|
+
* Falls back to plain text rendering when lowlight is unavailable or the language
|
|
63
|
+
* is unrecognised — never throws.
|
|
64
|
+
* Only applies to the read path; edit mode always uses the CodeMirror editor.
|
|
65
|
+
* Has no effect on markdown files (.md) which always route through SplitPreview.
|
|
66
|
+
*
|
|
67
|
+
* Note: lowlight is loaded lazily, so the first code file shown after mount
|
|
68
|
+
* briefly renders as plain text before highlighting appears. To avoid this
|
|
69
|
+
* cold-cache flash, call `warmHighlightCache()` (exported from
|
|
70
|
+
* `@miethe/ui/content-viewer`) once at app startup to pre-load lowlight.
|
|
71
|
+
* @default false
|
|
72
|
+
*/
|
|
73
|
+
codeHighlight?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Render-prop called for non-editable, non-markdown file extensions.
|
|
76
|
+
* Receives the file extension (dot-prefixed, lowercase, e.g. ".png") and
|
|
77
|
+
* the raw content string (or null). Return a React node to render it inside
|
|
78
|
+
* the standard region wrapper, or return null to fall through to ContentDisplay.
|
|
79
|
+
*
|
|
80
|
+
* Editable text extensions (.md, .ts, .json, etc.) are never routed here.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```tsx
|
|
84
|
+
* renderBinaryPreview={(ext, content) =>
|
|
85
|
+
* ext === '.png' ? <img src={`data:image/png;base64,${content}`} alt="" /> : null
|
|
86
|
+
* }
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
renderBinaryPreview?: (ext: string, content: string | null) => React.ReactNode | null;
|
|
47
90
|
}
|
|
48
91
|
/**
|
|
49
92
|
* ContentPane - File content viewer and editor component
|
|
@@ -103,5 +146,5 @@ export interface ContentPaneProps {
|
|
|
103
146
|
* />
|
|
104
147
|
* ```
|
|
105
148
|
*/
|
|
106
|
-
export declare function ContentPane({ path, content, isLoading, error, readOnly, truncationInfo, isEditing, editedContent, onEditStart, onEditChange, onSave, onCancel, ariaLabel, showFrontmatter: _showFrontmatter, }: ContentPaneProps): import("react/jsx-runtime").JSX.Element;
|
|
149
|
+
export declare function ContentPane({ path, content, isLoading, error, readOnly, truncationInfo, isEditing, editedContent, onEditStart, onEditChange, onSave, onCancel, ariaLabel, sanitize, showFrontmatter: _showFrontmatter, codeHighlight, renderBinaryPreview, }: ContentPaneProps): import("react/jsx-runtime").JSX.Element;
|
|
107
150
|
//# sourceMappingURL=ContentPane.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentPane.d.ts","sourceRoot":"","sources":["../../src/content-viewer/ContentPane.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContentPane.d.ts","sourceRoot":"","sources":["../../src/content-viewer/ContentPane.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuD,MAAM,OAAO,CAAC;AA2E5E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;CACvF;AA4WD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAO,EACP,SAAiB,EACjB,KAAY,EACZ,QAAgB,EAChB,cAAc,EACd,SAAiB,EACjB,aAAkB,EAClB,WAAW,EACX,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAgB,EAChB,eAAe,EAAE,gBAAwB,EACzC,aAAqB,EACrB,mBAAmB,GACpB,EAAE,gBAAgB,2CA0TlB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState, useMemo, lazy, Suspense } from 'react';
|
|
3
|
+
import React, { useState, useMemo, useEffect, lazy, Suspense } from 'react';
|
|
4
4
|
import { FileText, AlertCircle, AlertTriangle, Edit, ChevronRight, Save, X, ExternalLink, } from 'lucide-react';
|
|
5
5
|
import { cn } from '../primitives/utils';
|
|
6
6
|
import { Button } from '../components/ui/button';
|
|
@@ -9,12 +9,33 @@ import { Skeleton } from '../components/ui/skeleton';
|
|
|
9
9
|
import { Alert, AlertDescription, AlertTitle } from '../components/ui/alert';
|
|
10
10
|
import { FrontmatterDisplay } from '../display/FrontmatterDisplay';
|
|
11
11
|
import { parseFrontmatter, detectFrontmatter, stripFrontmatter } from '../utils/frontmatter';
|
|
12
|
+
import { highlightCodeToHast } from '../components/content-viewer/plugins/lowlightLoader';
|
|
12
13
|
/**
|
|
13
14
|
* SplitPreview is lazy-loaded so that the CodeMirror editor bundle is only fetched
|
|
14
15
|
* when a user enters edit mode on a markdown file. Consumers who render ContentPane
|
|
15
16
|
* in read-only mode (or for non-markdown files) will never download the editor chunk.
|
|
16
17
|
*/
|
|
17
18
|
const SplitPreview = lazy(() => import('../editor/SplitPreview').then((m) => ({ default: m.SplitPreview })));
|
|
19
|
+
/**
|
|
20
|
+
* LazyCodeEditor wraps CodeEditor + resolveCodeMirrorLanguage in a single lazy
|
|
21
|
+
* chunk so that CodeMirror language packs are only downloaded when the user
|
|
22
|
+
* enters edit mode on a non-markdown editable file.
|
|
23
|
+
*
|
|
24
|
+
* Both modules are fetched in parallel via Promise.all to minimise waterfall.
|
|
25
|
+
* The resolved `language` is derived from `path` inside the chunk so the
|
|
26
|
+
* resolver is never part of the read-only bundle.
|
|
27
|
+
*/
|
|
28
|
+
const LazyCodeEditor = lazy(async () => {
|
|
29
|
+
const [{ CodeEditor }, { resolveCodeMirrorLanguage }] = await Promise.all([
|
|
30
|
+
import('../editor/CodeEditor'),
|
|
31
|
+
import('../editor/codeLanguages'),
|
|
32
|
+
]);
|
|
33
|
+
function Wrapped({ path, initialContent, onChange, readOnly, className, }) {
|
|
34
|
+
return (_jsx(CodeEditor, { initialContent: initialContent, onChange: onChange, readOnly: readOnly, className: className, language: resolveCodeMirrorLanguage(path) }));
|
|
35
|
+
}
|
|
36
|
+
Wrapped.displayName = 'WrappedCodeEditor';
|
|
37
|
+
return { default: Wrapped };
|
|
38
|
+
});
|
|
18
39
|
// ============================================================================
|
|
19
40
|
// Helper Functions
|
|
20
41
|
// ============================================================================
|
|
@@ -62,6 +83,26 @@ function isMarkdownFile(path) {
|
|
|
62
83
|
function pathToBreadcrumbs(path) {
|
|
63
84
|
return path.split('/').filter(Boolean);
|
|
64
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Map a file path's extension to a highlight.js language name.
|
|
88
|
+
* Returns null for unrecognised extensions (graceful fallback to plain text).
|
|
89
|
+
*/
|
|
90
|
+
function extensionToLanguage(path) {
|
|
91
|
+
const lower = path.toLowerCase();
|
|
92
|
+
if (lower.endsWith('.ts') || lower.endsWith('.tsx'))
|
|
93
|
+
return 'typescript';
|
|
94
|
+
if (lower.endsWith('.js') || lower.endsWith('.jsx'))
|
|
95
|
+
return 'javascript';
|
|
96
|
+
if (lower.endsWith('.py'))
|
|
97
|
+
return 'python';
|
|
98
|
+
if (lower.endsWith('.json'))
|
|
99
|
+
return 'json';
|
|
100
|
+
if (lower.endsWith('.yml') || lower.endsWith('.yaml'))
|
|
101
|
+
return 'yaml';
|
|
102
|
+
if (lower.endsWith('.toml'))
|
|
103
|
+
return 'ini'; // best-effort: hljs has no toml, ini is close
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
65
106
|
// ============================================================================
|
|
66
107
|
// Loading Skeletons
|
|
67
108
|
// ============================================================================
|
|
@@ -101,6 +142,72 @@ function ContentDisplay({ content, showLineNumbers = false }) {
|
|
|
101
142
|
return (_jsxs("div", { className: "flex", children: [showLineNumbers && _jsx(LineNumbers, { lineCount: lines.length }), _jsx("pre", { className: "flex-1 whitespace-pre-wrap break-words font-mono text-xs leading-6", children: content })] }));
|
|
102
143
|
}
|
|
103
144
|
// ============================================================================
|
|
145
|
+
// Hast → React Renderer (minimal, no dangerouslySetInnerHTML)
|
|
146
|
+
// ============================================================================
|
|
147
|
+
/**
|
|
148
|
+
* Tags this renderer is allowed to emit. lowlight only ever produces `span`
|
|
149
|
+
* elements (plus text), so this set is deliberately tiny. Any other tag name is
|
|
150
|
+
* coerced to `span` — this keeps the renderer's "safe" guarantee true regardless
|
|
151
|
+
* of the hast source: a `<script>`/`<iframe>` node can never be created, while the
|
|
152
|
+
* node's text content is still preserved (rendered inside a span).
|
|
153
|
+
*/
|
|
154
|
+
const SAFE_HAST_TAGS = new Set(['span', 'code', 'pre', 'em', 'strong', 'b', 'i', 'mark']);
|
|
155
|
+
/** Render a single hast node to a React node. */
|
|
156
|
+
function renderHastNode(node, index) {
|
|
157
|
+
if (node.type === 'text') {
|
|
158
|
+
return node.value;
|
|
159
|
+
}
|
|
160
|
+
if (node.type === 'element') {
|
|
161
|
+
const el = node;
|
|
162
|
+
// Convert className array to a space-joined string
|
|
163
|
+
const rawClass = el.properties?.className;
|
|
164
|
+
const className = Array.isArray(rawClass)
|
|
165
|
+
? rawClass.join(' ')
|
|
166
|
+
: typeof rawClass === 'string'
|
|
167
|
+
? rawClass
|
|
168
|
+
: undefined;
|
|
169
|
+
// Coerce any non-allowlisted tag to a safe `span` (never render arbitrary HTML).
|
|
170
|
+
const tagName = SAFE_HAST_TAGS.has(el.tagName) ? el.tagName : 'span';
|
|
171
|
+
return React.createElement(tagName, { key: index, className }, ...el.children.map((child, i) => renderHastNode(child, i)));
|
|
172
|
+
}
|
|
173
|
+
// Ignore root / doctype / comment / raw nodes
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Renders syntax-highlighted code using lowlight.
|
|
178
|
+
* Falls back to ContentDisplay (plain text) when:
|
|
179
|
+
* - lowlight is not installed
|
|
180
|
+
* - the extension has no matching language
|
|
181
|
+
* - the highlight result hasn't loaded yet (async, first render)
|
|
182
|
+
*
|
|
183
|
+
* Never throws; all failure paths produce ContentDisplay.
|
|
184
|
+
*/
|
|
185
|
+
function HighlightedDisplay({ path, content }) {
|
|
186
|
+
const [hastRoot, setHastRoot] = useState(null);
|
|
187
|
+
const [highlighted, setHighlighted] = useState(false);
|
|
188
|
+
const langName = useMemo(() => extensionToLanguage(path), [path]);
|
|
189
|
+
useEffect(() => {
|
|
190
|
+
let cancelled = false;
|
|
191
|
+
setHastRoot(null);
|
|
192
|
+
setHighlighted(false);
|
|
193
|
+
if (!langName)
|
|
194
|
+
return;
|
|
195
|
+
highlightCodeToHast(content, langName).then((result) => {
|
|
196
|
+
if (cancelled)
|
|
197
|
+
return;
|
|
198
|
+
setHastRoot(result);
|
|
199
|
+
setHighlighted(result !== null);
|
|
200
|
+
});
|
|
201
|
+
return () => {
|
|
202
|
+
cancelled = true;
|
|
203
|
+
};
|
|
204
|
+
}, [path, content, langName]);
|
|
205
|
+
if (!highlighted || !hastRoot) {
|
|
206
|
+
return _jsx(ContentDisplay, { content: content });
|
|
207
|
+
}
|
|
208
|
+
return (_jsx("pre", { className: "flex-1 whitespace-pre-wrap break-words font-mono text-xs leading-6", children: _jsx("code", { className: "hljs", children: hastRoot.children.map((child, i) => renderHastNode(child, i)) }) }));
|
|
209
|
+
}
|
|
210
|
+
// ============================================================================
|
|
104
211
|
// Main Component
|
|
105
212
|
// ============================================================================
|
|
106
213
|
/**
|
|
@@ -161,7 +268,7 @@ function ContentDisplay({ content, showLineNumbers = false }) {
|
|
|
161
268
|
* />
|
|
162
269
|
* ```
|
|
163
270
|
*/
|
|
164
|
-
export function ContentPane({ path, content, isLoading = false, error = null, readOnly = false, truncationInfo, isEditing = false, editedContent = '', onEditStart, onEditChange, onSave, onCancel, ariaLabel, showFrontmatter: _showFrontmatter = false, }) {
|
|
271
|
+
export function ContentPane({ path, content, isLoading = false, error = null, readOnly = false, truncationInfo, isEditing = false, editedContent = '', onEditStart, onEditChange, onSave, onCancel, ariaLabel, sanitize = false, showFrontmatter: _showFrontmatter = false, codeHighlight = false, renderBinaryPreview, }) {
|
|
165
272
|
// Generate unique ID for breadcrumb to use in aria-labelledby
|
|
166
273
|
const breadcrumbId = path
|
|
167
274
|
? `content-pane-breadcrumb-${path.replace(/[^a-zA-Z0-9]/g, '-')}`
|
|
@@ -233,15 +340,42 @@ export function ContentPane({ path, content, isLoading = false, error = null, re
|
|
|
233
340
|
if (!path) {
|
|
234
341
|
return _jsx(EmptyState, {});
|
|
235
342
|
}
|
|
343
|
+
// -------------------------------------------------------------------------
|
|
344
|
+
// renderBinaryPreview fast-path — evaluated before the empty-content guard
|
|
345
|
+
// so that binary files (images, PDFs, …) with null content are handled.
|
|
346
|
+
// Non-editable extensions only; editable text exts skip this block entirely.
|
|
347
|
+
// -------------------------------------------------------------------------
|
|
348
|
+
if (!isEditableFile(path) && renderBinaryPreview) {
|
|
349
|
+
const ext = path.slice(path.lastIndexOf('.')).toLowerCase();
|
|
350
|
+
const node = renderBinaryPreview(ext, content);
|
|
351
|
+
if (node !== null) {
|
|
352
|
+
return (_jsxs("div", { className: "flex h-full w-full flex-col overflow-hidden", role: "region", "aria-label": ariaLabel || `File content: ${path}`, "aria-labelledby": breadcrumbId, "data-testid": "content-pane", children: [_jsx("div", { className: "flex flex-shrink-0 items-center justify-between border-b bg-muted/20 p-4", children: _jsx(Breadcrumb, { path: path, id: breadcrumbId }) }), _jsx(ScrollArea, { className: "min-h-0 min-w-0 flex-1", children: _jsx("div", { className: "p-4", children: node }) })] }));
|
|
353
|
+
// node === null → fall through to empty-content / normal branch below
|
|
354
|
+
}
|
|
355
|
+
}
|
|
236
356
|
// Empty content - file is empty or couldn't be loaded
|
|
237
357
|
if (content === null || content === '') {
|
|
238
358
|
return (_jsxs("div", { className: "flex h-full flex-col", role: "region", "aria-label": ariaLabel || `File content: ${path}`, "aria-labelledby": breadcrumbId, "data-testid": "content-pane", children: [_jsxs("div", { className: "flex items-center justify-between border-b bg-muted/20 p-4", children: [_jsx(Breadcrumb, { path: path, id: breadcrumbId }), canEdit && !isEditing && (_jsxs(Button, { variant: "ghost", size: "sm", onClick: handleEditClick, "aria-label": `Edit ${path}`, children: [_jsx(Edit, { className: "mr-2 h-4 w-4", "aria-hidden": "true" }), "Edit"] })), !readOnly && isEditing && (_jsxs("div", { className: "flex gap-2", children: [_jsxs(Button, { variant: "ghost", size: "sm", onClick: handleCancelClick, disabled: isSaving, children: [_jsx(X, { className: "mr-2 h-4 w-4", "aria-hidden": "true" }), "Cancel"] }), _jsxs(Button, { variant: "default", size: "sm", onClick: handleSaveClick, disabled: isSaving, children: [_jsx(Save, { className: "mr-2 h-4 w-4", "aria-hidden": "true" }), isSaving ? 'Saving...' : 'Save'] })] }))] }), _jsx("div", { className: "flex flex-1 items-center justify-center text-center", children: _jsxs("div", { children: [_jsx(FileText, { className: "mx-auto mb-2 h-8 w-8 text-muted-foreground opacity-50", "aria-hidden": "true" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "This file is empty" })] }) })] }));
|
|
239
359
|
}
|
|
240
360
|
// Markdown file - always use split preview (shows rendered markdown)
|
|
241
361
|
if (isMarkdown) {
|
|
242
|
-
return (_jsxs("div", { className: "flex h-full w-full flex-col overflow-hidden", role: "region", "aria-label": ariaLabel || `Markdown file: ${path}`, "aria-labelledby": breadcrumbId, "data-testid": "content-pane", children: [_jsxs("div", { className: "flex flex-shrink-0 items-center justify-between border-b bg-muted/20 p-4", children: [_jsx(Breadcrumb, { path: path, id: breadcrumbId }), !readOnly && isEditing ? (_jsxs("div", { className: "flex gap-2", children: [_jsxs(Button, { variant: "ghost", size: "sm", onClick: handleCancelClick, disabled: isSaving, children: [_jsx(X, { className: "mr-2 h-4 w-4", "aria-hidden": "true" }), "Cancel"] }), _jsxs(Button, { variant: "default", size: "sm", onClick: handleSaveClick, disabled: isSaving, children: [_jsx(Save, { className: "mr-2 h-4 w-4", "aria-hidden": "true" }), isSaving ? 'Saving...' : 'Save'] })] })) : (canEdit && (_jsxs(Button, { variant: "ghost", size: "sm", onClick: handleEditClick, "aria-label": `Edit ${path}`, children: [_jsx(Edit, { className: "mr-2 h-4 w-4", "aria-hidden": "true" }), "Edit"] })))] }), _jsxs("div", { className: "min-h-0 min-w-0 flex-1 overflow-auto p-4", children: [isTruncated && (_jsx(TruncationBanner, { originalSize: truncationInfo?.originalSize, fullFileUrl: truncationInfo?.fullFileUrl })), parsedContent.frontmatter && (_jsx(FrontmatterDisplay, { frontmatter: parsedContent.frontmatter, defaultCollapsed: true, className: "mb-4" })), _jsx("div", { className: "min-w-0", children: _jsx(Suspense, { fallback: _jsx(EditorLoadingSkeleton, {}), children: _jsx(SplitPreview, { content: isEditing ? editedContent : displayContent, onChange: (newContent) => onEditChange?.(newContent), isEditing: isEditing }) }) })] })] }));
|
|
362
|
+
return (_jsxs("div", { className: "flex h-full w-full flex-col overflow-hidden", role: "region", "aria-label": ariaLabel || `Markdown file: ${path}`, "aria-labelledby": breadcrumbId, "data-testid": "content-pane", children: [_jsxs("div", { className: "flex flex-shrink-0 items-center justify-between border-b bg-muted/20 p-4", children: [_jsx(Breadcrumb, { path: path, id: breadcrumbId }), !readOnly && isEditing ? (_jsxs("div", { className: "flex gap-2", children: [_jsxs(Button, { variant: "ghost", size: "sm", onClick: handleCancelClick, disabled: isSaving, children: [_jsx(X, { className: "mr-2 h-4 w-4", "aria-hidden": "true" }), "Cancel"] }), _jsxs(Button, { variant: "default", size: "sm", onClick: handleSaveClick, disabled: isSaving, children: [_jsx(Save, { className: "mr-2 h-4 w-4", "aria-hidden": "true" }), isSaving ? 'Saving...' : 'Save'] })] })) : (canEdit && (_jsxs(Button, { variant: "ghost", size: "sm", onClick: handleEditClick, "aria-label": `Edit ${path}`, children: [_jsx(Edit, { className: "mr-2 h-4 w-4", "aria-hidden": "true" }), "Edit"] })))] }), _jsxs("div", { className: "min-h-0 min-w-0 flex-1 overflow-auto p-4", children: [isTruncated && (_jsx(TruncationBanner, { originalSize: truncationInfo?.originalSize, fullFileUrl: truncationInfo?.fullFileUrl })), parsedContent.frontmatter && (_jsx(FrontmatterDisplay, { frontmatter: parsedContent.frontmatter, defaultCollapsed: true, className: "mb-4" })), _jsx("div", { className: "min-w-0", children: _jsx(Suspense, { fallback: _jsx(EditorLoadingSkeleton, {}), children: _jsx(SplitPreview, { content: isEditing ? editedContent : displayContent, onChange: (newContent) => onEditChange?.(newContent), isEditing: isEditing, sanitize: sanitize }) }) })] })] }));
|
|
243
363
|
}
|
|
244
|
-
//
|
|
245
|
-
|
|
364
|
+
// -------------------------------------------------------------------------
|
|
365
|
+
// Non-markdown editable files (.ts, .json, .py, …) + plain fallthrough
|
|
366
|
+
// -------------------------------------------------------------------------
|
|
367
|
+
// When isEditing, show the LazyCodeEditor. When reading, show either the
|
|
368
|
+
// highlighted view (codeHighlight=true) or the plain ContentDisplay.
|
|
369
|
+
return (_jsxs("div", { className: "flex h-full w-full flex-col overflow-hidden", role: "region", "aria-label": ariaLabel || `File content: ${path}`, "aria-labelledby": breadcrumbId, "data-testid": "content-pane", children: [_jsxs("div", { className: "flex flex-shrink-0 items-center justify-between border-b bg-muted/20 p-4", children: [_jsx(Breadcrumb, { path: path, id: breadcrumbId }), !readOnly && isEditing ? (_jsxs("div", { className: "flex gap-2", children: [_jsxs(Button, { variant: "ghost", size: "sm", onClick: handleCancelClick, disabled: isSaving, children: [_jsx(X, { className: "mr-2 h-4 w-4", "aria-hidden": "true" }), "Cancel"] }), _jsxs(Button, { variant: "default", size: "sm", onClick: handleSaveClick, disabled: isSaving, children: [_jsx(Save, { className: "mr-2 h-4 w-4", "aria-hidden": "true" }), isSaving ? 'Saving...' : 'Save'] })] })) : (
|
|
370
|
+
/* Read mode: Edit button (shown only when editing is permitted) */
|
|
371
|
+
canEdit && (_jsxs(Button, { variant: "ghost", size: "sm", onClick: handleEditClick, "aria-label": `Edit ${path}`, children: [_jsx(Edit, { className: "mr-2 h-4 w-4", "aria-hidden": "true" }), "Edit"] })))] }), isEditing && isEditableFile(path) ? (
|
|
372
|
+
/* Edit mode — CodeMirror code editor (lazy-loaded) */
|
|
373
|
+
_jsx("div", { className: "min-h-0 min-w-0 flex-1 overflow-auto p-4", children: _jsx(Suspense, { fallback: _jsx(EditorLoadingSkeleton, {}), children: _jsx(LazyCodeEditor, { path: path, initialContent: editedContent, onChange: (c) => onEditChange?.(c) }) }) })) : (
|
|
374
|
+
/* Read mode — plain text or syntax-highlighted display */
|
|
375
|
+
_jsx(ScrollArea, { className: "min-h-0 min-w-0 flex-1", children: _jsxs("div", { className: "p-4", children: [isTruncated && (_jsx(TruncationBanner, { originalSize: truncationInfo?.originalSize, fullFileUrl: truncationInfo?.fullFileUrl })), parsedContent.frontmatter && (_jsx(FrontmatterDisplay, { frontmatter: parsedContent.frontmatter, defaultCollapsed: true, className: "mb-4" })), _jsx("div", { className: "max-w-full", children: codeHighlight && path && !isMarkdown ? (
|
|
376
|
+
/* Syntax-highlighted view (opt-in, requires lowlight installed) */
|
|
377
|
+
_jsx(HighlightedDisplay, { path: path, content: displayContent })) : (
|
|
378
|
+
/* Plain text view */
|
|
379
|
+
_jsx(ContentDisplay, { content: displayContent, showLineNumbers: false })) })] }) }))] }));
|
|
246
380
|
}
|
|
247
381
|
//# sourceMappingURL=ContentPane.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentPane.js","sourceRoot":"","sources":["../../src/content-viewer/ContentPane.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContentPane.js","sourceRoot":"","sources":["../../src/content-viewer/ContentPane.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,15 @@ export interface FileTreeProps {
|
|
|
18
18
|
* @default "File browser"
|
|
19
19
|
*/
|
|
20
20
|
ariaLabel?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Optional callback to resolve custom icons for files/directories.
|
|
23
|
+
* Return a Lucide icon component or undefined to use default logic.
|
|
24
|
+
* @param node - The file node to resolve an icon for
|
|
25
|
+
* @returns Lucide icon component or undefined for default behavior
|
|
26
|
+
*/
|
|
27
|
+
iconResolver?: (node: FileNode) => React.ComponentType<{
|
|
28
|
+
className?: string;
|
|
29
|
+
}> | undefined;
|
|
21
30
|
}
|
|
22
31
|
/**
|
|
23
32
|
* FileTree - Recursive file browser component
|
|
@@ -65,7 +74,20 @@ export interface FileTreeProps {
|
|
|
65
74
|
* readOnly
|
|
66
75
|
* ariaLabel="Artifact file browser"
|
|
67
76
|
* />
|
|
77
|
+
*
|
|
78
|
+
* // With custom icon resolver
|
|
79
|
+
* <FileTree
|
|
80
|
+
* entityId="skill-123"
|
|
81
|
+
* files={fileStructure}
|
|
82
|
+
* selectedPath={selectedPath}
|
|
83
|
+
* onSelect={(path) => setSelectedPath(path)}
|
|
84
|
+
* iconResolver={(node) => {
|
|
85
|
+
* if (node.path.includes('/agents/')) return Users;
|
|
86
|
+
* if (node.path.includes('/skills/')) return Zap;
|
|
87
|
+
* return undefined; // Use default icon
|
|
88
|
+
* }}
|
|
89
|
+
* />
|
|
68
90
|
* ```
|
|
69
91
|
*/
|
|
70
|
-
export declare function FileTree({ entityId: _entityId, files, selectedPath, onSelect, onAddFile, onDeleteFile, isLoading, readOnly, ariaLabel, }: FileTreeProps): import("react/jsx-runtime").JSX.Element;
|
|
92
|
+
export declare function FileTree({ entityId: _entityId, files, selectedPath, onSelect, onAddFile, onDeleteFile, isLoading, readOnly, ariaLabel, iconResolver, }: FileTreeProps): import("react/jsx-runtime").JSX.Element;
|
|
71
93
|
//# sourceMappingURL=FileTree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileTree.d.ts","sourceRoot":"","sources":["../../src/content-viewer/FileTree.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMzC,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"FileTree.d.ts","sourceRoot":"","sources":["../../src/content-viewer/FileTree.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMzC,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;CAC5F;AAyRD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EAAE,SAAS,EACnB,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,SAAiB,EACjB,QAAgB,EAChB,SAA0B,EAC1B,YAAY,GACb,EAAE,aAAa,2CAoLf"}
|
|
@@ -54,7 +54,7 @@ function flattenVisibleNodes(nodes, expandedPaths) {
|
|
|
54
54
|
traverse(nodes);
|
|
55
55
|
return result;
|
|
56
56
|
}
|
|
57
|
-
function TreeNode({ node, level, selectedPath, focusedPath, expandedPaths, onSelect, onToggle, onDelete, onFocus, onKeyNavigation, treeSize, positionInSet, }) {
|
|
57
|
+
function TreeNode({ node, level, selectedPath, focusedPath, expandedPaths, onSelect, onToggle, onDelete, onFocus, onKeyNavigation, treeSize, positionInSet, iconResolver, }) {
|
|
58
58
|
const nodeRef = useRef(null);
|
|
59
59
|
const isExpanded = expandedPaths.has(node.path);
|
|
60
60
|
const isSelected = selectedPath === node.path;
|
|
@@ -110,11 +110,13 @@ function TreeNode({ node, level, selectedPath, focusedPath, expandedPaths, onSel
|
|
|
110
110
|
onDelete(node.path);
|
|
111
111
|
}
|
|
112
112
|
}, [node.path, onDelete]);
|
|
113
|
-
|
|
113
|
+
// Try custom resolver first, fall back to default logic
|
|
114
|
+
const customIcon = iconResolver?.(node);
|
|
115
|
+
const IconComponent = customIcon ?? (isDirectory ? (isExpanded ? FolderOpen : Folder) : getFileIcon(node.name));
|
|
114
116
|
return (_jsxs("div", { role: "none", children: [_jsxs("div", { ref: nodeRef, role: "treeitem", tabIndex: isFocused ? 0 : -1, "aria-selected": isSelected, "aria-expanded": isDirectory ? isExpanded : undefined, "aria-level": level + 1, "aria-setsize": treeSize, "aria-posinset": positionInSet, "data-testid": `tree-item-${node.path}`, className: cn('group flex cursor-pointer items-center gap-1 rounded px-2 py-1 transition-colors hover:bg-accent', isSelected && 'bg-accent text-accent-foreground', 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1'), style: { paddingLeft: `${level * 12 + 8}px` }, onClick: handleClick, onKeyDown: handleKeyDown, onFocus: () => onFocus(node.path), children: [isDirectory ? (_jsx("span", { className: "flex-shrink-0", "aria-hidden": "true", children: isExpanded ? (_jsx(ChevronDown, { className: "h-4 w-4 text-muted-foreground" })) : (_jsx(ChevronRight, { className: "h-4 w-4 text-muted-foreground" })) })) : (_jsx("span", { className: "w-4 flex-shrink-0", "aria-hidden": "true" })), _jsx(IconComponent, { className: cn('h-4 w-4 flex-shrink-0', isDirectory ? 'text-blue-500' : 'text-muted-foreground'), "aria-hidden": "true" }), _jsx("span", { className: "min-w-0 flex-1 truncate text-sm", children: node.name }), onDelete && !isDirectory && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 opacity-0 transition-opacity focus:opacity-100 group-hover:opacity-100", onClick: handleDelete, "aria-label": `Delete ${node.name}`, tabIndex: -1, children: _jsx(Trash2, { className: "h-3 w-3", "aria-hidden": "true" }) }))] }), isDirectory && isExpanded && node.children && (_jsx("div", { role: "group", "aria-label": `Contents of ${node.name}`, children: node.children.map((child, index) => {
|
|
115
117
|
// Calculate position in the flattened visible list
|
|
116
118
|
// This is a simplified version - the parent handles the full calculation
|
|
117
|
-
return (_jsx(TreeNode, { node: child, level: level + 1, selectedPath: selectedPath, focusedPath: focusedPath, expandedPaths: expandedPaths, onSelect: onSelect, onToggle: onToggle, onDelete: onDelete, onFocus: onFocus, onKeyNavigation: onKeyNavigation, treeSize: treeSize, positionInSet: index + 1 }, child.path));
|
|
119
|
+
return (_jsx(TreeNode, { node: child, level: level + 1, selectedPath: selectedPath, focusedPath: focusedPath, expandedPaths: expandedPaths, onSelect: onSelect, onToggle: onToggle, onDelete: onDelete, onFocus: onFocus, onKeyNavigation: onKeyNavigation, treeSize: treeSize, positionInSet: index + 1, iconResolver: iconResolver }, child.path));
|
|
118
120
|
}) }))] }));
|
|
119
121
|
}
|
|
120
122
|
// ============================================================================
|
|
@@ -172,9 +174,22 @@ function FileTreeSkeleton() {
|
|
|
172
174
|
* readOnly
|
|
173
175
|
* ariaLabel="Artifact file browser"
|
|
174
176
|
* />
|
|
177
|
+
*
|
|
178
|
+
* // With custom icon resolver
|
|
179
|
+
* <FileTree
|
|
180
|
+
* entityId="skill-123"
|
|
181
|
+
* files={fileStructure}
|
|
182
|
+
* selectedPath={selectedPath}
|
|
183
|
+
* onSelect={(path) => setSelectedPath(path)}
|
|
184
|
+
* iconResolver={(node) => {
|
|
185
|
+
* if (node.path.includes('/agents/')) return Users;
|
|
186
|
+
* if (node.path.includes('/skills/')) return Zap;
|
|
187
|
+
* return undefined; // Use default icon
|
|
188
|
+
* }}
|
|
189
|
+
* />
|
|
175
190
|
* ```
|
|
176
191
|
*/
|
|
177
|
-
export function FileTree({ entityId: _entityId, files, selectedPath, onSelect, onAddFile, onDeleteFile, isLoading = false, readOnly = false, ariaLabel = 'File browser', }) {
|
|
192
|
+
export function FileTree({ entityId: _entityId, files, selectedPath, onSelect, onAddFile, onDeleteFile, isLoading = false, readOnly = false, ariaLabel = 'File browser', iconResolver, }) {
|
|
178
193
|
const [expandedPaths, setExpandedPaths] = useState(new Set());
|
|
179
194
|
const [focusedPath, setFocusedPath] = useState(null);
|
|
180
195
|
const treeRef = useRef(null);
|
|
@@ -289,6 +304,6 @@ export function FileTree({ entityId: _entityId, files, selectedPath, onSelect, o
|
|
|
289
304
|
if (files.length === 0) {
|
|
290
305
|
return (_jsxs("div", { className: "flex h-full flex-col items-center justify-center py-12 text-center", children: [_jsx(Folder, { className: "mb-4 h-12 w-12 text-muted-foreground opacity-50", "aria-hidden": "true" }), _jsx("h3", { className: "mb-1 text-sm font-medium text-muted-foreground", children: "No files found" }), _jsx("p", { className: "text-xs text-muted-foreground", children: "This entity does not contain any files yet." })] }));
|
|
291
306
|
}
|
|
292
|
-
return (_jsxs("div", { className: "flex h-full flex-col", children: [onAddFile && !readOnly && (_jsxs("div", { className: "flex items-center justify-between border-b p-2", children: [_jsx("span", { className: "whitespace-nowrap text-xs font-medium text-muted-foreground", children: "FILES" }), _jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 flex-shrink-0", onClick: onAddFile, "aria-label": "Add new file", children: _jsx(Plus, { className: "h-3 w-3", "aria-hidden": "true" }) })] })), _jsx("div", { ref: treeRef, role: "tree", "aria-label": ariaLabel, className: "flex-1 overflow-auto p-2", "data-testid": "file-tree", children: files.map((node, index) => (_jsx(TreeNode, { node: node, level: 0, selectedPath: selectedPath, focusedPath: focusedPath, expandedPaths: expandedPaths, onSelect: onSelect, onToggle: handleToggle, onDelete: readOnly ? undefined : onDeleteFile, onFocus: handleFocus, onKeyNavigation: handleKeyNavigation, treeSize: visibleNodes.length, positionInSet: index + 1 }, node.path))) })] }));
|
|
307
|
+
return (_jsxs("div", { className: "flex h-full flex-col", children: [onAddFile && !readOnly && (_jsxs("div", { className: "flex items-center justify-between border-b p-2", children: [_jsx("span", { className: "whitespace-nowrap text-xs font-medium text-muted-foreground", children: "FILES" }), _jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 flex-shrink-0", onClick: onAddFile, "aria-label": "Add new file", children: _jsx(Plus, { className: "h-3 w-3", "aria-hidden": "true" }) })] })), _jsx("div", { ref: treeRef, role: "tree", "aria-label": ariaLabel, className: "flex-1 overflow-auto p-2", "data-testid": "file-tree", children: files.map((node, index) => (_jsx(TreeNode, { node: node, level: 0, selectedPath: selectedPath, focusedPath: focusedPath, expandedPaths: expandedPaths, onSelect: onSelect, onToggle: handleToggle, onDelete: readOnly ? undefined : onDeleteFile, onFocus: handleFocus, onKeyNavigation: handleKeyNavigation, treeSize: visibleNodes.length, positionInSet: index + 1, iconResolver: iconResolver }, node.path))) })] }));
|
|
293
308
|
}
|
|
294
309
|
//# sourceMappingURL=FileTree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileTree.js","sourceRoot":"","sources":["../../src/content-viewer/FileTree.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileTree.js","sourceRoot":"","sources":["../../src/content-viewer/FileTree.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EACL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,GACL,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAmCrD,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,WAAW,CAAC,QAAgB;IACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;IAE3D,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC;QACV,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC;QAClB,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,GAAG,CAAC;QACT,KAAK,IAAI,CAAC;QACV,KAAK,IAAI;YACP,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,+DAA+D;AAC/D,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,mBAAmB,CAAC,KAAiB,EAAE,aAA0B;IACxE,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,SAAS,QAAQ,CAAC,QAAoB;QACpC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC/E,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChB,OAAO,MAAM,CAAC;AAChB,CAAC;AAwBD,SAAS,QAAQ,CAAC,EAChB,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,eAAe,EACf,QAAQ,EACR,aAAa,EACb,YAAY,GACE;IACd,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC;IAC9C,MAAM,SAAS,GAAG,WAAW,KAAK,IAAI,CAAC,IAAI,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;IAE9C,uEAAuE;IACvE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,WAAW,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1D,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,CAAsB,EAAE,EAAE;QACzB,wCAAwC;QACxC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACvC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,WAAW,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YACD,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,IAAI,WAAW,EAAE,CAAC;YAC1C,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YACD,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;YACvD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,iDAAiD;QACjD,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC,EACD,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,CACrE,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAmB,EAAE,EAAE;QACtB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EACD,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CACtB,CAAC;IAEF,wDAAwD;IACxD,MAAM,UAAU,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,UAAU,IAAI,CAClC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1E,CAAC;IAEF,OAAO,CACL,eAAK,IAAI,EAAC,MAAM,aACd,eACE,GAAG,EAAE,OAAO,EACZ,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBACb,UAAU,mBACV,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,gBACvC,KAAK,GAAG,CAAC,kBACP,QAAQ,mBACP,aAAa,iBACf,aAAa,IAAI,CAAC,IAAI,EAAE,EACrC,SAAS,EAAE,EAAE,CACX,kGAAkG,EAClG,UAAU,IAAI,kCAAkC,EAChD,qGAAqG,CACtG,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAC7C,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAEhC,WAAW,CAAC,CAAC,CAAC,CACb,eAAM,SAAS,EAAC,eAAe,iBAAa,MAAM,YAC/C,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,WAAW,IAAC,SAAS,EAAC,+BAA+B,GAAG,CAC1D,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,IAAC,SAAS,EAAC,+BAA+B,GAAG,CAC3D,GACI,CACR,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,mBAAmB,iBAAa,MAAM,GAAG,CAC1D,EAED,KAAC,aAAa,IACZ,SAAS,EAAE,EAAE,CACX,uBAAuB,EACvB,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB,CACxD,iBACW,MAAM,GAClB,EAEF,eAAM,SAAS,EAAC,iCAAiC,YAAE,IAAI,CAAC,IAAI,GAAQ,EAEnE,QAAQ,IAAI,CAAC,WAAW,IAAI,CAC3B,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,gFAAgF,EAC1F,OAAO,EAAE,YAAY,gBACT,UAAU,IAAI,CAAC,IAAI,EAAE,EACjC,QAAQ,EAAE,CAAC,CAAC,YAEZ,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,iBAAa,MAAM,GAAG,GAC1C,CACV,IACG,EAEL,WAAW,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,CAC7C,cAAK,IAAI,EAAC,OAAO,gBAAa,eAAe,IAAI,CAAC,IAAI,EAAE,YACrD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBAClC,mDAAmD;oBACnD,yEAAyE;oBACzE,OAAO,CACL,KAAC,QAAQ,IAEP,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,KAAK,GAAG,CAAC,EAChB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,KAAK,GAAG,CAAC,EACxB,YAAY,EAAE,YAAY,IAbrB,KAAK,CAAC,IAAI,CAcf,CACH,CAAC;gBACJ,CAAC,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,SAAS,gBAAgB;IACvB,OAAO,CACL,cAAK,SAAS,EAAC,eAAe,YAC3B,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,eAEE,SAAS,EAAC,yBAAyB,EACnC,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,aAE/C,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,GAAG,EAChC,KAAC,QAAQ,IAAC,SAAS,EAAC,YAAY,GAAG,KAL9B,CAAC,CAMF,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,QAAQ,EAAE,SAAS,EACnB,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,SAAS,GAAG,KAAK,EACjB,QAAQ,GAAG,KAAK,EAChB,SAAS,GAAG,cAAc,EAC1B,YAAY,GACE;IACd,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE7C,6DAA6D;IAC7D,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAE/D,kDAAkD;IAClD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,KAAK,IAAI,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,mEAAmE;YACnE,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;gBACtE,cAAc,CAAC,YAAY,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9C,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QAChD,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QAC/C,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,0CAA0C;IAC1C,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,CAAsB,EAAE,WAAqB,EAAE,EAAE;QAChD,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC;QAChF,IAAI,YAAY,KAAK,CAAC,CAAC;YAAE,OAAO;QAEhC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACd,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACb,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACb,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,SAAS,EAAE,CAAC;oBACd,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACvD,IAAI,QAAQ,EAAE,CAAC;oBACb,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,4DAA4D;gBAC5D,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC;gBACrD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAEvD,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;oBAC9B,iCAAiC;oBACjC,OAAO;gBACT,CAAC;gBAED,wBAAwB;gBACxB,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,SAAS,CAAC,GAAG,EAAE,CAAC;oBAChB,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACvC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;oBACnE,IAAI,UAAU,EAAE,CAAC;wBACf,cAAc,CAAC,UAAU,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,gDAAgD;gBAChD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC;gBACrD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAEvD,IAAI,WAAW,IAAI,UAAU,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;oBAC9D,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC3C,IAAI,UAAU,EAAE,CAAC;wBACf,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;gBACD,kDAAkD;gBAClD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC,EACD,CAAC,YAAY,EAAE,aAAa,CAAC,CAC9B,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,KAAC,gBAAgB,KAAG,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CACL,eAAK,SAAS,EAAC,oEAAoE,aACjF,KAAC,MAAM,IAAC,SAAS,EAAC,iDAAiD,iBAAa,MAAM,GAAG,EACzF,aAAI,SAAS,EAAC,gDAAgD,+BAAoB,EAClF,YAAG,SAAS,EAAC,+BAA+B,4DAAgD,IACxF,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,sBAAsB,aAElC,SAAS,IAAI,CAAC,QAAQ,IAAI,CACzB,eAAK,SAAS,EAAC,gDAAgD,aAC7D,eAAM,SAAS,EAAC,6DAA6D,sBAAa,EAC1F,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,uBAAuB,EACjC,OAAO,EAAE,SAAS,gBACP,cAAc,YAEzB,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,iBAAa,MAAM,GAAG,GACxC,IACL,CACP,EAGD,cACE,GAAG,EAAE,OAAO,EACZ,IAAI,EAAC,MAAM,gBACC,SAAS,EACrB,SAAS,EAAC,0BAA0B,iBACxB,WAAW,YAEtB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,KAAC,QAAQ,IAEP,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,CAAC,EACR,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAC7C,OAAO,EAAE,WAAW,EACpB,eAAe,EAAE,mBAAmB,EACpC,QAAQ,EAAE,YAAY,CAAC,MAAM,EAC7B,aAAa,EAAE,KAAK,GAAG,CAAC,EACxB,YAAY,EAAE,YAAY,IAbrB,IAAI,CAAC,IAAI,CAcd,CACH,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
|