File size: 1,277 Bytes
bc20498
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { createScrollArea } from "@melt-ui/svelte";
import { getContext, setContext } from "svelte";
import { removeUndefined, getOptionUpdater, createBitAttrs } from "../../internal/index.js";
function getScrollAreaData() {
    const NAME = "scroll-area";
    const SCROLLBAR_NAME = "scrollbar";
    const PARTS = [
        "scrollbar-x",
        "scrollbar-y",
        "thumb-x",
        "thumb-y",
        "viewport",
        "content",
        "root",
        "corner",
    ];
    return { NAME, PARTS, SCROLLBAR_NAME };
}
export function setCtx(props) {
    const { NAME, PARTS } = getScrollAreaData();
    const getAttrs = createBitAttrs(NAME, PARTS);
    const scrollArea = { ...createScrollArea(removeUndefined(props)), getAttrs };
    setContext(NAME, scrollArea);
    return {
        ...scrollArea,
        updateOption: getOptionUpdater(scrollArea.options),
    };
}
export function getCtx() {
    const { NAME } = getScrollAreaData();
    return getContext(NAME);
}
export function setScrollbarOrientation(orientation) {
    const { SCROLLBAR_NAME } = getScrollAreaData();
    return setContext(SCROLLBAR_NAME, orientation);
}
export function getScrollbarOrientation() {
    const { SCROLLBAR_NAME } = getScrollAreaData();
    return getContext(SCROLLBAR_NAME);
}