uilint-react 0.2.142 → 0.2.144

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 (39) hide show
  1. package/dist/{SchemaPanel-DSLG7wA4.js → SchemaPanel-X-0sDENN.js} +2 -2
  2. package/dist/{SchemaPanel-DSLG7wA4.js.map → SchemaPanel-X-0sDENN.js.map} +1 -1
  3. package/dist/core/plugin-system/registry.d.ts +16 -1
  4. package/dist/core/plugin-system/registry.d.ts.map +1 -1
  5. package/dist/core/plugin-system/types.d.ts +59 -1
  6. package/dist/core/plugin-system/types.d.ts.map +1 -1
  7. package/dist/core/store/core-slice.d.ts +16 -1
  8. package/dist/core/store/core-slice.d.ts.map +1 -1
  9. package/dist/devtools.js +123 -123
  10. package/dist/devtools.js.map +1 -1
  11. package/dist/{index-Cju7h3Wc.js → index-ByAvzI5s.js} +7878 -6376
  12. package/dist/index-ByAvzI5s.js.map +1 -0
  13. package/dist/index.js +1 -1
  14. package/dist/plugins/eslint/index.d.ts.map +1 -1
  15. package/dist/plugins/eslint/panels/FilePreviewPanel.d.ts +7 -0
  16. package/dist/plugins/eslint/panels/FilePreviewPanel.d.ts.map +1 -0
  17. package/dist/plugins/eslint/panels/RulePreviewPanel.d.ts +7 -0
  18. package/dist/plugins/eslint/panels/RulePreviewPanel.d.ts.map +1 -0
  19. package/dist/plugins/eslint/search-provider.d.ts +12 -0
  20. package/dist/plugins/eslint/search-provider.d.ts.map +1 -0
  21. package/dist/ui/components/CommandPalette/CommandPalette.d.ts.map +1 -1
  22. package/dist/ui/components/CommandPalette/PreviewPane.d.ts +9 -0
  23. package/dist/ui/components/CommandPalette/PreviewPane.d.ts.map +1 -0
  24. package/dist/ui/components/CommandPalette/ResultList.d.ts +17 -0
  25. package/dist/ui/components/CommandPalette/ResultList.d.ts.map +1 -0
  26. package/dist/ui/components/CommandPalette/SearchInput.d.ts +14 -1
  27. package/dist/ui/components/CommandPalette/SearchInput.d.ts.map +1 -1
  28. package/dist/ui/hooks/index.d.ts +3 -0
  29. package/dist/ui/hooks/index.d.ts.map +1 -1
  30. package/dist/ui/hooks/useFuzzySearch.d.ts +18 -0
  31. package/dist/ui/hooks/useFuzzySearch.d.ts.map +1 -0
  32. package/dist/ui/hooks/useListNavigation.d.ts +20 -0
  33. package/dist/ui/hooks/useListNavigation.d.ts.map +1 -0
  34. package/dist/ui/hooks/useSearchItems.d.ts +9 -0
  35. package/dist/ui/hooks/useSearchItems.d.ts.map +1 -0
  36. package/package.json +7 -6
  37. package/dist/index-Cju7h3Wc.js.map +0 -1
  38. package/dist/ui/components/CommandPalette/RuleToggleBar.d.ts +0 -3
  39. package/dist/ui/components/CommandPalette/RuleToggleBar.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
- import { g as y, j as t, c as C, C as M, a as V, B as v, b as $, d as z, e as D, f as R, h as P } from "./index-Cju7h3Wc.js";
1
+ import { g as y, j as t, c as C, C as M, a as V, B as v, b as $, d as z, e as D, f as R, h as P } from "./index-ByAvzI5s.js";
2
2
  import { isExpressionBinding as I, isDataBinding as k, isConditionalValue as L } from "uilint-core";
3
3
  import j from "react";
4
4
  function N(e, r) {
@@ -661,4 +661,4 @@ function oe({
661
661
  export {
662
662
  oe as SchemaPanel
663
663
  };
664
- //# sourceMappingURL=SchemaPanel-DSLG7wA4.js.map
664
+ //# sourceMappingURL=SchemaPanel-X-0sDENN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaPanel-DSLG7wA4.js","sources":["../src/ui/components/Schema/binding-utils.ts","../src/ui/components/Schema/sections/HeaderSection.tsx","../src/ui/components/Schema/sections/CodeViewerSection.tsx","../src/ui/components/Schema/sections/CodeComparisonSection.tsx","../src/ui/components/Schema/sections/BadgeSection.tsx","../src/ui/components/Schema/sections/TextSection.tsx","../src/ui/components/Schema/sections/ActionsSection.tsx","../src/ui/components/Schema/sections/DividerSection.tsx","../src/ui/components/Schema/sections/ConditionalSection.tsx","../src/ui/components/Schema/sections/ListSection.tsx","../src/ui/components/Schema/sections/ImageSection.tsx","../src/ui/components/Schema/sections/CardSection.tsx","../src/ui/components/Schema/sections/ProgressSection.tsx","../src/ui/components/Schema/SchemaPanel.tsx"],"sourcesContent":["/**\n * Data Binding Utilities\n *\n * Functions for evaluating data bindings and expressions in panel schemas.\n */\n\nimport type {\n DataBinding,\n ExpressionBinding,\n DynamicValue,\n ConditionalValue,\n} from \"uilint-core\";\n\n// Import type guards as values (they are functions)\nimport {\n isDataBinding,\n isExpressionBinding,\n isConditionalValue,\n} from \"uilint-core\";\n\n// Re-export type guards\nexport { isDataBinding, isExpressionBinding, isConditionalValue };\n\n/**\n * Context for evaluating bindings\n */\nexport interface BindingContext {\n /** Panel data from inspector */\n data: Record<string, unknown>;\n /** Plugin state */\n state: Record<string, unknown>;\n /** Computed values from state definition */\n computed: Record<string, unknown>;\n}\n\n/**\n * Gets a value from an object using dot notation path\n */\nexport function getValueByPath(\n obj: Record<string, unknown>,\n path: string\n): unknown {\n const parts = path.split(\".\");\n let current: unknown = obj;\n\n for (const part of parts) {\n if (current === null || current === undefined) {\n return undefined;\n }\n if (typeof current === \"object\") {\n current = (current as Record<string, unknown>)[part];\n } else {\n return undefined;\n }\n }\n\n return current;\n}\n\n/**\n * Resolves a data binding against the context\n */\nexport function resolveBinding(\n binding: DataBinding,\n ctx: BindingContext\n): unknown {\n const path = binding.binding;\n\n // Try data first (panel data), then state, then computed\n let value = getValueByPath(ctx.data, path);\n if (value === undefined) {\n value = getValueByPath(ctx.state, path);\n }\n if (value === undefined) {\n value = getValueByPath(ctx.computed, path);\n }\n\n return value;\n}\n\n/**\n * Evaluates an expression binding against the context\n *\n * SECURITY NOTE: This uses Function() which is similar to eval().\n * The expressions come from trusted plugin definitions, not user input.\n */\nexport function evaluateExpression(\n expr: ExpressionBinding,\n ctx: BindingContext\n): unknown {\n const expression = expr.expression;\n\n // Create a combined context object\n const combinedContext = {\n ...ctx.data,\n ...ctx.state,\n ...ctx.computed,\n };\n\n try {\n // Create a function that has access to context properties\n const keys = Object.keys(combinedContext);\n const values = Object.values(combinedContext);\n\n \n const fn = new Function(...keys, `return (${expression});`);\n return fn(...values);\n } catch (error) {\n console.warn(`[SchemaRenderer] Failed to evaluate expression: ${expression}`, error);\n return undefined;\n }\n}\n\n/**\n * Resolves a dynamic value (static value or binding)\n */\nexport function resolveDynamicValue<T>(\n value: DynamicValue<T>,\n ctx: BindingContext\n): T | undefined {\n if (isDataBinding(value)) {\n return resolveBinding(value, ctx) as T | undefined;\n }\n return value;\n}\n\n/**\n * Resolves a conditional value based on condition binding\n */\nexport function resolveConditionalValue<T>(\n value: ConditionalValue<T>,\n ctx: BindingContext\n): T {\n const condition = resolveBinding(value.condition, ctx);\n return condition ? value.true : value.false;\n}\n\n/**\n * Resolves any value that could be static, binding, or conditional\n */\nexport function resolveValue<T>(\n value: T | DataBinding | ConditionalValue<T>,\n ctx: BindingContext\n): T | undefined {\n if (isConditionalValue(value)) {\n return resolveConditionalValue(value, ctx);\n }\n if (isDataBinding(value)) {\n return resolveBinding(value, ctx) as T | undefined;\n }\n return value;\n}\n\n/**\n * Evaluates a condition (DataBinding or ExpressionBinding)\n */\nexport function evaluateCondition(\n condition: DataBinding | ExpressionBinding,\n ctx: BindingContext\n): boolean {\n if (isExpressionBinding(condition)) {\n return Boolean(evaluateExpression(condition, ctx));\n }\n return Boolean(resolveBinding(condition, ctx));\n}\n\n/**\n * Creates action payload from bindings\n */\nexport function createActionPayload(\n staticPayload: Record<string, unknown> | undefined,\n payloadBindings: Record<string, string> | undefined,\n ctx: BindingContext\n): Record<string, unknown> {\n const payload: Record<string, unknown> = { ...staticPayload };\n\n if (payloadBindings) {\n for (const [key, bindingPath] of Object.entries(payloadBindings)) {\n payload[key] = resolveBinding({ binding: bindingPath }, ctx);\n }\n }\n\n return payload;\n}\n","/**\n * Header Section Renderer\n *\n * Renders a header with optional icon and subtitle.\n */\n\nimport React from \"react\";\nimport type { HeaderSection as HeaderSectionSchema } from \"uilint-core\";\nimport { resolveDynamicValue, type BindingContext } from \"../binding-utils\";\nimport { getIcon } from \"../icon-map\";\nimport { cn } from \"../../../../lib/utils\";\n\ninterface HeaderSectionProps {\n section: HeaderSectionSchema;\n ctx: BindingContext;\n}\n\n/**\n * Renders a header section\n */\nexport function HeaderSection({ section, ctx }: HeaderSectionProps) {\n const text = resolveDynamicValue(section.text, ctx);\n const subtitle = resolveDynamicValue(section.subtitle, ctx);\n const IconComponent = section.icon ? getIcon(section.icon) : null;\n\n return (\n <div\n className={cn(\n \"flex items-start gap-2 mb-3\",\n section.sticky && \"sticky top-0 bg-surface py-2 z-10\"\n )}\n >\n {IconComponent && (\n <span className=\"text-muted-foreground shrink-0 mt-0.5\">\n <IconComponent size={16} />\n </span>\n )}\n <div>\n <h3 className=\"m-0 text-sm font-semibold text-text-primary\">\n {String(text ?? \"\")}\n </h3>\n {subtitle && (\n <p className=\"mt-1 mb-0 text-xs text-muted-foreground\">\n {String(subtitle)}\n </p>\n )}\n </div>\n </div>\n );\n}\n","/**\n * Code Viewer Section Renderer\n *\n * Renders a code block with syntax highlighting and optional diff highlighting.\n * Uses the existing ScrollableCodeSection component when available.\n */\n\nimport React from \"react\";\nimport type { CodeViewerSection as CodeViewerSectionSchema } from \"uilint-core\";\nimport {\n resolveDynamicValue,\n resolveBinding,\n createActionPayload,\n isDataBinding,\n type BindingContext,\n} from \"../binding-utils\";\nimport { getIcon } from \"../icon-map\";\n\ninterface CodeViewerSectionProps {\n section: CodeViewerSectionSchema;\n ctx: BindingContext;\n onAction: (type: string, payload: Record<string, unknown>) => void;\n onFetch?: (type: string, params: Record<string, unknown>) => Promise<unknown>;\n}\n\n/**\n * Simple code display component (placeholder for full ScrollableCodeSection)\n */\nfunction SimpleCodeViewer({\n code,\n startLine = 1,\n highlightLines,\n maxHeight,\n}: {\n code: string;\n startLine?: number;\n highlightLines?: number[];\n maxHeight?: number;\n}) {\n const lines = code.split(\"\\n\");\n const highlightSet = new Set(highlightLines || []);\n\n return (\n <div\n className=\"font-mono text-xs bg-surface rounded border border-border overflow-auto\"\n style={{ maxHeight: maxHeight || 200 }}\n >\n {lines.map((line, index) => {\n const lineNum = startLine + index;\n const isHighlighted = highlightSet.has(lineNum);\n\n return (\n <div\n key={index}\n className={`flex ${isHighlighted ? \"bg-accent/15\" : \"bg-transparent\"}`}\n >\n <span className=\"w-12 pr-2 text-right text-muted-foreground select-none shrink-0 border-r border-border\">\n {lineNum}\n </span>\n <pre className=\"m-0 px-2 whitespace-pre-wrap break-all flex-1\">\n {line || \" \"}\n </pre>\n </div>\n );\n })}\n </div>\n );\n}\n\n/**\n * Renders a code viewer section\n */\nexport function CodeViewerSection({\n section,\n ctx,\n onAction,\n onFetch,\n}: CodeViewerSectionProps) {\n const [code, setCode] = React.useState<string | null>(null);\n const [isLoading, setIsLoading] = React.useState(false);\n\n // Determine code source\n const codeSource = section.code;\n\n React.useEffect(() => {\n if (isDataBinding(codeSource)) {\n // Code comes from binding\n const boundCode = resolveBinding(codeSource, ctx);\n setCode(typeof boundCode === \"string\" ? boundCode : null);\n } else if (\"fetch\" in codeSource && onFetch) {\n // Code needs to be fetched\n setIsLoading(true);\n const fetchConfig = codeSource.fetch;\n const params: Record<string, unknown> = {};\n\n // Resolve fetch params\n if (fetchConfig.params.filePath) {\n params.filePath = resolveBinding(fetchConfig.params.filePath, ctx);\n }\n if (fetchConfig.params.line) {\n params.line = resolveBinding(fetchConfig.params.line, ctx);\n }\n if (fetchConfig.params.contextAbove !== undefined) {\n params.contextAbove = fetchConfig.params.contextAbove;\n }\n if (fetchConfig.params.contextBelow !== undefined) {\n params.contextBelow = fetchConfig.params.contextBelow;\n }\n\n onFetch(fetchConfig.type, params)\n .then((result) => {\n setCode(typeof result === \"string\" ? result : JSON.stringify(result, null, 2));\n })\n .catch((error) => {\n console.error(\"[CodeViewerSection] Fetch failed:\", error);\n setCode(`// Error loading code: ${error.message}`);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }\n }, [codeSource, ctx, onFetch]);\n\n const startLine = resolveDynamicValue(section.startLine, ctx);\n const highlightLines = section.highlightLines\n ? (resolveBinding(section.highlightLines, ctx) as number[] | undefined)\n : undefined;\n\n const IconComponent = section.icon ? getIcon(section.icon) : null;\n\n const handleNavigate = section.onNavigate\n ? () => {\n const payload = createActionPayload(\n section.onNavigate!.payload,\n section.onNavigate!.payloadBindings,\n ctx\n );\n onAction(section.onNavigate!.type, payload);\n }\n : undefined;\n\n return (\n <div className=\"mb-3\">\n {section.label && (\n <div className=\"flex items-center justify-between mb-2\">\n <div className=\"flex items-center gap-1.5\">\n {IconComponent && (\n <span className=\"text-muted-foreground\">\n <IconComponent size={14} />\n </span>\n )}\n <span className=\"text-xs font-medium text-text-secondary\">\n {section.label}\n </span>\n </div>\n {handleNavigate && (\n <button\n onClick={handleNavigate}\n className=\"bg-transparent border-none p-1 cursor-pointer text-accent text-xs\"\n >\n Open in editor\n </button>\n )}\n </div>\n )}\n {isLoading ? (\n <div className=\"p-4 text-center text-muted-foreground text-xs bg-surface rounded border border-border\">\n Loading code...\n </div>\n ) : code ? (\n <SimpleCodeViewer\n code={code}\n startLine={typeof startLine === \"number\" ? startLine : 1}\n highlightLines={highlightLines}\n maxHeight={section.maxHeight}\n />\n ) : (\n <div className=\"p-4 text-center text-muted-foreground text-xs bg-surface rounded border border-border\">\n No code available\n </div>\n )}\n </div>\n );\n}\n","/**\n * Code Comparison Section Renderer\n *\n * Renders a side-by-side or stacked code comparison.\n */\n\nimport React from \"react\";\nimport type { CodeComparisonSection as CodeComparisonSectionSchema } from \"uilint-core\";\nimport type { BindingContext } from \"../binding-utils\";\nimport { CodeViewerSection } from \"./CodeViewerSection\";\n\ninterface CodeComparisonSectionProps {\n section: CodeComparisonSectionSchema;\n ctx: BindingContext;\n onAction: (type: string, payload: Record<string, unknown>) => void;\n onFetch?: (type: string, params: Record<string, unknown>) => Promise<unknown>;\n}\n\n/**\n * Renders a code comparison section\n */\nexport function CodeComparisonSection({\n section,\n ctx,\n onAction,\n onFetch,\n}: CodeComparisonSectionProps) {\n const isStackedMode = section.mode === \"stacked\";\n\n const containerStyle: React.CSSProperties = isStackedMode\n ? {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"1rem\",\n marginBottom: \"0.75rem\",\n }\n : {\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr\",\n gap: \"1rem\",\n marginBottom: \"0.75rem\",\n };\n\n // Convert source/target configs to CodeViewerSection props\n const sourceSection = {\n type: \"code-viewer\" as const,\n label: section.source.label,\n icon: section.source.icon,\n code: section.source.code,\n location: section.source.location,\n diffHighlighting: section.computeDiff,\n maxHeight: section.maxHeight,\n };\n\n const targetSection = {\n type: \"code-viewer\" as const,\n label: section.target.label,\n icon: section.target.icon,\n code: section.target.code,\n location: section.target.location,\n diffHighlighting: section.computeDiff,\n maxHeight: section.maxHeight,\n };\n\n return (\n <div style={containerStyle}>\n <CodeViewerSection\n section={sourceSection}\n ctx={ctx}\n onAction={onAction}\n onFetch={onFetch}\n />\n <CodeViewerSection\n section={targetSection}\n ctx={ctx}\n onAction={onAction}\n onFetch={onFetch}\n />\n </div>\n );\n}\n","/**\n * Badge Section Renderer\n *\n * Renders a badge/pill display for status, severity, similarity, etc.\n */\n\nimport React from \"react\";\nimport type { BadgeSection as BadgeSectionSchema } from \"uilint-core\";\nimport { resolveBinding, type BindingContext } from \"../binding-utils\";\nimport { Badge, CategoryBadge, CountBadge } from \"../../badge\";\nimport { cn } from \"../../../../lib/utils\";\n\ninterface BadgeSectionProps {\n section: BadgeSectionSchema;\n ctx: BindingContext;\n}\n\n/**\n * Gets color for similarity percentage\n */\nfunction getSimilarityColor(similarity: number): string {\n if (similarity >= 85) return \"error\";\n if (similarity >= 70) return \"warning\";\n return \"info\";\n}\n\n/**\n * Gets label for similarity percentage\n */\nfunction getSimilarityLabel(similarity: number): string {\n if (similarity >= 90) return \"Very High\";\n if (similarity >= 75) return \"High\";\n if (similarity >= 60) return \"Moderate\";\n return \"Low\";\n}\n\n/**\n * Renders a badge section\n */\nexport function BadgeSection({ section, ctx }: BadgeSectionProps) {\n const value = resolveBinding(section.value, ctx);\n\n const containerClassName = cn(\n \"mb-3\",\n section.centered && \"flex justify-center\"\n );\n\n switch (section.variant) {\n case \"similarity\": {\n const similarity = typeof value === \"number\" ? value : 0;\n const percent = Math.round(similarity * 100);\n const color = getSimilarityColor(percent);\n const label = getSimilarityLabel(percent);\n\n return (\n <div className={containerClassName}>\n <Badge variant={color as \"error\" | \"warning\" | \"info\"}>\n {percent}% Match - {label}\n </Badge>\n </div>\n );\n }\n\n case \"severity\": {\n const severity = String(value || \"info\");\n const variantMap: Record<string, \"error\" | \"warning\" | \"success\" | \"info\"> = {\n error: \"error\",\n warning: \"warning\",\n info: \"info\",\n success: \"success\",\n };\n const variant = variantMap[severity] || \"info\";\n\n return (\n <div className={containerClassName}>\n <Badge variant={variant}>\n {section.label ? `${section.label}: ` : \"\"}{severity}\n </Badge>\n </div>\n );\n }\n\n case \"status\": {\n const status = String(value || \"unknown\");\n const statusColors: Record<string, \"error\" | \"warning\" | \"success\" | \"info\"> = {\n ready: \"success\",\n indexing: \"info\",\n error: \"error\",\n idle: \"info\",\n loading: \"info\",\n };\n const variant = statusColors[status] || \"info\";\n\n return (\n <div className={containerClassName}>\n <Badge variant={variant}>\n {section.label ? `${section.label}: ` : \"\"}{status}\n </Badge>\n </div>\n );\n }\n\n case \"category\": {\n const category = String(value || \"\");\n return (\n <div className={containerClassName}>\n <CategoryBadge>{category}</CategoryBadge>\n </div>\n );\n }\n\n case \"count\": {\n const count = typeof value === \"number\" ? value : 0;\n return (\n <div className={containerClassName}>\n {section.label && (\n <span className=\"mr-2 text-xs text-muted-foreground\">\n {section.label}:\n </span>\n )}\n <CountBadge count={count} />\n </div>\n );\n }\n\n default:\n return null;\n }\n}\n","/**\n * Text Section Renderer\n *\n * Renders plain text content with various styling variants.\n */\n\nimport React from \"react\";\nimport type { TextSection as TextSectionSchema } from \"uilint-core\";\nimport { resolveDynamicValue, type BindingContext } from \"../binding-utils\";\n\ninterface TextSectionProps {\n section: TextSectionSchema;\n ctx: BindingContext;\n}\n\n/**\n * Gets CSS styles for text variant\n */\nfunction getVariantStyles(variant?: string): React.CSSProperties {\n const base: React.CSSProperties = {\n marginBottom: \"0.5rem\",\n lineHeight: 1.5,\n };\n\n switch (variant) {\n case \"caption\":\n return {\n ...base,\n fontSize: \"0.75rem\",\n color: \"var(--uilint-text-muted)\",\n };\n case \"muted\":\n return {\n ...base,\n fontSize: \"0.875rem\",\n color: \"var(--uilint-text-muted)\",\n };\n case \"error\":\n return {\n ...base,\n fontSize: \"0.875rem\",\n color: \"var(--uilint-error)\",\n };\n case \"success\":\n return {\n ...base,\n fontSize: \"0.875rem\",\n color: \"var(--uilint-success)\",\n };\n case \"body\":\n default:\n return {\n ...base,\n fontSize: \"0.875rem\",\n color: \"var(--uilint-text-primary)\",\n };\n }\n}\n\n/**\n * Renders a text section\n */\nexport function TextSection({ section, ctx }: TextSectionProps) {\n const content = resolveDynamicValue(section.content, ctx);\n\n if (content === undefined || content === null) {\n return null;\n }\n\n const styles = getVariantStyles(section.variant);\n\n return <p style={styles}>{String(content)}</p>;\n}\n","/**\n * Actions Section Renderer\n *\n * Renders a group of action buttons.\n */\n\nimport React from \"react\";\nimport type { ActionsSection as ActionsSectionSchema, ActionButton } from \"uilint-core\";\nimport {\n resolveValue,\n resolveBinding,\n createActionPayload,\n isConditionalValue,\n type BindingContext,\n} from \"../binding-utils\";\nimport { getIcon } from \"../icon-map\";\nimport { Button } from \"../../button\";\n\ninterface ActionsSectionProps {\n section: ActionsSectionSchema;\n ctx: BindingContext;\n onAction: (type: string, payload: Record<string, unknown>) => void;\n}\n\n/**\n * Maps button variant to Button component variant\n */\nfunction mapVariant(variant?: string): \"default\" | \"outline\" | \"ghost\" | \"destructive\" {\n switch (variant) {\n case \"primary\":\n return \"default\";\n case \"secondary\":\n return \"outline\";\n case \"ghost\":\n return \"ghost\";\n case \"danger\":\n return \"destructive\";\n default:\n return \"default\";\n }\n}\n\n/**\n * Renders a single action button\n */\nfunction ActionButtonRenderer({\n button,\n ctx,\n onAction,\n}: {\n button: ActionButton;\n ctx: BindingContext;\n onAction: (type: string, payload: Record<string, unknown>) => void;\n}) {\n // Check visibility\n if (button.visible) {\n const isVisible = Boolean(resolveBinding(button.visible, ctx));\n if (!isVisible) return null;\n }\n\n // Check disabled state\n const isDisabled = button.disabled\n ? Boolean(resolveBinding(button.disabled, ctx))\n : false;\n\n // Resolve label\n let label: string;\n if (isConditionalValue(button.label)) {\n label = String(resolveValue(button.label, ctx) ?? \"\");\n } else {\n label = String(resolveValue(button.label, ctx) ?? \"\");\n }\n\n // Get icon\n const IconComponent = button.icon ? getIcon(button.icon) : null;\n\n // Handle click\n const handleClick = () => {\n const payload = createActionPayload(\n button.action.payload,\n button.action.payloadBindings,\n ctx\n );\n onAction(button.action.type, payload);\n };\n\n return (\n <Button\n variant={mapVariant(button.variant)}\n size=\"sm\"\n disabled={isDisabled}\n onClick={handleClick}\n >\n {IconComponent && <IconComponent size={14} style={{ marginRight: \"0.25rem\" }} />}\n {label}\n </Button>\n );\n}\n\n/**\n * Renders an actions section\n */\nexport function ActionsSection({ section, ctx, onAction }: ActionsSectionProps) {\n const isRow = section.direction !== \"column\";\n\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: isRow ? \"row\" : \"column\",\n gap: \"0.5rem\",\n marginBottom: \"0.75rem\",\n ...(isRow && { flexWrap: \"wrap\" }),\n }}\n >\n {section.actions.map((button) => (\n <ActionButtonRenderer\n key={button.id}\n button={button}\n ctx={ctx}\n onAction={onAction}\n />\n ))}\n </div>\n );\n}\n","/**\n * Divider Section Renderer\n *\n * Renders a visual divider with configurable spacing.\n */\n\nimport React from \"react\";\nimport type { DividerSection as DividerSectionSchema } from \"uilint-core\";\n\ninterface DividerSectionProps {\n section: DividerSectionSchema;\n}\n\n/**\n * Gets margin for spacing variant\n */\nfunction getSpacingMargin(spacing?: string): string {\n switch (spacing) {\n case \"small\":\n return \"0.5rem 0\";\n case \"large\":\n return \"1.5rem 0\";\n case \"medium\":\n default:\n return \"1rem 0\";\n }\n}\n\n/**\n * Renders a divider section\n */\nexport function DividerSection({ section }: DividerSectionProps) {\n const margin = getSpacingMargin(section.spacing);\n\n return (\n <hr\n style={{\n margin,\n border: \"none\",\n borderTop: \"1px solid var(--uilint-border)\",\n }}\n />\n );\n}\n","/**\n * Conditional Section Renderer\n *\n * Renders sections conditionally based on a binding or expression.\n */\n\nimport React from \"react\";\nimport type { ConditionalSection as ConditionalSectionSchema, PanelSection } from \"uilint-core\";\nimport { evaluateCondition, type BindingContext } from \"../binding-utils\";\n\ninterface ConditionalSectionProps {\n section: ConditionalSectionSchema;\n ctx: BindingContext;\n renderSection: (section: PanelSection, index: number) => React.ReactNode;\n}\n\n/**\n * Renders a conditional section\n */\nexport function ConditionalSection({\n section,\n ctx,\n renderSection,\n}: ConditionalSectionProps) {\n const conditionMet = evaluateCondition(section.condition, ctx);\n\n const sectionsToRender = conditionMet ? section.then : section.else;\n\n if (!sectionsToRender || sectionsToRender.length === 0) {\n return null;\n }\n\n return (\n <>\n {sectionsToRender.map((childSection, index) => (\n <React.Fragment key={index}>\n {renderSection(childSection, index)}\n </React.Fragment>\n ))}\n </>\n );\n}\n","/**\n * List Section Renderer\n *\n * Renders an array of items using a template layout.\n */\n\nimport React from \"react\";\nimport type { ListSection as ListSectionSchema, PanelSection } from \"uilint-core\";\nimport { resolveBinding, type BindingContext } from \"../binding-utils\";\n\ninterface ListSectionProps {\n section: ListSectionSchema;\n ctx: BindingContext;\n renderSection: (section: PanelSection, index: number, itemCtx?: BindingContext) => React.ReactNode;\n}\n\n/**\n * Renders a list section\n */\nexport function ListSection({ section, ctx, renderSection }: ListSectionProps) {\n const items = resolveBinding(section.items, ctx);\n\n if (!Array.isArray(items) || items.length === 0) {\n if (section.emptyMessage) {\n return (\n <div className=\"p-4 text-center text-muted-foreground text-sm\">\n {section.emptyMessage}\n </div>\n );\n }\n return null;\n }\n\n return (\n <div className=\"mb-3\">\n {items.map((item, itemIndex) => {\n // Create an item context with \"item\" prefix\n const itemCtx: BindingContext = {\n ...ctx,\n data: {\n ...ctx.data,\n item,\n itemIndex,\n },\n };\n\n return (\n <div key={itemIndex} className=\"mb-2\">\n {section.itemLayout.map((childSection, layoutIndex) =>\n renderSection(childSection, layoutIndex, itemCtx)\n )}\n </div>\n );\n })}\n </div>\n );\n}\n","/**\n * Image Section Renderer\n *\n * Renders an image with optional highlight region.\n */\n\nimport React from \"react\";\nimport type { ImageSection as ImageSectionSchema } from \"uilint-core\";\nimport { resolveBinding, type BindingContext } from \"../binding-utils\";\n\ninterface ImageSectionProps {\n section: ImageSectionSchema;\n ctx: BindingContext;\n}\n\ninterface HighlightRegion {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\n/**\n * Renders an image section\n */\nexport function ImageSection({ section, ctx }: ImageSectionProps) {\n const src = resolveBinding(section.src, ctx);\n const highlightRegion = section.highlightRegion\n ? (resolveBinding(section.highlightRegion, ctx) as HighlightRegion | undefined)\n : undefined;\n\n if (!src || typeof src !== \"string\") {\n return null;\n }\n\n return (\n <div\n className=\"relative mb-3 overflow-hidden\"\n style={{ maxHeight: section.maxHeight }}\n >\n <img\n src={src}\n alt={section.alt || \"Image\"}\n className=\"w-full h-auto object-contain rounded border border-border\"\n style={{ maxHeight: section.maxHeight }}\n />\n {highlightRegion && (\n <div\n className=\"absolute border-2 border-accent rounded bg-accent/10 pointer-events-none\"\n style={{\n left: `${highlightRegion.x}px`,\n top: `${highlightRegion.y}px`,\n width: `${highlightRegion.width}px`,\n height: `${highlightRegion.height}px`,\n }}\n />\n )}\n </div>\n );\n}\n","/**\n * Card Section Renderer\n *\n * Renders a card display for list items.\n */\n\nimport React from \"react\";\nimport type { CardSection as CardSectionSchema } from \"uilint-core\";\nimport {\n resolveDynamicValue,\n resolveBinding,\n createActionPayload,\n type BindingContext,\n} from \"../binding-utils\";\nimport { Card, CardHeader, CardTitle, CardDescription } from \"../../card\";\nimport { Badge } from \"../../badge\";\nimport { cn } from \"../../../../lib/utils\";\n\ninterface CardSectionProps {\n section: CardSectionSchema;\n ctx: BindingContext;\n onAction: (type: string, payload: Record<string, unknown>) => void;\n}\n\n/**\n * Renders a card section\n */\nexport function CardSection({ section, ctx, onAction }: CardSectionProps) {\n const title = resolveDynamicValue(section.title, ctx);\n const subtitle = resolveDynamicValue(section.subtitle, ctx);\n const thumbnail = section.thumbnail ? resolveBinding(section.thumbnail, ctx) : undefined;\n const badgeValue = section.badge\n ? resolveBinding(section.badge.value, ctx)\n : undefined;\n\n const handleClick = section.onClick\n ? () => {\n const payload = createActionPayload(\n section.onClick!.payload,\n section.onClick!.payloadBindings,\n ctx\n );\n onAction(section.onClick!.type, payload);\n }\n : undefined;\n\n return (\n <Card\n className={cn(\"mb-2\", handleClick && \"cursor-pointer\")}\n onClick={handleClick}\n role={handleClick ? \"button\" : undefined}\n tabIndex={handleClick ? 0 : undefined}\n >\n <div className=\"flex items-start gap-3\">\n {typeof thumbnail === \"string\" && thumbnail && (\n <img\n src={thumbnail}\n alt=\"\"\n className=\"w-12 h-12 rounded object-cover shrink-0\"\n />\n )}\n <div className=\"flex-1 min-w-0\">\n <CardHeader className=\"px-3 pt-3 pb-0\">\n <div className=\"flex justify-between items-start\">\n <CardTitle className=\"text-sm mb-0\">\n {String(title ?? \"\")}\n </CardTitle>\n {section.badge && badgeValue !== undefined && (\n <Badge variant={section.badge.variant === \"severity\" ? \"warning\" : \"info\"}>\n {section.badge.label ? `${section.badge.label}: ` : \"\"}{String(badgeValue)}\n </Badge>\n )}\n </div>\n {subtitle && (\n <CardDescription className=\"text-xs mt-1\">\n {String(subtitle)}\n </CardDescription>\n )}\n </CardHeader>\n </div>\n </div>\n </Card>\n );\n}\n","/**\n * Progress Section Renderer\n *\n * Renders a progress indicator with optional label.\n */\n\nimport React from \"react\";\nimport type { ProgressSection as ProgressSectionSchema } from \"uilint-core\";\nimport { resolveDynamicValue, type BindingContext } from \"../binding-utils\";\n\ninterface ProgressSectionProps {\n section: ProgressSectionSchema;\n ctx: BindingContext;\n}\n\n/**\n * Renders a progress section\n */\nexport function ProgressSection({ section, ctx }: ProgressSectionProps) {\n const value = resolveDynamicValue(section.value, ctx);\n const label = resolveDynamicValue(section.label, ctx);\n const percent = typeof value === \"number\" ? Math.min(100, Math.max(0, value)) : 0;\n\n return (\n <div className=\"mb-3\">\n {label && (\n <div className=\"text-xs text-muted-foreground mb-1\">\n {String(label)}\n </div>\n )}\n <div className=\"h-1.5 bg-surface rounded-sm overflow-hidden\">\n {section.indeterminate ? (\n <div\n className=\"h-full w-[30%] bg-accent rounded-sm\"\n style={{ animation: \"progress-indeterminate 1.5s infinite linear\" }}\n />\n ) : (\n <div\n className=\"h-full bg-accent rounded-sm transition-[width] duration-300 ease-in-out\"\n style={{ width: `${percent}%` }}\n />\n )}\n </div>\n {!section.indeterminate && typeof value === \"number\" && (\n <div className=\"text-xs text-muted-foreground mt-1 text-right\">\n {percent}%\n </div>\n )}\n </div>\n );\n}\n","/**\n * Schema Panel Renderer\n *\n * Renders a PanelDefinition from uilint-core as React components.\n * This is the main entry point for declarative panel rendering.\n */\n\nimport React from \"react\";\nimport type { PanelDefinition, PanelSection } from \"uilint-core\";\nimport {\n resolveDynamicValue,\n evaluateCondition,\n type BindingContext,\n} from \"./binding-utils\";\nimport { getIcon } from \"./icon-map\";\nimport {\n HeaderSection,\n CodeViewerSection,\n CodeComparisonSection,\n BadgeSection,\n TextSection,\n ActionsSection,\n DividerSection,\n ConditionalSection,\n ListSection,\n ImageSection,\n CardSection,\n ProgressSection,\n} from \"./sections\";\n\nexport interface SchemaPanelProps {\n /** Panel definition from plugin */\n panel: PanelDefinition;\n /** Data passed to the panel (e.g., from inspector) */\n data: Record<string, unknown>;\n /** Plugin state */\n state: Record<string, unknown>;\n /** Computed values from plugin state definition */\n computed?: Record<string, unknown>;\n /** Handler for action execution */\n onAction: (type: string, payload: Record<string, unknown>) => void;\n /** Handler for data fetching (e.g., source code) */\n onFetch?: (type: string, params: Record<string, unknown>) => Promise<unknown>;\n}\n\n/**\n * Renders a panel definition as React components\n */\nexport function SchemaPanel({\n panel,\n data,\n state,\n computed = {},\n onAction,\n onFetch,\n}: SchemaPanelProps) {\n // Create binding context\n const ctx: BindingContext = {\n data,\n state,\n computed,\n };\n\n // Check loading state\n if (panel.loading) {\n const isLoading = evaluateCondition(panel.loading.when, ctx);\n if (isLoading) {\n return (\n <div className=\"p-8 text-center text-muted-foreground\">\n <div className=\"mb-2 animate-spin\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeDasharray=\"31.4\"\n strokeLinecap=\"round\"\n />\n </svg>\n </div>\n <div className=\"text-sm\">\n {panel.loading.message || \"Loading...\"}\n </div>\n {panel.loading.submessage && (\n <div className=\"text-xs mt-1\">\n {panel.loading.submessage}\n </div>\n )}\n </div>\n );\n }\n }\n\n // Check empty state\n if (panel.empty) {\n const isEmpty = evaluateCondition(panel.empty.when, ctx);\n if (isEmpty) {\n const IconComponent = panel.empty.icon ? getIcon(panel.empty.icon) : null;\n return (\n <div className=\"p-8 text-center text-muted-foreground\">\n {IconComponent && (\n <div className=\"mb-2\">\n <IconComponent size={32} strokeWidth={1.5} />\n </div>\n )}\n <div className=\"text-sm\">{panel.empty.message}</div>\n {panel.empty.submessage && (\n <div className=\"text-xs mt-1\">\n {panel.empty.submessage}\n </div>\n )}\n </div>\n );\n }\n }\n\n // Render section based on type\n const renderSection = (\n section: PanelSection,\n index: number,\n overrideCtx?: BindingContext\n ): React.ReactNode => {\n const sectionCtx = overrideCtx || ctx;\n const key = `section-${index}`;\n\n switch (section.type) {\n case \"header\":\n return <HeaderSection key={key} section={section} ctx={sectionCtx} />;\n\n case \"code-viewer\":\n return (\n <CodeViewerSection\n key={key}\n section={section}\n ctx={sectionCtx}\n onAction={onAction}\n onFetch={onFetch}\n />\n );\n\n case \"code-comparison\":\n return (\n <CodeComparisonSection\n key={key}\n section={section}\n ctx={sectionCtx}\n onAction={onAction}\n onFetch={onFetch}\n />\n );\n\n case \"badge\":\n return <BadgeSection key={key} section={section} ctx={sectionCtx} />;\n\n case \"text\":\n return <TextSection key={key} section={section} ctx={sectionCtx} />;\n\n case \"actions\":\n return (\n <ActionsSection\n key={key}\n section={section}\n ctx={sectionCtx}\n onAction={onAction}\n />\n );\n\n case \"divider\":\n return <DividerSection key={key} section={section} />;\n\n case \"conditional\":\n return (\n <ConditionalSection\n key={key}\n section={section}\n ctx={sectionCtx}\n renderSection={renderSection}\n />\n );\n\n case \"list\":\n return (\n <ListSection\n key={key}\n section={section}\n ctx={sectionCtx}\n renderSection={renderSection}\n />\n );\n\n case \"image\":\n return <ImageSection key={key} section={section} ctx={sectionCtx} />;\n\n case \"card\":\n return (\n <CardSection\n key={key}\n section={section}\n ctx={sectionCtx}\n onAction={onAction}\n />\n );\n\n case \"progress\":\n return <ProgressSection key={key} section={section} ctx={sectionCtx} />;\n\n default:\n console.warn(\n `[SchemaPanel] Unknown section type: ${(section as { type: string }).type}`\n );\n return null;\n }\n };\n\n // Resolve panel title\n const title = resolveDynamicValue(panel.title, ctx);\n\n return (\n <div className=\"p-4\">\n {title && (\n <h2 className=\"m-0 mb-4 text-base font-semibold text-text-primary\">\n {String(title)}\n </h2>\n )}\n {panel.layout.map((section, index) => renderSection(section, index))}\n </div>\n );\n}\n"],"names":["getValueByPath","obj","path","parts","current","part","resolveBinding","binding","ctx","value","evaluateExpression","expr","expression","combinedContext","keys","values","error","resolveDynamicValue","isDataBinding","resolveConditionalValue","resolveValue","isConditionalValue","evaluateCondition","condition","isExpressionBinding","createActionPayload","staticPayload","payloadBindings","payload","key","bindingPath","HeaderSection","section","text","subtitle","IconComponent","getIcon","jsxs","cn","jsx","SimpleCodeViewer","code","startLine","highlightLines","maxHeight","lines","highlightSet","line","index","lineNum","isHighlighted","CodeViewerSection","onAction","onFetch","setCode","React","isLoading","setIsLoading","codeSource","boundCode","fetchConfig","params","result","handleNavigate","CodeComparisonSection","containerStyle","sourceSection","targetSection","getSimilarityColor","similarity","getSimilarityLabel","BadgeSection","containerClassName","percent","color","label","Badge","severity","variant","status","category","CategoryBadge","count","CountBadge","getVariantStyles","base","TextSection","content","styles","mapVariant","ActionButtonRenderer","button","isDisabled","handleClick","Button","ActionsSection","isRow","getSpacingMargin","spacing","DividerSection","margin","ConditionalSection","renderSection","sectionsToRender","childSection","ListSection","items","item","itemIndex","itemCtx","layoutIndex","ImageSection","src","highlightRegion","CardSection","title","thumbnail","badgeValue","Card","CardHeader","CardTitle","CardDescription","ProgressSection","SchemaPanel","panel","data","state","computed","overrideCtx","sectionCtx"],"mappings":"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"}
1
+ {"version":3,"file":"SchemaPanel-X-0sDENN.js","sources":["../src/ui/components/Schema/binding-utils.ts","../src/ui/components/Schema/sections/HeaderSection.tsx","../src/ui/components/Schema/sections/CodeViewerSection.tsx","../src/ui/components/Schema/sections/CodeComparisonSection.tsx","../src/ui/components/Schema/sections/BadgeSection.tsx","../src/ui/components/Schema/sections/TextSection.tsx","../src/ui/components/Schema/sections/ActionsSection.tsx","../src/ui/components/Schema/sections/DividerSection.tsx","../src/ui/components/Schema/sections/ConditionalSection.tsx","../src/ui/components/Schema/sections/ListSection.tsx","../src/ui/components/Schema/sections/ImageSection.tsx","../src/ui/components/Schema/sections/CardSection.tsx","../src/ui/components/Schema/sections/ProgressSection.tsx","../src/ui/components/Schema/SchemaPanel.tsx"],"sourcesContent":["/**\n * Data Binding Utilities\n *\n * Functions for evaluating data bindings and expressions in panel schemas.\n */\n\nimport type {\n DataBinding,\n ExpressionBinding,\n DynamicValue,\n ConditionalValue,\n} from \"uilint-core\";\n\n// Import type guards as values (they are functions)\nimport {\n isDataBinding,\n isExpressionBinding,\n isConditionalValue,\n} from \"uilint-core\";\n\n// Re-export type guards\nexport { isDataBinding, isExpressionBinding, isConditionalValue };\n\n/**\n * Context for evaluating bindings\n */\nexport interface BindingContext {\n /** Panel data from inspector */\n data: Record<string, unknown>;\n /** Plugin state */\n state: Record<string, unknown>;\n /** Computed values from state definition */\n computed: Record<string, unknown>;\n}\n\n/**\n * Gets a value from an object using dot notation path\n */\nexport function getValueByPath(\n obj: Record<string, unknown>,\n path: string\n): unknown {\n const parts = path.split(\".\");\n let current: unknown = obj;\n\n for (const part of parts) {\n if (current === null || current === undefined) {\n return undefined;\n }\n if (typeof current === \"object\") {\n current = (current as Record<string, unknown>)[part];\n } else {\n return undefined;\n }\n }\n\n return current;\n}\n\n/**\n * Resolves a data binding against the context\n */\nexport function resolveBinding(\n binding: DataBinding,\n ctx: BindingContext\n): unknown {\n const path = binding.binding;\n\n // Try data first (panel data), then state, then computed\n let value = getValueByPath(ctx.data, path);\n if (value === undefined) {\n value = getValueByPath(ctx.state, path);\n }\n if (value === undefined) {\n value = getValueByPath(ctx.computed, path);\n }\n\n return value;\n}\n\n/**\n * Evaluates an expression binding against the context\n *\n * SECURITY NOTE: This uses Function() which is similar to eval().\n * The expressions come from trusted plugin definitions, not user input.\n */\nexport function evaluateExpression(\n expr: ExpressionBinding,\n ctx: BindingContext\n): unknown {\n const expression = expr.expression;\n\n // Create a combined context object\n const combinedContext = {\n ...ctx.data,\n ...ctx.state,\n ...ctx.computed,\n };\n\n try {\n // Create a function that has access to context properties\n const keys = Object.keys(combinedContext);\n const values = Object.values(combinedContext);\n\n \n const fn = new Function(...keys, `return (${expression});`);\n return fn(...values);\n } catch (error) {\n console.warn(`[SchemaRenderer] Failed to evaluate expression: ${expression}`, error);\n return undefined;\n }\n}\n\n/**\n * Resolves a dynamic value (static value or binding)\n */\nexport function resolveDynamicValue<T>(\n value: DynamicValue<T>,\n ctx: BindingContext\n): T | undefined {\n if (isDataBinding(value)) {\n return resolveBinding(value, ctx) as T | undefined;\n }\n return value;\n}\n\n/**\n * Resolves a conditional value based on condition binding\n */\nexport function resolveConditionalValue<T>(\n value: ConditionalValue<T>,\n ctx: BindingContext\n): T {\n const condition = resolveBinding(value.condition, ctx);\n return condition ? value.true : value.false;\n}\n\n/**\n * Resolves any value that could be static, binding, or conditional\n */\nexport function resolveValue<T>(\n value: T | DataBinding | ConditionalValue<T>,\n ctx: BindingContext\n): T | undefined {\n if (isConditionalValue(value)) {\n return resolveConditionalValue(value, ctx);\n }\n if (isDataBinding(value)) {\n return resolveBinding(value, ctx) as T | undefined;\n }\n return value;\n}\n\n/**\n * Evaluates a condition (DataBinding or ExpressionBinding)\n */\nexport function evaluateCondition(\n condition: DataBinding | ExpressionBinding,\n ctx: BindingContext\n): boolean {\n if (isExpressionBinding(condition)) {\n return Boolean(evaluateExpression(condition, ctx));\n }\n return Boolean(resolveBinding(condition, ctx));\n}\n\n/**\n * Creates action payload from bindings\n */\nexport function createActionPayload(\n staticPayload: Record<string, unknown> | undefined,\n payloadBindings: Record<string, string> | undefined,\n ctx: BindingContext\n): Record<string, unknown> {\n const payload: Record<string, unknown> = { ...staticPayload };\n\n if (payloadBindings) {\n for (const [key, bindingPath] of Object.entries(payloadBindings)) {\n payload[key] = resolveBinding({ binding: bindingPath }, ctx);\n }\n }\n\n return payload;\n}\n","/**\n * Header Section Renderer\n *\n * Renders a header with optional icon and subtitle.\n */\n\nimport React from \"react\";\nimport type { HeaderSection as HeaderSectionSchema } from \"uilint-core\";\nimport { resolveDynamicValue, type BindingContext } from \"../binding-utils\";\nimport { getIcon } from \"../icon-map\";\nimport { cn } from \"../../../../lib/utils\";\n\ninterface HeaderSectionProps {\n section: HeaderSectionSchema;\n ctx: BindingContext;\n}\n\n/**\n * Renders a header section\n */\nexport function HeaderSection({ section, ctx }: HeaderSectionProps) {\n const text = resolveDynamicValue(section.text, ctx);\n const subtitle = resolveDynamicValue(section.subtitle, ctx);\n const IconComponent = section.icon ? getIcon(section.icon) : null;\n\n return (\n <div\n className={cn(\n \"flex items-start gap-2 mb-3\",\n section.sticky && \"sticky top-0 bg-surface py-2 z-10\"\n )}\n >\n {IconComponent && (\n <span className=\"text-muted-foreground shrink-0 mt-0.5\">\n <IconComponent size={16} />\n </span>\n )}\n <div>\n <h3 className=\"m-0 text-sm font-semibold text-text-primary\">\n {String(text ?? \"\")}\n </h3>\n {subtitle && (\n <p className=\"mt-1 mb-0 text-xs text-muted-foreground\">\n {String(subtitle)}\n </p>\n )}\n </div>\n </div>\n );\n}\n","/**\n * Code Viewer Section Renderer\n *\n * Renders a code block with syntax highlighting and optional diff highlighting.\n * Uses the existing ScrollableCodeSection component when available.\n */\n\nimport React from \"react\";\nimport type { CodeViewerSection as CodeViewerSectionSchema } from \"uilint-core\";\nimport {\n resolveDynamicValue,\n resolveBinding,\n createActionPayload,\n isDataBinding,\n type BindingContext,\n} from \"../binding-utils\";\nimport { getIcon } from \"../icon-map\";\n\ninterface CodeViewerSectionProps {\n section: CodeViewerSectionSchema;\n ctx: BindingContext;\n onAction: (type: string, payload: Record<string, unknown>) => void;\n onFetch?: (type: string, params: Record<string, unknown>) => Promise<unknown>;\n}\n\n/**\n * Simple code display component (placeholder for full ScrollableCodeSection)\n */\nfunction SimpleCodeViewer({\n code,\n startLine = 1,\n highlightLines,\n maxHeight,\n}: {\n code: string;\n startLine?: number;\n highlightLines?: number[];\n maxHeight?: number;\n}) {\n const lines = code.split(\"\\n\");\n const highlightSet = new Set(highlightLines || []);\n\n return (\n <div\n className=\"font-mono text-xs bg-surface rounded border border-border overflow-auto\"\n style={{ maxHeight: maxHeight || 200 }}\n >\n {lines.map((line, index) => {\n const lineNum = startLine + index;\n const isHighlighted = highlightSet.has(lineNum);\n\n return (\n <div\n key={index}\n className={`flex ${isHighlighted ? \"bg-accent/15\" : \"bg-transparent\"}`}\n >\n <span className=\"w-12 pr-2 text-right text-muted-foreground select-none shrink-0 border-r border-border\">\n {lineNum}\n </span>\n <pre className=\"m-0 px-2 whitespace-pre-wrap break-all flex-1\">\n {line || \" \"}\n </pre>\n </div>\n );\n })}\n </div>\n );\n}\n\n/**\n * Renders a code viewer section\n */\nexport function CodeViewerSection({\n section,\n ctx,\n onAction,\n onFetch,\n}: CodeViewerSectionProps) {\n const [code, setCode] = React.useState<string | null>(null);\n const [isLoading, setIsLoading] = React.useState(false);\n\n // Determine code source\n const codeSource = section.code;\n\n React.useEffect(() => {\n if (isDataBinding(codeSource)) {\n // Code comes from binding\n const boundCode = resolveBinding(codeSource, ctx);\n setCode(typeof boundCode === \"string\" ? boundCode : null);\n } else if (\"fetch\" in codeSource && onFetch) {\n // Code needs to be fetched\n setIsLoading(true);\n const fetchConfig = codeSource.fetch;\n const params: Record<string, unknown> = {};\n\n // Resolve fetch params\n if (fetchConfig.params.filePath) {\n params.filePath = resolveBinding(fetchConfig.params.filePath, ctx);\n }\n if (fetchConfig.params.line) {\n params.line = resolveBinding(fetchConfig.params.line, ctx);\n }\n if (fetchConfig.params.contextAbove !== undefined) {\n params.contextAbove = fetchConfig.params.contextAbove;\n }\n if (fetchConfig.params.contextBelow !== undefined) {\n params.contextBelow = fetchConfig.params.contextBelow;\n }\n\n onFetch(fetchConfig.type, params)\n .then((result) => {\n setCode(typeof result === \"string\" ? result : JSON.stringify(result, null, 2));\n })\n .catch((error) => {\n console.error(\"[CodeViewerSection] Fetch failed:\", error);\n setCode(`// Error loading code: ${error.message}`);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }\n }, [codeSource, ctx, onFetch]);\n\n const startLine = resolveDynamicValue(section.startLine, ctx);\n const highlightLines = section.highlightLines\n ? (resolveBinding(section.highlightLines, ctx) as number[] | undefined)\n : undefined;\n\n const IconComponent = section.icon ? getIcon(section.icon) : null;\n\n const handleNavigate = section.onNavigate\n ? () => {\n const payload = createActionPayload(\n section.onNavigate!.payload,\n section.onNavigate!.payloadBindings,\n ctx\n );\n onAction(section.onNavigate!.type, payload);\n }\n : undefined;\n\n return (\n <div className=\"mb-3\">\n {section.label && (\n <div className=\"flex items-center justify-between mb-2\">\n <div className=\"flex items-center gap-1.5\">\n {IconComponent && (\n <span className=\"text-muted-foreground\">\n <IconComponent size={14} />\n </span>\n )}\n <span className=\"text-xs font-medium text-text-secondary\">\n {section.label}\n </span>\n </div>\n {handleNavigate && (\n <button\n onClick={handleNavigate}\n className=\"bg-transparent border-none p-1 cursor-pointer text-accent text-xs\"\n >\n Open in editor\n </button>\n )}\n </div>\n )}\n {isLoading ? (\n <div className=\"p-4 text-center text-muted-foreground text-xs bg-surface rounded border border-border\">\n Loading code...\n </div>\n ) : code ? (\n <SimpleCodeViewer\n code={code}\n startLine={typeof startLine === \"number\" ? startLine : 1}\n highlightLines={highlightLines}\n maxHeight={section.maxHeight}\n />\n ) : (\n <div className=\"p-4 text-center text-muted-foreground text-xs bg-surface rounded border border-border\">\n No code available\n </div>\n )}\n </div>\n );\n}\n","/**\n * Code Comparison Section Renderer\n *\n * Renders a side-by-side or stacked code comparison.\n */\n\nimport React from \"react\";\nimport type { CodeComparisonSection as CodeComparisonSectionSchema } from \"uilint-core\";\nimport type { BindingContext } from \"../binding-utils\";\nimport { CodeViewerSection } from \"./CodeViewerSection\";\n\ninterface CodeComparisonSectionProps {\n section: CodeComparisonSectionSchema;\n ctx: BindingContext;\n onAction: (type: string, payload: Record<string, unknown>) => void;\n onFetch?: (type: string, params: Record<string, unknown>) => Promise<unknown>;\n}\n\n/**\n * Renders a code comparison section\n */\nexport function CodeComparisonSection({\n section,\n ctx,\n onAction,\n onFetch,\n}: CodeComparisonSectionProps) {\n const isStackedMode = section.mode === \"stacked\";\n\n const containerStyle: React.CSSProperties = isStackedMode\n ? {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"1rem\",\n marginBottom: \"0.75rem\",\n }\n : {\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr\",\n gap: \"1rem\",\n marginBottom: \"0.75rem\",\n };\n\n // Convert source/target configs to CodeViewerSection props\n const sourceSection = {\n type: \"code-viewer\" as const,\n label: section.source.label,\n icon: section.source.icon,\n code: section.source.code,\n location: section.source.location,\n diffHighlighting: section.computeDiff,\n maxHeight: section.maxHeight,\n };\n\n const targetSection = {\n type: \"code-viewer\" as const,\n label: section.target.label,\n icon: section.target.icon,\n code: section.target.code,\n location: section.target.location,\n diffHighlighting: section.computeDiff,\n maxHeight: section.maxHeight,\n };\n\n return (\n <div style={containerStyle}>\n <CodeViewerSection\n section={sourceSection}\n ctx={ctx}\n onAction={onAction}\n onFetch={onFetch}\n />\n <CodeViewerSection\n section={targetSection}\n ctx={ctx}\n onAction={onAction}\n onFetch={onFetch}\n />\n </div>\n );\n}\n","/**\n * Badge Section Renderer\n *\n * Renders a badge/pill display for status, severity, similarity, etc.\n */\n\nimport React from \"react\";\nimport type { BadgeSection as BadgeSectionSchema } from \"uilint-core\";\nimport { resolveBinding, type BindingContext } from \"../binding-utils\";\nimport { Badge, CategoryBadge, CountBadge } from \"../../badge\";\nimport { cn } from \"../../../../lib/utils\";\n\ninterface BadgeSectionProps {\n section: BadgeSectionSchema;\n ctx: BindingContext;\n}\n\n/**\n * Gets color for similarity percentage\n */\nfunction getSimilarityColor(similarity: number): string {\n if (similarity >= 85) return \"error\";\n if (similarity >= 70) return \"warning\";\n return \"info\";\n}\n\n/**\n * Gets label for similarity percentage\n */\nfunction getSimilarityLabel(similarity: number): string {\n if (similarity >= 90) return \"Very High\";\n if (similarity >= 75) return \"High\";\n if (similarity >= 60) return \"Moderate\";\n return \"Low\";\n}\n\n/**\n * Renders a badge section\n */\nexport function BadgeSection({ section, ctx }: BadgeSectionProps) {\n const value = resolveBinding(section.value, ctx);\n\n const containerClassName = cn(\n \"mb-3\",\n section.centered && \"flex justify-center\"\n );\n\n switch (section.variant) {\n case \"similarity\": {\n const similarity = typeof value === \"number\" ? value : 0;\n const percent = Math.round(similarity * 100);\n const color = getSimilarityColor(percent);\n const label = getSimilarityLabel(percent);\n\n return (\n <div className={containerClassName}>\n <Badge variant={color as \"error\" | \"warning\" | \"info\"}>\n {percent}% Match - {label}\n </Badge>\n </div>\n );\n }\n\n case \"severity\": {\n const severity = String(value || \"info\");\n const variantMap: Record<string, \"error\" | \"warning\" | \"success\" | \"info\"> = {\n error: \"error\",\n warning: \"warning\",\n info: \"info\",\n success: \"success\",\n };\n const variant = variantMap[severity] || \"info\";\n\n return (\n <div className={containerClassName}>\n <Badge variant={variant}>\n {section.label ? `${section.label}: ` : \"\"}{severity}\n </Badge>\n </div>\n );\n }\n\n case \"status\": {\n const status = String(value || \"unknown\");\n const statusColors: Record<string, \"error\" | \"warning\" | \"success\" | \"info\"> = {\n ready: \"success\",\n indexing: \"info\",\n error: \"error\",\n idle: \"info\",\n loading: \"info\",\n };\n const variant = statusColors[status] || \"info\";\n\n return (\n <div className={containerClassName}>\n <Badge variant={variant}>\n {section.label ? `${section.label}: ` : \"\"}{status}\n </Badge>\n </div>\n );\n }\n\n case \"category\": {\n const category = String(value || \"\");\n return (\n <div className={containerClassName}>\n <CategoryBadge>{category}</CategoryBadge>\n </div>\n );\n }\n\n case \"count\": {\n const count = typeof value === \"number\" ? value : 0;\n return (\n <div className={containerClassName}>\n {section.label && (\n <span className=\"mr-2 text-xs text-muted-foreground\">\n {section.label}:\n </span>\n )}\n <CountBadge count={count} />\n </div>\n );\n }\n\n default:\n return null;\n }\n}\n","/**\n * Text Section Renderer\n *\n * Renders plain text content with various styling variants.\n */\n\nimport React from \"react\";\nimport type { TextSection as TextSectionSchema } from \"uilint-core\";\nimport { resolveDynamicValue, type BindingContext } from \"../binding-utils\";\n\ninterface TextSectionProps {\n section: TextSectionSchema;\n ctx: BindingContext;\n}\n\n/**\n * Gets CSS styles for text variant\n */\nfunction getVariantStyles(variant?: string): React.CSSProperties {\n const base: React.CSSProperties = {\n marginBottom: \"0.5rem\",\n lineHeight: 1.5,\n };\n\n switch (variant) {\n case \"caption\":\n return {\n ...base,\n fontSize: \"0.75rem\",\n color: \"var(--uilint-text-muted)\",\n };\n case \"muted\":\n return {\n ...base,\n fontSize: \"0.875rem\",\n color: \"var(--uilint-text-muted)\",\n };\n case \"error\":\n return {\n ...base,\n fontSize: \"0.875rem\",\n color: \"var(--uilint-error)\",\n };\n case \"success\":\n return {\n ...base,\n fontSize: \"0.875rem\",\n color: \"var(--uilint-success)\",\n };\n case \"body\":\n default:\n return {\n ...base,\n fontSize: \"0.875rem\",\n color: \"var(--uilint-text-primary)\",\n };\n }\n}\n\n/**\n * Renders a text section\n */\nexport function TextSection({ section, ctx }: TextSectionProps) {\n const content = resolveDynamicValue(section.content, ctx);\n\n if (content === undefined || content === null) {\n return null;\n }\n\n const styles = getVariantStyles(section.variant);\n\n return <p style={styles}>{String(content)}</p>;\n}\n","/**\n * Actions Section Renderer\n *\n * Renders a group of action buttons.\n */\n\nimport React from \"react\";\nimport type { ActionsSection as ActionsSectionSchema, ActionButton } from \"uilint-core\";\nimport {\n resolveValue,\n resolveBinding,\n createActionPayload,\n isConditionalValue,\n type BindingContext,\n} from \"../binding-utils\";\nimport { getIcon } from \"../icon-map\";\nimport { Button } from \"../../button\";\n\ninterface ActionsSectionProps {\n section: ActionsSectionSchema;\n ctx: BindingContext;\n onAction: (type: string, payload: Record<string, unknown>) => void;\n}\n\n/**\n * Maps button variant to Button component variant\n */\nfunction mapVariant(variant?: string): \"default\" | \"outline\" | \"ghost\" | \"destructive\" {\n switch (variant) {\n case \"primary\":\n return \"default\";\n case \"secondary\":\n return \"outline\";\n case \"ghost\":\n return \"ghost\";\n case \"danger\":\n return \"destructive\";\n default:\n return \"default\";\n }\n}\n\n/**\n * Renders a single action button\n */\nfunction ActionButtonRenderer({\n button,\n ctx,\n onAction,\n}: {\n button: ActionButton;\n ctx: BindingContext;\n onAction: (type: string, payload: Record<string, unknown>) => void;\n}) {\n // Check visibility\n if (button.visible) {\n const isVisible = Boolean(resolveBinding(button.visible, ctx));\n if (!isVisible) return null;\n }\n\n // Check disabled state\n const isDisabled = button.disabled\n ? Boolean(resolveBinding(button.disabled, ctx))\n : false;\n\n // Resolve label\n let label: string;\n if (isConditionalValue(button.label)) {\n label = String(resolveValue(button.label, ctx) ?? \"\");\n } else {\n label = String(resolveValue(button.label, ctx) ?? \"\");\n }\n\n // Get icon\n const IconComponent = button.icon ? getIcon(button.icon) : null;\n\n // Handle click\n const handleClick = () => {\n const payload = createActionPayload(\n button.action.payload,\n button.action.payloadBindings,\n ctx\n );\n onAction(button.action.type, payload);\n };\n\n return (\n <Button\n variant={mapVariant(button.variant)}\n size=\"sm\"\n disabled={isDisabled}\n onClick={handleClick}\n >\n {IconComponent && <IconComponent size={14} style={{ marginRight: \"0.25rem\" }} />}\n {label}\n </Button>\n );\n}\n\n/**\n * Renders an actions section\n */\nexport function ActionsSection({ section, ctx, onAction }: ActionsSectionProps) {\n const isRow = section.direction !== \"column\";\n\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: isRow ? \"row\" : \"column\",\n gap: \"0.5rem\",\n marginBottom: \"0.75rem\",\n ...(isRow && { flexWrap: \"wrap\" }),\n }}\n >\n {section.actions.map((button) => (\n <ActionButtonRenderer\n key={button.id}\n button={button}\n ctx={ctx}\n onAction={onAction}\n />\n ))}\n </div>\n );\n}\n","/**\n * Divider Section Renderer\n *\n * Renders a visual divider with configurable spacing.\n */\n\nimport React from \"react\";\nimport type { DividerSection as DividerSectionSchema } from \"uilint-core\";\n\ninterface DividerSectionProps {\n section: DividerSectionSchema;\n}\n\n/**\n * Gets margin for spacing variant\n */\nfunction getSpacingMargin(spacing?: string): string {\n switch (spacing) {\n case \"small\":\n return \"0.5rem 0\";\n case \"large\":\n return \"1.5rem 0\";\n case \"medium\":\n default:\n return \"1rem 0\";\n }\n}\n\n/**\n * Renders a divider section\n */\nexport function DividerSection({ section }: DividerSectionProps) {\n const margin = getSpacingMargin(section.spacing);\n\n return (\n <hr\n style={{\n margin,\n border: \"none\",\n borderTop: \"1px solid var(--uilint-border)\",\n }}\n />\n );\n}\n","/**\n * Conditional Section Renderer\n *\n * Renders sections conditionally based on a binding or expression.\n */\n\nimport React from \"react\";\nimport type { ConditionalSection as ConditionalSectionSchema, PanelSection } from \"uilint-core\";\nimport { evaluateCondition, type BindingContext } from \"../binding-utils\";\n\ninterface ConditionalSectionProps {\n section: ConditionalSectionSchema;\n ctx: BindingContext;\n renderSection: (section: PanelSection, index: number) => React.ReactNode;\n}\n\n/**\n * Renders a conditional section\n */\nexport function ConditionalSection({\n section,\n ctx,\n renderSection,\n}: ConditionalSectionProps) {\n const conditionMet = evaluateCondition(section.condition, ctx);\n\n const sectionsToRender = conditionMet ? section.then : section.else;\n\n if (!sectionsToRender || sectionsToRender.length === 0) {\n return null;\n }\n\n return (\n <>\n {sectionsToRender.map((childSection, index) => (\n <React.Fragment key={index}>\n {renderSection(childSection, index)}\n </React.Fragment>\n ))}\n </>\n );\n}\n","/**\n * List Section Renderer\n *\n * Renders an array of items using a template layout.\n */\n\nimport React from \"react\";\nimport type { ListSection as ListSectionSchema, PanelSection } from \"uilint-core\";\nimport { resolveBinding, type BindingContext } from \"../binding-utils\";\n\ninterface ListSectionProps {\n section: ListSectionSchema;\n ctx: BindingContext;\n renderSection: (section: PanelSection, index: number, itemCtx?: BindingContext) => React.ReactNode;\n}\n\n/**\n * Renders a list section\n */\nexport function ListSection({ section, ctx, renderSection }: ListSectionProps) {\n const items = resolveBinding(section.items, ctx);\n\n if (!Array.isArray(items) || items.length === 0) {\n if (section.emptyMessage) {\n return (\n <div className=\"p-4 text-center text-muted-foreground text-sm\">\n {section.emptyMessage}\n </div>\n );\n }\n return null;\n }\n\n return (\n <div className=\"mb-3\">\n {items.map((item, itemIndex) => {\n // Create an item context with \"item\" prefix\n const itemCtx: BindingContext = {\n ...ctx,\n data: {\n ...ctx.data,\n item,\n itemIndex,\n },\n };\n\n return (\n <div key={itemIndex} className=\"mb-2\">\n {section.itemLayout.map((childSection, layoutIndex) =>\n renderSection(childSection, layoutIndex, itemCtx)\n )}\n </div>\n );\n })}\n </div>\n );\n}\n","/**\n * Image Section Renderer\n *\n * Renders an image with optional highlight region.\n */\n\nimport React from \"react\";\nimport type { ImageSection as ImageSectionSchema } from \"uilint-core\";\nimport { resolveBinding, type BindingContext } from \"../binding-utils\";\n\ninterface ImageSectionProps {\n section: ImageSectionSchema;\n ctx: BindingContext;\n}\n\ninterface HighlightRegion {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\n/**\n * Renders an image section\n */\nexport function ImageSection({ section, ctx }: ImageSectionProps) {\n const src = resolveBinding(section.src, ctx);\n const highlightRegion = section.highlightRegion\n ? (resolveBinding(section.highlightRegion, ctx) as HighlightRegion | undefined)\n : undefined;\n\n if (!src || typeof src !== \"string\") {\n return null;\n }\n\n return (\n <div\n className=\"relative mb-3 overflow-hidden\"\n style={{ maxHeight: section.maxHeight }}\n >\n <img\n src={src}\n alt={section.alt || \"Image\"}\n className=\"w-full h-auto object-contain rounded border border-border\"\n style={{ maxHeight: section.maxHeight }}\n />\n {highlightRegion && (\n <div\n className=\"absolute border-2 border-accent rounded bg-accent/10 pointer-events-none\"\n style={{\n left: `${highlightRegion.x}px`,\n top: `${highlightRegion.y}px`,\n width: `${highlightRegion.width}px`,\n height: `${highlightRegion.height}px`,\n }}\n />\n )}\n </div>\n );\n}\n","/**\n * Card Section Renderer\n *\n * Renders a card display for list items.\n */\n\nimport React from \"react\";\nimport type { CardSection as CardSectionSchema } from \"uilint-core\";\nimport {\n resolveDynamicValue,\n resolveBinding,\n createActionPayload,\n type BindingContext,\n} from \"../binding-utils\";\nimport { Card, CardHeader, CardTitle, CardDescription } from \"../../card\";\nimport { Badge } from \"../../badge\";\nimport { cn } from \"../../../../lib/utils\";\n\ninterface CardSectionProps {\n section: CardSectionSchema;\n ctx: BindingContext;\n onAction: (type: string, payload: Record<string, unknown>) => void;\n}\n\n/**\n * Renders a card section\n */\nexport function CardSection({ section, ctx, onAction }: CardSectionProps) {\n const title = resolveDynamicValue(section.title, ctx);\n const subtitle = resolveDynamicValue(section.subtitle, ctx);\n const thumbnail = section.thumbnail ? resolveBinding(section.thumbnail, ctx) : undefined;\n const badgeValue = section.badge\n ? resolveBinding(section.badge.value, ctx)\n : undefined;\n\n const handleClick = section.onClick\n ? () => {\n const payload = createActionPayload(\n section.onClick!.payload,\n section.onClick!.payloadBindings,\n ctx\n );\n onAction(section.onClick!.type, payload);\n }\n : undefined;\n\n return (\n <Card\n className={cn(\"mb-2\", handleClick && \"cursor-pointer\")}\n onClick={handleClick}\n role={handleClick ? \"button\" : undefined}\n tabIndex={handleClick ? 0 : undefined}\n >\n <div className=\"flex items-start gap-3\">\n {typeof thumbnail === \"string\" && thumbnail && (\n <img\n src={thumbnail}\n alt=\"\"\n className=\"w-12 h-12 rounded object-cover shrink-0\"\n />\n )}\n <div className=\"flex-1 min-w-0\">\n <CardHeader className=\"px-3 pt-3 pb-0\">\n <div className=\"flex justify-between items-start\">\n <CardTitle className=\"text-sm mb-0\">\n {String(title ?? \"\")}\n </CardTitle>\n {section.badge && badgeValue !== undefined && (\n <Badge variant={section.badge.variant === \"severity\" ? \"warning\" : \"info\"}>\n {section.badge.label ? `${section.badge.label}: ` : \"\"}{String(badgeValue)}\n </Badge>\n )}\n </div>\n {subtitle && (\n <CardDescription className=\"text-xs mt-1\">\n {String(subtitle)}\n </CardDescription>\n )}\n </CardHeader>\n </div>\n </div>\n </Card>\n );\n}\n","/**\n * Progress Section Renderer\n *\n * Renders a progress indicator with optional label.\n */\n\nimport React from \"react\";\nimport type { ProgressSection as ProgressSectionSchema } from \"uilint-core\";\nimport { resolveDynamicValue, type BindingContext } from \"../binding-utils\";\n\ninterface ProgressSectionProps {\n section: ProgressSectionSchema;\n ctx: BindingContext;\n}\n\n/**\n * Renders a progress section\n */\nexport function ProgressSection({ section, ctx }: ProgressSectionProps) {\n const value = resolveDynamicValue(section.value, ctx);\n const label = resolveDynamicValue(section.label, ctx);\n const percent = typeof value === \"number\" ? Math.min(100, Math.max(0, value)) : 0;\n\n return (\n <div className=\"mb-3\">\n {label && (\n <div className=\"text-xs text-muted-foreground mb-1\">\n {String(label)}\n </div>\n )}\n <div className=\"h-1.5 bg-surface rounded-sm overflow-hidden\">\n {section.indeterminate ? (\n <div\n className=\"h-full w-[30%] bg-accent rounded-sm\"\n style={{ animation: \"progress-indeterminate 1.5s infinite linear\" }}\n />\n ) : (\n <div\n className=\"h-full bg-accent rounded-sm transition-[width] duration-300 ease-in-out\"\n style={{ width: `${percent}%` }}\n />\n )}\n </div>\n {!section.indeterminate && typeof value === \"number\" && (\n <div className=\"text-xs text-muted-foreground mt-1 text-right\">\n {percent}%\n </div>\n )}\n </div>\n );\n}\n","/**\n * Schema Panel Renderer\n *\n * Renders a PanelDefinition from uilint-core as React components.\n * This is the main entry point for declarative panel rendering.\n */\n\nimport React from \"react\";\nimport type { PanelDefinition, PanelSection } from \"uilint-core\";\nimport {\n resolveDynamicValue,\n evaluateCondition,\n type BindingContext,\n} from \"./binding-utils\";\nimport { getIcon } from \"./icon-map\";\nimport {\n HeaderSection,\n CodeViewerSection,\n CodeComparisonSection,\n BadgeSection,\n TextSection,\n ActionsSection,\n DividerSection,\n ConditionalSection,\n ListSection,\n ImageSection,\n CardSection,\n ProgressSection,\n} from \"./sections\";\n\nexport interface SchemaPanelProps {\n /** Panel definition from plugin */\n panel: PanelDefinition;\n /** Data passed to the panel (e.g., from inspector) */\n data: Record<string, unknown>;\n /** Plugin state */\n state: Record<string, unknown>;\n /** Computed values from plugin state definition */\n computed?: Record<string, unknown>;\n /** Handler for action execution */\n onAction: (type: string, payload: Record<string, unknown>) => void;\n /** Handler for data fetching (e.g., source code) */\n onFetch?: (type: string, params: Record<string, unknown>) => Promise<unknown>;\n}\n\n/**\n * Renders a panel definition as React components\n */\nexport function SchemaPanel({\n panel,\n data,\n state,\n computed = {},\n onAction,\n onFetch,\n}: SchemaPanelProps) {\n // Create binding context\n const ctx: BindingContext = {\n data,\n state,\n computed,\n };\n\n // Check loading state\n if (panel.loading) {\n const isLoading = evaluateCondition(panel.loading.when, ctx);\n if (isLoading) {\n return (\n <div className=\"p-8 text-center text-muted-foreground\">\n <div className=\"mb-2 animate-spin\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeDasharray=\"31.4\"\n strokeLinecap=\"round\"\n />\n </svg>\n </div>\n <div className=\"text-sm\">\n {panel.loading.message || \"Loading...\"}\n </div>\n {panel.loading.submessage && (\n <div className=\"text-xs mt-1\">\n {panel.loading.submessage}\n </div>\n )}\n </div>\n );\n }\n }\n\n // Check empty state\n if (panel.empty) {\n const isEmpty = evaluateCondition(panel.empty.when, ctx);\n if (isEmpty) {\n const IconComponent = panel.empty.icon ? getIcon(panel.empty.icon) : null;\n return (\n <div className=\"p-8 text-center text-muted-foreground\">\n {IconComponent && (\n <div className=\"mb-2\">\n <IconComponent size={32} strokeWidth={1.5} />\n </div>\n )}\n <div className=\"text-sm\">{panel.empty.message}</div>\n {panel.empty.submessage && (\n <div className=\"text-xs mt-1\">\n {panel.empty.submessage}\n </div>\n )}\n </div>\n );\n }\n }\n\n // Render section based on type\n const renderSection = (\n section: PanelSection,\n index: number,\n overrideCtx?: BindingContext\n ): React.ReactNode => {\n const sectionCtx = overrideCtx || ctx;\n const key = `section-${index}`;\n\n switch (section.type) {\n case \"header\":\n return <HeaderSection key={key} section={section} ctx={sectionCtx} />;\n\n case \"code-viewer\":\n return (\n <CodeViewerSection\n key={key}\n section={section}\n ctx={sectionCtx}\n onAction={onAction}\n onFetch={onFetch}\n />\n );\n\n case \"code-comparison\":\n return (\n <CodeComparisonSection\n key={key}\n section={section}\n ctx={sectionCtx}\n onAction={onAction}\n onFetch={onFetch}\n />\n );\n\n case \"badge\":\n return <BadgeSection key={key} section={section} ctx={sectionCtx} />;\n\n case \"text\":\n return <TextSection key={key} section={section} ctx={sectionCtx} />;\n\n case \"actions\":\n return (\n <ActionsSection\n key={key}\n section={section}\n ctx={sectionCtx}\n onAction={onAction}\n />\n );\n\n case \"divider\":\n return <DividerSection key={key} section={section} />;\n\n case \"conditional\":\n return (\n <ConditionalSection\n key={key}\n section={section}\n ctx={sectionCtx}\n renderSection={renderSection}\n />\n );\n\n case \"list\":\n return (\n <ListSection\n key={key}\n section={section}\n ctx={sectionCtx}\n renderSection={renderSection}\n />\n );\n\n case \"image\":\n return <ImageSection key={key} section={section} ctx={sectionCtx} />;\n\n case \"card\":\n return (\n <CardSection\n key={key}\n section={section}\n ctx={sectionCtx}\n onAction={onAction}\n />\n );\n\n case \"progress\":\n return <ProgressSection key={key} section={section} ctx={sectionCtx} />;\n\n default:\n console.warn(\n `[SchemaPanel] Unknown section type: ${(section as { type: string }).type}`\n );\n return null;\n }\n };\n\n // Resolve panel title\n const title = resolveDynamicValue(panel.title, ctx);\n\n return (\n <div className=\"p-4\">\n {title && (\n <h2 className=\"m-0 mb-4 text-base font-semibold text-text-primary\">\n {String(title)}\n </h2>\n )}\n {panel.layout.map((section, index) => renderSection(section, index))}\n </div>\n );\n}\n"],"names":["getValueByPath","obj","path","parts","current","part","resolveBinding","binding","ctx","value","evaluateExpression","expr","expression","combinedContext","keys","values","error","resolveDynamicValue","isDataBinding","resolveConditionalValue","resolveValue","isConditionalValue","evaluateCondition","condition","isExpressionBinding","createActionPayload","staticPayload","payloadBindings","payload","key","bindingPath","HeaderSection","section","text","subtitle","IconComponent","getIcon","jsxs","cn","jsx","SimpleCodeViewer","code","startLine","highlightLines","maxHeight","lines","highlightSet","line","index","lineNum","isHighlighted","CodeViewerSection","onAction","onFetch","setCode","React","isLoading","setIsLoading","codeSource","boundCode","fetchConfig","params","result","handleNavigate","CodeComparisonSection","containerStyle","sourceSection","targetSection","getSimilarityColor","similarity","getSimilarityLabel","BadgeSection","containerClassName","percent","color","label","Badge","severity","variant","status","category","CategoryBadge","count","CountBadge","getVariantStyles","base","TextSection","content","styles","mapVariant","ActionButtonRenderer","button","isDisabled","handleClick","Button","ActionsSection","isRow","getSpacingMargin","spacing","DividerSection","margin","ConditionalSection","renderSection","sectionsToRender","childSection","ListSection","items","item","itemIndex","itemCtx","layoutIndex","ImageSection","src","highlightRegion","CardSection","title","thumbnail","badgeValue","Card","CardHeader","CardTitle","CardDescription","ProgressSection","SchemaPanel","panel","data","state","computed","overrideCtx","sectionCtx"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Plugin, PluginServices, Command, Analyzer, InspectorPanel, RuleUIContribution, RuleMeta, RuleDefinition, ToolbarAction, ToolbarActionGroup, CategoryProvider } from './types';
1
+ import { Plugin, PluginServices, Command, Analyzer, InspectorPanel, RuleUIContribution, RuleMeta, RuleDefinition, ToolbarAction, ToolbarActionGroup, CategoryProvider, SearchItem, PreviewPanelResult } from './types';
2
2
  /**
3
3
  * Topologically sort plugins by their dependencies.
4
4
  * Ensures plugins are initialized after their dependencies.
@@ -104,6 +104,21 @@ export declare class PluginRegistry {
104
104
  * @deprecated Use getAllTileProviders() instead
105
105
  */
106
106
  getAllCategoryProviders(): CategoryProvider[];
107
+ /**
108
+ * Aggregate all search items from all registered plugins.
109
+ * Used by the two-panel command palette for fuzzy search.
110
+ *
111
+ * @returns Array of all search items from all plugins
112
+ */
113
+ getAllSearchItems(): SearchItem[];
114
+ /**
115
+ * Get preview panel for a search item by trying each plugin.
116
+ * Returns the first non-null result.
117
+ *
118
+ * @param item - The search item to get a preview for
119
+ * @returns Preview panel result, or null if no plugin provides one
120
+ */
121
+ getPreviewPanel(item: SearchItem): PreviewPanelResult;
107
122
  /**
108
123
  * Aggregate all rules from all registered plugins.
109
124
  * Queries each plugin's getRules method if implemented.
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/core/plugin-system/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,MAAM,EACN,cAAc,EACd,OAAO,EACP,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAUjB;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CA+C9D;AAED;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,QAAQ,CAA+B;IAE/C;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAsC9B;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAI3C;;;;;OAKG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAO7C;;;;OAIG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzC;;;;OAIG;IACH,cAAc,IAAI,OAAO,EAAE;IAY3B;;;;OAIG;IACH,eAAe,IAAI,QAAQ,EAAE;IAY7B;;;;;OAKG;IACH,qBAAqB,IAAI,cAAc,EAAE;IAazC;;;;;OAKG;IACH,oBAAoB,IAAI,aAAa,EAAE;IAavC;;;;;OAKG;IACH,yBAAyB,IAAI,kBAAkB,EAAE;IAajD;;;;;OAKG;IACH,mBAAmB,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAA;KAAE,CAAC;IAiBjG;;OAEG;IACH,uBAAuB,IAAI,gBAAgB,EAAE;IAI7C;;;;;OAKG;IACH,WAAW,IAAI,cAAc,EAAE;IA2B/B;;;;;;OAMG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI;IA6B5E;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAqBlE;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAuBpE;;;;;;;;;OASG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAoD5D;;;;;OAKG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAenE;;;OAGG;IACH,UAAU,IAAI,IAAI;IAoClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIjC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;OAIG;IACH,WAAW,IAAI,cAAc,GAAG,IAAI;IAIpC;;;OAGG;IACH,KAAK,IAAI,IAAI;CAKd;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAErD;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,gBAAyB,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/core/plugin-system/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,MAAM,EACN,cAAc,EACd,OAAO,EACP,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAUjB;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CA+C9D;AAED;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,QAAQ,CAA+B;IAE/C;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAsC9B;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAI3C;;;;;OAKG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAO7C;;;;OAIG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzC;;;;OAIG;IACH,cAAc,IAAI,OAAO,EAAE;IAY3B;;;;OAIG;IACH,eAAe,IAAI,QAAQ,EAAE;IAY7B;;;;;OAKG;IACH,qBAAqB,IAAI,cAAc,EAAE;IAazC;;;;;OAKG;IACH,oBAAoB,IAAI,aAAa,EAAE;IAavC;;;;;OAKG;IACH,yBAAyB,IAAI,kBAAkB,EAAE;IAajD;;;;;OAKG;IACH,mBAAmB,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAA;KAAE,CAAC;IAiBjG;;OAEG;IACH,uBAAuB,IAAI,gBAAgB,EAAE;IAI7C;;;;;OAKG;IACH,iBAAiB,IAAI,UAAU,EAAE;IAiBjC;;;;;;OAMG;IACH,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,kBAAkB;IAiBrD;;;;;OAKG;IACH,WAAW,IAAI,cAAc,EAAE;IA2B/B;;;;;;OAMG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI;IA6B5E;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAqBlE;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAuBpE;;;;;;;;;OASG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAoD5D;;;;;OAKG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAenE;;;OAGG;IACH,UAAU,IAAI,IAAI;IAoClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIjC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;OAIG;IACH,WAAW,IAAI,cAAc,GAAG,IAAI;IAIpC;;;OAGG;IACH,KAAK,IAAI,IAAI;CAKd;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAErD;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,gBAAyB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ComponentType, ReactNode } from 'react';
1
+ import { ComponentType, ReactElement, ReactNode } from 'react';
2
2
  /**
3
3
  * Metadata describing a plugin
4
4
  */
@@ -59,6 +59,52 @@ export interface PaletteItem {
59
59
  /** Additional metadata for inspector, etc. */
60
60
  metadata?: Record<string, unknown>;
61
61
  }
62
+ /**
63
+ * A search item contributed by a plugin for the two-panel command palette.
64
+ * Unlike TileItem (which is visual/count-based), SearchItem is optimized
65
+ * for text search with fuzzy matching and preview rendering.
66
+ */
67
+ export interface SearchItem {
68
+ /** Unique identifier (e.g., "eslint:rule:no-unused-vars") */
69
+ id: string;
70
+ /** Section this item belongs to (drives grouping in result list) */
71
+ section: "rules" | "files" | "commands" | string;
72
+ /** Primary label displayed in the result list row */
73
+ label: string;
74
+ /** Secondary text (description, path) */
75
+ subtitle?: string;
76
+ /** Icon (React component or emoji) */
77
+ icon?: ReactNode;
78
+ /** Severity counts for badge display */
79
+ severityCounts?: TileSeverityCounts;
80
+ /** Total issue count */
81
+ count?: number;
82
+ /** File count (for rule items) */
83
+ fileCount?: number;
84
+ /**
85
+ * Searchable text fields for fuzzy matching.
86
+ * Fuse.js indexes these keys with configurable weights.
87
+ */
88
+ searchFields: {
89
+ label: string;
90
+ subtitle?: string;
91
+ keywords?: string[];
92
+ /** Additional text to search (e.g., issue messages) */
93
+ extra?: string[];
94
+ };
95
+ /** Execute action when item is confirmed (Enter or double-click) */
96
+ execute?: (services: PluginServices) => void | Promise<void>;
97
+ /** Opaque metadata for preview panel rendering */
98
+ metadata?: Record<string, unknown>;
99
+ }
100
+ /**
101
+ * Preview panel content returned by a plugin for a selected SearchItem.
102
+ * The plugin creates a ReactElement via createElement (no JSX).
103
+ */
104
+ export type PreviewPanelResult = {
105
+ /** React element to render in the preview pane */
106
+ element: ReactElement;
107
+ } | null;
62
108
  /**
63
109
  * A tile provider that contributes tiles to the command palette.
64
110
  * Plugins register tile providers to expose browsable content.
@@ -354,6 +400,18 @@ export interface Plugin<TSlice = unknown> {
354
400
  * @returns Array of palette items (can be async)
355
401
  */
356
402
  getPaletteItems?: (services: PluginServices) => PaletteItem[] | Promise<PaletteItem[]>;
403
+ /**
404
+ * Get searchable items for the two-panel command palette.
405
+ * Called when the palette opens and re-called when issues change.
406
+ * Items are indexed by the fuzzy search engine.
407
+ */
408
+ getSearchItems?: (services: PluginServices) => SearchItem[];
409
+ /**
410
+ * Get a preview panel element for a selected search item.
411
+ * Called when the user highlights an item in the result list.
412
+ * Return null for no preview (shows empty state).
413
+ */
414
+ getPreviewPanel?: (item: SearchItem, services: PluginServices) => PreviewPanelResult;
357
415
  /** Inspector panels contributed by this plugin */
358
416
  inspectorPanels?: InspectorPanel[];
359
417
  /** Analyzers contributed by this plugin */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/plugin-system/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/plugin-system/types.ts"],"names":[],"mappings":"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"}
@@ -54,12 +54,19 @@ export interface CommandPaletteState {
54
54
  open: boolean;
55
55
  /** Current search query */
56
56
  query: string;
57
- /** Currently selected index for keyboard navigation */
57
+ /** ID of the currently highlighted item in the result list */
58
+ selectedItemId: string | null;
59
+ /** Flat index for keyboard navigation (position in flattened grouped list) */
58
60
  selectedIndex: number;
61
+ /** Whether the preview pane has focus (Tab toggles) */
62
+ previewFocused: boolean;
63
+ /** On mobile, the current view: "list" or "preview" */
64
+ mobileView: "list" | "preview";
59
65
  /**
60
66
  * Expansion path for the expandable tile UI.
61
67
  * Stack of expanded tiles representing the current drill-down state.
62
68
  * Empty array = root view (no expansion).
69
+ * @deprecated Kept for HierarchicalTiles in inspector sidebar
63
70
  */
64
71
  expansionPath: ExpansionPath;
65
72
  }
@@ -165,6 +172,14 @@ export interface CoreSlice {
165
172
  setCommandPaletteQuery: (query: string) => void;
166
173
  /** Set the selected index for keyboard navigation */
167
174
  setCommandPaletteSelectedIndex: (index: number) => void;
175
+ /** Set the selected item ID and index (two-panel palette) */
176
+ setCommandPaletteSelectedItem: (id: string | null, index: number) => void;
177
+ /** Toggle focus between result list and preview pane */
178
+ toggleCommandPalettePreviewFocus: () => void;
179
+ /** Mobile: push to preview view */
180
+ pushToPreview: () => void;
181
+ /** Mobile: pop back to list view */
182
+ popToList: () => void;
168
183
  /**
169
184
  * Expand a tile, showing its children inside it.
170
185
  * Pushes the tile onto the expansion path stack.
@@ -1 +1 @@
1
- {"version":3,"file":"core-slice.d.ts","sourceRoot":"","sources":["../../../src/core/store/core-slice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-slice.d.ts","sourceRoot":"","sources":["../../../src/core/store/core-slice.ts"],"names":[],"mappings":"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"}