@stll/ui 0.26.3 → 0.26.4
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/calendar/primitives.d.ts +7 -8
- package/dist/calendar/resource-calendar.d.ts +6 -7
- package/dist/calendar/resource-calendar.logic.d.ts +9 -10
- package/dist/components/application-rail.d.ts +11 -12
- package/dist/components/bidi-text.d.ts +3 -3
- package/dist/components/brand-icons.d.ts +3 -4
- package/dist/components/button-variants.d.ts +5 -6
- package/dist/components/command.d.ts +1 -1
- package/dist/components/composer.d.ts +18 -19
- package/dist/components/context-menu.d.ts +4 -5
- package/dist/components/date-picker-popover.js +20 -18
- package/dist/components/date-picker-popover.logic.d.ts +6 -7
- package/dist/components/dialog.d.ts +1 -1
- package/dist/components/directional-icon.d.ts +2 -3
- package/dist/components/input-control.d.ts +4 -5
- package/dist/components/input-group.d.ts +1 -1
- package/dist/components/landing.d.ts +10 -11
- package/dist/components/menu.d.ts +1 -1
- package/dist/components/outline-rail.d.ts +4 -5
- package/dist/components/preview-card.d.ts +4 -4
- package/dist/components/scroll-to-top.d.ts +3 -4
- package/dist/components/segmented-icon-toggle.d.ts +2 -3
- package/dist/components/sheet.d.ts +1 -1
- package/dist/components/sidebar.d.ts +5 -5
- package/dist/components/sidebar.logic.d.ts +7 -8
- package/dist/components/stella-mark.d.ts +2 -3
- package/dist/components/stella-wordmark.d.ts +2 -3
- package/dist/components/tooltip.d.ts +1 -1
- package/dist/components/workspace-shell.d.ts +3 -3
- package/dist/data-table/schema.d.ts +11 -12
- package/dist/data-table/table.d.ts +8 -9
- package/dist/hooks/use-contained-handler.d.ts +3 -4
- package/dist/hooks/use-content-dir.d.ts +4 -5
- package/dist/hooks/use-latest.d.ts +2 -3
- package/dist/hooks/use-mobile.d.ts +2 -3
- package/dist/hooks/use-viewport-width.d.ts +2 -3
- package/dist/inspector/chrome.d.ts +21 -22
- package/dist/inspector/dock.d.ts +2 -3
- package/dist/inspector/entity-tab.d.ts +4 -5
- package/dist/inspector/entity-tab.logic.d.ts +4 -5
- package/dist/inspector/facet-bar.d.ts +3 -4
- package/dist/inspector/facet-bar.logic.d.ts +4 -5
- package/dist/inspector/layout-tokens.d.ts +8 -9
- package/dist/inspector/pane-width.d.ts +11 -12
- package/dist/inspector/tabs.d.ts +7 -8
- package/dist/inspector/use-pane-width.d.ts +9 -10
- package/dist/kanban/band-peek.d.ts +7 -8
- package/dist/kanban/card-properties.d.ts +3 -4
- package/dist/kanban/card-shell.d.ts +3 -4
- package/dist/kanban/cell-action.d.ts +3 -4
- package/dist/kanban/column-band-header.d.ts +4 -5
- package/dist/kanban/column-bands.d.ts +9 -10
- package/dist/kanban/column-header.d.ts +3 -4
- package/dist/kanban/drag-interactions.d.ts +7 -8
- package/dist/kanban/grouping.d.ts +14 -15
- package/dist/kanban/layout-tokens.d.ts +6 -7
- package/dist/kanban/matrix.d.ts +20 -21
- package/dist/kanban/sortable-edge.d.ts +7 -8
- package/dist/kanban/sortable-interactions.d.ts +27 -27
- package/dist/kanban/sortable-interactions.logic.d.ts +14 -15
- package/dist/kanban/sticky-lane.d.ts +10 -11
- package/dist/kanban/subgroup-board.d.ts +10 -11
- package/dist/kanban/subgroup-board.js +8 -4
- package/dist/kanban/touch-identity.d.ts +2 -3
- package/dist/kanban/virtual-cell.d.ts +6 -7
- package/dist/lib/button-disposition.d.ts +6 -7
- package/dist/lib/control-size.d.ts +1 -1
- package/dist/lib/initials.d.ts +2 -3
- package/dist/lib/option-color.d.ts +6 -7
- package/dist/lib/overlay-layer.d.ts +6 -7
- package/dist/lib/positioner-sizing.d.ts +3 -4
- package/dist/lib/tab-order.d.ts +2 -3
- package/dist/lib/tooltip-content.d.ts +2 -3
- package/dist/lib/utils.d.ts +3 -4
- package/dist/lib/week.d.ts +4 -5
- package/dist/review/review-author-avatar.d.ts +3 -4
- package/dist/review/review-comment-card.d.ts +3 -4
- package/dist/review/review-decision-actions.d.ts +4 -5
- package/dist/review/review-diff-text.d.ts +9 -10
- package/dist/review/review-out-of-date-notice.d.ts +4 -5
- package/dist/review/review-severity-dot.d.ts +5 -6
- package/dist/review/review-status-badge.d.ts +5 -6
- package/package.json +8 -8
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
* the peek at once.
|
|
16
16
|
*/
|
|
17
17
|
/** How long a dragged card rests on a folded slot before the band peeks open. */
|
|
18
|
-
declare const KANBAN_BAND_PEEK_DELAY_MS = 400;
|
|
18
|
+
export declare const KANBAN_BAND_PEEK_DELAY_MS = 400;
|
|
19
19
|
/** How long the drag may be outside an open band before the peek ends. */
|
|
20
|
-
declare const KANBAN_BAND_PEEK_LINGER_MS = 150;
|
|
20
|
+
export declare const KANBAN_BAND_PEEK_LINGER_MS = 150;
|
|
21
21
|
/** Runs `callback` after `ms`; the returned function cancels it. */
|
|
22
|
-
type BandPeekScheduler = (callback: () => void, ms: number) => () => void;
|
|
23
|
-
type BandPeekControllerOptions = {
|
|
22
|
+
export type BandPeekScheduler = (callback: () => void, ms: number) => () => void;
|
|
23
|
+
export type BandPeekControllerOptions = {
|
|
24
24
|
/** Receives the band currently peeked open, or `null`. */
|
|
25
25
|
onChange: (peekingBandId: string | null) => void;
|
|
26
26
|
delayMs?: number;
|
|
@@ -28,7 +28,7 @@ type BandPeekControllerOptions = {
|
|
|
28
28
|
/** Injectable so tests drive a manual clock. */
|
|
29
29
|
schedule?: BandPeekScheduler;
|
|
30
30
|
};
|
|
31
|
-
type BandPeekController = {
|
|
31
|
+
export type BandPeekController = {
|
|
32
32
|
/** A dragged card moved over a band's folded slot. */
|
|
33
33
|
slotDragOver: (bandId: string) => void;
|
|
34
34
|
/** The drag left a band's folded slot. */
|
|
@@ -54,6 +54,5 @@ type BandPeekController = {
|
|
|
54
54
|
/** Ends any pending timer, for unmount. */
|
|
55
55
|
dispose: () => void;
|
|
56
56
|
};
|
|
57
|
-
declare const createBandPeekController: ({ onChange, delayMs, lingerMs, schedule }: BandPeekControllerOptions) => BandPeekController;
|
|
58
|
-
//#endregion
|
|
59
|
-
export { BandPeekController, BandPeekControllerOptions, BandPeekScheduler, KANBAN_BAND_PEEK_DELAY_MS, KANBAN_BAND_PEEK_LINGER_MS, createBandPeekController };
|
|
57
|
+
export declare const createBandPeekController: ({ onChange, delayMs, lingerMs, schedule }: BandPeekControllerOptions) => BandPeekController;
|
|
58
|
+
//#endregion
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* board could hold. Here the caller names its reserved ids once and vetoes the
|
|
9
9
|
* rest through a predicate.
|
|
10
10
|
*/
|
|
11
|
-
type KanbanCardFieldSelection = {
|
|
11
|
+
export type KanbanCardFieldSelection = {
|
|
12
12
|
/** Field ids the card renders itself, so they are not repeated as values. */
|
|
13
13
|
reservedFieldIds: readonly string[];
|
|
14
14
|
/**
|
|
@@ -22,6 +22,5 @@ type KanbanCardFieldSelection = {
|
|
|
22
22
|
* The visible field ids a card renders as property values, in view order and
|
|
23
23
|
* without duplicates.
|
|
24
24
|
*/
|
|
25
|
-
declare const selectKanbanCardFieldIds: (visibleFieldIds: readonly string[], { reservedFieldIds, isRenderable }: KanbanCardFieldSelection) => string[];
|
|
26
|
-
//#endregion
|
|
27
|
-
export { KanbanCardFieldSelection, selectKanbanCardFieldIds };
|
|
25
|
+
export declare const selectKanbanCardFieldIds: (visibleFieldIds: readonly string[], { reservedFieldIds, isRenderable }: KanbanCardFieldSelection) => string[];
|
|
26
|
+
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode, RefObject } from "react";
|
|
2
2
|
//#region src/kanban/card-shell.d.ts
|
|
3
|
-
type KanbanCardShellProps = {
|
|
3
|
+
export type KanbanCardShellProps = {
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
/** Overlay slot pinned to the top-end corner (row actions). */
|
|
6
6
|
actions?: ReactNode;
|
|
@@ -66,6 +66,5 @@ type KanbanCardShellProps = {
|
|
|
66
66
|
* Nothing here clips its overflow: a pinned identity row stops sticking the
|
|
67
67
|
* moment anything between it and the scroll container clips.
|
|
68
68
|
*/
|
|
69
|
-
declare const KanbanCardShell: ({ children, actions, actionsVisibility, stickyHeader, active, onOpen, bodyRef, dragRef, className }: KanbanCardShellProps) => import("react").JSX.Element;
|
|
70
|
-
//#endregion
|
|
71
|
-
export { KanbanCardShell, KanbanCardShellProps };
|
|
69
|
+
export declare const KanbanCardShell: ({ children, actions, actionsVisibility, stickyHeader, active, onOpen, bodyRef, dragRef, className }: KanbanCardShellProps) => import("react").JSX.Element;
|
|
70
|
+
//#endregion
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Button } from "../components/button.js";
|
|
2
2
|
import { ComponentProps } from "react";
|
|
3
3
|
//#region src/kanban/cell-action.d.ts
|
|
4
|
-
type KanbanCellActionProps = Omit<ComponentProps<typeof Button>, "variant">;
|
|
4
|
+
export type KanbanCellActionProps = Omit<ComponentProps<typeof Button>, "variant">;
|
|
5
5
|
/**
|
|
6
6
|
* The quiet action at the end of a cell: a full-width row that adds a card to
|
|
7
7
|
* that column and lane.
|
|
@@ -18,6 +18,5 @@ type KanbanCellActionProps = Omit<ComponentProps<typeof Button>, "variant">;
|
|
|
18
18
|
* since the button's own size drops a step at `sm` and the row has to hold the
|
|
19
19
|
* board's chrome rhythm at every width.
|
|
20
20
|
*/
|
|
21
|
-
declare const KanbanCellAction: ({ children, className, ...props }: KanbanCellActionProps) => import("react").JSX.Element;
|
|
22
|
-
//#endregion
|
|
23
|
-
export { KanbanCellAction, KanbanCellActionProps };
|
|
21
|
+
export declare const KanbanCellAction: ({ children, className, ...props }: KanbanCellActionProps) => import("react").JSX.Element;
|
|
22
|
+
//#endregion
|
|
@@ -5,10 +5,10 @@ import { ReactNode } from "react";
|
|
|
5
5
|
* over whatever replaces the caption (the folded slot), which matters to the
|
|
6
6
|
* board's peek behaviour; a keyboard activation does not.
|
|
7
7
|
*/
|
|
8
|
-
type KanbanBandToggleActivation = {
|
|
8
|
+
export type KanbanBandToggleActivation = {
|
|
9
9
|
viaPointer: boolean;
|
|
10
10
|
};
|
|
11
|
-
type KanbanColumnBandHeaderProps = {
|
|
11
|
+
export type KanbanColumnBandHeaderProps = {
|
|
12
12
|
/** The band name, or the control that has taken its place. */
|
|
13
13
|
title: ReactNode;
|
|
14
14
|
/** Colour swatch for the band. */
|
|
@@ -39,6 +39,5 @@ type KanbanColumnBandHeaderProps = {
|
|
|
39
39
|
* Folded, only the toggle remains in this line; the band's name moves down
|
|
40
40
|
* into the narrow column body, where the height is already there.
|
|
41
41
|
*/
|
|
42
|
-
declare const KanbanColumnBandHeader: ({ title, swatch, meta, collapsed, compact, toggleLabel, onCollapsedChange, actions }: KanbanColumnBandHeaderProps) => import("react").JSX.Element;
|
|
43
|
-
//#endregion
|
|
44
|
-
export { KanbanBandToggleActivation, KanbanColumnBandHeader, KanbanColumnBandHeaderProps };
|
|
42
|
+
export declare const KanbanColumnBandHeader: ({ title, swatch, meta, collapsed, compact, toggleLabel, onCollapsedChange, actions }: KanbanColumnBandHeaderProps) => import("react").JSX.Element;
|
|
43
|
+
//#endregion
|
|
@@ -11,18 +11,18 @@ import { KanbanBoardColumn } from "./matrix.js";
|
|
|
11
11
|
* `resolveKanbanColumnBands` derives from the columns' `band` metadata.
|
|
12
12
|
*/
|
|
13
13
|
/** Every board column takes this inline size; a collapsed band takes one lane. */
|
|
14
|
-
declare const KANBAN_COLUMN_WIDTH_CLASS = "w-[300px] shrink-0";
|
|
15
|
-
declare const KANBAN_COLUMN_WIDTH_PX = 300;
|
|
14
|
+
export declare const KANBAN_COLUMN_WIDTH_CLASS = "w-[300px] shrink-0";
|
|
15
|
+
export declare const KANBAN_COLUMN_WIDTH_PX = 300;
|
|
16
16
|
/** The `gap-3` between columns, so a band header can span its columns. */
|
|
17
|
-
declare const KANBAN_COLUMN_GAP_PX = 12;
|
|
17
|
+
export declare const KANBAN_COLUMN_GAP_PX = 12;
|
|
18
18
|
/** A collapsed band folds its columns into one narrow lane. */
|
|
19
|
-
declare const KANBAN_COLLAPSED_BAND_WIDTH_CLASS = "w-12 shrink-0";
|
|
20
|
-
declare const KANBAN_COLLAPSED_BAND_WIDTH_PX = 48;
|
|
19
|
+
export declare const KANBAN_COLLAPSED_BAND_WIDTH_CLASS = "w-12 shrink-0";
|
|
20
|
+
export declare const KANBAN_COLLAPSED_BAND_WIDTH_PX = 48;
|
|
21
21
|
/**
|
|
22
22
|
* A run of adjacent columns under one header. `band` is `null` for a column
|
|
23
23
|
* that belongs to no band, which renders as a run of one without a header.
|
|
24
24
|
*/
|
|
25
|
-
type KanbanColumnBandSpan = {
|
|
25
|
+
export type KanbanColumnBandSpan = {
|
|
26
26
|
band: KanbanColumnBand | null;
|
|
27
27
|
columns: KanbanBoardColumn[];
|
|
28
28
|
};
|
|
@@ -34,8 +34,7 @@ type KanbanColumnBandSpan = {
|
|
|
34
34
|
* not a state to render, because a header that spans two separate runs has no
|
|
35
35
|
* meaning. The check fails loudly instead of silently drawing a second header.
|
|
36
36
|
*/
|
|
37
|
-
declare const resolveKanbanColumnBands: (columns: readonly KanbanBoardColumn[]) => KanbanColumnBandSpan[];
|
|
37
|
+
export declare const resolveKanbanColumnBands: (columns: readonly KanbanBoardColumn[]) => KanbanColumnBandSpan[];
|
|
38
38
|
/** Whether any presented column carries band metadata. */
|
|
39
|
-
declare const hasKanbanColumnBands: (columns: readonly KanbanBoardColumn[]) => boolean;
|
|
40
|
-
//#endregion
|
|
41
|
-
export { KANBAN_COLLAPSED_BAND_WIDTH_CLASS, KANBAN_COLLAPSED_BAND_WIDTH_PX, KANBAN_COLUMN_GAP_PX, KANBAN_COLUMN_WIDTH_CLASS, KANBAN_COLUMN_WIDTH_PX, KanbanColumnBandSpan, hasKanbanColumnBands, resolveKanbanColumnBands };
|
|
39
|
+
export declare const hasKanbanColumnBands: (columns: readonly KanbanBoardColumn[]) => boolean;
|
|
40
|
+
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from "react";
|
|
2
2
|
//#region src/kanban/column-header.d.ts
|
|
3
|
-
type KanbanColumnHeaderProps = {
|
|
3
|
+
export type KanbanColumnHeaderProps = {
|
|
4
4
|
/** Colour swatch, or the control that changes it. */
|
|
5
5
|
swatch?: ReactNode;
|
|
6
6
|
/** The column name, or the editor that has taken its place. */
|
|
@@ -25,6 +25,5 @@ type KanbanColumnHeaderProps = {
|
|
|
25
25
|
* lines up with the lane rows under it. The title clips instead of wrapping
|
|
26
26
|
* so a long name can never grow the row past that height.
|
|
27
27
|
*/
|
|
28
|
-
declare const KanbanColumnHeader: ({ swatch, title, meta, calculation, dragHandle, actions, className }: KanbanColumnHeaderProps) => import("react").JSX.Element;
|
|
29
|
-
//#endregion
|
|
30
|
-
export { KanbanColumnHeader, KanbanColumnHeaderProps };
|
|
28
|
+
export declare const KanbanColumnHeader: ({ swatch, title, meta, calculation, dragHandle, actions, className }: KanbanColumnHeaderProps) => import("react").JSX.Element;
|
|
29
|
+
//#endregion
|
|
@@ -8,8 +8,8 @@ type AtlaskitDraggableOptions = Parameters<typeof draggable>[0];
|
|
|
8
8
|
* kanban card drag from everything else. Pragmatic's `getInitialData` never
|
|
9
9
|
* reaches those native events; only data attached this way does.
|
|
10
10
|
*/
|
|
11
|
-
declare const KANBAN_CARD_DRAG_MIME: "application/x-stella-kanban-card";
|
|
12
|
-
type RegisterKanbanCardDragOptions = {
|
|
11
|
+
export declare const KANBAN_CARD_DRAG_MIME: "application/x-stella-kanban-card";
|
|
12
|
+
export type RegisterKanbanCardDragOptions = {
|
|
13
13
|
/** The drag wrapper rendered by `KanbanCardShell`. */
|
|
14
14
|
element: AtlaskitDraggableOptions["element"];
|
|
15
15
|
/** Domain data read by the board's drop monitor. */
|
|
@@ -26,18 +26,17 @@ type RegisterKanbanCardDragOptions = {
|
|
|
26
26
|
* or persist a drop. It owns the interaction every card shares, including a
|
|
27
27
|
* pointer-centred preview cloned from the styled card inside the shell.
|
|
28
28
|
*/
|
|
29
|
-
declare const registerKanbanCardDrag: ({ element, getInitialData, canDrag, onDragStart, onDrop }: RegisterKanbanCardDragOptions) => (() => void);
|
|
30
|
-
declare const KANBAN_BOARD_AUTO_SCROLL_SOURCES: {
|
|
29
|
+
export declare const registerKanbanCardDrag: ({ element, getInitialData, canDrag, onDragStart, onDrop }: RegisterKanbanCardDragOptions) => (() => void);
|
|
30
|
+
export declare const KANBAN_BOARD_AUTO_SCROLL_SOURCES: {
|
|
31
31
|
readonly elements: "elements";
|
|
32
32
|
readonly elementsAndExternal: "elements-and-external";
|
|
33
33
|
};
|
|
34
34
|
type KanbanBoardAutoScrollSource = (typeof KANBAN_BOARD_AUTO_SCROLL_SOURCES)[keyof typeof KANBAN_BOARD_AUTO_SCROLL_SOURCES];
|
|
35
|
-
type RegisterKanbanBoardAutoScrollOptions = {
|
|
35
|
+
export type RegisterKanbanBoardAutoScrollOptions = {
|
|
36
36
|
element: HTMLElement;
|
|
37
37
|
/** External sources include files dragged in from outside the page. */
|
|
38
38
|
sources: KanbanBoardAutoScrollSource;
|
|
39
39
|
};
|
|
40
40
|
/** Register horizontal auto-scroll at the board's overflow boundary. */
|
|
41
|
-
declare const registerKanbanBoardAutoScroll: ({ element, sources }: RegisterKanbanBoardAutoScrollOptions) => (() => void);
|
|
42
|
-
//#endregion
|
|
43
|
-
export { KANBAN_BOARD_AUTO_SCROLL_SOURCES, KANBAN_CARD_DRAG_MIME, RegisterKanbanBoardAutoScrollOptions, RegisterKanbanCardDragOptions, registerKanbanBoardAutoScroll, registerKanbanCardDrag };
|
|
41
|
+
export declare const registerKanbanBoardAutoScroll: ({ element, sources }: RegisterKanbanBoardAutoScrollOptions) => (() => void);
|
|
42
|
+
//#endregion
|
|
@@ -5,13 +5,13 @@ import { OptionColor } from "../lib/option-color.js";
|
|
|
5
5
|
* shows under one header and can collapse as a unit. A status property's
|
|
6
6
|
* option groups ("To do", "In progress", "Done") are the usual source.
|
|
7
7
|
*/
|
|
8
|
-
type KanbanColumnBand = {
|
|
8
|
+
export type KanbanColumnBand = {
|
|
9
9
|
id: string;
|
|
10
10
|
label: string;
|
|
11
11
|
optionColor?: OptionColor | undefined;
|
|
12
12
|
};
|
|
13
13
|
/** One column, before the uncategorized bucket is appended. */
|
|
14
|
-
type KanbanGroupOption = {
|
|
14
|
+
export type KanbanGroupOption = {
|
|
15
15
|
value: string;
|
|
16
16
|
label: string;
|
|
17
17
|
image?: string | null | undefined;
|
|
@@ -21,7 +21,7 @@ type KanbanGroupOption = {
|
|
|
21
21
|
band?: KanbanColumnBand | undefined;
|
|
22
22
|
};
|
|
23
23
|
/** A column, including the uncategorized bucket (`value: null`). */
|
|
24
|
-
type KanbanGroup = {
|
|
24
|
+
export type KanbanGroup = {
|
|
25
25
|
value: string | null;
|
|
26
26
|
label: string;
|
|
27
27
|
image?: string | null | undefined;
|
|
@@ -37,7 +37,7 @@ type KanbanGroup = {
|
|
|
37
37
|
* built-in grouping is a data declaration rather than a branch this module has
|
|
38
38
|
* to know about.
|
|
39
39
|
*/
|
|
40
|
-
type KanbanBuiltInGroup<TRow, TGroupId extends string = string> = {
|
|
40
|
+
export type KanbanBuiltInGroup<TRow, TGroupId extends string = string> = {
|
|
41
41
|
/** Reserved group id, distinct from any property id. */
|
|
42
42
|
id: TGroupId;
|
|
43
43
|
/** Ordered columns, without the uncategorized bucket. */
|
|
@@ -55,13 +55,13 @@ type KanbanBuiltInGroup<TRow, TGroupId extends string = string> = {
|
|
|
55
55
|
* which keeps the decision — and the property model it depends on — with the
|
|
56
56
|
* caller.
|
|
57
57
|
*/
|
|
58
|
-
type KanbanSchema<TRow, TProperty, TGroupId extends string = string> = {
|
|
58
|
+
export type KanbanSchema<TRow, TProperty, TGroupId extends string = string> = {
|
|
59
59
|
builtInGroups: readonly KanbanBuiltInGroup<TRow, TGroupId>[];
|
|
60
60
|
properties: readonly TProperty[];
|
|
61
61
|
getPropertyId: (property: TProperty) => TGroupId;
|
|
62
62
|
getPropertyOptions: (property: TProperty) => readonly KanbanGroupOption[] | null;
|
|
63
63
|
};
|
|
64
|
-
type KanbanGrouping<TRow, TProperty, TGroupId extends string = string> = {
|
|
64
|
+
export type KanbanGrouping<TRow, TProperty, TGroupId extends string = string> = {
|
|
65
65
|
type: "none";
|
|
66
66
|
} | {
|
|
67
67
|
type: "built-in";
|
|
@@ -73,26 +73,25 @@ type KanbanGrouping<TRow, TProperty, TGroupId extends string = string> = {
|
|
|
73
73
|
property: TProperty;
|
|
74
74
|
options: readonly KanbanGroupOption[];
|
|
75
75
|
};
|
|
76
|
-
type ResolveKanbanGroupingParams<TRow, TProperty, TGroupId extends string = string> = {
|
|
76
|
+
export type ResolveKanbanGroupingParams<TRow, TProperty, TGroupId extends string = string> = {
|
|
77
77
|
/** The group-by id the view carries; empty means no grouping. */
|
|
78
78
|
groupBy: TGroupId | "";
|
|
79
79
|
schema: KanbanSchema<TRow, TProperty, TGroupId>;
|
|
80
80
|
};
|
|
81
81
|
/** Resolve a stored group-by id against a schema. */
|
|
82
|
-
declare const resolveKanbanGrouping: <TRow, TProperty, TGroupId extends string = string>({ groupBy, schema }: ResolveKanbanGroupingParams<TRow, TProperty, TGroupId>) => KanbanGrouping<TRow, TProperty, TGroupId>;
|
|
83
|
-
declare const getKanbanGroupingPropertyId: <TRow, TProperty, TGroupId extends string = string>(grouping: KanbanGrouping<TRow, TProperty, TGroupId>) => TGroupId | null;
|
|
82
|
+
export declare const resolveKanbanGrouping: <TRow, TProperty, TGroupId extends string = string>({ groupBy, schema }: ResolveKanbanGroupingParams<TRow, TProperty, TGroupId>) => KanbanGrouping<TRow, TProperty, TGroupId>;
|
|
83
|
+
export declare const getKanbanGroupingPropertyId: <TRow, TProperty, TGroupId extends string = string>(grouping: KanbanGrouping<TRow, TProperty, TGroupId>) => TGroupId | null;
|
|
84
84
|
/**
|
|
85
85
|
* A grouping with no columns is not a board. A built-in grouping declares its
|
|
86
86
|
* columns up front, so an empty declaration is the signal that the board cannot
|
|
87
87
|
* be drawn; a property grouping always draws, even when the property has no
|
|
88
88
|
* options yet, because rows still land in the uncategorized bucket.
|
|
89
89
|
*/
|
|
90
|
-
declare const isKanbanGroupingRenderable: <TRow, TProperty, TGroupId extends string = string>(grouping: KanbanGrouping<TRow, TProperty, TGroupId>) => boolean;
|
|
90
|
+
export declare const isKanbanGroupingRenderable: <TRow, TProperty, TGroupId extends string = string>(grouping: KanbanGrouping<TRow, TProperty, TGroupId>) => boolean;
|
|
91
91
|
/** The rows a grouping can place on the board, in their incoming order. */
|
|
92
|
-
declare const selectKanbanRows: <TRow, TProperty, TGroupId extends string = string>(rows: readonly TRow[], grouping: KanbanGrouping<TRow, TProperty, TGroupId>) => TRow[];
|
|
92
|
+
export declare const selectKanbanRows: <TRow, TProperty, TGroupId extends string = string>(rows: readonly TRow[], grouping: KanbanGrouping<TRow, TProperty, TGroupId>) => TRow[];
|
|
93
93
|
/** The static column options for a grouping, excluding uncategorized. */
|
|
94
|
-
declare const resolveKanbanGroupOptions: <TRow, TProperty, TGroupId extends string = string>(grouping: KanbanGrouping<TRow, TProperty, TGroupId>) => readonly KanbanGroupOption[];
|
|
94
|
+
export declare const resolveKanbanGroupOptions: <TRow, TProperty, TGroupId extends string = string>(grouping: KanbanGrouping<TRow, TProperty, TGroupId>) => readonly KanbanGroupOption[];
|
|
95
95
|
/** Append the uncategorized bucket (null value) after the options. */
|
|
96
|
-
declare const getKanbanGroups: (options: readonly KanbanGroupOption[], uncategorizedLabel: string) => KanbanGroup[];
|
|
97
|
-
//#endregion
|
|
98
|
-
export { KanbanBuiltInGroup, KanbanColumnBand, KanbanGroup, KanbanGroupOption, KanbanGrouping, KanbanSchema, ResolveKanbanGroupingParams, getKanbanGroupingPropertyId, getKanbanGroups, isKanbanGroupingRenderable, resolveKanbanGroupOptions, resolveKanbanGrouping, selectKanbanRows };
|
|
96
|
+
export declare const getKanbanGroups: (options: readonly KanbanGroupOption[], uncategorizedLabel: string) => KanbanGroup[];
|
|
97
|
+
//#endregion
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
* the first card and each one costs the cards their space. Fixed rather than
|
|
24
24
|
* minimum: a row that grows with its content moves every offset below it.
|
|
25
25
|
*/
|
|
26
|
-
declare const KANBAN_CHROME_ROW_HEIGHT: "h-9";
|
|
27
|
-
declare const KANBAN_CHROME_ROW_HEIGHT_PX: 36;
|
|
26
|
+
export declare const KANBAN_CHROME_ROW_HEIGHT: "h-9";
|
|
27
|
+
export declare const KANBAN_CHROME_ROW_HEIGHT_PX: 36;
|
|
28
28
|
/**
|
|
29
29
|
* The band caption line, on the chrome row height like everything else: a band
|
|
30
30
|
* names the run of columns under it, so its caption reads as their parent. A
|
|
@@ -34,8 +34,8 @@ declare const KANBAN_CHROME_ROW_HEIGHT_PX: 36;
|
|
|
34
34
|
* Still named for the caption, because that row is the one a caller composes
|
|
35
35
|
* against when it renders a band header of its own.
|
|
36
36
|
*/
|
|
37
|
-
declare const KANBAN_BAND_CAPTION_ROW_HEIGHT: "h-9";
|
|
38
|
-
declare const KANBAN_BAND_CAPTION_ROW_HEIGHT_PX: 36;
|
|
37
|
+
export declare const KANBAN_BAND_CAPTION_ROW_HEIGHT: "h-9";
|
|
38
|
+
export declare const KANBAN_BAND_CAPTION_ROW_HEIGHT_PX: 36;
|
|
39
39
|
/**
|
|
40
40
|
* A finger's 44px target on a control the chrome row keeps at its own height.
|
|
41
41
|
*
|
|
@@ -46,6 +46,5 @@ declare const KANBAN_BAND_CAPTION_ROW_HEIGHT_PX: 36;
|
|
|
46
46
|
* distance either way, and neither spills into the row underneath: an inset
|
|
47
47
|
* grows a short control downwards by whatever it is short by.
|
|
48
48
|
*/
|
|
49
|
-
declare const KANBAN_CHROME_TOGGLE_COARSE_TARGET_CLASS = "relative pointer-coarse:after:absolute pointer-coarse:after:inset-x-0 pointer-coarse:after:top-1/2 pointer-coarse:after:h-11 pointer-coarse:after:-translate-y-1/2";
|
|
50
|
-
//#endregion
|
|
51
|
-
export { KANBAN_BAND_CAPTION_ROW_HEIGHT, KANBAN_BAND_CAPTION_ROW_HEIGHT_PX, KANBAN_CHROME_ROW_HEIGHT, KANBAN_CHROME_ROW_HEIGHT_PX, KANBAN_CHROME_TOGGLE_COARSE_TARGET_CLASS };
|
|
49
|
+
export declare const KANBAN_CHROME_TOGGLE_COARSE_TARGET_CLASS = "relative pointer-coarse:after:absolute pointer-coarse:after:inset-x-0 pointer-coarse:after:top-1/2 pointer-coarse:after:h-11 pointer-coarse:after:-translate-y-1/2";
|
|
50
|
+
//#endregion
|
package/dist/kanban/matrix.d.ts
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import { KanbanGroup, KanbanGrouping } from "./grouping.js";
|
|
2
2
|
//#region src/kanban/matrix.d.ts
|
|
3
3
|
/** Which axis of a board a grouping controls. */
|
|
4
|
-
declare const KANBAN_BOARD_AXES: {
|
|
4
|
+
export declare const KANBAN_BOARD_AXES: {
|
|
5
5
|
readonly group: "group";
|
|
6
6
|
readonly subgroup: "subgroup";
|
|
7
7
|
};
|
|
8
|
-
type KanbanBoardAxis = (typeof KANBAN_BOARD_AXES)[keyof typeof KANBAN_BOARD_AXES];
|
|
8
|
+
export type KanbanBoardAxis = (typeof KANBAN_BOARD_AXES)[keyof typeof KANBAN_BOARD_AXES];
|
|
9
9
|
/** The optional horizontal swimlane dimension is intentionally explicit. */
|
|
10
|
-
type KanbanBoardLane = {
|
|
10
|
+
export type KanbanBoardLane = {
|
|
11
11
|
type: "none";
|
|
12
12
|
} | {
|
|
13
13
|
group: KanbanGroup;
|
|
14
14
|
type: "group";
|
|
15
15
|
};
|
|
16
|
-
type KanbanBoardCoordinate = {
|
|
16
|
+
export type KanbanBoardCoordinate = {
|
|
17
17
|
column: KanbanBoardColumn;
|
|
18
18
|
lane: KanbanBoardLane;
|
|
19
19
|
};
|
|
20
|
-
type KanbanBoardCell<TRow> = {
|
|
20
|
+
export type KanbanBoardCell<TRow> = {
|
|
21
21
|
coordinate: KanbanBoardCoordinate;
|
|
22
22
|
rows: TRow[];
|
|
23
23
|
};
|
|
24
24
|
/** A non-grouping destination rendered as a terminal board column. */
|
|
25
|
-
type KanbanBoardDestination = {
|
|
25
|
+
export type KanbanBoardDestination = {
|
|
26
26
|
id: string;
|
|
27
27
|
label: string;
|
|
28
28
|
};
|
|
29
|
-
type KanbanBoardColumn = {
|
|
29
|
+
export type KanbanBoardColumn = {
|
|
30
30
|
group: KanbanGroup;
|
|
31
31
|
type: "group";
|
|
32
32
|
} | {
|
|
@@ -38,17 +38,17 @@ type KanbanBoardColumn = {
|
|
|
38
38
|
* of it, but it must not derive cards independently: every board row is in
|
|
39
39
|
* exactly one cell here before that presentation step.
|
|
40
40
|
*/
|
|
41
|
-
type KanbanBoardMatrix<TRow> = {
|
|
41
|
+
export type KanbanBoardMatrix<TRow> = {
|
|
42
42
|
cells: KanbanBoardCell<TRow>[];
|
|
43
43
|
columns: KanbanBoardColumn[];
|
|
44
44
|
lanes: KanbanBoardLane[];
|
|
45
45
|
rows: TRow[];
|
|
46
46
|
};
|
|
47
|
-
type ResolveKanbanGroupValueParams<TRow, TProperty, TGroupId extends string = string> = {
|
|
47
|
+
export type ResolveKanbanGroupValueParams<TRow, TProperty, TGroupId extends string = string> = {
|
|
48
48
|
grouping: KanbanGrouping<TRow, TProperty, TGroupId>;
|
|
49
49
|
row: TRow;
|
|
50
50
|
};
|
|
51
|
-
type BuildKanbanBoardMatrixParams<TRow, TProperty, TGroupId extends string = string> = {
|
|
51
|
+
export type BuildKanbanBoardMatrixParams<TRow, TProperty, TGroupId extends string = string> = {
|
|
52
52
|
/** The vertical board columns. This must be a renderable grouping. */
|
|
53
53
|
group: KanbanGrouping<TRow, TProperty, TGroupId>;
|
|
54
54
|
/** Optional horizontal swimlanes. `none` makes this a one-lane board. */
|
|
@@ -59,29 +59,29 @@ type BuildKanbanBoardMatrixParams<TRow, TProperty, TGroupId extends string = str
|
|
|
59
59
|
uncategorizedLabel: string;
|
|
60
60
|
resolveGroupValue: (params: ResolveKanbanGroupValueParams<TRow, TProperty, TGroupId>) => string | null;
|
|
61
61
|
};
|
|
62
|
-
type OrderKanbanCellsByColumnsParams<TRow> = {
|
|
62
|
+
export type OrderKanbanCellsByColumnsParams<TRow> = {
|
|
63
63
|
cells: readonly KanbanBoardCell<TRow>[];
|
|
64
64
|
columns: readonly KanbanBoardColumn[];
|
|
65
65
|
};
|
|
66
66
|
/** Stable identity for a visible board column; group and destination domains stay distinct. */
|
|
67
|
-
declare const getKanbanBoardColumnIdentity: (column: KanbanBoardColumn) => string;
|
|
67
|
+
export declare const getKanbanBoardColumnIdentity: (column: KanbanBoardColumn) => string;
|
|
68
68
|
/** Stable identity for a swimlane; it can never alias a visible column. */
|
|
69
|
-
declare const getKanbanBoardLaneIdentity: (lane: KanbanBoardLane) => string;
|
|
69
|
+
export declare const getKanbanBoardLaneIdentity: (lane: KanbanBoardLane) => string;
|
|
70
70
|
/** Apply the visible header order to any lane's cells. */
|
|
71
|
-
declare const orderKanbanCellsByColumns: <TRow>({ cells, columns }: OrderKanbanCellsByColumnsParams<TRow>) => KanbanBoardCell<TRow>[];
|
|
71
|
+
export declare const orderKanbanCellsByColumns: <TRow>({ cells, columns }: OrderKanbanCellsByColumnsParams<TRow>) => KanbanBoardCell<TRow>[];
|
|
72
72
|
/**
|
|
73
73
|
* Resolve the board's one source of placement truth.
|
|
74
74
|
*
|
|
75
75
|
* A subgroup never filters the primary board scope. A row outside a subgroup's
|
|
76
76
|
* declared values goes to its explicit No value lane, rather than disappearing.
|
|
77
77
|
*/
|
|
78
|
-
declare const buildKanbanBoardMatrix: <TRow, TProperty, TGroupId extends string = string>({ group, subgroup, destinations, rows, uncategorizedLabel, resolveGroupValue }: BuildKanbanBoardMatrixParams<TRow, TProperty, TGroupId>) => KanbanBoardMatrix<TRow>;
|
|
79
|
-
type KanbanDropAxisChange<TGroupId extends string = string> = {
|
|
78
|
+
export declare const buildKanbanBoardMatrix: <TRow, TProperty, TGroupId extends string = string>({ group, subgroup, destinations, rows, uncategorizedLabel, resolveGroupValue }: BuildKanbanBoardMatrixParams<TRow, TProperty, TGroupId>) => KanbanBoardMatrix<TRow>;
|
|
79
|
+
export type KanbanDropAxisChange<TGroupId extends string = string> = {
|
|
80
80
|
groupBy: TGroupId;
|
|
81
81
|
value: string | null;
|
|
82
82
|
};
|
|
83
83
|
/** A complete, atomic move request for a domain mutation adapter. */
|
|
84
|
-
type KanbanDropIntent<TCardId, TGroupId extends string = string> = {
|
|
84
|
+
export type KanbanDropIntent<TCardId, TGroupId extends string = string> = {
|
|
85
85
|
cardId: TCardId;
|
|
86
86
|
changes: readonly [KanbanDropAxisChange<TGroupId>, ...KanbanDropAxisChange<TGroupId>[]];
|
|
87
87
|
type: "move";
|
|
@@ -90,7 +90,7 @@ type KanbanDropIntent<TCardId, TGroupId extends string = string> = {
|
|
|
90
90
|
destination: KanbanBoardDestination;
|
|
91
91
|
type: "destination";
|
|
92
92
|
};
|
|
93
|
-
type CreateKanbanDropIntentParams<TRow, TProperty, TCardId, TGroupId extends string = string> = {
|
|
93
|
+
export type CreateKanbanDropIntentParams<TRow, TProperty, TCardId, TGroupId extends string = string> = {
|
|
94
94
|
cardId: TCardId;
|
|
95
95
|
group: KanbanGrouping<TRow, TProperty, TGroupId>;
|
|
96
96
|
source: KanbanBoardCoordinate;
|
|
@@ -102,6 +102,5 @@ type CreateKanbanDropIntentParams<TRow, TProperty, TCardId, TGroupId extends str
|
|
|
102
102
|
* Diagonal drops carry both changes together; an adapter must commit this
|
|
103
103
|
* intent atomically or reject it as a whole.
|
|
104
104
|
*/
|
|
105
|
-
declare const createKanbanDropIntent: <TRow, TProperty, TCardId, TGroupId extends string = string>({ cardId, group, source, subgroup, target }: CreateKanbanDropIntentParams<TRow, TProperty, TCardId, TGroupId>) => KanbanDropIntent<TCardId, TGroupId> | null;
|
|
106
|
-
//#endregion
|
|
107
|
-
export { BuildKanbanBoardMatrixParams, CreateKanbanDropIntentParams, KANBAN_BOARD_AXES, KanbanBoardAxis, KanbanBoardCell, KanbanBoardColumn, KanbanBoardCoordinate, KanbanBoardDestination, KanbanBoardLane, KanbanBoardMatrix, KanbanDropAxisChange, KanbanDropIntent, OrderKanbanCellsByColumnsParams, ResolveKanbanGroupValueParams, buildKanbanBoardMatrix, createKanbanDropIntent, getKanbanBoardColumnIdentity, getKanbanBoardLaneIdentity, orderKanbanCellsByColumns };
|
|
105
|
+
export declare const createKanbanDropIntent: <TRow, TProperty, TCardId, TGroupId extends string = string>({ cardId, group, source, subgroup, target }: CreateKanbanDropIntentParams<TRow, TProperty, TCardId, TGroupId>) => KanbanDropIntent<TCardId, TGroupId> | null;
|
|
106
|
+
//#endregion
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { ClientRect } from "@dnd-kit/core";
|
|
2
2
|
//#region src/kanban/sortable-edge.d.ts
|
|
3
|
-
declare const KANBAN_HORIZONTAL_EDGES: {
|
|
3
|
+
export declare const KANBAN_HORIZONTAL_EDGES: {
|
|
4
4
|
readonly before: "before";
|
|
5
5
|
readonly after: "after";
|
|
6
6
|
};
|
|
7
|
-
type KanbanHorizontalEdge = (typeof KANBAN_HORIZONTAL_EDGES)[keyof typeof KANBAN_HORIZONTAL_EDGES];
|
|
8
|
-
declare const KANBAN_DIRECTIONS: {
|
|
7
|
+
export type KanbanHorizontalEdge = (typeof KANBAN_HORIZONTAL_EDGES)[keyof typeof KANBAN_HORIZONTAL_EDGES];
|
|
8
|
+
export declare const KANBAN_DIRECTIONS: {
|
|
9
9
|
readonly ltr: "ltr";
|
|
10
10
|
readonly rtl: "rtl";
|
|
11
11
|
};
|
|
12
|
-
type KanbanDirection = (typeof KANBAN_DIRECTIONS)[keyof typeof KANBAN_DIRECTIONS];
|
|
12
|
+
export type KanbanDirection = (typeof KANBAN_DIRECTIONS)[keyof typeof KANBAN_DIRECTIONS];
|
|
13
13
|
type KanbanPointerHorizontalEdgeOptions = {
|
|
14
14
|
input: "pointer";
|
|
15
15
|
/** The drag's current viewport x coordinate for mouse or touch input. */
|
|
@@ -25,7 +25,7 @@ type KanbanKeyboardHorizontalEdgeOptions = {
|
|
|
25
25
|
/** The target item's position in logical board order. */
|
|
26
26
|
targetIndex: number;
|
|
27
27
|
};
|
|
28
|
-
type KanbanHorizontalEdgeOptions = KanbanPointerHorizontalEdgeOptions | KanbanKeyboardHorizontalEdgeOptions;
|
|
28
|
+
export type KanbanHorizontalEdgeOptions = KanbanPointerHorizontalEdgeOptions | KanbanKeyboardHorizontalEdgeOptions;
|
|
29
29
|
/**
|
|
30
30
|
* Resolves a horizontal insertion edge without consulting application data.
|
|
31
31
|
*
|
|
@@ -34,6 +34,5 @@ type KanbanHorizontalEdgeOptions = KanbanPointerHorizontalEdgeOptions | KanbanKe
|
|
|
34
34
|
* unambiguous. This deliberately avoids drag deltas, which include scroll
|
|
35
35
|
* reconciliation and are not viewport coordinates.
|
|
36
36
|
*/
|
|
37
|
-
declare const getKanbanHorizontalEdge: ({ ...options }: KanbanHorizontalEdgeOptions) => KanbanHorizontalEdge;
|
|
38
|
-
//#endregion
|
|
39
|
-
export { KANBAN_DIRECTIONS, KANBAN_HORIZONTAL_EDGES, KanbanDirection, KanbanHorizontalEdge, KanbanHorizontalEdgeOptions, getKanbanHorizontalEdge };
|
|
37
|
+
export declare const getKanbanHorizontalEdge: ({ ...options }: KanbanHorizontalEdgeOptions) => KanbanHorizontalEdge;
|
|
38
|
+
//#endregion
|
|
@@ -4,10 +4,10 @@ import * as React$1 from "react";
|
|
|
4
4
|
import { AutoScrollActivator, AutoScrollOptions, CollisionDetection, DndContextProps, DragCancelEvent, DragEndEvent, DragOverEvent, DragOverlayProps, DragStartEvent, KeyboardCoordinateGetter, UniqueIdentifier } from "@dnd-kit/core";
|
|
5
5
|
import { SortableContextProps, useSortable } from "@dnd-kit/sortable";
|
|
6
6
|
//#region src/kanban/sortable-interactions.d.ts
|
|
7
|
-
declare const KANBAN_MOUSE_ACTIVATION_DISTANCE = 8;
|
|
7
|
+
export declare const KANBAN_MOUSE_ACTIVATION_DISTANCE = 8;
|
|
8
8
|
/** Above sticky board chrome, below app-level floating surfaces. */
|
|
9
|
-
declare const KANBAN_DRAG_OVERLAY_Z_INDEX = 75;
|
|
10
|
-
declare const KANBAN_BOARD_AUTO_SCROLL_OPTIONS: {
|
|
9
|
+
export declare const KANBAN_DRAG_OVERLAY_Z_INDEX = 75;
|
|
10
|
+
export declare const KANBAN_BOARD_AUTO_SCROLL_OPTIONS: {
|
|
11
11
|
readonly acceleration: 10;
|
|
12
12
|
readonly activator: AutoScrollActivator.Pointer;
|
|
13
13
|
readonly threshold: {
|
|
@@ -15,20 +15,20 @@ declare const KANBAN_BOARD_AUTO_SCROLL_OPTIONS: {
|
|
|
15
15
|
readonly y: 0.15;
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
|
-
declare const KANBAN_SORTABLE_ACTIVATION_MODES: {
|
|
18
|
+
export declare const KANBAN_SORTABLE_ACTIVATION_MODES: {
|
|
19
19
|
readonly CARD: "card";
|
|
20
20
|
readonly HANDLE: "handle";
|
|
21
21
|
readonly ITEM: "item";
|
|
22
22
|
};
|
|
23
|
-
declare const KANBAN_TOUCH_ACTIVATION_CONSTRAINT: {
|
|
23
|
+
export declare const KANBAN_TOUCH_ACTIVATION_CONSTRAINT: {
|
|
24
24
|
readonly delay: 150;
|
|
25
25
|
readonly tolerance: 8;
|
|
26
26
|
};
|
|
27
|
-
type KanbanDragCancelEvent = DragCancelEvent;
|
|
28
|
-
type KanbanDragEndEvent = DragEndEvent;
|
|
29
|
-
type KanbanDragOverEvent = DragOverEvent;
|
|
30
|
-
type KanbanDragStartEvent = DragStartEvent;
|
|
31
|
-
type KanbanSortableBoardProps = {
|
|
27
|
+
export type KanbanDragCancelEvent = DragCancelEvent;
|
|
28
|
+
export type KanbanDragEndEvent = DragEndEvent;
|
|
29
|
+
export type KanbanDragOverEvent = DragOverEvent;
|
|
30
|
+
export type KanbanDragStartEvent = DragStartEvent;
|
|
31
|
+
export type KanbanSortableBoardProps = {
|
|
32
32
|
children: React$1.ReactNode;
|
|
33
33
|
onDragEnd: (event: KanbanDragEndEvent) => void;
|
|
34
34
|
/** Minimum pointer movement before a mouse drag activates. */
|
|
@@ -61,7 +61,7 @@ type KanbanSortableBoardProps = {
|
|
|
61
61
|
overlay?: ((activeId: UniqueIdentifier | null) => React$1.ReactNode) | undefined;
|
|
62
62
|
overlayProps?: Omit<DragOverlayProps, "children"> | undefined;
|
|
63
63
|
};
|
|
64
|
-
type UseKanbanDropTargetOptions = {
|
|
64
|
+
export type UseKanbanDropTargetOptions = {
|
|
65
65
|
disabled?: boolean | undefined;
|
|
66
66
|
id: string;
|
|
67
67
|
itemIds: readonly UniqueIdentifier[];
|
|
@@ -75,7 +75,7 @@ type UseKanbanDropTargetOptions = {
|
|
|
75
75
|
* underlying drag-and-drop library just to receive an item from a sortable
|
|
76
76
|
* context.
|
|
77
77
|
*/
|
|
78
|
-
declare const useKanbanDropTarget: ({ disabled, id, itemIds, navigation, position }: UseKanbanDropTargetOptions) => {
|
|
78
|
+
export declare const useKanbanDropTarget: ({ disabled, id, itemIds, navigation, position }: UseKanbanDropTargetOptions) => {
|
|
79
79
|
isOver: boolean;
|
|
80
80
|
setNodeRef: (element: HTMLElement | null) => void;
|
|
81
81
|
};
|
|
@@ -86,23 +86,23 @@ declare const useKanbanDropTarget: ({ disabled, id, itemIds, navigation, positio
|
|
|
86
86
|
* the sensor activation rules, keyboard navigation, auto-scroll configuration,
|
|
87
87
|
* and overlay lifecycle shared by sortable board UIs.
|
|
88
88
|
*/
|
|
89
|
-
declare const KanbanSortableBoard: ({ children, onDragEnd, mouseActivationDistance, collisionDetection, keyboardCoordinates, autoScroll, sensors, accessibility, onDragStart, onDragOver, onDragCancel, onInteractionReady, overlay, overlayProps }: KanbanSortableBoardProps) => React$1.JSX.Element;
|
|
90
|
-
declare const useKanbanSortableSensors: (keyboardCoordinates?: KeyboardCoordinateGetter, mouseActivationDistance?: number) => import("@dnd-kit/core").SensorDescriptor<import("@dnd-kit/core").SensorOptions>[];
|
|
91
|
-
type KanbanSortableListProps = SortableContextProps & React$1.ComponentProps<"div">;
|
|
89
|
+
export declare const KanbanSortableBoard: ({ children, onDragEnd, mouseActivationDistance, collisionDetection, keyboardCoordinates, autoScroll, sensors, accessibility, onDragStart, onDragOver, onDragCancel, onInteractionReady, overlay, overlayProps }: KanbanSortableBoardProps) => React$1.JSX.Element;
|
|
90
|
+
export declare const useKanbanSortableSensors: (keyboardCoordinates?: KeyboardCoordinateGetter, mouseActivationDistance?: number) => import("@dnd-kit/core").SensorDescriptor<import("@dnd-kit/core").SensorOptions>[];
|
|
91
|
+
export type KanbanSortableListProps = SortableContextProps & React$1.ComponentProps<"div">;
|
|
92
92
|
/** A vertical card list that preserves native vertical touch scrolling. */
|
|
93
|
-
declare const KanbanSortableList: ({ className, children, id, items, strategy, disabled, ...props }: KanbanSortableListProps) => React$1.JSX.Element;
|
|
94
|
-
type KanbanSortableColumnsProps = SortableContextProps & React$1.ComponentProps<"div">;
|
|
93
|
+
export declare const KanbanSortableList: ({ className, children, id, items, strategy, disabled, ...props }: KanbanSortableListProps) => React$1.JSX.Element;
|
|
94
|
+
export type KanbanSortableColumnsProps = SortableContextProps & React$1.ComponentProps<"div">;
|
|
95
95
|
/** A horizontal column list that keeps the board pan gesture available. */
|
|
96
|
-
declare const KanbanSortableColumns: ({ className, children, id, items, strategy, disabled, ...props }: KanbanSortableColumnsProps) => React$1.JSX.Element;
|
|
97
|
-
type KanbanSortableBindings = Pick<ReturnType<typeof useSortable>, "attributes" | "listeners" | "setActivatorNodeRef">;
|
|
98
|
-
type KanbanSortableActivationMode = {
|
|
96
|
+
export declare const KanbanSortableColumns: ({ className, children, id, items, strategy, disabled, ...props }: KanbanSortableColumnsProps) => React$1.JSX.Element;
|
|
97
|
+
export type KanbanSortableBindings = Pick<ReturnType<typeof useSortable>, "attributes" | "listeners" | "setActivatorNodeRef">;
|
|
98
|
+
export type KanbanSortableActivationMode = {
|
|
99
99
|
type: "card";
|
|
100
100
|
} | {
|
|
101
101
|
type: "handle";
|
|
102
102
|
} | {
|
|
103
103
|
type: "item";
|
|
104
104
|
};
|
|
105
|
-
type UseKanbanSortableOptions = {
|
|
105
|
+
export type UseKanbanSortableOptions = {
|
|
106
106
|
activation: KanbanSortableActivationMode;
|
|
107
107
|
id: UniqueIdentifier;
|
|
108
108
|
disabled?: boolean | undefined;
|
|
@@ -122,7 +122,7 @@ type KanbanSortableActivator = {
|
|
|
122
122
|
* Connect a sortable item and its separate drag handle without making the
|
|
123
123
|
* item's content a touch-none activation surface.
|
|
124
124
|
*/
|
|
125
|
-
declare const useKanbanSortable: ({ activation, id, disabled }: UseKanbanSortableOptions) => {
|
|
125
|
+
export declare const useKanbanSortable: ({ activation, id, disabled }: UseKanbanSortableOptions) => {
|
|
126
126
|
activator: KanbanSortableActivator;
|
|
127
127
|
isDragging: boolean;
|
|
128
128
|
setNodeRef: (element: HTMLElement | null) => void;
|
|
@@ -132,7 +132,7 @@ declare const useKanbanSortable: ({ activation, id, disabled }: UseKanbanSortabl
|
|
|
132
132
|
transition: string | undefined;
|
|
133
133
|
};
|
|
134
134
|
};
|
|
135
|
-
type KanbanDragHandleProps = {
|
|
135
|
+
export type KanbanDragHandleProps = {
|
|
136
136
|
bindings: KanbanSortableBindings;
|
|
137
137
|
label: string;
|
|
138
138
|
} & Omit<React$1.ComponentProps<typeof Button>, "aria-label" | "children" | "ref" | "tooltip" | "type">;
|
|
@@ -141,11 +141,11 @@ type KanbanDragHandleProps = {
|
|
|
141
141
|
* surface that disables touch panning, leaving cards and scroll regions free
|
|
142
142
|
* for ordinary scrolling.
|
|
143
143
|
*/
|
|
144
|
-
declare const KanbanDragHandle: ({ bindings, label, className, ...props }: KanbanDragHandleProps) => React$1.JSX.Element;
|
|
145
|
-
type KanbanCardDragSurfaceProps = {
|
|
144
|
+
export declare const KanbanDragHandle: ({ bindings, label, className, ...props }: KanbanDragHandleProps) => React$1.JSX.Element;
|
|
145
|
+
export type KanbanCardDragSurfaceProps = {
|
|
146
146
|
bindings: KanbanSortableBindings;
|
|
147
147
|
} & Omit<React$1.ComponentProps<"div">, "ref">;
|
|
148
148
|
/** A whole-card drag activator that preserves descendant controls and scrolling. */
|
|
149
|
-
declare const KanbanCardDragSurface: ({ bindings, className, ...props }: KanbanCardDragSurfaceProps) => React$1.JSX.Element;
|
|
149
|
+
export declare const KanbanCardDragSurface: ({ bindings, className, ...props }: KanbanCardDragSurfaceProps) => React$1.JSX.Element;
|
|
150
150
|
//#endregion
|
|
151
|
-
export {
|
|
151
|
+
export { KANBAN_BOARD_COLLISION_DETECTION, type KanbanCellVirtualNavigation, type KanbanSortableCellPosition, type KanbanVirtualScrollRequest, kanbanKeyboardCoordinates };
|