@e-llm-studio/citation 0.0.250 → 0.0.251-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/features/SPBAnalysisPanel/Internaleditor.js +1 -1
- package/dist/cjs/features/SPBAnalysisPanel/Internaleditor.js.map +1 -1
- package/dist/cjs/features/SPBAnalysisPanel/Spbanalysispanel.js +1 -1
- package/dist/cjs/features/SPBAnalysisPanel/Spbanalysispanel.js.map +1 -1
- package/dist/cjs/utils/helper.js +2 -0
- package/dist/cjs/utils/helper.js.map +1 -0
- package/dist/features/SPBAnalysisPanel/Internaleditor.js +1 -1
- package/dist/features/SPBAnalysisPanel/Internaleditor.js.map +1 -1
- package/dist/features/SPBAnalysisPanel/Spbanalysispanel.js +1 -1
- package/dist/features/SPBAnalysisPanel/Spbanalysispanel.js.map +1 -1
- package/dist/types/features/SPBAnalysisPanel/Internaleditor.d.ts +3 -2
- package/dist/types/features/SPBAnalysisPanel/Internaleditor.d.ts.map +1 -1
- package/dist/types/features/SPBAnalysisPanel/Spbanalysispanel.d.ts.map +1 -1
- package/dist/types/utils/helper.d.ts +5 -0
- package/dist/types/utils/helper.d.ts.map +1 -0
- package/dist/utils/helper.js +2 -0
- package/dist/utils/helper.js.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/features/Bookemon/BookemonStyles.js +0 -2
- package/dist/cjs/features/Bookemon/BookemonStyles.js.map +0 -1
- package/dist/cjs/lib/ui/icons.js +0 -2
- package/dist/cjs/lib/ui/icons.js.map +0 -1
- package/dist/cjs/lib/ui/materialCompat.js +0 -2
- package/dist/cjs/lib/ui/materialCompat.js.map +0 -1
- package/dist/features/Bookemon/BookemonStyles.js +0 -2
- package/dist/features/Bookemon/BookemonStyles.js.map +0 -1
- package/dist/lib/ui/icons.js +0 -2
- package/dist/lib/ui/icons.js.map +0 -1
- package/dist/lib/ui/materialCompat.js +0 -2
- package/dist/lib/ui/materialCompat.js.map +0 -1
- package/dist/types/features/Bookemon/BookemonStyles.d.ts +0 -6
- package/dist/types/features/Bookemon/BookemonStyles.d.ts.map +0 -1
- package/dist/types/lib/ui/icons.d.ts +0 -46
- package/dist/types/lib/ui/icons.d.ts.map +0 -1
- package/dist/types/lib/ui/materialCompat.d.ts +0 -117
- package/dist/types/lib/ui/materialCompat.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spbanalysispanel.js","sources":["../../../src/features/SPBAnalysisPanel/Spbanalysispanel.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport {\n Box, Typography, Accordion, AccordionSummary, AccordionDetails,\n Skeleton, Tooltip, Chip, IconButton, Switch, Dialog,\n} from \"@mui/material\";\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\nimport FullscreenIcon from \"@mui/icons-material/Fullscreen\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport NearMeOutlinedIcon from \"@mui/icons-material/NearMeOutlined\";\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport ChevronRightIcon from \"@mui/icons-material/ChevronRight\";\nimport DependencyGraph from \"./DependencyGraph\";\nimport MarkdownRenderer from \"./Markdownrenderer\";\nimport InternalEditor from \"./Internaleditor\";\nimport type { CognitiveReasoningPanelStyles } from \"./Cognitivereasoningpanel\";\nimport {PromptBlockTree, PromptBlockTreeNode, PromptBlockTreeProps} from \"@e-llm-studio/prompt-block-tree\";\n\n// ─── Types ───────────────────────────────────────────────────────────────────\n// These replace the app's SystemPromptTemplateGeneratorModeContextProviderForPromptBlocks\n// types (APBDefinition, FPBBlock, IOverviewSummaryForSPB, SPBAdditionalInfo). The library\n// owns its own shape; consumer maps their context data onto these props.\n\nexport interface SPBApbReference {\n apb_name: string;\n description?: string;\n context?: string;\n}\n\nexport interface SPBFunctionalityItem {\n name?: string;\n section_name?: string;\n description?: string;\n reason_for_inclusion?: string;\n apb_references: (string | SPBApbReference)[];\n}\n\nexport interface SPBOverviewSummary {\n overallSummary: string;\n detailedSummary?: string;\n extraMetaData?: Record<string, any> | null;\n}\n\nexport interface SPBAdditionalInfo {\n when_to_apply?: string;\n when_not_to_apply?: string;\n constraints_and_rules?: string;\n input_analysis?: string;\n output_analysis?: string;\n dependency_graph?: any; // shape expected by DependencyGraph's `data` prop\n}\n\nexport interface SPBAnalysisPanelStyles {\n /** Root container style overrides */\n root?: React.CSSProperties | any;\n /** Header top bar style overrides */\n header?: React.CSSProperties | any;\n /** Header title typography style overrides */\n headerTitle?: React.CSSProperties | any;\n /** Header subtitle typography style overrides */\n headerSubtitle?: React.CSSProperties | any;\n /** Left panel container style overrides */\n leftPanel?: React.CSSProperties | any;\n /** Overview outer container style overrides */\n overviewSection?: React.CSSProperties | any;\n /** Overview header title style overrides */\n overviewTitle?: React.CSSProperties | any;\n /** Overview content box style overrides */\n overviewContent?: React.CSSProperties | any;\n /** Functionality section main accordion style overrides */\n functionalitySection?: React.CSSProperties | any;\n /** Functionality section title style overrides */\n functionalityTitle?: React.CSSProperties | any;\n /** Individual functionality item accordion style overrides */\n functionalityItem?: React.CSSProperties | any;\n /** Applicability section accordion style overrides */\n applicabilitySection?: React.CSSProperties | any;\n /** Applicability section title style overrides */\n applicabilityTitle?: React.CSSProperties | any;\n /** Specifications section accordion style overrides */\n specificationsSection?: React.CSSProperties | any;\n /** Specifications section title style overrides */\n specificationsTitle?: React.CSSProperties | any;\n /** Dependency graph section accordion style overrides */\n dependencyGraphSection?: React.CSSProperties | any;\n /** Dependency graph title style overrides */\n dependencyGraphTitle?: React.CSSProperties | any;\n /** Dependency graph component style overrides */\n dependencyGraph?: React.CSSProperties | any;\n /** Right-side persistent code panel container style overrides */\n codePanel?: React.CSSProperties | any;\n /** Code panel header bar style overrides */\n codePanelHeader?: React.CSSProperties | any;\n /** Code panel title style overrides */\n codePanelTitle?: React.CSSProperties | any;\n /** Monaco internal editor container style overrides */\n editorContainer?: React.CSSProperties | any;\n /** Vertical collapse strip style overrides */\n collapseStrip?: React.CSSProperties | any;\n /** Drag handle pill style overrides */\n dragHandle?: React.CSSProperties | any;\n /** Fullscreen modal paper style overrides */\n fullscreenModal?: React.CSSProperties | any;\n /** Markdown renderer custom style overrides */\n markdownRenderer?: React.CSSProperties | any;\n /** Cognitive decisioning popup style overrides */\n cognitiveDecisioning?: CognitiveReasoningPanelStyles;\n /** Theme mode flag inside styles object if passed */\n isDarkMode?: boolean;\n\n /** Functionality of FPB section main accordion style overrides */\n fpbSection?: React.CSSProperties | any;\n\n /** Functionality of FPB section title style overrides */\n fpbTitle?: React.CSSProperties | any;\n}\n\nexport interface SPBAnalysisPanelProps {\n /** Full text of the system prompt this SPB analysis is derived from — used for the persistent/fullscreen preview editor */\n promptContent: string;\n promptTitle?: string;\n isLoading?: boolean;\n\n overviewSummary?: SPBOverviewSummary | null;\n functionalityOfSPB?: SPBFunctionalityItem[];\n\n functionalityOfFPB?: {\n fpbTitle?: string;\n treeProps: PromptBlockTreeProps;\n };\n spbAdditionalInfo?: SPBAdditionalInfo | null;\n lastAnalyzedAt?: string;\n\n showfunctionalityofFPB?: boolean,\n\n /** Shared citation/reasoning map keyed by the id referenced in data-cognitive-reasoning anchors across ALL sections (overview, functionality, applicability, specifications, APB references) */\n extraMetaData?: Record<string, any> | null;\n\n /** Show the persistent right-side code editor panel. Defaults to true. */\n showCodePanel?: boolean;\n\n /** Show the inline Monaco editor that expands beneath a clicked APB reference, highlighting that section. Defaults to true. */\n showInlineApbEditor?: boolean;\n\n /** When true, APB reference items are display-only: no click handler and no NearMe icon. */\n disableApbNavigation?: boolean;\n\n /** Show the vertical collapse strip and drag handle pill. Defaults to true. */\n showCollapseStrip?: boolean;\n\n /** Show the Fullscreen button in the code panel header. Defaults to true. */\n showFullscreenButton?: boolean;\n\n /** Allow and show the Fullscreen preview modal (Dialog). Defaults to true. */\n showFullscreenModal?: boolean;\n\n /** Show the dark/light theme toggle switch in code panels. Defaults to true. */\n showThemeToggle?: boolean;\n\n /** Single customizable styles object containing section-specific style overrides for all components down to the core */\n styles?: SPBAnalysisPanelStyles;\n\n /** Whether dark mode theme is active. Defaults to true. (Can also be set inside `styles.isDarkMode`). */\n isDarkMode?: boolean;\n\n /** Optional custom CSS class name for the root container */\n className?: string;\n /** Optional custom inline style object for the root container */\n style?: React.CSSProperties;\n /** Optional MUI sx prop overrides for the root container */\n sx?: any;\n}\n\n// ─── OverviewText ──────────────────────────────────────────────────────────\n\n// Strips the invisible <ai_reasoning> comment block and any HTML/markdown\n// tags, then truncates on a word boundary. Used only for the collapsed\n// preview so it never contains a CD anchor/icon that could get clipped\n// mid-element by a fixed-height container.\nconst buildPlainPreview = (raw: string, maxChars = 220): { preview: string; truncated: boolean } => {\n const withoutReasoningBlock = raw.replace(/<!--\\s*<ai_reasoning>[\\s\\S]*?<\\/ai_reasoning>\\s*-->/g, \"\");\n const plainText = withoutReasoningBlock\n .replace(/<[^>]+>/g, \"\") // strip any HTML tags (anchors, etc.)\n .replace(/\\s+/g, \" \")\n .trim();\n\n if (plainText.length <= maxChars) {\n return { preview: plainText, truncated: false };\n }\n\n const cut = plainText.slice(0, maxChars);\n const lastSpace = cut.lastIndexOf(\" \");\n const preview = (lastSpace > 0 ? cut.slice(0, lastSpace) : cut).trim();\n return { preview, truncated: true };\n};\n\nconst OverviewText = ({\n text,\n detailedSummary,\n extraMetaData,\n isDarkMode = false,\n markdownRendererStyle,\n cognitiveDecisioningStyles,\n}: {\n text: string;\n detailedSummary?: string;\n extraMetaData?: Record<string, any> | null;\n isDarkMode?: boolean;\n markdownRendererStyle?: React.CSSProperties | any;\n cognitiveDecisioningStyles?: CognitiveReasoningPanelStyles;\n}) => {\n const [expanded, setExpanded] = useState(false);\n const { preview, truncated } = buildPlainPreview(text);\n\n return (\n <Box>\n {!expanded ? (\n <Box sx={{ display: \"flex\", flexDirection: \"column\" }}>\n <Typography sx={{ fontSize: \"0.8rem\", color: isDarkMode ? \"#cbd5e1\" : \"#4B5563\", lineHeight: 1.6 }}>\n {preview}\n {truncated && \"…\"}\n </Typography>\n {(truncated || detailedSummary?.trim()) && (\n <Box sx={{ display: \"flex\", justifyContent: \"flex-end\" }}>\n <Typography component=\"span\" onClick={() => setExpanded(true)} sx={{ fontSize: \"0.72rem\", color: isDarkMode ? \"#a78bfa\" : \"#5928ed\", fontWeight: 600, cursor: \"pointer\" }}>\n ...view more\n </Typography>\n </Box>\n )}\n </Box>\n ) : (\n <Box>\n <MarkdownRenderer message={text} fontSize=\"0.8rem\" extraMetaData={extraMetaData} isDarkMode={isDarkMode} cognitiveDecisioningStyles={cognitiveDecisioningStyles} style={markdownRendererStyle} />\n {detailedSummary?.trim() && <MarkdownRenderer message={detailedSummary} fontSize=\"0.8rem\" extraMetaData={extraMetaData} isDarkMode={isDarkMode} cognitiveDecisioningStyles={cognitiveDecisioningStyles} style={markdownRendererStyle} />}\n <Typography component=\"span\" onClick={() => setExpanded(false)} sx={{ fontSize: \"0.72rem\", color: isDarkMode ? \"#a78bfa\" : \"#5928ed\", fontWeight: 600, cursor: \"pointer\" }}>\n view less\n </Typography>\n </Box>\n )}\n </Box>\n );\n};\n\n// ─── APBRefDescription ───────────────────────────────────────────────────────\n\nconst APBRefDescription = ({ text, extraMetaData, cognitiveDecisioningStyles }: { text: string; extraMetaData?: Record<string, any> | null; cognitiveDecisioningStyles?: CognitiveReasoningPanelStyles }) => {\n const [expanded, setExpanded] = useState(false);\n const [isOverflowing, setIsOverflowing] = useState(false);\n const textRef = useRef<HTMLSpanElement>(null);\n\n useEffect(() => {\n const el = textRef.current;\n if (!el) return;\n setIsOverflowing(el.scrollWidth > el.clientWidth);\n }, [text]);\n\n return (\n <Box sx={{ pl: 1 }}>\n {expanded ? (\n <Box sx={{ fontSize: \"0.68rem\", color: \"#9CA3AF\", lineHeight: 1.4 }}>\n <MarkdownRenderer message={text} fontSize=\"0.68rem\" extraMetaData={extraMetaData} cognitiveDecisioningStyles={cognitiveDecisioningStyles} />\n <Typography component=\"span\" onClick={() => setExpanded(false)} sx={{ fontSize: \"0.65rem\", color: \"#5928ed\", cursor: \"pointer\", fontWeight: 600 }}>\n view less\n </Typography>\n </Box>\n ) : (\n <Box sx={{ display: \"flex\", alignItems: \"baseline\", gap: 0.5 }}>\n <Typography ref={textRef} sx={{ fontSize: \"0.68rem\", color: \"#9CA3AF\", lineHeight: 1.4, overflow: \"hidden\", whiteSpace: \"nowrap\", textOverflow: \"ellipsis\", flex: 1, minWidth: 0 }}>\n {text}\n </Typography>\n {isOverflowing && (\n <Typography component=\"span\" onClick={() => setExpanded(true)} sx={{ fontSize: \"0.65rem\", color: \"#5928ed\", cursor: \"pointer\", fontWeight: 600, flexShrink: 0 }}>\n view more\n </Typography>\n )}\n </Box>\n )}\n </Box>\n );\n};\n\n// ─── Main ────────────────────────────────────────────────────────────────────\n\nconst SPBAnalysisPanel = ({\n promptContent,\n promptTitle,\n isLoading = false,\n overviewSummary,\n functionalityOfSPB = [],\n functionalityOfFPB,\n showfunctionalityofFPB = false,\n spbAdditionalInfo,\n lastAnalyzedAt: lastAnalyzedAtProp,\n extraMetaData,\n showCodePanel = true,\n showInlineApbEditor = true,\n disableApbNavigation = false,\n showCollapseStrip = true,\n showFullscreenButton = true,\n showFullscreenModal = true,\n showThemeToggle = true,\n isDarkMode: isDarkModeProp = true,\n styles,\n className,\n style,\n sx,\n}: SPBAnalysisPanelProps) => {\n const [lastSyncedAt, setLastSyncedAt] = useState<string | null>(null);\n const [expandedApbRef, setExpandedApbRef] = useState<string | null>(null);\n const [selectedTag, setSelectedTag] = useState<string>(\"\");\n const [highlightVariable, setHighlightVariable] = useState(\"\");\n const effectiveIsDarkMode = styles?.isDarkMode !== undefined ? styles.isDarkMode : isDarkModeProp;\n const [isDarkMode, setIsDarkMode] = useState(effectiveIsDarkMode);\n const [apbPopup, setApbPopup] = useState<{ ref: string; description: string } | null>(null);\n\n useEffect(() => {\n if (styles?.isDarkMode !== undefined) {\n setIsDarkMode(styles.isDarkMode);\n }\n }, [styles?.isDarkMode]);\n\n // ─── Drag-to-resize left panel, mirrors FPB Promptemon's behavior ───────\n const [isLeftPanelCollapsed, setIsLeftPanelCollapsed] = useState(false);\n const [leftPanelWidth, setLeftPanelWidth] = useState(480);\n const isDraggingRef = useRef(false);\n const bodyRef = useRef<HTMLDivElement>(null);\n\n const handleFPBNodeOpen = (node: PromptBlockTreeNode) => {\n const rawPrompt = node.meta?.rawPrompt;\n if (typeof rawPrompt === \"string\" && rawPrompt.trim()) {\n setHighlightVariable(rawPrompt);\n }\n functionalityOfFPB?.treeProps.onNodeOpen?.(node);\n };\n\n const handleDragStart = (e: React.MouseEvent) => {\n e.preventDefault();\n isDraggingRef.current = true;\n const onMouseMove = (e: MouseEvent) => {\n if (!isDraggingRef.current || !bodyRef.current) return;\n const bodyRect = bodyRef.current.getBoundingClientRect();\n const bodyLeft = bodyRect.left;\n const bodyWidth = bodyRect.width;\n const newWidth = e.clientX - bodyLeft;\n if (newWidth < 200) {\n setIsLeftPanelCollapsed(true);\n isDraggingRef.current = false;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n return;\n }\n const maxLeftPanelWidth = bodyWidth * 0.7;\n if (newWidth > maxLeftPanelWidth) return;\n setIsLeftPanelCollapsed(false);\n setLeftPanelWidth(newWidth);\n };\n const onMouseUp = () => {\n isDraggingRef.current = false;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n };\n\n const handleApbRefClick = (refName: string) => {\n if (expandedApbRef === refName) {\n setExpandedApbRef(null);\n setSelectedTag(\"\");\n } else {\n setExpandedApbRef(refName);\n setSelectedTag(\"\");\n setTimeout(() => setSelectedTag(refName), 50);\n }\n };\n\n const formatSyncTime = (date: Date) => {\n const time = date.toLocaleTimeString(\"en-IN\", { hour: \"numeric\", minute: \"2-digit\", second: \"2-digit\", hour12: true });\n const day = date.toLocaleDateString(\"en-IN\", { day: \"numeric\", month: \"short\", year: \"numeric\" });\n return `${time || \"\"} | ${day || \"\"}`;\n };\n\n useEffect(() => {\n if (lastAnalyzedAtProp) {\n setLastSyncedAt(lastAnalyzedAtProp);\n } else if (functionalityOfSPB.length > 0) {\n setLastSyncedAt(formatSyncTime(new Date()));\n }\n }, [functionalityOfSPB, lastAnalyzedAtProp]);\n\n useEffect(() => {\n if (isLoading) setLastSyncedAt(null);\n }, [isLoading]);\n\n useEffect(() => {\n if (apbPopup) {\n setSelectedTag(\"\");\n setTimeout(() => setSelectedTag(apbPopup.ref), 500);\n }\n }, [apbPopup]);\n\n const copyToClipboard = (text: string) => navigator.clipboard.writeText(text);\n\n const extractSnCode = (content: string): { text: string; code: string } => {\n const codeBlocks: string[] = [];\n const text = content.replace(/<code>([\\s\\S]*?)<\\/code>/g, (_, code) => {\n codeBlocks.push(code.trim());\n return \"\";\n }).trim();\n return { text, code: codeBlocks.join(\"\\n\\n\") };\n };\n\n return (\n <Box\n className={className}\n style={{ ...styles?.root, ...style }}\n sx={{\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n width: \"100%\",\n minHeight: 0,\n overflow: \"hidden\",\n ...sx,\n }}\n >\n {/* Header */}\n <Box sx={{ px: 2.5, py: 1.5, borderBottom: \"1px solid #e5e7eb\", display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\", bgcolor: \"#fff\", flexShrink: 0, ...styles?.header }}>\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.25 }}>\n <Typography sx={{ fontWeight: 700, fontSize: \"0.9rem\", color: \"#111827\", ...styles?.headerTitle }}>{promptTitle || \"SPB Analysis\"}</Typography>\n <Typography sx={{ fontSize: \"0.7rem\", color: \"#9CA3AF\", ...styles?.headerSubtitle }}>{lastSyncedAt ? `Last Analyzed at ${lastSyncedAt}` : \"\"}</Typography>\n </Box>\n </Box>\n\n {/* Body — two columns: left analysis accordions (scrollable), right persistent editor (optional, draggable width) */}\n <Box ref={bodyRef} sx={{ display: \"flex\", flex: 1, minHeight: 0, overflow: \"hidden\", position: \"relative\" }}>\n <Box sx={{ width: showCodePanel ? (isLeftPanelCollapsed && showCollapseStrip ? 0 : leftPanelWidth) : \"100%\", flexShrink: 0, minHeight: 0, overflow: \"hidden\", transition: isDraggingRef.current ? \"none\" : \"width 0.15s\", borderRight: showCodePanel && (!isLeftPanelCollapsed || !showCollapseStrip) ? \"1px solid #e5e7eb\" : \"none\", ...styles?.leftPanel }}>\n <Box sx={{ width: \"100%\", height: \"100%\", minHeight: 0, overflowY: \"auto\", display: \"flex\", flexDirection: \"column\", gap: 1, px: 1.25, py: 1.25, pb: 2 }}>\n\n {/* Overview */}\n <Box sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px\", bgcolor: \"#F8FAFC\", p: 1.5, ...styles?.overviewSection }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\", mb: 1, ...styles?.overviewTitle }}>Overview</Typography>\n <Box sx={{ bgcolor: \"#fff\", border: \"1px solid #E5E7EB\", borderRadius: \"8px\", p: 1.5, ...styles?.overviewContent }}>\n {overviewSummary?.overallSummary?.trim() ? (\n <OverviewText text={overviewSummary.overallSummary} detailedSummary={overviewSummary.detailedSummary} extraMetaData={extraMetaData} isDarkMode={isDarkMode} markdownRendererStyle={styles?.markdownRenderer} cognitiveDecisioningStyles={styles?.cognitiveDecisioning} />\n ) : (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.5 }}>\n <Skeleton variant=\"text\" width=\"100%\" height={14} />\n <Skeleton variant=\"text\" width=\"90%\" height={14} />\n <Skeleton variant=\"text\" width=\"95%\" height={14} />\n </Box>\n )}\n </Box>\n </Box>\n\n {/* Functionality of SPB */}\n <Accordion disableGutters elevation={0} sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px !important\", \"&:before\": { display: \"none\" }, \"&.Mui-expanded\": { bgcolor: \"#F8FAFC\" }, bgcolor: \"#fff\", ...styles?.functionalitySection }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\", color: \"#6B7280\" }} />} sx={{ px: 1.5, minHeight: \"unset\", \"& .MuiAccordionSummary-content\": { my: 0.75 } }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\", ...styles?.functionalityTitle }}>Functionality of SPB</Typography>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 1.5, pb: 1.5, pt: 0, bgcolor: \"#F8FAFC\", display: \"flex\", flexDirection: \"column\", gap: 1 }}>\n {functionalityOfSPB.length > 0 ? functionalityOfSPB.map((item, i) => (\n <Accordion key={i} disableGutters elevation={0} defaultExpanded={i === 0}\n sx={{ bgcolor: \"#fff\", border: \"1px solid #E5E7EB\", borderRadius: \"8px !important\", \"&:before\": { display: \"none\" }, overflow: \"hidden\", ...styles?.functionalityItem }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\", color: \"#6B7280\" }} />} sx={{ px: 1.5, minHeight: 38, \"& .MuiAccordionSummary-content\": { my: 0.5 } }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.8rem\", color: \"#111827\" }}>{i + 1}. {item.name || item.section_name}</Typography>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 1.5, pb: 1.5, pt: 0, display: \"flex\", flexDirection: \"column\", gap: 0.75 }}>\n <MarkdownRenderer\n fontSize=\"0.74rem\"\n message={item.description || item.reason_for_inclusion || \"\"}\n extraMetaData={extraMetaData}\n cognitiveDecisioningStyles={styles?.cognitiveDecisioning}\n />\n <Typography sx={{ fontSize: \"0.72rem\", color: \"#9CA3AF\", fontWeight: 500, mt: 0.25 }}>APB References</Typography>\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.75 }}>\n {item.apb_references.map((ref, j) => {\n const refName = typeof ref === \"string\" ? ref : ref.apb_name;\n const isActiveTag = expandedApbRef === refName;\n return (\n <Box key={j} sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.15 }}>\n <Box onClick={disableApbNavigation ? undefined : () => handleApbRefClick(refName)} sx={{ display: \"flex\", alignItems: \"center\", gap: 0.25, cursor: disableApbNavigation ? \"default\" : \"pointer\" }}>\n <Typography sx={{ fontSize: \"0.78rem\", color: isActiveTag ? \"#5928ed\" : \"#DB2877\", fontWeight: 500 }}>{j + 1}. {refName}</Typography>\n {!disableApbNavigation && <NearMeOutlinedIcon sx={{ fontSize: \"0.75rem\", color: isActiveTag ? \"#5928ed\" : \"#DB2877\" }} />}\n </Box>\n {typeof ref !== \"string\" && (ref.description || ref.context) && (\n <APBRefDescription text={ref.description || ref.context || \"\"} extraMetaData={extraMetaData} cognitiveDecisioningStyles={styles?.cognitiveDecisioning} />\n )}\n {showInlineApbEditor && isActiveTag && (\n <Box sx={{ mt: 1, height: 260, border: \"1px solid #e5e7eb\", borderRadius: \"8px\", overflow: \"hidden\" }}>\n <InternalEditor content={promptContent} selectedTag={selectedTag} isDarkMode={isDarkMode} height=\"100%\" fontSize={12} />\n </Box>\n )}\n </Box>\n );\n })}\n </Box>\n </AccordionDetails>\n </Accordion>\n )) : (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 1 }}>\n {[1, 2, 3].map((i) => (\n <Box key={i} sx={{ bgcolor: \"#fff\", border: \"1px solid #E5E7EB\", borderRadius: \"8px\", p: 1.5, display: \"flex\", flexDirection: \"column\", gap: 0.5 }}>\n <Skeleton variant=\"text\" width=\"40%\" height={16} />\n <Skeleton variant=\"text\" width=\"90%\" height={14} />\n <Skeleton variant=\"text\" width=\"80%\" height={14} />\n <Skeleton variant=\"text\" width=\"30%\" height={14} />\n </Box>\n ))}\n </Box>\n )}\n </AccordionDetails>\n </Accordion>\n\n { showfunctionalityofFPB && <Accordion disableGutters elevation={0} sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px !important\", \"&:before\": { display: \"none\" }, \"&.Mui-expanded\": { bgcolor: \"#F8FAFC\" }, bgcolor: \"#fff\", ...styles?.fpbSection }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\", color: \"#6B7280\" }} />} sx={{ px: 1.5, minHeight: \"unset\", \"& .MuiAccordionSummary-content\": { my: 0.75, alignItems: \"center\", gap: 1 } }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\", ...styles?.fpbTitle }}>{functionalityOfFPB?.fpbTitle || \"Functionality of FPB\"}</Typography>\n <Typography sx={{ fontSize: \"0.7rem\", color: \"#9CA3AF\" }}></Typography>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 1.5, pb: 1.5, pt: 0, bgcolor: \"#F8FAFC\" }}>\n {functionalityOfFPB?.treeProps ? (\n <PromptBlockTree\n {...functionalityOfFPB.treeProps}\n onNodeOpen={handleFPBNodeOpen}\n />\n ):(\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 1 }}>\n {[1, 2, 3].map((i) => (\n <Box key={i} sx={{ bgcolor: \"#fff\", border: \"1px solid #E5E7EB\", borderRadius: \"8px\", p: 1.5, display: \"flex\", flexDirection: \"column\", gap: 0.5 }}>\n <Skeleton variant=\"text\" width=\"40%\" height={16} />\n <Skeleton variant=\"text\" width=\"90%\" height={14} />\n <Skeleton variant=\"text\" width=\"80%\" height={14} />\n <Skeleton variant=\"text\" width=\"30%\" height={14} />\n </Box>\n ))}\n </Box>\n )}\n </AccordionDetails>\n </Accordion> }\n\n {/* Applicability */}\n <Accordion disableGutters elevation={0} sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px !important\", \"&:before\": { display: \"none\" }, \"&.Mui-expanded\": { bgcolor: \"#F8FAFC\" }, bgcolor: \"#fff\", ...styles?.applicabilitySection }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\", color: \"#6B7280\" }} />} sx={{ px: 1.5, minHeight: \"unset\", \"& .MuiAccordionSummary-content\": { my: 0.75, alignItems: \"center\", gap: 1 } }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\", ...styles?.applicabilityTitle }}>Applicability</Typography>\n <Typography sx={{ fontSize: \"0.7rem\", color: \"#9CA3AF\" }}>When to Apply this SPB / When Not Apply</Typography>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 1.5, pb: 1.5, pt: 0, bgcolor: \"#F8FAFC\" }}>\n <Box sx={{ display: \"flex\", gap: 1 }}>\n {([\n { label: \"When to apply\", content: spbAdditionalInfo?.when_to_apply },\n { label: \"When NOT to apply\", content: spbAdditionalInfo?.when_not_to_apply },\n ] as const).map(({ label, content }) => (\n <Box key={label} sx={{ flex: 1, bgcolor: \"#fff\", border: \"1px solid #E5E7EB\", borderRadius: \"6px\", p: 1.25 }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.76rem\", color: \"#374151\", mb: 0.75 }}>{label}</Typography>\n {content ? (\n <MarkdownRenderer fontSize=\"0.8rem\" message={content} isDarkMode={isDarkMode} style={styles?.markdownRenderer} extraMetaData={extraMetaData} cognitiveDecisioningStyles={styles?.cognitiveDecisioning} />\n ) : isLoading ? (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.5 }}>\n <Skeleton variant=\"text\" width=\"100%\" height={14} />\n <Skeleton variant=\"text\" width=\"80%\" height={14} />\n <Skeleton variant=\"text\" width=\"90%\" height={14} />\n </Box>\n ) : (\n <Typography sx={{ fontSize: \"0.8rem\", color: \"#6B7280\", lineHeight: 1.5 }}>— Not yet available</Typography>\n )}\n </Box>\n ))}\n </Box>\n </AccordionDetails>\n </Accordion>\n\n {/* Specifications */}\n <Accordion disableGutters elevation={0} sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px !important\", \"&:before\": { display: \"none\" }, \"&.Mui-expanded\": { bgcolor: \"#F8FAFC\" }, bgcolor: \"#fff\", ...styles?.specificationsSection }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\", color: \"#6B7280\" }} />} sx={{ px: 1.5, minHeight: \"unset\", \"& .MuiAccordionSummary-content\": { my: 0.75, alignItems: \"center\", gap: 1 } }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\", ...styles?.specificationsTitle }}>Specifications</Typography>\n <Typography sx={{ fontSize: \"0.7rem\", color: \"#9CA3AF\" }}>Strict Rules / Input / Output</Typography>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 1.5, pb: 1.5, pt: 0, bgcolor: \"#F8FAFC\", display: \"flex\", flexDirection: \"column\", gap: 1 }}>\n {[\n { label: \"Strict Rules\", tooltip: null, content: spbAdditionalInfo?.constraints_and_rules },\n { label: \"Input\", tooltip: \"Input specification for this SPB\", content: spbAdditionalInfo?.input_analysis },\n { label: \"Output\", tooltip: \"Output specification for this SPB\", content: spbAdditionalInfo?.output_analysis },\n ].map(({ label, tooltip, content }) => {\n const isOutput = label === \"Output\";\n const parsed = isOutput && content ? extractSnCode(content) : null;\n const markdownContent = parsed ? parsed.text : content;\n const codeContent = parsed ? parsed.code : \"\";\n\n return (\n <Accordion key={label} disableGutters elevation={0} defaultExpanded={label === \"Strict Rules\"}\n sx={{ bgcolor: \"#fff\", border: \"1px solid #E5E7EB\", borderRadius: \"6px !important\", \"&:before\": { display: \"none\" }, overflow: \"hidden\" }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\" }} />} sx={{ minHeight: 34, px: 1.25, \"& .MuiAccordionSummary-content\": { my: 0.4 } }}>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.76rem\", color: \"#374151\" }}>{label}</Typography>\n {tooltip && (\n <Tooltip title={tooltip} placement=\"top\">\n <Box component=\"span\" sx={{ width: 13, height: 13, borderRadius: \"50%\", background: \"#E5E7EB\", display: \"inline-flex\", alignItems: \"center\", justifyContent: \"center\", fontSize: \"0.58rem\", color: \"#6B7280\", fontWeight: 700, cursor: \"default\", flexShrink: 0 }}>i</Box>\n </Tooltip>\n )}\n </Box>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 1.25, pb: 1.25, pt: 0 }}>\n {content ? (\n <>\n {markdownContent && <MarkdownRenderer fontSize=\"0.8rem\" message={markdownContent} isDarkMode={isDarkMode} style={styles?.markdownRenderer} extraMetaData={extraMetaData} cognitiveDecisioningStyles={styles?.cognitiveDecisioning} />}\n {isOutput && codeContent && (\n <Box sx={{ width: \"100%\", height: \"35vh\", mt: 1.5 }}>\n <Box sx={{ display: \"flex\", gap: 0.1, backgroundColor: \"black\", flexDirection: \"row\", alignItems: \"center\", justifyContent: \"space-between\", p: 1, borderTopLeftRadius: \"8px\", borderTopRightRadius: \"8px\" }}>\n <Typography sx={{ color: \"white\", fontWeight: 500, fontSize: \"0.8rem\" }}>Output preview</Typography>\n <Tooltip title=\"Copy Code to clipboard\">\n <IconButton size=\"small\" onClick={() => copyToClipboard(codeContent)}>\n <Typography sx={{ fontSize: \"0.7rem\", color: \"white\" }}>Copy</Typography>\n </IconButton>\n </Tooltip>\n </Box>\n <Box sx={{ mt: -1, height: \"calc(100% - 40px)\", borderBottomLeftRadius: \"8px\", borderBottomRightRadius: \"8px\", overflow: \"hidden\" }}>\n <InternalEditor content={codeContent} isDarkMode={isDarkMode} height=\"100%\" fontSize={10} />\n </Box>\n </Box>\n )}\n </>\n ) : isLoading ? (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.5 }}>\n <Skeleton variant=\"text\" width=\"100%\" height={14} />\n <Skeleton variant=\"text\" width=\"90%\" height={14} />\n <Skeleton variant=\"text\" width=\"75%\" height={14} />\n </Box>\n ) : (\n <Typography sx={{ fontSize: \"0.74rem\", color: \"#6B7280\", lineHeight: 1.5 }}>— Not yet available</Typography>\n )}\n </AccordionDetails>\n </Accordion>\n );\n })}\n </AccordionDetails>\n </Accordion>\n\n {/* Dependency Graph */}\n <Accordion defaultExpanded disableGutters elevation={0} sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px !important\", \"&:before\": { display: \"none\" }, bgcolor: \"#fff\", ...styles?.dependencyGraphSection }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\", color: \"#6B7280\" }} />} sx={{ px: 1.5, minHeight: \"unset\", \"& .MuiAccordionSummary-content\": { my: 0.75 }, \"&.Mui-expanded\": { bgcolor: \"#F8FAFC\", borderRadius: \"8px 8px 0 0\" } }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\", ...styles?.dependencyGraphTitle }}>Dependency Graph</Typography>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 0, pb: 0, pt: 0 }}>\n {spbAdditionalInfo?.dependency_graph ? (\n <Box sx={{ bgcolor: \"#F8FAFC\", borderRadius: \"0 0 8px 8px\", p: 1.5, display: \"flex\", flexDirection: \"column\", gap: 1.5 }}>\n <Box sx={{ height: 500, borderRadius: \"8px\", overflow: \"hidden\" }}>\n <DependencyGraph data={spbAdditionalInfo.dependency_graph} isDarkMode={isDarkMode} style={styles?.dependencyGraph} />\n </Box>\n <Typography sx={{ fontSize: \"0.72rem\", color: \"#64748B\", lineHeight: 1.6 }}>\n This graph visualises how Atomic Prompt Blocks (APBs) depend on, influence, or exchange information with one another within the prompt architecture.\n </Typography>\n </Box>\n ) : (\n <Box sx={{ bgcolor: \"#fff\", borderRadius: \"0 0 8px 8px\", p: 1.5, display: \"flex\", flexDirection: \"column\", gap: 1 }}>\n <Skeleton variant=\"rectangular\" width=\"100%\" height={400} sx={{ borderRadius: \"8px\" }} />\n <Skeleton variant=\"text\" width=\"100%\" height={14} />\n <Skeleton variant=\"text\" width=\"80%\" height={14} />\n </Box>\n )}\n </AccordionDetails>\n </Accordion>\n </Box>\n </Box>\n\n {/* Collapse strip — click to toggle, matches FPB Promptemon's \"FPB Details\" strip */}\n {showCodePanel && showCollapseStrip && (\n <Box\n onClick={() => setIsLeftPanelCollapsed((p) => !p)}\n sx={{\n width: 20, flexShrink: 0, display: \"flex\", flexDirection: \"column\", alignItems: \"center\", justifyContent: \"center\",\n cursor: \"pointer\", borderRight: \"1px solid #e5e7eb\", borderLeft: \"1px solid #e5e7eb\", bgcolor: \"#f9fafb\",\n position: \"relative\", py: 2, \"&:hover\": { bgcolor: \"#f0f0f0\" },\n ...styles?.collapseStrip,\n }}\n >\n <Typography sx={{ fontSize: 10, fontWeight: 600, color: \"#6b7280\", writingMode: \"vertical-rl\", textOrientation: \"mixed\", transform: \"rotate(180deg)\", letterSpacing: \"0.05em\", userSelect: \"none\" }}>\n SPB Details\n </Typography>\n </Box>\n )}\n\n {/* Drag handle / arrow pill */}\n {showCodePanel && showCollapseStrip && (\n <Box\n onClick={() => setIsLeftPanelCollapsed((p) => !p)}\n onMouseDown={handleDragStart}\n sx={{\n position: \"absolute\", left: isLeftPanelCollapsed ? 20 : leftPanelWidth + 20, top: \"50%\", transform: \"translateY(-50%)\",\n width: 18, height: 28, bgcolor: \"#fff\", border: \"1px solid #e5e7eb\", borderRadius: \"0 6px 6px 0\",\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\", cursor: \"col-resize\", zIndex: 5,\n boxShadow: \"2px 0 4px rgba(0,0,0,0.06)\", \"&:hover\": { bgcolor: \"#f9fafb\" },\n ...styles?.dragHandle,\n }}\n >\n {isLeftPanelCollapsed ? <ChevronRightIcon sx={{ fontSize: 12, color: \"#6b7280\" }} /> : <ChevronLeftIcon sx={{ fontSize: 12, color: \"#6b7280\" }} />}\n </Box>\n )}\n\n {/* Right panel — persistent editor, optional via showCodePanel */}\n {showCodePanel && (\n <Box sx={{ flex: 1, minWidth: 0, minHeight: 0, display: \"flex\", flexDirection: \"column\", overflow: \"hidden\", p: 2, gap: 1.5, bgcolor: \"#f8fafc\", ...styles?.codePanel }}>\n <Box sx={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\", flexShrink: 0, ...styles?.codePanelHeader }}>\n <Typography sx={{ fontSize: 13, fontWeight: 600, color: \"#374151\", ...styles?.codePanelTitle }}>\n {promptTitle || \"SPB Analysis\"}\n </Typography>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\n {showThemeToggle && (\n <Switch checked={isDarkMode} onChange={(e) => setIsDarkMode(e.target.checked)} size=\"small\"\n sx={{ width: 36, height: 20, padding: 0, '& .MuiSwitch-switchBase': { padding: 0, margin: '2px', '&.Mui-checked': { transform: 'translateX(16px)', color: '#fff', '& + .MuiSwitch-track': { bgcolor: \"#5928ed\", opacity: 1 } } }, '& .MuiSwitch-thumb': { width: 16, height: 16, bgcolor: '#fff' }, '& .MuiSwitch-track': { borderRadius: 10, bgcolor: '#d1d5db', opacity: 1 } }} />\n )}\n {showFullscreenButton && showFullscreenModal && (\n <Tooltip title=\"Fullscreen\" placement=\"top\">\n <IconButton size=\"small\" onClick={() => setApbPopup({ ref: selectedTag || \"\", description: \"\" })} sx={{ color: \"#6b7280\" }}>\n <FullscreenIcon sx={{ fontSize: 16 }} />\n </IconButton>\n </Tooltip>\n )}\n </Box>\n </Box>\n <Box sx={{ flex: 1, minHeight: 0, border: \"1px solid #30363d\", borderRadius: 1, overflow: \"hidden\", ...styles?.editorContainer }}>\n <InternalEditor content={promptContent} selectedTag={selectedTag} isDarkMode={isDarkMode} height=\"100%\" fontSize={13} highlightVariable={highlightVariable} />\n </Box>\n </Box>\n )}\n </Box>\n\n {/* Fullscreen APB Preview */}\n {showFullscreenModal && (\n <Dialog open={!!apbPopup} onClose={() => setApbPopup(null)} maxWidth={false}\n PaperProps={{ sx: { width: \"82vw\", height: \"80vh\", maxWidth: \"none\", borderRadius: \"12px\", overflow: \"hidden\", display: \"flex\", flexDirection: \"column\", ...styles?.fullscreenModal } }}>\n <Box sx={{ px: 2.5, py: 1.5, borderBottom: \"1px solid #E5E7EB\", display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\", flexShrink: 0 }}>\n <Typography sx={{ fontWeight: 700, fontSize: \"1rem\", color: \"#111827\" }}>Promptemon</Typography>\n <IconButton size=\"small\" onClick={() => setApbPopup(null)}><CloseIcon sx={{ fontSize: \"1.1rem\", color: \"#6B7280\" }} /></IconButton>\n </Box>\n <Box sx={{ flex: 1, display: \"flex\", overflow: \"hidden\", minHeight: 0 }}>\n <Box sx={{ width: \"40%\", flexShrink: 0, borderRight: \"1px solid #E5E7EB\", display: \"flex\", flexDirection: \"column\", overflow: \"hidden\" }}>\n <Box sx={{ px: 2, py: 1.25, borderBottom: \"1px solid #E5E7EB\", display: \"flex\", alignItems: \"center\", gap: 1 }}>\n <Tooltip title=\"Atomic Prompt Block\" placement=\"top\">\n <Chip label=\"APB\" size=\"small\" sx={{ bgcolor: \"#f1f5f9\", color: \"#475569\", fontWeight: 700, fontSize: 10, height: 20, borderRadius: 1 }} />\n </Tooltip>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.9rem\", color: \"#111827\" }}>{apbPopup?.ref}</Typography>\n </Box>\n <Box sx={{ flex: 1, p: 2, display: \"flex\", flexDirection: \"column\", gap: 1.5, overflowY: \"auto\" }}>\n <Box sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px\", p: 1.5 }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.8rem\", color: \"#111827\", mb: 0.75 }}>Description</Typography>\n <Typography sx={{ fontSize: \"0.73rem\", color: \"#6B7280\", lineHeight: 1.6 }}>{apbPopup?.description}</Typography>\n </Box>\n <Box sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px\", p: 1.25, display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\n <Typography sx={{ fontSize: \"0.73rem\", color: \"#6B7280\" }}>Total Lines</Typography>\n <Typography sx={{ fontSize: \"0.73rem\", fontWeight: 700, color: \"#111827\" }}>{promptContent.split(\"\\n\").length}</Typography>\n </Box>\n </Box>\n </Box>\n <Box sx={{ flex: 1, minWidth: 0, display: \"flex\", flexDirection: \"column\", overflow: \"hidden\" }}>\n <Box sx={{ px: 2, py: 1.25, borderBottom: \"1px solid #E5E7EB\", display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\" }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\" }}>Prompt Preview</Typography>\n <Switch checked={isDarkMode} onChange={(e) => setIsDarkMode(e.target.checked)} size=\"small\"\n sx={{ width: 36, height: 20, padding: 0, '& .MuiSwitch-switchBase': { padding: 0, margin: '2px', '&.Mui-checked': { transform: 'translateX(16px)', color: '#fff', '& + .MuiSwitch-track': { bgcolor: \"#5928ed\", opacity: 1 } } }, '& .MuiSwitch-thumb': { width: 16, height: 16, bgcolor: '#fff' }, '& .MuiSwitch-track': { borderRadius: 10, bgcolor: '#d1d5db', opacity: 1 } }} />\n </Box>\n <Box sx={{ flex: 1, minHeight: 0, p: 1.5 }}>\n <InternalEditor content={promptContent} selectedTag={selectedTag} isDarkMode={isDarkMode} highlightVariable={highlightVariable} height=\"100%\" fontSize={13} />\n </Box>\n </Box>\n </Box>\n </Dialog>\n )}\n </Box>\n );\n};\n\nexport default SPBAnalysisPanel;\n"],"names":["OverviewText","text","detailedSummary","extraMetaData","isDarkMode","markdownRendererStyle","cognitiveDecisioningStyles","expanded","setExpanded","useState","preview","truncated","raw","maxChars","plainText","replace","trim","length","cut","slice","lastSpace","lastIndexOf","buildPlainPreview","jsx","Box","children","MarkdownRenderer","message","fontSize","style","Typography","component","onClick","sx","color","fontWeight","cursor","display","flexDirection","jsxs","lineHeight","justifyContent","APBRefDescription","isOverflowing","setIsOverflowing","textRef","useRef","useEffect","el","current","scrollWidth","clientWidth","pl","alignItems","gap","ref","overflow","whiteSpace","textOverflow","flex","minWidth","flexShrink","SPBAnalysisPanel","promptContent","promptTitle","isLoading","overviewSummary","functionalityOfSPB","functionalityOfFPB","showfunctionalityofFPB","spbAdditionalInfo","lastAnalyzedAt","lastAnalyzedAtProp","showCodePanel","showInlineApbEditor","disableApbNavigation","showCollapseStrip","showFullscreenButton","showFullscreenModal","showThemeToggle","isDarkModeProp","styles","className","lastSyncedAt","setLastSyncedAt","expandedApbRef","setExpandedApbRef","selectedTag","setSelectedTag","highlightVariable","setHighlightVariable","effectiveIsDarkMode","setIsDarkMode","apbPopup","setApbPopup","isLeftPanelCollapsed","setIsLeftPanelCollapsed","leftPanelWidth","setLeftPanelWidth","isDraggingRef","bodyRef","date","Date","toLocaleTimeString","hour","minute","second","hour12","toLocaleDateString","day","month","year","setTimeout","root","height","width","minHeight","px","py","borderBottom","bgcolor","header","headerTitle","headerSubtitle","position","transition","borderRight","leftPanel","overflowY","pb","border","borderRadius","p","overviewSection","mb","overviewTitle","overviewContent","overallSummary","markdownRenderer","cognitiveDecisioning","Skeleton","variant","Accordion","disableGutters","elevation","functionalitySection","AccordionSummary","expandIcon","ExpandMoreIcon","my","functionalityTitle","AccordionDetails","pt","map","item","i","defaultExpanded","functionalityItem","name","section_name","description","reason_for_inclusion","mt","apb_references","j","refName","apb_name","isActiveTag","handleApbRefClick","NearMeOutlinedIcon","context","InternalEditor","content","fpbSection","fpbTitle","treeProps","PromptBlockTree","onNodeOpen","node","rawPrompt","meta","applicabilitySection","applicabilityTitle","label","when_to_apply","when_not_to_apply","specificationsSection","specificationsTitle","tooltip","constraints_and_rules","input_analysis","output_analysis","isOutput","parsed","codeBlocks","_","code","push","join","extractSnCode","markdownContent","codeContent","Tooltip","title","placement","background","Fragment","backgroundColor","borderTopLeftRadius","borderTopRightRadius","IconButton","size","copyToClipboard","navigator","clipboard","writeText","borderBottomLeftRadius","borderBottomRightRadius","dependencyGraphSection","dependencyGraphTitle","dependency_graph","DependencyGraph","data","dependencyGraph","borderLeft","collapseStrip","writingMode","textOrientation","transform","letterSpacing","userSelect","onMouseDown","e","preventDefault","onMouseMove","bodyRect","getBoundingClientRect","bodyLeft","left","bodyWidth","newWidth","clientX","document","removeEventListener","onMouseUp","addEventListener","top","zIndex","boxShadow","dragHandle","ChevronRightIcon","ChevronLeftIcon","codePanel","codePanelHeader","codePanelTitle","Switch","checked","onChange","target","padding","margin","opacity","FullscreenIcon","editorContainer","Dialog","open","onClose","maxWidth","PaperProps","fullscreenModal","CloseIcon","Chip","split"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Spbanalysispanel.js","sources":["../../../src/features/SPBAnalysisPanel/Spbanalysispanel.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport {\n Box, Typography, Accordion, AccordionSummary, AccordionDetails,\n Skeleton, Tooltip, Chip, IconButton, Switch, Dialog,\n} from \"@mui/material\";\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\nimport FullscreenIcon from \"@mui/icons-material/Fullscreen\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport NearMeOutlinedIcon from \"@mui/icons-material/NearMeOutlined\";\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport ChevronRightIcon from \"@mui/icons-material/ChevronRight\";\nimport DependencyGraph from \"./DependencyGraph\";\nimport MarkdownRenderer from \"./Markdownrenderer\";\nimport InternalEditor from \"./Internaleditor\";\nimport type { CognitiveReasoningPanelStyles } from \"./Cognitivereasoningpanel\";\nimport {PromptBlockTree, PromptBlockTreeNode, PromptBlockTreeProps} from \"@e-llm-studio/prompt-block-tree\";\n\n// ─── Types ───────────────────────────────────────────────────────────────────\n// These replace the app's SystemPromptTemplateGeneratorModeContextProviderForPromptBlocks\n// types (APBDefinition, FPBBlock, IOverviewSummaryForSPB, SPBAdditionalInfo). The library\n// owns its own shape; consumer maps their context data onto these props.\n\nexport interface SPBApbReference {\n apb_name: string;\n description?: string;\n context?: string;\n}\n\nexport interface SPBFunctionalityItem {\n name?: string;\n section_name?: string;\n description?: string;\n reason_for_inclusion?: string;\n apb_references: (string | SPBApbReference)[];\n}\n\nexport interface SPBOverviewSummary {\n overallSummary: string;\n detailedSummary?: string;\n extraMetaData?: Record<string, any> | null;\n}\n\nexport interface SPBAdditionalInfo {\n when_to_apply?: string;\n when_not_to_apply?: string;\n constraints_and_rules?: string;\n input_analysis?: string;\n output_analysis?: string;\n dependency_graph?: any; // shape expected by DependencyGraph's `data` prop\n}\n\nexport interface SPBAnalysisPanelStyles {\n /** Root container style overrides */\n root?: React.CSSProperties | any;\n /** Header top bar style overrides */\n header?: React.CSSProperties | any;\n /** Header title typography style overrides */\n headerTitle?: React.CSSProperties | any;\n /** Header subtitle typography style overrides */\n headerSubtitle?: React.CSSProperties | any;\n /** Left panel container style overrides */\n leftPanel?: React.CSSProperties | any;\n /** Overview outer container style overrides */\n overviewSection?: React.CSSProperties | any;\n /** Overview header title style overrides */\n overviewTitle?: React.CSSProperties | any;\n /** Overview content box style overrides */\n overviewContent?: React.CSSProperties | any;\n /** Functionality section main accordion style overrides */\n functionalitySection?: React.CSSProperties | any;\n /** Functionality section title style overrides */\n functionalityTitle?: React.CSSProperties | any;\n /** Individual functionality item accordion style overrides */\n functionalityItem?: React.CSSProperties | any;\n /** Applicability section accordion style overrides */\n applicabilitySection?: React.CSSProperties | any;\n /** Applicability section title style overrides */\n applicabilityTitle?: React.CSSProperties | any;\n /** Specifications section accordion style overrides */\n specificationsSection?: React.CSSProperties | any;\n /** Specifications section title style overrides */\n specificationsTitle?: React.CSSProperties | any;\n /** Dependency graph section accordion style overrides */\n dependencyGraphSection?: React.CSSProperties | any;\n /** Dependency graph title style overrides */\n dependencyGraphTitle?: React.CSSProperties | any;\n /** Dependency graph component style overrides */\n dependencyGraph?: React.CSSProperties | any;\n /** Right-side persistent code panel container style overrides */\n codePanel?: React.CSSProperties | any;\n /** Code panel header bar style overrides */\n codePanelHeader?: React.CSSProperties | any;\n /** Code panel title style overrides */\n codePanelTitle?: React.CSSProperties | any;\n /** Monaco internal editor container style overrides */\n editorContainer?: React.CSSProperties | any;\n /** Vertical collapse strip style overrides */\n collapseStrip?: React.CSSProperties | any;\n /** Drag handle pill style overrides */\n dragHandle?: React.CSSProperties | any;\n /** Fullscreen modal paper style overrides */\n fullscreenModal?: React.CSSProperties | any;\n /** Markdown renderer custom style overrides */\n markdownRenderer?: React.CSSProperties | any;\n /** Cognitive decisioning popup style overrides */\n cognitiveDecisioning?: CognitiveReasoningPanelStyles;\n /** Theme mode flag inside styles object if passed */\n isDarkMode?: boolean;\n\n /** Functionality of FPB section main accordion style overrides */\n fpbSection?: React.CSSProperties | any;\n\n /** Functionality of FPB section title style overrides */\n fpbTitle?: React.CSSProperties | any;\n}\n\nexport interface SPBAnalysisPanelProps {\n /** Full text of the system prompt this SPB analysis is derived from — used for the persistent/fullscreen preview editor */\n promptContent: string;\n promptTitle?: string;\n isLoading?: boolean;\n\n overviewSummary?: SPBOverviewSummary | null;\n functionalityOfSPB?: SPBFunctionalityItem[];\n\n functionalityOfFPB?: {\n fpbTitle?: string;\n treeProps: PromptBlockTreeProps;\n };\n spbAdditionalInfo?: SPBAdditionalInfo | null;\n lastAnalyzedAt?: string;\n\n showfunctionalityofFPB?: boolean,\n\n /** Shared citation/reasoning map keyed by the id referenced in data-cognitive-reasoning anchors across ALL sections (overview, functionality, applicability, specifications, APB references) */\n extraMetaData?: Record<string, any> | null;\n\n /** Show the persistent right-side code editor panel. Defaults to true. */\n showCodePanel?: boolean;\n\n /** Show the inline Monaco editor that expands beneath a clicked APB reference, highlighting that section. Defaults to true. */\n showInlineApbEditor?: boolean;\n\n /** When true, APB reference items are display-only: no click handler and no NearMe icon. */\n disableApbNavigation?: boolean;\n\n /** Show the vertical collapse strip and drag handle pill. Defaults to true. */\n showCollapseStrip?: boolean;\n\n /** Show the Fullscreen button in the code panel header. Defaults to true. */\n showFullscreenButton?: boolean;\n\n /** Allow and show the Fullscreen preview modal (Dialog). Defaults to true. */\n showFullscreenModal?: boolean;\n\n /** Show the dark/light theme toggle switch in code panels. Defaults to true. */\n showThemeToggle?: boolean;\n\n /** Single customizable styles object containing section-specific style overrides for all components down to the core */\n styles?: SPBAnalysisPanelStyles;\n\n /** Whether dark mode theme is active. Defaults to true. (Can also be set inside `styles.isDarkMode`). */\n isDarkMode?: boolean;\n\n /** Optional custom CSS class name for the root container */\n className?: string;\n /** Optional custom inline style object for the root container */\n style?: React.CSSProperties;\n /** Optional MUI sx prop overrides for the root container */\n sx?: any;\n}\n\n// ─── OverviewText ──────────────────────────────────────────────────────────\n\n// Strips the invisible <ai_reasoning> comment block and any HTML/markdown\n// tags, then truncates on a word boundary. Used only for the collapsed\n// preview so it never contains a CD anchor/icon that could get clipped\n// mid-element by a fixed-height container.\nconst buildPlainPreview = (raw: string, maxChars = 220): { preview: string; truncated: boolean } => {\n const withoutReasoningBlock = raw.replace(/<!--\\s*<ai_reasoning>[\\s\\S]*?<\\/ai_reasoning>\\s*-->/g, \"\");\n const plainText = withoutReasoningBlock\n .replace(/<[^>]+>/g, \"\") // strip any HTML tags (anchors, etc.)\n .replace(/\\s+/g, \" \")\n .trim();\n\n if (plainText.length <= maxChars) {\n return { preview: plainText, truncated: false };\n }\n\n const cut = plainText.slice(0, maxChars);\n const lastSpace = cut.lastIndexOf(\" \");\n const preview = (lastSpace > 0 ? cut.slice(0, lastSpace) : cut).trim();\n return { preview, truncated: true };\n};\n\nconst OverviewText = ({\n text,\n detailedSummary,\n extraMetaData,\n isDarkMode = false,\n markdownRendererStyle,\n cognitiveDecisioningStyles,\n}: {\n text: string;\n detailedSummary?: string;\n extraMetaData?: Record<string, any> | null;\n isDarkMode?: boolean;\n markdownRendererStyle?: React.CSSProperties | any;\n cognitiveDecisioningStyles?: CognitiveReasoningPanelStyles;\n}) => {\n const [expanded, setExpanded] = useState(false);\n const { preview, truncated } = buildPlainPreview(text);\n\n return (\n <Box>\n {!expanded ? (\n <Box sx={{ display: \"flex\", flexDirection: \"column\" }}>\n <Typography sx={{ fontSize: \"0.8rem\", color: isDarkMode ? \"#cbd5e1\" : \"#4B5563\", lineHeight: 1.6 }}>\n {preview}\n {truncated && \"…\"}\n </Typography>\n {(truncated || detailedSummary?.trim()) && (\n <Box sx={{ display: \"flex\", justifyContent: \"flex-end\" }}>\n <Typography component=\"span\" onClick={() => setExpanded(true)} sx={{ fontSize: \"0.72rem\", color: isDarkMode ? \"#a78bfa\" : \"#5928ed\", fontWeight: 600, cursor: \"pointer\" }}>\n ...view more\n </Typography>\n </Box>\n )}\n </Box>\n ) : (\n <Box>\n <MarkdownRenderer message={text} fontSize=\"0.8rem\" extraMetaData={extraMetaData} isDarkMode={isDarkMode} cognitiveDecisioningStyles={cognitiveDecisioningStyles} style={markdownRendererStyle} />\n {detailedSummary?.trim() && <MarkdownRenderer message={detailedSummary} fontSize=\"0.8rem\" extraMetaData={extraMetaData} isDarkMode={isDarkMode} cognitiveDecisioningStyles={cognitiveDecisioningStyles} style={markdownRendererStyle} />}\n <Typography component=\"span\" onClick={() => setExpanded(false)} sx={{ fontSize: \"0.72rem\", color: isDarkMode ? \"#a78bfa\" : \"#5928ed\", fontWeight: 600, cursor: \"pointer\" }}>\n view less\n </Typography>\n </Box>\n )}\n </Box>\n );\n};\n\n// ─── APBRefDescription ───────────────────────────────────────────────────────\n\nconst APBRefDescription = ({ text, extraMetaData, cognitiveDecisioningStyles }: { text: string; extraMetaData?: Record<string, any> | null; cognitiveDecisioningStyles?: CognitiveReasoningPanelStyles }) => {\n const [expanded, setExpanded] = useState(false);\n const [isOverflowing, setIsOverflowing] = useState(false);\n const textRef = useRef<HTMLSpanElement>(null);\n\n useEffect(() => {\n const el = textRef.current;\n if (!el) return;\n setIsOverflowing(el.scrollWidth > el.clientWidth);\n }, [text]);\n\n return (\n <Box sx={{ pl: 1 }}>\n {expanded ? (\n <Box sx={{ fontSize: \"0.68rem\", color: \"#9CA3AF\", lineHeight: 1.4 }}>\n <MarkdownRenderer message={text} fontSize=\"0.68rem\" extraMetaData={extraMetaData} cognitiveDecisioningStyles={cognitiveDecisioningStyles} />\n <Typography component=\"span\" onClick={() => setExpanded(false)} sx={{ fontSize: \"0.65rem\", color: \"#5928ed\", cursor: \"pointer\", fontWeight: 600 }}>\n view less\n </Typography>\n </Box>\n ) : (\n <Box sx={{ display: \"flex\", alignItems: \"baseline\", gap: 0.5 }}>\n <Typography ref={textRef} sx={{ fontSize: \"0.68rem\", color: \"#9CA3AF\", lineHeight: 1.4, overflow: \"hidden\", whiteSpace: \"nowrap\", textOverflow: \"ellipsis\", flex: 1, minWidth: 0 }}>\n {text}\n </Typography>\n {isOverflowing && (\n <Typography component=\"span\" onClick={() => setExpanded(true)} sx={{ fontSize: \"0.65rem\", color: \"#5928ed\", cursor: \"pointer\", fontWeight: 600, flexShrink: 0 }}>\n view more\n </Typography>\n )}\n </Box>\n )}\n </Box>\n );\n};\n\n// ─── Main ────────────────────────────────────────────────────────────────────\n\nconst SPBAnalysisPanel = ({\n promptContent,\n promptTitle,\n isLoading = false,\n overviewSummary,\n functionalityOfSPB = [],\n functionalityOfFPB,\n showfunctionalityofFPB = false,\n spbAdditionalInfo,\n lastAnalyzedAt: lastAnalyzedAtProp,\n extraMetaData,\n showCodePanel = true,\n showInlineApbEditor = true,\n disableApbNavigation = false,\n showCollapseStrip = true,\n showFullscreenButton = true,\n showFullscreenModal = true,\n showThemeToggle = true,\n isDarkMode: isDarkModeProp = true,\n styles,\n className,\n style,\n sx,\n}: SPBAnalysisPanelProps) => {\n const [lastSyncedAt, setLastSyncedAt] = useState<string | null>(null);\n const [expandedApbRef, setExpandedApbRef] = useState<string | null>(null);\n const [selectedTag, setSelectedTag] = useState<string>(\"\");\n const [highlightVariable, setHighlightVariable] = useState<string | string[] | undefined>(undefined);\n const [highlightNonce, setHighlightNonce] = useState(0);\n const effectiveIsDarkMode = styles?.isDarkMode !== undefined ? styles.isDarkMode : isDarkModeProp;\n const [isDarkMode, setIsDarkMode] = useState(effectiveIsDarkMode);\n const [apbPopup, setApbPopup] = useState<{ ref: string; description: string } | null>(null);\n\n useEffect(() => {\n if (styles?.isDarkMode !== undefined) {\n setIsDarkMode(styles.isDarkMode);\n }\n }, [styles?.isDarkMode]);\n\n // ─── Drag-to-resize left panel, mirrors FPB Promptemon's behavior ───────\n const [isLeftPanelCollapsed, setIsLeftPanelCollapsed] = useState(false);\n const [leftPanelWidth, setLeftPanelWidth] = useState(480);\n const isDraggingRef = useRef(false);\n const bodyRef = useRef<HTMLDivElement>(null);\n\n const handleFPBNodeOpen = (node: PromptBlockTreeNode) => {\n const segments = node.meta?.rawPromptSegments;\n const rawPrompt = node.meta?.rawPrompt;\n if (Array.isArray(segments) && segments.length > 0) {\n setHighlightVariable(segments);\n setHighlightNonce((n) => n + 1);\n } else if (typeof rawPrompt === \"string\" && rawPrompt.trim()) {\n setHighlightVariable(rawPrompt);\n setHighlightNonce((n) => n + 1);\n }else {\n setHighlightVariable(undefined);\n setHighlightNonce((n) => n + 1);\n }\n functionalityOfFPB?.treeProps.onNodeOpen?.(node);\n };\n\n const handleDragStart = (e: React.MouseEvent) => {\n e.preventDefault();\n isDraggingRef.current = true;\n const onMouseMove = (e: MouseEvent) => {\n if (!isDraggingRef.current || !bodyRef.current) return;\n const bodyRect = bodyRef.current.getBoundingClientRect();\n const bodyLeft = bodyRect.left;\n const bodyWidth = bodyRect.width;\n const newWidth = e.clientX - bodyLeft;\n if (newWidth < 200) {\n setIsLeftPanelCollapsed(true);\n isDraggingRef.current = false;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n return;\n }\n const maxLeftPanelWidth = bodyWidth * 0.7;\n if (newWidth > maxLeftPanelWidth) return;\n setIsLeftPanelCollapsed(false);\n setLeftPanelWidth(newWidth);\n };\n const onMouseUp = () => {\n isDraggingRef.current = false;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n };\n\n const handleApbRefClick = (refName: string) => {\n if (expandedApbRef === refName) {\n setExpandedApbRef(null);\n setSelectedTag(\"\");\n } else {\n setExpandedApbRef(refName);\n setSelectedTag(\"\");\n setTimeout(() => setSelectedTag(refName), 50);\n }\n };\n\n const formatSyncTime = (date: Date) => {\n const time = date.toLocaleTimeString(\"en-IN\", { hour: \"numeric\", minute: \"2-digit\", second: \"2-digit\", hour12: true });\n const day = date.toLocaleDateString(\"en-IN\", { day: \"numeric\", month: \"short\", year: \"numeric\" });\n return `${time || \"\"} | ${day || \"\"}`;\n };\n\n useEffect(() => {\n if (lastAnalyzedAtProp) {\n setLastSyncedAt(lastAnalyzedAtProp);\n } else if (functionalityOfSPB.length > 0) {\n setLastSyncedAt(formatSyncTime(new Date()));\n }\n }, [functionalityOfSPB, lastAnalyzedAtProp]);\n\n useEffect(() => {\n if (isLoading) setLastSyncedAt(null);\n }, [isLoading]);\n\n useEffect(() => {\n if (apbPopup) {\n setSelectedTag(\"\");\n setTimeout(() => setSelectedTag(apbPopup.ref), 500);\n }\n }, [apbPopup]);\n\n const copyToClipboard = (text: string) => navigator.clipboard.writeText(text);\n\n const extractSnCode = (content: string): { text: string; code: string } => {\n const codeBlocks: string[] = [];\n const text = content.replace(/<code>([\\s\\S]*?)<\\/code>/g, (_, code) => {\n codeBlocks.push(code.trim());\n return \"\";\n }).trim();\n return { text, code: codeBlocks.join(\"\\n\\n\") };\n };\n\n return (\n <Box\n className={className}\n style={{ ...styles?.root, ...style }}\n sx={{\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n width: \"100%\",\n minHeight: 0,\n overflow: \"hidden\",\n ...sx,\n }}\n >\n {/* Header */}\n <Box sx={{ px: 2.5, py: 1.5, borderBottom: \"1px solid #e5e7eb\", display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\", bgcolor: \"#fff\", flexShrink: 0, ...styles?.header }}>\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.25 }}>\n <Typography sx={{ fontWeight: 700, fontSize: \"0.9rem\", color: \"#111827\", ...styles?.headerTitle }}>{promptTitle || \"SPB Analysis\"}</Typography>\n <Typography sx={{ fontSize: \"0.7rem\", color: \"#9CA3AF\", ...styles?.headerSubtitle }}>{lastSyncedAt ? `Last Analyzed at ${lastSyncedAt}` : \"\"}</Typography>\n </Box>\n </Box>\n\n {/* Body — two columns: left analysis accordions (scrollable), right persistent editor (optional, draggable width) */}\n <Box ref={bodyRef} sx={{ display: \"flex\", flex: 1, minHeight: 0, overflow: \"hidden\", position: \"relative\" }}>\n <Box sx={{ width: showCodePanel ? (isLeftPanelCollapsed && showCollapseStrip ? 0 : leftPanelWidth) : \"100%\", flexShrink: 0, minHeight: 0, overflow: \"hidden\", transition: isDraggingRef.current ? \"none\" : \"width 0.15s\", borderRight: showCodePanel && (!isLeftPanelCollapsed || !showCollapseStrip) ? \"1px solid #e5e7eb\" : \"none\", ...styles?.leftPanel }}>\n <Box sx={{ width: \"100%\", height: \"100%\", minHeight: 0, overflowY: \"auto\", display: \"flex\", flexDirection: \"column\", gap: 1, px: 1.25, py: 1.25, pb: 2 }}>\n\n {/* Overview */}\n <Box sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px\", bgcolor: \"#F8FAFC\", p: 1.5, ...styles?.overviewSection }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\", mb: 1, ...styles?.overviewTitle }}>Overview</Typography>\n <Box sx={{ bgcolor: \"#fff\", border: \"1px solid #E5E7EB\", borderRadius: \"8px\", p: 1.5, ...styles?.overviewContent }}>\n {overviewSummary?.overallSummary?.trim() ? (\n <OverviewText text={overviewSummary.overallSummary} detailedSummary={overviewSummary.detailedSummary} extraMetaData={extraMetaData} isDarkMode={isDarkMode} markdownRendererStyle={styles?.markdownRenderer} cognitiveDecisioningStyles={styles?.cognitiveDecisioning} />\n ) : (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.5 }}>\n <Skeleton variant=\"text\" width=\"100%\" height={14} />\n <Skeleton variant=\"text\" width=\"90%\" height={14} />\n <Skeleton variant=\"text\" width=\"95%\" height={14} />\n </Box>\n )}\n </Box>\n </Box>\n\n {/* Functionality of SPB */}\n <Accordion disableGutters elevation={0} sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px !important\", \"&:before\": { display: \"none\" }, \"&.Mui-expanded\": { bgcolor: \"#F8FAFC\" }, bgcolor: \"#fff\", ...styles?.functionalitySection }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\", color: \"#6B7280\" }} />} sx={{ px: 1.5, minHeight: \"unset\", \"& .MuiAccordionSummary-content\": { my: 0.75 } }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\", ...styles?.functionalityTitle }}>Functionality of SPB</Typography>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 1.5, pb: 1.5, pt: 0, bgcolor: \"#F8FAFC\", display: \"flex\", flexDirection: \"column\", gap: 1 }}>\n {functionalityOfSPB.length > 0 ? functionalityOfSPB.map((item, i) => (\n <Accordion key={i} disableGutters elevation={0} defaultExpanded={i === 0}\n sx={{ bgcolor: \"#fff\", border: \"1px solid #E5E7EB\", borderRadius: \"8px !important\", \"&:before\": { display: \"none\" }, overflow: \"hidden\", ...styles?.functionalityItem }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\", color: \"#6B7280\" }} />} sx={{ px: 1.5, minHeight: 38, \"& .MuiAccordionSummary-content\": { my: 0.5 } }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.8rem\", color: \"#111827\" }}>{i + 1}. {item.name || item.section_name}</Typography>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 1.5, pb: 1.5, pt: 0, display: \"flex\", flexDirection: \"column\", gap: 0.75 }}>\n <MarkdownRenderer\n fontSize=\"0.74rem\"\n message={item.description || item.reason_for_inclusion || \"\"}\n extraMetaData={extraMetaData}\n cognitiveDecisioningStyles={styles?.cognitiveDecisioning}\n />\n <Typography sx={{ fontSize: \"0.72rem\", color: \"#9CA3AF\", fontWeight: 500, mt: 0.25 }}>APB References</Typography>\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.75 }}>\n {item.apb_references.map((ref, j) => {\n const refName = typeof ref === \"string\" ? ref : ref.apb_name;\n const isActiveTag = expandedApbRef === refName;\n return (\n <Box key={j} sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.15 }}>\n <Box onClick={disableApbNavigation ? undefined : () => handleApbRefClick(refName)} sx={{ display: \"flex\", alignItems: \"center\", gap: 0.25, cursor: disableApbNavigation ? \"default\" : \"pointer\" }}>\n <Typography sx={{ fontSize: \"0.78rem\", color: isActiveTag ? \"#5928ed\" : \"#DB2877\", fontWeight: 500 }}>{j + 1}. {refName}</Typography>\n {!disableApbNavigation && <NearMeOutlinedIcon sx={{ fontSize: \"0.75rem\", color: isActiveTag ? \"#5928ed\" : \"#DB2877\" }} />}\n </Box>\n {typeof ref !== \"string\" && (ref.description || ref.context) && (\n <APBRefDescription text={ref.description || ref.context || \"\"} extraMetaData={extraMetaData} cognitiveDecisioningStyles={styles?.cognitiveDecisioning} />\n )}\n {showInlineApbEditor && isActiveTag && (\n <Box sx={{ mt: 1, height: 260, border: \"1px solid #e5e7eb\", borderRadius: \"8px\", overflow: \"hidden\" }}>\n <InternalEditor content={promptContent} selectedTag={selectedTag} isDarkMode={isDarkMode} height=\"100%\" fontSize={12} />\n </Box>\n )}\n </Box>\n );\n })}\n </Box>\n </AccordionDetails>\n </Accordion>\n )) : (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 1 }}>\n {[1, 2, 3].map((i) => (\n <Box key={i} sx={{ bgcolor: \"#fff\", border: \"1px solid #E5E7EB\", borderRadius: \"8px\", p: 1.5, display: \"flex\", flexDirection: \"column\", gap: 0.5 }}>\n <Skeleton variant=\"text\" width=\"40%\" height={16} />\n <Skeleton variant=\"text\" width=\"90%\" height={14} />\n <Skeleton variant=\"text\" width=\"80%\" height={14} />\n <Skeleton variant=\"text\" width=\"30%\" height={14} />\n </Box>\n ))}\n </Box>\n )}\n </AccordionDetails>\n </Accordion>\n\n { showfunctionalityofFPB && <Accordion disableGutters elevation={0} sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px !important\", \"&:before\": { display: \"none\" }, \"&.Mui-expanded\": { bgcolor: \"#F8FAFC\" }, bgcolor: \"#fff\", ...styles?.fpbSection }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\", color: \"#6B7280\" }} />} sx={{ px: 1.5, minHeight: \"unset\", \"& .MuiAccordionSummary-content\": { my: 0.75, alignItems: \"center\", gap: 1 } }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\", ...styles?.fpbTitle }}>{functionalityOfFPB?.fpbTitle || \"Functionality of FPB\"}</Typography>\n <Typography sx={{ fontSize: \"0.7rem\", color: \"#9CA3AF\" }}></Typography>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 1.5, pb: 1.5, pt: 0, bgcolor: \"#F8FAFC\" }}>\n {functionalityOfFPB?.treeProps ? (\n <PromptBlockTree\n {...functionalityOfFPB.treeProps}\n onNodeOpen={handleFPBNodeOpen}\n />\n ):(\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 1 }}>\n {[1, 2, 3].map((i) => (\n <Box key={i} sx={{ bgcolor: \"#fff\", border: \"1px solid #E5E7EB\", borderRadius: \"8px\", p: 1.5, display: \"flex\", flexDirection: \"column\", gap: 0.5 }}>\n <Skeleton variant=\"text\" width=\"40%\" height={16} />\n <Skeleton variant=\"text\" width=\"90%\" height={14} />\n <Skeleton variant=\"text\" width=\"80%\" height={14} />\n <Skeleton variant=\"text\" width=\"30%\" height={14} />\n </Box>\n ))}\n </Box>\n )}\n </AccordionDetails>\n </Accordion> }\n\n {/* Applicability */}\n <Accordion disableGutters elevation={0} sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px !important\", \"&:before\": { display: \"none\" }, \"&.Mui-expanded\": { bgcolor: \"#F8FAFC\" }, bgcolor: \"#fff\", ...styles?.applicabilitySection }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\", color: \"#6B7280\" }} />} sx={{ px: 1.5, minHeight: \"unset\", \"& .MuiAccordionSummary-content\": { my: 0.75, alignItems: \"center\", gap: 1 } }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\", ...styles?.applicabilityTitle }}>Applicability</Typography>\n <Typography sx={{ fontSize: \"0.7rem\", color: \"#9CA3AF\" }}>When to Apply this SPB / When Not Apply</Typography>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 1.5, pb: 1.5, pt: 0, bgcolor: \"#F8FAFC\" }}>\n <Box sx={{ display: \"flex\", gap: 1 }}>\n {([\n { label: \"When to apply\", content: spbAdditionalInfo?.when_to_apply },\n { label: \"When NOT to apply\", content: spbAdditionalInfo?.when_not_to_apply },\n ] as const).map(({ label, content }) => (\n <Box key={label} sx={{ flex: 1, bgcolor: \"#fff\", border: \"1px solid #E5E7EB\", borderRadius: \"6px\", p: 1.25 }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.76rem\", color: \"#374151\", mb: 0.75 }}>{label}</Typography>\n {content ? (\n <MarkdownRenderer fontSize=\"0.8rem\" message={content} isDarkMode={isDarkMode} style={styles?.markdownRenderer} extraMetaData={extraMetaData} cognitiveDecisioningStyles={styles?.cognitiveDecisioning} />\n ) : isLoading ? (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.5 }}>\n <Skeleton variant=\"text\" width=\"100%\" height={14} />\n <Skeleton variant=\"text\" width=\"80%\" height={14} />\n <Skeleton variant=\"text\" width=\"90%\" height={14} />\n </Box>\n ) : (\n <Typography sx={{ fontSize: \"0.8rem\", color: \"#6B7280\", lineHeight: 1.5 }}>— Not yet available</Typography>\n )}\n </Box>\n ))}\n </Box>\n </AccordionDetails>\n </Accordion>\n\n {/* Specifications */}\n <Accordion disableGutters elevation={0} sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px !important\", \"&:before\": { display: \"none\" }, \"&.Mui-expanded\": { bgcolor: \"#F8FAFC\" }, bgcolor: \"#fff\", ...styles?.specificationsSection }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\", color: \"#6B7280\" }} />} sx={{ px: 1.5, minHeight: \"unset\", \"& .MuiAccordionSummary-content\": { my: 0.75, alignItems: \"center\", gap: 1 } }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\", ...styles?.specificationsTitle }}>Specifications</Typography>\n <Typography sx={{ fontSize: \"0.7rem\", color: \"#9CA3AF\" }}>Strict Rules / Input / Output</Typography>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 1.5, pb: 1.5, pt: 0, bgcolor: \"#F8FAFC\", display: \"flex\", flexDirection: \"column\", gap: 1 }}>\n {[\n { label: \"Strict Rules\", tooltip: null, content: spbAdditionalInfo?.constraints_and_rules },\n { label: \"Input\", tooltip: \"Input specification for this SPB\", content: spbAdditionalInfo?.input_analysis },\n { label: \"Output\", tooltip: \"Output specification for this SPB\", content: spbAdditionalInfo?.output_analysis },\n ].map(({ label, tooltip, content }) => {\n const isOutput = label === \"Output\";\n const parsed = isOutput && content ? extractSnCode(content) : null;\n const markdownContent = parsed ? parsed.text : content;\n const codeContent = parsed ? parsed.code : \"\";\n\n return (\n <Accordion key={label} disableGutters elevation={0} defaultExpanded={label === \"Strict Rules\"}\n sx={{ bgcolor: \"#fff\", border: \"1px solid #E5E7EB\", borderRadius: \"6px !important\", \"&:before\": { display: \"none\" }, overflow: \"hidden\" }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\" }} />} sx={{ minHeight: 34, px: 1.25, \"& .MuiAccordionSummary-content\": { my: 0.4 } }}>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.76rem\", color: \"#374151\" }}>{label}</Typography>\n {tooltip && (\n <Tooltip title={tooltip} placement=\"top\">\n <Box component=\"span\" sx={{ width: 13, height: 13, borderRadius: \"50%\", background: \"#E5E7EB\", display: \"inline-flex\", alignItems: \"center\", justifyContent: \"center\", fontSize: \"0.58rem\", color: \"#6B7280\", fontWeight: 700, cursor: \"default\", flexShrink: 0 }}>i</Box>\n </Tooltip>\n )}\n </Box>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 1.25, pb: 1.25, pt: 0 }}>\n {content ? (\n <>\n {markdownContent && <MarkdownRenderer fontSize=\"0.8rem\" message={markdownContent} isDarkMode={isDarkMode} style={styles?.markdownRenderer} extraMetaData={extraMetaData} cognitiveDecisioningStyles={styles?.cognitiveDecisioning} />}\n {isOutput && codeContent && (\n <Box sx={{ width: \"100%\", height: \"35vh\", mt: 1.5 }}>\n <Box sx={{ display: \"flex\", gap: 0.1, backgroundColor: \"black\", flexDirection: \"row\", alignItems: \"center\", justifyContent: \"space-between\", p: 1, borderTopLeftRadius: \"8px\", borderTopRightRadius: \"8px\" }}>\n <Typography sx={{ color: \"white\", fontWeight: 500, fontSize: \"0.8rem\" }}>Output preview</Typography>\n <Tooltip title=\"Copy Code to clipboard\">\n <IconButton size=\"small\" onClick={() => copyToClipboard(codeContent)}>\n <Typography sx={{ fontSize: \"0.7rem\", color: \"white\" }}>Copy</Typography>\n </IconButton>\n </Tooltip>\n </Box>\n <Box sx={{ mt: -1, height: \"calc(100% - 40px)\", borderBottomLeftRadius: \"8px\", borderBottomRightRadius: \"8px\", overflow: \"hidden\" }}>\n <InternalEditor content={codeContent} isDarkMode={isDarkMode} height=\"100%\" fontSize={10} />\n </Box>\n </Box>\n )}\n </>\n ) : isLoading ? (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.5 }}>\n <Skeleton variant=\"text\" width=\"100%\" height={14} />\n <Skeleton variant=\"text\" width=\"90%\" height={14} />\n <Skeleton variant=\"text\" width=\"75%\" height={14} />\n </Box>\n ) : (\n <Typography sx={{ fontSize: \"0.74rem\", color: \"#6B7280\", lineHeight: 1.5 }}>— Not yet available</Typography>\n )}\n </AccordionDetails>\n </Accordion>\n );\n })}\n </AccordionDetails>\n </Accordion>\n\n {/* Dependency Graph */}\n <Accordion defaultExpanded disableGutters elevation={0} sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px !important\", \"&:before\": { display: \"none\" }, bgcolor: \"#fff\", ...styles?.dependencyGraphSection }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon sx={{ fontSize: \"1rem\", color: \"#6B7280\" }} />} sx={{ px: 1.5, minHeight: \"unset\", \"& .MuiAccordionSummary-content\": { my: 0.75 }, \"&.Mui-expanded\": { bgcolor: \"#F8FAFC\", borderRadius: \"8px 8px 0 0\" } }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\", ...styles?.dependencyGraphTitle }}>Dependency Graph</Typography>\n </AccordionSummary>\n <AccordionDetails sx={{ px: 0, pb: 0, pt: 0 }}>\n {spbAdditionalInfo?.dependency_graph ? (\n <Box sx={{ bgcolor: \"#F8FAFC\", borderRadius: \"0 0 8px 8px\", p: 1.5, display: \"flex\", flexDirection: \"column\", gap: 1.5 }}>\n <Box sx={{ height: 500, borderRadius: \"8px\", overflow: \"hidden\" }}>\n <DependencyGraph data={spbAdditionalInfo.dependency_graph} isDarkMode={isDarkMode} style={styles?.dependencyGraph} />\n </Box>\n <Typography sx={{ fontSize: \"0.72rem\", color: \"#64748B\", lineHeight: 1.6 }}>\n This graph visualises how Atomic Prompt Blocks (APBs) depend on, influence, or exchange information with one another within the prompt architecture.\n </Typography>\n </Box>\n ) : (\n <Box sx={{ bgcolor: \"#fff\", borderRadius: \"0 0 8px 8px\", p: 1.5, display: \"flex\", flexDirection: \"column\", gap: 1 }}>\n <Skeleton variant=\"rectangular\" width=\"100%\" height={400} sx={{ borderRadius: \"8px\" }} />\n <Skeleton variant=\"text\" width=\"100%\" height={14} />\n <Skeleton variant=\"text\" width=\"80%\" height={14} />\n </Box>\n )}\n </AccordionDetails>\n </Accordion>\n </Box>\n </Box>\n\n {/* Collapse strip — click to toggle, matches FPB Promptemon's \"FPB Details\" strip */}\n {showCodePanel && showCollapseStrip && (\n <Box\n onClick={() => setIsLeftPanelCollapsed((p) => !p)}\n sx={{\n width: 20, flexShrink: 0, display: \"flex\", flexDirection: \"column\", alignItems: \"center\", justifyContent: \"center\",\n cursor: \"pointer\", borderRight: \"1px solid #e5e7eb\", borderLeft: \"1px solid #e5e7eb\", bgcolor: \"#f9fafb\",\n position: \"relative\", py: 2, \"&:hover\": { bgcolor: \"#f0f0f0\" },\n ...styles?.collapseStrip,\n }}\n >\n <Typography sx={{ fontSize: 10, fontWeight: 600, color: \"#6b7280\", writingMode: \"vertical-rl\", textOrientation: \"mixed\", transform: \"rotate(180deg)\", letterSpacing: \"0.05em\", userSelect: \"none\" }}>\n SPB Details\n </Typography>\n </Box>\n )}\n\n {/* Drag handle / arrow pill */}\n {showCodePanel && showCollapseStrip && (\n <Box\n onClick={() => setIsLeftPanelCollapsed((p) => !p)}\n onMouseDown={handleDragStart}\n sx={{\n position: \"absolute\", left: isLeftPanelCollapsed ? 20 : leftPanelWidth + 20, top: \"50%\", transform: \"translateY(-50%)\",\n width: 18, height: 28, bgcolor: \"#fff\", border: \"1px solid #e5e7eb\", borderRadius: \"0 6px 6px 0\",\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\", cursor: \"col-resize\", zIndex: 5,\n boxShadow: \"2px 0 4px rgba(0,0,0,0.06)\", \"&:hover\": { bgcolor: \"#f9fafb\" },\n ...styles?.dragHandle,\n }}\n >\n {isLeftPanelCollapsed ? <ChevronRightIcon sx={{ fontSize: 12, color: \"#6b7280\" }} /> : <ChevronLeftIcon sx={{ fontSize: 12, color: \"#6b7280\" }} />}\n </Box>\n )}\n\n {/* Right panel — persistent editor, optional via showCodePanel */}\n {showCodePanel && (\n <Box sx={{ flex: 1, minWidth: 0, minHeight: 0, display: \"flex\", flexDirection: \"column\", overflow: \"hidden\", p: 2, gap: 1.5, bgcolor: \"#f8fafc\", ...styles?.codePanel }}>\n <Box sx={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\", flexShrink: 0, ...styles?.codePanelHeader }}>\n <Typography sx={{ fontSize: 13, fontWeight: 600, color: \"#374151\", ...styles?.codePanelTitle }}>\n {promptTitle || \"SPB Analysis\"}\n </Typography>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\n {showThemeToggle && (\n <Switch checked={isDarkMode} onChange={(e) => setIsDarkMode(e.target.checked)} size=\"small\"\n sx={{ width: 36, height: 20, padding: 0, '& .MuiSwitch-switchBase': { padding: 0, margin: '2px', '&.Mui-checked': { transform: 'translateX(16px)', color: '#fff', '& + .MuiSwitch-track': { bgcolor: \"#5928ed\", opacity: 1 } } }, '& .MuiSwitch-thumb': { width: 16, height: 16, bgcolor: '#fff' }, '& .MuiSwitch-track': { borderRadius: 10, bgcolor: '#d1d5db', opacity: 1 } }} />\n )}\n {showFullscreenButton && showFullscreenModal && (\n <Tooltip title=\"Fullscreen\" placement=\"top\">\n <IconButton size=\"small\" onClick={() => setApbPopup({ ref: selectedTag || \"\", description: \"\" })} sx={{ color: \"#6b7280\" }}>\n <FullscreenIcon sx={{ fontSize: 16 }} />\n </IconButton>\n </Tooltip>\n )}\n </Box>\n </Box>\n <Box sx={{ flex: 1, minHeight: 0, border: \"1px solid #30363d\", borderRadius: 1, overflow: \"hidden\", ...styles?.editorContainer }}>\n <InternalEditor content={promptContent} selectedTag={selectedTag} isDarkMode={isDarkMode} height=\"100%\" fontSize={13} highlightVariable={highlightVariable} highlightNonce={highlightNonce} />\n </Box>\n </Box>\n )}\n </Box>\n\n {/* Fullscreen APB Preview */}\n {showFullscreenModal && (\n <Dialog open={!!apbPopup} onClose={() => setApbPopup(null)} maxWidth={false}\n PaperProps={{ sx: { width: \"82vw\", height: \"80vh\", maxWidth: \"none\", borderRadius: \"12px\", overflow: \"hidden\", display: \"flex\", flexDirection: \"column\", ...styles?.fullscreenModal } }}>\n <Box sx={{ px: 2.5, py: 1.5, borderBottom: \"1px solid #E5E7EB\", display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\", flexShrink: 0 }}>\n <Typography sx={{ fontWeight: 700, fontSize: \"1rem\", color: \"#111827\" }}>Promptemon</Typography>\n <IconButton size=\"small\" onClick={() => setApbPopup(null)}><CloseIcon sx={{ fontSize: \"1.1rem\", color: \"#6B7280\" }} /></IconButton>\n </Box>\n <Box sx={{ flex: 1, display: \"flex\", overflow: \"hidden\", minHeight: 0 }}>\n <Box sx={{ width: \"40%\", flexShrink: 0, borderRight: \"1px solid #E5E7EB\", display: \"flex\", flexDirection: \"column\", overflow: \"hidden\" }}>\n <Box sx={{ px: 2, py: 1.25, borderBottom: \"1px solid #E5E7EB\", display: \"flex\", alignItems: \"center\", gap: 1 }}>\n <Tooltip title=\"Atomic Prompt Block\" placement=\"top\">\n <Chip label=\"APB\" size=\"small\" sx={{ bgcolor: \"#f1f5f9\", color: \"#475569\", fontWeight: 700, fontSize: 10, height: 20, borderRadius: 1 }} />\n </Tooltip>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.9rem\", color: \"#111827\" }}>{apbPopup?.ref}</Typography>\n </Box>\n <Box sx={{ flex: 1, p: 2, display: \"flex\", flexDirection: \"column\", gap: 1.5, overflowY: \"auto\" }}>\n <Box sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px\", p: 1.5 }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.8rem\", color: \"#111827\", mb: 0.75 }}>Description</Typography>\n <Typography sx={{ fontSize: \"0.73rem\", color: \"#6B7280\", lineHeight: 1.6 }}>{apbPopup?.description}</Typography>\n </Box>\n <Box sx={{ border: \"1px solid #E5E7EB\", borderRadius: \"8px\", p: 1.25, display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\n <Typography sx={{ fontSize: \"0.73rem\", color: \"#6B7280\" }}>Total Lines</Typography>\n <Typography sx={{ fontSize: \"0.73rem\", fontWeight: 700, color: \"#111827\" }}>{promptContent.split(\"\\n\").length}</Typography>\n </Box>\n </Box>\n </Box>\n <Box sx={{ flex: 1, minWidth: 0, display: \"flex\", flexDirection: \"column\", overflow: \"hidden\" }}>\n <Box sx={{ px: 2, py: 1.25, borderBottom: \"1px solid #E5E7EB\", display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\" }}>\n <Typography sx={{ fontWeight: 600, fontSize: \"0.85rem\", color: \"#111827\" }}>Prompt Preview</Typography>\n <Switch checked={isDarkMode} onChange={(e) => setIsDarkMode(e.target.checked)} size=\"small\"\n sx={{ width: 36, height: 20, padding: 0, '& .MuiSwitch-switchBase': { padding: 0, margin: '2px', '&.Mui-checked': { transform: 'translateX(16px)', color: '#fff', '& + .MuiSwitch-track': { bgcolor: \"#5928ed\", opacity: 1 } } }, '& .MuiSwitch-thumb': { width: 16, height: 16, bgcolor: '#fff' }, '& .MuiSwitch-track': { borderRadius: 10, bgcolor: '#d1d5db', opacity: 1 } }} />\n </Box>\n <Box sx={{ flex: 1, minHeight: 0, p: 1.5 }}>\n <InternalEditor content={promptContent} selectedTag={selectedTag} isDarkMode={isDarkMode} highlightVariable={highlightVariable} height=\"100%\" fontSize={13} highlightNonce={highlightNonce} />\n </Box>\n </Box>\n </Box>\n </Dialog>\n )}\n </Box>\n );\n};\n\nexport default SPBAnalysisPanel;\n"],"names":["OverviewText","text","detailedSummary","extraMetaData","isDarkMode","markdownRendererStyle","cognitiveDecisioningStyles","expanded","setExpanded","useState","preview","truncated","raw","maxChars","plainText","replace","trim","length","cut","slice","lastSpace","lastIndexOf","buildPlainPreview","jsx","Box","children","MarkdownRenderer","message","fontSize","style","Typography","component","onClick","sx","color","fontWeight","cursor","display","flexDirection","jsxs","lineHeight","justifyContent","APBRefDescription","isOverflowing","setIsOverflowing","textRef","useRef","useEffect","el","current","scrollWidth","clientWidth","pl","alignItems","gap","ref","overflow","whiteSpace","textOverflow","flex","minWidth","flexShrink","SPBAnalysisPanel","promptContent","promptTitle","isLoading","overviewSummary","functionalityOfSPB","functionalityOfFPB","showfunctionalityofFPB","spbAdditionalInfo","lastAnalyzedAt","lastAnalyzedAtProp","showCodePanel","showInlineApbEditor","disableApbNavigation","showCollapseStrip","showFullscreenButton","showFullscreenModal","showThemeToggle","isDarkModeProp","styles","className","lastSyncedAt","setLastSyncedAt","expandedApbRef","setExpandedApbRef","selectedTag","setSelectedTag","highlightVariable","setHighlightVariable","highlightNonce","setHighlightNonce","effectiveIsDarkMode","setIsDarkMode","apbPopup","setApbPopup","isLeftPanelCollapsed","setIsLeftPanelCollapsed","leftPanelWidth","setLeftPanelWidth","isDraggingRef","bodyRef","date","Date","toLocaleTimeString","hour","minute","second","hour12","toLocaleDateString","day","month","year","setTimeout","root","height","width","minHeight","px","py","borderBottom","bgcolor","header","headerTitle","headerSubtitle","position","transition","borderRight","leftPanel","overflowY","pb","border","borderRadius","p","overviewSection","mb","overviewTitle","overviewContent","overallSummary","markdownRenderer","cognitiveDecisioning","Skeleton","variant","Accordion","disableGutters","elevation","functionalitySection","AccordionSummary","expandIcon","ExpandMoreIcon","my","functionalityTitle","AccordionDetails","pt","map","item","i","defaultExpanded","functionalityItem","name","section_name","description","reason_for_inclusion","mt","apb_references","j","refName","apb_name","isActiveTag","handleApbRefClick","NearMeOutlinedIcon","context","InternalEditor","content","fpbSection","fpbTitle","treeProps","PromptBlockTree","onNodeOpen","node","segments","meta","rawPromptSegments","rawPrompt","Array","isArray","n","applicabilitySection","applicabilityTitle","label","when_to_apply","when_not_to_apply","specificationsSection","specificationsTitle","tooltip","constraints_and_rules","input_analysis","output_analysis","isOutput","parsed","codeBlocks","_","code","push","join","extractSnCode","markdownContent","codeContent","Tooltip","title","placement","background","Fragment","backgroundColor","borderTopLeftRadius","borderTopRightRadius","IconButton","size","copyToClipboard","navigator","clipboard","writeText","borderBottomLeftRadius","borderBottomRightRadius","dependencyGraphSection","dependencyGraphTitle","dependency_graph","DependencyGraph","data","dependencyGraph","borderLeft","collapseStrip","writingMode","textOrientation","transform","letterSpacing","userSelect","onMouseDown","e","preventDefault","onMouseMove","bodyRect","getBoundingClientRect","bodyLeft","left","bodyWidth","newWidth","clientX","document","removeEventListener","onMouseUp","addEventListener","top","zIndex","boxShadow","dragHandle","ChevronRightIcon","ChevronLeftIcon","codePanel","codePanelHeader","codePanelTitle","Switch","checked","onChange","target","padding","margin","opacity","FullscreenIcon","editorContainer","Dialog","open","onClose","maxWidth","PaperProps","fullscreenModal","CloseIcon","Chip","split"],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
export interface InternalEditorProps {
|
|
2
2
|
content: string;
|
|
3
3
|
selectedTag?: string;
|
|
4
|
-
highlightVariable?: string;
|
|
4
|
+
highlightVariable?: string | string[];
|
|
5
|
+
highlightNonce?: number;
|
|
5
6
|
isDarkMode: boolean;
|
|
6
7
|
height?: number | string;
|
|
7
8
|
fontSize?: number;
|
|
8
9
|
}
|
|
9
|
-
export declare const InternalEditor: ({ content, selectedTag, highlightVariable, isDarkMode, height, fontSize, }: InternalEditorProps) => import("react").JSX.Element;
|
|
10
|
+
export declare const InternalEditor: ({ content, selectedTag, highlightVariable, highlightNonce, isDarkMode, height, fontSize, }: InternalEditorProps) => import("react").JSX.Element;
|
|
10
11
|
export default InternalEditor;
|
|
11
12
|
//# sourceMappingURL=Internaleditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Internaleditor.d.ts","sourceRoot":"","sources":["../../../../src/features/SPBAnalysisPanel/Internaleditor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Internaleditor.d.ts","sourceRoot":"","sources":["../../../../src/features/SPBAnalysisPanel/Internaleditor.tsx"],"names":[],"mappings":"AAuDA,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,+FAQxB,mBAAmB,gCA8QrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spbanalysispanel.d.ts","sourceRoot":"","sources":["../../../../src/features/SPBAnalysisPanel/Spbanalysispanel.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Spbanalysispanel.d.ts","sourceRoot":"","sources":["../../../../src/features/SPBAnalysisPanel/Spbanalysispanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../src/utils/helper.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,SAAU,MAAM;;;CA6C9C,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=e=>{if(!e||"string"!=typeof e)return{normalized:"",map:[]};let t="";const s=[];let o=0,r=!1;for(;o<e.length;)"\\"!==e[o]||"<"!==e[o+1]&&">"!==e[o+1]?"*"!==e[o]||"*"!==e[o+1]?/\s/.test(e[o])?(r||(t+=" ",s.push(o),r=!0),o+=1):(t+=e[o].toLowerCase(),s.push(o),r=!1,o+=1):o+=2:(t+=e[o+1].toLowerCase(),s.push(o+1),o+=2,r=!1);let l=0,n=t.length;return" "===t[l]&&(l+=1),n>l&&" "===t[n-1]&&(n-=1),{normalized:t.slice(l,n),map:s.slice(l,n)}};export{e as buildNormalizedMap};
|
|
2
|
+
//# sourceMappingURL=helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.js","sources":["../../src/utils/helper.ts"],"sourcesContent":["export const buildNormalizedMap = (text: string) => {\n if (!text || typeof text !== 'string') {\n return { normalized: \"\", map: [] };\n }\n let normalized = \"\";\n const map: number[] = [];\n let i = 0;\n let lastWasSpace = false;\n\n while (i < text.length) {\n if (text[i] === \"\\\\\" && (text[i + 1] === \"<\" || text[i + 1] === \">\")) {\n normalized += text[i + 1].toLowerCase();\n map.push(i + 1);\n i += 2;\n lastWasSpace = false;\n continue;\n }\n if (text[i] === \"*\" && text[i + 1] === \"*\") {\n i += 2;\n continue;\n }\n if (/\\s/.test(text[i])) {\n if (!lastWasSpace) {\n normalized += \" \";\n map.push(i);\n lastWasSpace = true;\n }\n i += 1;\n continue;\n }\n normalized += text[i].toLowerCase();\n map.push(i);\n lastWasSpace = false;\n i += 1;\n }\n\n let start = 0;\n let end = normalized.length;\n if (normalized[start] === \" \") start += 1;\n if (end > start && normalized[end - 1] === \" \") end -= 1;\n\n return {\n normalized: normalized.slice(start, end),\n map: map.slice(start, end),\n };\n};"],"names":["buildNormalizedMap","text","normalized","map","i","lastWasSpace","length","test","push","toLowerCase","start","end","slice"],"mappings":"AAAa,MAAAA,EAAsBC,IAC/B,IAAKA,GAAwB,iBAATA,EAChB,MAAO,CAAEC,WAAY,GAAIC,IAAK,IAElC,IAAID,EAAa,GACjB,MAAMC,EAAgB,GACtB,IAAIC,EAAI,EACJC,GAAe,EAEZ,KAAAD,EAAIH,EAAKK,QACI,OAAZL,EAAKG,IAAgC,MAAhBH,EAAKG,EAAI,IAA8B,MAAhBH,EAAKG,EAAI,GAOzC,MAAZH,EAAKG,IAA8B,MAAhBH,EAAKG,EAAI,GAI5B,KAAKG,KAAKN,EAAKG,KACVC,IACaH,GAAA,IACdC,EAAIK,KAAKJ,GACMC,GAAA,GAEdD,GAAA,IAGKF,GAAAD,EAAKG,GAAGK,cACtBN,EAAIK,KAAKJ,GACMC,GAAA,EACVD,GAAA,GAfIA,GAAA,GAPLF,GAAcD,EAAKG,EAAI,GAAGK,cACtBN,EAAAK,KAAKJ,EAAI,GACRA,GAAA,EACUC,GAAA,GAsBvB,IAAIK,EAAQ,EACRC,EAAMT,EAAWI,OAId,MAHmB,MAAtBJ,EAAWQ,KAAyBA,GAAA,GACpCC,EAAMD,GAAiC,MAAxBR,EAAWS,EAAM,KAAmBA,GAAA,GAEhD,CACHT,WAAYA,EAAWU,MAAMF,EAAOC,GACpCR,IAAKA,EAAIS,MAAMF,EAAOC"}
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");const t={wrapper:{alignItems:"center",justifyContent:"center",textAlign:"center"},inner:{width:"100%"},iconWrapper:{width:"80px",height:"80px",background:"linear-gradient(to right, #3B82F6, #9333EA)",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",margin:"0 auto 24px auto"},icon:{width:"40px",height:"40px",color:"#FFFFFF"},heading:{fontSize:"36px",fontWeight:"bold",color:"#9333EA",marginBottom:"16px"},text:{fontSize:"18px",color:"#4B5563",lineHeight:1.6,textAlign:"center"},errorState:{color:"#CE3928",padding:"18px 0px",display:"flex",justifyContent:"center",width:"100%"}},n=e.jsx("svg",{style:t.icon,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})});exports.comingSoonStyles=t,exports.defaultIcon=n;
|
|
2
|
-
//# sourceMappingURL=BookemonStyles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BookemonStyles.js","sources":["../../../../src/features/Bookemon/BookemonStyles.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\n\nexport const comingSoonStyles: { [key: string]: CSSProperties } = {\n wrapper: { alignItems: 'center', justifyContent: 'center', textAlign: 'center' },\n inner: { width: '100%' },\n iconWrapper: { width: '80px', height: '80px', background: 'linear-gradient(to right, #3B82F6, #9333EA)', borderRadius: '50%', display: 'flex', alignItems: 'center', justifyContent: 'center', margin: '0 auto 24px auto' },\n icon: { width: '40px', height: '40px', color: '#FFFFFF' },\n heading: { fontSize: '36px', fontWeight: 'bold', color: '#9333EA', marginBottom: '16px' },\n text: { fontSize: '18px', color: '#4B5563', lineHeight: 1.6, textAlign: 'center' },\n errorState: { color: '#CE3928', padding: '18px 0px', display: 'flex', justifyContent: 'center', width: '100%' },\n};\n\nexport const defaultIcon = <svg style={comingSoonStyles.icon} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M13 10V3L4 14h7v7l9-11h-7z\" /></svg>;\n"],"names":["comingSoonStyles","wrapper","alignItems","justifyContent","textAlign","inner","width","iconWrapper","height","background","borderRadius","display","margin","icon","color","heading","fontSize","fontWeight","marginBottom","text","lineHeight","errorState","padding","defaultIcon","style","fill","stroke","viewBox","children","jsx","strokeLinecap","strokeLinejoin","strokeWidth","d"],"mappings":"uGAEO,MAAMA,EAAqD,CAChEC,QAAS,CAAEC,WAAY,SAAUC,eAAgB,SAAUC,UAAW,UACtEC,MAAO,CAAEC,MAAO,QAChBC,YAAa,CAAED,MAAO,OAAQE,OAAQ,OAAQC,WAAY,8CAA+CC,aAAc,MAAOC,QAAS,OAAQT,WAAY,SAAUC,eAAgB,SAAUS,OAAQ,oBACvMC,KAAM,CAAEP,MAAO,OAAQE,OAAQ,OAAQM,MAAO,WAC9CC,QAAS,CAAEC,SAAU,OAAQC,WAAY,OAAQH,MAAO,UAAWI,aAAc,QACjFC,KAAM,CAAEH,SAAU,OAAQF,MAAO,UAAWM,WAAY,IAAKhB,UAAW,UACxEiB,WAAY,CAAEP,MAAO,UAAWQ,QAAS,WAAYX,QAAS,OAAQR,eAAgB,SAAUG,MAAO,SAG5FiB,QAAe,MAAI,CAAAC,MAAOxB,EAAiBa,KAAMY,KAAK,OAAOC,OAAO,eAAeC,QAAQ,YAAYC,SAACC,MAAA,OAAA,CAAKC,cAAc,QAAQC,eAAe,QAAQC,YAAa,EAAGC,EAAE"}
|
package/dist/cjs/lib/ui/icons.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),o=require("react"),r=require("lucide-react");const t=r=>o.forwardRef(({fontSize:o,size:t,sx:n,style:s,...c},p)=>{const i=t??("small"===o?18:"large"===o?28:"number"==typeof o?o:24);return e.jsx(r,{ref:p,size:i,style:{...n,...s},...c})}),n=t(r.CirclePlus),s=t(r.ArrowLeft),c=t(r.ArrowRight),p=t(r.Sparkles),i=t(r.WandSparkles),x=t(r.MessageCircle);t(r.MessageCircle),t(r.CheckCircle);const a=t(r.Check),l=t(r.ChevronLeft),u=t(r.ChevronRight),h=t(r.Minimize),I=t(r.X),C=t(r.X),d=t(r.Copy),g=t(r.Moon),f=t(r.Trash2),v=t(r.MoveVertical),w=t(r.Clipboard),b=t(r.ChevronUp),M=t(r.ChevronUp),A=t(r.ChevronDown),O=t(r.ChevronDown),R=t(r.Maximize),k=t(r.Github),y=t(r.Info),L=t(r.Info),m=t(r.ChevronDown),D=t(r.ChevronUp),S=t(r.Sun),z=t(r.Lightbulb),E=t(r.Search),j=t(r.ChevronLeft),F=t(r.ChevronRight),N=t(r.ArrowRight),U=t(r.RotateCw),q=t(r.ArrowRight);Object.defineProperty(exports,"Check",{enumerable:!0,get:function(){return r.Check}}),exports.AddIcon=n,exports.ArrowBackIcon=s,exports.ArrowForwardIcon=c,exports.AutoAwesomeIcon=p,exports.AutoFixHighOutlinedIcon=i,exports.ChatBubbleOutlineOutlined=x,exports.CheckIcon=a,exports.ChevronLeftIcon=l,exports.ChevronRightIcon=u,exports.CloseFullscreenIcon=h,exports.CloseIcon=I,exports.CloseOutlinedIcon=C,exports.ContentCopy=d,exports.DarkModeIcon=g,exports.DeleteOutlineIcon=f,exports.DragIndicatorIcon=v,exports.EditOutlinedIcon=w,exports.ExpandLess=b,exports.ExpandLessIcon=M,exports.ExpandMore=A,exports.ExpandMoreIcon=O,exports.FullscreenIcon=R,exports.GitHub=k,exports.InfoIcon=y,exports.InfoOutlinedIcon=L,exports.KeyboardArrowDownIcon=m,exports.KeyboardArrowUpIcon=D,exports.LightModeIcon=S,exports.LightbulbOutlined=z,exports.ManageSearchOutlined=E,exports.NavigateBeforeIcon=j,exports.NavigateNextIcon=F,exports.NearMeOutlinedIcon=N,exports.RotateRightIcon=U,exports.SwapHorizIcon=q;
|
|
2
|
-
//# sourceMappingURL=icons.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sources":["../../../../src/lib/ui/icons.tsx"],"sourcesContent":["import React, { CSSProperties, forwardRef } from 'react';\nimport {\n ArrowLeft,\n ArrowRight,\n Check,\n CheckCircle,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n CirclePlus,\n Clipboard,\n Copy,\n Expand,\n Github,\n Info,\n Lightbulb,\n Maximize,\n MessageCircle,\n Minimize,\n Moon,\n MoveVertical,\n RotateCw,\n Search,\n Sparkles,\n Sun,\n Trash2,\n WandSparkles,\n X,\n type LucideIcon,\n type LucideProps,\n} from 'lucide-react';\n\nexport interface LegacyIconProps extends Omit<LucideProps, 'color'> {\n color?: string;\n fontSize?: 'inherit' | 'small' | 'medium' | 'large' | number;\n sx?: CSSProperties & Record<string, unknown>;\n}\n\nconst legacyIcon = (Icon: LucideIcon) => forwardRef<SVGSVGElement, LegacyIconProps>(\n ({ fontSize, size, sx, style, ...props }, ref) => {\n const resolvedSize = size ?? (fontSize === 'small' ? 18 : fontSize === 'large' ? 28 : typeof fontSize === 'number' ? fontSize : 24);\n return <Icon ref={ref} size={resolvedSize} style={{ ...sx, ...style }} {...props} />;\n },\n);\n\nexport const AddIcon = legacyIcon(CirclePlus);\nexport const ArrowBackIcon = legacyIcon(ArrowLeft);\nexport const ArrowForwardIcon = legacyIcon(ArrowRight);\nexport const AutoAwesomeIcon = legacyIcon(Sparkles);\nexport const AutoFixHighOutlinedIcon = legacyIcon(WandSparkles);\nexport const ChatBubbleOutlineOutlined = legacyIcon(MessageCircle);\nexport const ChatBubbleOutlineOutlinedIcon = legacyIcon(MessageCircle);\nexport const CheckCircleOutlineIcon = legacyIcon(CheckCircle);\nexport const CheckIcon = legacyIcon(Check);\nexport const ChevronLeftIcon = legacyIcon(ChevronLeft);\nexport const ChevronRightIcon = legacyIcon(ChevronRight);\nexport const CloseFullscreenIcon = legacyIcon(Minimize);\nexport const CloseIcon = legacyIcon(X);\nexport const CloseOutlinedIcon = legacyIcon(X);\nexport const ContentCopy = legacyIcon(Copy);\nexport const DarkModeIcon = legacyIcon(Moon);\nexport const DeleteOutlineIcon = legacyIcon(Trash2);\nexport const DragIndicatorIcon = legacyIcon(MoveVertical);\nexport const EditOutlinedIcon = legacyIcon(Clipboard);\nexport const ExpandLess = legacyIcon(ChevronUp);\nexport const ExpandLessIcon = legacyIcon(ChevronUp);\nexport const ExpandMore = legacyIcon(ChevronDown);\nexport const ExpandMoreIcon = legacyIcon(ChevronDown);\nexport const FullscreenIcon = legacyIcon(Maximize);\nexport const GitHub = legacyIcon(Github);\nexport const InfoIcon = legacyIcon(Info);\nexport const InfoOutlinedIcon = legacyIcon(Info);\nexport const KeyboardArrowDownIcon = legacyIcon(ChevronDown);\nexport const KeyboardArrowUpIcon = legacyIcon(ChevronUp);\nexport const LightModeIcon = legacyIcon(Sun);\nexport const LightbulbOutlined = legacyIcon(Lightbulb);\nexport const ManageSearchOutlined = legacyIcon(Search);\nexport const NavigateBeforeIcon = legacyIcon(ChevronLeft);\nexport const NavigateNextIcon = legacyIcon(ChevronRight);\nexport const NearMeOutlinedIcon = legacyIcon(ArrowRight);\nexport const RotateRightIcon = legacyIcon(RotateCw);\nexport const SwapHorizIcon = legacyIcon(ArrowRight);\n\nexport { Check };\n"],"names":["legacyIcon","Icon","forwardRef","fontSize","size","sx","style","props","ref","resolvedSize","jsx","AddIcon","CirclePlus","ArrowBackIcon","ArrowLeft","ArrowForwardIcon","ArrowRight","AutoAwesomeIcon","Sparkles","AutoFixHighOutlinedIcon","WandSparkles","ChatBubbleOutlineOutlined","MessageCircle","CheckCircle","CheckIcon","Check","ChevronLeftIcon","ChevronLeft","ChevronRightIcon","ChevronRight","CloseFullscreenIcon","Minimize","CloseIcon","X","CloseOutlinedIcon","ContentCopy","Copy","DarkModeIcon","Moon","DeleteOutlineIcon","Trash2","DragIndicatorIcon","MoveVertical","EditOutlinedIcon","Clipboard","ExpandLess","ChevronUp","ExpandLessIcon","ExpandMore","ChevronDown","ExpandMoreIcon","FullscreenIcon","Maximize","GitHub","Github","InfoIcon","Info","InfoOutlinedIcon","KeyboardArrowDownIcon","KeyboardArrowUpIcon","LightModeIcon","Sun","LightbulbOutlined","Lightbulb","ManageSearchOutlined","Search","NavigateBeforeIcon","NavigateNextIcon","NearMeOutlinedIcon","RotateRightIcon","RotateCw","SwapHorizIcon"],"mappings":"oJAuCA,MAAMA,EAAcC,GAAqBC,EAAAA,WACvC,EAAGC,WAAUC,OAAMC,KAAIC,WAAUC,GAASC,KAClC,MAAAC,EAAeL,IAAsB,UAAbD,EAAuB,GAAkB,UAAbA,EAAuB,GAAyB,iBAAbA,EAAwBA,EAAW,IAChI,OAAQO,EAAAA,IAAAT,EAAA,CAAKO,MAAUJ,KAAMK,EAAcH,MAAO,IAAKD,KAAOC,MAAaC,MAIlEI,EAAUX,EAAWY,cACrBC,EAAgBb,EAAWc,aAC3BC,EAAmBf,EAAWgB,cAC9BC,EAAkBjB,EAAWkB,YAC7BC,EAA0BnB,EAAWoB,gBACrCC,EAA4BrB,EAAWsB,iBACPtB,EAAWsB,iBAClBtB,EAAWuB,eACpC,MAAAC,EAAYxB,EAAWyB,SACvBC,EAAkB1B,EAAW2B,eAC7BC,EAAmB5B,EAAW6B,gBAC9BC,EAAsB9B,EAAW+B,YACjCC,EAAYhC,EAAWiC,KACvBC,EAAoBlC,EAAWiC,KAC/BE,EAAcnC,EAAWoC,QACzBC,EAAerC,EAAWsC,QAC1BC,EAAoBvC,EAAWwC,UAC/BC,EAAoBzC,EAAW0C,gBAC/BC,EAAmB3C,EAAW4C,aAC9BC,EAAa7C,EAAW8C,aACxBC,EAAiB/C,EAAW8C,aAC5BE,EAAahD,EAAWiD,eACxBC,EAAiBlD,EAAWiD,eAC5BE,EAAiBnD,EAAWoD,YAC5BC,EAASrD,EAAWsD,UACpBC,EAAWvD,EAAWwD,QACtBC,EAAmBzD,EAAWwD,QAC9BE,EAAwB1D,EAAWiD,eACnCU,EAAsB3D,EAAW8C,aACjCc,EAAgB5D,EAAW6D,OAC3BC,EAAoB9D,EAAW+D,aAC/BC,EAAuBhE,EAAWiE,UAClCC,EAAqBlE,EAAW2B,eAChCwC,EAAmBnE,EAAW6B,gBAC9BuC,EAAqBpE,EAAWgB,cAChCqD,EAAkBrE,EAAWsE,YAC7BC,EAAgBvE,EAAWgB,EAAUA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("primereact/button"),n=require("primereact/checkbox"),o=require("primereact/dialog"),i=require("primereact/inputswitch"),l=require("primereact/progressspinner"),a=require("primereact/radiobutton"),s=require("primereact/skeleton");const d={palette:{primary:{main:"var(--primary-color, #6366f1)",light:"#eef2ff",dark:"#4338ca",contrastText:"#fff"},secondary:{main:"#64748b"},error:{main:"#dc2626",light:"#fef2f2"},warning:{main:"#d97706",light:"#fffbeb"},success:{main:"#16a34a",light:"#f0fdf4"},info:{main:"#2563eb",light:"#eff6ff"},text:{primary:"#111827",secondary:"#64748b",disabled:"#9ca3af"},divider:"#e5e7eb",background:{paper:"#fff",default:"#fff"},grey:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",500:"#6b7280",700:"#374151",900:"#111827"}},spacing:e=>8*e+"px",breakpoints:{up:()=>"@media",down:()=>"@media"}},p={fontFamily:"var(--font-bpa, Inter, sans-serif)"},c={m:"margin",mt:"marginTop",mr:"marginRight",mb:"marginBottom",ml:"marginLeft",mx:"margin",my:"margin",p:"padding",pt:"paddingTop",pr:"paddingRight",pb:"paddingBottom",pl:"paddingLeft",px:"padding",py:"padding"},x=e=>{if(!e)return{};if("function"==typeof e)return x(e(d));if(Array.isArray(e))return Object.assign({},...e.map(e=>x(e)));const t={};for(const[r,n]of Object.entries(e)){if(null==n||r.startsWith("&")||r.startsWith("@"))continue;const e=c[r]??r;let o=n;"function"==typeof o&&(o=o(d)),c[r]&&"number"==typeof o&&(o=d.spacing(o)),"mx"!==r?"my"!==r?"px"!==r?"py"!==r?"bgcolor"!==r?t[e]=o:t.backgroundColor=o:(t.paddingTop=o,t.paddingBottom=o):(t.paddingLeft=o,t.paddingRight=o):(t.marginTop=o,t.marginBottom=o):(t.marginLeft=o,t.marginRight=o)}return t},f=(r,n={})=>t.forwardRef(({component:t,as:o,sx:i,style:l,children:a,...s},d)=>{const c=t??o??r;return e.jsx(c,{ref:d,style:{...p,...n,...x(i),...l},...s,children:a})}),g=f("div"),u=f("div",{background:"#fff"}),h=t.forwardRef(({direction:t="column",spacing:r=0,sx:n,style:o,children:i,...l},a)=>e.jsx("div",{ref:a,style:{display:"flex",flexDirection:t,gap:"number"==typeof r?d.spacing(r):r,...x(n),...o},...l,children:i})),m=f("hr",{border:0,borderTop:"1px solid #e5e7eb",margin:0}),y=t.forwardRef(({component:t,variant:r,sx:n,style:o,children:i,...l},a)=>{const s=t??(r?.startsWith("h")?r:"span");return e.jsx(s,{ref:a,style:{display:"span"===s?"inline":void 0,margin:0,...x(n),...o},...l,children:i})}),b=t.forwardRef(({children:t,startIcon:n,endIcon:o,variant:i,color:l,sx:a,style:s,disabled:d,onClick:p,...c},f)=>e.jsxs(r.Button,{ref:f,disabled:d,onClick:p,outlined:"outlined"===i,text:"text"===i,severity:"error"===l?"danger":l,style:{...x(a),...s},...c,children:[n,t,o]})),v=f("button",{border:0,background:"transparent",padding:0,cursor:"pointer",font:"inherit"}),k=t.forwardRef(({children:t,sx:n,style:o,color:i,...l},a)=>e.jsx(r.Button,{ref:a,text:!0,rounded:!0,severity:"error"===i?"danger":void 0,style:{padding:"0.5rem",...x(n),...o},...l,children:t})),C=t.forwardRef(({checked:t,onChange:r,value:o,disabled:i,sx:l,style:a,...s},d)=>e.jsx(n.Checkbox,{ref:d,checked:Boolean(t),value:o,disabled:i,onChange:e=>{const t=e.originalEvent??{};r?.({...t,target:{...t.target,checked:e.checked,value:o}},e.checked)},style:{...x(l),...a},...s})),j=t.forwardRef(({checked:t,onChange:r,value:n,disabled:o,sx:i,style:l,...s},d)=>e.jsx(a.RadioButton,{ref:d,checked:Boolean(t),value:n,disabled:o,onChange:e=>{const t=e.originalEvent??{};r?.({...t,target:{...t.target,checked:e.checked,value:n}},e.checked)},style:{...x(i),...l},...s})),w=t.forwardRef(({checked:t,onChange:r,disabled:n,sx:o,style:l,...a},s)=>e.jsx(i.InputSwitch,{ref:s,checked:Boolean(t),disabled:n,onChange:e=>{const t=e.originalEvent??{};r?.({...t,target:{...t.target,checked:e.value}},e.value)},style:{...x(o),...l},...a})),R=t.forwardRef(({multiline:t,rows:r,label:n,value:o,onChange:i,placeholder:l,disabled:a,type:s,sx:d,style:p,InputProps:c,inputProps:f,...g},u)=>{const h=t?"textarea":"input";return e.jsxs("label",{style:{display:"inline-flex",flexDirection:"column",gap:4,...x(d)},children:[n&&e.jsx("span",{children:n}),e.jsx(h,{ref:u,rows:r,value:o??"",onChange:i,placeholder:l,disabled:a,type:s,style:{font:"inherit",border:"1px solid #d1d5db",borderRadius:6,padding:"0.5rem 0.75rem",...p},...f,...g})]})}),B=f("span"),T=f("header",{fontSize:"1.25rem",fontWeight:600,marginBottom:"1rem"}),S=f("div");f("footer",{display:"flex",justifyContent:"flex-end",gap:"0.5rem",marginTop:"1rem"});const I=f("summary",{cursor:"pointer",listStyle:"none"}),P=f("div"),A=f("button",{display:"flex",width:"100%",border:0,background:"transparent",padding:"0.5rem 0.75rem",cursor:"pointer",font:"inherit"});f("a");const q=f("select"),D=t.forwardRef(({children:t,sx:r,style:n,fontSize:o,viewBox:i="0 0 24 24",...l},a)=>e.jsx("svg",{ref:a,viewBox:i,width:"small"===o?18:24,height:"small"===o?18:24,fill:"currentColor",style:{...x(r),...n},...l,children:t}));exports.Accordion=({expanded:t,defaultExpanded:r,onChange:n,children:o,sx:i,style:l,...a})=>e.jsx("details",{open:t??r,onToggle:e=>n?.(e,e.currentTarget.open),style:{...x(i),...l},...a,children:o}),exports.AccordionDetails=P,exports.AccordionSummary=I,exports.Alert=({severity:t="info",children:r,onClose:n,sx:o,style:i,...l})=>e.jsxs("div",{role:"alert","data-severity":t,style:{padding:"0.75rem 1rem",borderRadius:6,background:d.palette[t]?.light,color:d.palette[t]?.main,...x(o),...i},...l,children:[r,n&&e.jsx("button",{type:"button",onClick:n,"aria-label":"Close",children:"×"})]}),exports.Autocomplete=({options:t=[],value:r,onChange:n,renderInput:o,multiple:i,getOptionLabel:l=e=>String(e),sx:a})=>{const s=i?(r??[]).map(l):l(r??"");return e.jsx("div",{style:x(a),children:o?.({inputProps:{list:void 0},value:s})??e.jsx("select",{multiple:i,value:s,onChange:e=>n?.(e,i?Array.from(e.currentTarget.selectedOptions,e=>t.find(t=>l(t)===e.value)):t.find(t=>l(t)===e.currentTarget.value)),children:t.map(t=>e.jsx("option",{children:l(t)},l(t)))})})},exports.Box=g,exports.Button=b,exports.ButtonBase=v,exports.Checkbox=C,exports.Chip=({label:t,onDelete:r,sx:n,style:o,...i})=>e.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4,borderRadius:999,background:"#f3f4f6",padding:"0.25rem 0.5rem",...x(n),...o},...i,children:[t,r&&e.jsx("button",{type:"button",onClick:r,"aria-label":"Remove",children:"×"})]}),exports.CircularProgress=({size:t=40,sx:r,style:n,...o})=>e.jsx(l.ProgressSpinner,{strokeWidth:"5",style:{width:t,height:t,...x(r),...n},...o}),exports.Dialog=({open:t,onClose:r,children:n,maxWidth:i,fullWidth:l,PaperProps:a,sx:s,...d})=>e.jsx(o.Dialog,{visible:Boolean(t),onHide:()=>r?.({},"backdropClick"),modal:!0,style:{width:l?{xs:"90vw",sm:"36rem",md:"56rem",lg:"72rem"}[i]??"90vw":void 0,...x(s),...a?.style},contentStyle:a?.sx?x(a.sx):void 0,...d,children:n}),exports.DialogContent=S,exports.DialogTitle=T,exports.Divider=m,exports.FormControlLabel=({control:t,label:r,sx:n,style:o,...i})=>e.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:8,...x(n),...o},...i,children:[t,r]}),exports.IconButton=k,exports.InputAdornment=B,exports.Menu=({open:t,anchorEl:r,onClose:n,children:o,sx:i,style:l,...a})=>t?e.jsx("div",{role:"menu",style:{position:"fixed",zIndex:1400,top:r?.getBoundingClientRect?.().bottom??0,left:r?.getBoundingClientRect?.().left??0,background:"#fff",border:"1px solid #e5e7eb",borderRadius:6,boxShadow:"0 8px 24px rgb(0 0 0 / 15%)",...x(i),...l},...a,children:o}):null,exports.MenuItem=A,exports.Pagination=({count:t=1,page:r=1,onChange:n,sx:o,style:i})=>e.jsx("nav",{"aria-label":"Pagination",style:{display:"flex",gap:4,...x(o),...i},children:Array.from({length:t},(e,t)=>t+1).map(t=>e.jsx("button",{type:"button","aria-current":t===r?"page":void 0,onClick:e=>n?.(e,t),children:t},t))}),exports.Paper=u,exports.Popper=({open:t,anchorEl:r,placement:n,children:o,sx:i,style:l,...a})=>t?e.jsx("div",{style:{position:"fixed",zIndex:1300,top:r?.getBoundingClientRect?.().bottom??0,left:r?.getBoundingClientRect?.().left??0,...x(i),...l},...a,children:"function"==typeof o?o({placement:n,TransitionProps:{}}):o}):null,exports.Portal=({children:e})=>e,exports.Radio=j,exports.Select=q,exports.Skeleton=({width:t,height:r,variant:n,sx:o,style:i,...l})=>e.jsx(s.Skeleton,{width:"number"==typeof t?`${t}px`:t,height:"number"==typeof r?`${r}px`:r,shape:"circular"===n?"circle":"rectangle",style:{...x(o),...i},...l}),exports.Snackbar=({open:t,children:r,message:n,anchorOrigin:o,sx:i,style:l,...a})=>t?e.jsx("div",{style:{position:"fixed",zIndex:1500,bottom:"top"===o?.vertical?void 0:24,top:"top"===o?.vertical?24:void 0,left:"left"===o?.horizontal?24:"50%",transform:"left"===o?.horizontal?void 0:"translateX(-50%)",...x(i),...l},...a,children:r??n}):null,exports.Stack=h,exports.SvgIcon=D,exports.Switch=w,exports.Tab=({label:t,value:r,sx:n,style:o,...i})=>e.jsx("button",{type:"button",role:"tab","data-tab-value":r,style:{...x(n),...o},...i,children:t}),exports.Tabs=({value:t,onChange:r,children:n,sx:o,style:i})=>e.jsx("div",{role:"tablist","data-value":t,style:{display:"flex",...x(o),...i},onClick:e=>{const t=e.target.closest("[data-tab-value]")?.dataset.tabValue;null!=t&&r?.(e,Number(t))},children:n}),exports.TextField=R,exports.Tooltip=({title:t,children:r})=>e.jsx("span",{title:"string"==typeof t?t:void 0,style:{display:"inline-flex"},children:r}),exports.Typography=y,exports.styled=e=>(...t)=>e,exports.tooltipClasses={tooltip:"bpa-tooltip",arrow:"bpa-tooltip-arrow"};
|
|
2
|
-
//# sourceMappingURL=materialCompat.js.map
|