diff --git a/docs/src/examples/components/Marker/line.svelte b/docs/src/examples/components/Marker/line.svelte
index 804013672..8f0f50d4c 100644
--- a/docs/src/examples/components/Marker/line.svelte
+++ b/docs/src/examples/components/Marker/line.svelte
@@ -17,7 +17,7 @@
})
);
- const markerTypes = ['arrow', 'triangle', 'dot', 'circle', 'circle-stroke', 'line'] as const;
+ const markerTypes = ['arrow', 'triangle', 'dot', 'circle', 'circle-stroke', 'line', 'square', 'square-stroke'] as const;
export { data };
diff --git a/docs/src/examples/components/Marker/spline.svelte b/docs/src/examples/components/Marker/spline.svelte
index fe33c70c3..02892b8b0 100644
--- a/docs/src/examples/components/Marker/spline.svelte
+++ b/docs/src/examples/components/Marker/spline.svelte
@@ -17,7 +17,7 @@
phase: 0
});
- const markerTypes = ['arrow', 'triangle', 'dot', 'circle', 'circle-stroke', 'line'] as const;
+ const markerTypes = ['arrow', 'triangle', 'dot', 'circle', 'circle-stroke', 'line', 'square', 'square-stroke'] as const;
const motion = $derived(config.tweened ? 'tween' : 'none');
const data = $derived(
diff --git a/packages/layerchart/src/lib/components/Marker.svelte b/packages/layerchart/src/lib/components/Marker.svelte
index 2efb45266..2bdcf5d5d 100644
--- a/packages/layerchart/src/lib/components/Marker.svelte
+++ b/packages/layerchart/src/lib/components/Marker.svelte
@@ -8,7 +8,7 @@
*
* Pass `children` to render a custom element/component inside the marker instead.
*/
- type?: 'arrow' | 'triangle' | 'line' | 'circle' | 'circle-stroke' | 'dot';
+ type?: 'arrow' | 'triangle' | 'line' | 'circle' | 'circle-stroke' | 'dot' | 'square' | 'square-stroke';
/**
* Unique identifier for the marker
@@ -117,6 +117,8 @@
{:else if type === 'line'}
+ {:else if type === 'square' || type === 'square-stroke'}
+
{/if}
@@ -128,6 +130,7 @@
&[data-type='arrow'],
&[data-type='circle-stroke'],
+ &[data-type='square-stroke'],
&[data-type='line'] {
fill: none;
stroke: context-stroke;
@@ -141,11 +144,13 @@
&[data-type='triangle'],
&[data-type='dot'],
- &[data-type='circle'] {
+ &[data-type='circle'],
+ &[data-type='square'] {
fill: context-stroke;
}
- &[data-type='circle-stroke'] {
+ &[data-type='circle-stroke'],
+ &[data-type='square-stroke'] {
fill: var(--color-surface-100, light-dark(white, black));
}
}