summaryrefslogtreecommitdiffstats
path: root/src/ui/layouts/SplitView.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/layouts/SplitView.tsx')
-rw-r--r--src/ui/layouts/SplitView.tsx27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/ui/layouts/SplitView.tsx b/src/ui/layouts/SplitView.tsx
new file mode 100644
index 0000000..81a55d1
--- /dev/null
+++ b/src/ui/layouts/SplitView.tsx
@@ -0,0 +1,27 @@
1import type { HTMLTag, Polymorphic } from "corvos/plugins/jsx.ts";
2
3export type Props<Tag extends HTMLTag> = Polymorphic<{
4 "as": Tag;
5 "gapless"?: boolean;
6 "wrap-reverse"?: boolean;
7}>;
8
9export const SplitView = <T extends HTMLTag = "div">({
10 as: Tag = "div" as T,
11 gapless,
12 "wrap-reverse": wrapReverse,
13 class: cls,
14 ...props
15}: Props<T>) => (
16 <Tag
17 class:list={[
18 "l-split-view",
19 {
20 "l-split-view--gapless": gapless,
21 "l-split-view--wrap-reverse": wrapReverse,
22 },
23 cls,
24 ]}
25 {...props}
26 />
27);