"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RFPContentGenerator = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const react_2 = require("@chakra-ui/react");
const icons_1 = require("@chakra-ui/icons");
const RFPContentGenerator = ({ opportunityData, competitiveAnalysis, companyProfile, onContentGenerated, onExportRequest, className }) => {
    const [sections, setSections] = (0, react_1.useState)([]);
    const [config, setConfig] = (0, react_1.useState)({
        model: 'gpt-4',
        temperature: 0.7,
        enableEnhancement: true,
        targetLength: 'standard',
        writingStyle: 'balanced',
        includeVisuals: false
    });
    const [isGenerating, setIsGenerating] = (0, react_1.useState)(false);
    const [selectedSection, setSelectedSection] = (0, react_1.useState)(null);
    const [editedContent, setEditedContent] = (0, react_1.useState)('');
    const [generationProgress, setGenerationProgress] = (0, react_1.useState)(0);
    const [currentStep, setCurrentStep] = (0, react_1.useState)('');
    const { isOpen, onOpen, onClose } = (0, react_2.useDisclosure)();
    const toast = (0, react_2.useToast)();
    const defaultSections = [
        'Executive Summary',
        'Technical Approach',
        'Management Approach',
        'Past Performance',
        'Corporate Experience',
        'Quality Assurance',
        'Risk Management',
        'Pricing Justification'
    ];
    (0, react_1.useEffect)(() => {
        initializeSections();
    }, []);
    const initializeSections = () => {
        const initialSections = defaultSections.map(title => ({
            id: title.toLowerCase().replace(/\s+/g, '-'),
            title,
            content: '',
            wordCount: 0,
            confidence: 0,
            status: 'pending',
            requirements: [],
            recommendations: []
        }));
        setSections(initialSections);
    };
    const generateAllSections = async () => {
        if (!opportunityData) {
            toast({
                title: 'Missing Data',
                description: 'Please upload and analyze RFP documents first',
                status: 'warning',
                duration: 5000,
                isClosable: true
            });
            return;
        }
        setIsGenerating(true);
        setGenerationProgress(0);
        setCurrentStep('Initializing AI content generation...');
        try {
            for (let i = 0; i < sections.length; i++) {
                const section = sections[i];
                setCurrentStep(`Generating ${section.title}...`);
                setSections(prev => prev.map(s => s.id === section.id ? { ...s, status: 'generating' } : s));
                // Simulate AI generation with realistic timing
                await new Promise(resolve => setTimeout(resolve, 2000 + Math.random() * 3000));
                const generatedContent = await generateSectionContent(section);
                setSections(prev => prev.map(s => s.id === section.id
                    ? {
                        ...s,
                        ...generatedContent,
                        status: 'completed'
                    }
                    : s));
                setGenerationProgress(((i + 1) / sections.length) * 100);
            }
            setCurrentStep('Generation complete!');
            onContentGenerated?.(sections);
            toast({
                title: 'Generation Complete',
                description: 'All RFP sections have been generated successfully',
                status: 'success',
                duration: 5000,
                isClosable: true
            });
        }
        catch (error) {
            toast({
                title: 'Generation Failed',
                description: 'Failed to generate RFP content. Please try again.',
                status: 'error',
                duration: 5000,
                isClosable: true
            });
        }
        finally {
            setIsGenerating(false);
            setCurrentStep('');
        }
    };
    const generateSectionContent = async (section) => {
        // Mock AI generation - in production, this would call the RFP intelligence APIs
        const mockContent = {
            'executive-summary': `# Executive Summary

Our company is uniquely positioned to deliver exceptional results for this critical initiative. With over 15 years of proven experience in AI/ML development and government contracting, we bring deep technical expertise combined with a thorough understanding of federal requirements.

## Key Value Propositions

- **Proven AI/ML Expertise**: Our team includes PhD-level data scientists with extensive experience in machine learning algorithms and model deployment
- **Government Contract Experience**: Successfully delivered 25+ projects for federal agencies with 98% on-time delivery rate
- **Security Compliance**: Existing FedRAMP Moderate authorization and comprehensive security framework
- **Innovation Leadership**: Recognized industry leaders in AI advancement with 15+ patents in machine learning

## Competitive Advantages

Our approach differentiates us through innovative methodologies, proven delivery capabilities, and deep domain expertise. We've successfully implemented similar solutions that achieved 99.2% accuracy rates while maintaining strict security and compliance requirements.

We are committed to delivering superior outcomes on time and within budget, backed by our track record of excellence and innovation in the AI/ML space.`,
            'technical-approach': `# Technical Approach

## Solution Architecture

Our technical approach leverages a modern, scalable architecture designed specifically for government requirements. The solution employs microservices architecture with containerized deployment, ensuring flexibility, maintainability, and security.

### Core Components

1. **AI/ML Processing Engine**: Advanced machine learning pipeline built on TensorFlow and PyTorch
2. **Data Processing Layer**: Robust ETL processes with real-time and batch processing capabilities
3. **Security Framework**: End-to-end encryption with role-based access controls
4. **API Gateway**: RESTful and GraphQL APIs with comprehensive documentation

## Implementation Methodology

We employ Agile development practices with DevSecOps integration, ensuring continuous delivery while maintaining security and quality standards.

### Development Phases

**Phase 1: Foundation (Months 1-2)**
- Infrastructure setup and security configuration
- Core API development and testing
- Initial ML model training and validation

**Phase 2: Core Development (Months 3-5)**
- Feature implementation and integration
- Advanced ML model development
- Performance optimization and testing

**Phase 3: Deployment (Months 6-7)**
- Production deployment and monitoring
- User acceptance testing
- Documentation and training delivery

## Risk Mitigation

Our comprehensive risk management approach includes:
- Redundant system architecture for high availability
- Automated testing and continuous integration
- Regular security assessments and compliance audits
- Dedicated DevOps team for infrastructure management`,
            'management-approach': `# Management Approach

## Project Management Framework

We employ a proven project management methodology combining Agile practices with traditional government contracting requirements. Our approach ensures transparency, accountability, and successful delivery.

### Team Structure

**Project Manager**: Certified PMP with 10+ years federal contract experience
**Technical Lead**: PhD Computer Science with AI/ML specialization
**Security Officer**: CISSP certified with FedRAMP experience
**Quality Assurance Lead**: 15+ years software testing experience

### Communication Strategy

- **Daily Standups**: Team coordination and issue resolution
- **Weekly Status Reports**: Detailed progress updates to stakeholders
- **Monthly Executive Reviews**: High-level progress and milestone assessment
- **Quarterly Business Reviews**: Strategic alignment and planning sessions

## Quality Management

Our quality assurance process includes:
- Automated testing with 90%+ code coverage
- Peer code reviews for all deliverables
- Continuous integration and deployment pipelines
- Regular security and compliance audits

## Risk Management Process

1. **Risk Identification**: Proactive risk assessment and monitoring
2. **Risk Analysis**: Impact and probability evaluation
3. **Risk Mitigation**: Preventive measures and contingency planning
4. **Risk Monitoring**: Continuous tracking and reporting`
        };
        const content = mockContent[section.id] || `# ${section.title}

This section will contain detailed content for ${section.title}. Our AI-powered content generation system will create comprehensive, tailored content based on the specific RFP requirements and competitive analysis.

Key elements will include:
- Detailed technical specifications
- Proven methodologies and best practices
- Relevant past performance examples
- Compliance with all requirements
- Strategic competitive positioning

The content will be optimized for government evaluators and designed to maximize our competitive advantage while demonstrating clear understanding of the requirements.`;
        const wordCount = content.split(' ').length;
        const confidence = 0.75 + Math.random() * 0.2;
        return {
            content,
            wordCount,
            confidence,
            requirements: [
                'Address all technical requirements',
                'Include relevant past performance',
                'Demonstrate compliance approach',
                'Provide detailed methodology'
            ],
            recommendations: [
                'Consider adding more quantified outcomes',
                'Include visual diagrams for clarity',
                'Expand on risk mitigation strategies',
                'Add more specific technical details'
            ]
        };
    };
    const editSection = (section) => {
        setSelectedSection(section);
        setEditedContent(section.content);
        onOpen();
    };
    const saveEdits = () => {
        if (selectedSection) {
            setSections(prev => prev.map(s => s.id === selectedSection.id
                ? {
                    ...s,
                    content: editedContent,
                    wordCount: editedContent.split(' ').length
                }
                : s));
            onClose();
        }
    };
    const getConfidenceColor = (confidence) => {
        if (confidence >= 0.8)
            return 'green';
        if (confidence >= 0.6)
            return 'yellow';
        return 'red';
    };
    const getStatusIcon = (status) => {
        switch (status) {
            case 'completed': return (0, jsx_runtime_1.jsx)(icons_1.CheckIcon, { color: "green.500" });
            case 'generating': return (0, jsx_runtime_1.jsx)(react_2.Spinner, { size: "sm" });
            case 'error': return (0, jsx_runtime_1.jsx)(icons_1.WarningIcon, { color: "red.500" });
            default: return (0, jsx_runtime_1.jsx)(icons_1.TimeIcon, { color: "gray.500" });
        }
    };
    const totalWordCount = sections.reduce((sum, section) => sum + section.wordCount, 0);
    const completedSections = sections.filter(s => s.status === 'completed').length;
    const averageConfidence = sections.length > 0
        ? sections.reduce((sum, s) => sum + s.confidence, 0) / sections.length
        : 0;
    return ((0, jsx_runtime_1.jsxs)(react_2.Box, { className: className, p: 6, children: [(0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 6, align: "stretch", children: [(0, jsx_runtime_1.jsxs)(react_2.HStack, { justify: "space-between", align: "center", children: [(0, jsx_runtime_1.jsx)(react_2.Heading, { size: "lg", children: "AI Content Generation" }), (0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 3, children: [(0, jsx_runtime_1.jsx)(react_2.Button, { leftIcon: (0, jsx_runtime_1.jsx)(icons_1.ViewIcon, {}), variant: "outline", size: "sm", children: "Preview" }), (0, jsx_runtime_1.jsx)(react_2.Button, { leftIcon: (0, jsx_runtime_1.jsx)(icons_1.DownloadIcon, {}), variant: "outline", size: "sm", onClick: () => onExportRequest?.('pdf'), children: "Export PDF" })] })] }), (0, jsx_runtime_1.jsxs)(react_2.SimpleGrid, { columns: { base: 1, md: 4 }, spacing: 4, children: [(0, jsx_runtime_1.jsx)(react_2.Card, { children: (0, jsx_runtime_1.jsxs)(react_2.CardBody, { children: [(0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: "gray.600", children: "Sections" }), (0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "2xl", fontWeight: "bold", children: [completedSections, "/", sections.length] })] }) }), (0, jsx_runtime_1.jsx)(react_2.Card, { children: (0, jsx_runtime_1.jsxs)(react_2.CardBody, { children: [(0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: "gray.600", children: "Total Words" }), (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "2xl", fontWeight: "bold", children: totalWordCount.toLocaleString() })] }) }), (0, jsx_runtime_1.jsx)(react_2.Card, { children: (0, jsx_runtime_1.jsxs)(react_2.CardBody, { children: [(0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: "gray.600", children: "Avg Confidence" }), (0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "2xl", fontWeight: "bold", color: `${getConfidenceColor(averageConfidence)}.500`, children: [(averageConfidence * 100).toFixed(0), "%"] })] }) }), (0, jsx_runtime_1.jsx)(react_2.Card, { children: (0, jsx_runtime_1.jsxs)(react_2.CardBody, { children: [(0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: "gray.600", children: "Status" }), (0, jsx_runtime_1.jsx)(react_2.Badge, { colorScheme: isGenerating ? 'blue' : completedSections === sections.length ? 'green' : 'gray', children: isGenerating ? 'Generating' : completedSections === sections.length ? 'Complete' : 'Pending' })] }) })] }), (0, jsx_runtime_1.jsxs)(react_2.Tabs, { variant: "enclosed", colorScheme: "blue", children: [(0, jsx_runtime_1.jsxs)(react_2.TabList, { children: [(0, jsx_runtime_1.jsx)(react_2.Tab, { children: "Content Sections" }), (0, jsx_runtime_1.jsx)(react_2.Tab, { children: "Configuration" }), (0, jsx_runtime_1.jsx)(react_2.Tab, { children: "Quality Review" })] }), (0, jsx_runtime_1.jsxs)(react_2.TabPanels, { children: [(0, jsx_runtime_1.jsx)(react_2.TabPanel, { children: (0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 4, align: "stretch", children: [(0, jsx_runtime_1.jsx)(react_2.Card, { children: (0, jsx_runtime_1.jsxs)(react_2.CardBody, { children: [(0, jsx_runtime_1.jsxs)(react_2.HStack, { justify: "space-between", align: "center", children: [(0, jsx_runtime_1.jsxs)(react_2.VStack, { align: "start", spacing: 1, children: [(0, jsx_runtime_1.jsx)(react_2.Text, { fontWeight: "medium", children: "AI Content Generation" }), (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: "gray.600", children: "Generate comprehensive RFP response sections using AI" })] }), (0, jsx_runtime_1.jsx)(react_2.Button, { colorScheme: "blue", onClick: generateAllSections, isLoading: isGenerating, loadingText: "Generating...", isDisabled: !opportunityData, size: "lg", children: "Generate All Sections" })] }), isGenerating && ((0, jsx_runtime_1.jsxs)(react_2.Box, { mt: 4, children: [(0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", mb: 2, children: currentStep }), (0, jsx_runtime_1.jsx)(react_2.Progress, { value: generationProgress, colorScheme: "blue" })] }))] }) }), (0, jsx_runtime_1.jsx)(react_2.Accordion, { allowMultiple: true, defaultIndex: [0], children: sections.map((section) => ((0, jsx_runtime_1.jsxs)(react_2.AccordionItem, { children: [(0, jsx_runtime_1.jsx)(react_2.AccordionButton, { children: (0, jsx_runtime_1.jsx)(react_2.Box, { flex: "1", textAlign: "left", children: (0, jsx_runtime_1.jsxs)(react_2.HStack, { justify: "space-between", width: "full", children: [(0, jsx_runtime_1.jsxs)(react_2.HStack, { children: [getStatusIcon(section.status), (0, jsx_runtime_1.jsx)(react_2.Text, { fontWeight: "medium", children: section.title }), section.wordCount > 0 && ((0, jsx_runtime_1.jsxs)(react_2.Badge, { variant: "outline", fontSize: "xs", children: [section.wordCount, " words"] }))] }), (0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 2, children: [section.confidence > 0 && ((0, jsx_runtime_1.jsxs)(react_2.Badge, { colorScheme: getConfidenceColor(section.confidence), fontSize: "xs", children: [(section.confidence * 100).toFixed(0), "% confidence"] })), (0, jsx_runtime_1.jsx)(react_2.AccordionIcon, {})] })] }) }) }), (0, jsx_runtime_1.jsx)(react_2.AccordionPanel, { pb: 4, children: section.status === 'completed' ? ((0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 4, align: "stretch", children: [(0, jsx_runtime_1.jsx)(react_2.Box, { p: 4, bg: "gray.50", borderRadius: "md", maxHeight: "300px", overflowY: "auto", children: (0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "sm", whiteSpace: "pre-wrap", children: [section.content.substring(0, 500), section.content.length > 500 && '...'] }) }), section.recommendations.length > 0 && ((0, jsx_runtime_1.jsxs)(react_2.Alert, { status: "info", children: [(0, jsx_runtime_1.jsx)(react_2.AlertIcon, {}), (0, jsx_runtime_1.jsxs)(react_2.Box, { children: [(0, jsx_runtime_1.jsx)(react_2.AlertTitle, { fontSize: "sm", children: "Recommendations:" }), (0, jsx_runtime_1.jsx)(react_2.List, { spacing: 1, fontSize: "sm", children: section.recommendations.slice(0, 2).map((rec, idx) => ((0, jsx_runtime_1.jsxs)(react_2.ListItem, { children: [(0, jsx_runtime_1.jsx)(react_2.ListIcon, { as: icons_1.InfoIcon, color: "blue.500" }), rec] }, idx))) })] })] })), (0, jsx_runtime_1.jsxs)(react_2.HStack, { justify: "flex-end", spacing: 2, children: [(0, jsx_runtime_1.jsx)(react_2.Button, { size: "sm", leftIcon: (0, jsx_runtime_1.jsx)(icons_1.EditIcon, {}), onClick: () => editSection(section), children: "Edit" }), (0, jsx_runtime_1.jsx)(react_2.Button, { size: "sm", variant: "outline", leftIcon: (0, jsx_runtime_1.jsx)(icons_1.ViewIcon, {}), children: "Full View" })] })] })) : section.status === 'generating' ? ((0, jsx_runtime_1.jsxs)(react_2.Box, { textAlign: "center", py: 8, children: [(0, jsx_runtime_1.jsx)(react_2.Spinner, {}), (0, jsx_runtime_1.jsxs)(react_2.Text, { mt: 2, fontSize: "sm", color: "gray.600", children: ["Generating content for ", section.title, "..."] })] })) : ((0, jsx_runtime_1.jsx)(react_2.Box, { textAlign: "center", py: 8, children: (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: "gray.600", children: "Content will be generated when you start the AI generation process" }) })) })] }, section.id))) })] }) }), (0, jsx_runtime_1.jsx)(react_2.TabPanel, { children: (0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 6, align: "stretch", children: [(0, jsx_runtime_1.jsx)(react_2.Heading, { size: "md", children: "Generation Configuration" }), (0, jsx_runtime_1.jsxs)(react_2.SimpleGrid, { columns: { base: 1, md: 2 }, spacing: 6, children: [(0, jsx_runtime_1.jsxs)(react_2.FormControl, { children: [(0, jsx_runtime_1.jsx)(react_2.FormLabel, { children: "AI Model" }), (0, jsx_runtime_1.jsxs)(react_2.Select, { value: config.model, onChange: (e) => setConfig(prev => ({ ...prev, model: e.target.value })), children: [(0, jsx_runtime_1.jsx)("option", { value: "gpt-4", children: "GPT-4 (Recommended)" }), (0, jsx_runtime_1.jsx)("option", { value: "gpt-3.5-turbo", children: "GPT-3.5 Turbo" }), (0, jsx_runtime_1.jsx)("option", { value: "claude-2", children: "Claude 2" })] })] }), (0, jsx_runtime_1.jsxs)(react_2.FormControl, { children: [(0, jsx_runtime_1.jsx)(react_2.FormLabel, { children: "Writing Style" }), (0, jsx_runtime_1.jsxs)(react_2.Select, { value: config.writingStyle, onChange: (e) => setConfig(prev => ({ ...prev, writingStyle: e.target.value })), children: [(0, jsx_runtime_1.jsx)("option", { value: "technical", children: "Technical" }), (0, jsx_runtime_1.jsx)("option", { value: "executive", children: "Executive" }), (0, jsx_runtime_1.jsx)("option", { value: "balanced", children: "Balanced" })] })] }), (0, jsx_runtime_1.jsxs)(react_2.FormControl, { children: [(0, jsx_runtime_1.jsx)(react_2.FormLabel, { children: "Target Length" }), (0, jsx_runtime_1.jsxs)(react_2.Select, { value: config.targetLength, onChange: (e) => setConfig(prev => ({ ...prev, targetLength: e.target.value })), children: [(0, jsx_runtime_1.jsx)("option", { value: "concise", children: "Concise" }), (0, jsx_runtime_1.jsx)("option", { value: "standard", children: "Standard" }), (0, jsx_runtime_1.jsx)("option", { value: "detailed", children: "Detailed" })] })] }), (0, jsx_runtime_1.jsxs)(react_2.FormControl, { children: [(0, jsx_runtime_1.jsx)(react_2.FormLabel, { children: "Creativity (Temperature)" }), (0, jsx_runtime_1.jsxs)(react_2.Slider, { value: config.temperature, onChange: (value) => setConfig(prev => ({ ...prev, temperature: value })), min: 0.1, max: 1.0, step: 0.1, children: [(0, jsx_runtime_1.jsx)(react_2.SliderTrack, { children: (0, jsx_runtime_1.jsx)(react_2.SliderFilledTrack, {}) }), (0, jsx_runtime_1.jsx)(react_2.SliderThumb, {})] }), (0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "sm", color: "gray.600", children: ["Current: ", config.temperature] })] })] }), (0, jsx_runtime_1.jsxs)(react_2.SimpleGrid, { columns: { base: 1, md: 2 }, spacing: 6, children: [(0, jsx_runtime_1.jsxs)(react_2.FormControl, { display: "flex", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(react_2.FormLabel, { htmlFor: "enhancement", mb: "0", children: "Enable AI Enhancement" }), (0, jsx_runtime_1.jsx)(react_2.Switch, { id: "enhancement", isChecked: config.enableEnhancement, onChange: (e) => setConfig(prev => ({ ...prev, enableEnhancement: e.target.checked })) })] }), (0, jsx_runtime_1.jsxs)(react_2.FormControl, { display: "flex", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(react_2.FormLabel, { htmlFor: "visuals", mb: "0", children: "Include Visual Elements" }), (0, jsx_runtime_1.jsx)(react_2.Switch, { id: "visuals", isChecked: config.includeVisuals, onChange: (e) => setConfig(prev => ({ ...prev, includeVisuals: e.target.checked })) })] })] })] }) }), (0, jsx_runtime_1.jsx)(react_2.TabPanel, { children: (0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 4, align: "stretch", children: [(0, jsx_runtime_1.jsx)(react_2.Heading, { size: "md", children: "Quality Review & Recommendations" }), completedSections > 0 ? ((0, jsx_runtime_1.jsx)(react_2.VStack, { spacing: 4, align: "stretch", children: sections
                                                        .filter(s => s.status === 'completed')
                                                        .map((section) => ((0, jsx_runtime_1.jsxs)(react_2.Card, { variant: "outline", children: [(0, jsx_runtime_1.jsx)(react_2.CardHeader, { children: (0, jsx_runtime_1.jsxs)(react_2.HStack, { justify: "space-between", children: [(0, jsx_runtime_1.jsx)(react_2.Text, { fontWeight: "medium", children: section.title }), (0, jsx_runtime_1.jsxs)(react_2.Badge, { colorScheme: getConfidenceColor(section.confidence), children: [(section.confidence * 100).toFixed(0), "% Quality Score"] })] }) }), (0, jsx_runtime_1.jsx)(react_2.CardBody, { children: section.recommendations.length > 0 && ((0, jsx_runtime_1.jsx)(react_2.List, { spacing: 2, children: section.recommendations.map((rec, idx) => ((0, jsx_runtime_1.jsxs)(react_2.ListItem, { fontSize: "sm", children: [(0, jsx_runtime_1.jsx)(react_2.ListIcon, { as: icons_1.StarIcon, color: "blue.500" }), rec] }, idx))) })) })] }, section.id))) })) : ((0, jsx_runtime_1.jsxs)(react_2.Alert, { status: "info", children: [(0, jsx_runtime_1.jsx)(react_2.AlertIcon, {}), (0, jsx_runtime_1.jsx)(react_2.AlertDescription, { children: "Quality review will be available after content generation is complete." })] }))] }) })] })] })] }), (0, jsx_runtime_1.jsxs)(react_2.Modal, { isOpen: isOpen, onClose: onClose, size: "6xl", children: [(0, jsx_runtime_1.jsx)(react_2.ModalOverlay, {}), (0, jsx_runtime_1.jsxs)(react_2.ModalContent, { children: [(0, jsx_runtime_1.jsxs)(react_2.ModalHeader, { children: ["Edit ", selectedSection?.title] }), (0, jsx_runtime_1.jsx)(react_2.ModalCloseButton, {}), (0, jsx_runtime_1.jsx)(react_2.ModalBody, { children: (0, jsx_runtime_1.jsx)(react_2.Textarea, { value: editedContent, onChange: (e) => setEditedContent(e.target.value), rows: 20, fontFamily: "monospace", fontSize: "sm" }) }), (0, jsx_runtime_1.jsxs)(react_2.ModalFooter, { children: [(0, jsx_runtime_1.jsx)(react_2.Button, { variant: "ghost", mr: 3, onClick: onClose, children: "Cancel" }), (0, jsx_runtime_1.jsx)(react_2.Button, { colorScheme: "blue", onClick: saveEdits, children: "Save Changes" })] })] })] })] }));
};
exports.RFPContentGenerator = RFPContentGenerator;
exports.default = exports.RFPContentGenerator;
//# sourceMappingURL=RFPContentGenerator.js.map