impact-nova 2.2.4 → 2.2.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.
Files changed (47) hide show
  1. package/dist/components/data/ag-grid-react/ag-grid-tooltip-overflow.d.ts +2 -1
  2. package/dist/components/data/ag-grid-react/ag-grid-tooltip-overflow.js +12 -11
  3. package/dist/components/data/ag-grid-react/cell-renderers/link-with-batch-cell-renderer.js +109 -87
  4. package/dist/components/data/ag-grid-react/index.d.ts +2 -0
  5. package/dist/components/data/ag-grid-react/index.js +41 -36
  6. package/dist/components/data/data-table/data-table-saved-views.js +216 -191
  7. package/dist/components/data/expandable-list-item/expandable-list-item-attributes.d.ts +2 -1
  8. package/dist/components/data/expandable-list-item/expandable-list-item-attributes.js +30 -27
  9. package/dist/components/data/expandable-list-item/expandable-list-item-metrics.js +44 -30
  10. package/dist/components/data/expandable-list-item/expandable-list-item-parts.d.ts +1 -1
  11. package/dist/components/data/expandable-list-item/expandable-list-item-parts.js +162 -127
  12. package/dist/components/data/expandable-list-item/expandable-list-item-preset.js +30 -29
  13. package/dist/components/data/expandable-list-item/expandable-list-item.types.d.ts +8 -1
  14. package/dist/components/data/expandable-list-item/index.d.ts +1 -1
  15. package/dist/components/data-display/statistics-card/statistics-card.js +138 -111
  16. package/dist/components/feedback/tooltip/index.d.ts +3 -0
  17. package/dist/components/feedback/tooltip/index.js +13 -9
  18. package/dist/components/feedback/tooltip/overflow-tooltip.d.ts +2 -0
  19. package/dist/components/feedback/tooltip/overflow-tooltip.js +69 -0
  20. package/dist/components/feedback/tooltip/overflow-tooltip.types.d.ts +37 -0
  21. package/dist/components/feedback/tooltip/tab-tooltip-render.js +3 -2
  22. package/dist/components/feedback/tooltip/use-overflow-tooltip.d.ts +3 -0
  23. package/dist/components/feedback/tooltip/use-overflow-tooltip.js +55 -0
  24. package/dist/components/flows/command-palette/shortcut-settings.js +85 -66
  25. package/dist/components/flows/filter-panel/filter-panel.js +76 -69
  26. package/dist/components/flows/filter-strip/filter-summary.js +184 -163
  27. package/dist/components/flows/filter-strip/filter-tag-list.js +119 -103
  28. package/dist/components/forms/select/components/SelectOptionRow.js +35 -27
  29. package/dist/components/forms/select/components/SelectTriggerValue.js +49 -20
  30. package/dist/components/forms/select/components/Submenu.js +40 -31
  31. package/dist/components/layout/horizontal-scroller/index.d.ts +4 -0
  32. package/dist/components/layout/horizontal-scroller/index.js +6 -2
  33. package/dist/components/layout/horizontal-scroller/scroll-overflow-affordance.d.ts +10 -0
  34. package/dist/components/layout/horizontal-scroller/scroll-overflow-affordance.js +124 -0
  35. package/dist/components/layout/horizontal-scroller/use-horizontal-scroll-overflow.d.ts +13 -0
  36. package/dist/components/layout/horizontal-scroller/use-horizontal-scroll-overflow.js +40 -0
  37. package/dist/components/primitives/stepper/stepper.js +61 -42
  38. package/dist/impact-nova.css +1 -1
  39. package/dist/index.js +468 -460
  40. package/dist/lib/overflow/is-text-overflowing.d.ts +3 -0
  41. package/dist/lib/overflow/is-text-overflowing.js +6 -0
  42. package/dist/llms/rules/ag-grid.js +1 -1
  43. package/dist/llms/rules/best-practices.js +1 -1
  44. package/dist/llms/rules/installation.js +1 -1
  45. package/dist/llms/rules/requirements.js +1 -1
  46. package/dist/llms/rules/troubleshooting.js +1 -1
  47. package/package.json +1 -1
@@ -1,26 +1,28 @@
1
1
  import { jsxs as s, jsx as t } from "react/jsx-runtime";
2
- import * as l from "@radix-ui/react-popover";
2
+ import * as i from "@radix-ui/react-popover";
3
3
  import { Checkbox as k } from "../../checkbox/checkbox.js";
4
- import { ChevronRight as A, Checkmark as y } from "impact-nova-icons";
4
+ import "react";
5
+ import { OverflowTooltip as y } from "../../../feedback/tooltip/overflow-tooltip.js";
6
+ import { ChevronRight as A, Checkmark as w } from "impact-nova-icons";
5
7
  import { cn as f } from "../../../../lib/utils.js";
6
8
  import { useOverlayPortalContainer as P } from "../../../../lib/overlay/overlay-portal-context.js";
7
- import { OVERLAY_NESTED_FLOATING_INSTANT_HIDE_CLASS as w } from "../../../../lib/overlay/overlay-host.constants.js";
8
- const $ = ({
9
+ import { OVERLAY_NESTED_FLOATING_INSTANT_HIDE_CLASS as D } from "../../../../lib/overlay/overlay-host.constants.js";
10
+ const L = ({
9
11
  parentOption: n,
10
- isMulti: u,
11
- isReadOnly: i,
12
+ isMulti: d,
13
+ isReadOnly: l,
12
14
  isSelected: v,
13
15
  getIndeterminateState: x,
14
- getSelectedCount: h,
15
- handleSelect: g
16
+ getSelectedCount: g,
17
+ handleSelect: h
16
18
  }) => {
17
- const N = P(), d = "children" in n && Array.isArray(n.children) ? n.children : null;
18
- if (!d) return null;
19
+ const C = P(), u = "children" in n && Array.isArray(n.children) ? n.children : null;
20
+ if (!u) return null;
19
21
  const c = String(n.value || "");
20
- return /* @__PURE__ */ s(l.Root, { open: !0, children: [
21
- /* @__PURE__ */ t(l.Anchor, { className: "absolute inset-0 pointer-events-none" }),
22
- /* @__PURE__ */ t(l.Portal, { container: N, children: /* @__PURE__ */ t(
23
- l.Content,
22
+ return /* @__PURE__ */ s(i.Root, { open: !0, children: [
23
+ /* @__PURE__ */ t(i.Anchor, { className: "absolute inset-0 pointer-events-none" }),
24
+ /* @__PURE__ */ t(i.Portal, { container: C, children: /* @__PURE__ */ t(
25
+ i.Content,
24
26
  {
25
27
  side: "right",
26
28
  sideOffset: 8,
@@ -33,21 +35,21 @@ const $ = ({
33
35
  onFocusOutside: (e) => e.preventDefault(),
34
36
  className: f(
35
37
  "select-submenu-container z-50 min-w-[180px] max-h-[300px] overflow-auto rounded-xl bg-canvas-elevated py-1 shadow-elevation-floating",
36
- w
38
+ D
37
39
  ),
38
40
  "data-component": "select-menu",
39
- children: d.map((e) => {
40
- const a = v(e), S = x(e), o = e.isDisabled, m = h(e), r = "children" in e && Array.isArray(e.children) && e.children.length > 0, p = e.isParentSelectable !== !1, b = String(e.value || "");
41
+ children: u.map((e) => {
42
+ const a = v(e), N = x(e), o = e.isDisabled, m = g(e), r = "children" in e && Array.isArray(e.children) && e.children.length > 0, p = e.isParentSelectable !== !1, b = String(e.value || "");
41
43
  return /* @__PURE__ */ s(
42
44
  "div",
43
45
  {
44
46
  className: f(
45
47
  "relative flex h-[35px] cursor-default select-none items-center justify-between gap-1.5 rounded-[8px] px-3",
46
- o ? "cursor-not-allowed bg-canvas-readonly opacity-50" : i ? "cursor-default" : "cursor-pointer hover:bg-canvas-muted",
48
+ o ? "cursor-not-allowed bg-canvas-readonly opacity-50" : l ? "cursor-default" : "cursor-pointer hover:bg-canvas-muted",
47
49
  a && !o && !r ? "bg-brand-subtle text-content" : "text-content"
48
50
  ),
49
- onClick: (C) => {
50
- C.stopPropagation(), !o && !i && p && g(e);
51
+ onClick: (S) => {
52
+ S.stopPropagation(), !o && !l && p && h(e);
51
53
  },
52
54
  "data-testid": `select-submenu-option-${c}-${b}`,
53
55
  "data-state": a ? "checked" : "unchecked",
@@ -55,23 +57,30 @@ const $ = ({
55
57
  "data-component": "select-option",
56
58
  children: [
57
59
  /* @__PURE__ */ s("div", { className: "flex min-w-0 flex-1 items-center gap-1.5", children: [
58
- u && p && /* @__PURE__ */ t(
60
+ d && p && /* @__PURE__ */ t(
59
61
  k,
60
62
  {
61
- checked: S ? "indeterminate" : a,
62
- disabled: o || i,
63
+ checked: N ? "indeterminate" : a,
64
+ disabled: o || l,
63
65
  onChange: () => {
64
66
  }
65
67
  }
66
68
  ),
67
69
  /* @__PURE__ */ t(
68
- "span",
70
+ y,
69
71
  {
70
- className: "block truncate text-[14px] font-medium leading-5",
71
- "data-testid": `select-submenu-option-label-${c}-${b}`,
72
- "data-state": a ? "checked" : "unchecked",
73
- title: String(e.label || ""),
74
- children: e.label
72
+ triggerClassName: "block truncate text-[14px] font-medium leading-5 min-w-0",
73
+ content: String(e.label || ""),
74
+ side: "top",
75
+ variant: "tertiary",
76
+ children: /* @__PURE__ */ t(
77
+ "span",
78
+ {
79
+ "data-testid": `select-submenu-option-label-${c}-${b}`,
80
+ "data-state": a ? "checked" : "unchecked",
81
+ children: e.label
82
+ }
83
+ )
75
84
  }
76
85
  ),
77
86
  r && m > 0 && /* @__PURE__ */ s("span", { className: "text-xs text-secondary-foreground font-medium", children: [
@@ -81,7 +90,7 @@ const $ = ({
81
90
  ] })
82
91
  ] }),
83
92
  r && /* @__PURE__ */ t(A, { size: "sm", className: "text-content-icon" }),
84
- !u && a && !r && /* @__PURE__ */ t(y, { className: "h-4 w-4 text-brand" })
93
+ !d && a && !r && /* @__PURE__ */ t(w, { className: "h-4 w-4 text-brand" })
85
94
  ]
86
95
  },
87
96
  e.value
@@ -92,5 +101,5 @@ const $ = ({
92
101
  ] });
93
102
  };
94
103
  export {
95
- $ as Submenu
104
+ L as Submenu
96
105
  };
@@ -1,3 +1,7 @@
1
1
  export { HorizontalScroller } from './horizontal-scroller';
2
2
  export { HorizontalScroller as default } from './horizontal-scroller';
3
3
  export * from './horizontal-scroller.types';
4
+ export { ScrollOverflowAffordance } from './scroll-overflow-affordance';
5
+ export type { ScrollOverflowAffordanceProps } from './scroll-overflow-affordance';
6
+ export { useHorizontalScrollOverflow } from './use-horizontal-scroll-overflow';
7
+ export type { HorizontalScrollOverflowState, UseHorizontalScrollOverflowOptions, } from './use-horizontal-scroll-overflow';
@@ -1,5 +1,9 @@
1
- import { HorizontalScroller as l, HorizontalScroller as a } from "./horizontal-scroller.js";
1
+ import { HorizontalScroller as l, HorizontalScroller as e } from "./horizontal-scroller.js";
2
+ import { ScrollOverflowAffordance as t } from "./scroll-overflow-affordance.js";
3
+ import { useHorizontalScrollOverflow as c } from "./use-horizontal-scroll-overflow.js";
2
4
  export {
3
5
  l as HorizontalScroller,
4
- a as default
6
+ t as ScrollOverflowAffordance,
7
+ e as default,
8
+ c as useHorizontalScrollOverflow
5
9
  };
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ export interface ScrollOverflowAffordanceProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
3
+ children: React.ReactNode;
4
+ scrollStep?: number;
5
+ contentDependency?: unknown;
6
+ hideScrollbar?: boolean;
7
+ viewportClassName?: string;
8
+ viewportDataComponent?: string;
9
+ }
10
+ export declare function ScrollOverflowAffordance({ children, scrollStep, contentDependency, hideScrollbar, viewportClassName, viewportDataComponent, className, ...props }: ScrollOverflowAffordanceProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,124 @@
1
+ import { jsxs as N, jsx as t } from "react/jsx-runtime";
2
+ import "react";
3
+ import { ChevronRight as D } from "impact-nova-icons";
4
+ import { Button as A } from "../../primitives/button/button.js";
5
+ import { useImpactNovaI18n as L } from "../../../i18n/use-impact-nova-i18n.js";
6
+ import { cn as r } from "../../../lib/utils.js";
7
+ import { useHorizontalScrollOverflow as R } from "./use-horizontal-scroll-overflow.js";
8
+ const s = 48;
9
+ function $(a, o) {
10
+ if (!(!a && !o))
11
+ return a && o ? `linear-gradient(to right, transparent, black ${s}px, black calc(100% - ${s}px), transparent)` : o ? `linear-gradient(to right, black, black calc(100% - ${s}px), transparent 100%)` : `linear-gradient(to right, transparent, black ${s}px, black)`;
12
+ }
13
+ const u = "pointer-events-none absolute top-0 z-10 h-full w-14";
14
+ function F({
15
+ children: a,
16
+ scrollStep: o,
17
+ contentDependency: p,
18
+ hideScrollbar: i = !0,
19
+ viewportClassName: g,
20
+ viewportDataComponent: h = "scroll-overflow-affordance-viewport",
21
+ className: b,
22
+ ...w
23
+ }) {
24
+ const { t: c } = L(), {
25
+ scrollRef: k,
26
+ canScrollLeft: n,
27
+ canScrollRight: l,
28
+ scrollLeft: f,
29
+ scrollRight: d
30
+ } = R({ scrollStep: o, contentDependency: p }), v = $(n, l), x = (e) => {
31
+ if (e.key === "ArrowLeft" && n) {
32
+ e.preventDefault(), f();
33
+ return;
34
+ }
35
+ e.key === "ArrowRight" && l && (e.preventDefault(), d());
36
+ }, m = (e, y, z) => {
37
+ if (z) return null;
38
+ const I = c(e === "left" ? "horizontalScroller.scrollLeft" : "horizontalScroller.scrollRight");
39
+ return /* @__PURE__ */ t(
40
+ A,
41
+ {
42
+ variant: "ghost",
43
+ size: "iconSm",
44
+ className: r(
45
+ "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",
46
+ "bg-canvas-elevated/95 text-content-secondary shadow-sm",
47
+ "hover:bg-canvas-muted hover:text-content",
48
+ "[&_svg]:!size-3",
49
+ e === "left" ? "left-0.5" : "right-0.5"
50
+ ),
51
+ onClick: y,
52
+ "aria-label": I,
53
+ "data-component": e === "left" ? "scroll-overflow-affordance-prev" : "scroll-overflow-affordance-next",
54
+ tabIndex: -1,
55
+ children: /* @__PURE__ */ t(
56
+ D,
57
+ {
58
+ className: r(e === "left" && "rotate-180")
59
+ }
60
+ )
61
+ }
62
+ );
63
+ };
64
+ return /* @__PURE__ */ N(
65
+ "div",
66
+ {
67
+ className: r("relative min-w-0", b),
68
+ "data-component": "scroll-overflow-affordance",
69
+ ...w,
70
+ children: [
71
+ n ? /* @__PURE__ */ t(
72
+ "div",
73
+ {
74
+ "aria-hidden": !0,
75
+ "data-component": "scroll-overflow-affordance-fade-left",
76
+ className: r(
77
+ u,
78
+ "left-0 bg-gradient-to-r from-canvas-elevated from-10% via-canvas-elevated/90 via-50% to-transparent"
79
+ )
80
+ }
81
+ ) : null,
82
+ l ? /* @__PURE__ */ t(
83
+ "div",
84
+ {
85
+ "aria-hidden": !0,
86
+ "data-component": "scroll-overflow-affordance-fade-right",
87
+ className: r(
88
+ u,
89
+ "right-0 bg-gradient-to-l from-canvas-elevated from-10% via-canvas-elevated/90 via-50% to-transparent"
90
+ )
91
+ }
92
+ ) : null,
93
+ m("left", f, !n),
94
+ m("right", d, !l),
95
+ /* @__PURE__ */ t(
96
+ "div",
97
+ {
98
+ ref: k,
99
+ tabIndex: 0,
100
+ onKeyDown: x,
101
+ className: r(
102
+ "overflow-x-auto overflow-y-hidden overscroll-x-contain scroll-smooth outline-none",
103
+ "[-webkit-overflow-scrolling:touch]",
104
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1",
105
+ i && "scrollbar-hide",
106
+ g
107
+ ),
108
+ style: {
109
+ scrollbarWidth: i ? "none" : "auto",
110
+ msOverflowStyle: i ? "none" : "auto",
111
+ WebkitMaskImage: v,
112
+ maskImage: v
113
+ },
114
+ "data-component": h,
115
+ children: a
116
+ }
117
+ )
118
+ ]
119
+ }
120
+ );
121
+ }
122
+ export {
123
+ F as ScrollOverflowAffordance
124
+ };
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ export interface UseHorizontalScrollOverflowOptions {
3
+ scrollStep?: number;
4
+ contentDependency?: unknown;
5
+ }
6
+ export interface HorizontalScrollOverflowState {
7
+ scrollRef: React.RefObject<HTMLDivElement | null>;
8
+ canScrollLeft: boolean;
9
+ canScrollRight: boolean;
10
+ scrollLeft: () => void;
11
+ scrollRight: () => void;
12
+ }
13
+ export declare function useHorizontalScrollOverflow({ scrollStep, contentDependency, }?: UseHorizontalScrollOverflowOptions): HorizontalScrollOverflowState;
@@ -0,0 +1,40 @@
1
+ import * as t from "react";
2
+ function m({
3
+ scrollStep: r = 200,
4
+ contentDependency: i
5
+ } = {}) {
6
+ const l = t.useRef(null), [a, f] = t.useState(!1), [u, h] = t.useState(!1), s = t.useCallback(() => {
7
+ const e = l.current;
8
+ e && (f(e.scrollLeft > 0), h(
9
+ Math.ceil(e.scrollLeft + e.clientWidth) < e.scrollWidth
10
+ ));
11
+ }, []);
12
+ t.useEffect(() => {
13
+ const e = l.current;
14
+ if (!e) return;
15
+ s();
16
+ const o = () => s();
17
+ e.addEventListener("scroll", o, { passive: !0 });
18
+ const c = new ResizeObserver(() => s());
19
+ c.observe(e);
20
+ const n = e.firstElementChild;
21
+ return n && c.observe(n), () => {
22
+ e.removeEventListener("scroll", o), c.disconnect();
23
+ };
24
+ }, [s, i]);
25
+ const v = t.useCallback(() => {
26
+ l.current?.scrollBy({ left: -r, behavior: "smooth" });
27
+ }, [r]), b = t.useCallback(() => {
28
+ l.current?.scrollBy({ left: r, behavior: "smooth" });
29
+ }, [r]);
30
+ return {
31
+ scrollRef: l,
32
+ canScrollLeft: a,
33
+ canScrollRight: u,
34
+ scrollLeft: v,
35
+ scrollRight: b
36
+ };
37
+ }
38
+ export {
39
+ m as useHorizontalScrollOverflow
40
+ };
@@ -1,71 +1,90 @@
1
- import { jsx as t, jsxs as p } from "react/jsx-runtime";
2
- import * as y from "react";
1
+ import { jsx as e, jsxs as p } from "react/jsx-runtime";
2
+ import * as k from "react";
3
3
  import { Checkmark as I } from "impact-nova-icons";
4
4
  import { createComponent as j } from "../../../lib/primitives/create-component.js";
5
- import { cn as a } from "../../../lib/utils.js";
6
- import { useImpactNovaI18n as k } from "../../../i18n/use-impact-nova-i18n.js";
7
- import { iconVariants as z, stepVariants as D, stepperVariants as V } from "./stepper.variants.js";
5
+ import { cn as o } from "../../../lib/utils.js";
6
+ import { OverflowTooltip as u } from "../../feedback/tooltip/overflow-tooltip.js";
7
+ import { useImpactNovaI18n as z } from "../../../i18n/use-impact-nova-i18n.js";
8
+ import { iconVariants as D, stepVariants as V, stepperVariants as A } from "./stepper.variants.js";
8
9
  const R = j(
9
10
  "Stepper",
10
- ({ className: u, currentStep: x, steps: n, orientation: e = "horizontal", onStepClick: s, ...v }, b) => {
11
- const { t: N } = k(), g = n.length;
12
- return /* @__PURE__ */ t(
11
+ ({ className: v, currentStep: f, steps: n, orientation: r = "horizontal", onStepClick: s, ...b }, g) => {
12
+ const { t: w } = z(), y = n.length;
13
+ return /* @__PURE__ */ e(
13
14
  "div",
14
15
  {
15
- ref: b,
16
- className: a(V({ orientation: e }), u),
17
- "data-orientation": e,
16
+ ref: g,
17
+ className: o(A({ orientation: r }), v),
18
+ "data-orientation": r,
18
19
  "data-component": "stepper",
19
20
  role: "list",
20
- ...v,
21
- children: n.map((d, o) => {
22
- const c = typeof d == "string" ? { label: d } : d, l = o + 1, f = l === x, h = l < x, i = c.disabled, r = h ? "completed" : f ? "active" : "default", w = N("stepper.stepOfTotal", { current: l, total: g });
23
- return /* @__PURE__ */ p(y.Fragment, { children: [
21
+ ...b,
22
+ children: n.map((d, i) => {
23
+ const t = typeof d == "string" ? { label: d } : d, l = i + 1, x = l === f, h = l < f, c = t.disabled, a = h ? "completed" : x ? "active" : "default", N = w("stepper.stepOfTotal", { current: l, total: y });
24
+ return /* @__PURE__ */ p(k.Fragment, { children: [
24
25
  /* @__PURE__ */ p(
25
26
  "div",
26
27
  {
27
28
  role: "listitem",
28
- onClick: () => !i && s?.(o),
29
- "aria-label": w,
30
- "aria-current": f ? "step" : void 0,
31
- tabIndex: s && !i ? 0 : void 0,
32
- onKeyDown: s && !i ? (m) => {
33
- (m.key === "Enter" || m.key === " ") && (m.preventDefault(), s(o));
29
+ onClick: () => !c && s?.(i),
30
+ "aria-label": N,
31
+ "aria-current": x ? "step" : void 0,
32
+ tabIndex: s && !c ? 0 : void 0,
33
+ onKeyDown: s && !c ? (m) => {
34
+ (m.key === "Enter" || m.key === " ") && (m.preventDefault(), s(i));
34
35
  } : void 0,
35
36
  "data-step": l,
36
- "data-status": r,
37
- "data-disabled": i || void 0,
38
- className: a(
39
- D({ orientation: e, status: r }),
40
- e === "horizontal" && "min-w-[140px]",
41
- i ? "opacity-80 cursor-not-allowed" : s ? "cursor-pointer" : "cursor-default"
37
+ "data-status": a,
38
+ "data-disabled": c || void 0,
39
+ className: o(
40
+ V({ orientation: r, status: a }),
41
+ r === "horizontal" && "min-w-[140px]",
42
+ c ? "opacity-80 cursor-not-allowed" : s ? "cursor-pointer" : "cursor-default"
42
43
  ),
43
44
  children: [
44
- /* @__PURE__ */ t("div", { className: a(z({ status: r }), "mr-2"), children: h ? /* @__PURE__ */ t(I, { className: "h-5 w-5 stroke-[3px]" }) : /* @__PURE__ */ t("span", { children: c.icon || l }) }),
45
- /* @__PURE__ */ p("div", { className: "flex flex-col justify-center overflow-hidden", children: [
46
- /* @__PURE__ */ t("div", { className: a(
47
- "text-[14px] leading-tight font-medium truncate max-w-[200px]",
48
- r === "completed" ? "text-success" : "text-content",
49
- r === "active" && e === "vertical" ? "text-brand" : ""
50
- ), children: c.label }),
51
- c.description && /* @__PURE__ */ t("div", { className: a(
52
- "text-[12px] leading-tight mt-0.5 truncate max-w-[200px]",
53
- r === "completed" ? "text-success" : "text-secondary-foreground"
54
- ), children: c.description })
45
+ /* @__PURE__ */ e("div", { className: o(D({ status: a }), "mr-2"), children: h ? /* @__PURE__ */ e(I, { className: "h-5 w-5 stroke-[3px]" }) : /* @__PURE__ */ e("span", { children: t.icon || l }) }),
46
+ /* @__PURE__ */ p("div", { className: "flex flex-col justify-center overflow-hidden min-w-0", children: [
47
+ /* @__PURE__ */ e(
48
+ u,
49
+ {
50
+ triggerClassName: o(
51
+ "text-[14px] leading-tight font-medium truncate max-w-[200px] block",
52
+ a === "completed" ? "text-success" : "text-content",
53
+ a === "active" && r === "vertical" ? "text-brand" : ""
54
+ ),
55
+ content: t.label,
56
+ side: "top",
57
+ variant: "tertiary",
58
+ children: t.label
59
+ }
60
+ ),
61
+ t.description && /* @__PURE__ */ e(
62
+ u,
63
+ {
64
+ triggerClassName: o(
65
+ "text-[12px] leading-tight mt-0.5 truncate max-w-[200px] block",
66
+ a === "completed" ? "text-success" : "text-secondary-foreground"
67
+ ),
68
+ content: t.description,
69
+ side: "top",
70
+ variant: "tertiary",
71
+ children: t.description
72
+ }
73
+ )
55
74
  ] })
56
75
  ]
57
76
  }
58
77
  ),
59
- o < n.length - 1 && /* @__PURE__ */ t(
78
+ i < n.length - 1 && /* @__PURE__ */ e(
60
79
  "div",
61
80
  {
62
- className: a(
81
+ className: o(
63
82
  "border-t border-dashed border-stroke-hairline transition-colors",
64
- e === "horizontal" ? "flex-1 min-w-[24px] mx-1 self-center" : "h-6 w-0 border-l ml-[12px] my-[-4px]"
83
+ r === "horizontal" ? "flex-1 min-w-[24px] mx-1 self-center" : "h-6 w-0 border-l ml-[12px] my-[-4px]"
65
84
  )
66
85
  }
67
86
  )
68
- ] }, o);
87
+ ] }, i);
69
88
  })
70
89
  }
71
90
  );