@stll/ui 0.26.2 → 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/button.js +5 -2
- 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
|
@@ -7,7 +7,7 @@ import { KeyboardEvent, PointerEvent } from "react";
|
|
|
7
7
|
* from, so an unusable value falls back to the default rather than being
|
|
8
8
|
* clamped into something the user never chose.
|
|
9
9
|
*/
|
|
10
|
-
declare const parsePersistedPaneWidth: (raw: string | null) => number;
|
|
10
|
+
export declare const parsePersistedPaneWidth: (raw: string | null) => number;
|
|
11
11
|
/**
|
|
12
12
|
* Width the drag produces for a pane docked to the inline-end edge.
|
|
13
13
|
*
|
|
@@ -15,14 +15,14 @@ declare const parsePersistedPaneWidth: (raw: string | null) => number;
|
|
|
15
15
|
* left in RTL (width = distance from the left). Without the RTL branch the
|
|
16
16
|
* delta is inverted and the drag oscillates.
|
|
17
17
|
*/
|
|
18
|
-
declare const resolveDragWidth: ({ clientX, isRtl, viewportWidth }: {
|
|
18
|
+
export declare const resolveDragWidth: ({ clientX, isRtl, viewportWidth }: {
|
|
19
19
|
clientX: number;
|
|
20
20
|
isRtl: boolean;
|
|
21
21
|
viewportWidth: number;
|
|
22
22
|
}) => number;
|
|
23
23
|
/** Pixels one arrow press moves the edge; Page/Home/End move further. */
|
|
24
|
-
declare const INSPECTOR_PANE_KEYBOARD_STEP = 16;
|
|
25
|
-
declare const INSPECTOR_PANE_KEYBOARD_PAGE_STEP = 64;
|
|
24
|
+
export declare const INSPECTOR_PANE_KEYBOARD_STEP = 16;
|
|
25
|
+
export declare const INSPECTOR_PANE_KEYBOARD_PAGE_STEP = 64;
|
|
26
26
|
/**
|
|
27
27
|
* Width a keyboard resize produces. Returns `null` for keys the handle does
|
|
28
28
|
* not own, so the caller can leave the event alone rather than swallowing
|
|
@@ -32,7 +32,7 @@ declare const INSPECTOR_PANE_KEYBOARD_PAGE_STEP = 64;
|
|
|
32
32
|
* the inline-start arrow grows it. Under RTL the physical arrows swap, so
|
|
33
33
|
* the same key keeps meaning "make it bigger" on both sides.
|
|
34
34
|
*/
|
|
35
|
-
declare const resolveKeyboardWidth: ({ currentWidth, isRtl, key }: {
|
|
35
|
+
export declare const resolveKeyboardWidth: ({ currentWidth, isRtl, key }: {
|
|
36
36
|
currentWidth: number;
|
|
37
37
|
isRtl: boolean;
|
|
38
38
|
key: string;
|
|
@@ -45,8 +45,8 @@ declare const resolveKeyboardWidth: ({ currentWidth, isRtl, key }: {
|
|
|
45
45
|
* that forgets its width is a smaller failure than a pane that does not
|
|
46
46
|
* render, so both directions degrade to in-memory.
|
|
47
47
|
*/
|
|
48
|
-
declare const readStoredWidth: (storageKey: string) => number;
|
|
49
|
-
declare const writeStoredWidth: (storageKey: string, width: number) => void;
|
|
48
|
+
export declare const readStoredWidth: (storageKey: string) => number;
|
|
49
|
+
export declare const writeStoredWidth: (storageKey: string, width: number) => void;
|
|
50
50
|
type UseInspectorPaneWidthOptions = {
|
|
51
51
|
/** Inline size the sidebar takes out of the same layout row. */
|
|
52
52
|
sidebarWidth: number;
|
|
@@ -94,6 +94,5 @@ type UseInspectorPaneWidthResult = {
|
|
|
94
94
|
* the content column. The *desired* width keeps the user's choice, so the
|
|
95
95
|
* pane returns to it once the room comes back.
|
|
96
96
|
*/
|
|
97
|
-
declare const useInspectorPaneWidth: ({ sidebarWidth, storageKey, viewportWidth }: UseInspectorPaneWidthOptions) => UseInspectorPaneWidthResult;
|
|
98
|
-
//#endregion
|
|
99
|
-
export { INSPECTOR_PANE_KEYBOARD_PAGE_STEP, INSPECTOR_PANE_KEYBOARD_STEP, parsePersistedPaneWidth, readStoredWidth, resolveDragWidth, resolveKeyboardWidth, useInspectorPaneWidth, writeStoredWidth };
|
|
97
|
+
export declare const useInspectorPaneWidth: ({ sidebarWidth, storageKey, viewportWidth }: UseInspectorPaneWidthOptions) => UseInspectorPaneWidthResult;
|
|
98
|
+
//#endregion
|
|
@@ -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
|