Skip to content

ntshvicky/VikCarft-Pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠 VikCraft Pro

A suite of 5 professional, zero-framework browser component libraries
DataTable · Gantt Chart · Charts · PDF Editor · 3D Annotator

npm license node


📦 Packages

Package Version Description npm
vikcraft-datatable v3 Interactive data table with virtual scroll, freeze, themes → npm
vikcraft-gantt v2 Full-featured Gantt chart with critical path, drag & drop → npm
vikcraft-charts v2 Canvas 2D charts + Three.js 3D charts, 6 themes → npm
vikcraft-pdf-editor v2 Browser PDF annotation editor with AI features → npm
vikcraft-3d-annotator v4 Professional 3D model annotator built on Three.js → npm

🚀 Quick Install

Install any package individually:

npm install vikcraft-datatable
npm install vikcraft-gantt
npm install vikcraft-charts
npm install vikcraft-pdf-editor
npm install vikcraft-3d-annotator

Or install all at once:

npm install vikcraft-datatable vikcraft-gantt vikcraft-charts vikcraft-pdf-editor vikcraft-3d-annotator

🌐 CDN Usage (no npm required)

All packages are available instantly via unpkg and jsDelivr:

<!-- DataTable -->
<link  rel="stylesheet" href="https://unpkg.com/vikcraft-datatable/vikcraft-data-table.css">
<script src="https://unpkg.com/vikcraft-datatable/vikcraft-data-table.js"></script>

<!-- Gantt -->
<link  rel="stylesheet" href="https://unpkg.com/vikcraft-gantt/vikcraft-gantt-styles.css">
<script src="https://unpkg.com/vikcraft-gantt/vikcraft-gantt-script.js"></script>

<!-- Charts (2D) -->
<link  rel="stylesheet" href="https://unpkg.com/vikcraft-charts/vikcraft-chart.css">
<script src="https://unpkg.com/vikcraft-charts/vikcraft-chart.js"></script>

<!-- PDF Editor -->
<link  rel="stylesheet" href="https://unpkg.com/vikcraft-pdf-editor/VikCraftPDFEditor.css">
<script type="module" src="https://unpkg.com/vikcraft-pdf-editor/VikCraftPDFEditor.js"></script>

<!-- 3D Annotator -->
<link  rel="stylesheet" href="https://unpkg.com/vikcraft-3d-annotator/vikcraft-3d-annotator.css">
<script type="module" src="https://unpkg.com/vikcraft-3d-annotator/vikcraft-3d-annotator.js"></script>

1. vikcraft-datatable

Interactive data table — virtual scrolling, column/row freeze, themes, export.

Install

npm install vikcraft-datatable

Features

  • ✅ Virtual scrolling (100k+ rows)
  • ✅ Column & row freezing
  • ✅ Multi-column sort + debounced global search
  • ✅ Column-level filters (string, number, date)
  • ✅ Inline cell editing (text, number, dropdown, checkbox)
  • ✅ Column resizing & reordering
  • ✅ Row selection (single / multi / select-all)
  • ✅ CSV export, clipboard copy, print
  • ✅ 6 built-in themes: dark light blue green ocean carbon
  • ✅ Column groups / spanning headers
  • ✅ Row numbers, fullscreen mode, status bar
  • ✅ Keyboard navigation

Usage — Script Tag

<link  rel="stylesheet" href="node_modules/vikcraft-datatable/vikcraft-data-table.css">
<script src="node_modules/vikcraft-datatable/vikcraft-data-table.js"></script>

<div id="my-table"></div>

<script>
  const table = new VikCraftDataTable('#my-table', {
    data: [
      { id: 1, name: 'Alice', role: 'Engineer', salary: 95000 },
      { id: 2, name: 'Bob',   role: 'Designer', salary: 75000 },
    ],
    columns: [
      { key: 'id',     label: 'ID',     type: 'number', width: 60,  sortable: true },
      { key: 'name',   label: 'Name',   type: 'string', sortable: true, filterable: true, editable: true },
      { key: 'role',   label: 'Role',   type: 'string', sortable: true, filterable: true },
      { key: 'salary', label: 'Salary', type: 'number', sortable: true,
        render: (v) => '$' + v.toLocaleString() },
    ],
    pageSize:    25,
    theme:       'dark',
    selectable:  true,
    showRowNumbers: true,
  });
</script>

Usage — ES Module / Bundler (Vite, Webpack)

import VikCraftDataTable from 'vikcraft-datatable';
import 'vikcraft-datatable/vikcraft-data-table.css';

const table = new VikCraftDataTable('#my-table', { data, columns });

Configuration Options

Option Type Default Description
data Array [] Row data array
columns Array [] Column definitions (see below)
pageSize number 25 Rows per page
theme string 'dark' dark / light / blue / green / ocean / carbon
editable boolean false Enable inline editing
selectable boolean false Enable row selection checkboxes
showRowNumbers boolean false Show row index column
virtualScroll boolean false Enable virtual scroll for large datasets
frozenColumns number 0 Columns to freeze from left
frozenRows number 0 Rows to freeze from top

Column Definition

{
  key:        'price',
  label:      'Price (USD)',
  type:       'number',           // 'string' | 'number' | 'date' | 'boolean'
  width:      120,
  sortable:   true,
  filterable: true,
  editable:   true,
  editType:   'number',           // 'text' | 'number' | 'dropdown' | 'checkbox'
  editOptions: [],                // required for 'dropdown'
  frozen:     false,
  render:     (val, row) => `$${val.toFixed(2)}`,
}

API

table.setData(newData)         // Replace all data
table.setTheme('ocean')        // Change theme at runtime
table.exportCSV()              // Download as CSV
table.copyToClipboard()        // Copy to clipboard
table.getSelectedRows()        // → Array of selected row objects
table.clearSelection()         // Deselect all
table.destroy()                // Remove from DOM

2. vikcraft-gantt

Feature-rich Gantt Chart — multi-level hierarchy, critical path, drag & drop, AI chat.

Install

npm install vikcraft-gantt

Features

  • ✅ Multi-level task hierarchy (unlimited depth)
  • ✅ Dual-tab view: Task timeline & User/resource view
  • ✅ Drag-and-drop task resizing & moving
  • ✅ Critical path highlighting
  • ✅ Predecessor / successor / lag dependencies
  • ✅ Today line & milestone markers
  • ✅ PDF and Excel export
  • ✅ AI chat assistant (Anthropic API)
  • ✅ Fullscreen mode
  • ✅ 6 built-in themes
  • ✅ Keyboard navigation
  • ✅ Day / Week / Month / Quarter / Year zoom

Usage — Script Tag

<link  rel="stylesheet" href="node_modules/vikcraft-gantt/vikcraft-gantt-styles.css">
<script src="node_modules/vikcraft-gantt/vikcraft-gantt-script.js"></script>

<div id="my-gantt" style="height: 600px;"></div>

<script>
  const tasks = [
    { id: 1, name: 'Planning',     start: '2025-01-01', end: '2025-01-10', progress: 100 },
    { id: 2, name: 'Design',       start: '2025-01-11', end: '2025-01-25', progress: 80, depends: [1] },
    { id: 3, name: 'Development',  start: '2025-01-26', end: '2025-03-15', progress: 45, depends: [2] },
    { id: 4, name: '  Frontend',   start: '2025-01-26', end: '2025-02-28', progress: 60, parent: 3 },
    { id: 5, name: '  Backend',    start: '2025-02-01', end: '2025-03-15', progress: 30, parent: 3 },
    { id: 6, name: 'Testing',      start: '2025-03-16', end: '2025-03-31', progress: 0,  depends: [3], milestone: false },
    { id: 7, name: 'Launch 🚀',    start: '2025-04-01', end: '2025-04-01', progress: 0,  milestone: true },
  ];

  const gantt = new VikCraftGantt('my-gantt', tasks, {
    theme:           'dark',
    scale:           'week',
    showCriticalPath: true,
    showToday:        true,
  });
</script>

Usage — ES Module / Bundler

import VikCraftGantt from 'vikcraft-gantt';
import 'vikcraft-gantt/vikcraft-gantt-styles.css';

const gantt = new VikCraftGantt('my-gantt', tasks, options);

Task Object

{
  id:        1,
  name:      'Task Name',
  start:     '2025-01-01',   // YYYY-MM-DD
  end:       '2025-01-15',
  progress:  50,             // 0–100
  depends:   [1, 2],         // predecessor task IDs
  parent:    null,           // parent task ID (for subtasks)
  assignee:  'Alice',
  milestone: false,
  color:     '#3b82f6',
}

Configuration Options

Option Type Default Description
theme string 'dark' dark / light / blue / green / carbon / ocean
scale string 'week' day / week / month / quarter / year
showCriticalPath boolean true Highlight critical path
showToday boolean true Show vertical today line
ai object null { apiKey: 'sk-ant-...' } to enable AI chat

API

gantt.setTasks(newTasks)    // Replace tasks
gantt.setTheme('ocean')     // Change theme
gantt.setScale('month')     // Change time scale
gantt.exportPDF()           // Download PDF
gantt.exportExcel()         // Download Excel
gantt.scrollToToday()       // Scroll to current date
gantt.destroy()             // Remove from DOM

3. vikcraft-charts

Canvas 2D charts + Three.js 3D charts — 10 chart types, 6 themes, animations.

Install

npm install vikcraft-charts
# For 3D charts (optional):
npm install three

Features

2D Charts (canvas, no dependencies)

  • ✅ Bar, Horizontal Bar, Line, Area, Pie, Doughnut, Radar, Scatter, Mixed (Bar+Line)
  • ✅ 6 themes: dark light blue ocean carbon green
  • ✅ Smart tick algorithm, gradient fills, rounded bars
  • ✅ Staggered animation, crosshair tooltip
  • ✅ Reference lines, glow lines
  • update() / setTheme() / destroy() API

3D Charts (requires three peer dependency)

  • ✅ 3D Bar, 3D Scatter, 3D Line / Surface
  • ✅ Full Three.js scene with OrbitControls & CSS2D labels

Usage — 2D Chart

<link  rel="stylesheet" href="node_modules/vikcraft-charts/vikcraft-chart.css">
<script src="node_modules/vikcraft-charts/vikcraft-chart.js"></script>

<canvas id="myChart" width="800" height="400"></canvas>

<script>
  const chart = new VikCraft('#myChart', {
    type:  'bar',
    theme: 'dark',
    data: {
      labels:   ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
      datasets: [
        { label: 'Revenue', data: [12000, 19000, 8000, 24000, 17000, 21000], color: '#3b82f6' },
        { label: 'Expenses', data: [9000, 14000, 6000, 18000, 12000, 15000], color: '#f85149' },
      ]
    },
    options: {
      title:   'Monthly Performance',
      yAxis:   { label: 'USD' },
      animate: true,
    }
  });

  // Update data at runtime
  chart.update({ labels: [...], datasets: [...] });
</script>

Usage — 3D Chart

<script type="importmap">
{ "imports": { "three": "https://unpkg.com/three@0.160.0/build/three.module.js",
               "three/addons/": "https://unpkg.com/three@0.160.0/examples/jsm/" } }
</script>

<script type="module">
  import VikCraft3D from 'node_modules/vikcraft-charts/vikcraft-chart-3d.js';

  const chart = new VikCraft3D('#container', {
    type: '3d-bar',
    data: {
      labels:   ['Q1', 'Q2', 'Q3', 'Q4'],
      datasets: [{ label: 'Sales', data: [300, 450, 380, 520] }]
    }
  });
</script>

Usage — Bundler

import VikCraft   from 'vikcraft-charts';
import VikCraft3D from 'vikcraft-charts/vikcraft-chart-3d.js';
import 'vikcraft-charts/vikcraft-chart.css';

Chart Types

Type Description
bar Vertical bar chart
bar-h Horizontal bar chart
line Line chart
area Filled area chart
pie Pie chart
doughnut Doughnut / ring chart
radar Radar / spider chart
scatter Scatter / bubble chart
mixed Combined bar + line
3d-bar 3D bar chart (VikCraft3D)
3d-scatter 3D scatter plot (VikCraft3D)

API

chart.update(newData)     // Refresh with new data
chart.setTheme('ocean')   // Switch theme
chart.resize()            // Manual resize trigger
chart.destroy()           // Remove and clean up

4. vikcraft-pdf-editor

Full-featured browser PDF annotation editor — PDF.js + Fabric.js + AI features.

Install

npm install vikcraft-pdf-editor

Peer Dependencies (loaded via CDN by default)

npm install pdfjs-dist fabric jspdf

Features

  • ✅ Render & paginate PDFs (PDF.js)
  • 10 annotation tools: Pen, Rectangle, Ellipse, Arrow, Line, Text Box, Stamp, Comment Pin, Cloud, Measurement
  • ✅ Category tagging & comment sidebar with search/filter
  • ✅ 50-step undo / redo
  • ✅ Export annotated PDF with all marks baked in at correct positions
  • ✅ Zoom in/out with perfect annotation alignment
  • ✅ Right-click context menu with AI review
  • AI features (Anthropic API):
    • 💡 Auto page hints bar
    • 🔍 Find missing engineering issues
    • 🎯 Review annotation quality
    • 🤖 Per-annotation AI review
  • ✅ 6 themes

Usage — Script Tag

<link rel="stylesheet" href="node_modules/vikcraft-pdf-editor/VikCraftPDFEditor.css">

<!-- Peer deps via CDN -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.4.120/pdf.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/5.3.1/fabric.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>

<div id="pdf-editor" style="width:100%; height:90vh;"></div>

<script type="module">
  import VikCraftPDFEditor from 'node_modules/vikcraft-pdf-editor/VikCraftPDFEditor.js';

  const editor = new VikCraftPDFEditor('pdf-editor', {
    pdfUrl:      './document.pdf',
    pdfjsLib:    window.pdfjsLib,
    fabric:      window.fabric,
    jsPDF:       window.jspdf.jsPDF,
    mode:        'edit',          // 'edit' | 'view'
    currentUser: 'Engineer',
    // ai: { apiKey: 'sk-ant-...' },  // enable AI features
  });
</script>

Usage — Bundler

import VikCraftPDFEditor from 'vikcraft-pdf-editor';
import 'vikcraft-pdf-editor/VikCraftPDFEditor.css';
import * as pdfjsLib from 'pdfjs-dist';
import * as fabric   from 'fabric';
import { jsPDF }     from 'jspdf';

const editor = new VikCraftPDFEditor('pdf-editor', {
  pdfUrl: './doc.pdf', pdfjsLib, fabric, jsPDF,
});

Configuration Options

Option Type Default Description
pdfUrl string URL or path to PDF
pdfjsLib object Required. PDF.js library
fabric object Required. Fabric.js library
jsPDF class Required. jsPDF constructor
mode string 'edit' 'edit' or 'view'
currentUser string 'User' Username on annotation cards
ai object null { apiKey: 'sk-ant-...' }

API

editor.loadPdf(url)              // Load a new PDF
editor.downloadAnnotatedPdf()    // Export PDF with annotations baked in
editor.getAnnotations()          // → array of annotation objects
editor.setAnnotations(array)     // Restore saved annotations
editor.setMode('view')           // Switch mode
editor.getCurrentMode()          // → 'edit' | 'view'
editor.on('annotationAdded', fn) // Subscribe to events
editor.destroy()                 // Clean up

Annotation Data Shape

{
  id:         "vc-anno-1713000000000",
  tool:       "rect",           // pen|rect|ellipse|arrow|line|text|stamp|pin|cloud|measure
  category:   "Safety",
  comment:    "Check weld here",
  page:       1,
  fabricData: { ... },          // Fabric.js object JSON (position, size, color…)
  createdAt:  "2026-04-15T10:00:00Z",
  user:       "Engineer"
}

5. vikcraft-3d-annotator

Professional 3D model annotation library — 7 tools, CSS2D labels, AI review, undo/redo.

Install

npm install vikcraft-3d-annotator three

Features

  • 7 annotation tools: Pin · Arrow · Callout · Measure · Text Label · Stamp · Cloud Region
  • ✅ CSS2D labels that billboard-track in 3D space at all camera angles
  • 7 stamp types: APPROVED · REJECTED · FOR REVIEW · DRAFT · VOID · REVISED
  • 8 categories: Note · Safety · Design · Dimension · Quality · Question · Action · Reference
  • ✅ Measurement tool with live preview line (metric & imperial)
  • ✅ 50-step undo / redo (Ctrl+Z / Ctrl+Y)
  • ✅ Model Explorer — browse scene hierarchy, select/highlight meshes
  • ✅ Post-processing outline selection (OutlinePass)
  • ✅ View modes: Default · Wireframe · X-Ray
  • ✅ Camera presets: Front · Top · Right · ISO · Fit to Model
  • ✅ Drag-and-drop GLB / GLTF model loading
  • ✅ JSON export + screenshot export
  • AI Assistant (Anthropic API): summarize · find issues · review quality · suggest comments
  • ✅ Keyboard shortcuts for all 10 tools
  • ✅ 3 modes: Edit · Comment · View

Usage — HTML + Import Map

<!-- Required CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css">
<link rel="stylesheet" href="node_modules/vikcraft-3d-annotator/vikcraft-3d-annotator.css">

<!-- Three.js import map -->
<script type="importmap">
{
  "imports": {
    "three":         "https://unpkg.com/three@0.160.0/build/three.module.js",
    "three/addons/": "https://unpkg.com/three@0.160.0/examples/jsm/"
  }
}
</script>

<div id="viewer" style="width:100%; height:90vh;"></div>

<script type="module">
  import { VikCraft3DAnnotator }              from 'node_modules/vikcraft-3d-annotator/vikcraft-3d-annotator.js';
  import * as THREE                           from 'three';
  import { OrbitControls }                   from 'three/addons/controls/OrbitControls.js';
  import { GLTFLoader }                      from 'three/addons/loaders/GLTFLoader.js';
  import { EffectComposer }                  from 'three/addons/postprocessing/EffectComposer.js';
  import { RenderPass }                      from 'three/addons/postprocessing/RenderPass.js';
  import { OutlinePass }                     from 'three/addons/postprocessing/OutlinePass.js';
  import { OutputPass }                      from 'three/addons/postprocessing/OutputPass.js';
  import { TransformControls }               from 'three/addons/controls/TransformControls.js';
  import { CSS2DRenderer, CSS2DObject }      from 'three/addons/renderers/CSS2DRenderer.js';

  const viewer = new VikCraft3DAnnotator('viewer', {
    // Three.js deps (all required)
    THREE, OrbitControls, EffectComposer, RenderPass, OutlinePass,
    OutputPass, TransformControls, CSS2DRenderer, CSS2DObject,
    gltfLoader: new GLTFLoader(),

    // Model
    modelUrl:    './model.glb',

    // Settings
    mode:         'edit',        // 'edit' | 'comment' | 'view'
    currentUser:  'Engineer',
    sceneUnitScale: 1,           // 1 unit = 1 meter
    displayUnits: 'metric',      // 'metric' | 'imperial'

    // AI (optional)
    // ai: { apiKey: 'sk-ant-...', model: 'claude-opus-4-5' },

    // Callbacks
    onModelLoaded:       ()   => viewer.loadAnnotations(saved),
    onAnnotationAdded:   (a)  => api.save(a),
    onAnnotationUpdated: (a)  => api.update(a),
    onAnnotationDeleted: (id) => api.delete(id),
  });
</script>

Configuration Options

Option Type Default Description
THREE Module Required. Three.js core
OrbitControls Class Required. Camera orbit
gltfLoader Instance Required. GLTFLoader
EffectComposer + passes Classes Required. Post-processing
TransformControls Class Required. Model gizmo
CSS2DRenderer, CSS2DObject Classes Required. 3D HTML labels
modelUrl string null Auto-load GLB/GLTF on init
mode string 'edit' 'edit' / 'comment' / 'view'
currentUser string 'Guest' User shown on cards
sceneUnitScale number 1 Unit → meter multiplier
displayUnits string 'metric' 'metric' or 'imperial'
ai object null { apiKey, model }

API

viewer.loadModel(url)             // Load model programmatically
viewer.loadAnnotations(array)     // Restore saved annotations
viewer.getAnnotations()           // → copy of annotations array
viewer.setTool(name)              // 'navigate'|'pin'|'arrow'|'callout'|'measure'|'text'|'stamp'|'cloud'|'erase'
viewer.setMode(mode)              // 'edit' | 'comment' | 'view'
viewer.setView(preset)            // 'front'|'top'|'right'|'iso'
viewer.setViewMode(mode)          // 'default' | 'wireframe' | 'xray'
viewer.fitToModel()               // Zoom to fit model
viewer.undo()                     // Undo (also Ctrl+Z)
viewer.redo()                     // Redo (also Ctrl+Y)
viewer.clearAllAnnotations()      // Delete all annotations
viewer.clearAllMeasurements()     // Delete only measurements
viewer.toggleGrid()               // Toggle grid helper
viewer.toggleAxes()               // Toggle axes helper
viewer.destroy()                  // Tear down renderer + DOM

Annotation Data Shape

{
  id:           "a3d-1713000000000-abc",
  type:         "pin",              // pin|arrow|callout|measure|text|stamp|cloud
  points:       [[x, y, z], ...],   // world-space coordinates
  normal:       [0, 1, 0],
  comment:      "Crack visible on edge",
  category:     "Safety",
  color:        "#E53935",
  opacity:      1.0,
  stampLabel:   "FOR REVIEW",       // stamp type only
  measureLabel: "12.40 cm",         // measure type only
  user:         "Engineer",
  createdAt:    "2026-04-15T10:00:00.000Z"
}

Keyboard Shortcuts

Key Action Key Action
N Navigate M Measure
P Pin X Text Label
A Arrow S Stamp
C Callout L Cloud Region
E Erase T Transform
Ctrl+Z Undo Ctrl+Y Redo
Delete Delete selected Esc Cancel / Navigate

🗂 Repository Structure

vikcraft-pro/
├── datatable/                  ← vikcraft-datatable npm package
│   ├── package.json
│   ├── vikcraft-data-table.js
│   ├── vikcraft-data-table.css
│   └── README.md
├── gantt/                      ← vikcraft-gantt npm package
│   ├── package.json
│   ├── vikcraft-gantt-script.js
│   ├── vikcraft-gantt-styles.css
│   └── README.md
├── charts/                     ← vikcraft-charts npm package
│   ├── package.json
│   ├── vikcraft-chart.js
│   ├── vikcraft-chart-3d.js
│   ├── vikcraft-chart.css
│   └── README.md
├── pdf/                        ← vikcraft-pdf-editor npm package
│   ├── package.json
│   ├── VikCraftPDFEditor.js
│   ├── VikCraftPDFEditor.css
│   └── README.md
├── model3d/                    ← vikcraft-3d-annotator npm package
│   ├── package.json
│   ├── vikcraft-3d-annotator.js
│   ├── vikcraft-3d-annotator.css
│   └── README.md
├── package.json                ← root (dev server + publish scripts)
└── README.md                   ← this file

🖥 Local Development Server

# Clone / download the repo, then:
cd vikcraft-pro
npm run dev

Opens on http://localhost:3000 — full demo with all 5 components.

URL Page
http://localhost:3000 Home
http://localhost:3000/datatable DataTable demo
http://localhost:3000/gantt Gantt demo
http://localhost:3000/charts Charts demo
http://localhost:3000/pdf PDF Editor demo
http://localhost:3000/model3d 3D Annotator demo

🔁 Publishing to npm

# Login once
npm login

# Publish all 5 packages
npm run publish:all

# Or publish individually
npm run publish:datatable
npm run publish:gantt
npm run publish:charts
npm run publish:pdf
npm run publish:3d

🤖 AI Features

Three libraries have optional Anthropic Claude AI integration:

Library AI Capabilities
vikcraft-gantt Natural-language chat about your project schedule
vikcraft-pdf-editor Page hints · Find missing issues · Review annotation quality · Per-annotation review
vikcraft-3d-annotator Summarize all annotations · Find unaddressed issues · Review comment quality · Suggest comments

Enable by passing ai: { apiKey: 'sk-ant-...' } to any constructor.


📄 License

MIT © 2026 VikCraft Pro

All 5 packages are free to use in personal and commercial projects.

About

A suite of 5 professional., zero-framework browser component libraries. DataTable · Gantt Chart · Charts · PDF Editor · 3D Annotator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors