@charcuterie/ui 3.22.0 → 3.23.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 +11 -0
- package/dist/Board/useBoardDrag.d.ts +15 -1
- package/dist/Board/useBoardDrag.d.ts.map +1 -1
- package/dist/Board/useBoardDrag.js +3 -3
- package/dist/Board/useBoardDrag.js.map +1 -1
- package/dist/ReorderList/ReorderList.d.ts +131 -0
- package/dist/ReorderList/ReorderList.d.ts.map +1 -0
- package/dist/ReorderList/ReorderList.js +154 -0
- package/dist/ReorderList/ReorderList.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Board/useBoardDrag.ts +17 -2
- package/src/ReorderList/ReorderList.mdx +83 -0
- package/src/ReorderList/ReorderList.stories.tsx +149 -0
- package/src/ReorderList/ReorderList.test.tsx +190 -0
- package/src/ReorderList/ReorderList.tsx +331 -0
- package/src/index.ts +6 -0
- package/src/sourceRules.test.ts +14 -1
package/README.md
CHANGED
|
@@ -59,6 +59,17 @@ its own chips is the only geometry a rail needs. Not to be confused with `Rail`,
|
|
|
59
59
|
shell's side landmark — `FileDropZone` is the precedent for the prefix carrying the
|
|
60
60
|
distinction.
|
|
61
61
|
|
|
62
|
+
**`ReorderList` is the same shape a fourth time, so it is the last time.** A vertical list
|
|
63
|
+
put in a different order by two buttons or by dragging a handle. Docket had written it
|
|
64
|
+
twice — a subtask checklist on HTML5 `draggable`, which does not fire on touch at all, and
|
|
65
|
+
a phase queue with the buttons and no drag — and `Board` had written it once correctly. So
|
|
66
|
+
this component **calls** `useBoardDrag` with a single registered lane rather than forking
|
|
67
|
+
its geometry, the way `VirtualizedGrid` calls `useAdaptiveColumns`; the snapshot, the
|
|
68
|
+
threshold and the pointer capture exist once. The two move buttons are the PRIMARY path and
|
|
69
|
+
the drag is the enhancement, per WCAG 2.5.7 — a host that draws no handle is supported. It
|
|
70
|
+
renders no row, no handle and no buttons: `renderItem` receives `moveBy` and `gripProps`,
|
|
71
|
+
which is what lets one component serve three CSS grids that have nothing in common.
|
|
72
|
+
|
|
62
73
|
**`BadgeButton` is a `Badge` you can press**, and it came from a consumer rather than from a
|
|
63
74
|
plan: QueuePilot has six pill-shaped controls — per-entry setting tags, an Edit chip, two
|
|
64
75
|
start-point chips, a group chip, a pool's Exclude chip — that were hand-rolled
|
|
@@ -28,7 +28,21 @@ type LaneSnapshot = BoardDropLane & {
|
|
|
28
28
|
* where an off-by-one lives.
|
|
29
29
|
*/
|
|
30
30
|
export declare const getIndicatorOffset: (lane: LaneSnapshot, index: number) => number;
|
|
31
|
-
export declare const useBoardDrag: ({ onDrop, }: {
|
|
31
|
+
export declare const useBoardDrag: ({ itemSelector, onDrop, }: {
|
|
32
|
+
/**
|
|
33
|
+
* How a registered list's draggable children are found, so a
|
|
34
|
+
* consumer that is not a board can reuse this geometry instead
|
|
35
|
+
* of forking it. `ReorderList` passes `[data-reorder-item]` and
|
|
36
|
+
* registers a single lane; the default is the board's own
|
|
37
|
+
* marker, so `Board` reads exactly as it did before this
|
|
38
|
+
* parameter existed.
|
|
39
|
+
*
|
|
40
|
+
* It is a `data-` attribute on both sides rather than a class,
|
|
41
|
+
* for the reason `BoardCard` already gives: a class is a style
|
|
42
|
+
* and a consumer's tooling may rename it, and this is a
|
|
43
|
+
* contract with a hit test.
|
|
44
|
+
*/
|
|
45
|
+
itemSelector?: string;
|
|
32
46
|
onDrop: (origin: BoardDragOrigin, target: BoardDropTarget) => void;
|
|
33
47
|
}) => {
|
|
34
48
|
drag: BoardDragState | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBoardDrag.d.ts","sourceRoot":"","sources":["../../src/Board/useBoardDrag.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAEhB,MAAM,gBAAgB,CAAA;AAwDvB,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAC7C;;;;OAIG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;CAC/B,CAAA;AAED,KAAK,YAAY,GAAG,aAAa,GAAG;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAaD;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,YAAY,EAClB,OAAO,MAAM,KACZ,MA2BF,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,
|
|
1
|
+
{"version":3,"file":"useBoardDrag.d.ts","sourceRoot":"","sources":["../../src/Board/useBoardDrag.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAEhB,MAAM,gBAAgB,CAAA;AAwDvB,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAC7C;;;;OAIG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;CAC/B,CAAA;AAED,KAAK,YAAY,GAAG,aAAa,GAAG;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAaD;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,YAAY,EAClB,OAAO,MAAM,KACZ,MA2BF,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,2BAG1B;IACD;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,CACN,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,eAAe,KACpB,IAAI,CAAA;CACV,KAAG;IACF,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;IAC3B,YAAY,EAAE,CACZ,OAAO,EAAE,MAAM,KACZ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IAC1C,SAAS,EAAE,CACT,YAAY,EAAE;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,aAAa,EAAE,WAAW,GAAG,OAAO,CAAA;QACpC,SAAS,EAAE,MAAM,CAAA;KAClB,EACD,MAAM,EAAE,eAAe,KACpB,IAAI,CAAA;CA2PV,CAAA"}
|
|
@@ -86,7 +86,7 @@ export const getIndicatorOffset = (lane, index) => {
|
|
|
86
86
|
return ((previous.top + previous.height + next.top) / 2 -
|
|
87
87
|
listTop);
|
|
88
88
|
};
|
|
89
|
-
export const useBoardDrag = ({ onDrop, }) => {
|
|
89
|
+
export const useBoardDrag = ({ itemSelector = "[data-board-card]", onDrop, }) => {
|
|
90
90
|
const laneElements = useRef(new Map());
|
|
91
91
|
const snapshot = useRef([]);
|
|
92
92
|
const [drag, setDrag] = useState(null);
|
|
@@ -111,7 +111,7 @@ export const useBoardDrag = ({ onDrop, }) => {
|
|
|
111
111
|
}, []);
|
|
112
112
|
const takeSnapshot = useCallback(() => {
|
|
113
113
|
snapshot.current = Array.from(laneElements.current, ([key, element]) => {
|
|
114
|
-
const cardElements = Array.from(element.querySelectorAll(
|
|
114
|
+
const cardElements = Array.from(element.querySelectorAll(itemSelector));
|
|
115
115
|
return {
|
|
116
116
|
cardRects: cardElements.map(toRect),
|
|
117
117
|
gap: Number.parseFloat(globalThis.getComputedStyle(element).rowGap) || 0,
|
|
@@ -120,7 +120,7 @@ export const useBoardDrag = ({ onDrop, }) => {
|
|
|
120
120
|
rect: toRect(element),
|
|
121
121
|
};
|
|
122
122
|
});
|
|
123
|
-
}, []);
|
|
123
|
+
}, [itemSelector]);
|
|
124
124
|
const moveTo = useCallback((point) => {
|
|
125
125
|
const origin = dragRef.current;
|
|
126
126
|
if (!origin) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBoardDrag.js","sourceRoot":"","sources":["../../src/Board/useBoardDrag.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAA;AAOd,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAuB3B,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAa,EAAE;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAA;IAE5C,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAA;AACH,CAAC,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAkB,EAClB,KAAa,EACL,EAAE;IACV,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAExC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;IAErC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAE7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CACL,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,OAAO,GAAG,GAAG,GAAG,CAAC,CACnD,CAAA;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CACL,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,OAAO,GAAG,GAAG,GAAG,CAAC,CACnD,CAAA;IACH,CAAC;IAED,OAAO,CACL,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAC/C,OAAO,CACR,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"useBoardDrag.js","sourceRoot":"","sources":["../../src/Board/useBoardDrag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import type { ReactNode, Ref } from "react";
|
|
2
|
+
export type ReorderListItem = {
|
|
3
|
+
key: string;
|
|
4
|
+
/**
|
|
5
|
+
* Plain text, and it is not optional. Every accessible name the
|
|
6
|
+
* component writes is built from it — "Move <label> earlier" —
|
|
7
|
+
* and so is the sentence the live region reads after a move. A
|
|
8
|
+
* button announced as "↑" names nothing.
|
|
9
|
+
*/
|
|
10
|
+
label: string;
|
|
11
|
+
};
|
|
12
|
+
export type ReorderListRenderArguments<TItem extends ReorderListItem> = {
|
|
13
|
+
/**
|
|
14
|
+
* Spread onto whatever the host wants the drag to start FROM.
|
|
15
|
+
* Absent — as an empty object — when the list is too short to
|
|
16
|
+
* reorder, so a one-row list has no dead handle on it.
|
|
17
|
+
*
|
|
18
|
+
* It is a **handle**, never the whole row: a row holds links,
|
|
19
|
+
* and a link is draggable already.
|
|
20
|
+
*/
|
|
21
|
+
gripProps: {
|
|
22
|
+
onPointerDown?: (event: {
|
|
23
|
+
clientX: number;
|
|
24
|
+
clientY: number;
|
|
25
|
+
currentTarget: EventTarget & Element;
|
|
26
|
+
pointerId: number;
|
|
27
|
+
}) => void;
|
|
28
|
+
style?: {
|
|
29
|
+
touchAction: "none";
|
|
30
|
+
};
|
|
31
|
+
title?: string;
|
|
32
|
+
};
|
|
33
|
+
index: number;
|
|
34
|
+
isDragged: boolean;
|
|
35
|
+
isFirst: boolean;
|
|
36
|
+
isLast: boolean;
|
|
37
|
+
item: TItem;
|
|
38
|
+
/**
|
|
39
|
+
* The KEYBOARD path, and it is the primary one. The host draws
|
|
40
|
+
* the two buttons because only the host knows where they sit in
|
|
41
|
+
* its own row; the component supplies what they do and whether
|
|
42
|
+
* each end is disabled.
|
|
43
|
+
*/
|
|
44
|
+
moveBy: (offset: -1 | 1) => void;
|
|
45
|
+
/** 1-based, for printing. */
|
|
46
|
+
position: number;
|
|
47
|
+
};
|
|
48
|
+
export type ReorderListProps<TItem extends ReorderListItem> = {
|
|
49
|
+
className?: string;
|
|
50
|
+
/**
|
|
51
|
+
* The container element. `ul` by default, because an ordered
|
|
52
|
+
* pile of rows is a list; `div` for a host whose own CSS grid
|
|
53
|
+
* owns the shape and would have to undo list semantics to get
|
|
54
|
+
* it.
|
|
55
|
+
*/
|
|
56
|
+
elementType?: "div" | "ol" | "ul";
|
|
57
|
+
/**
|
|
58
|
+
* The container element, for a host that needs it too.
|
|
59
|
+
*
|
|
60
|
+
* The component keeps its own hold on that element — the drag
|
|
61
|
+
* measures its rows off it — so this is MERGED rather than
|
|
62
|
+
* forwarded. Docket plays a FLIP animation off the same
|
|
63
|
+
* element, and without this the two uses would have to fight
|
|
64
|
+
* over one `ref`.
|
|
65
|
+
*/
|
|
66
|
+
elementRef?: Ref<HTMLElement>;
|
|
67
|
+
itemClassName?: string;
|
|
68
|
+
items: readonly TItem[];
|
|
69
|
+
/** The list's accessible name. */
|
|
70
|
+
label: string;
|
|
71
|
+
/**
|
|
72
|
+
* `fromIndex` and `toIndex` are both indexes into `items`, and
|
|
73
|
+
* `toIndex` is already corrected for the row's own removal — so
|
|
74
|
+
* a handler is `splice(from, 1)` then `splice(to, 0, row)` with
|
|
75
|
+
* no arithmetic of its own.
|
|
76
|
+
*/
|
|
77
|
+
onReorder: (fromIndex: number, toIndex: number) => void;
|
|
78
|
+
renderItem: (renderArguments: ReorderListRenderArguments<TItem>) => ReactNode;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* A vertical list whose rows can be put in a different order — by
|
|
82
|
+
* two buttons, or by dragging a handle.
|
|
83
|
+
*
|
|
84
|
+
* ### Why it is not a fourth hand-rolled reorder
|
|
85
|
+
*
|
|
86
|
+
* Docket wrote this twice: a subtask checklist on HTML5
|
|
87
|
+
* `draggable`, and a phase queue with the buttons and no drag at
|
|
88
|
+
* all. `Board` wrote a third, properly, on Pointer Events. Three
|
|
89
|
+
* implementations of one shape is the case the workspace's
|
|
90
|
+
* component rule exists for, so the geometry here is **`Board`'s
|
|
91
|
+
* own** — `useBoardDrag` with a single registered lane and the
|
|
92
|
+
* item selector pointed at this component's rows. Nothing about
|
|
93
|
+
* the measuring, the snapshot, the threshold or the pointer
|
|
94
|
+
* capture is written twice.
|
|
95
|
+
*
|
|
96
|
+
* ### The buttons are primary, the drag is the enhancement
|
|
97
|
+
*
|
|
98
|
+
* WCAG 2.5.7 requires a single-pointer alternative to any dragging
|
|
99
|
+
* movement, and the board's decision already argues the stronger
|
|
100
|
+
* version: the buttons are not a fallback bolted onto a drag, they
|
|
101
|
+
* are the only path that works from a keyboard, under a screen
|
|
102
|
+
* reader, or under a thumb in the Narrow View. So `renderItem`
|
|
103
|
+
* receives `moveBy` before it receives `gripProps`, and a host
|
|
104
|
+
* that draws no handle at all is a supported host.
|
|
105
|
+
*
|
|
106
|
+
* ### It takes no drag-and-drop dependency
|
|
107
|
+
*
|
|
108
|
+
* The board priced four libraries at 7–32 KB gzipped and took none
|
|
109
|
+
* of them, because a published library's dependency list is
|
|
110
|
+
* inherited by every consumer
|
|
111
|
+
* ([decision](../../../docs/decisions/2026-08-19-the-board-owns-the-move-and-takes-no-drag-and-drop-dependency.md)).
|
|
112
|
+
* This adds nothing to that arithmetic — it is the same 1.4 KB,
|
|
113
|
+
* called twice.
|
|
114
|
+
*
|
|
115
|
+
* ### `draggable="true"` is the instinct this replaces
|
|
116
|
+
*
|
|
117
|
+
* Native HTML5 drag-and-drop **does not fire on touch at all**, so
|
|
118
|
+
* the checklist Docket shipped on it cannot be reordered on the
|
|
119
|
+
* tablet its owner reads it on. Pointer Events are one code path
|
|
120
|
+
* for mouse, touch and pen, and `setPointerCapture` keeps the drag
|
|
121
|
+
* alive once the row has moved out from under the finger.
|
|
122
|
+
*
|
|
123
|
+
* ### What it deliberately does not do
|
|
124
|
+
*
|
|
125
|
+
* It renders no row, no handle, no buttons and no glyph. The host
|
|
126
|
+
* renders all four through `renderItem`, which is what lets one
|
|
127
|
+
* component serve a checklist, a queue and a card list whose CSS
|
|
128
|
+
* grids have nothing in common.
|
|
129
|
+
*/
|
|
130
|
+
export declare const ReorderList: <TItem extends ReorderListItem>({ className, elementRef, elementType, itemClassName, items, label, onReorder, renderItem, }: ReorderListProps<TItem>) => ReactNode;
|
|
131
|
+
//# sourceMappingURL=ReorderList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReorderList.d.ts","sourceRoot":"","sources":["../../src/ReorderList/ReorderList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AA0B3C,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,0BAA0B,CACpC,KAAK,SAAS,eAAe,IAC3B;IACF;;;;;;;OAOG;IACH,SAAS,EAAE;QACT,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;YACtB,OAAO,EAAE,MAAM,CAAA;YACf,OAAO,EAAE,MAAM,CAAA;YACf,aAAa,EAAE,WAAW,GAAG,OAAO,CAAA;YACpC,SAAS,EAAE,MAAM,CAAA;SAClB,KAAK,IAAI,CAAA;QACV,KAAK,CAAC,EAAE;YAAE,WAAW,EAAE,MAAM,CAAA;SAAE,CAAA;QAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,KAAK,CAAA;IACX;;;;;OAKG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;IAChC,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,gBAAgB,CAC1B,KAAK,SAAS,eAAe,IAC3B;IACF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAAA;IACjC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,SAAS,KAAK,EAAE,CAAA;IACvB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,UAAU,EAAE,CACV,eAAe,EAAE,0BAA0B,CAAC,KAAK,CAAC,KAC/C,SAAS,CAAA;CACf,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,SAAS,eAAe,EAAE,6FASxD,gBAAgB,CAAC,KAAK,CAAC,KAAG,SAgK5B,CAAA"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useState } from "react";
|
|
3
|
+
import { getIsMoveMeaningful, toSettledIndex, } from "../Board/boardMove.js";
|
|
4
|
+
import { useBoardDrag } from "../Board/useBoardDrag.js";
|
|
5
|
+
import { toClassName } from "../toClassName.js";
|
|
6
|
+
import { VisuallyHidden } from "../VisuallyHidden/VisuallyHidden.js";
|
|
7
|
+
/**
|
|
8
|
+
* The attribute the drag's hit test reads on a row. A `data-`
|
|
9
|
+
* attribute rather than a class, the same contract `BoardCard` and
|
|
10
|
+
* `DropRail` already write down: a class is a style and a
|
|
11
|
+
* consumer's tooling may rename it.
|
|
12
|
+
*/
|
|
13
|
+
const ITEM_ATTRIBUTE = "data-reorder-item";
|
|
14
|
+
/**
|
|
15
|
+
* The single lane this component registers with the board's drag.
|
|
16
|
+
* A reorder list is a board with one lane and no lane picker, so
|
|
17
|
+
* the key is a constant and never leaves this file.
|
|
18
|
+
*/
|
|
19
|
+
const LANE_KEY = "reorder-list";
|
|
20
|
+
/**
|
|
21
|
+
* A vertical list whose rows can be put in a different order — by
|
|
22
|
+
* two buttons, or by dragging a handle.
|
|
23
|
+
*
|
|
24
|
+
* ### Why it is not a fourth hand-rolled reorder
|
|
25
|
+
*
|
|
26
|
+
* Docket wrote this twice: a subtask checklist on HTML5
|
|
27
|
+
* `draggable`, and a phase queue with the buttons and no drag at
|
|
28
|
+
* all. `Board` wrote a third, properly, on Pointer Events. Three
|
|
29
|
+
* implementations of one shape is the case the workspace's
|
|
30
|
+
* component rule exists for, so the geometry here is **`Board`'s
|
|
31
|
+
* own** — `useBoardDrag` with a single registered lane and the
|
|
32
|
+
* item selector pointed at this component's rows. Nothing about
|
|
33
|
+
* the measuring, the snapshot, the threshold or the pointer
|
|
34
|
+
* capture is written twice.
|
|
35
|
+
*
|
|
36
|
+
* ### The buttons are primary, the drag is the enhancement
|
|
37
|
+
*
|
|
38
|
+
* WCAG 2.5.7 requires a single-pointer alternative to any dragging
|
|
39
|
+
* movement, and the board's decision already argues the stronger
|
|
40
|
+
* version: the buttons are not a fallback bolted onto a drag, they
|
|
41
|
+
* are the only path that works from a keyboard, under a screen
|
|
42
|
+
* reader, or under a thumb in the Narrow View. So `renderItem`
|
|
43
|
+
* receives `moveBy` before it receives `gripProps`, and a host
|
|
44
|
+
* that draws no handle at all is a supported host.
|
|
45
|
+
*
|
|
46
|
+
* ### It takes no drag-and-drop dependency
|
|
47
|
+
*
|
|
48
|
+
* The board priced four libraries at 7–32 KB gzipped and took none
|
|
49
|
+
* of them, because a published library's dependency list is
|
|
50
|
+
* inherited by every consumer
|
|
51
|
+
* ([decision](../../../docs/decisions/2026-08-19-the-board-owns-the-move-and-takes-no-drag-and-drop-dependency.md)).
|
|
52
|
+
* This adds nothing to that arithmetic — it is the same 1.4 KB,
|
|
53
|
+
* called twice.
|
|
54
|
+
*
|
|
55
|
+
* ### `draggable="true"` is the instinct this replaces
|
|
56
|
+
*
|
|
57
|
+
* Native HTML5 drag-and-drop **does not fire on touch at all**, so
|
|
58
|
+
* the checklist Docket shipped on it cannot be reordered on the
|
|
59
|
+
* tablet its owner reads it on. Pointer Events are one code path
|
|
60
|
+
* for mouse, touch and pen, and `setPointerCapture` keeps the drag
|
|
61
|
+
* alive once the row has moved out from under the finger.
|
|
62
|
+
*
|
|
63
|
+
* ### What it deliberately does not do
|
|
64
|
+
*
|
|
65
|
+
* It renders no row, no handle, no buttons and no glyph. The host
|
|
66
|
+
* renders all four through `renderItem`, which is what lets one
|
|
67
|
+
* component serve a checklist, a queue and a card list whose CSS
|
|
68
|
+
* grids have nothing in common.
|
|
69
|
+
*/
|
|
70
|
+
export const ReorderList = ({ className, elementRef, elementType = "ul", itemClassName, items, label, onReorder, renderItem, }) => {
|
|
71
|
+
const [announcement, setAnnouncement] = useState("");
|
|
72
|
+
/**
|
|
73
|
+
* A single row cannot be put anywhere else, so it gets no grip
|
|
74
|
+
* and no buttons. This is checked here rather than in every
|
|
75
|
+
* host, because "hide the control when it can do nothing" is the
|
|
76
|
+
* part each hand-rolled copy forgot.
|
|
77
|
+
*/
|
|
78
|
+
const isReorderable = items.length > 1;
|
|
79
|
+
const commit = useCallback((fromIndex, toIndex) => {
|
|
80
|
+
setAnnouncement(`Moved ${items[fromIndex]?.label ?? ""} to position ${String(toIndex + 1)} of ${String(items.length)}.`);
|
|
81
|
+
onReorder(fromIndex, toIndex);
|
|
82
|
+
}, [items, onReorder]);
|
|
83
|
+
const { drag, registerLane, startDrag } = useBoardDrag({
|
|
84
|
+
itemSelector: `[${ITEM_ATTRIBUTE}]`,
|
|
85
|
+
onDrop: (origin, target) => {
|
|
86
|
+
if (!getIsMoveMeaningful({
|
|
87
|
+
fromIndex: origin.fromIndex,
|
|
88
|
+
fromLaneKey: origin.fromLaneKey,
|
|
89
|
+
toIndex: target.index,
|
|
90
|
+
toLaneKey: target.laneKey,
|
|
91
|
+
})) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
commit(origin.fromIndex, toSettledIndex({
|
|
95
|
+
fromIndex: origin.fromIndex,
|
|
96
|
+
fromLaneKey: origin.fromLaneKey,
|
|
97
|
+
toIndex: target.index,
|
|
98
|
+
toLaneKey: target.laneKey,
|
|
99
|
+
}));
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
const ListElement = elementType;
|
|
103
|
+
const ItemElement = elementType === "div" ? "div" : "li";
|
|
104
|
+
return (_jsxs(_Fragment, { children: [_jsxs(ListElement, { "aria-label": label, className: toClassName("relative", className), ref: (element) => {
|
|
105
|
+
registerLane(LANE_KEY)(element);
|
|
106
|
+
if (typeof elementRef === "function") {
|
|
107
|
+
elementRef(element);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (elementRef) {
|
|
111
|
+
elementRef.current = element;
|
|
112
|
+
}
|
|
113
|
+
}, children: [items.map((item, index) => (_jsx(ItemElement, { className: itemClassName, [ITEM_ATTRIBUTE]: item.key, children: renderItem({
|
|
114
|
+
gripProps: isReorderable
|
|
115
|
+
? {
|
|
116
|
+
onPointerDown: (pointerEvent) => {
|
|
117
|
+
startDrag(pointerEvent, {
|
|
118
|
+
fromIndex: index,
|
|
119
|
+
fromLaneKey: LANE_KEY,
|
|
120
|
+
itemKey: item.key,
|
|
121
|
+
});
|
|
122
|
+
},
|
|
123
|
+
/*
|
|
124
|
+
* Without it the browser claims the gesture
|
|
125
|
+
* for a scroll and the `pointermove` stream
|
|
126
|
+
* stops one frame in — which reads as "drag
|
|
127
|
+
* works on the desktop and not on the
|
|
128
|
+
* tablet", the exact bug this component
|
|
129
|
+
* exists to end.
|
|
130
|
+
*/
|
|
131
|
+
style: { touchAction: "none" },
|
|
132
|
+
title: "Drag to reorder",
|
|
133
|
+
}
|
|
134
|
+
: {},
|
|
135
|
+
index,
|
|
136
|
+
isDragged: drag?.itemKey === item.key,
|
|
137
|
+
isFirst: index === 0,
|
|
138
|
+
isLast: index === items.length - 1,
|
|
139
|
+
item,
|
|
140
|
+
moveBy: (offset) => {
|
|
141
|
+
const toIndex = index + offset;
|
|
142
|
+
if (!isReorderable ||
|
|
143
|
+
toIndex < 0 ||
|
|
144
|
+
toIndex > items.length - 1) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
commit(index, toIndex);
|
|
148
|
+
},
|
|
149
|
+
position: index + 1,
|
|
150
|
+
}) }, item.key))), drag?.indicatorOffset == null ? null : (_jsx(ItemElement, { "aria-hidden": "true", className: "pointer-events-none absolute end-0 start-0 h-0.5 rounded-full bg-intent-accent-solid", style: {
|
|
151
|
+
insetBlockStart: `${String(drag.indicatorOffset)}px`,
|
|
152
|
+
} }))] }), _jsx(VisuallyHidden, { "aria-label": `${label} activity`, role: "status", children: announcement })] }));
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=ReorderList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReorderList.js","sourceRoot":"","sources":["../../src/ReorderList/ReorderList.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -146,6 +146,8 @@ export type { RadioGroupProps, RadioItem, } from "./RadioGroup/RadioGroup.tsx";
|
|
|
146
146
|
export { RadioGroup } from "./RadioGroup/RadioGroup.tsx";
|
|
147
147
|
export type { RailLandmark, RailProps, RailSide, } from "./Rail/Rail.tsx";
|
|
148
148
|
export { Rail } from "./Rail/Rail.tsx";
|
|
149
|
+
export type { ReorderListItem, ReorderListProps, ReorderListRenderArguments, } from "./ReorderList/ReorderList.tsx";
|
|
150
|
+
export { ReorderList } from "./ReorderList/ReorderList.tsx";
|
|
149
151
|
export { AnchorLink } from "./RouterLink/AnchorLink.tsx";
|
|
150
152
|
export { RouterLinkProvider, useRouterLink, } from "./RouterLink/RouterLinkProvider.tsx";
|
|
151
153
|
export type { RouterLinkComponent, RouterLinkProps, } from "./RouterLink/routerLink.ts";
|
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
|
@@ -88,6 +88,7 @@ export { getProgressIntent, toProgressPercent, toProgressValue, } from "./Progre
|
|
|
88
88
|
export { QueryBuilder } from "./QueryBuilder/QueryBuilder.js";
|
|
89
89
|
export { RadioGroup } from "./RadioGroup/RadioGroup.js";
|
|
90
90
|
export { Rail } from "./Rail/Rail.js";
|
|
91
|
+
export { ReorderList } from "./ReorderList/ReorderList.js";
|
|
91
92
|
export { AnchorLink } from "./RouterLink/AnchorLink.js";
|
|
92
93
|
export { RouterLinkProvider, useRouterLink, } from "./RouterLink/RouterLinkProvider.js";
|
|
93
94
|
export { getIsRoutedHref } from "./RouterLink/routerLink.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -140,8 +140,23 @@ export const getIndicatorOffset = (
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
export const useBoardDrag = ({
|
|
143
|
+
itemSelector = "[data-board-card]",
|
|
143
144
|
onDrop,
|
|
144
145
|
}: {
|
|
146
|
+
/**
|
|
147
|
+
* How a registered list's draggable children are found, so a
|
|
148
|
+
* consumer that is not a board can reuse this geometry instead
|
|
149
|
+
* of forking it. `ReorderList` passes `[data-reorder-item]` and
|
|
150
|
+
* registers a single lane; the default is the board's own
|
|
151
|
+
* marker, so `Board` reads exactly as it did before this
|
|
152
|
+
* parameter existed.
|
|
153
|
+
*
|
|
154
|
+
* It is a `data-` attribute on both sides rather than a class,
|
|
155
|
+
* for the reason `BoardCard` already gives: a class is a style
|
|
156
|
+
* and a consumer's tooling may rename it, and this is a
|
|
157
|
+
* contract with a hit test.
|
|
158
|
+
*/
|
|
159
|
+
itemSelector?: string
|
|
145
160
|
onDrop: (
|
|
146
161
|
origin: BoardDragOrigin,
|
|
147
162
|
target: BoardDropTarget,
|
|
@@ -207,7 +222,7 @@ export const useBoardDrag = ({
|
|
|
207
222
|
laneElements.current,
|
|
208
223
|
([key, element]) => {
|
|
209
224
|
const cardElements = Array.from(
|
|
210
|
-
element.querySelectorAll(
|
|
225
|
+
element.querySelectorAll(itemSelector),
|
|
211
226
|
)
|
|
212
227
|
|
|
213
228
|
return {
|
|
@@ -222,7 +237,7 @@ export const useBoardDrag = ({
|
|
|
222
237
|
}
|
|
223
238
|
},
|
|
224
239
|
)
|
|
225
|
-
}, [])
|
|
240
|
+
}, [itemSelector])
|
|
226
241
|
|
|
227
242
|
const moveTo = useCallback(
|
|
228
243
|
(point: { x: number; y: number }) => {
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Canvas, Controls, Meta } from "@storybook/addon-docs/blocks";
|
|
2
|
+
|
|
3
|
+
import * as ReorderListStories from "./ReorderList.stories";
|
|
4
|
+
|
|
5
|
+
<Meta of={ReorderListStories} />
|
|
6
|
+
|
|
7
|
+
# ReorderList
|
|
8
|
+
|
|
9
|
+
A vertical list put in a different order — by two buttons, or by dragging a handle.
|
|
10
|
+
|
|
11
|
+
<Canvas of={ReorderListStories.Default} />
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
<Controls />
|
|
16
|
+
|
|
17
|
+
## Why the library owns this
|
|
18
|
+
|
|
19
|
+
The shape had been written four times before this file existed. Docket wrote it twice: a
|
|
20
|
+
subtask checklist on HTML5 `draggable`, and a phase queue with the buttons and no drag at
|
|
21
|
+
all. `Board` wrote it once, properly, on Pointer Events. Four implementations of one
|
|
22
|
+
behaviour is the case the fleet's build-it-here rule exists for.
|
|
23
|
+
|
|
24
|
+
So this component does not fork the geometry — it **calls** `useBoardDrag` with a single
|
|
25
|
+
registered lane and the item selector pointed at its own rows, the same way
|
|
26
|
+
`VirtualizedGrid` calls `useAdaptiveColumns`. The snapshot, the movement threshold, the
|
|
27
|
+
pointer capture and the drop-index arithmetic exist once in this package, and a fix to any
|
|
28
|
+
of them reaches the board and the list together.
|
|
29
|
+
|
|
30
|
+
## The buttons are primary, the drag is the enhancement
|
|
31
|
+
|
|
32
|
+
WCAG 2.5.7 requires a single-pointer alternative to any dragging movement, and the board's
|
|
33
|
+
[decision](https://github.com/Sawtaytoes/charcuterie/blob/master/docs/decisions/2026-08-19-the-board-owns-the-move-and-takes-no-drag-and-drop-dependency.md)
|
|
34
|
+
argues the stronger version: the buttons are not a fallback bolted onto a drag. They are the
|
|
35
|
+
only path that works from a keyboard, under a screen reader, or under a thumb in the Narrow
|
|
36
|
+
View.
|
|
37
|
+
|
|
38
|
+
`renderItem` therefore receives `moveBy`, `isFirst` and `isLast` **before** it receives
|
|
39
|
+
`gripProps`, and a host that draws no handle at all is a supported host.
|
|
40
|
+
|
|
41
|
+
## `draggable="true"` is the instinct this replaces
|
|
42
|
+
|
|
43
|
+
Native HTML5 drag-and-drop costs nothing and is the wrong answer. It **does not fire on
|
|
44
|
+
touch at all**, so a checklist built on it cannot be reordered on a tablet; its drag image is
|
|
45
|
+
a browser-drawn ghost with no styling hook worth using; and `dataTransfer` is readable only
|
|
46
|
+
inside a real `drop`, which makes a live drop indicator awkward for no gain.
|
|
47
|
+
|
|
48
|
+
Pointer Events cost the same — nothing — and are one code path for mouse, touch and pen.
|
|
49
|
+
`setPointerCapture` keeps the drag alive after the row has moved out from under the finger.
|
|
50
|
+
|
|
51
|
+
The handle carries `touch-action: none`. Without it the browser claims the gesture for a
|
|
52
|
+
scroll and the `pointermove` stream stops one frame in, which reads as "the drag works on my
|
|
53
|
+
desktop and not on my tablet".
|
|
54
|
+
|
|
55
|
+
## One row gets no controls
|
|
56
|
+
|
|
57
|
+
<Canvas of={ReorderListStories.SingleItem} />
|
|
58
|
+
|
|
59
|
+
A single item cannot be put anywhere else. `gripProps` comes back empty and `moveBy` does
|
|
60
|
+
nothing, so a host cannot leave a dead handle on a one-row list by forgetting to check —
|
|
61
|
+
which is the part every hand-rolled copy of this shape did forget.
|
|
62
|
+
|
|
63
|
+
## What it deliberately does not render
|
|
64
|
+
|
|
65
|
+
No row, no handle, no buttons and no glyph. The host renders all four through `renderItem`,
|
|
66
|
+
which is what lets one component serve a checklist, a phase queue and a card list whose CSS
|
|
67
|
+
grids have nothing in common. The library ships no icons either, so the position number
|
|
68
|
+
doubling as the handle is the pattern to copy: a list that is ordered wants the number
|
|
69
|
+
printed anyway.
|
|
70
|
+
|
|
71
|
+
## The move is announced, with its position
|
|
72
|
+
|
|
73
|
+
Every commit writes a sentence into a named `role="status"` region: *"Moved Sand the cut
|
|
74
|
+
edge to position 2 of 5."* The **position** is there because "moved" leaves a screen-reader
|
|
75
|
+
user unable to tell the top of a list from the bottom of thirty — the one piece of feedback
|
|
76
|
+
a sighted user gets free from watching the row land, and the one every drag implementation
|
|
77
|
+
forgets to say out loud.
|
|
78
|
+
|
|
79
|
+
## `toIndex` is already corrected
|
|
80
|
+
|
|
81
|
+
`onReorder(fromIndex, toIndex)` hands back an index into `items` that has already accounted
|
|
82
|
+
for the row's own removal, so a handler is `splice(from, 1)` then `splice(to, 0, row)` with
|
|
83
|
+
no arithmetic of its own. That is `toSettledIndex`, shared with `Board`.
|