Infographic Creator
Run ID: 69cd1ffb3e7fb09ff16a823a2026-04-01Design
PantheraHive BOS
BOS Dashboard

This document outlines the detailed design requirements and specifications for the "Infographic Creator" tool, serving as the foundational blueprint for its development. The goal is to create a robust, intuitive, and professional platform that empowers users to transform complex data and information into compelling visual narratives.


Infographic Creator: Design Requirements & Specifications

1. Project Overview & Goal

The "Infographic Creator" aims to provide a user-friendly, powerful, and versatile online tool for generating professional-grade infographics. It will enable users, regardless of their design expertise, to create visually engaging and informative content quickly and efficiently.

Core Objectives:

  • Ease of Use: Simplify the infographic creation process with intuitive drag-and-drop functionality.
  • Professional Output: Ensure all generated infographics are high-quality, visually appealing, and suitable for various professional contexts.
  • Versatility: Support a wide range of content types, data visualizations, and customization options.
  • Efficiency: Streamline workflows with templates, asset libraries, and quick editing features.

2. Target Audience

The Infographic Creator is designed for a broad audience that needs to communicate information visually, including:

  • Marketing Professionals: Creating engaging content for campaigns, social media, and presentations.
  • Business Analysts: Visualizing data, trends, and reports for internal and external stakeholders.
  • Educators & Students: Designing educational materials, project summaries, and research findings.
  • Content Creators & Bloggers: Enhancing articles and posts with compelling visuals.
  • Small Business Owners: Developing promotional materials and explaining services/products.
  • Non-designers: Individuals who need professional visuals without extensive graphic design software knowledge.

3. Core Functionality & Design Requirements

The platform will offer the following key functionalities:

  • Template Library: A rich collection of professionally designed, customizable templates across various categories (e.g., process, timeline, comparison, data visualization, resumes).
  • Drag-and-Drop Editor: An intuitive canvas-based editor for arranging elements, resizing, rotating, and layering.
  • Text Editor: Comprehensive text styling options (fonts, sizes, colors, alignment, line height, letter spacing).
  • Shape & Icon Library: A diverse collection of vector shapes, lines, arrows, and scalable icons.
  • Image & Media Management:

* Upload custom images (JPG, PNG, SVG).

* Basic image editing (crop, resize, opacity, filters).

* Integration with stock image libraries (future consideration).

  • Data Visualization Tools:

* Creation of various chart types (bar, line, pie, donut, area, scatter, bubble, radar).

* Data input via manual entry, CSV upload, or copy-paste.

* Customization of chart colors, labels, axes, and legends.

  • Color & Branding:

* Extensive color palette options, including custom color picker (HEX, RGB).

* Ability to save custom brand color palettes.

  • Collaboration Features (Future Consideration): Sharing projects, commenting, and real-time co-editing.
  • Export & Sharing:

* High-resolution export options: PNG, JPG, PDF (print-ready), SVG.

* Embed code for websites and blogs.

* Direct sharing to social media platforms.

  • Project Management: Dashboard to view, edit, duplicate, and delete existing infographic projects.

4. Detailed Design Specifications

4.1. Wireframe Descriptions (Key Screens)

A. Dashboard / My Projects Screen

  • Layout: Left sidebar for navigation (Home, Templates, My Infographics, Account Settings). Main content area displaying project cards.
  • Components:

* Header: Logo, "Create New Infographic" button, Search bar.

* Project Cards: Each card displays a thumbnail preview, title, creation/last modified date, and options (Edit, Duplicate, Download, Delete, Share).

* Filtering/Sorting: Options to filter by category, sort by date/name.

* "Create New" Button: Prominently placed, leading to Template Browser or a blank canvas.

B. Template Browser Screen

  • Layout: Left sidebar for template categories (e.g., Business, Education, Marketing, Timelines, Data). Main content area displaying template thumbnails.
  • Components:

* Search Bar: For finding specific templates.

* Category Filters: Dynamic filtering of templates.

* Template Previews: Large, clear thumbnails with template names. Hovering over a template shows a "Preview" and "Use Template" button.

* "Use Template" Action: Loads the selected template into the Infographic Editor.

C. Infographic Editor Screen

  • Layout:

* Top Toolbar: Global actions (Undo/Redo, Save, Project Name, Preview, Export, Share).

* Left Panel (Asset & Layer Management):

* Tabs for: Text, Shapes, Icons, Images, Charts, Layers.

* Search functionality within each asset tab.

* Drag-and-drop assets onto the canvas.

* Layers panel for managing element stacking order, visibility, and locking.

* Central Canvas: The main workspace where the infographic is built.

* Zoom controls, pan functionality.

* Grid lines and snap-to-grid/object for precise alignment.

* Contextual right-click menu for selected elements (Copy, Paste, Bring to Front, Send to Back, Group, Ungroup).

* Right Panel (Properties Panel): Context-sensitive panel displaying properties of the currently selected element(s).

* Text: Font family, size, color, weight (bold/italic), alignment, line height, letter spacing, text box dimensions.

* Shapes/Icons: Color (fill/stroke), stroke weight, opacity, dimensions, rotation, corner radius (for rectangles).

* Images: Crop, resize, opacity, filters (grayscale, sepia, blur), replace image.

* Charts: Chart type selector, data input (table/CSV), color palette for series, axis labels, legend visibility, title.

* Canvas Properties (when nothing is selected): Background color/image, canvas dimensions.

* Bottom Bar (Optional): Page navigation for multi-page infographics, zoom level indicator.

D. Data Input Module (Integrated within Editor for Charts)

  • Layout: Modal window or integrated section within the Right Panel.
  • Components:

* Data Table: Spreadsheet-like interface for manual data entry.

* Import Options: Buttons for "Upload CSV" or "Paste Data."

* Chart Type Selector: Dropdown or visual icons for different chart types.

* Data Mapping: Drag-and-drop fields to X/Y axes, series, etc.

* Preview: Small real-time preview of the chart as data is entered/modified.

* "Apply" / "Cancel" buttons.

4.2. Color Palettes

A. UI / Brand Palette (for the Infographic Creator platform itself):

  • Primary (Brand Color): #2A9D8F (Teal/Deep Mint) - Professional, fresh, trustworthy.
  • Secondary (Accent/CTA): #E76F51 (Terracotta/Burnt Orange) - Energetic, draws attention, warm.
  • Neutral Dark (Text/Icons): #264653 (Dark Slate Blue) - Strong contrast, readable.
  • Neutral Light (Backgrounds/Borders): #F4F6F8 (Light Grey/Off-White) - Clean, minimalist, provides breathing room.
  • Highlight: #E9C46A (Saffron Yellow) - For subtle emphasis or warnings.

B. Content / Data Visualization Palettes (Examples for user-selectable options):

  • Modern Professional: #4A90E2, #50E3C2, #F5A623, #BD10E0, #7ED321 (Vibrant, distinct, high contrast).
  • Soft & Serene: #A8DADC, #457B9D, #F4A261, #E76F51, #2A9D8F (Harmonious, calming).
  • Bold & Energetic: #FF6B6B, #FFD166, #06D6A0, #118AB2, #073B4C (High impact, dynamic).
  • Recommendation: Provide a curated library of 5-10 pre-defined, aesthetically pleasing, and WCAG-compliant color palettes for data visualization, along with a custom color picker for full flexibility.

4.3. Typography

  • Primary Font (Headings & UI Elements): Montserrat (Sans-serif)

* Purpose: Strong, modern, highly legible. Good for titles, subtitles, and key UI labels.

* Weights: Semibold (600) for main headings, Bold (700) for very prominent titles, Regular (400) for sub-headings.

  • Secondary Font (Body Text & Data Labels): Roboto (Sans-serif)

* Purpose: Highly readable, clean, and versatile for body paragraphs, descriptions, and data labels.

* Weights: Regular (400) for body text, Medium (500) for emphasis, Light (300) for subtle annotations.

  • Code/Monospace Font (Optional, for specific data display): Fira Code (Monospace)

* Purpose: For displaying raw data, code snippets, or specific numerical sequences where fixed-width characters are beneficial.

Typography Guidelines:

  • Hierarchy: Clear size and weight differentiation between headings, subheadings, and body text.
  • Legibility: Ensure sufficient contrast between text and background colors.
  • Consistency: Maintain consistent font usage throughout the infographic.
  • Accessibility: Adhere to WCAG guidelines for minimum font sizes and contrast ratios.

4.4. Iconography Style

  • Style: Flat or subtly outlined, modern, clean, and minimalist.
  • Consistency: All icons should maintain a consistent visual language (e.g., same stroke weight, corner radius, level of detail).
  • Scalability: Vector-based icons (SVG) to ensure crispness at any size.
  • Clarity: Icons should be immediately recognizable and convey their meaning without ambiguity.
  • Library: A comprehensive built-in library covering common categories (e.g., business, finance, nature, technology, education, arrows, social media).

4.5. Imagery & Asset Style

  • Stock Images: High-quality, diverse, and relevant stock photography or illustrations. Focus on professional, modern, and inclusive visuals.
  • Illustrations: Flat or semi-flat vector illustrations that complement the overall UI and infographic styles. Avoid overly complex or photo-realistic illustrations.
  • Shapes & Elements: A wide array of basic and abstract vector shapes, lines, arrows, speech bubbles, and decorative elements that can be easily customized (color, size, stroke).
  • User Uploads: Support for high-resolution images and vector graphics uploaded by the user, with basic editing capabilities.

5. User Experience (UX) Recommendations

  • Intuitive Interface:

* Drag-and-Drop: Core interaction for moving elements, uploading files, and arranging layers.

* Contextual Menus: Right-click menus or floating toolbars that appear when elements are selected, offering relevant actions.

* Clear Labeling: All buttons, panels, and options should be clearly labeled and easily understandable.

  • Real-time Feedback:

* Instant visual updates on the canvas as changes are made (e.g., color changes, resizing).

* Progress indicators for loading, saving, and exporting operations.

  • Undo/Redo History: A robust, multi-level undo/redo system to allow users to revert changes easily.
  • Onboarding & Guidance:

* Interactive Tutorial: A brief, optional walkthrough for first-time users highlighting key features.

gemini Output

This document outlines the detailed design specifications for the "Infographic Creator," providing a comprehensive guide for its development. It covers the user interface (UI) and user experience (UX) principles, wireframe descriptions for key screens, and recommended color palettes to ensure a professional, intuitive, and visually appealing product.


1. Detailed Design Specifications

The Infographic Creator aims to empower users to easily design professional, engaging, and data-rich infographics without requiring extensive design skills.

1.1 Core Features & Functionality

  • Intuitive Drag-and-Drop Editor: A canvas-based interface allowing users to select, place, resize, rotate, and arrange elements effortlessly.
  • Extensive Template Library:

* Categories: Marketing, Data Visualization, Process Flow, Timelines, Comparisons, Educational, Health, Business Reports, etc.

* Customization: All template elements (text, icons, colors, images) must be fully editable.

  • Rich Content Element Library:

* Text: Multiple heading styles, paragraphs, lists. Customizable fonts (Google Fonts integration recommended), sizes, colors, line spacing, alignment, bold/italic/underline.

* Icons: A vast, searchable library of vector icons (e.g., Font Awesome, Noun Project integration). Customizable colors and sizes.

* Shapes: Basic geometric shapes (rectangles, circles, triangles, lines, arrows), customizable fill colors, border colors, and thickness.

* Images:

* User Uploads: Support for common image formats (JPG, PNG, SVG).

* Stock Photo Integration: Access to a curated library of high-quality stock images (e.g., Unsplash, Pexels integration).

* Editing: Cropping, resizing, opacity, basic filters (grayscale, sepia, blur).

* Charts & Graphs:

* Types: Bar charts, line graphs, pie charts, area charts, donut charts.

* Data Input: Manual entry, CSV upload, or (advanced) direct integration with spreadsheet tools (e.g., Google Sheets).

* Customization: Colors, labels, axes, data point styling.

  • Data Integration (Advanced):

* Ability to connect charts and graphs to external data sources (CSV, Google Sheets, potentially APIs) for dynamic updates.

  • Branding Kit:

* Users can upload their company logo, define brand-specific color palettes, and select preferred fonts for quick application across their designs.

  • Project Management:

* User dashboard to save, organize, duplicate, and delete infographics.

* Search and filter capabilities for projects.

  • Export Options:

* High-resolution image formats: PNG, JPG (with quality options).

* Vector format: SVG (for scalability).

* Print-ready format: PDF.

* Web Embedding: Generate embed codes for easy integration into websites/blogs.

  • Undo/Redo Functionality: Essential for design iterations.
  • Responsive Design Considerations: While creation is primarily desktop-focused, exported infographics should render well on various devices.

1.2 Design Principles

  • Simplicity: Clean, uncluttered interface to minimize cognitive load.
  • Intuitiveness: Features should be discoverable and easy to understand without extensive tutorials.
  • Consistency: Predictable behavior and visual elements across the entire application.
  • Feedback: Clear visual and textual feedback for user actions (e.g., saving, errors, element selection).
  • Performance: Smooth interactions, fast loading times, and responsive editor canvas.

2. Wireframe Descriptions

Below are descriptions for the primary screens of the Infographic Creator, outlining their layout and key components.

2.1 Dashboard / Project Management Screen

  • Header:

* [Product Logo] (Left)

* [Search Bar] (Central, for projects)

* [User Profile Icon/Menu] [Help Icon] [Upgrade/Plan Info] (Right)

  • Left Sidebar Navigation:

* [Create New Infographic Button] (Prominent CTA)

* [My Projects] (Link to saved projects)

* [Templates] (Link to template library)

* [Brand Kit] (Link to branding settings)

* [Settings]

  • Main Content Area:

* "Recent Projects" Section:

* Grid or list view of recently modified infographics.

* Each item shows [Thumbnail], [Project Name], [Last Modified Date].

* Hover actions: [Edit], [Duplicate], [Delete], [Preview].

* "Start New" Section:

* Prominent [Create from Scratch] button.

* [Browse Templates] button.

* "Popular Templates" (Optional):

* A small selection of top templates to inspire users.

2.2 Template Selection Screen

  • Header:

* [Product Logo] (Left)

* [Back to Dashboard Button] (Left)

* [Search Bar] (Central, for templates)

* [User Profile Icon/Menu] (Right)

  • Left Sidebar (Template Categories):

* [All Templates]

* [Marketing]

* [Data Visualization]

* [Process Flow]

* [Timelines]

* ... (and other categories)

  • Main Content Area:

* Grid view of [Template Thumbnails].

* Each thumbnail displays [Template Name] and a [Preview/Select Button] on hover.

* [Start from Scratch] option, possibly as a prominent card.

* Pagination or infinite scroll for numerous templates.

2.3 Infographic Editor Interface

  • Top Bar:

* [Product Logo] (Left)

* [Project Name] (Editable)

* [Save Button] (Auto-save indicator)

* [Undo] [Redo] icons

* [Preview Button]

* [Share/Export Button] (Right)

  • Left Sidebar (Asset Panel):

* Tabs: [Templates], [Text], [Icons], [Shapes], [Images], [Charts], [Uploads], [Brand Kit].

* Content within Tabs:

* Search bar for assets.

* Categories/filters for assets.

* Drag-and-drop elements onto the canvas.

  • Central Canvas Area:

* The [Infographic Workspace] where elements are placed and manipulated.

* [Zoom Controls] (Bottom right or top right of canvas).

* [Grid Lines] and [Snap-to-Grid/Guides] for precise alignment.

* Selected elements show [Resizing Handles], [Rotation Handle], and potentially a [Delete Icon].

  • Right Sidebar (Properties Panel):

* Contextual Properties: Changes based on the selected element.

* Text: Font family, size, color, alignment, bold, italic, underline, line height, letter spacing.

* Shape: Fill color, border color, border thickness, opacity.

* Image: Opacity, crop, filters, send to back/front.

* Chart: Data input (table/CSV), chart type, colors, labels, axes settings.

* Canvas Properties (when nothing is selected):

* Background color/image.

* Canvas dimensions (width, height).

* Layers Panel: List of all elements on the canvas, allowing reordering and visibility toggling.

2.4 Export / Share Modal

  • Modal Header: [Export / Share Infographic]
  • Tabs within Modal:

* [Download]

* [Share]

  • Download Tab Content:

* File Type Options: [PNG], [JPG], [PDF], [SVG] (radio buttons or dropdown).

* Quality/Resolution: [Slider] or [Dropdown] (e.g., Low, Medium, High, Custom DPI).

* Background: [Transparent Background Checkbox] (for PNG/SVG).

* [Download Button] (Primary CTA).

  • Share Tab Content:

* Link Sharing: [Toggle Public/Private Link], [Copy Link Button].

* Embed Code: [Text Area with Embed HTML/iframe code], [Copy Code Button].

* Social Media Sharing: [Icons for Facebook, Twitter, LinkedIn, Pinterest] (direct share).

* Collaboration (Optional): [Invite via Email Input], [Permission Level Select].


3. Color Palettes

We recommend distinct color palettes: one for the application's UI and several examples for infographic creation, offering users flexibility and professional aesthetic choices.

3.1 Application UI Palette (PantheraHive Brand)

A clean, modern, and professional palette that ensures readability and a pleasant user experience.

  • Primary Accent (Blue): #007BFF (A strong, trustworthy blue for primary CTAs, active states)
gemini Output

This document outlines the detailed design specifications, wireframe descriptions, color palette, and user experience (UX) recommendations for the "Infographic Creator" application. The goal is to provide a professional, intuitive, and powerful tool that enables users to create compelling infographics with ease, regardless of their design expertise.


Infographic Creator: Finalized Design Assets

1. Vision & Core Objectives

The Infographic Creator aims to empower users to transform complex data and information into visually engaging and easily digestible infographics. Our core objectives are:

  • Simplicity: Provide an intuitive drag-and-drop interface that minimizes the learning curve.
  • Power: Offer a rich set of customization options, data visualization tools, and a comprehensive asset library.
  • Efficiency: Streamline the creation process with templates, automation, and smart design suggestions.
  • Professionalism: Enable users to produce high-quality, brand-consistent outputs suitable for various platforms.

2. Core Features & Functionality

The Infographic Creator will include the following key features:

  • Template Library: A diverse collection of professionally designed, customizable infographic templates across various categories (e.g., statistics, timelines, processes, comparisons).
  • Drag-and-Drop Editor: An intuitive canvas-based editor for arranging elements, resizing, rotating, and grouping.
  • Rich Asset Library:

* Icons & Shapes: A vast library of vector icons and customizable shapes.

* Images: Stock photo integration and user image upload functionality.

* Illustrations: Curated collection of vector illustrations.

  • Data Visualization Tools:

* Chart & Graph Creator: Support for various chart types (bar, line, pie, donut, area, scatter, bubble, progress bars, etc.).

* Data Import: Manual data entry, CSV/Excel upload, and potential integration with live data sources (e.g., Google Sheets).

* Dynamic Data Mapping: Easily link data to visual elements.

  • Text & Typography: Extensive font selection, text styling options, and text box management.
  • Color & Branding:

* Custom Color Palettes: Apply custom color schemes to entire infographics or individual elements.

* Brand Kit Integration: Save and apply brand colors, fonts, and logos for consistent branding.

  • Collaboration (Optional but Recommended): Real-time editing and commenting features for team projects.
  • Export & Sharing: High-resolution export options (PNG, JPG, PDF, SVG) and direct sharing capabilities.
  • Revision History & Autosave: Automatic saving and the ability to revert to previous versions.

3. Detailed Design Specifications

3.1. Wireframe Descriptions (Key Screens)

##### A. Dashboard / Project Management Screen

  • Purpose: Overview of user's projects, access to templates, and creation of new infographics.
  • Layout:

* Header (Top):

* [Logo] on the left.

* [Search Bar] for projects and templates in the center.

* [User Profile/Settings] on the right.

* Sidebar (Left):

* [Navigation Links]: "My Projects," "Templates," "Brand Kits," "Asset Library," "Help."

* Main Content Area:

* "Create New Infographic" Section: Prominent [Button] for "Start from Scratch" and a [Carousel/Grid] showcasing popular template categories or featured templates.

* "My Projects" Section: [Grid View] of project cards. Each card displays [Infographic Thumbnail], [Project Title], [Last Modified Date], and [Options Menu] (Edit, Duplicate, Share, Delete).

  • Interaction: Clicking a project card or "Edit" opens the Editor. "Start from Scratch" opens a blank canvas. Template selection leads to the Editor with the chosen template.

##### B. Template Selection Screen (Accessed via Dashboard or Editor)

  • Purpose: Allow users to browse, filter, and select a starting template.
  • Layout:

* Header (Top): Same as Dashboard, potentially with a "Back to Dashboard" link.

* Filter & Search Bar: [Category Filters] (e.g., Business, Education, Health, Marketing), [Search Input Field], [Sort By] options.

* Template Grid: [Responsive Grid] displaying [Template Thumbnails] with [Template Title] and [Category Tag].

* "Start from Scratch" Option: A distinct [Card/Button] within the grid or prominently placed.

  • Interaction: Hovering over a thumbnail shows a [Preview Button]. Clicking a thumbnail selects it and either opens the Editor directly or prompts for confirmation.

##### C. Editor Interface (Main Workspace)

  • Purpose: The central area for designing and customizing infographics.
  • Layout:

* Top Bar:

* [Logo/Home Link]

* [Project Title (Editable)]

* [Undo/Redo Buttons]

* [Zoom Level Display/Controls]

* [Share Button]

* [Export Button]

* [User Profile/Settings]

* Left Sidebar (Tools Panel):

* [Tabbed Navigation/Accordion Menu] for different element categories:

* Templates: Browse/apply new templates.

* Text: Add [Heading], [Subheading], [Body Text] boxes.

* Images: [Upload Button], [Stock Photo Search], [My Images Library].

* Icons & Shapes: [Search Bar], [Category Filters], [Icon/Shape Thumbnails].

* Charts: [Chart Type Selection] (Bar, Line, Pie, etc.), [Add Chart Button].

* Data: [Data Import/Management] (opens a modal/panel).

* Brand Kit: Apply saved brand assets.

* Layers: [Layer Management Panel] (bring forward, send backward, lock, hide).

* Canvas Area:

* [Main Design Workspace] with [Zoom In/Out], [Pan], [Rulers], [Grids], and [Snapping Guides].

* Selected elements display [Resizing Handles], [Rotation Handle], and a [Contextual Mini-Toolbar] (duplicate, delete, bring to front, send to back).

* Right Sidebar (Properties Panel):

* Contextual Panel: Displays properties of the currently selected element(s).

* Common Properties: [Position (X, Y)], [Size (W, H)], [Rotation], [Opacity].

* Text Properties: [Font Family], [Font Size], [Font Weight], [Color], [Alignment], [Line Height], [Letter Spacing].

* Shape Properties: [Fill Color], [Border Color], [Border Width], [Corner Radius].

* Image Properties: [Crop], [Filters], [Adjustments (Brightness, Contrast)].

* Chart Properties: [Chart Type Selector], [Data Source Link], [Axis Labels], [Legend Options], [Color Scheme].

* Bottom Bar (Optional): [Page Navigation] for multi-page infographics.

##### D. Data Input/Management (Modal or Dedicated Panel)

  • Purpose: Allow users to input or import data for charts and graphs.
  • Layout:

* [Tabbed Interface]: "Manual Entry," "CSV Upload," "Connect Data Source."

* Manual Entry: [Table-like Interface] for entering data series, labels, and values. [Add Row/Column Buttons].

* CSV Upload: [File Upload Button], [Drag-and-Drop Area], [Column Mapping Interface] (map CSV columns to chart data fields).

* Connect Data Source: [Integration Options] (e.g., Google Sheets, Excel Online), [Authentication Flow].

* [Live Chart Preview] updates as data is entered/modified.

* [Confirm/Apply Button].

##### E. Export / Share Options (Modal)

  • Purpose: Provide options for downloading or sharing the completed infographic.
  • Layout:

* [Format Selection]: [Radio Buttons/Dropdown] for PNG, JPG, PDF, SVG.

* PNG/JPG Options: [Quality Slider], [Resolution/Size Input], [Transparent Background Checkbox].

* PDF Options: [Page Range], [Print Quality/Web Quality].

* SVG Options: [Embed Fonts Checkbox].

* [Preview Thumbnail] of the infographic.

* Share Options: [Generate Shareable Link], [Social Media Share Buttons], [Embed Code].

* [Download Button].

* [Close Button].

3.2. User Interface (UI) Elements

  • Buttons:

* Primary: Solid fill, rounded corners, clear call-to-action text.

* Secondary: Outline style, rounded corners.

* Tertiary/Icon Buttons: Minimalistic, used for actions within the editor.

  • Input Fields: Clean, minimal design with clear labels and placeholder text. Focus state indicated by a subtle border change or shadow.
  • Sliders: Horizontal sliders for numerical adjustments (e.g., opacity, font size).
  • Dropdowns: Standard dropdown menus for selections (e.g., font family, chart type).
  • Checkboxes/Radio Buttons: Standard, clear visual feedback for selection.
  • Tabs/Accordions: Used for organizing content in sidebars and modals.
  • Tooltips: On-hover tooltips for icon buttons and complex features.
  • Modals/Dialogs: Used for focused tasks (e.g., data input, export options) with clear headers and actions.

3.3. Typography

  • Primary Font (Headings & UI Elements): Montserrat (or similar clean, geometric sans-serif like Lato, Open Sans).

* Usage: For all main headings, navigation items, button text, and prominent UI labels.

* Weights: Bold (700), Semi-Bold (600), Regular (400).

* Sizes: H1 (36px), H2 (28px), H3 (22px), Body Large (18px), Body (16px), Small (14px).

  • Secondary Font (Body Text & Data Labels): Roboto (or similar highly readable humanist sans-serif like Noto Sans, Source Sans Pro).

* Usage: For paragraph text, detailed descriptions, data labels within charts, and smaller UI text.

* Weights: Regular (400), Light (300).

* Sizes: Body (16px), Small (14px), X-Small (12px).

  • Code/Monospace (Optional): Fira Code or Roboto Mono for any technical data display.

3.4. Iconography

  • Style: Line icons with a consistent stroke weight (1-2px) and rounded corners. Filled icons can be used for active states or primary actions.
  • Library: Utilize a comprehensive icon library (e.g., Font Awesome, Material Icons, Feather Icons) or custom-designed set for consistency.
  • Purpose: Clearly represent actions (e.g., Save, Export, Undo, Redo), categories (e.g., Text, Image, Chart), and navigation.

3.5. Imagery & Illustrations

  • Product Illustrations: Use vector-based, modern, and friendly illustrations to enhance onboarding, empty states, and marketing materials. Consistent style with the chosen icon set.
  • Stock Photography: Integrate with a high-quality stock photo library (e.g., Unsplash, Pexels) for user access. Ensure images
infographic_creator.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react' import ReactDOM from 'react-dom/client' import App from './App' import './index.css' ReactDOM.createRoot(document.getElementById('root')!).render( ) "); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react' import './App.css' function App(){ return(

"+slugTitle(pn)+"

Built with PantheraHive BOS

) } export default App "); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e} .app{min-height:100vh;display:flex;flex-direction:column} .app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px} h1{font-size:2.5rem;font-weight:700} "); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` ## Open in IDE Open the project folder in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{ "name": "'+pn+'", "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", "preview": "vite preview" }, "dependencies": { "vue": "^3.5.13", "vue-router": "^4.4.5", "pinia": "^2.3.0", "axios": "^1.7.9" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", "typescript": "~5.7.3", "vite": "^6.0.5", "vue-tsc": "^2.2.0" } } '); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': resolve(__dirname,'src') } } }) "); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]} '); zip.file(folder+"tsconfig.app.json",'{ "compilerOptions":{ "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"], "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true, "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue", "strict":true,"paths":{"@/*":["./src/*"]} }, "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"] } '); zip.file(folder+"env.d.ts","/// "); zip.file(folder+"index.html"," "+slugTitle(pn)+"
"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' import './assets/main.css' const app = createApp(App) app.use(createPinia()) app.mount('#app') "); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue"," "); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547} "); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` Open in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{ "name": "'+pn+'", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test" }, "dependencies": { "@angular/animations": "^19.0.0", "@angular/common": "^19.0.0", "@angular/compiler": "^19.0.0", "@angular/core": "^19.0.0", "@angular/forms": "^19.0.0", "@angular/platform-browser": "^19.0.0", "@angular/platform-browser-dynamic": "^19.0.0", "@angular/router": "^19.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { "@angular-devkit/build-angular": "^19.0.0", "@angular/cli": "^19.0.0", "@angular/compiler-cli": "^19.0.0", "typescript": "~5.6.0" } } '); zip.file(folder+"angular.json",'{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "'+pn+'": { "projectType": "application", "root": "", "sourceRoot": "src", "prefix": "app", "architect": { "build": { "builder": "@angular-devkit/build-angular:application", "options": { "outputPath": "dist/'+pn+'", "index": "src/index.html", "browser": "src/main.ts", "tsConfig": "tsconfig.app.json", "styles": ["src/styles.css"], "scripts": [] } }, "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"} } } } } '); zip.file(folder+"tsconfig.json",'{ "compileOnSave": false, "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]}, "references":[{"path":"./tsconfig.app.json"}] } '); zip.file(folder+"tsconfig.app.json",'{ "extends":"./tsconfig.json", "compilerOptions":{"outDir":"./dist/out-tsc","types":[]}, "files":["src/main.ts"], "include":["src/**/*.d.ts"] } '); zip.file(folder+"src/index.html"," "+slugTitle(pn)+" "); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; import { AppComponent } from './app/app.component'; bootstrapApplication(AppComponent, appConfig) .catch(err => console.error(err)); "); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; } "); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core'; import { RouterOutlet } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, imports: [RouterOutlet], templateUrl: './app.component.html', styleUrl: './app.component.css' }) export class AppComponent { title = '"+pn+"'; } "); zip.file(folder+"src/app/app.component.html","

"+slugTitle(pn)+"

Built with PantheraHive BOS

"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1} "); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { providers: [ provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes) ] }; "); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router'; export const routes: Routes = []; "); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install ng serve # or: npm start ``` ## Build ```bash ng build ``` Open in VS Code with Angular Language Service extension. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local .angular/ "); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join(" "):"# add dependencies here "; zip.file(folder+"main.py",src||"# "+title+" # Generated by PantheraHive BOS print(title+" loaded") "); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ## Run ```bash python main.py ``` "); zip.file(folder+".gitignore",".venv/ __pycache__/ *.pyc .env .DS_Store "); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+" "; zip.file(folder+"package.json",pkgJson); var fallback="const express=require("express"); const app=express(); app.use(express.json()); app.get("/",(req,res)=>{ res.json({message:""+title+" API"}); }); const PORT=process.env.PORT||3000; app.listen(PORT,()=>console.log("Server on port "+PORT)); "; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000 "); zip.file(folder+".gitignore","node_modules/ .env .DS_Store "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash npm install ``` ## Run ```bash npm run dev ``` "); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:" "+title+" "+code+" "; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */ *{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e} "); zip.file(folder+"script.js","/* "+title+" — scripts */ "); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Open Double-click `index.html` in your browser. Or serve locally: ```bash npx serve . # or python3 -m http.server 3000 ``` "); zip.file(folder+".gitignore",".DS_Store node_modules/ .env "); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/**(.+?)**/g,"$1"); hc=hc.replace(/ {2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. Files: - "+app+".md (Markdown) - "+app+".html (styled HTML) "); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); }function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}