{"version":3,"file":"index.mjs","names":["props: ProviderProps"],"sources":["../../../src/components/provider/index.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Format } from \"ts-vista\";\n\nimport type { Options } from \"#/@types/options\";\nimport type { ContentType } from \"#/contexts/scrollcore\";\n\nimport * as React from \"react\";\n\nimport { ScrollCoreContext } from \"#/contexts/scrollcore\";\n\n/** Props for the `Provider` component. */\ntype ProviderProps = Format<\n    Options & {\n        children?: React.ReactNode;\n    }\n>;\n\n/** Provider component. */\nconst Provider = (props: ProviderProps): React.JSX.Element => {\n    const { children, ...p } = props;\n\n    const contentTypeX = React.useRef<ContentType>(\"scrollview\");\n    const contentTypeY = React.useRef<ContentType>(\"scrollview\");\n\n    const contentRefX = React.useRef<HTMLDivElement | null>(null);\n    const contentRefY = React.useRef<HTMLDivElement | null>(null);\n\n    const [hvTrackX, setHvTrackX] = React.useState<boolean>(false);\n    const [hvThumbX, setHvThumbX] = React.useState<boolean>(false);\n    const [hvTrackY, setHvTrackY] = React.useState<boolean>(false);\n    const [hvThumbY, setHvThumbY] = React.useState<boolean>(false);\n\n    const totalX = React.useRef<number>(0);\n    const totalY = React.useRef<number>(0);\n\n    const viewX = React.useRef<number>(0);\n    const viewY = React.useRef<number>(0);\n\n    const viewOffsetX = React.useRef<number>(0);\n    const viewOffsetY = React.useRef<number>(0);\n\n    const [scrollbarLengthX, setScrollbarLengthX] = React.useState<number>(0);\n    const [scrollbarLengthY, setScrollbarLengthY] = React.useState<number>(0);\n\n    const [scrollbarOffsetX, setScrollbarOffsetX] = React.useState<number>(0);\n    const [scrollbarOffsetY, setScrollbarOffsetY] = React.useState<number>(0);\n\n    return (\n        <ScrollCoreContext\n            value={{\n                options: {\n                    ...p,\n                    disabled: p.disabled ?? false,\n                    animated: p.animated ?? false,\n                    plugins: p.plugins ?? [],\n                },\n                x: {\n                    contentType: contentTypeX,\n                    contentRef: contentRefX,\n                    hvTrack: hvTrackX,\n                    setHvTrack: setHvTrackX,\n                    hvThumb: hvThumbX,\n                    setHvThumb: setHvThumbX,\n                    total: totalX,\n                    view: viewX,\n                    viewOffset: viewOffsetX,\n                    scrollbarLength: scrollbarLengthX,\n                    setScrollbarLength: setScrollbarLengthX,\n                    scrollbarOffset: scrollbarOffsetX,\n                    setScrollbarOffset: setScrollbarOffsetX,\n                },\n                y: {\n                    contentType: contentTypeY,\n                    contentRef: contentRefY,\n                    hvTrack: hvTrackY,\n                    setHvTrack: setHvTrackY,\n                    hvThumb: hvThumbY,\n                    setHvThumb: setHvThumbY,\n                    total: totalY,\n                    view: viewY,\n                    viewOffset: viewOffsetY,\n                    scrollbarLength: scrollbarLengthY,\n                    setScrollbarLength: setScrollbarLengthY,\n                    scrollbarOffset: scrollbarOffsetY,\n                    setScrollbarOffset: setScrollbarOffsetY,\n                },\n            }}\n        >\n            {children}\n        </ScrollCoreContext>\n    );\n};\n\nexport type { ProviderProps };\nexport { Provider };\n"],"mappings":";;;;;;;;AAmBA,MAAM,WAAW,CAACA,UAA4C;CAC1D,MAAM,EAAE,SAAU,GAAG,GAAG,GAAG;CAE3B,MAAM,eAAe,MAAM,OAAoB,aAAa;CAC5D,MAAM,eAAe,MAAM,OAAoB,aAAa;CAE5D,MAAM,cAAc,MAAM,OAA8B,KAAK;CAC7D,MAAM,cAAc,MAAM,OAA8B,KAAK;CAE7D,MAAM,CAAC,UAAU,YAAY,GAAG,MAAM,SAAkB,MAAM;CAC9D,MAAM,CAAC,UAAU,YAAY,GAAG,MAAM,SAAkB,MAAM;CAC9D,MAAM,CAAC,UAAU,YAAY,GAAG,MAAM,SAAkB,MAAM;CAC9D,MAAM,CAAC,UAAU,YAAY,GAAG,MAAM,SAAkB,MAAM;CAE9D,MAAM,SAAS,MAAM,OAAe,EAAE;CACtC,MAAM,SAAS,MAAM,OAAe,EAAE;CAEtC,MAAM,QAAQ,MAAM,OAAe,EAAE;CACrC,MAAM,QAAQ,MAAM,OAAe,EAAE;CAErC,MAAM,cAAc,MAAM,OAAe,EAAE;CAC3C,MAAM,cAAc,MAAM,OAAe,EAAE;CAE3C,MAAM,CAAC,kBAAkB,oBAAoB,GAAG,MAAM,SAAiB,EAAE;CACzE,MAAM,CAAC,kBAAkB,oBAAoB,GAAG,MAAM,SAAiB,EAAE;CAEzE,MAAM,CAAC,kBAAkB,oBAAoB,GAAG,MAAM,SAAiB,EAAE;CACzE,MAAM,CAAC,kBAAkB,oBAAoB,GAAG,MAAM,SAAiB,EAAE;AAEzE,4BACK;EACG,OAAO;GACH,SAAS;IACL,GAAG;IACH,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW,CAAE;GAC3B;GACD,GAAG;IACC,aAAa;IACb,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,OAAO;IACP,MAAM;IACN,YAAY;IACZ,iBAAiB;IACjB,oBAAoB;IACpB,iBAAiB;IACjB,oBAAoB;GACvB;GACD,GAAG;IACC,aAAa;IACb,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,OAAO;IACP,MAAM;IACN,YAAY;IACZ,iBAAiB;IACjB,oBAAoB;IACpB,iBAAiB;IACjB,oBAAoB;GACvB;EACJ;EAEA;GACe;AAE3B"}