aboutsummaryrefslogtreecommitdiff
path: root/source/library/components/Splitter.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'source/library/components/Splitter.svelte')
-rw-r--r--source/library/components/Splitter.svelte22
1 files changed, 21 insertions, 1 deletions
diff --git a/source/library/components/Splitter.svelte b/source/library/components/Splitter.svelte
index f4138f2..73d0e10 100644
--- a/source/library/components/Splitter.svelte
+++ b/source/library/components/Splitter.svelte
@@ -1,13 +1,27 @@
<script lang="ts">
type Props = {
+ label?: string;
+ max?: number;
+ min?: number;
onDrag: (dx: number, dy: number) => void;
onDragEnd?: () => void;
onDragStart?: () => void;
onKeyAdjust?: (delta: number) => void;
orientation: "horizontal" | "vertical";
+ value?: number;
};
- let { onDrag, onDragEnd, onDragStart, onKeyAdjust, orientation }: Props = $props();
+ let {
+ label,
+ max,
+ min,
+ onDrag,
+ onDragEnd,
+ onDragStart,
+ onKeyAdjust,
+ orientation,
+ value
+ }: Props = $props();
let dragging = $state(false);
let startX = $state(0);
@@ -110,8 +124,14 @@
}
</style>
+<!-- svelte-ignore a11y_no_noninteractive_tabindex -->
+<!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
<div
+ aria-label={label}
aria-orientation={orientation}
+ aria-valuemax={max}
+ aria-valuemin={min}
+ aria-valuenow={value}
class="splitter {orientation}"
class:dragging
onkeydown={onKeydown}