Components

screenshot of Components
express
material-ui

Components for interactive scientific writing, reactive documents and explorable explanations.

Overview

Curvenote's components library is an innovative tool designed for interactive scientific writing and explorable explanations. This sleek package is built on the concept of web components, allowing users to easily create, manage, and display dynamic variables in their documents. By combining custom HTML tags with interactive elements, it streamlines the process of crafting engaging and informative content.

With a focus on ease of use, the library encourages a declarative approach to writing documents, making it as simple as integrating a few lines of code to enhance interactivity. Whether you're a researcher looking to present data or an educator wanting to make complex concepts more accessible, this tool offers an intuitive way to visualize and manipulate information.

Features

  • Dynamic Variables: Create and manipulate variables that change the content of your document in real-time, enhancing interactivity for readers.

  • Interactive Elements: Incorporates buttons, sliders, inputs, switches, and dropdowns, allowing for a wide range of user interactions to capture reader interest.

  • Declarative Syntax: Write your variables and display settings directly in HTML markup, making it straightforward to integrate into existing documents.

  • Inspired by Tangle.js: Reimagined for modern applications, this library draws inspiration from Tangle.js, ensuring a familiar yet refreshed experience for users accustomed to that environment.

  • Easy Setup: Begin using the components library quickly by incorporating a simple JavaScript file in the head of your page or through npm installation, simplifying deployment.

  • Custom HTML Tags: Leverage custom HTML tags that promote cleaner code and a more intuitive development experience while writing scientific documents.

  • Full Documentation: Comprehensive documentation is available, providing guidance on all aspects of the library to help users maximize their experience.

Curvenote's components library is a powerful solution that unlocks the potential of scientific writing through rich interactivity.

express
Express

Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.

material-ui
Material UI

material-ui adds classes to Tailwind CSS for all common UI components. Classes like btn, card, etc. This allows us to focus on important things instead of making basic elements for every project.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

Redux

Redux is a state management library for JavaScript apps that provides a predictable and centralized way to manage application state. It enables developers to write actions and reducers that update the state in response to user interactions, server responses, and other events, and can be used with a variety of front-end frameworks and back-end technologies.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.

web-components
Web Components

Web components provide a way to create reusable, encapsulated UI components using standard web technologies such as HTML, CSS, and JavaScript. They allow developers to create complex UI components that can be easily shared across multiple projects and frameworks. Web components are built using four main specifications: Custom Elements, Shadow DOM, HTML Templates, and ES Modules.

webpack
Webpack

Webpack is a popular open-source module bundler for JavaScript applications that bundles and optimizes the code and its dependencies for production-ready deployment. It can also be used to transform other types of assets such as CSS, images, and fonts.