UNPKG

@teachinglab/omd

Version:

omd

67 lines (55 loc) 2.44 kB
/** * OMD Library - Main Entry Point * * This is the main entry point for the OMD (Open Math Display) library. * It exports all core OMD components and visualization tools from a single endpoint. * * Usage: * import { omdTable, omdBalanceHanger, omdEquationNode, omdDisplay } from '@teachinglab/omd' * * Or for dynamic imports: * const { omdTable } = await import('@teachinglab/omd') */ // Export everything from the core OMD library (equations, nodes, display, etc.) export * from './omd/core/index.js'; // Export everything from the visualization components export * from './src/index.js'; // Export utility components export { omdNodeOverlay, omdNodeOverlayPresets } from './omd/utils/omdNodeOverlay.js'; // Re-export the most commonly used components for easy access export { omdTable } from './src/omdTable.js'; export { omdBalanceHanger } from './src/omdBalanceHanger.js'; export { omdCoordinatePlane } from './src/omdCoordinatePlane.js'; export { omdTapeDiagram } from './src/omdTapeDiagram.js'; // Default export combining core and visualizations export default { // Core OMD framework (from omd/core/index.js) core: () => import('./omd/core/index.js'), // Visualization components (from src/index.js) visualizations: () => import('./src/index.js'), // Direct access to most used components async createTable(config) { const { omdTable } = await import('./src/omdTable.js'); return new omdTable(config); }, async createBalanceHanger(config) { const { omdBalanceHanger } = await import('./src/omdBalanceHanger.js'); return new omdBalanceHanger(config); }, async createCoordinatePlane(config) { const { omdCoordinatePlane } = await import('./src/omdCoordinatePlane.js'); return new omdCoordinatePlane(config); }, async createTapeDiagram(config) { const { omdTapeDiagram } = await import('./src/omdTapeDiagram.js'); return new omdTapeDiagram(config); }, async createEquation(equationString) { const { omdEquationNode } = await import('./omd/core/index.js'); return omdEquationNode.fromString(equationString); }, async createDisplay(container) { const { omdDisplay } = await import('./omd/core/index.js'); return new omdDisplay(container); } };