@radix-ui/react-scroll-area 0.0.0-20250116175529

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,13 @@
1
+ # `react-scroll-area`
2
+
3
+ ## Installation
4
+
5
+ ```sh
6
+ $ yarn add @radix-ui/react-scroll-area
7
+ # or
8
+ $ npm install @radix-ui/react-scroll-area
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ View docs [here](https://radix-ui.com/primitives/docs/components/scroll-area).
@@ -0,0 +1,123 @@
1
+ import * as _radix_ui_react_context from '@radix-ui/react-context';
2
+ import * as React from 'react';
3
+ import { Primitive } from '@radix-ui/react-primitive';
4
+
5
+ type Direction = 'ltr' | 'rtl';
6
+ type Sizes = {
7
+ content: number;
8
+ viewport: number;
9
+ scrollbar: {
10
+ size: number;
11
+ paddingStart: number;
12
+ paddingEnd: number;
13
+ };
14
+ };
15
+ declare const createScrollAreaScope: _radix_ui_react_context.CreateScope;
16
+ type ScrollAreaContextValue = {
17
+ type: 'auto' | 'always' | 'scroll' | 'hover';
18
+ dir: Direction;
19
+ scrollHideDelay: number;
20
+ scrollArea: ScrollAreaElement | null;
21
+ viewport: ScrollAreaViewportElement | null;
22
+ onViewportChange(viewport: ScrollAreaViewportElement | null): void;
23
+ content: HTMLDivElement | null;
24
+ onContentChange(content: HTMLDivElement): void;
25
+ scrollbarX: ScrollAreaScrollbarElement | null;
26
+ onScrollbarXChange(scrollbar: ScrollAreaScrollbarElement | null): void;
27
+ scrollbarXEnabled: boolean;
28
+ onScrollbarXEnabledChange(rendered: boolean): void;
29
+ scrollbarY: ScrollAreaScrollbarElement | null;
30
+ onScrollbarYChange(scrollbar: ScrollAreaScrollbarElement | null): void;
31
+ scrollbarYEnabled: boolean;
32
+ onScrollbarYEnabledChange(rendered: boolean): void;
33
+ onCornerWidthChange(width: number): void;
34
+ onCornerHeightChange(height: number): void;
35
+ };
36
+ type ScrollAreaElement = React.ElementRef<typeof Primitive.div>;
37
+ type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
38
+ interface ScrollAreaProps extends PrimitiveDivProps {
39
+ type?: ScrollAreaContextValue['type'];
40
+ dir?: ScrollAreaContextValue['dir'];
41
+ scrollHideDelay?: number;
42
+ }
43
+ declare const ScrollArea: React.ForwardRefExoticComponent<ScrollAreaProps & React.RefAttributes<HTMLDivElement>>;
44
+ type ScrollAreaViewportElement = React.ElementRef<typeof Primitive.div>;
45
+ interface ScrollAreaViewportProps extends PrimitiveDivProps {
46
+ nonce?: string;
47
+ }
48
+ declare const ScrollAreaViewport: React.ForwardRefExoticComponent<ScrollAreaViewportProps & React.RefAttributes<HTMLDivElement>>;
49
+ type ScrollAreaScrollbarElement = ScrollAreaScrollbarVisibleElement;
50
+ interface ScrollAreaScrollbarProps extends ScrollAreaScrollbarVisibleProps {
51
+ forceMount?: true;
52
+ }
53
+ declare const ScrollAreaScrollbar: React.ForwardRefExoticComponent<ScrollAreaScrollbarProps & React.RefAttributes<HTMLDivElement>>;
54
+ type ScrollAreaScrollbarVisibleElement = ScrollAreaScrollbarAxisElement;
55
+ interface ScrollAreaScrollbarVisibleProps extends Omit<ScrollAreaScrollbarAxisProps, keyof ScrollAreaScrollbarAxisPrivateProps> {
56
+ orientation?: 'horizontal' | 'vertical';
57
+ }
58
+ type ScrollAreaScrollbarAxisPrivateProps = {
59
+ hasThumb: boolean;
60
+ sizes: Sizes;
61
+ onSizesChange(sizes: Sizes): void;
62
+ onThumbChange(thumb: ScrollAreaThumbElement | null): void;
63
+ onThumbPointerDown(pointerPos: number): void;
64
+ onThumbPointerUp(): void;
65
+ onThumbPositionChange(): void;
66
+ onWheelScroll(scrollPos: number): void;
67
+ onDragScroll(pointerPos: number): void;
68
+ };
69
+ type ScrollAreaScrollbarAxisElement = ScrollAreaScrollbarImplElement;
70
+ interface ScrollAreaScrollbarAxisProps extends Omit<ScrollAreaScrollbarImplProps, keyof ScrollAreaScrollbarImplPrivateProps>, ScrollAreaScrollbarAxisPrivateProps {
71
+ }
72
+ type ScrollbarContext = {
73
+ hasThumb: boolean;
74
+ scrollbar: ScrollAreaScrollbarElement | null;
75
+ onThumbChange(thumb: ScrollAreaThumbElement | null): void;
76
+ onThumbPointerUp(): void;
77
+ onThumbPointerDown(pointerPos: {
78
+ x: number;
79
+ y: number;
80
+ }): void;
81
+ onThumbPositionChange(): void;
82
+ };
83
+ type ScrollAreaScrollbarImplElement = React.ElementRef<typeof Primitive.div>;
84
+ type ScrollAreaScrollbarImplPrivateProps = {
85
+ sizes: Sizes;
86
+ hasThumb: boolean;
87
+ onThumbChange: ScrollbarContext['onThumbChange'];
88
+ onThumbPointerUp: ScrollbarContext['onThumbPointerUp'];
89
+ onThumbPointerDown: ScrollbarContext['onThumbPointerDown'];
90
+ onThumbPositionChange: ScrollbarContext['onThumbPositionChange'];
91
+ onWheelScroll(event: WheelEvent, maxScrollPos: number): void;
92
+ onDragScroll(pointerPos: {
93
+ x: number;
94
+ y: number;
95
+ }): void;
96
+ onResize(): void;
97
+ };
98
+ interface ScrollAreaScrollbarImplProps extends Omit<PrimitiveDivProps, keyof ScrollAreaScrollbarImplPrivateProps>, ScrollAreaScrollbarImplPrivateProps {
99
+ }
100
+ type ScrollAreaThumbElement = ScrollAreaThumbImplElement;
101
+ interface ScrollAreaThumbProps extends ScrollAreaThumbImplProps {
102
+ /**
103
+ * Used to force mounting when more control is needed. Useful when
104
+ * controlling animation with React animation libraries.
105
+ */
106
+ forceMount?: true;
107
+ }
108
+ declare const ScrollAreaThumb: React.ForwardRefExoticComponent<ScrollAreaThumbProps & React.RefAttributes<HTMLDivElement>>;
109
+ type ScrollAreaThumbImplElement = React.ElementRef<typeof Primitive.div>;
110
+ interface ScrollAreaThumbImplProps extends PrimitiveDivProps {
111
+ }
112
+ interface ScrollAreaCornerProps extends ScrollAreaCornerImplProps {
113
+ }
114
+ declare const ScrollAreaCorner: React.ForwardRefExoticComponent<ScrollAreaCornerProps & React.RefAttributes<HTMLDivElement>>;
115
+ interface ScrollAreaCornerImplProps extends PrimitiveDivProps {
116
+ }
117
+ declare const Root: React.ForwardRefExoticComponent<ScrollAreaProps & React.RefAttributes<HTMLDivElement>>;
118
+ declare const Viewport: React.ForwardRefExoticComponent<ScrollAreaViewportProps & React.RefAttributes<HTMLDivElement>>;
119
+ declare const Scrollbar: React.ForwardRefExoticComponent<ScrollAreaScrollbarProps & React.RefAttributes<HTMLDivElement>>;
120
+ declare const Thumb: React.ForwardRefExoticComponent<ScrollAreaThumbProps & React.RefAttributes<HTMLDivElement>>;
121
+ declare const Corner: React.ForwardRefExoticComponent<ScrollAreaCornerProps & React.RefAttributes<HTMLDivElement>>;
122
+
123
+ export { Corner, Root, ScrollArea, ScrollAreaCorner, type ScrollAreaCornerProps, type ScrollAreaProps, ScrollAreaScrollbar, type ScrollAreaScrollbarProps, ScrollAreaThumb, type ScrollAreaThumbProps, ScrollAreaViewport, type ScrollAreaViewportProps, Scrollbar, Thumb, Viewport, createScrollAreaScope };
@@ -0,0 +1,123 @@
1
+ import * as _radix_ui_react_context from '@radix-ui/react-context';
2
+ import * as React from 'react';
3
+ import { Primitive } from '@radix-ui/react-primitive';
4
+
5
+ type Direction = 'ltr' | 'rtl';
6
+ type Sizes = {
7
+ content: number;
8
+ viewport: number;
9
+ scrollbar: {
10
+ size: number;
11
+ paddingStart: number;
12
+ paddingEnd: number;
13
+ };
14
+ };
15
+ declare const createScrollAreaScope: _radix_ui_react_context.CreateScope;
16
+ type ScrollAreaContextValue = {
17
+ type: 'auto' | 'always' | 'scroll' | 'hover';
18
+ dir: Direction;
19
+ scrollHideDelay: number;
20
+ scrollArea: ScrollAreaElement | null;
21
+ viewport: ScrollAreaViewportElement | null;
22
+ onViewportChange(viewport: ScrollAreaViewportElement | null): void;
23
+ content: HTMLDivElement | null;
24
+ onContentChange(content: HTMLDivElement): void;
25
+ scrollbarX: ScrollAreaScrollbarElement | null;
26
+ onScrollbarXChange(scrollbar: ScrollAreaScrollbarElement | null): void;
27
+ scrollbarXEnabled: boolean;
28
+ onScrollbarXEnabledChange(rendered: boolean): void;
29
+ scrollbarY: ScrollAreaScrollbarElement | null;
30
+ onScrollbarYChange(scrollbar: ScrollAreaScrollbarElement | null): void;
31
+ scrollbarYEnabled: boolean;
32
+ onScrollbarYEnabledChange(rendered: boolean): void;
33
+ onCornerWidthChange(width: number): void;
34
+ onCornerHeightChange(height: number): void;
35
+ };
36
+ type ScrollAreaElement = React.ElementRef<typeof Primitive.div>;
37
+ type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
38
+ interface ScrollAreaProps extends PrimitiveDivProps {
39
+ type?: ScrollAreaContextValue['type'];
40
+ dir?: ScrollAreaContextValue['dir'];
41
+ scrollHideDelay?: number;
42
+ }
43
+ declare const ScrollArea: React.ForwardRefExoticComponent<ScrollAreaProps & React.RefAttributes<HTMLDivElement>>;
44
+ type ScrollAreaViewportElement = React.ElementRef<typeof Primitive.div>;
45
+ interface ScrollAreaViewportProps extends PrimitiveDivProps {
46
+ nonce?: string;
47
+ }
48
+ declare const ScrollAreaViewport: React.ForwardRefExoticComponent<ScrollAreaViewportProps & React.RefAttributes<HTMLDivElement>>;
49
+ type ScrollAreaScrollbarElement = ScrollAreaScrollbarVisibleElement;
50
+ interface ScrollAreaScrollbarProps extends ScrollAreaScrollbarVisibleProps {
51
+ forceMount?: true;
52
+ }
53
+ declare const ScrollAreaScrollbar: React.ForwardRefExoticComponent<ScrollAreaScrollbarProps & React.RefAttributes<HTMLDivElement>>;
54
+ type ScrollAreaScrollbarVisibleElement = ScrollAreaScrollbarAxisElement;
55
+ interface ScrollAreaScrollbarVisibleProps extends Omit<ScrollAreaScrollbarAxisProps, keyof ScrollAreaScrollbarAxisPrivateProps> {
56
+ orientation?: 'horizontal' | 'vertical';
57
+ }
58
+ type ScrollAreaScrollbarAxisPrivateProps = {
59
+ hasThumb: boolean;
60
+ sizes: Sizes;
61
+ onSizesChange(sizes: Sizes): void;
62
+ onThumbChange(thumb: ScrollAreaThumbElement | null): void;
63
+ onThumbPointerDown(pointerPos: number): void;
64
+ onThumbPointerUp(): void;
65
+ onThumbPositionChange(): void;
66
+ onWheelScroll(scrollPos: number): void;
67
+ onDragScroll(pointerPos: number): void;
68
+ };
69
+ type ScrollAreaScrollbarAxisElement = ScrollAreaScrollbarImplElement;
70
+ interface ScrollAreaScrollbarAxisProps extends Omit<ScrollAreaScrollbarImplProps, keyof ScrollAreaScrollbarImplPrivateProps>, ScrollAreaScrollbarAxisPrivateProps {
71
+ }
72
+ type ScrollbarContext = {
73
+ hasThumb: boolean;
74
+ scrollbar: ScrollAreaScrollbarElement | null;
75
+ onThumbChange(thumb: ScrollAreaThumbElement | null): void;
76
+ onThumbPointerUp(): void;
77
+ onThumbPointerDown(pointerPos: {
78
+ x: number;
79
+ y: number;
80
+ }): void;
81
+ onThumbPositionChange(): void;
82
+ };
83
+ type ScrollAreaScrollbarImplElement = React.ElementRef<typeof Primitive.div>;
84
+ type ScrollAreaScrollbarImplPrivateProps = {
85
+ sizes: Sizes;
86
+ hasThumb: boolean;
87
+ onThumbChange: ScrollbarContext['onThumbChange'];
88
+ onThumbPointerUp: ScrollbarContext['onThumbPointerUp'];
89
+ onThumbPointerDown: ScrollbarContext['onThumbPointerDown'];
90
+ onThumbPositionChange: ScrollbarContext['onThumbPositionChange'];
91
+ onWheelScroll(event: WheelEvent, maxScrollPos: number): void;
92
+ onDragScroll(pointerPos: {
93
+ x: number;
94
+ y: number;
95
+ }): void;
96
+ onResize(): void;
97
+ };
98
+ interface ScrollAreaScrollbarImplProps extends Omit<PrimitiveDivProps, keyof ScrollAreaScrollbarImplPrivateProps>, ScrollAreaScrollbarImplPrivateProps {
99
+ }
100
+ type ScrollAreaThumbElement = ScrollAreaThumbImplElement;
101
+ interface ScrollAreaThumbProps extends ScrollAreaThumbImplProps {
102
+ /**
103
+ * Used to force mounting when more control is needed. Useful when
104
+ * controlling animation with React animation libraries.
105
+ */
106
+ forceMount?: true;
107
+ }
108
+ declare const ScrollAreaThumb: React.ForwardRefExoticComponent<ScrollAreaThumbProps & React.RefAttributes<HTMLDivElement>>;
109
+ type ScrollAreaThumbImplElement = React.ElementRef<typeof Primitive.div>;
110
+ interface ScrollAreaThumbImplProps extends PrimitiveDivProps {
111
+ }
112
+ interface ScrollAreaCornerProps extends ScrollAreaCornerImplProps {
113
+ }
114
+ declare const ScrollAreaCorner: React.ForwardRefExoticComponent<ScrollAreaCornerProps & React.RefAttributes<HTMLDivElement>>;
115
+ interface ScrollAreaCornerImplProps extends PrimitiveDivProps {
116
+ }
117
+ declare const Root: React.ForwardRefExoticComponent<ScrollAreaProps & React.RefAttributes<HTMLDivElement>>;
118
+ declare const Viewport: React.ForwardRefExoticComponent<ScrollAreaViewportProps & React.RefAttributes<HTMLDivElement>>;
119
+ declare const Scrollbar: React.ForwardRefExoticComponent<ScrollAreaScrollbarProps & React.RefAttributes<HTMLDivElement>>;
120
+ declare const Thumb: React.ForwardRefExoticComponent<ScrollAreaThumbProps & React.RefAttributes<HTMLDivElement>>;
121
+ declare const Corner: React.ForwardRefExoticComponent<ScrollAreaCornerProps & React.RefAttributes<HTMLDivElement>>;
122
+
123
+ export { Corner, Root, ScrollArea, ScrollAreaCorner, type ScrollAreaCornerProps, type ScrollAreaProps, ScrollAreaScrollbar, type ScrollAreaScrollbarProps, ScrollAreaThumb, type ScrollAreaThumbProps, ScrollAreaViewport, type ScrollAreaViewportProps, Scrollbar, Thumb, Viewport, createScrollAreaScope };