All Projects → curvenote → components

curvenote / components

Licence: MIT license
Components for interactive scientific writing, reactive documents and explorable explanations.

Programming Languages

typescript
32286 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to components

Smart Webcomponents
Web Components & Custom Elements for Professional Web Applications
Stars: ✭ 110 (+243.75%)
Mutual labels:  material-ui, web-components
Idyll
Create explorable explanations and interactive essays.
Stars: ✭ 1,848 (+5675%)
Mutual labels:  writing, explorable-explanations
idyll-studio
A graphical editor for creating Idyll documents.
Stars: ✭ 63 (+96.88%)
Mutual labels:  writing, explorable-explanations
Jqwidgets
Angular, Vue, React, Web Components, Blazor, Javascript, jQuery and ASP .NET Framework,
Stars: ✭ 227 (+609.38%)
Mutual labels:  material-ui, web-components
blog
blog posts & source code.
Stars: ✭ 44 (+37.5%)
Mutual labels:  material-ui
gatsby-starter
Gatsby Starter for creating portfolio & blog.
Stars: ✭ 55 (+71.88%)
Mutual labels:  material-ui
stencil-lerna
A starter kit for developing PWAs in a lerna monorepo including a web-component design-system in Typescript.
Stars: ✭ 47 (+46.88%)
Mutual labels:  web-components
React-Hue
🎨 A Material color palette tool based on Meteor, React, Material UI.
Stars: ✭ 45 (+40.63%)
Mutual labels:  material-ui
io-dev
IO Dev is a portfolio website to showcase the work and projects I have created
Stars: ✭ 22 (-31.25%)
Mutual labels:  material-ui
tufte-pandoc-jekyll
A Jekyll theme for using Tufte CSS with Jekyll + Pandoc
Stars: ✭ 56 (+75%)
Mutual labels:  writing
react-typescript-boilerplate
A React + Redux + TypeScript + HOT + Webpack + Material-UI + Sass boilerplate
Stars: ✭ 18 (-43.75%)
Mutual labels:  material-ui
playlist-randomizer
A small React app that makes use of Redux, React Router and Material UI
Stars: ✭ 32 (+0%)
Mutual labels:  material-ui
blog
an Octopress blog by Jake Zimmerman
Stars: ✭ 12 (-62.5%)
Mutual labels:  writing
react-crud-icons
57 SVG icons for CRUD applications, packaged as a React component with light & dark themes and tooltip.
Stars: ✭ 19 (-40.62%)
Mutual labels:  material-ui
Portfolio
A Next.js & Material UI portfolio that stylizes markdown files from the GitHub API and Contentful CMS.
Stars: ✭ 18 (-43.75%)
Mutual labels:  material-ui
react-material-ui-datatable
Material UI Datatable in React way
Stars: ✭ 24 (-25%)
Mutual labels:  material-ui
Tech-Writing-Linktree
✨ tech writer portfolio in the style of linktree ✨
Stars: ✭ 26 (-18.75%)
Mutual labels:  writing
Chromecast
Chromecast desktop app: Node.js, Electron, React & Material-UI.
Stars: ✭ 49 (+53.13%)
Mutual labels:  material-ui
focus-trap
A lightweight web component that traps focus within a DOM node
Stars: ✭ 44 (+37.5%)
Mutual labels:  web-components
material-ui-Link-within-MenuItem
Example for how to use `react-router/Link` within `material-ui/MenuItem`
Stars: ✭ 19 (-40.62%)
Mutual labels:  material-ui

curvenote.dev

@curvenote/components

iooax/components on npm MIT License Documentation

The goal of components is to provide web-components for interactive scientific writing, reactive documents and explorable explanations. This library provides ways to create, update and display variables as dynamic text and modify them with buttons, inputs, sliders, switches, and dropdowns.

The curvenote/components project is heavily inspired by tangle.js, re-imagined to use web-components! This means you can declaratively write your variables and how to display them in html markup. To get an idea of what that looks like, let's take the canonical example of Tangled Cookies - a simple reactive document.

How many calories in that cookie?

<r-var name="cookies" value="3" format=".4"></r-var>
<r-var name="caloriesPerCookie" value="50"></r-var>
<r-var name="dailyCalories" value="2100"></r-var>

<r-var name="calories" :value="cookies * caloriesPerCookie" format=".0f"></r-var>
<r-var name="dailyPercent" :value="calories / dailyCalories" format=".0%"></r-var>

<p>
  When you eat <r-dynamic bind="cookies" min="2" max="100">cookies</r-dynamic>,
  you consume <r-display bind="calories"></r-display> calories.<br>
  That's <r-display bind="dailyPercent"></r-display> of your recommended daily calories.
</p>

Getting Started

Ink is based on web-components, which creates custom HTML tags so that they can make writing documents easier. To get started, copy the built javascript file to the head of your page:

<script src="https://unpkg.com/@curvenote/components"></script>

You can also download the latest release from GitHub. If you are running this without a web server, ensure the script has charset="utf-8" in the script tag. You can also install from npm:

>> npm install @curvenote/components

You should then be able to extend the package as you see fit:

import components from '@curvenote/components';

Note that the npm module does not setup the @curvenote/runtime store, nor does it register the components. See the curvenote.ts file for what the built package does to setup the store and register the components.

Basic Components

  • r-var
  • r-display
  • r-dynamic
  • r-range
  • r-action
  • r-button
  • r-switch
  • r-checkbox
  • r-radio
  • r-select
  • r-input
  • r-visible

Documentation

See https://curvenote.dev/components for full documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].