impact-nova 3.0.0-alpha.4 → 3.0.0-alpha.6
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/components/data/ag-grid-react/cell-renderers/editors/list-select-cell-editor.js +56 -42
- package/dist/components/data/ag-grid-react/cell-renderers/editors/select-cell-editor.js +48 -45
- package/dist/components/data/ag-grid-react/cell-renderers/list-select-display-renderer.js +31 -33
- package/dist/components/data/ag-grid-react/cell-renderers/select-display-renderer.js +18 -17
- package/dist/components/data/ag-grid-react/editable-utils.d.ts +9 -1
- package/dist/components/data/ag-grid-react/editable-utils.js +46 -41
- package/dist/components/data/expandable-list-item/expandable-list-item-attributes.js +3 -2
- package/dist/components/data/expandable-list-item/expandable-list-item-metrics.js +3 -2
- package/dist/components/data/expandable-list-item/sku-picker-chrome.d.ts +2 -1
- package/dist/components/data/expandable-list-item/sku-picker-chrome.js +51 -40
- package/dist/components/data/expandable-list-item/useServerSkuInfinitePages.d.ts +2 -1
- package/dist/components/data/expandable-list-item/virtualized-responsive-grid.catalog.d.ts +5 -4
- package/dist/components/data-display/chart/chart-scatter3d.d.ts +39 -0
- package/dist/components/data-display/chart/chart-scatter3d.js +180 -0
- package/dist/components/data-display/chart/chart.js +125 -112
- package/dist/components/data-display/chart/chart.utils.js +122 -92
- package/dist/components/feedback/tooltip/button-icon-tooltip.d.ts +4 -1
- package/dist/components/feedback/tooltip/button-icon-tooltip.js +14 -12
- package/dist/components/feedback/tooltip/tab-tooltip-render.js +3 -2
- package/dist/components/feedback/tooltip/use-overflow-tooltip.js +44 -36
- package/dist/components/flows/command-palette/shortcut-settings.js +10 -10
- package/dist/components/flows/filter-panel/filter-panel.js +4 -4
- package/dist/components/flows/iris-chat/iris-chat-menu.js +100 -73
- package/dist/components/forms/choice-card/choice-card-percent.js +68 -50
- package/dist/components/forms/choice-card/choice-card.js +23 -23
- package/dist/components/forms/select/components/SelectMenuPanel.js +15 -15
- package/dist/components/forms/select/components/SelectTriggerValue.js +3 -2
- package/dist/components/forms/select/components/Submenu.js +3 -2
- package/dist/components/layout/horizontal-scroller/horizontal-scroller-mask.d.ts +3 -0
- package/dist/components/layout/horizontal-scroller/horizontal-scroller-mask.js +12 -0
- package/dist/components/layout/horizontal-scroller/horizontal-scroller.js +181 -125
- package/dist/components/layout/horizontal-scroller/horizontal-scroller.types.d.ts +2 -0
- package/dist/components/layout/horizontal-scroller/scroll-overflow-affordance.d.ts +3 -1
- package/dist/components/layout/horizontal-scroller/scroll-overflow-affordance.js +77 -67
- package/dist/components/primitives/iris/iris-insight-truncated-text.d.ts +3 -0
- package/dist/components/primitives/iris/iris-insight-truncated-text.js +33 -0
- package/dist/components/primitives/iris/iris.d.ts +2 -1
- package/dist/components/primitives/iris/iris.js +57 -67
- package/dist/components/primitives/iris/iris.types.d.ts +7 -0
- package/dist/components/primitives/stepper/internals/stepper-summary.js +5 -5
- package/dist/form-react/Fields/VirtualizedListField.js +69 -64
- package/dist/impact-nova-components.css +35 -8
- package/dist/impact-nova.css +1 -1
- package/dist/lib/alphabetical-sort.js +13 -0
- package/dist/llms/rules/installation.js +1 -1
- package/dist/llms/rules/requirements.js +1 -1
- package/package.json +2 -2
|
@@ -2,19 +2,19 @@ import { jsx as o } from "react/jsx-runtime";
|
|
|
2
2
|
import * as n from "@radix-ui/react-popover";
|
|
3
3
|
import { cn as a } from "../../../../lib/utils.js";
|
|
4
4
|
import { preventDismissOnTooltipOutside as t } from "../../../../lib/overlay/prevent-dismiss-on-tooltip-outside.js";
|
|
5
|
-
import { useOverlayPortalContainer as
|
|
6
|
-
import { OVERLAY_NESTED_FLOATING_INSTANT_HIDE_CLASS as
|
|
7
|
-
function
|
|
5
|
+
import { useOverlayPortalContainer as u } from "../../../../lib/overlay/overlay-portal-context.js";
|
|
6
|
+
import { OVERLAY_NESTED_FLOATING_INSTANT_HIDE_CLASS as v } from "../../../../lib/overlay/overlay-host.constants.js";
|
|
7
|
+
function O({
|
|
8
8
|
menuRef: l,
|
|
9
|
-
menuMinHeight:
|
|
9
|
+
menuMinHeight: r,
|
|
10
10
|
menuWidth: s,
|
|
11
|
-
isReadOnly:
|
|
11
|
+
isReadOnly: i,
|
|
12
12
|
id: d,
|
|
13
13
|
menuLabel: p,
|
|
14
|
-
children:
|
|
14
|
+
children: c
|
|
15
15
|
}) {
|
|
16
|
-
const
|
|
17
|
-
return /* @__PURE__ */ o(n.Portal, { container:
|
|
16
|
+
const m = u();
|
|
17
|
+
return /* @__PURE__ */ o(n.Portal, { container: m, children: /* @__PURE__ */ o(
|
|
18
18
|
n.Content,
|
|
19
19
|
{
|
|
20
20
|
ref: l,
|
|
@@ -25,7 +25,7 @@ function P({
|
|
|
25
25
|
collisionPadding: 8,
|
|
26
26
|
"aria-label": p,
|
|
27
27
|
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
28
|
-
|
|
28
|
+
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
29
29
|
onPointerDownOutside: t,
|
|
30
30
|
onInteractOutside: t,
|
|
31
31
|
onFocusOutside: t,
|
|
@@ -37,8 +37,8 @@ function P({
|
|
|
37
37
|
},
|
|
38
38
|
className: a(
|
|
39
39
|
"z-50 flex flex-col overflow-hidden rounded-[12px] p-0 text-base shadow-elevation-select focus:outline-none sm:text-sm border-none pointer-events-auto",
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
i ? "bg-disabled-surface" : "bg-canvas-elevated",
|
|
41
|
+
v
|
|
42
42
|
),
|
|
43
43
|
"data-testid": `select-menu-${d || "default"}`,
|
|
44
44
|
"data-component": "select-menu",
|
|
@@ -47,17 +47,17 @@ function P({
|
|
|
47
47
|
{
|
|
48
48
|
className: a(
|
|
49
49
|
"flex min-h-0 flex-1 flex-col overflow-hidden rounded-[12px]",
|
|
50
|
-
|
|
50
|
+
i ? "bg-disabled-surface" : "bg-canvas-elevated"
|
|
51
51
|
),
|
|
52
52
|
style: {
|
|
53
|
-
minHeight:
|
|
53
|
+
minHeight: r ? `${r}px` : void 0
|
|
54
54
|
},
|
|
55
|
-
children:
|
|
55
|
+
children: c
|
|
56
56
|
}
|
|
57
57
|
)
|
|
58
58
|
}
|
|
59
59
|
) });
|
|
60
60
|
}
|
|
61
61
|
export {
|
|
62
|
-
|
|
62
|
+
O as SelectMenuPanel
|
|
63
63
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { cn as x } from "../../../../lib/utils.js";
|
|
3
|
+
import "react";
|
|
3
4
|
import { OverflowTooltip as m } from "../../../feedback/tooltip/overflow-tooltip.js";
|
|
4
5
|
import { isInvertedSelection as h, isOptionArray as d } from "../utils/select.js";
|
|
5
|
-
function
|
|
6
|
+
function C({
|
|
6
7
|
isMulti: u,
|
|
7
8
|
isDisabled: p,
|
|
8
9
|
internalValue: o,
|
|
@@ -52,5 +53,5 @@ function w({
|
|
|
52
53
|
);
|
|
53
54
|
}
|
|
54
55
|
export {
|
|
55
|
-
|
|
56
|
+
C as SelectTriggerValue
|
|
56
57
|
};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { jsxs as s, jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import * as i from "@radix-ui/react-popover";
|
|
3
3
|
import { Checkbox as P } from "../../checkbox/checkbox.js";
|
|
4
|
+
import "react";
|
|
4
5
|
import { OverflowTooltip as y } from "../../../feedback/tooltip/overflow-tooltip.js";
|
|
5
6
|
import { ChevronRight as A, Checkmark as O } from "impact-nova-icons";
|
|
6
7
|
import { cn as v } from "../../../../lib/utils.js";
|
|
7
8
|
import { useOverlayPortalContainer as T } from "../../../../lib/overlay/overlay-portal-context.js";
|
|
8
9
|
import { OVERLAY_NESTED_FLOATING_INSTANT_HIDE_CLASS as _ } from "../../../../lib/overlay/overlay-host.constants.js";
|
|
9
10
|
import { useSuppressOptionClickForTextSelection as E } from "../hooks/useSuppressOptionClickForTextSelection.js";
|
|
10
|
-
const
|
|
11
|
+
const R = ({
|
|
11
12
|
parentOption: n,
|
|
12
13
|
isMulti: u,
|
|
13
14
|
isReadOnly: l,
|
|
@@ -105,5 +106,5 @@ const G = ({
|
|
|
105
106
|
] });
|
|
106
107
|
};
|
|
107
108
|
export {
|
|
108
|
-
|
|
109
|
+
R as Submenu
|
|
109
110
|
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const HORIZONTAL_SCROLLER_FADE_WIDTH_PX = 48;
|
|
2
|
+
export declare function buildHorizontalScrollerMaskImage(canScrollLeft: boolean, canScrollRight: boolean): string | undefined;
|
|
3
|
+
export declare const horizontalScrollerEdgeFadeClassName = "pointer-events-none absolute top-0 z-10 h-full w-14";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const e = 48;
|
|
2
|
+
function n(a, t) {
|
|
3
|
+
if (!a && !t) return;
|
|
4
|
+
const r = 48;
|
|
5
|
+
return a && t ? `linear-gradient(to right, transparent, black ${r}px, black calc(100% - ${r}px), transparent)` : t ? `linear-gradient(to right, black, black calc(100% - ${r}px), transparent 100%)` : `linear-gradient(to right, transparent, black ${r}px, black)`;
|
|
6
|
+
}
|
|
7
|
+
const i = "pointer-events-none absolute top-0 z-10 h-full w-14";
|
|
8
|
+
export {
|
|
9
|
+
e as HORIZONTAL_SCROLLER_FADE_WIDTH_PX,
|
|
10
|
+
n as buildHorizontalScrollerMaskImage,
|
|
11
|
+
i as horizontalScrollerEdgeFadeClassName
|
|
12
|
+
};
|
|
@@ -1,167 +1,223 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import * as
|
|
3
|
-
import { ChevronRight as
|
|
4
|
-
import { useVirtualizer as
|
|
5
|
-
import { cn as
|
|
6
|
-
import { Button as
|
|
7
|
-
import { useImpactNovaI18n as
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
1
|
+
import { jsx as t, jsxs as h, Fragment as $ } from "react/jsx-runtime";
|
|
2
|
+
import * as i from "react";
|
|
3
|
+
import { ChevronRight as L } from "impact-nova-icons";
|
|
4
|
+
import { useVirtualizer as D } from "@tanstack/react-virtual";
|
|
5
|
+
import { cn as r } from "../../../lib/utils.js";
|
|
6
|
+
import { Button as I } from "../../primitives/button/button.js";
|
|
7
|
+
import { useImpactNovaI18n as _ } from "../../../i18n/use-impact-nova-i18n.js";
|
|
8
|
+
import { horizontalScrollerEdgeFadeClassName as E, buildHorizontalScrollerMaskImage as q } from "./horizontal-scroller-mask.js";
|
|
9
|
+
function G({
|
|
10
|
+
className: B,
|
|
11
|
+
items: u,
|
|
12
|
+
renderItem: H,
|
|
13
|
+
scrollStep: x = 200,
|
|
14
|
+
hideScrollbar: v = !0,
|
|
15
|
+
edgeAffordance: c = !1,
|
|
16
|
+
controlsPosition: z = "right",
|
|
17
|
+
renderPrevious: b,
|
|
18
|
+
renderNext: w,
|
|
19
|
+
maxWidth: W = "100%",
|
|
20
|
+
estimateSize: p = 200,
|
|
21
|
+
overscan: M = 5,
|
|
22
|
+
...V
|
|
23
|
+
}, j) {
|
|
24
|
+
const { t: S } = _(), o = i.useRef(null), [n, F] = i.useState(!1), [a, O] = i.useState(!1);
|
|
25
|
+
i.useImperativeHandle(j, () => o.current);
|
|
26
|
+
const f = D({
|
|
27
|
+
count: u.length,
|
|
28
|
+
getScrollElement: () => o.current,
|
|
29
|
+
estimateSize: typeof p == "function" ? p : () => p,
|
|
28
30
|
horizontal: !0,
|
|
29
|
-
overscan:
|
|
30
|
-
}),
|
|
31
|
-
const e =
|
|
32
|
-
e && (
|
|
31
|
+
overscan: M
|
|
32
|
+
}), T = f.getTotalSize(), m = i.useCallback(() => {
|
|
33
|
+
const e = o.current;
|
|
34
|
+
e && (F(e.scrollLeft > 0), O(
|
|
33
35
|
Math.ceil(e.scrollLeft + e.clientWidth) < e.scrollWidth
|
|
34
36
|
));
|
|
35
37
|
}, []);
|
|
36
|
-
|
|
37
|
-
const e =
|
|
38
|
+
i.useEffect(() => {
|
|
39
|
+
const e = o.current;
|
|
38
40
|
if (!e) return;
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
e.addEventListener("scroll",
|
|
42
|
-
const
|
|
43
|
-
|
|
41
|
+
m();
|
|
42
|
+
const l = () => m();
|
|
43
|
+
e.addEventListener("scroll", l);
|
|
44
|
+
const s = new ResizeObserver(() => {
|
|
45
|
+
m();
|
|
44
46
|
});
|
|
45
|
-
return
|
|
46
|
-
e.removeEventListener("scroll",
|
|
47
|
+
return s.observe(e), () => {
|
|
48
|
+
e.removeEventListener("scroll", l), s.disconnect();
|
|
47
49
|
};
|
|
48
|
-
}, [
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
},
|
|
52
|
-
|
|
53
|
-
},
|
|
54
|
-
if (
|
|
55
|
-
const
|
|
56
|
-
return /* @__PURE__ */
|
|
57
|
-
|
|
50
|
+
}, [m, u, T]);
|
|
51
|
+
const N = () => {
|
|
52
|
+
o.current?.scrollBy({ left: -x, behavior: "smooth" });
|
|
53
|
+
}, y = () => {
|
|
54
|
+
o.current?.scrollBy({ left: x, behavior: "smooth" });
|
|
55
|
+
}, k = (e, l, s) => {
|
|
56
|
+
if (s) return null;
|
|
57
|
+
const g = S(e === "left" ? "horizontalScroller.scrollLeft" : "horizontalScroller.scrollRight");
|
|
58
|
+
return c ? /* @__PURE__ */ t(
|
|
59
|
+
I,
|
|
60
|
+
{
|
|
61
|
+
variant: "ghost",
|
|
62
|
+
size: "iconSm",
|
|
63
|
+
className: r(
|
|
64
|
+
"absolute top-1/2 z-20 !size-5 !min-h-5 !min-w-5 -translate-y-1/2 rounded-full border border-stroke-hairline p-0",
|
|
65
|
+
"bg-canvas-elevated/95 text-content-secondary shadow-sm",
|
|
66
|
+
"hover:bg-canvas-muted hover:text-content",
|
|
67
|
+
"[&_svg]:!size-3",
|
|
68
|
+
e === "left" ? "left-0.5" : "right-0.5"
|
|
69
|
+
),
|
|
70
|
+
onClick: l,
|
|
71
|
+
disabled: s,
|
|
72
|
+
"aria-label": g,
|
|
73
|
+
"data-component": e === "left" ? "horizontal-scroller-prev" : "horizontal-scroller-next",
|
|
74
|
+
tabIndex: -1,
|
|
75
|
+
children: /* @__PURE__ */ t(
|
|
76
|
+
L,
|
|
77
|
+
{
|
|
78
|
+
className: r(e === "left" && "rotate-180")
|
|
79
|
+
}
|
|
80
|
+
)
|
|
81
|
+
}
|
|
82
|
+
) : /* @__PURE__ */ h(
|
|
83
|
+
I,
|
|
58
84
|
{
|
|
59
85
|
variant: "ghost",
|
|
60
86
|
size: "icon",
|
|
61
|
-
className:
|
|
87
|
+
className: r(
|
|
62
88
|
"h-8 w-8 rounded-md bg-canvas-muted text-content-tertiary hover:bg-brand-tint hover:text-brand"
|
|
63
89
|
),
|
|
64
|
-
onClick:
|
|
65
|
-
disabled:
|
|
66
|
-
"aria-label":
|
|
90
|
+
onClick: l,
|
|
91
|
+
disabled: s,
|
|
92
|
+
"aria-label": g,
|
|
67
93
|
"data-component": e === "left" ? "horizontal-scroller-prev" : "horizontal-scroller-next",
|
|
68
94
|
children: [
|
|
69
|
-
/* @__PURE__ */
|
|
70
|
-
|
|
95
|
+
/* @__PURE__ */ t(
|
|
96
|
+
L,
|
|
71
97
|
{
|
|
72
|
-
className:
|
|
98
|
+
className: r("h-4 w-4", e === "left" && "rotate-180")
|
|
73
99
|
}
|
|
74
100
|
),
|
|
75
|
-
/* @__PURE__ */
|
|
101
|
+
/* @__PURE__ */ t("span", { className: "sr-only", children: g })
|
|
76
102
|
]
|
|
77
103
|
}
|
|
78
104
|
);
|
|
79
|
-
},
|
|
80
|
-
const e =
|
|
81
|
-
return
|
|
82
|
-
left:
|
|
83
|
-
right:
|
|
84
|
-
} :
|
|
85
|
-
left:
|
|
105
|
+
}, d = (() => {
|
|
106
|
+
const e = b ? b({ onClick: N, disabled: !n }) : k("left", N, !n), l = w ? w({ onClick: y, disabled: !a }) : k("right", y, !a);
|
|
107
|
+
return c || z === "split" ? {
|
|
108
|
+
left: n ? /* @__PURE__ */ t("div", { className: "flex-shrink-0", children: e }) : null,
|
|
109
|
+
right: a ? /* @__PURE__ */ t("div", { className: "flex-shrink-0", children: l }) : null
|
|
110
|
+
} : z === "left" ? {
|
|
111
|
+
left: n || a ? /* @__PURE__ */ h("div", { className: "flex-shrink-0 flex items-center gap-1", children: [
|
|
86
112
|
e,
|
|
87
|
-
|
|
113
|
+
l
|
|
88
114
|
] }) : null,
|
|
89
115
|
right: null
|
|
90
116
|
} : {
|
|
91
117
|
left: null,
|
|
92
|
-
right:
|
|
118
|
+
right: n || a ? /* @__PURE__ */ h("div", { className: "flex-shrink-0 flex items-center gap-1", children: [
|
|
93
119
|
e,
|
|
94
|
-
|
|
120
|
+
l
|
|
95
121
|
] }) : null
|
|
96
122
|
};
|
|
97
|
-
})()
|
|
98
|
-
return /* @__PURE__ */ i(
|
|
123
|
+
})(), C = c ? q(n, a) : void 0, R = /* @__PURE__ */ t(
|
|
99
124
|
"div",
|
|
100
125
|
{
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
126
|
+
ref: o,
|
|
127
|
+
tabIndex: 0,
|
|
128
|
+
className: r(
|
|
129
|
+
"flex flex-1 min-w-0 overflow-x-auto overflow-y-hidden whitespace-nowrap",
|
|
130
|
+
v && "scrollbar-hide",
|
|
131
|
+
"scroll-smooth",
|
|
132
|
+
c && "h-full overscroll-x-contain outline-none"
|
|
104
133
|
),
|
|
105
|
-
style: {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
msOverflowStyle: u ? "none" : "auto"
|
|
123
|
-
},
|
|
124
|
-
"data-component": "horizontal-scroller-viewport",
|
|
125
|
-
children: /* @__PURE__ */ i(
|
|
134
|
+
style: {
|
|
135
|
+
scrollbarWidth: v ? "none" : "auto",
|
|
136
|
+
msOverflowStyle: v ? "none" : "auto",
|
|
137
|
+
WebkitMaskImage: C,
|
|
138
|
+
maskImage: C
|
|
139
|
+
},
|
|
140
|
+
"data-component": "horizontal-scroller-viewport",
|
|
141
|
+
children: /* @__PURE__ */ h(
|
|
142
|
+
"div",
|
|
143
|
+
{
|
|
144
|
+
style: {
|
|
145
|
+
width: `${f.getTotalSize()}px`,
|
|
146
|
+
display: "flex",
|
|
147
|
+
position: "relative"
|
|
148
|
+
},
|
|
149
|
+
children: [
|
|
150
|
+
/* @__PURE__ */ t(
|
|
126
151
|
"div",
|
|
127
152
|
{
|
|
128
153
|
style: {
|
|
129
|
-
width: `${
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
},
|
|
133
|
-
children: [
|
|
134
|
-
/* @__PURE__ */ l(
|
|
135
|
-
"div",
|
|
136
|
-
{
|
|
137
|
-
style: {
|
|
138
|
-
width: `${c.getVirtualItems()[0]?.start ?? 0}px`,
|
|
139
|
-
flexShrink: 0
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
),
|
|
143
|
-
c.getVirtualItems().map((e) => /* @__PURE__ */ l(
|
|
144
|
-
"div",
|
|
145
|
-
{
|
|
146
|
-
ref: c.measureElement,
|
|
147
|
-
"data-index": e.index,
|
|
148
|
-
className: "flex-shrink-0",
|
|
149
|
-
children: R(d[e.index], e.index)
|
|
150
|
-
},
|
|
151
|
-
e.key
|
|
152
|
-
))
|
|
153
|
-
]
|
|
154
|
+
width: `${f.getVirtualItems()[0]?.start ?? 0}px`,
|
|
155
|
+
flexShrink: 0
|
|
156
|
+
}
|
|
154
157
|
}
|
|
158
|
+
),
|
|
159
|
+
f.getVirtualItems().map((e) => /* @__PURE__ */ t(
|
|
160
|
+
"div",
|
|
161
|
+
{
|
|
162
|
+
ref: f.measureElement,
|
|
163
|
+
"data-index": e.index,
|
|
164
|
+
className: "flex-shrink-0",
|
|
165
|
+
children: H(u[e.index], e.index)
|
|
166
|
+
},
|
|
167
|
+
e.key
|
|
168
|
+
))
|
|
169
|
+
]
|
|
170
|
+
}
|
|
171
|
+
)
|
|
172
|
+
}
|
|
173
|
+
);
|
|
174
|
+
return /* @__PURE__ */ t(
|
|
175
|
+
"div",
|
|
176
|
+
{
|
|
177
|
+
className: r(
|
|
178
|
+
"flex items-center gap-2 min-w-0 w-full bg-transparent",
|
|
179
|
+
c && "gap-0",
|
|
180
|
+
B
|
|
181
|
+
),
|
|
182
|
+
style: { maxWidth: W },
|
|
183
|
+
"data-component": "horizontal-scroller",
|
|
184
|
+
...V,
|
|
185
|
+
children: c ? /* @__PURE__ */ h("div", { className: "relative flex min-h-0 min-w-0 flex-1 self-stretch", children: [
|
|
186
|
+
n ? /* @__PURE__ */ t(
|
|
187
|
+
"div",
|
|
188
|
+
{
|
|
189
|
+
"aria-hidden": !0,
|
|
190
|
+
"data-component": "horizontal-scroller-fade-left",
|
|
191
|
+
className: r(
|
|
192
|
+
E,
|
|
193
|
+
"left-0 bg-gradient-to-r from-canvas-elevated from-10% via-canvas-elevated/90 via-50% to-transparent"
|
|
155
194
|
)
|
|
156
195
|
}
|
|
157
|
-
),
|
|
158
|
-
|
|
159
|
-
|
|
196
|
+
) : null,
|
|
197
|
+
a ? /* @__PURE__ */ t(
|
|
198
|
+
"div",
|
|
199
|
+
{
|
|
200
|
+
"aria-hidden": !0,
|
|
201
|
+
"data-component": "horizontal-scroller-fade-right",
|
|
202
|
+
className: r(
|
|
203
|
+
E,
|
|
204
|
+
"right-0 bg-gradient-to-l from-canvas-elevated from-10% via-canvas-elevated/90 via-50% to-transparent"
|
|
205
|
+
)
|
|
206
|
+
}
|
|
207
|
+
) : null,
|
|
208
|
+
d.left,
|
|
209
|
+
d.right,
|
|
210
|
+
R
|
|
211
|
+
] }) : /* @__PURE__ */ h($, { children: [
|
|
212
|
+
d.left,
|
|
213
|
+
R,
|
|
214
|
+
d.right
|
|
215
|
+
] })
|
|
160
216
|
}
|
|
161
217
|
);
|
|
162
218
|
}
|
|
163
|
-
const
|
|
164
|
-
|
|
219
|
+
const J = i.forwardRef(G);
|
|
220
|
+
J.displayName = "HorizontalScroller";
|
|
165
221
|
export {
|
|
166
|
-
|
|
222
|
+
J as HorizontalScroller
|
|
167
223
|
};
|
|
@@ -4,6 +4,8 @@ export interface HorizontalScrollerProps<T> extends Omit<React.HTMLAttributes<HT
|
|
|
4
4
|
renderItem: (item: T, index: number) => React.ReactNode;
|
|
5
5
|
scrollStep?: number;
|
|
6
6
|
hideScrollbar?: boolean;
|
|
7
|
+
/** Overlay edge fades + split chevrons on the viewport (dashboard carousel pattern). */
|
|
8
|
+
edgeAffordance?: boolean;
|
|
7
9
|
controlsPosition?: "left" | "right" | "split";
|
|
8
10
|
renderPrevious?: (props: {
|
|
9
11
|
onClick: () => void;
|
|
@@ -6,5 +6,7 @@ export interface ScrollOverflowAffordanceProps extends Omit<React.HTMLAttributes
|
|
|
6
6
|
hideScrollbar?: boolean;
|
|
7
7
|
viewportClassName?: string;
|
|
8
8
|
viewportDataComponent?: string;
|
|
9
|
+
/** `compact` = small circular chevrons; `default` = 32px rounded-md dashboard controls. */
|
|
10
|
+
controlSize?: "compact" | "default";
|
|
9
11
|
}
|
|
10
|
-
export declare function ScrollOverflowAffordance({ children, scrollStep, contentDependency, hideScrollbar, viewportClassName, viewportDataComponent, className, ...props }: ScrollOverflowAffordanceProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare function ScrollOverflowAffordance({ children, scrollStep, contentDependency, hideScrollbar, viewportClassName, viewportDataComponent, controlSize, className, ...props }: ScrollOverflowAffordanceProps): import("react/jsx-runtime").JSX.Element;
|