@fairmint/ui 0.4.16 → 0.4.18
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/_virtual/index3.cjs +3 -5
- package/dist/_virtual/index3.cjs.map +1 -1
- package/dist/_virtual/index3.js +2 -5
- package/dist/_virtual/index3.js.map +1 -1
- package/dist/_virtual/index4.cjs +5 -3
- package/dist/_virtual/index4.cjs.map +1 -1
- package/dist/_virtual/index4.js +5 -2
- package/dist/_virtual/index4.js.map +1 -1
- package/dist/components/generic/StepProgress/StepProgress.cjs +66 -9
- package/dist/components/generic/StepProgress/StepProgress.cjs.map +1 -1
- package/dist/components/generic/StepProgress/StepProgress.d.ts +18 -4
- package/dist/components/generic/StepProgress/StepProgress.d.ts.map +1 -1
- package/dist/components/generic/StepProgress/StepProgress.js +66 -9
- package/dist/components/generic/StepProgress/StepProgress.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@mantine/form/esm/hooks/use-form-status/use-form-status.cjs +1 -1
- package/dist/node_modules/@mantine/form/esm/hooks/use-form-status/use-form-status.js +1 -1
- package/dist/node_modules/prop-types/index.cjs +1 -1
- package/dist/node_modules/prop-types/index.js +1 -1
- package/dist/styles.css +345 -31
- package/package.json +1 -1
package/dist/_virtual/index3.cjs
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const isEqual = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(fastDeepEqualExports);
|
|
6
|
-
module.exports = isEqual;
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
var propTypes = { exports: {} };
|
|
4
|
+
exports.__module = propTypes;
|
|
7
5
|
//# sourceMappingURL=index3.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index3.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index3.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/dist/_virtual/index3.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import { __require as requireFastDeepEqual } from "../node_modules/fast-deep-equal/index.js";
|
|
3
|
-
var fastDeepEqualExports = requireFastDeepEqual();
|
|
4
|
-
const isEqual = /* @__PURE__ */ getDefaultExportFromCjs(fastDeepEqualExports);
|
|
1
|
+
var propTypes = { exports: {} };
|
|
5
2
|
export {
|
|
6
|
-
|
|
3
|
+
propTypes as __module
|
|
7
4
|
};
|
|
8
5
|
//# sourceMappingURL=index3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index3.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/_virtual/index4.cjs
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
const _commonjsHelpers = require("./_commonjsHelpers.cjs");
|
|
3
|
+
const index = require("../node_modules/fast-deep-equal/index.cjs");
|
|
4
|
+
var fastDeepEqualExports = index.__require();
|
|
5
|
+
const isEqual = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(fastDeepEqualExports);
|
|
6
|
+
module.exports = isEqual;
|
|
5
7
|
//# sourceMappingURL=index4.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index4.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index4.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
package/dist/_virtual/index4.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { getDefaultExportFromCjs } from "./_commonjsHelpers.js";
|
|
2
|
+
import { __require as requireFastDeepEqual } from "../node_modules/fast-deep-equal/index.js";
|
|
3
|
+
var fastDeepEqualExports = requireFastDeepEqual();
|
|
4
|
+
const isEqual = /* @__PURE__ */ getDefaultExportFromCjs(fastDeepEqualExports);
|
|
2
5
|
export {
|
|
3
|
-
|
|
6
|
+
isEqual as default
|
|
4
7
|
};
|
|
5
8
|
//# sourceMappingURL=index4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const React = require("react");
|
|
4
5
|
const index = require("../../../theme/index.cjs");
|
|
5
6
|
const layout = require("../../primitives/layout.cjs");
|
|
6
7
|
;/* empty css */
|
|
@@ -20,11 +21,36 @@ const CheckIcon = () => /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
20
21
|
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m5 13 4 4 10-10" })
|
|
21
22
|
}
|
|
22
23
|
);
|
|
24
|
+
const StopIcon = () => /* @__PURE__ */ jsxRuntime.jsx(
|
|
25
|
+
"svg",
|
|
26
|
+
{
|
|
27
|
+
width: "11",
|
|
28
|
+
height: "11",
|
|
29
|
+
viewBox: "0 0 24 24",
|
|
30
|
+
fill: "none",
|
|
31
|
+
stroke: "currentColor",
|
|
32
|
+
strokeWidth: "2.5",
|
|
33
|
+
strokeLinecap: "round",
|
|
34
|
+
strokeLinejoin: "round",
|
|
35
|
+
"aria-hidden": "true",
|
|
36
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 7l10 10M17 7 7 17" })
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
const STATUS_TEXT = {
|
|
40
|
+
complete: "(done)",
|
|
41
|
+
active: void 0,
|
|
42
|
+
pending: void 0,
|
|
43
|
+
stopped: "(stopped)"
|
|
44
|
+
};
|
|
23
45
|
const resolveActiveStep = (activeStep, stepCount) => {
|
|
24
46
|
if (!Number.isFinite(activeStep)) return 1;
|
|
25
47
|
return Math.min(Math.max(Math.trunc(activeStep), 1), stepCount);
|
|
26
48
|
};
|
|
27
|
-
const getStepProgressStatus = (step, stepNumber, activeStep) => {
|
|
49
|
+
const getStepProgressStatus = (step, stepNumber, activeStep, variant = "navigation") => {
|
|
50
|
+
if (variant === "status") {
|
|
51
|
+
if (step.stopped) return "stopped";
|
|
52
|
+
if (step.completed) return "complete";
|
|
53
|
+
}
|
|
28
54
|
if (stepNumber === activeStep) return "active";
|
|
29
55
|
if (step.completed ?? stepNumber < activeStep) return "complete";
|
|
30
56
|
return "pending";
|
|
@@ -33,11 +59,28 @@ function StepProgress({
|
|
|
33
59
|
steps,
|
|
34
60
|
activeStep,
|
|
35
61
|
orientation = "horizontal",
|
|
62
|
+
variant = "navigation",
|
|
36
63
|
onStepChange,
|
|
37
64
|
ariaLabel = "Progress"
|
|
38
65
|
}) {
|
|
66
|
+
const listRef = React.useRef(null);
|
|
67
|
+
const resolvedActiveStep = resolveActiveStep(activeStep, Math.max(steps.length, 1));
|
|
68
|
+
React.useEffect(() => {
|
|
69
|
+
const list = listRef.current;
|
|
70
|
+
const pill = list?.children[resolvedActiveStep - 1]?.querySelector(
|
|
71
|
+
".fairmint-step-progress__pill"
|
|
72
|
+
);
|
|
73
|
+
if (!list || !pill || list.scrollWidth <= list.clientWidth) return;
|
|
74
|
+
const listBox = list.getBoundingClientRect();
|
|
75
|
+
const pillBox = pill.getBoundingClientRect();
|
|
76
|
+
if (pillBox.left < listBox.left) {
|
|
77
|
+
list.scrollLeft -= listBox.left - pillBox.left;
|
|
78
|
+
} else if (pillBox.right > listBox.right) {
|
|
79
|
+
list.scrollLeft += pillBox.right - listBox.right;
|
|
80
|
+
}
|
|
81
|
+
}, [resolvedActiveStep]);
|
|
39
82
|
if (steps.length === 0) return null;
|
|
40
|
-
const
|
|
83
|
+
const isStatus = variant === "status";
|
|
41
84
|
const rootStyle = {
|
|
42
85
|
"--fairmint-step-progress-brand": index.brandColors.indigo,
|
|
43
86
|
// colorBorderDefault washes out on colorBgSurfaceSecondary; text-secondary clears 3:1.
|
|
@@ -53,23 +96,37 @@ function StepProgress({
|
|
|
53
96
|
"--fairmint-step-progress-active-border": index.indigoColors[3],
|
|
54
97
|
"--fairmint-step-progress-active-indicator-text": index.commonColors.white,
|
|
55
98
|
"--fairmint-step-progress-complete-border": index.indigoColors[3],
|
|
56
|
-
"--fairmint-step-progress-complete-text": index.fairmintVars.colorIconOnSurfaceSelected
|
|
99
|
+
"--fairmint-step-progress-complete-text": index.fairmintVars.colorIconOnSurfaceSelected,
|
|
100
|
+
// The detail line is the one place that needs muted ink; pending labels above it stay primary.
|
|
101
|
+
"--fairmint-step-progress-detail": index.fairmintVars.colorTextSecondary,
|
|
102
|
+
"--fairmint-step-progress-stopped": index.fairmintVars.colorErrorSolid,
|
|
103
|
+
"--fairmint-step-progress-stopped-text": index.fairmintVars.colorErrorText,
|
|
104
|
+
// Status rows lay out as a grid; the last column never stretches, so it stays flush right.
|
|
105
|
+
"--fairmint-step-progress-columns": steps.length > 1 ? `repeat(${steps.length - 1}, auto) minmax(min-content, max-content)` : "minmax(min-content, max-content)"
|
|
57
106
|
};
|
|
58
107
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
59
108
|
layout.Box,
|
|
60
109
|
{
|
|
61
|
-
component: "nav",
|
|
110
|
+
component: isStatus ? "div" : "nav",
|
|
111
|
+
role: isStatus ? "group" : void 0,
|
|
62
112
|
"aria-label": ariaLabel,
|
|
63
113
|
className: "fairmint-step-progress",
|
|
64
114
|
"data-orientation": orientation,
|
|
115
|
+
"data-variant": variant,
|
|
65
116
|
style: rootStyle,
|
|
66
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "fairmint-step-progress__list", children: steps.map((step, index2) => {
|
|
117
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("ol", { ref: listRef, className: "fairmint-step-progress__list", children: steps.map((step, index2) => {
|
|
67
118
|
const stepNumber = index2 + 1;
|
|
68
|
-
const status = getStepProgressStatus(step, stepNumber, resolvedActiveStep);
|
|
69
|
-
const isInteractive = Boolean(onStepChange) && !step.disabled;
|
|
119
|
+
const status = getStepProgressStatus(step, stepNumber, resolvedActiveStep, variant);
|
|
120
|
+
const isInteractive = !isStatus && Boolean(onStepChange) && !step.disabled;
|
|
121
|
+
const detail = isStatus ? step.detail : void 0;
|
|
122
|
+
const statusText = isStatus ? STATUS_TEXT[status] : void 0;
|
|
70
123
|
const pillContent = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
71
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "fairmint-step-progress__indicator", "aria-hidden": "true", children: status === "complete" ? /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, {}) : stepNumber }),
|
|
72
|
-
/* @__PURE__ */ jsxRuntime.
|
|
124
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "fairmint-step-progress__indicator", "aria-hidden": "true", children: status === "complete" ? /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, {}) : status === "stopped" ? /* @__PURE__ */ jsxRuntime.jsx(StopIcon, {}) : stepNumber }),
|
|
125
|
+
detail ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "fairmint-step-progress__text", children: [
|
|
126
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "fairmint-step-progress__label", children: step.label }),
|
|
127
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "fairmint-step-progress__detail", children: detail })
|
|
128
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "fairmint-step-progress__label", children: step.label }),
|
|
129
|
+
statusText ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "fairmint-step-progress__status-text", children: statusText }) : null
|
|
73
130
|
] });
|
|
74
131
|
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "fairmint-step-progress__item", children: [
|
|
75
132
|
isInteractive ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepProgress.cjs","sources":["../../../../src/components/generic/StepProgress/StepProgress.tsx"],"sourcesContent":["import { brandColors, commonColors, fairmintVars, indigoColors } from \"../../../theme\";\nimport { Box, UnstyledButton } from \"../../primitives/layout\";\nimport \"./StepProgress.css\";\n\nexport type StepProgressOrientation = \"horizontal\" | \"vertical\";\nexport type StepProgressStepStatus = \"complete\" | \"active\" | \"pending\";\n\nexport interface StepProgressStep {\n /** Visible label in the progress pill. */\n label: string;\n /** Explicitly mark a step complete when completion is not derived from activeStep. */\n completed?: boolean;\n /** Prevent navigation to this step when onStepChange is supplied. */\n disabled?: boolean;\n}\n\nexport interface StepProgressProps {\n /** Ordered steps. The visible number is derived from this array and is 1-indexed. */\n steps: readonly StepProgressStep[];\n /** Current step number. This is intentionally 1-indexed to match StepCard and the UI. */\n activeStep: number;\n /** Row of pills for in-app progress or a rail for onboarding. @default \"horizontal\" */\n orientation?: StepProgressOrientation;\n /** Called with the 1-indexed step number when a pill is activated. */\n onStepChange?: (step: number) => void;\n /** Accessible label for the navigation. @default \"Progress\" */\n ariaLabel?: string;\n}\n\nconst CheckIcon = () => (\n <svg\n width=\"11\"\n height=\"11\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"m5 13 4 4 10-10\" />\n </svg>\n);\n\nconst resolveActiveStep = (activeStep: number, stepCount: number) => {\n if (!Number.isFinite(activeStep)) return 1;\n return Math.min(Math.max(Math.trunc(activeStep), 1), stepCount);\n};\n\nexport const getStepProgressStatus = (\n step: StepProgressStep,\n stepNumber: number,\n activeStep: number,\n): StepProgressStepStatus => {\n if (stepNumber === activeStep) return \"active\";\n if (step.completed ?? stepNumber < activeStep) return \"complete\";\n return \"pending\";\n};\n\n/**\n * Numbered progress pills shared by horizontal in-app flows and vertical\n * onboarding rails. Owns navigation only — the numbered content container is\n * `StepCard`, and `StepFlow` pairs the two into the canonical shell.\n */\nexport function StepProgress({\n steps,\n activeStep,\n orientation = \"horizontal\",\n onStepChange,\n ariaLabel = \"Progress\",\n}: StepProgressProps) {\n if (steps.length === 0) return null;\n\n const resolvedActiveStep = resolveActiveStep(activeStep, steps.length);\n const rootStyle = {\n \"--fairmint-step-progress-brand\": brandColors.indigo,\n // colorBorderDefault washes out on colorBgSurfaceSecondary; text-secondary clears 3:1.\n \"--fairmint-step-progress-border\": fairmintVars.colorTextSecondary,\n // Kept off the ring token: the ring carries the step number and needs 3:1, the\n // connector is decorative and reads as a hairline between pills.\n \"--fairmint-step-progress-connector\": fairmintVars.colorBorderDefault,\n \"--fairmint-step-progress-text-primary\": fairmintVars.colorTextPrimary,\n // Pending labels use primary ink; active hierarchy is weight + fill, not mute gray.\n \"--fairmint-step-progress-text-secondary\": fairmintVars.colorTextPrimary,\n // indigo[1] — surface-selected (indigo[0]) is too close to the secondary canvas.\n \"--fairmint-step-progress-surface-selected\": fairmintVars.colorBgBrandSubtleHover,\n \"--fairmint-step-progress-active-border\": indigoColors[3],\n \"--fairmint-step-progress-active-indicator-text\": commonColors.white,\n \"--fairmint-step-progress-complete-border\": indigoColors[3],\n \"--fairmint-step-progress-complete-text\": fairmintVars.colorIconOnSurfaceSelected,\n };\n\n return (\n <Box\n component=\"nav\"\n aria-label={ariaLabel}\n className=\"fairmint-step-progress\"\n data-orientation={orientation}\n style={rootStyle}\n >\n <ol className=\"fairmint-step-progress__list\">\n {steps.map((step, index) => {\n const stepNumber = index + 1;\n const status = getStepProgressStatus(step, stepNumber, resolvedActiveStep);\n const isInteractive = Boolean(onStepChange) && !step.disabled;\n const pillContent = (\n <>\n <span className=\"fairmint-step-progress__indicator\" aria-hidden=\"true\">\n {status === \"complete\" ? <CheckIcon /> : stepNumber}\n </span>\n <span className=\"fairmint-step-progress__label\">{step.label}</span>\n </>\n );\n\n return (\n <li key={`${stepNumber}-${step.label}`} className=\"fairmint-step-progress__item\">\n {isInteractive ? (\n <UnstyledButton\n type=\"button\"\n className=\"fairmint-step-progress__pill\"\n data-state={status}\n data-interactive=\"true\"\n data-disabled=\"false\"\n aria-current={status === \"active\" ? \"step\" : undefined}\n aria-label={`Step ${stepNumber}: ${step.label}`}\n onClick={() => onStepChange?.(stepNumber)}\n >\n {pillContent}\n </UnstyledButton>\n ) : (\n <span\n className=\"fairmint-step-progress__pill\"\n data-state={status}\n data-disabled={step.disabled ? \"true\" : \"false\"}\n aria-current={status === \"active\" ? \"step\" : undefined}\n aria-disabled={step.disabled || undefined}\n title={`Step ${stepNumber}: ${step.label}`}\n >\n {pillContent}\n </span>\n )}\n {index < steps.length - 1 ? (\n <span\n className=\"fairmint-step-progress__connector\"\n data-state={status}\n aria-hidden=\"true\"\n />\n ) : null}\n </li>\n );\n })}\n </ol>\n </Box>\n );\n}\n\nexport const STEP_PROGRESS_MOBILE_BREAKPOINT = \"48em\";\n"],"names":["jsx","brandColors","fairmintVars","indigoColors","commonColors","Box","index","jsxs","Fragment","UnstyledButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StepProgress.cjs","sources":["../../../../src/components/generic/StepProgress/StepProgress.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { brandColors, commonColors, fairmintVars, indigoColors } from \"../../../theme\";\nimport { Box, UnstyledButton } from \"../../primitives/layout\";\nimport \"./StepProgress.css\";\n\nexport type StepProgressOrientation = \"horizontal\" | \"vertical\";\nexport type StepProgressVariant = \"navigation\" | \"status\";\nexport type StepProgressStepStatus = \"complete\" | \"active\" | \"pending\" | \"stopped\";\n\nexport interface StepProgressStep {\n /** Visible label in the progress pill. */\n label: string;\n /** Explicitly mark a step complete when completion is not derived from activeStep. */\n completed?: boolean;\n /** Prevent navigation to this step when onStepChange is supplied. */\n disabled?: boolean;\n /** Second line under the label, such as when the step happened. Shown by the status variant only. */\n detail?: string;\n /** The record stopped at this step (rejected, failed, cancelled). Shown by the status variant only. */\n stopped?: boolean;\n}\n\nexport interface StepProgressProps {\n /** Ordered steps. The visible number is derived from this array and is 1-indexed. */\n steps: readonly StepProgressStep[];\n /** Current step number. This is intentionally 1-indexed to match StepCard and the UI. */\n activeStep: number;\n /** Row of pills for in-app progress or a rail for onboarding. @default \"horizontal\" */\n orientation?: StepProgressOrientation;\n /**\n * `navigation` is where the user is in a flow they are filling in. `status` is where a\n * record is in its lifecycle: read-only, no pill, and each step can carry a `detail`.\n * @default \"navigation\"\n */\n variant?: StepProgressVariant;\n /** Called with the 1-indexed step number when a pill is activated. Ignored by the status variant. */\n onStepChange?: (step: number) => void;\n /** Accessible label for the navigation. @default \"Progress\" */\n ariaLabel?: string;\n}\n\nconst CheckIcon = () => (\n <svg\n width=\"11\"\n height=\"11\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"m5 13 4 4 10-10\" />\n </svg>\n);\n\nconst StopIcon = () => (\n <svg\n width=\"11\"\n height=\"11\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M7 7l10 10M17 7 7 17\" />\n </svg>\n);\n\nconst STATUS_TEXT: Readonly<Record<StepProgressStepStatus, string | undefined>> = {\n complete: \"(done)\",\n active: undefined,\n pending: undefined,\n stopped: \"(stopped)\",\n};\n\nconst resolveActiveStep = (activeStep: number, stepCount: number) => {\n if (!Number.isFinite(activeStep)) return 1;\n return Math.min(Math.max(Math.trunc(activeStep), 1), stepCount);\n};\n\nexport const getStepProgressStatus = (\n step: StepProgressStep,\n stepNumber: number,\n activeStep: number,\n variant: StepProgressVariant = \"navigation\",\n): StepProgressStepStatus => {\n if (variant === \"status\") {\n if (step.stopped) return \"stopped\";\n // A finished record has no current step: its last step is done, not in progress.\n if (step.completed) return \"complete\";\n }\n if (stepNumber === activeStep) return \"active\";\n if (step.completed ?? stepNumber < activeStep) return \"complete\";\n return \"pending\";\n};\n\n/**\n * Numbered progress pills shared by horizontal in-app flows and vertical\n * onboarding rails. Owns navigation only — the numbered content container is\n * `StepCard`, and `StepFlow` pairs the two into the canonical shell.\n *\n * The `status` variant reuses the same anatomy as a read-only lifecycle track,\n * so a record's progress and a flow's progress look like one component.\n */\nexport function StepProgress({\n steps,\n activeStep,\n orientation = \"horizontal\",\n variant = \"navigation\",\n onStepChange,\n ariaLabel = \"Progress\",\n}: StepProgressProps) {\n const listRef = useRef<HTMLOListElement>(null);\n const resolvedActiveStep = resolveActiveStep(activeStep, Math.max(steps.length, 1));\n\n // When the row scrolls, keep the current step in view as it changes. Scrolls the\n // list only — scrollIntoView would also move the page to the progress row.\n useEffect(() => {\n const list = listRef.current;\n const pill = list?.children[resolvedActiveStep - 1]?.querySelector<HTMLElement>(\n \".fairmint-step-progress__pill\",\n );\n if (!list || !pill || list.scrollWidth <= list.clientWidth) return;\n const listBox = list.getBoundingClientRect();\n const pillBox = pill.getBoundingClientRect();\n if (pillBox.left < listBox.left) {\n list.scrollLeft -= listBox.left - pillBox.left;\n } else if (pillBox.right > listBox.right) {\n list.scrollLeft += pillBox.right - listBox.right;\n }\n }, [resolvedActiveStep]);\n\n if (steps.length === 0) return null;\n\n const isStatus = variant === \"status\";\n const rootStyle = {\n \"--fairmint-step-progress-brand\": brandColors.indigo,\n // colorBorderDefault washes out on colorBgSurfaceSecondary; text-secondary clears 3:1.\n \"--fairmint-step-progress-border\": fairmintVars.colorTextSecondary,\n // Kept off the ring token: the ring carries the step number and needs 3:1, the\n // connector is decorative and reads as a hairline between pills.\n \"--fairmint-step-progress-connector\": fairmintVars.colorBorderDefault,\n \"--fairmint-step-progress-text-primary\": fairmintVars.colorTextPrimary,\n // Pending labels use primary ink; active hierarchy is weight + fill, not mute gray.\n \"--fairmint-step-progress-text-secondary\": fairmintVars.colorTextPrimary,\n // indigo[1] — surface-selected (indigo[0]) is too close to the secondary canvas.\n \"--fairmint-step-progress-surface-selected\": fairmintVars.colorBgBrandSubtleHover,\n \"--fairmint-step-progress-active-border\": indigoColors[3],\n \"--fairmint-step-progress-active-indicator-text\": commonColors.white,\n \"--fairmint-step-progress-complete-border\": indigoColors[3],\n \"--fairmint-step-progress-complete-text\": fairmintVars.colorIconOnSurfaceSelected,\n // The detail line is the one place that needs muted ink; pending labels above it stay primary.\n \"--fairmint-step-progress-detail\": fairmintVars.colorTextSecondary,\n \"--fairmint-step-progress-stopped\": fairmintVars.colorErrorSolid,\n \"--fairmint-step-progress-stopped-text\": fairmintVars.colorErrorText,\n // Status rows lay out as a grid; the last column never stretches, so it stays flush right.\n \"--fairmint-step-progress-columns\":\n steps.length > 1\n ? `repeat(${steps.length - 1}, auto) minmax(min-content, max-content)`\n : \"minmax(min-content, max-content)\",\n };\n\n return (\n <Box\n // A status track is not navigation: nothing in it goes anywhere.\n component={isStatus ? \"div\" : \"nav\"}\n role={isStatus ? \"group\" : undefined}\n aria-label={ariaLabel}\n className=\"fairmint-step-progress\"\n data-orientation={orientation}\n data-variant={variant}\n style={rootStyle}\n >\n <ol ref={listRef} className=\"fairmint-step-progress__list\">\n {steps.map((step, index) => {\n const stepNumber = index + 1;\n const status = getStepProgressStatus(step, stepNumber, resolvedActiveStep, variant);\n const isInteractive = !isStatus && Boolean(onStepChange) && !step.disabled;\n const detail = isStatus ? step.detail : undefined;\n // The indicator icons are aria-hidden, so a status track says done and stopped in words.\n const statusText = isStatus ? STATUS_TEXT[status] : undefined;\n const pillContent = (\n <>\n <span className=\"fairmint-step-progress__indicator\" aria-hidden=\"true\">\n {status === \"complete\" ? (\n <CheckIcon />\n ) : status === \"stopped\" ? (\n <StopIcon />\n ) : (\n stepNumber\n )}\n </span>\n {detail ? (\n <span className=\"fairmint-step-progress__text\">\n <span className=\"fairmint-step-progress__label\">{step.label}</span>\n <span className=\"fairmint-step-progress__detail\">{detail}</span>\n </span>\n ) : (\n <span className=\"fairmint-step-progress__label\">{step.label}</span>\n )}\n {statusText ? (\n <span className=\"fairmint-step-progress__status-text\">{statusText}</span>\n ) : null}\n </>\n );\n\n return (\n <li key={`${stepNumber}-${step.label}`} className=\"fairmint-step-progress__item\">\n {isInteractive ? (\n <UnstyledButton\n type=\"button\"\n className=\"fairmint-step-progress__pill\"\n data-state={status}\n data-interactive=\"true\"\n data-disabled=\"false\"\n aria-current={status === \"active\" ? \"step\" : undefined}\n aria-label={`Step ${stepNumber}: ${step.label}`}\n onClick={() => onStepChange?.(stepNumber)}\n >\n {pillContent}\n </UnstyledButton>\n ) : (\n <span\n className=\"fairmint-step-progress__pill\"\n data-state={status}\n data-disabled={step.disabled ? \"true\" : \"false\"}\n aria-current={status === \"active\" ? \"step\" : undefined}\n aria-disabled={step.disabled || undefined}\n title={`Step ${stepNumber}: ${step.label}`}\n >\n {pillContent}\n </span>\n )}\n {index < steps.length - 1 ? (\n <span\n className=\"fairmint-step-progress__connector\"\n data-state={status}\n aria-hidden=\"true\"\n />\n ) : null}\n </li>\n );\n })}\n </ol>\n </Box>\n );\n}\n\nexport const STEP_PROGRESS_MOBILE_BREAKPOINT = \"48em\";\n"],"names":["jsx","useRef","useEffect","brandColors","fairmintVars","indigoColors","commonColors","Box","index","jsxs","Fragment","UnstyledButton"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type StepProgressOrientation = "horizontal" | "vertical";
|
|
2
|
-
export type
|
|
2
|
+
export type StepProgressVariant = "navigation" | "status";
|
|
3
|
+
export type StepProgressStepStatus = "complete" | "active" | "pending" | "stopped";
|
|
3
4
|
export interface StepProgressStep {
|
|
4
5
|
/** Visible label in the progress pill. */
|
|
5
6
|
label: string;
|
|
@@ -7,6 +8,10 @@ export interface StepProgressStep {
|
|
|
7
8
|
completed?: boolean;
|
|
8
9
|
/** Prevent navigation to this step when onStepChange is supplied. */
|
|
9
10
|
disabled?: boolean;
|
|
11
|
+
/** Second line under the label, such as when the step happened. Shown by the status variant only. */
|
|
12
|
+
detail?: string;
|
|
13
|
+
/** The record stopped at this step (rejected, failed, cancelled). Shown by the status variant only. */
|
|
14
|
+
stopped?: boolean;
|
|
10
15
|
}
|
|
11
16
|
export interface StepProgressProps {
|
|
12
17
|
/** Ordered steps. The visible number is derived from this array and is 1-indexed. */
|
|
@@ -15,17 +20,26 @@ export interface StepProgressProps {
|
|
|
15
20
|
activeStep: number;
|
|
16
21
|
/** Row of pills for in-app progress or a rail for onboarding. @default "horizontal" */
|
|
17
22
|
orientation?: StepProgressOrientation;
|
|
18
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* `navigation` is where the user is in a flow they are filling in. `status` is where a
|
|
25
|
+
* record is in its lifecycle: read-only, no pill, and each step can carry a `detail`.
|
|
26
|
+
* @default "navigation"
|
|
27
|
+
*/
|
|
28
|
+
variant?: StepProgressVariant;
|
|
29
|
+
/** Called with the 1-indexed step number when a pill is activated. Ignored by the status variant. */
|
|
19
30
|
onStepChange?: (step: number) => void;
|
|
20
31
|
/** Accessible label for the navigation. @default "Progress" */
|
|
21
32
|
ariaLabel?: string;
|
|
22
33
|
}
|
|
23
|
-
export declare const getStepProgressStatus: (step: StepProgressStep, stepNumber: number, activeStep: number) => StepProgressStepStatus;
|
|
34
|
+
export declare const getStepProgressStatus: (step: StepProgressStep, stepNumber: number, activeStep: number, variant?: StepProgressVariant) => StepProgressStepStatus;
|
|
24
35
|
/**
|
|
25
36
|
* Numbered progress pills shared by horizontal in-app flows and vertical
|
|
26
37
|
* onboarding rails. Owns navigation only — the numbered content container is
|
|
27
38
|
* `StepCard`, and `StepFlow` pairs the two into the canonical shell.
|
|
39
|
+
*
|
|
40
|
+
* The `status` variant reuses the same anatomy as a read-only lifecycle track,
|
|
41
|
+
* so a record's progress and a flow's progress look like one component.
|
|
28
42
|
*/
|
|
29
|
-
export declare function StepProgress({ steps, activeStep, orientation, onStepChange, ariaLabel, }: StepProgressProps): import("react").JSX.Element | null;
|
|
43
|
+
export declare function StepProgress({ steps, activeStep, orientation, variant, onStepChange, ariaLabel, }: StepProgressProps): import("react").JSX.Element | null;
|
|
30
44
|
export declare const STEP_PROGRESS_MOBILE_BREAKPOINT = "48em";
|
|
31
45
|
//# sourceMappingURL=StepProgress.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/generic/StepProgress/StepProgress.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StepProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/generic/StepProgress/StepProgress.tsx"],"names":[],"mappings":"AAGA,OAAO,oBAAoB,CAAC;AAE5B,MAAM,MAAM,uBAAuB,GAAG,YAAY,GAAG,UAAU,CAAC;AAChE,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAC1D,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qGAAqG;IACrG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uGAAuG;IACvG,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,qFAAqF;IACrF,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACnC,yFAAyF;IACzF,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,qGAAqG;IACrG,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8CD,eAAO,MAAM,qBAAqB,GAChC,MAAM,gBAAgB,EACtB,YAAY,MAAM,EAClB,YAAY,MAAM,EAClB,UAAS,mBAAkC,KAC1C,sBASF,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,UAAU,EACV,WAA0B,EAC1B,OAAsB,EACtB,YAAY,EACZ,SAAsB,GACvB,EAAE,iBAAiB,sCAuInB;AAED,eAAO,MAAM,+BAA+B,SAAS,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useRef, useEffect } from "react";
|
|
2
3
|
import { fairmintVars, indigoColors, commonColors, brandColors } from "../../../theme/index.js";
|
|
3
4
|
import { Box } from "../../primitives/layout.js";
|
|
4
5
|
/* empty css */
|
|
@@ -18,11 +19,36 @@ const CheckIcon = () => /* @__PURE__ */ jsx(
|
|
|
18
19
|
children: /* @__PURE__ */ jsx("path", { d: "m5 13 4 4 10-10" })
|
|
19
20
|
}
|
|
20
21
|
);
|
|
22
|
+
const StopIcon = () => /* @__PURE__ */ jsx(
|
|
23
|
+
"svg",
|
|
24
|
+
{
|
|
25
|
+
width: "11",
|
|
26
|
+
height: "11",
|
|
27
|
+
viewBox: "0 0 24 24",
|
|
28
|
+
fill: "none",
|
|
29
|
+
stroke: "currentColor",
|
|
30
|
+
strokeWidth: "2.5",
|
|
31
|
+
strokeLinecap: "round",
|
|
32
|
+
strokeLinejoin: "round",
|
|
33
|
+
"aria-hidden": "true",
|
|
34
|
+
children: /* @__PURE__ */ jsx("path", { d: "M7 7l10 10M17 7 7 17" })
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
const STATUS_TEXT = {
|
|
38
|
+
complete: "(done)",
|
|
39
|
+
active: void 0,
|
|
40
|
+
pending: void 0,
|
|
41
|
+
stopped: "(stopped)"
|
|
42
|
+
};
|
|
21
43
|
const resolveActiveStep = (activeStep, stepCount) => {
|
|
22
44
|
if (!Number.isFinite(activeStep)) return 1;
|
|
23
45
|
return Math.min(Math.max(Math.trunc(activeStep), 1), stepCount);
|
|
24
46
|
};
|
|
25
|
-
const getStepProgressStatus = (step, stepNumber, activeStep) => {
|
|
47
|
+
const getStepProgressStatus = (step, stepNumber, activeStep, variant = "navigation") => {
|
|
48
|
+
if (variant === "status") {
|
|
49
|
+
if (step.stopped) return "stopped";
|
|
50
|
+
if (step.completed) return "complete";
|
|
51
|
+
}
|
|
26
52
|
if (stepNumber === activeStep) return "active";
|
|
27
53
|
if (step.completed ?? stepNumber < activeStep) return "complete";
|
|
28
54
|
return "pending";
|
|
@@ -31,11 +57,28 @@ function StepProgress({
|
|
|
31
57
|
steps,
|
|
32
58
|
activeStep,
|
|
33
59
|
orientation = "horizontal",
|
|
60
|
+
variant = "navigation",
|
|
34
61
|
onStepChange,
|
|
35
62
|
ariaLabel = "Progress"
|
|
36
63
|
}) {
|
|
64
|
+
const listRef = useRef(null);
|
|
65
|
+
const resolvedActiveStep = resolveActiveStep(activeStep, Math.max(steps.length, 1));
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
const list = listRef.current;
|
|
68
|
+
const pill = list?.children[resolvedActiveStep - 1]?.querySelector(
|
|
69
|
+
".fairmint-step-progress__pill"
|
|
70
|
+
);
|
|
71
|
+
if (!list || !pill || list.scrollWidth <= list.clientWidth) return;
|
|
72
|
+
const listBox = list.getBoundingClientRect();
|
|
73
|
+
const pillBox = pill.getBoundingClientRect();
|
|
74
|
+
if (pillBox.left < listBox.left) {
|
|
75
|
+
list.scrollLeft -= listBox.left - pillBox.left;
|
|
76
|
+
} else if (pillBox.right > listBox.right) {
|
|
77
|
+
list.scrollLeft += pillBox.right - listBox.right;
|
|
78
|
+
}
|
|
79
|
+
}, [resolvedActiveStep]);
|
|
37
80
|
if (steps.length === 0) return null;
|
|
38
|
-
const
|
|
81
|
+
const isStatus = variant === "status";
|
|
39
82
|
const rootStyle = {
|
|
40
83
|
"--fairmint-step-progress-brand": brandColors.indigo,
|
|
41
84
|
// colorBorderDefault washes out on colorBgSurfaceSecondary; text-secondary clears 3:1.
|
|
@@ -51,23 +94,37 @@ function StepProgress({
|
|
|
51
94
|
"--fairmint-step-progress-active-border": indigoColors[3],
|
|
52
95
|
"--fairmint-step-progress-active-indicator-text": commonColors.white,
|
|
53
96
|
"--fairmint-step-progress-complete-border": indigoColors[3],
|
|
54
|
-
"--fairmint-step-progress-complete-text": fairmintVars.colorIconOnSurfaceSelected
|
|
97
|
+
"--fairmint-step-progress-complete-text": fairmintVars.colorIconOnSurfaceSelected,
|
|
98
|
+
// The detail line is the one place that needs muted ink; pending labels above it stay primary.
|
|
99
|
+
"--fairmint-step-progress-detail": fairmintVars.colorTextSecondary,
|
|
100
|
+
"--fairmint-step-progress-stopped": fairmintVars.colorErrorSolid,
|
|
101
|
+
"--fairmint-step-progress-stopped-text": fairmintVars.colorErrorText,
|
|
102
|
+
// Status rows lay out as a grid; the last column never stretches, so it stays flush right.
|
|
103
|
+
"--fairmint-step-progress-columns": steps.length > 1 ? `repeat(${steps.length - 1}, auto) minmax(min-content, max-content)` : "minmax(min-content, max-content)"
|
|
55
104
|
};
|
|
56
105
|
return /* @__PURE__ */ jsx(
|
|
57
106
|
Box,
|
|
58
107
|
{
|
|
59
|
-
component: "nav",
|
|
108
|
+
component: isStatus ? "div" : "nav",
|
|
109
|
+
role: isStatus ? "group" : void 0,
|
|
60
110
|
"aria-label": ariaLabel,
|
|
61
111
|
className: "fairmint-step-progress",
|
|
62
112
|
"data-orientation": orientation,
|
|
113
|
+
"data-variant": variant,
|
|
63
114
|
style: rootStyle,
|
|
64
|
-
children: /* @__PURE__ */ jsx("ol", { className: "fairmint-step-progress__list", children: steps.map((step, index) => {
|
|
115
|
+
children: /* @__PURE__ */ jsx("ol", { ref: listRef, className: "fairmint-step-progress__list", children: steps.map((step, index) => {
|
|
65
116
|
const stepNumber = index + 1;
|
|
66
|
-
const status = getStepProgressStatus(step, stepNumber, resolvedActiveStep);
|
|
67
|
-
const isInteractive = Boolean(onStepChange) && !step.disabled;
|
|
117
|
+
const status = getStepProgressStatus(step, stepNumber, resolvedActiveStep, variant);
|
|
118
|
+
const isInteractive = !isStatus && Boolean(onStepChange) && !step.disabled;
|
|
119
|
+
const detail = isStatus ? step.detail : void 0;
|
|
120
|
+
const statusText = isStatus ? STATUS_TEXT[status] : void 0;
|
|
68
121
|
const pillContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
69
|
-
/* @__PURE__ */ jsx("span", { className: "fairmint-step-progress__indicator", "aria-hidden": "true", children: status === "complete" ? /* @__PURE__ */ jsx(CheckIcon, {}) : stepNumber }),
|
|
70
|
-
/* @__PURE__ */
|
|
122
|
+
/* @__PURE__ */ jsx("span", { className: "fairmint-step-progress__indicator", "aria-hidden": "true", children: status === "complete" ? /* @__PURE__ */ jsx(CheckIcon, {}) : status === "stopped" ? /* @__PURE__ */ jsx(StopIcon, {}) : stepNumber }),
|
|
123
|
+
detail ? /* @__PURE__ */ jsxs("span", { className: "fairmint-step-progress__text", children: [
|
|
124
|
+
/* @__PURE__ */ jsx("span", { className: "fairmint-step-progress__label", children: step.label }),
|
|
125
|
+
/* @__PURE__ */ jsx("span", { className: "fairmint-step-progress__detail", children: detail })
|
|
126
|
+
] }) : /* @__PURE__ */ jsx("span", { className: "fairmint-step-progress__label", children: step.label }),
|
|
127
|
+
statusText ? /* @__PURE__ */ jsx("span", { className: "fairmint-step-progress__status-text", children: statusText }) : null
|
|
71
128
|
] });
|
|
72
129
|
return /* @__PURE__ */ jsxs("li", { className: "fairmint-step-progress__item", children: [
|
|
73
130
|
isInteractive ? /* @__PURE__ */ jsx(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepProgress.js","sources":["../../../../src/components/generic/StepProgress/StepProgress.tsx"],"sourcesContent":["import { brandColors, commonColors, fairmintVars, indigoColors } from \"../../../theme\";\nimport { Box, UnstyledButton } from \"../../primitives/layout\";\nimport \"./StepProgress.css\";\n\nexport type StepProgressOrientation = \"horizontal\" | \"vertical\";\nexport type StepProgressStepStatus = \"complete\" | \"active\" | \"pending\";\n\nexport interface StepProgressStep {\n /** Visible label in the progress pill. */\n label: string;\n /** Explicitly mark a step complete when completion is not derived from activeStep. */\n completed?: boolean;\n /** Prevent navigation to this step when onStepChange is supplied. */\n disabled?: boolean;\n}\n\nexport interface StepProgressProps {\n /** Ordered steps. The visible number is derived from this array and is 1-indexed. */\n steps: readonly StepProgressStep[];\n /** Current step number. This is intentionally 1-indexed to match StepCard and the UI. */\n activeStep: number;\n /** Row of pills for in-app progress or a rail for onboarding. @default \"horizontal\" */\n orientation?: StepProgressOrientation;\n /** Called with the 1-indexed step number when a pill is activated. */\n onStepChange?: (step: number) => void;\n /** Accessible label for the navigation. @default \"Progress\" */\n ariaLabel?: string;\n}\n\nconst CheckIcon = () => (\n <svg\n width=\"11\"\n height=\"11\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"m5 13 4 4 10-10\" />\n </svg>\n);\n\nconst resolveActiveStep = (activeStep: number, stepCount: number) => {\n if (!Number.isFinite(activeStep)) return 1;\n return Math.min(Math.max(Math.trunc(activeStep), 1), stepCount);\n};\n\nexport const getStepProgressStatus = (\n step: StepProgressStep,\n stepNumber: number,\n activeStep: number,\n): StepProgressStepStatus => {\n if (stepNumber === activeStep) return \"active\";\n if (step.completed ?? stepNumber < activeStep) return \"complete\";\n return \"pending\";\n};\n\n/**\n * Numbered progress pills shared by horizontal in-app flows and vertical\n * onboarding rails. Owns navigation only — the numbered content container is\n * `StepCard`, and `StepFlow` pairs the two into the canonical shell.\n */\nexport function StepProgress({\n steps,\n activeStep,\n orientation = \"horizontal\",\n onStepChange,\n ariaLabel = \"Progress\",\n}: StepProgressProps) {\n if (steps.length === 0) return null;\n\n const resolvedActiveStep = resolveActiveStep(activeStep, steps.length);\n const rootStyle = {\n \"--fairmint-step-progress-brand\": brandColors.indigo,\n // colorBorderDefault washes out on colorBgSurfaceSecondary; text-secondary clears 3:1.\n \"--fairmint-step-progress-border\": fairmintVars.colorTextSecondary,\n // Kept off the ring token: the ring carries the step number and needs 3:1, the\n // connector is decorative and reads as a hairline between pills.\n \"--fairmint-step-progress-connector\": fairmintVars.colorBorderDefault,\n \"--fairmint-step-progress-text-primary\": fairmintVars.colorTextPrimary,\n // Pending labels use primary ink; active hierarchy is weight + fill, not mute gray.\n \"--fairmint-step-progress-text-secondary\": fairmintVars.colorTextPrimary,\n // indigo[1] — surface-selected (indigo[0]) is too close to the secondary canvas.\n \"--fairmint-step-progress-surface-selected\": fairmintVars.colorBgBrandSubtleHover,\n \"--fairmint-step-progress-active-border\": indigoColors[3],\n \"--fairmint-step-progress-active-indicator-text\": commonColors.white,\n \"--fairmint-step-progress-complete-border\": indigoColors[3],\n \"--fairmint-step-progress-complete-text\": fairmintVars.colorIconOnSurfaceSelected,\n };\n\n return (\n <Box\n component=\"nav\"\n aria-label={ariaLabel}\n className=\"fairmint-step-progress\"\n data-orientation={orientation}\n style={rootStyle}\n >\n <ol className=\"fairmint-step-progress__list\">\n {steps.map((step, index) => {\n const stepNumber = index + 1;\n const status = getStepProgressStatus(step, stepNumber, resolvedActiveStep);\n const isInteractive = Boolean(onStepChange) && !step.disabled;\n const pillContent = (\n <>\n <span className=\"fairmint-step-progress__indicator\" aria-hidden=\"true\">\n {status === \"complete\" ? <CheckIcon /> : stepNumber}\n </span>\n <span className=\"fairmint-step-progress__label\">{step.label}</span>\n </>\n );\n\n return (\n <li key={`${stepNumber}-${step.label}`} className=\"fairmint-step-progress__item\">\n {isInteractive ? (\n <UnstyledButton\n type=\"button\"\n className=\"fairmint-step-progress__pill\"\n data-state={status}\n data-interactive=\"true\"\n data-disabled=\"false\"\n aria-current={status === \"active\" ? \"step\" : undefined}\n aria-label={`Step ${stepNumber}: ${step.label}`}\n onClick={() => onStepChange?.(stepNumber)}\n >\n {pillContent}\n </UnstyledButton>\n ) : (\n <span\n className=\"fairmint-step-progress__pill\"\n data-state={status}\n data-disabled={step.disabled ? \"true\" : \"false\"}\n aria-current={status === \"active\" ? \"step\" : undefined}\n aria-disabled={step.disabled || undefined}\n title={`Step ${stepNumber}: ${step.label}`}\n >\n {pillContent}\n </span>\n )}\n {index < steps.length - 1 ? (\n <span\n className=\"fairmint-step-progress__connector\"\n data-state={status}\n aria-hidden=\"true\"\n />\n ) : null}\n </li>\n );\n })}\n </ol>\n </Box>\n );\n}\n\nexport const STEP_PROGRESS_MOBILE_BREAKPOINT = \"48em\";\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StepProgress.js","sources":["../../../../src/components/generic/StepProgress/StepProgress.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { brandColors, commonColors, fairmintVars, indigoColors } from \"../../../theme\";\nimport { Box, UnstyledButton } from \"../../primitives/layout\";\nimport \"./StepProgress.css\";\n\nexport type StepProgressOrientation = \"horizontal\" | \"vertical\";\nexport type StepProgressVariant = \"navigation\" | \"status\";\nexport type StepProgressStepStatus = \"complete\" | \"active\" | \"pending\" | \"stopped\";\n\nexport interface StepProgressStep {\n /** Visible label in the progress pill. */\n label: string;\n /** Explicitly mark a step complete when completion is not derived from activeStep. */\n completed?: boolean;\n /** Prevent navigation to this step when onStepChange is supplied. */\n disabled?: boolean;\n /** Second line under the label, such as when the step happened. Shown by the status variant only. */\n detail?: string;\n /** The record stopped at this step (rejected, failed, cancelled). Shown by the status variant only. */\n stopped?: boolean;\n}\n\nexport interface StepProgressProps {\n /** Ordered steps. The visible number is derived from this array and is 1-indexed. */\n steps: readonly StepProgressStep[];\n /** Current step number. This is intentionally 1-indexed to match StepCard and the UI. */\n activeStep: number;\n /** Row of pills for in-app progress or a rail for onboarding. @default \"horizontal\" */\n orientation?: StepProgressOrientation;\n /**\n * `navigation` is where the user is in a flow they are filling in. `status` is where a\n * record is in its lifecycle: read-only, no pill, and each step can carry a `detail`.\n * @default \"navigation\"\n */\n variant?: StepProgressVariant;\n /** Called with the 1-indexed step number when a pill is activated. Ignored by the status variant. */\n onStepChange?: (step: number) => void;\n /** Accessible label for the navigation. @default \"Progress\" */\n ariaLabel?: string;\n}\n\nconst CheckIcon = () => (\n <svg\n width=\"11\"\n height=\"11\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"m5 13 4 4 10-10\" />\n </svg>\n);\n\nconst StopIcon = () => (\n <svg\n width=\"11\"\n height=\"11\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M7 7l10 10M17 7 7 17\" />\n </svg>\n);\n\nconst STATUS_TEXT: Readonly<Record<StepProgressStepStatus, string | undefined>> = {\n complete: \"(done)\",\n active: undefined,\n pending: undefined,\n stopped: \"(stopped)\",\n};\n\nconst resolveActiveStep = (activeStep: number, stepCount: number) => {\n if (!Number.isFinite(activeStep)) return 1;\n return Math.min(Math.max(Math.trunc(activeStep), 1), stepCount);\n};\n\nexport const getStepProgressStatus = (\n step: StepProgressStep,\n stepNumber: number,\n activeStep: number,\n variant: StepProgressVariant = \"navigation\",\n): StepProgressStepStatus => {\n if (variant === \"status\") {\n if (step.stopped) return \"stopped\";\n // A finished record has no current step: its last step is done, not in progress.\n if (step.completed) return \"complete\";\n }\n if (stepNumber === activeStep) return \"active\";\n if (step.completed ?? stepNumber < activeStep) return \"complete\";\n return \"pending\";\n};\n\n/**\n * Numbered progress pills shared by horizontal in-app flows and vertical\n * onboarding rails. Owns navigation only — the numbered content container is\n * `StepCard`, and `StepFlow` pairs the two into the canonical shell.\n *\n * The `status` variant reuses the same anatomy as a read-only lifecycle track,\n * so a record's progress and a flow's progress look like one component.\n */\nexport function StepProgress({\n steps,\n activeStep,\n orientation = \"horizontal\",\n variant = \"navigation\",\n onStepChange,\n ariaLabel = \"Progress\",\n}: StepProgressProps) {\n const listRef = useRef<HTMLOListElement>(null);\n const resolvedActiveStep = resolveActiveStep(activeStep, Math.max(steps.length, 1));\n\n // When the row scrolls, keep the current step in view as it changes. Scrolls the\n // list only — scrollIntoView would also move the page to the progress row.\n useEffect(() => {\n const list = listRef.current;\n const pill = list?.children[resolvedActiveStep - 1]?.querySelector<HTMLElement>(\n \".fairmint-step-progress__pill\",\n );\n if (!list || !pill || list.scrollWidth <= list.clientWidth) return;\n const listBox = list.getBoundingClientRect();\n const pillBox = pill.getBoundingClientRect();\n if (pillBox.left < listBox.left) {\n list.scrollLeft -= listBox.left - pillBox.left;\n } else if (pillBox.right > listBox.right) {\n list.scrollLeft += pillBox.right - listBox.right;\n }\n }, [resolvedActiveStep]);\n\n if (steps.length === 0) return null;\n\n const isStatus = variant === \"status\";\n const rootStyle = {\n \"--fairmint-step-progress-brand\": brandColors.indigo,\n // colorBorderDefault washes out on colorBgSurfaceSecondary; text-secondary clears 3:1.\n \"--fairmint-step-progress-border\": fairmintVars.colorTextSecondary,\n // Kept off the ring token: the ring carries the step number and needs 3:1, the\n // connector is decorative and reads as a hairline between pills.\n \"--fairmint-step-progress-connector\": fairmintVars.colorBorderDefault,\n \"--fairmint-step-progress-text-primary\": fairmintVars.colorTextPrimary,\n // Pending labels use primary ink; active hierarchy is weight + fill, not mute gray.\n \"--fairmint-step-progress-text-secondary\": fairmintVars.colorTextPrimary,\n // indigo[1] — surface-selected (indigo[0]) is too close to the secondary canvas.\n \"--fairmint-step-progress-surface-selected\": fairmintVars.colorBgBrandSubtleHover,\n \"--fairmint-step-progress-active-border\": indigoColors[3],\n \"--fairmint-step-progress-active-indicator-text\": commonColors.white,\n \"--fairmint-step-progress-complete-border\": indigoColors[3],\n \"--fairmint-step-progress-complete-text\": fairmintVars.colorIconOnSurfaceSelected,\n // The detail line is the one place that needs muted ink; pending labels above it stay primary.\n \"--fairmint-step-progress-detail\": fairmintVars.colorTextSecondary,\n \"--fairmint-step-progress-stopped\": fairmintVars.colorErrorSolid,\n \"--fairmint-step-progress-stopped-text\": fairmintVars.colorErrorText,\n // Status rows lay out as a grid; the last column never stretches, so it stays flush right.\n \"--fairmint-step-progress-columns\":\n steps.length > 1\n ? `repeat(${steps.length - 1}, auto) minmax(min-content, max-content)`\n : \"minmax(min-content, max-content)\",\n };\n\n return (\n <Box\n // A status track is not navigation: nothing in it goes anywhere.\n component={isStatus ? \"div\" : \"nav\"}\n role={isStatus ? \"group\" : undefined}\n aria-label={ariaLabel}\n className=\"fairmint-step-progress\"\n data-orientation={orientation}\n data-variant={variant}\n style={rootStyle}\n >\n <ol ref={listRef} className=\"fairmint-step-progress__list\">\n {steps.map((step, index) => {\n const stepNumber = index + 1;\n const status = getStepProgressStatus(step, stepNumber, resolvedActiveStep, variant);\n const isInteractive = !isStatus && Boolean(onStepChange) && !step.disabled;\n const detail = isStatus ? step.detail : undefined;\n // The indicator icons are aria-hidden, so a status track says done and stopped in words.\n const statusText = isStatus ? STATUS_TEXT[status] : undefined;\n const pillContent = (\n <>\n <span className=\"fairmint-step-progress__indicator\" aria-hidden=\"true\">\n {status === \"complete\" ? (\n <CheckIcon />\n ) : status === \"stopped\" ? (\n <StopIcon />\n ) : (\n stepNumber\n )}\n </span>\n {detail ? (\n <span className=\"fairmint-step-progress__text\">\n <span className=\"fairmint-step-progress__label\">{step.label}</span>\n <span className=\"fairmint-step-progress__detail\">{detail}</span>\n </span>\n ) : (\n <span className=\"fairmint-step-progress__label\">{step.label}</span>\n )}\n {statusText ? (\n <span className=\"fairmint-step-progress__status-text\">{statusText}</span>\n ) : null}\n </>\n );\n\n return (\n <li key={`${stepNumber}-${step.label}`} className=\"fairmint-step-progress__item\">\n {isInteractive ? (\n <UnstyledButton\n type=\"button\"\n className=\"fairmint-step-progress__pill\"\n data-state={status}\n data-interactive=\"true\"\n data-disabled=\"false\"\n aria-current={status === \"active\" ? \"step\" : undefined}\n aria-label={`Step ${stepNumber}: ${step.label}`}\n onClick={() => onStepChange?.(stepNumber)}\n >\n {pillContent}\n </UnstyledButton>\n ) : (\n <span\n className=\"fairmint-step-progress__pill\"\n data-state={status}\n data-disabled={step.disabled ? \"true\" : \"false\"}\n aria-current={status === \"active\" ? \"step\" : undefined}\n aria-disabled={step.disabled || undefined}\n title={`Step ${stepNumber}: ${step.label}`}\n >\n {pillContent}\n </span>\n )}\n {index < steps.length - 1 ? (\n <span\n className=\"fairmint-step-progress__connector\"\n data-state={status}\n aria-hidden=\"true\"\n />\n ) : null}\n </li>\n );\n })}\n </ol>\n </Box>\n );\n}\n\nexport const STEP_PROGRESS_MOBILE_BREAKPOINT = \"48em\";\n"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -100,7 +100,7 @@ export type { StepCardProps } from './components/generic/StepCard/StepCard';
|
|
|
100
100
|
export { StepCard } from './components/generic/StepCard/StepCard';
|
|
101
101
|
export type { StepFlowOrientation, StepFlowProps, StepFlowStep, } from './components/generic/StepFlow/StepFlow';
|
|
102
102
|
export { STEP_FLOW_DEFAULT_MAX_WIDTH, StepFlow } from './components/generic/StepFlow/StepFlow';
|
|
103
|
-
export type { StepProgressOrientation, StepProgressProps, StepProgressStep, StepProgressStepStatus, } from './components/generic/StepProgress/StepProgress';
|
|
103
|
+
export type { StepProgressOrientation, StepProgressProps, StepProgressStep, StepProgressStepStatus, StepProgressVariant, } from './components/generic/StepProgress/StepProgress';
|
|
104
104
|
export { getStepProgressStatus, STEP_PROGRESS_MOBILE_BREAKPOINT, StepProgress, } from './components/generic/StepProgress/StepProgress';
|
|
105
105
|
export type { TablePaginationProps, TablePaginationRowsPerPageOption, } from './components/generic/TablePagination/TablePagination';
|
|
106
106
|
export { TablePagination } from './components/generic/TablePagination/TablePagination';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const React = require("react");
|
|
4
|
-
const index = require("../../../../../../_virtual/
|
|
4
|
+
const index = require("../../../../../../_virtual/index4.cjs");
|
|
5
5
|
const getStatus = require("../../get-status/get-status.cjs");
|
|
6
6
|
const clearListState = require("../../lists/clear-list-state.cjs");
|
|
7
7
|
const getPath = require("../../paths/get-path.cjs");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useState, useRef, useCallback } from "react";
|
|
2
|
-
import isEqual from "../../../../../../_virtual/
|
|
2
|
+
import isEqual from "../../../../../../_virtual/index4.js";
|
|
3
3
|
import { getStatus } from "../../get-status/get-status.js";
|
|
4
4
|
import { clearListState } from "../../lists/clear-list-state.js";
|
|
5
5
|
import { getPath } from "../../paths/get-path.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const index$1 = require("../../_virtual/
|
|
3
|
+
const index$1 = require("../../_virtual/index3.cjs");
|
|
4
4
|
const index = require("./node_modules/react-is/index.cjs");
|
|
5
5
|
const factoryWithTypeCheckers = require("./factoryWithTypeCheckers.cjs");
|
|
6
6
|
const factoryWithThrowingShims = require("./factoryWithThrowingShims.cjs");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __module as propTypes } from "../../_virtual/
|
|
1
|
+
import { __module as propTypes } from "../../_virtual/index3.js";
|
|
2
2
|
import { __require as requireReactIs } from "./node_modules/react-is/index.js";
|
|
3
3
|
import { __require as requireFactoryWithTypeCheckers } from "./factoryWithTypeCheckers.js";
|
|
4
4
|
import { __require as requireFactoryWithThrowingShims } from "./factoryWithThrowingShims.js";
|
package/dist/styles.css
CHANGED
|
@@ -27,24 +27,31 @@
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
/*
|
|
30
|
-
* Sized to its label, capped, and
|
|
30
|
+
* Sized to its label, capped, and joined to the next step by a connector.
|
|
31
31
|
*
|
|
32
32
|
* Three things have to hold at once. A short step like "Sign" should not sit in a
|
|
33
|
-
* pill stretched to a quarter of the row, so the
|
|
33
|
+
* pill stretched to a quarter of the row, so the pill takes its content width
|
|
34
34
|
* rather than an equal share. A wordy step should not push its neighbours aside,
|
|
35
|
-
* so `max-width` caps
|
|
36
|
-
* fitting, the row should run past the container for the list to scroll rather
|
|
37
|
-
* every pill squeezing down
|
|
35
|
+
* so `max-width` caps the pill and the label ellipsises inside. And once the steps
|
|
36
|
+
* stop fitting, the row should run past the container for the list to scroll rather
|
|
37
|
+
* than every pill squeezing down, so neither the item nor the pill shrinks.
|
|
38
38
|
*
|
|
39
|
-
* The spare room goes *between* the pills
|
|
40
|
-
*
|
|
39
|
+
* The spare room goes into the connectors *between* the pills, not inside them:
|
|
40
|
+
* every item but the last grows, and its connector takes the growth.
|
|
41
41
|
*/
|
|
42
42
|
.fairmint-step-progress__item {
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
display: flex;
|
|
44
|
+
flex: 1 0 auto;
|
|
45
|
+
align-items: center;
|
|
46
|
+
gap: 0.5rem;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.fairmint-step-progress__item:last-child {
|
|
50
|
+
flex: none;
|
|
45
51
|
}
|
|
46
52
|
|
|
47
53
|
.fairmint-step-progress[data-orientation="vertical"] .fairmint-step-progress__item {
|
|
54
|
+
display: block;
|
|
48
55
|
flex: none;
|
|
49
56
|
width: 100%;
|
|
50
57
|
max-width: none;
|
|
@@ -59,6 +66,8 @@
|
|
|
59
66
|
* classes here settles it in any order.
|
|
60
67
|
*/
|
|
61
68
|
.fairmint-step-progress .fairmint-step-progress__pill {
|
|
69
|
+
/* Positioned so the visually hidden labels inside stay inside the scrolling row. */
|
|
70
|
+
position: relative;
|
|
62
71
|
box-sizing: border-box;
|
|
63
72
|
display: flex;
|
|
64
73
|
align-items: center;
|
|
@@ -78,10 +87,9 @@
|
|
|
78
87
|
}
|
|
79
88
|
|
|
80
89
|
/*
|
|
81
|
-
* Centered,
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
* so this is a no-op; the `min-width` floor further down is what makes it show.
|
|
90
|
+
* Centered, so that if something other than its content sets a pill's width, the
|
|
91
|
+
* slack sits evenly rather than all on the right. Row pills are sized to their own
|
|
92
|
+
* content at every width, so normally this changes nothing.
|
|
85
93
|
*
|
|
86
94
|
* The vertical rail keeps the `flex-start` from the rule above: its pills stretch
|
|
87
95
|
* to the rail width by design, and labels down a rail read as a left-aligned
|
|
@@ -91,7 +99,10 @@
|
|
|
91
99
|
* ellipsises from the end rather than being clipped at both.
|
|
92
100
|
*/
|
|
93
101
|
.fairmint-step-progress[data-orientation="horizontal"] .fairmint-step-progress__pill {
|
|
102
|
+
flex: none;
|
|
94
103
|
justify-content: center;
|
|
104
|
+
width: auto;
|
|
105
|
+
max-width: 14rem;
|
|
95
106
|
}
|
|
96
107
|
|
|
97
108
|
.fairmint-step-progress[data-orientation="vertical"] .fairmint-step-progress__pill {
|
|
@@ -176,8 +187,19 @@
|
|
|
176
187
|
white-space: normal;
|
|
177
188
|
}
|
|
178
189
|
|
|
190
|
+
/*
|
|
191
|
+
* A hairline from each step to the next, so the pills read as one sequence. The
|
|
192
|
+
* line leaving a completed step takes the completed indicator's border color, so
|
|
193
|
+
* progress shows along the line as well as on the pills.
|
|
194
|
+
*/
|
|
179
195
|
.fairmint-step-progress__connector {
|
|
180
|
-
|
|
196
|
+
flex: 1 0 1rem;
|
|
197
|
+
height: 1px;
|
|
198
|
+
background: var(--fairmint-step-progress-connector, #e5e7eb);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.fairmint-step-progress__connector[data-state="complete"] {
|
|
202
|
+
background: var(--fairmint-step-progress-complete-border, #a5b4fc);
|
|
181
203
|
}
|
|
182
204
|
|
|
183
205
|
.fairmint-step-progress[data-orientation="vertical"] .fairmint-step-progress__connector {
|
|
@@ -185,16 +207,11 @@
|
|
|
185
207
|
width: 1px;
|
|
186
208
|
height: 0.875rem;
|
|
187
209
|
margin-left: 1.3125rem;
|
|
188
|
-
background: var(--fairmint-step-progress-connector, #e5e7eb);
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
.fairmint-step-progress[data-orientation="vertical"]
|
|
192
|
-
.fairmint-step-progress__connector[data-state="complete"] {
|
|
193
|
-
background: var(--fairmint-step-progress-complete-border, #a5b4fc);
|
|
194
210
|
}
|
|
195
211
|
|
|
196
212
|
@media (max-width: 47.99em) {
|
|
197
|
-
.fairmint-step-progress[data-orientation="vertical"]
|
|
213
|
+
.fairmint-step-progress[data-orientation="vertical"]:where(:not([data-variant="status"]))
|
|
214
|
+
.fairmint-step-progress__list {
|
|
198
215
|
flex-direction: row;
|
|
199
216
|
gap: 0.5rem;
|
|
200
217
|
margin-bottom: 1.5rem;
|
|
@@ -205,43 +222,331 @@
|
|
|
205
222
|
padding-bottom: 0.25rem;
|
|
206
223
|
}
|
|
207
224
|
|
|
208
|
-
.fairmint-step-progress[data-orientation="vertical"]
|
|
209
|
-
|
|
225
|
+
.fairmint-step-progress[data-orientation="vertical"]:where(:not([data-variant="status"]))
|
|
226
|
+
.fairmint-step-progress__item {
|
|
227
|
+
display: flex;
|
|
228
|
+
flex: 1 0 auto;
|
|
210
229
|
width: auto;
|
|
211
|
-
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.fairmint-step-progress[data-orientation="vertical"]:where(:not([data-variant="status"]))
|
|
233
|
+
.fairmint-step-progress__item:last-child {
|
|
234
|
+
flex: none;
|
|
212
235
|
}
|
|
213
236
|
|
|
214
237
|
.fairmint-step-progress .fairmint-step-progress__pill {
|
|
215
238
|
justify-content: center;
|
|
216
239
|
width: auto;
|
|
217
|
-
min-width: 9rem;
|
|
218
240
|
}
|
|
219
241
|
|
|
220
|
-
.fairmint-step-progress[data-orientation="vertical"]
|
|
242
|
+
.fairmint-step-progress[data-orientation="vertical"]:where(:not([data-variant="status"]))
|
|
243
|
+
.fairmint-step-progress__pill {
|
|
244
|
+
flex: none;
|
|
245
|
+
max-width: 14rem;
|
|
221
246
|
min-height: 2.125rem;
|
|
222
247
|
padding: 0.5rem 0.75rem;
|
|
223
248
|
border-radius: 999px;
|
|
224
249
|
}
|
|
225
250
|
|
|
226
|
-
.fairmint-step-progress[data-orientation="vertical"]
|
|
251
|
+
.fairmint-step-progress[data-orientation="vertical"]:where(:not([data-variant="status"]))
|
|
227
252
|
.fairmint-step-progress__pill[data-state="active"] {
|
|
228
253
|
border-color: var(--fairmint-step-progress-active-border, #a5b4fc);
|
|
229
254
|
}
|
|
230
255
|
|
|
231
|
-
.fairmint-step-progress[data-orientation="vertical"]
|
|
256
|
+
.fairmint-step-progress[data-orientation="vertical"]:where(:not([data-variant="status"]))
|
|
257
|
+
.fairmint-step-progress__indicator {
|
|
232
258
|
flex-basis: 1.125rem;
|
|
233
259
|
width: 1.125rem;
|
|
234
260
|
height: 1.125rem;
|
|
235
261
|
}
|
|
236
262
|
|
|
237
|
-
.fairmint-step-progress[data-orientation="vertical"]
|
|
263
|
+
.fairmint-step-progress[data-orientation="vertical"]:where(:not([data-variant="status"]))
|
|
264
|
+
.fairmint-step-progress__label {
|
|
238
265
|
overflow: hidden;
|
|
239
266
|
text-overflow: ellipsis;
|
|
240
267
|
white-space: nowrap;
|
|
241
268
|
}
|
|
242
269
|
|
|
243
|
-
.fairmint-step-progress[data-orientation="vertical"]
|
|
244
|
-
|
|
270
|
+
.fairmint-step-progress[data-orientation="vertical"]:where(:not([data-variant="status"]))
|
|
271
|
+
.fairmint-step-progress__connector {
|
|
272
|
+
width: auto;
|
|
273
|
+
height: 1px;
|
|
274
|
+
margin-left: 0;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/*
|
|
278
|
+
* On a phone only the current step keeps its label; the others shrink to their
|
|
279
|
+
* numbered indicator. Five labelled pills don't fit across a phone, and a row
|
|
280
|
+
* that scrolls with no cue reads as a shorter flow than it is. Numbers keep the
|
|
281
|
+
* whole sequence in view and still take a tap (36px tall, 30px wide). The label
|
|
282
|
+
* stays in the markup for assistive tech, and interactive pills carry it in
|
|
283
|
+
* their aria-label too. Spacing tightens so five steps fit at 375px; the row
|
|
284
|
+
* still scrolls if a flow has more steps than that. Navigation only: a status
|
|
285
|
+
* track shows every label and stacks into a rail instead.
|
|
286
|
+
*/
|
|
287
|
+
.fairmint-step-progress[data-orientation]:where(:not([data-variant="status"]))
|
|
288
|
+
.fairmint-step-progress__list,
|
|
289
|
+
.fairmint-step-progress[data-orientation]:where(:not([data-variant="status"]))
|
|
290
|
+
.fairmint-step-progress__item {
|
|
291
|
+
gap: 0.25rem;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.fairmint-step-progress[data-orientation]:where(:not([data-variant="status"]))
|
|
295
|
+
.fairmint-step-progress__connector {
|
|
296
|
+
flex-basis: 0.375rem;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.fairmint-step-progress:where(:not([data-variant="status"]))
|
|
300
|
+
.fairmint-step-progress__pill:not([data-state="active"]) {
|
|
301
|
+
min-width: 0;
|
|
302
|
+
padding: 0.5rem 0.3125rem;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.fairmint-step-progress:where(:not([data-variant="status"]))
|
|
306
|
+
.fairmint-step-progress__pill[data-state="active"] {
|
|
307
|
+
max-width: 10.5rem;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
.fairmint-step-progress:where(:not([data-variant="status"]))
|
|
311
|
+
.fairmint-step-progress__pill:not([data-state="active"])
|
|
312
|
+
.fairmint-step-progress__label {
|
|
313
|
+
position: absolute;
|
|
314
|
+
width: 1px;
|
|
315
|
+
height: 1px;
|
|
316
|
+
margin: -1px;
|
|
317
|
+
padding: 0;
|
|
318
|
+
overflow: hidden;
|
|
319
|
+
clip: rect(0 0 0 0);
|
|
320
|
+
white-space: nowrap;
|
|
321
|
+
border: 0;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
/* Read by screen readers, kept off screen: the status track's done/stopped icons are aria-hidden. */
|
|
326
|
+
.fairmint-step-progress__status-text {
|
|
327
|
+
position: absolute;
|
|
328
|
+
width: 1px;
|
|
329
|
+
height: 1px;
|
|
330
|
+
margin: -1px;
|
|
331
|
+
padding: 0;
|
|
332
|
+
overflow: hidden;
|
|
333
|
+
clip: rect(0 0 0 0);
|
|
334
|
+
white-space: nowrap;
|
|
335
|
+
border: 0;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/*
|
|
339
|
+
* Status variant: where a record is in its lifecycle, not where the user is in a
|
|
340
|
+
* flow. Same indicator, label, and connector as navigation, minus the pill — a
|
|
341
|
+
* filled pill reads as "click me" and nothing here is clickable. Position moves
|
|
342
|
+
* onto the indicator instead (an outlined brand ring with a soft halo), as the
|
|
343
|
+
* design-quality rules ask: selected borders sit on the indicator, not the row.
|
|
344
|
+
*
|
|
345
|
+
* The phone collapse above skips status tracks (`:where(:not([data-variant="status"]))`),
|
|
346
|
+
* and these rules out-rank the one mobile pill rule that still reaches them.
|
|
347
|
+
*/
|
|
348
|
+
|
|
349
|
+
/*
|
|
350
|
+
* The list scrolls, so it clips anything drawn outside it — including the current
|
|
351
|
+
* step's halo when the first step sits flush at the edge. Padding gives the halo
|
|
352
|
+
* room and the matching negative margin keeps the steps aligned with the card.
|
|
353
|
+
* No bottom margin: a status track sits in its own card, not above a StepCard.
|
|
354
|
+
*/
|
|
355
|
+
.fairmint-step-progress[data-variant="status"] .fairmint-step-progress__list {
|
|
356
|
+
width: calc(100% + 0.5rem);
|
|
357
|
+
margin: -0.25rem;
|
|
358
|
+
padding: 0.25rem;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
.fairmint-step-progress[data-variant="status"] .fairmint-step-progress__pill,
|
|
362
|
+
.fairmint-step-progress[data-variant="status"] .fairmint-step-progress__pill[data-state="active"] {
|
|
363
|
+
justify-content: flex-start;
|
|
364
|
+
gap: 0.625rem;
|
|
365
|
+
min-height: 0;
|
|
366
|
+
padding: 0.25rem 0;
|
|
367
|
+
border-color: transparent;
|
|
368
|
+
border-radius: 0;
|
|
369
|
+
background: transparent;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/* Two lines of text beside it, so the indicator steps up a size from the navigation pill. */
|
|
373
|
+
.fairmint-step-progress[data-variant="status"] .fairmint-step-progress__indicator {
|
|
374
|
+
flex-basis: 1.5rem;
|
|
375
|
+
width: 1.5rem;
|
|
376
|
+
height: 1.5rem;
|
|
377
|
+
font-size: 0.75rem;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
.fairmint-step-progress[data-variant="status"]
|
|
381
|
+
.fairmint-step-progress__pill[data-state="active"]
|
|
382
|
+
.fairmint-step-progress__indicator {
|
|
383
|
+
border-color: var(--fairmint-step-progress-brand, #6366f1);
|
|
384
|
+
background: transparent;
|
|
385
|
+
box-shadow: 0 0 0 3px var(--fairmint-step-progress-surface-selected, #e0e7ff);
|
|
386
|
+
/*
|
|
387
|
+
* The number takes the completed check's ink, not the brand: brand on the card is
|
|
388
|
+
* 4.47:1 light and 3.94:1 dark, under AA for text this small. The ring stays brand.
|
|
389
|
+
*/
|
|
390
|
+
color: var(--fairmint-step-progress-complete-text, #4f46e5);
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
.fairmint-step-progress[data-variant="status"]
|
|
394
|
+
.fairmint-step-progress__pill[data-state="stopped"]
|
|
395
|
+
.fairmint-step-progress__indicator {
|
|
396
|
+
border-color: var(--fairmint-step-progress-stopped, #e5484d);
|
|
397
|
+
background: var(--fairmint-step-progress-stopped, #e5484d);
|
|
398
|
+
color: var(--fairmint-step-progress-active-indicator-text, #ffffff);
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
.fairmint-step-progress[data-variant="status"]
|
|
402
|
+
.fairmint-step-progress__pill[data-state="stopped"]
|
|
403
|
+
.fairmint-step-progress__label {
|
|
404
|
+
color: var(--fairmint-step-progress-stopped-text, #b42318);
|
|
405
|
+
font-weight: 600;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
.fairmint-step-progress__text {
|
|
409
|
+
display: flex;
|
|
410
|
+
flex-direction: column;
|
|
411
|
+
min-width: 0;
|
|
412
|
+
gap: 0.125rem;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
.fairmint-step-progress__detail {
|
|
416
|
+
min-width: 0;
|
|
417
|
+
overflow: hidden;
|
|
418
|
+
text-overflow: ellipsis;
|
|
419
|
+
white-space: nowrap;
|
|
420
|
+
color: var(--fairmint-step-progress-detail, #6c737f);
|
|
421
|
+
font-size: 0.75rem;
|
|
422
|
+
line-height: 1.3;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
/*
|
|
426
|
+
* With no pill padding, the rail's connector lines up under the larger indicator's
|
|
427
|
+
* center: half the 1.5rem indicator, plus the pill's 1px border, less half the line.
|
|
428
|
+
*/
|
|
429
|
+
.fairmint-step-progress[data-variant="status"][data-orientation="vertical"]
|
|
430
|
+
.fairmint-step-progress__connector {
|
|
431
|
+
height: 1rem;
|
|
432
|
+
margin-left: calc(0.75rem + 0.5px);
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
/*
|
|
436
|
+
* When a status row runs short of room, labels wrap inside their step instead of
|
|
437
|
+
* the row scrolling. A record page is read at a glance, and a track whose last step
|
|
438
|
+
* sits off the edge with no cue looks like it ends early. Labels never ellipsise —
|
|
439
|
+
* "Approved · hold placed" cut short loses the part that matters.
|
|
440
|
+
*
|
|
441
|
+
* A grid rather than flex, for which label wraps. Flex shrinks every step by the
|
|
442
|
+
* same proportion, so even "TA review" breaks onto two lines. Grid starts each step
|
|
443
|
+
* at its narrowest and hands out the room evenly until a step fits on one line, so
|
|
444
|
+
* short labels settle first and only the long ones wrap. The columns come from the
|
|
445
|
+
* component (`repeat(n - 1, auto)` plus a last column that never stretches), so the
|
|
446
|
+
* spare room past that goes into the connectors and the last step stays flush right.
|
|
447
|
+
*
|
|
448
|
+
* The track is a size container, for the rail fallback below. A size container
|
|
449
|
+
* ignores its content when its own width is worked out, so a status track fills its
|
|
450
|
+
* parent like a block and needs a parent with a set width. In a parent that sizes to
|
|
451
|
+
* its content (a centered flex item, a Group, inline-block, a popover) it collapses.
|
|
452
|
+
*/
|
|
453
|
+
.fairmint-step-progress[data-variant="status"] {
|
|
454
|
+
container: fairmint-step-progress-status / inline-size;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
.fairmint-step-progress[data-variant="status"][data-orientation="horizontal"]
|
|
458
|
+
.fairmint-step-progress__list {
|
|
459
|
+
display: grid;
|
|
460
|
+
grid-template-columns: var(--fairmint-step-progress-columns, none);
|
|
461
|
+
grid-auto-flow: column;
|
|
462
|
+
/* The base list's space-between would put the spare room in the gaps instead. */
|
|
463
|
+
justify-content: normal;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
/* No clipping: it would cut the current step's halo and let a step shrink past its widest word. */
|
|
467
|
+
.fairmint-step-progress[data-variant="status"] .fairmint-step-progress__pill {
|
|
468
|
+
overflow: visible;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
.fairmint-step-progress[data-variant="status"][data-orientation="horizontal"]
|
|
472
|
+
.fairmint-step-progress__pill {
|
|
473
|
+
flex: 0 1 auto;
|
|
474
|
+
justify-content: flex-start;
|
|
475
|
+
min-width: 0;
|
|
476
|
+
max-width: none;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/*
|
|
480
|
+
* A step in the row is never narrower than its detail line, and isn't capped: a cap
|
|
481
|
+
* or a shrinking text column would let a long detail paint over the connector and the
|
|
482
|
+
* next step. Labels still wrap, so this only widens a step that has a long detail.
|
|
483
|
+
*/
|
|
484
|
+
.fairmint-step-progress[data-variant="status"][data-orientation="horizontal"]
|
|
485
|
+
.fairmint-step-progress__text {
|
|
486
|
+
min-width: auto;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
.fairmint-step-progress[data-variant="status"] .fairmint-step-progress__label {
|
|
490
|
+
overflow: visible;
|
|
491
|
+
text-overflow: clip;
|
|
492
|
+
white-space: normal;
|
|
493
|
+
text-wrap: balance;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
/*
|
|
497
|
+
* In a row the detail holds its line, so a timestamp doesn't break mid-time. A rail
|
|
498
|
+
* has height to spare but not width, so there a long detail wraps instead.
|
|
499
|
+
*/
|
|
500
|
+
.fairmint-step-progress[data-variant="status"] .fairmint-step-progress__detail {
|
|
501
|
+
overflow: visible;
|
|
502
|
+
text-overflow: clip;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
.fairmint-step-progress[data-variant="status"][data-orientation="vertical"]
|
|
506
|
+
.fairmint-step-progress__detail {
|
|
507
|
+
white-space: normal;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
/*
|
|
511
|
+
* Below this the steps would wrap past two lines, so the track stacks into a rail.
|
|
512
|
+
* This keys off the track's own width, not the viewport: the same track can sit in
|
|
513
|
+
* a wide page or a narrow side column. The row's scroll stays as the last resort
|
|
514
|
+
* for a step count this width doesn't cover.
|
|
515
|
+
*/
|
|
516
|
+
@container fairmint-step-progress-status (max-width: 40rem) {
|
|
517
|
+
.fairmint-step-progress[data-variant="status"][data-orientation="horizontal"]
|
|
518
|
+
.fairmint-step-progress__list {
|
|
519
|
+
display: flex;
|
|
520
|
+
flex-direction: column;
|
|
521
|
+
gap: 0;
|
|
522
|
+
overflow: visible;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
.fairmint-step-progress[data-variant="status"][data-orientation="horizontal"]
|
|
526
|
+
.fairmint-step-progress__item,
|
|
527
|
+
.fairmint-step-progress[data-variant="status"][data-orientation="horizontal"]
|
|
528
|
+
.fairmint-step-progress__item:last-child {
|
|
529
|
+
display: block;
|
|
530
|
+
flex: none;
|
|
531
|
+
width: 100%;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
.fairmint-step-progress[data-variant="status"][data-orientation="horizontal"]
|
|
535
|
+
.fairmint-step-progress__text {
|
|
536
|
+
min-width: 0;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
.fairmint-step-progress[data-variant="status"][data-orientation="horizontal"]
|
|
540
|
+
.fairmint-step-progress__detail {
|
|
541
|
+
white-space: normal;
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
.fairmint-step-progress[data-variant="status"][data-orientation="horizontal"]
|
|
545
|
+
.fairmint-step-progress__connector {
|
|
546
|
+
display: block;
|
|
547
|
+
width: 1px;
|
|
548
|
+
height: 1rem;
|
|
549
|
+
margin-left: calc(0.75rem + 0.5px);
|
|
245
550
|
}
|
|
246
551
|
}
|
|
247
552
|
.fairmint-step-flow {
|
|
@@ -9425,6 +9730,15 @@ fieldset:disabled .m_38aeed47:where(:not([data-inverted])),
|
|
|
9425
9730
|
.fairmint-multiselect-pills-list > * {
|
|
9426
9731
|
flex-shrink: 0;
|
|
9427
9732
|
}
|
|
9733
|
+
|
|
9734
|
+
/* Badges set overflow: hidden, so table layout can shrink them and clip the
|
|
9735
|
+
label ("Earning fees" becomes "EARNING…"). Keep a badge inside a cell at
|
|
9736
|
+
least as wide as its label; the table scrolls instead of clipping it.
|
|
9737
|
+
Same rule as the ta-service workaround. */
|
|
9738
|
+
|
|
9739
|
+
.mantine-Table-td .mantine-Badge-root {
|
|
9740
|
+
min-width: max-content;
|
|
9741
|
+
}
|
|
9428
9742
|
.fairmint-equity-ribbon {
|
|
9429
9743
|
position: relative;
|
|
9430
9744
|
width: 100%;
|