@charcuterie/ui 3.8.1 → 3.10.0
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/README.md +10 -0
- package/dist/Badge/Badge.d.ts +2 -37
- package/dist/Badge/Badge.d.ts.map +1 -1
- package/dist/Badge/Badge.js +15 -30
- package/dist/Badge/Badge.js.map +1 -1
- package/dist/Badge/useBadgeShape.d.ts +57 -0
- package/dist/Badge/useBadgeShape.d.ts.map +1 -0
- package/dist/Badge/useBadgeShape.js +35 -0
- package/dist/Badge/useBadgeShape.js.map +1 -0
- package/dist/BadgeButton/BadgeButton.d.ts +59 -0
- package/dist/BadgeButton/BadgeButton.d.ts.map +1 -0
- package/dist/BadgeButton/BadgeButton.js +64 -0
- package/dist/BadgeButton/BadgeButton.js.map +1 -0
- package/dist/Slider/Slider.d.ts +85 -0
- package/dist/Slider/Slider.d.ts.map +1 -0
- package/dist/Slider/Slider.js +193 -0
- package/dist/Slider/Slider.js.map +1 -0
- package/dist/Slider/sliderValue.d.ts +48 -0
- package/dist/Slider/sliderValue.d.ts.map +1 -0
- package/dist/Slider/sliderValue.js +98 -0
- package/dist/Slider/sliderValue.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Badge/Badge.tsx +30 -113
- package/src/Badge/useBadgeShape.tsx +142 -0
- package/src/BadgeButton/BadgeButton.mdx +67 -0
- package/src/BadgeButton/BadgeButton.stories.tsx +199 -0
- package/src/BadgeButton/BadgeButton.test.tsx +164 -0
- package/src/BadgeButton/BadgeButton.tsx +129 -0
- package/src/Slider/Slider.mdx +78 -0
- package/src/Slider/Slider.stories.tsx +256 -0
- package/src/Slider/Slider.test.tsx +241 -0
- package/src/Slider/Slider.tsx +412 -0
- package/src/Slider/sliderValue.test.ts +156 -0
- package/src/Slider/sliderValue.ts +149 -0
- package/src/index.ts +8 -0
- package/src/sourceRules.test.ts +14 -1
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useUniqueId } from "@charcuterie/logic";
|
|
3
|
+
import { useRef, useState } from "react";
|
|
4
|
+
import { FOCUS_RING_CLASS, INTENT_SOLID_FILL_CLASS, } from "../intentStyles.js";
|
|
5
|
+
import { toClassName } from "../toClassName.js";
|
|
6
|
+
import { VisuallyHidden } from "../VisuallyHidden/VisuallyHidden.js";
|
|
7
|
+
import { clampToRange, fromFraction, snapToStep, toPercent, } from "./sliderValue.js";
|
|
8
|
+
const TRACK_SIZE_CLASS = {
|
|
9
|
+
sm: "h-1",
|
|
10
|
+
md: "h-2",
|
|
11
|
+
lg: "h-3",
|
|
12
|
+
};
|
|
13
|
+
const THUMB_SIZE_CLASS = {
|
|
14
|
+
sm: "size-3",
|
|
15
|
+
md: "size-4",
|
|
16
|
+
lg: "size-5",
|
|
17
|
+
};
|
|
18
|
+
/** Half of each `THUMB_SIZE_CLASS`, as the inline-start pull-back. */
|
|
19
|
+
const THUMB_OFFSET = {
|
|
20
|
+
sm: "-0.375rem",
|
|
21
|
+
md: "-0.5rem",
|
|
22
|
+
lg: "-0.625rem",
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* A single-value range control: the thing `<input type="range">` is,
|
|
26
|
+
* without the OS painting it.
|
|
27
|
+
*
|
|
28
|
+
* The fleet had no way to ask for a value along a range, so QueuePilot's
|
|
29
|
+
* Now-playing bar could not have a scrubber
|
|
30
|
+
* ([decision](../../../../docs/decisions/2026-08-22-the-slider-is-a-div-with-role-slider-not-an-input-range.md)).
|
|
31
|
+
* `ProgressBar` looks like the answer and is not: it is output, it takes
|
|
32
|
+
* no input, and `role="progressbar"` tells assistive technology exactly
|
|
33
|
+
* that.
|
|
34
|
+
*
|
|
35
|
+
* ## Why a `div` and not `<input type="range">`
|
|
36
|
+
*
|
|
37
|
+
* The same reason `Select` is deprecated. A range input's thumb and
|
|
38
|
+
* track are UA pseudo-elements — `::-webkit-slider-thumb`,
|
|
39
|
+
* `::-moz-range-track` — and they are not one surface: the two engines
|
|
40
|
+
* disagree about which of them the track's fill even belongs to, so a
|
|
41
|
+
* token-styled range is two stylesheets that drift. Windows paints its
|
|
42
|
+
* own. `role="slider"` on a focusable `div` is the APG's own pattern,
|
|
43
|
+
* gets the same AT support, and every pixel of it is ours.
|
|
44
|
+
*
|
|
45
|
+
* ## Drag does not commit
|
|
46
|
+
*
|
|
47
|
+
* `onChange` fires per movement, `onChangeEnd` once on release. Both are
|
|
48
|
+
* optional and the component is fully controlled through `value`, so a
|
|
49
|
+
* caller that wants the simple thing passes `onChange` alone and a
|
|
50
|
+
* caller with a network call behind it splits them.
|
|
51
|
+
*
|
|
52
|
+
* While dragging, the component holds the value locally and paints from
|
|
53
|
+
* that rather than from the `value` prop. Without it a controlled
|
|
54
|
+
* scrubber whose owner only commits `onChangeEnd` would render the thumb
|
|
55
|
+
* pinned under the finger at the old position — the drag would look
|
|
56
|
+
* broken while behaving correctly.
|
|
57
|
+
*/
|
|
58
|
+
export const Slider = ({ className, intent = "accent", isDisabled = false, isLabelVisible = false, isReadOnly = false, isValueShown = false, label, largeStep, max = 100, min = 0, onChange, onChangeEnd, size = "md", step = 1, value = 0, valueFormat, ...divProps }) => {
|
|
59
|
+
const labelId = useUniqueId();
|
|
60
|
+
const trackRef = useRef(null);
|
|
61
|
+
// Null means "not dragging" — distinct from a drag that happens to
|
|
62
|
+
// sit at 0, which a bare number could not express.
|
|
63
|
+
const [draggedValue, setDraggedValue] = useState(null);
|
|
64
|
+
const isInert = isDisabled || isReadOnly;
|
|
65
|
+
const committed = snapToStep(value, min, max, step);
|
|
66
|
+
const shown = draggedValue ?? committed;
|
|
67
|
+
const percent = toPercent(shown, min, max);
|
|
68
|
+
const bigStep = largeStep == null
|
|
69
|
+
? (Math.max(min, max) - Math.min(min, max)) / 10
|
|
70
|
+
: largeStep;
|
|
71
|
+
const emit = (next, isEnd) => {
|
|
72
|
+
if (next !== shown)
|
|
73
|
+
onChange?.(next);
|
|
74
|
+
if (isEnd) {
|
|
75
|
+
setDraggedValue(null);
|
|
76
|
+
onChangeEnd?.(next);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
setDraggedValue(next);
|
|
80
|
+
};
|
|
81
|
+
/** The value the pointer at `clientX` is pointing at. */
|
|
82
|
+
const valueAt = (clientX) => {
|
|
83
|
+
const track = trackRef.current;
|
|
84
|
+
if (!track)
|
|
85
|
+
return shown;
|
|
86
|
+
const box = track.getBoundingClientRect();
|
|
87
|
+
if (box.width <= 0)
|
|
88
|
+
return shown;
|
|
89
|
+
// `left`/`right` here are physical, from the layout box, and stay
|
|
90
|
+
// physical on purpose — `isRtl` is what turns them into a value.
|
|
91
|
+
// The logical-properties rule is about `className`, not geometry.
|
|
92
|
+
const fraction = (clientX - box.left) / box.width;
|
|
93
|
+
const isRtl = getComputedStyle(track).direction === "rtl";
|
|
94
|
+
return fromFraction(fraction, min, max, step, isRtl);
|
|
95
|
+
};
|
|
96
|
+
const onPointerDown = (event) => {
|
|
97
|
+
if (isInert || event.button !== 0)
|
|
98
|
+
return;
|
|
99
|
+
// Capture on the TRACK, so a drag that leaves the element vertically
|
|
100
|
+
// (a thumb dragged off the bar, which is most of them) keeps
|
|
101
|
+
// reporting instead of stopping dead at the boundary.
|
|
102
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
103
|
+
event.currentTarget.focus();
|
|
104
|
+
emit(valueAt(event.clientX), false);
|
|
105
|
+
};
|
|
106
|
+
const onPointerMove = (event) => {
|
|
107
|
+
if (isInert || draggedValue == null)
|
|
108
|
+
return;
|
|
109
|
+
emit(valueAt(event.clientX), false);
|
|
110
|
+
};
|
|
111
|
+
const onPointerUp = (event) => {
|
|
112
|
+
if (isInert || draggedValue == null)
|
|
113
|
+
return;
|
|
114
|
+
event.currentTarget.releasePointerCapture(event.pointerId);
|
|
115
|
+
emit(valueAt(event.clientX), true);
|
|
116
|
+
};
|
|
117
|
+
const onKeyDown = (event) => {
|
|
118
|
+
if (isInert)
|
|
119
|
+
return;
|
|
120
|
+
// Home/End are absolute; the rest are relative. `null` means the key
|
|
121
|
+
// is not ours and the event goes on its way — scrolling with the
|
|
122
|
+
// arrows off a focused slider is not something to swallow silently,
|
|
123
|
+
// but a slider that ignores its own arrow keys is worse.
|
|
124
|
+
const next = (() => {
|
|
125
|
+
switch (event.key) {
|
|
126
|
+
case "ArrowDown":
|
|
127
|
+
case "ArrowLeft":
|
|
128
|
+
return shown - step;
|
|
129
|
+
case "ArrowRight":
|
|
130
|
+
case "ArrowUp":
|
|
131
|
+
return shown + step;
|
|
132
|
+
case "End":
|
|
133
|
+
return Math.max(min, max);
|
|
134
|
+
case "Home":
|
|
135
|
+
return Math.min(min, max);
|
|
136
|
+
case "PageDown":
|
|
137
|
+
return shown - bigStep;
|
|
138
|
+
case "PageUp":
|
|
139
|
+
return shown + bigStep;
|
|
140
|
+
default:
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
})();
|
|
144
|
+
if (next == null)
|
|
145
|
+
return;
|
|
146
|
+
event.preventDefault();
|
|
147
|
+
// Keys commit immediately. A key press is a discrete interaction —
|
|
148
|
+
// there is no release to wait for the way a drag has one, and an
|
|
149
|
+
// arrow key that only committed on `keyup` would feel lagged.
|
|
150
|
+
emit(snapToStep(next, min, max, step), true);
|
|
151
|
+
};
|
|
152
|
+
const valueText = valueFormat?.(clampToRange(shown, min, max));
|
|
153
|
+
return (_jsxs("div", { ...divProps, className: toClassName("flex flex-col gap-1",
|
|
154
|
+
// A definite floor, because the root has no intrinsic width of
|
|
155
|
+
// its own: the track is `w-full` and the label is the only
|
|
156
|
+
// content, so a slider with no visible label in a shrink-to-fit
|
|
157
|
+
// parent (`items-start`, an inline-flex row) collapses to the
|
|
158
|
+
// width of the thumb. Every gate passed on exactly that —
|
|
159
|
+
// `role`, ARIA, keyboard and axe are all correct on a control
|
|
160
|
+
// 16px wide. `<input type="range">` has an intrinsic default
|
|
161
|
+
// width for the same reason; this is ours.
|
|
162
|
+
"min-w-40", className), children: [isLabelVisible || isValueShown ? (_jsxs("div", { className: "flex items-baseline justify-between gap-2 text-sm", children: [isLabelVisible ? (_jsx("span", { className: "text-content-secondary", id: labelId, children: label })) : (_jsx(VisuallyHidden, { id: labelId, children: label })), isValueShown ? (_jsx("span", { className: "text-content-muted tabular-nums", children: valueText ?? shown })) : null] })) : (_jsx(VisuallyHidden, { id: labelId, children: label })), _jsxs("div", { "aria-disabled": isDisabled || undefined, "aria-labelledby": labelId, "aria-orientation": "horizontal", "aria-readonly": isReadOnly || undefined, "aria-valuemax": Math.max(min, max), "aria-valuemin": Math.min(min, max), "aria-valuenow": shown, "aria-valuetext": valueText, className: toClassName("relative flex w-full touch-none items-center rounded-full",
|
|
163
|
+
// The hit area is the row, which is taller than the bar: a
|
|
164
|
+
// 2px track is not a pointer target, and a finger is 44px.
|
|
165
|
+
"min-h-(--control-height-sm) cursor-pointer", FOCUS_RING_CLASS,
|
|
166
|
+
// NOT `ARIA_DISABLED_CLASS`. That constant paints a
|
|
167
|
+
// box-shaped control — `bg-surface-sunken` plus a border —
|
|
168
|
+
// which is right for `ButtonLink` and wrong here: a slider's
|
|
169
|
+
// visible body is a 2px track inside a 40px hit row, so the
|
|
170
|
+
// sunken fill lands on the whole row and draws a grey
|
|
171
|
+
// rectangle nothing else in the component has. Every gate
|
|
172
|
+
// passed on it; the screenshot is what showed it.
|
|
173
|
+
//
|
|
174
|
+
// `pointer-events-none` is the half that carries over, and it
|
|
175
|
+
// is load-bearing rather than cosmetic: without a real
|
|
176
|
+
// `:disabled` the hover rules still match.
|
|
177
|
+
isDisabled
|
|
178
|
+
? "pointer-events-none opacity-55"
|
|
179
|
+
: "", isReadOnly ? "cursor-default" : ""), onKeyDown: onKeyDown, onPointerCancel: onPointerUp, onPointerDown: onPointerDown, onPointerMove: onPointerMove, onPointerUp: onPointerUp, ref: trackRef, role: "slider", tabIndex: isDisabled ? -1 : 0, children: [_jsx("span", { className: toClassName("w-full overflow-hidden rounded-full bg-surface-sunken", TRACK_SIZE_CLASS[size]), children: _jsx("span", { className: toClassName("block h-full rounded-full", INTENT_SOLID_FILL_CLASS[intent]), style: { inlineSize: `${percent}%` } }) }), _jsx("span", { "aria-hidden": "true", className: toClassName("absolute rounded-full border-2 border-surface-raised shadow-sm", THUMB_SIZE_CLASS[size], INTENT_SOLID_FILL_CLASS[intent]),
|
|
180
|
+
// Pulled back by half its own width so it sits ON the
|
|
181
|
+
// position rather than starting at it, which is what keeps
|
|
182
|
+
// 100% from hanging off the end of the track.
|
|
183
|
+
//
|
|
184
|
+
// `margin-inline-start`, not `translate: -50%`. `translate`
|
|
185
|
+
// is physical, so in RTL it would shift the thumb the wrong
|
|
186
|
+
// way and 0% would hang off the start edge — the one bug a
|
|
187
|
+
// logical `inset-inline-start` looks like it already solved.
|
|
188
|
+
style: {
|
|
189
|
+
insetInlineStart: `${percent}%`,
|
|
190
|
+
marginInlineStart: THUMB_OFFSET[size],
|
|
191
|
+
} })] })] }));
|
|
192
|
+
};
|
|
193
|
+
//# sourceMappingURL=Slider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.js","sourceRoot":"","sources":["../../src/Slider/Slider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The arithmetic behind `Slider`, kept out of the component so it can be
|
|
3
|
+
* tested in the node project rather than driven through a pointer.
|
|
4
|
+
*
|
|
5
|
+
* Every function here is total: a caller may pass a `NaN`, a reversed
|
|
6
|
+
* range or a zero step, and the answer is still a number inside the
|
|
7
|
+
* range. A slider that renders a thumb at `NaN%` is invisible, and the
|
|
8
|
+
* DOM says nothing about it.
|
|
9
|
+
*/
|
|
10
|
+
/** `value` forced into `[min, max]`, whichever way round they arrive. */
|
|
11
|
+
export declare const clampToRange: (value: number, min: number, max: number) => number;
|
|
12
|
+
/**
|
|
13
|
+
* `value` snapped to the nearest `min + n * step`, then clamped.
|
|
14
|
+
*
|
|
15
|
+
* Anchored on `min` rather than on zero, which is the difference
|
|
16
|
+
* between a 0–100 slider (where both agree) and a 7–19 one stepping by
|
|
17
|
+
* 4: anchored on zero its reachable values are 8, 12, 16 and neither
|
|
18
|
+
* end of its own range is one of them.
|
|
19
|
+
*
|
|
20
|
+
* A non-positive or non-finite `step` means "continuous" and snaps
|
|
21
|
+
* nothing — it must not divide by zero and hand back `NaN`.
|
|
22
|
+
*/
|
|
23
|
+
export declare const snapToStep: (value: number, min: number, max: number, step: number) => number;
|
|
24
|
+
/**
|
|
25
|
+
* `value` rounded to as many decimals as `step` has.
|
|
26
|
+
*
|
|
27
|
+
* `Number.EPSILON` scaling is deliberately not used — the input here is
|
|
28
|
+
* always already a multiple of `step` give or take float drift, so the
|
|
29
|
+
* decimal count of `step` is exactly the precision that can be real.
|
|
30
|
+
*/
|
|
31
|
+
export declare const roundToStepPrecision: (value: number, step: number) => number;
|
|
32
|
+
/**
|
|
33
|
+
* Where the thumb sits, 0–100, for `inline-size` / `inset-inline-start`.
|
|
34
|
+
*
|
|
35
|
+
* A zero-width range is 0% rather than `NaN`: `min === max` is a
|
|
36
|
+
* degenerate but legal slider (a single-valued one), and it should
|
|
37
|
+
* paint at the start instead of disappearing.
|
|
38
|
+
*/
|
|
39
|
+
export declare const toPercent: (value: number, min: number, max: number) => number;
|
|
40
|
+
/**
|
|
41
|
+
* The value a pointer at `fraction` (0–1 along the track) is asking for.
|
|
42
|
+
*
|
|
43
|
+
* `isRtl` inverts it. The caller measures with `getBoundingClientRect()`,
|
|
44
|
+
* which is physical and knows nothing about writing direction, so a
|
|
45
|
+
* right-to-left slider would otherwise run backwards.
|
|
46
|
+
*/
|
|
47
|
+
export declare const fromFraction: (fraction: number, min: number, max: number, step: number, isRtl?: boolean) => number;
|
|
48
|
+
//# sourceMappingURL=sliderValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sliderValue.d.ts","sourceRoot":"","sources":["../../src/Slider/sliderValue.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,yEAAyE;AACzE,eAAO,MAAM,YAAY,GACvB,OAAO,MAAM,EACb,KAAK,MAAM,EACX,KAAK,MAAM,KACV,MAWF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,GACrB,OAAO,MAAM,EACb,KAAK,MAAM,EACX,KAAK,MAAM,EACX,MAAM,MAAM,KACX,MAmBF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,MAAM,MAAM,KACX,MAgBF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GACpB,OAAO,MAAM,EACb,KAAK,MAAM,EACX,KAAK,MAAM,KACV,MAYF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,EAChB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,MAAM,MAAM,EACZ,eAAa,KACZ,MAiBF,CAAA"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The arithmetic behind `Slider`, kept out of the component so it can be
|
|
3
|
+
* tested in the node project rather than driven through a pointer.
|
|
4
|
+
*
|
|
5
|
+
* Every function here is total: a caller may pass a `NaN`, a reversed
|
|
6
|
+
* range or a zero step, and the answer is still a number inside the
|
|
7
|
+
* range. A slider that renders a thumb at `NaN%` is invisible, and the
|
|
8
|
+
* DOM says nothing about it.
|
|
9
|
+
*/
|
|
10
|
+
/** `value` forced into `[min, max]`, whichever way round they arrive. */
|
|
11
|
+
export const clampToRange = (value, min, max) => {
|
|
12
|
+
const low = Math.min(min, max);
|
|
13
|
+
const high = Math.max(min, max);
|
|
14
|
+
// NaN only. An infinity is an ORDERED value and clamps like any
|
|
15
|
+
// other — `Math.min`/`Math.max` already put it at the right end, and
|
|
16
|
+
// sending +Infinity to the floor would be the wrong end of the range.
|
|
17
|
+
if (Number.isNaN(value))
|
|
18
|
+
return low;
|
|
19
|
+
return Math.min(high, Math.max(low, value));
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* `value` snapped to the nearest `min + n * step`, then clamped.
|
|
23
|
+
*
|
|
24
|
+
* Anchored on `min` rather than on zero, which is the difference
|
|
25
|
+
* between a 0–100 slider (where both agree) and a 7–19 one stepping by
|
|
26
|
+
* 4: anchored on zero its reachable values are 8, 12, 16 and neither
|
|
27
|
+
* end of its own range is one of them.
|
|
28
|
+
*
|
|
29
|
+
* A non-positive or non-finite `step` means "continuous" and snaps
|
|
30
|
+
* nothing — it must not divide by zero and hand back `NaN`.
|
|
31
|
+
*/
|
|
32
|
+
export const snapToStep = (value, min, max, step) => {
|
|
33
|
+
const clamped = clampToRange(value, min, max);
|
|
34
|
+
if (!Number.isFinite(step) || step <= 0)
|
|
35
|
+
return clamped;
|
|
36
|
+
const low = Math.min(min, max);
|
|
37
|
+
const snapped = low + Math.round((clamped - low) / step) * step;
|
|
38
|
+
// Re-clamp: the last step can land past `max` when the range is not
|
|
39
|
+
// a whole number of steps (0–10 by 3 snaps 10 to 9, but 0–10 by 4
|
|
40
|
+
// would snap 10 to 12 without this).
|
|
41
|
+
const bounded = clampToRange(snapped, min, max);
|
|
42
|
+
// Float steps accumulate: 0.1 * 3 is 0.30000000000000004, and that
|
|
43
|
+
// reaches `aria-valuenow` and the visible value both. Round to the
|
|
44
|
+
// decimals the step itself declares.
|
|
45
|
+
return roundToStepPrecision(bounded, step);
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* `value` rounded to as many decimals as `step` has.
|
|
49
|
+
*
|
|
50
|
+
* `Number.EPSILON` scaling is deliberately not used — the input here is
|
|
51
|
+
* always already a multiple of `step` give or take float drift, so the
|
|
52
|
+
* decimal count of `step` is exactly the precision that can be real.
|
|
53
|
+
*/
|
|
54
|
+
export const roundToStepPrecision = (value, step) => {
|
|
55
|
+
if (!Number.isFinite(step) || step <= 0)
|
|
56
|
+
return value;
|
|
57
|
+
const text = String(step);
|
|
58
|
+
// An exponential step ("1e-7") has no visible decimal point, so
|
|
59
|
+
// `split(".")` would report zero decimals and round it to an integer.
|
|
60
|
+
if (text.includes("e") || text.includes("E"))
|
|
61
|
+
return value;
|
|
62
|
+
const decimals = text.split(".")[1]?.length ?? 0;
|
|
63
|
+
if (decimals === 0)
|
|
64
|
+
return Math.round(value);
|
|
65
|
+
const scale = 10 ** decimals;
|
|
66
|
+
return Math.round(value * scale) / scale;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Where the thumb sits, 0–100, for `inline-size` / `inset-inline-start`.
|
|
70
|
+
*
|
|
71
|
+
* A zero-width range is 0% rather than `NaN`: `min === max` is a
|
|
72
|
+
* degenerate but legal slider (a single-valued one), and it should
|
|
73
|
+
* paint at the start instead of disappearing.
|
|
74
|
+
*/
|
|
75
|
+
export const toPercent = (value, min, max) => {
|
|
76
|
+
const low = Math.min(min, max);
|
|
77
|
+
const high = Math.max(min, max);
|
|
78
|
+
const span = high - low;
|
|
79
|
+
if (span <= 0)
|
|
80
|
+
return 0;
|
|
81
|
+
return (((clampToRange(value, low, high) - low) / span) * 100);
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* The value a pointer at `fraction` (0–1 along the track) is asking for.
|
|
85
|
+
*
|
|
86
|
+
* `isRtl` inverts it. The caller measures with `getBoundingClientRect()`,
|
|
87
|
+
* which is physical and knows nothing about writing direction, so a
|
|
88
|
+
* right-to-left slider would otherwise run backwards.
|
|
89
|
+
*/
|
|
90
|
+
export const fromFraction = (fraction, min, max, step, isRtl = false) => {
|
|
91
|
+
const safe = Number.isFinite(fraction) ? fraction : 0;
|
|
92
|
+
const bounded = Math.min(1, Math.max(0, safe));
|
|
93
|
+
const along = isRtl ? 1 - bounded : bounded;
|
|
94
|
+
const low = Math.min(min, max);
|
|
95
|
+
const high = Math.max(min, max);
|
|
96
|
+
return snapToStep(low + along * (high - low), min, max, step);
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=sliderValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sliderValue.js","sourceRoot":"","sources":["../../src/Slider/sliderValue.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -42,6 +42,9 @@ export type { AlertProps, AlertSize, } from "./Alert/Alert.tsx";
|
|
|
42
42
|
export { Alert } from "./Alert/Alert.tsx";
|
|
43
43
|
export type { BadgeProps } from "./Badge/Badge.tsx";
|
|
44
44
|
export { Badge } from "./Badge/Badge.tsx";
|
|
45
|
+
export type { BadgeShapeProps } from "./Badge/useBadgeShape.tsx";
|
|
46
|
+
export type { BadgeButtonProps } from "./BadgeButton/BadgeButton.tsx";
|
|
47
|
+
export { BadgeButton } from "./BadgeButton/BadgeButton.tsx";
|
|
45
48
|
export type { BoardMove, BoardProps, } from "./Board/Board.tsx";
|
|
46
49
|
export { Board } from "./Board/Board.tsx";
|
|
47
50
|
export type { BoardItem } from "./Board/BoardCard.tsx";
|
|
@@ -141,6 +144,8 @@ export type { ShellProps } from "./Shell/Shell.tsx";
|
|
|
141
144
|
export { Shell } from "./Shell/Shell.tsx";
|
|
142
145
|
export type { SkeletonProps, SkeletonShape, } from "./Skeleton/Skeleton.tsx";
|
|
143
146
|
export { Skeleton } from "./Skeleton/Skeleton.tsx";
|
|
147
|
+
export type { SliderProps, SliderSize, } from "./Slider/Slider.tsx";
|
|
148
|
+
export { Slider } from "./Slider/Slider.tsx";
|
|
144
149
|
export type { SortableTableHeaderProps, SortDirection, } from "./SortableTableHeader/SortableTableHeader.tsx";
|
|
145
150
|
export { SortableTableHeader } from "./SortableTableHeader/SortableTableHeader.tsx";
|
|
146
151
|
export type { SpinnerProps } from "./Spinner/Spinner.tsx";
|
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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"}
|
package/dist/index.js
CHANGED
|
@@ -36,6 +36,7 @@ export { chooseColumns, DEFAULT_MAX_AUTO_COLUMNS, DEFAULT_MAX_MANUAL_COLUMNS, DE
|
|
|
36
36
|
export { localStorageColumnPersistence, readStoredChoice, useAdaptiveColumns, viewportBlockSizeResolver, } from "./AdaptiveGrid/useAdaptiveColumns.js";
|
|
37
37
|
export { Alert } from "./Alert/Alert.js";
|
|
38
38
|
export { Badge } from "./Badge/Badge.js";
|
|
39
|
+
export { BadgeButton } from "./BadgeButton/BadgeButton.js";
|
|
39
40
|
export { Board } from "./Board/Board.js";
|
|
40
41
|
export { chooseDropIndex, chooseDropTarget, describeMove, getIsMoveMeaningful, toSettledIndex, } from "./Board/boardMove.js";
|
|
41
42
|
export { Button } from "./Button/Button.js";
|
|
@@ -86,6 +87,7 @@ export { SegmentedControl } from "./SegmentedControl/SegmentedControl.js";
|
|
|
86
87
|
export { Select } from "./Select/Select.js";
|
|
87
88
|
export { Shell } from "./Shell/Shell.js";
|
|
88
89
|
export { Skeleton } from "./Skeleton/Skeleton.js";
|
|
90
|
+
export { Slider } from "./Slider/Slider.js";
|
|
89
91
|
export { SortableTableHeader } from "./SortableTableHeader/SortableTableHeader.js";
|
|
90
92
|
export { Spinner } from "./Spinner/Spinner.js";
|
|
91
93
|
export { Stepper } from "./Stepper/Stepper.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAOH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA2B,CAAA;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAiC,CAAA;AAE9D,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,iCAAiC,CAAA;AAKxC,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,sCAAsC,CAAA;AAK7C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAmB,CAAA;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Badge/Badge.tsx
CHANGED
|
@@ -1,61 +1,21 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
CategoricalIndex,
|
|
3
|
-
IntentName,
|
|
4
|
-
} from "@charcuterie/tokens"
|
|
5
1
|
import type {
|
|
6
2
|
ComponentPropsWithRef,
|
|
7
3
|
ReactNode,
|
|
8
4
|
} from "react"
|
|
9
5
|
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
12
|
-
import { BADGE_SIZE_CLASS } from "../controlStyles.ts"
|
|
13
|
-
import type { IntentAppearance } from "../intentStyles.ts"
|
|
14
|
-
import { INTENT_APPEARANCE_CLASS } from "../intentStyles.ts"
|
|
15
|
-
import { toClassName } from "../toClassName.ts"
|
|
16
|
-
import { useIsTextClipped } from "./useIsTextClipped.ts"
|
|
6
|
+
import type { BadgeShapeProps } from "./useBadgeShape.tsx"
|
|
7
|
+
import { useBadgeShape } from "./useBadgeShape.tsx"
|
|
17
8
|
|
|
18
|
-
export type BadgeProps = ComponentPropsWithRef<"span"> &
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
* `@charcuterie/tokens` is the stable fallback for a row nobody
|
|
29
|
-
* has chosen a colour for yet.
|
|
30
|
-
*
|
|
31
|
-
* Mutually exclusive with `intent` **in the type**: a badge is one
|
|
32
|
-
* colour, and passing both is a question with no answer rather
|
|
33
|
-
* than a precedence rule to remember.
|
|
34
|
-
*/
|
|
35
|
-
categorical?: CategoricalIndex
|
|
36
|
-
children: ReactNode
|
|
37
|
-
icon?: ReactNode
|
|
38
|
-
intent?: IntentName
|
|
39
|
-
/**
|
|
40
|
-
* What happens when the label is wider than the space it is given.
|
|
41
|
-
*
|
|
42
|
-
* - `truncate` — one line, capped at the container, ellipsis. The
|
|
43
|
-
* default, because a status pill that changes its row's height
|
|
44
|
-
* when a message gets longer breaks the table it sits in.
|
|
45
|
-
* - `wrap` — the pill grows taller and shows everything. For the
|
|
46
|
-
* kiosk and any touch context, where the hover readout that
|
|
47
|
-
* `truncate` relies on does not exist.
|
|
48
|
-
*/
|
|
49
|
-
overflow?: "truncate" | "wrap"
|
|
50
|
-
size?: BadgeSize
|
|
51
|
-
/**
|
|
52
|
-
* The exclusivity, and it is deliberately the *only* thing this
|
|
53
|
-
* arm says. Both props stay declared above so `react-docgen` can
|
|
54
|
-
* see them and `storyControls.test.ts` can require a control for
|
|
55
|
-
* each; this arm's whole job is to refuse the case where both
|
|
56
|
-
* arrive with a value.
|
|
57
|
-
*/
|
|
58
|
-
} & ({ categorical?: never } | { intent?: never })
|
|
9
|
+
export type BadgeProps = ComponentPropsWithRef<"span"> &
|
|
10
|
+
BadgeShapeProps & {
|
|
11
|
+
/**
|
|
12
|
+
* The exclusivity, and it is deliberately the *only* thing this
|
|
13
|
+
* arm says. Both props stay declared on `BadgeShapeProps` so
|
|
14
|
+
* `react-docgen` can see them and `storyControls.test.ts` can
|
|
15
|
+
* require a control for each; this arm's whole job is to refuse
|
|
16
|
+
* the case where both arrive with a value.
|
|
17
|
+
*/
|
|
18
|
+
} & ({ categorical?: never } | { intent?: never })
|
|
59
19
|
|
|
60
20
|
/**
|
|
61
21
|
* Four repos, and rip-deck declares the **identical** `TONE_CLASS`
|
|
@@ -98,79 +58,36 @@ export type BadgeProps = ComponentPropsWithRef<"span"> & {
|
|
|
98
58
|
* `overflow` is what happens next.
|
|
99
59
|
*/
|
|
100
60
|
export const Badge = ({
|
|
101
|
-
appearance
|
|
61
|
+
appearance,
|
|
102
62
|
categorical,
|
|
103
63
|
children,
|
|
104
64
|
className,
|
|
105
65
|
icon,
|
|
106
|
-
intent
|
|
107
|
-
overflow
|
|
108
|
-
size
|
|
66
|
+
intent,
|
|
67
|
+
overflow,
|
|
68
|
+
size,
|
|
109
69
|
title,
|
|
110
70
|
...spanProps
|
|
111
71
|
}: BadgeProps): ReactNode => {
|
|
112
|
-
const
|
|
72
|
+
const shape = useBadgeShape({
|
|
73
|
+
appearance,
|
|
74
|
+
categorical,
|
|
75
|
+
children,
|
|
76
|
+
className,
|
|
77
|
+
icon,
|
|
78
|
+
intent,
|
|
79
|
+
overflow,
|
|
80
|
+
size,
|
|
81
|
+
title,
|
|
82
|
+
})
|
|
113
83
|
|
|
114
84
|
return (
|
|
115
85
|
<span
|
|
116
86
|
{...spanProps}
|
|
117
|
-
className={
|
|
118
|
-
|
|
119
|
-
// The cap. Without it every other rule here is decoration.
|
|
120
|
-
"max-w-full",
|
|
121
|
-
overflow === "wrap"
|
|
122
|
-
? // A stadium end-cap on a three-line box reads as a
|
|
123
|
-
// rendering fault rather than a badge, so the wrapping
|
|
124
|
-
// pill relaxes to a rounded rectangle.
|
|
125
|
-
"rounded-2xl"
|
|
126
|
-
: "rounded-full",
|
|
127
|
-
BADGE_SIZE_CLASS[size],
|
|
128
|
-
// A ternary rather than a merged map: the two are indexed
|
|
129
|
-
// by different keys, and `undefined` is the only honest
|
|
130
|
-
// discriminant once the type has already refused the case
|
|
131
|
-
// where both arrive.
|
|
132
|
-
categorical === undefined
|
|
133
|
-
? INTENT_APPEARANCE_CLASS[intent][appearance]
|
|
134
|
-
: CATEGORICAL_APPEARANCE_CLASS[categorical][
|
|
135
|
-
appearance
|
|
136
|
-
],
|
|
137
|
-
className,
|
|
138
|
-
)}
|
|
139
|
-
// Only when something is actually hidden. A tooltip on every
|
|
140
|
-
// short pill in a bay list is noise, and a `title` that
|
|
141
|
-
// duplicates fully-visible text is a screen-reader duplicate
|
|
142
|
-
// for no gain.
|
|
143
|
-
title={title ?? clippedText}
|
|
87
|
+
className={shape.className}
|
|
88
|
+
title={shape.title}
|
|
144
89
|
>
|
|
145
|
-
{
|
|
146
|
-
<span
|
|
147
|
-
aria-hidden="true"
|
|
148
|
-
className="contents shrink-0"
|
|
149
|
-
>
|
|
150
|
-
{icon}
|
|
151
|
-
</span>
|
|
152
|
-
) : null}
|
|
153
|
-
|
|
154
|
-
{/*
|
|
155
|
-
* The truncation happens here rather than on the pill so the
|
|
156
|
-
* border and the rounded end-cap stay outside the clip — an
|
|
157
|
-
* `overflow: hidden` on the pill itself squares off the end
|
|
158
|
-
* the ellipsis is nearest to.
|
|
159
|
-
*
|
|
160
|
-
* `min-w-0` because a flex item's automatic minimum size is
|
|
161
|
-
* its content, which would win against `max-w-full` on the
|
|
162
|
-
* parent and put the overflow back.
|
|
163
|
-
*/}
|
|
164
|
-
<span
|
|
165
|
-
className={
|
|
166
|
-
overflow === "wrap"
|
|
167
|
-
? "min-w-0"
|
|
168
|
-
: "min-w-0 overflow-hidden text-ellipsis whitespace-nowrap"
|
|
169
|
-
}
|
|
170
|
-
ref={labelRef}
|
|
171
|
-
>
|
|
172
|
-
{children}
|
|
173
|
-
</span>
|
|
90
|
+
{shape.content}
|
|
174
91
|
</span>
|
|
175
92
|
)
|
|
176
93
|
}
|