Skip to content

mhkeller/layercake

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2149602 Β· Oct 19, 2024
Jun 21, 2024
Jun 21, 2024
Sep 24, 2024
Oct 19, 2024
Sep 19, 2024
Jun 22, 2024
Jan 26, 2020
Mar 6, 2023
Mar 12, 2023
Jun 22, 2024
Jun 21, 2024
Oct 19, 2024
Mar 9, 2024
Jun 21, 2024
Jun 22, 2024
Jun 21, 2024
Oct 19, 2024
Oct 19, 2024
Sep 20, 2024
Jan 5, 2023

Repository files navigation

Layer Cake layercake-logo

a framework for mostly-reusable graphics with svelte

Tests badges npm version npm

🍰 See examples 🍰 Read the guide 🍰 API docs 🍰 View the Component Gallery 🍰 Try the starter template

Svelte versions

Works with Svelte 3 through 5. Note the library itself does not use runes but it is compatible with Svelte 5. This will change in future versions.

Install

npm install --save layercake

Example

<script>
  // The library provides a main wrapper component
  // and a bunch empty layout components...
  import { LayerCake, Svg, Html, Canvas } from 'layercake';

  // ...that you fill with your own chart components,
  // that live inside your project and which you
  // can copy and paste from here as starting points.
  import AxisX from './components/AxisX.svelte';
  import AxisY from './components/AxisY.svelte';
  import Line from './components/Line.svelte';
  import Scatter from './components/Scatter.svelte';
  import Labels from './components/Labels.svelte';

  const data = [
    { x: 0, y: 1 },
    { x: 1, y: 2 },
    { x: 2, y: 3 }
  ];
</script>

<style>
  .chart-container {
    width: 100%;
    height: 500px;
  }
</style>

<div class="chart-container">
  <LayerCake
    x='x'
    y='y'
    {data}
  >
    <Svg>
      <AxisX/>
      <AxisY/>
      <Line color='#f0c'/>
    </Svg>

    <Canvas>
      <Scatter color='#0fc'/>
    </Canvas>

    <Html>
      <Labels/>
    </Html>
  </LayerCake>
</div>

License

MIT