@dust-tt/sparkle 0.2.613 → 0.2.614
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/dist/cjs/index.js +1 -1
- package/dist/esm/components/NavigationList.d.ts +4 -1
- package/dist/esm/components/NavigationList.d.ts.map +1 -1
- package/dist/esm/components/NavigationList.js +2 -2
- package/dist/esm/components/NavigationList.js.map +1 -1
- package/dist/esm/components/ScrollArea.d.ts +1 -0
- package/dist/esm/components/ScrollArea.d.ts.map +1 -1
- package/dist/esm/components/ScrollArea.js +7 -4
- package/dist/esm/components/ScrollArea.js.map +1 -1
- package/package.json +1 -1
- package/src/components/NavigationList.tsx +7 -2
- package/src/components/ScrollArea.tsx +9 -3
|
@@ -2,7 +2,10 @@ import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
|
2
2
|
import { type VariantProps } from "class-variance-authority";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { LinkWrapperProps } from "../components";
|
|
5
|
-
|
|
5
|
+
interface NavigationListProps {
|
|
6
|
+
viewportRef?: React.RefObject<HTMLDivElement>;
|
|
7
|
+
}
|
|
8
|
+
declare const NavigationList: React.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaProps & React.RefAttributes<HTMLDivElement>, "ref"> & NavigationListProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
9
|
interface NavigationListItemProps extends React.HTMLAttributes<HTMLDivElement>, Omit<LinkWrapperProps, "children" | "className"> {
|
|
7
10
|
selected?: boolean;
|
|
8
11
|
label?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationList.d.ts","sourceRoot":"","sources":["../../../src/components/NavigationList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAGL,gBAAgB,EAGjB,MAAM,sBAAsB,CAAC;AAiC9B,QAAA,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"NavigationList.d.ts","sourceRoot":"","sources":["../../../src/components/NavigationList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAGL,gBAAgB,EAGjB,MAAM,sBAAsB,CAAC;AAiC9B,UAAU,mBAAmB;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;CAC/C;AACD,QAAA,MAAM,cAAc,qLAgBlB,CAAC;AAGH,UAAU,uBACR,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,CAAC;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,kBAAkB,gGAwEvB,CAAC;AAGF,UAAU,6BACR,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,wBAAwB,sGAkB5B,CAAC;AAGH,QAAA,MAAM,aAAa;;;mFAiBjB,CAAC;AAMH,UAAU,wBACR,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,mBAAmB,iGAevB,CAAC;AAIH,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,GACpB,CAAC"}
|
|
@@ -18,8 +18,8 @@ var NavigationListItemStyles = cva(cn("s-box-border s-flex s-items-center s-w-fu
|
|
|
18
18
|
},
|
|
19
19
|
});
|
|
20
20
|
var NavigationList = React.forwardRef(function (_a, ref) {
|
|
21
|
-
var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
|
|
22
|
-
return (React.createElement(ScrollArea, __assign({ ref: ref, className: cn(className, "s-transition-all s-duration-300") }, props),
|
|
21
|
+
var className = _a.className, children = _a.children, viewportRef = _a.viewportRef, props = __rest(_a, ["className", "children", "viewportRef"]);
|
|
22
|
+
return (React.createElement(ScrollArea, __assign({ ref: ref, viewportRef: viewportRef, className: cn(className, "s-transition-all s-duration-300") }, props),
|
|
23
23
|
React.createElement("div", { className: "s-flex s-flex-col s-gap-0.5" }, children),
|
|
24
24
|
React.createElement(ScrollBar, null)));
|
|
25
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationList.js","sourceRoot":"","sources":["../../../src/components/NavigationList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,IAAI,EACJ,WAAW,EAEX,UAAU,EACV,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,IAAM,wBAAwB,GAAG,GAAG,CAClC,EAAE,CACA,sFAAsF,EACtF,uGAAuG,EACvG,uCAAuC,EACvC,4FAA4F,EAC5F,4DAA4D,EAC5D,0DAA0D,CAC3D,EACD;IACE,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,MAAM,EAAE,4DAA4D;YACpE,QAAQ,EAAE,EAAE,CACV,gDAAgD,EAChD,eAAe,EACf,8CAA8C,CAC/C;YACD,UAAU,EACR,4DAA4D;SAC/D;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,YAAY;KACpB;CACF,CACF,CAAC;
|
|
1
|
+
{"version":3,"file":"NavigationList.js","sourceRoot":"","sources":["../../../src/components/NavigationList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ interface ScrollAreaProps extends React.ComponentPropsWithoutRef<typeof ScrollAr
|
|
|
9
9
|
active?: string;
|
|
10
10
|
inactive?: string;
|
|
11
11
|
};
|
|
12
|
+
viewportRef?: React.RefObject<HTMLDivElement>;
|
|
12
13
|
}
|
|
13
14
|
declare const ScrollArea: React.ForwardRefExoticComponent<ScrollAreaProps & React.RefAttributes<HTMLDivElement>>;
|
|
14
15
|
declare const scrollBarSizes: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollArea.d.ts","sourceRoot":"","sources":["../../../src/components/ScrollArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,UAAU,eACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"ScrollArea.d.ts","sourceRoot":"","sources":["../../../src/components/ScrollArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,UAAU,eACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;CAC/C;AAED,QAAA,MAAM,UAAU,wFAuEf,CAAC;AAGF,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;CA6BV,CAAC;AAEX,KAAK,aAAa,GAAG,MAAM,OAAO,cAAc,CAAC;AAEjD,UAAU,cACR,SAAQ,KAAK,CAAC,wBAAwB,CACpC,OAAO,mBAAmB,CAAC,mBAAmB,CAC/C;IACD,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,QAAA,MAAM,SAAS,uFAuCd,CAAC;AAIF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -4,8 +4,8 @@ import * as React from "react";
|
|
|
4
4
|
import { useMemo } from "react";
|
|
5
5
|
import { cn } from "../lib/utils";
|
|
6
6
|
var ScrollArea = React.forwardRef(function (_a, ref) {
|
|
7
|
-
var className = _a.className, children = _a.children, _b = _a.hideScrollBar, hideScrollBar = _b === void 0 ? false : _b, _c = _a.orientation, orientation = _c === void 0 ? "vertical" : _c, scrollBarClassName = _a.scrollBarClassName, viewportClassName = _a.viewportClassName, scrollStyles = _a.scrollStyles, props = __rest(_a, ["className", "children", "hideScrollBar", "orientation", "scrollBarClassName", "viewportClassName", "scrollStyles"]);
|
|
8
|
-
var
|
|
7
|
+
var className = _a.className, children = _a.children, _b = _a.hideScrollBar, hideScrollBar = _b === void 0 ? false : _b, _c = _a.orientation, orientation = _c === void 0 ? "vertical" : _c, scrollBarClassName = _a.scrollBarClassName, viewportClassName = _a.viewportClassName, scrollStyles = _a.scrollStyles, viewportRef = _a.viewportRef, props = __rest(_a, ["className", "children", "hideScrollBar", "orientation", "scrollBarClassName", "viewportClassName", "scrollStyles", "viewportRef"]);
|
|
8
|
+
var localViewportRef = React.useRef(null);
|
|
9
9
|
var _d = __read(React.useState(false), 2), isScrolled = _d[0], setIsScrolled = _d[1];
|
|
10
10
|
var hasCustomScrollBar = useMemo(function () {
|
|
11
11
|
return React.Children.toArray(children).some(function (child) {
|
|
@@ -16,12 +16,15 @@ var ScrollArea = React.forwardRef(function (_a, ref) {
|
|
|
16
16
|
}, [children]);
|
|
17
17
|
var shouldHideDefaultScrollBar = hideScrollBar || hasCustomScrollBar;
|
|
18
18
|
var handleScroll = React.useCallback(function () {
|
|
19
|
-
if (viewportRef.current) {
|
|
19
|
+
if (viewportRef && viewportRef.current) {
|
|
20
20
|
setIsScrolled(viewportRef.current.scrollTop > 0);
|
|
21
21
|
}
|
|
22
|
+
if (localViewportRef.current) {
|
|
23
|
+
setIsScrolled(localViewportRef.current.scrollTop > 0);
|
|
24
|
+
}
|
|
22
25
|
}, []);
|
|
23
26
|
return (React.createElement(ScrollAreaPrimitive.Root, __assign({ ref: ref, className: cn("s-relative s-z-20 s-overflow-hidden s-transition-all s-duration-200", isScrolled ? scrollStyles === null || scrollStyles === void 0 ? void 0 : scrollStyles.active : scrollStyles === null || scrollStyles === void 0 ? void 0 : scrollStyles.inactive, className) }, props),
|
|
24
|
-
React.createElement(ScrollAreaPrimitive.Viewport, { ref: viewportRef, onScroll: handleScroll, className: cn("s-h-full s-w-full s-rounded-[inherit]", viewportClassName) }, children),
|
|
27
|
+
React.createElement(ScrollAreaPrimitive.Viewport, { ref: viewportRef || localViewportRef, onScroll: handleScroll, className: cn("s-h-full s-w-full s-rounded-[inherit]", viewportClassName) }, children),
|
|
25
28
|
!shouldHideDefaultScrollBar && (React.createElement(ScrollBar, { orientation: orientation, className: scrollBarClassName })),
|
|
26
29
|
React.createElement(ScrollAreaPrimitive.Corner, null)));
|
|
27
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollArea.js","sourceRoot":"","sources":["../../../src/components/ScrollArea.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ScrollArea.js","sourceRoot":"","sources":["../../../src/components/ScrollArea.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -41,13 +41,18 @@ const NavigationListItemStyles = cva(
|
|
|
41
41
|
}
|
|
42
42
|
);
|
|
43
43
|
|
|
44
|
+
interface NavigationListProps {
|
|
45
|
+
viewportRef?: React.RefObject<HTMLDivElement>;
|
|
46
|
+
}
|
|
44
47
|
const NavigationList = React.forwardRef<
|
|
45
48
|
React.ElementRef<typeof ScrollAreaPrimitive.Root>,
|
|
46
|
-
React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>
|
|
47
|
-
|
|
49
|
+
React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root> &
|
|
50
|
+
NavigationListProps
|
|
51
|
+
>(({ className, children, viewportRef, ...props }, ref) => {
|
|
48
52
|
return (
|
|
49
53
|
<ScrollArea
|
|
50
54
|
ref={ref}
|
|
55
|
+
viewportRef={viewportRef}
|
|
51
56
|
className={cn(className, "s-transition-all s-duration-300")}
|
|
52
57
|
{...props}
|
|
53
58
|
>
|
|
@@ -14,6 +14,7 @@ interface ScrollAreaProps
|
|
|
14
14
|
active?: string;
|
|
15
15
|
inactive?: string;
|
|
16
16
|
};
|
|
17
|
+
viewportRef?: React.RefObject<HTMLDivElement>;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
const ScrollArea = React.forwardRef<
|
|
@@ -29,11 +30,12 @@ const ScrollArea = React.forwardRef<
|
|
|
29
30
|
scrollBarClassName,
|
|
30
31
|
viewportClassName,
|
|
31
32
|
scrollStyles,
|
|
33
|
+
viewportRef,
|
|
32
34
|
...props
|
|
33
35
|
},
|
|
34
36
|
ref
|
|
35
37
|
) => {
|
|
36
|
-
const
|
|
38
|
+
const localViewportRef = React.useRef<HTMLDivElement>(null);
|
|
37
39
|
const [isScrolled, setIsScrolled] = React.useState(false);
|
|
38
40
|
|
|
39
41
|
const hasCustomScrollBar = useMemo(
|
|
@@ -50,9 +52,13 @@ const ScrollArea = React.forwardRef<
|
|
|
50
52
|
const shouldHideDefaultScrollBar = hideScrollBar || hasCustomScrollBar;
|
|
51
53
|
|
|
52
54
|
const handleScroll = React.useCallback(() => {
|
|
53
|
-
if (viewportRef.current) {
|
|
55
|
+
if (viewportRef && viewportRef.current) {
|
|
54
56
|
setIsScrolled(viewportRef.current.scrollTop > 0);
|
|
55
57
|
}
|
|
58
|
+
|
|
59
|
+
if (localViewportRef.current) {
|
|
60
|
+
setIsScrolled(localViewportRef.current.scrollTop > 0);
|
|
61
|
+
}
|
|
56
62
|
}, []);
|
|
57
63
|
|
|
58
64
|
return (
|
|
@@ -66,7 +72,7 @@ const ScrollArea = React.forwardRef<
|
|
|
66
72
|
{...props}
|
|
67
73
|
>
|
|
68
74
|
<ScrollAreaPrimitive.Viewport
|
|
69
|
-
ref={viewportRef}
|
|
75
|
+
ref={viewportRef || localViewportRef}
|
|
70
76
|
onScroll={handleScroll}
|
|
71
77
|
className={cn(
|
|
72
78
|
"s-h-full s-w-full s-rounded-[inherit]",
|