@cntyclub/ui-react 0.7.0 → 0.7.1
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/index.d.ts +6 -10
- package/dist/index.js +25 -43
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/ui/pipeline.tsx +31 -56
package/dist/index.d.ts
CHANGED
|
@@ -1233,20 +1233,16 @@ interface PipelineProps extends React$1.ComponentProps<"div"> {
|
|
|
1233
1233
|
/** Ordered funnel stages, left to right. */
|
|
1234
1234
|
stages: PipelineStage[];
|
|
1235
1235
|
/**
|
|
1236
|
-
* Conversion markers shown
|
|
1237
|
-
*
|
|
1236
|
+
* Conversion markers shown after each stage (length = `stages.length - 1`).
|
|
1237
|
+
* Typically a percentage string; any node works.
|
|
1238
1238
|
*/
|
|
1239
1239
|
conversions?: React$1.ReactNode[];
|
|
1240
1240
|
}
|
|
1241
1241
|
/**
|
|
1242
|
-
* A horizontal conversion funnel — a row of headline stages with the
|
|
1243
|
-
* step-to-step conversion
|
|
1244
|
-
*
|
|
1245
|
-
*
|
|
1246
|
-
* it lays out as a horizontal funnel when it has room and stacks vertically
|
|
1247
|
-
* when narrow (e.g. beside a docked panel). When stacked, each conversion sits
|
|
1248
|
-
* attached to the stage number it converts from; when wide, it sits between
|
|
1249
|
-
* the two stages with a chevron.
|
|
1242
|
+
* A horizontal conversion funnel — a row of headline stages, each with the
|
|
1243
|
+
* step-to-step conversion pill sitting right beside its number. The row wraps
|
|
1244
|
+
* onto multiple lines when space is tight (e.g. beside a docked panel), so it
|
|
1245
|
+
* stays readable without stretching the stages apart.
|
|
1250
1246
|
*/
|
|
1251
1247
|
declare function Pipeline({ stages, conversions, className, ...props }: PipelineProps): React$1.JSX.Element;
|
|
1252
1248
|
/** The small pill that carries a stage-to-stage conversion value. */
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
|
6
6
|
import { cva } from 'class-variance-authority';
|
|
7
7
|
import { AlertDialog as AlertDialog$1 } from '@base-ui/react/alert-dialog';
|
|
8
8
|
import * as React17 from 'react';
|
|
9
|
-
import { createContext, memo, forwardRef, useRef, useState, useMemo, useContext, useEffect, useCallback,
|
|
9
|
+
import { createContext, memo, forwardRef, useRef, useState, useMemo, useContext, useEffect, useCallback, useSyncExternalStore, isValidElement, useLayoutEffect } from 'react';
|
|
10
10
|
import { flushSync } from 'react-dom';
|
|
11
11
|
import { mergeProps } from '@base-ui/react/merge-props';
|
|
12
12
|
import { useRender } from '@base-ui/react/use-render';
|
|
@@ -7406,51 +7406,33 @@ function StepperSeparator({ className, ...props }) {
|
|
|
7406
7406
|
);
|
|
7407
7407
|
}
|
|
7408
7408
|
function Pipeline({ stages, conversions = [], className, ...props }) {
|
|
7409
|
-
return /* @__PURE__ */ jsx(
|
|
7410
|
-
|
|
7411
|
-
|
|
7412
|
-
|
|
7413
|
-
|
|
7414
|
-
|
|
7415
|
-
|
|
7416
|
-
|
|
7417
|
-
|
|
7418
|
-
|
|
7419
|
-
/* @__PURE__ */ jsx(
|
|
7420
|
-
"span",
|
|
7421
|
-
{
|
|
7422
|
-
className: cn(
|
|
7423
|
-
"font-semibold text-2xl text-foreground leading-none tabular-nums tracking-tight",
|
|
7424
|
-
stage.accent && "text-primary"
|
|
7425
|
-
),
|
|
7426
|
-
children: stage.value
|
|
7427
|
-
}
|
|
7428
|
-
),
|
|
7429
|
-
conv != null ? /* @__PURE__ */ jsx(PipelineConversion, { className: "@min-[640px]:hidden", children: conv }) : null
|
|
7430
|
-
] }),
|
|
7431
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 text-muted-foreground text-xs leading-snug", children: stage.label })
|
|
7432
|
-
]
|
|
7433
|
-
}
|
|
7434
|
-
),
|
|
7435
|
-
conv != null ? /* @__PURE__ */ jsxs(
|
|
7436
|
-
"div",
|
|
7437
|
-
{
|
|
7438
|
-
className: "hidden flex-col items-center justify-center gap-1 self-center px-1 @min-[640px]:flex",
|
|
7439
|
-
"data-slot": "pipeline-connector",
|
|
7440
|
-
children: [
|
|
7441
|
-
/* @__PURE__ */ jsx(PipelineConversion, { children: conv }),
|
|
7409
|
+
return /* @__PURE__ */ jsx(
|
|
7410
|
+
"div",
|
|
7411
|
+
{
|
|
7412
|
+
className: cn("flex flex-wrap items-start gap-x-5 gap-y-4", className),
|
|
7413
|
+
"data-slot": "pipeline",
|
|
7414
|
+
...props,
|
|
7415
|
+
children: stages.map((stage, i) => {
|
|
7416
|
+
const conv = i < stages.length - 1 ? conversions[i] : void 0;
|
|
7417
|
+
return /* @__PURE__ */ jsxs("div", { "data-slot": "pipeline-stage", children: [
|
|
7418
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-2", children: [
|
|
7442
7419
|
/* @__PURE__ */ jsx(
|
|
7443
|
-
|
|
7420
|
+
"span",
|
|
7444
7421
|
{
|
|
7445
|
-
className:
|
|
7446
|
-
|
|
7422
|
+
className: cn(
|
|
7423
|
+
"font-sans font-semibold text-3xl text-foreground leading-none tabular-nums tracking-tight",
|
|
7424
|
+
stage.accent && "text-primary"
|
|
7425
|
+
),
|
|
7426
|
+
children: stage.value
|
|
7447
7427
|
}
|
|
7448
|
-
)
|
|
7449
|
-
|
|
7450
|
-
|
|
7451
|
-
|
|
7452
|
-
|
|
7453
|
-
|
|
7428
|
+
),
|
|
7429
|
+
conv != null ? /* @__PURE__ */ jsx(PipelineConversion, { children: conv }) : null
|
|
7430
|
+
] }),
|
|
7431
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1.5 text-muted-foreground text-xs leading-snug", children: stage.label })
|
|
7432
|
+
] }, i);
|
|
7433
|
+
})
|
|
7434
|
+
}
|
|
7435
|
+
);
|
|
7454
7436
|
}
|
|
7455
7437
|
function PipelineConversion({
|
|
7456
7438
|
className,
|