{"version":3,"file":"x.mjs","names":["props: ThumbXProps","p: ThumbXProps"],"sources":["../../../src/components/thumb/x.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ViewProps } from \"react-native\";\n\nimport * as React from \"react\";\nimport { Animated, View } from \"react-native\";\n\nimport { useScrollCore } from \"#/contexts/scrollcore\";\nimport { getComponentProps } from \"#/functions/props\";\nimport { useThumbXHandler } from \"#/hooks/thumb\";\n\n/** Props for the `ThumbX` component. */\ntype ThumbXProps = ViewProps & {\n    ref?: React.Ref<View>;\n};\n\n/** Horizontal thumb component. */\nconst ThumbX = (props: ThumbXProps): React.JSX.Element => {\n    const {\n        options: { animated, plugins },\n        x: { setHvThumb, scrollbarLength, scrollbarOffset },\n    } = useScrollCore();\n\n    const p: ThumbXProps = getComponentProps({\n        name: \"thumbX\",\n        props,\n        plugins,\n    });\n\n    React.useEffect((): void => {\n        setHvThumb(true);\n    }, [\n        setHvThumb,\n    ]);\n\n    const { panResponder } = useThumbXHandler();\n\n    if (animated) {\n        return (\n            <Animated.View\n                {...p}\n                {...panResponder.panHandlers}\n                ref={p.ref}\n                style={[\n                    p.style,\n                    {\n                        width: Number.isNaN(scrollbarLength)\n                            ? 0\n                            : scrollbarLength,\n                        left: Number.isNaN(scrollbarOffset)\n                            ? 0\n                            : scrollbarOffset,\n                    },\n                ]}\n            >\n                {p.children}\n            </Animated.View>\n        );\n    }\n\n    return (\n        <View\n            {...p}\n            {...panResponder.panHandlers}\n            ref={p.ref}\n            style={[\n                p.style,\n                {\n                    width: Number.isNaN(scrollbarLength) ? 0 : scrollbarLength,\n                    left: Number.isNaN(scrollbarOffset) ? 0 : scrollbarOffset,\n                },\n            ]}\n        >\n            {p.children}\n        </View>\n    );\n};\n\nexport type { ThumbXProps };\nexport { ThumbX };\n"],"mappings":";;;;;;;;;;;AAiBA,MAAM,SAAS,CAACA,UAA0C;CACtD,MAAM,EACF,SAAS,EAAE,UAAU,SAAS,EAC9B,GAAG,EAAE,YAAY,iBAAiB,iBAAiB,EACtD,GAAG,eAAe;CAEnB,MAAMC,IAAiB,kBAAkB;EACrC,MAAM;EACN;EACA;CACH,EAAC;CAEF,MAAM,UAAU,MAAY;EACxB,WAAW,KAAK;CACnB,GAAE,CACC,UACH,EAAC;CAEF,MAAM,EAAE,cAAc,GAAG,kBAAkB;AAE3C,KAAI,SACA,4BACK,SAAS;EACN,GAAI;EACJ,GAAI,aAAa;EACjB,KAAK,EAAE;EACP,OAAO,CACH,EAAE,OACF;GACI,OAAO,OAAO,MAAM,gBAAgB,GAC9B,IACA;GACN,MAAM,OAAO,MAAM,gBAAgB,GAC7B,IACA;EACT,CACJ;YAEA,EAAE;GACS;AAIxB,4BACK;EACG,GAAI;EACJ,GAAI,aAAa;EACjB,KAAK,EAAE;EACP,OAAO,CACH,EAAE,OACF;GACI,OAAO,OAAO,MAAM,gBAAgB,GAAG,IAAI;GAC3C,MAAM,OAAO,MAAM,gBAAgB,GAAG,IAAI;EAC7C,CACJ;YAEA,EAAE;GACA;AAEd"}