Lume
Lume is a library for graphical representations of information and data. By using visual elements like charts, graphs, and maps, this repository provide an accessible way to see and understand trends, outliers, and patterns in data. We use Vue to all graphic elements and rely on d3.js for the calculations.
Design guidelines (Figma)
Stack
Dependencies
Dev stack
Getting started
Installation
To install Lume, run the following command:
$ npm install @adyen/lume
Components
You can import Lume components to your Vue app:
import { defineComponent } from 'vue';
import { LumeBarChart } from '@adyen/lume';
export default defineComponent({
components: { LumeBarChart },
...
});
Plugin
You can also import Lume as a Vue plugin that you install in your global Vue setup:
import Vue from 'vue';
import LumePlugin from '@adyen/lume/plugin';
import App from './my-app.vue';
Vue.use(LumePlugin);
const app = new Vue(App).$mount('#root');
Development
Quick start
Follow these steps to quickly start developing amazing data-viz components locally:
- Clone the repo
$ git clone git@github.com:Adyen/lume.git
- Install npm packages
$ npm i
- Run the local server
$ npm start
Docker
To run the app inside a Docker container:
- Create a
.env
file with your Docker image URL:
$ echo DOCKER_IMAGE={YOUR_IMAGE_HERE} >> .env
- Start your container:
$ docker compose up -d
- Attach to it in your terminal:
$ docker attach lume
Storybook
Storybook is available by running the following command:
$ npm run storybook
Every chart component should have its own .stories
file, and it will be automatically loaded onto the Storybook manager.
Available addons
Releasing
To generate a release, run:
$ npm run release
This will prompt you with an interactive CLI to create a new version, tag, changelog entry and release.
Roadmap
The charts we wish to include:
V1
Next
The following are planned for future releases:
- Violin plot
- Box plot
- Mini bar chart (Bar sparkline)
Note: Components from this list can change, so being here doesn't mean it will land on the library for sure.
Contacts
This project is currently being developed & maintained by team Lume. This includes: