@dcs-tech/ui 0.9.0 → 0.11.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/CHANGELOG.md +488 -0
- package/README.md +43 -7
- package/THIRD_PARTY_NOTICES.md +23 -0
- package/dist/ChartImageMenu-sB2QNQzd.js +9673 -0
- package/dist/ChartView-BstZkP1g.js +1942 -0
- package/dist/{SummaryChart-CxRjK_HU.js → SummaryChart-B5ibDNOZ.js} +11 -10
- package/dist/{SummaryImage-Crf1R-3a.js → SummaryImage-CRP7X2Nl.js} +2 -2
- package/dist/SummarySeeAll-CtYRGV4G.js +101 -0
- package/dist/assets/fileTask.worker-D97s2vRV.js +1 -0
- package/dist/columnValue-BOn9NC8X.js +644 -0
- package/dist/exportContext-CMzuzRjc.js +274 -0
- package/dist/{exportEngine-BFZD6djX.js → exportEngine-CYDN8Ty-.js} +167 -137
- package/dist/file-worker.js +1 -1
- package/dist/{fileActions-CFNO14Aj.js → fileActions-DkPEWE-t.js} +1 -1
- package/dist/{geometry-yZmKN662.js → geometry-CFS5If1N.js} +848 -439
- package/dist/index.js +24208 -12603
- package/dist/{labels-CnqqTrne.js → labels-mukFhYkc.js} +126 -1
- package/dist/{runFileTask-BIZTFnZP.js → runFileTask-DI_39TjR.js} +17 -0
- package/dist/scrollArea-B52kugL1.js +291 -0
- package/dist/style.css +1 -1
- package/dist/{summaryChartData-CARqGRUl.js → summaryChartData-D15kw64n.js} +10 -3
- package/dist/types/components/Alert/Alert.d.ts +16 -0
- package/dist/types/components/Alert/index.d.ts +2 -0
- package/dist/types/components/Card/Card.d.ts +4 -3
- package/dist/types/components/Card/index.d.ts +1 -1
- package/dist/types/components/Charts/BarList.d.ts +4 -3
- package/dist/types/components/Charts/CalendarHeatmap.d.ts +4 -2
- package/dist/types/components/Charts/Chart.d.ts +3 -2
- package/dist/types/components/Charts/ChartView.d.ts +3 -2
- package/dist/types/components/Charts/ColumnChart.d.ts +4 -3
- package/dist/types/components/Charts/Donut.d.ts +3 -2
- package/dist/types/components/Charts/Funnel.d.ts +4 -2
- package/dist/types/components/Charts/Gauge.d.ts +3 -2
- package/dist/types/components/Charts/LineChart.d.ts +4 -3
- package/dist/types/components/Charts/NumberTrend.d.ts +4 -3
- package/dist/types/components/Charts/Progress.d.ts +3 -2
- package/dist/types/components/Charts/StackedBar.d.ts +3 -2
- package/dist/types/components/Charts/Treemap.d.ts +3 -2
- package/dist/types/components/Charts/chartData.d.ts +6 -0
- package/dist/types/components/Charts/chartImage.d.ts +3 -0
- package/dist/types/components/Charts/geometry.d.ts +3 -0
- package/dist/types/components/Charts/index.d.ts +2 -0
- package/dist/types/components/Charts/palette.d.ts +1 -0
- package/dist/types/components/Charts/parts.d.ts +14 -0
- package/dist/types/components/Charts/useChartMotion.d.ts +8 -0
- package/dist/types/components/ChipInput/ChipTags.d.ts +3 -0
- package/dist/types/components/CommandPalette/CommandPaletteTrigger.d.ts +9 -0
- package/dist/types/components/CommandPalette/index.d.ts +2 -0
- package/dist/types/components/DataTable/DataTable.d.ts +3 -1
- package/dist/types/components/DataTable/DisplayPopover.d.ts +1 -0
- package/dist/types/components/DataTable/HeaderMenu.d.ts +1 -0
- package/dist/types/components/DataTable/TableColumnModal.d.ts +4 -1
- package/dist/types/components/DataTable/TablePagination.d.ts +1 -1
- package/dist/types/components/DataTable/TableToolbar.d.ts +21 -1
- package/dist/types/components/DataTable/TableView.d.ts +19 -2
- package/dist/types/components/DataTable/cards/CardView.d.ts +25 -5
- package/dist/types/components/DataTable/cards/cardFields.d.ts +1 -0
- package/dist/types/components/DataTable/cards/rowParts.d.ts +1 -0
- package/dist/types/components/DataTable/cellSelection/CellRangeBar.d.ts +16 -0
- package/dist/types/components/DataTable/cellSelection/cellRangeStore.d.ts +18 -0
- package/dist/types/components/DataTable/cellSelection/paintRanges.d.ts +2 -0
- package/dist/types/components/DataTable/cellSelection/useCellSelection.d.ts +63 -0
- package/dist/types/components/DataTable/data/listDelta.d.ts +27 -0
- package/dist/types/components/DataTable/data/rowLineage.d.ts +3 -0
- package/dist/types/components/DataTable/data/rowModels.d.ts +9 -0
- package/dist/types/components/DataTable/data/rowTransaction.d.ts +9 -0
- package/dist/types/components/DataTable/data/useServerData.d.ts +3 -1
- package/dist/types/components/DataTable/defaults.d.ts +4 -0
- package/dist/types/components/DataTable/export/exportCells.d.ts +5 -2
- package/dist/types/components/DataTable/export/exportEngine.d.ts +7 -2
- package/dist/types/components/DataTable/export/useTableExport.d.ts +17 -1
- package/dist/types/components/DataTable/filters/filterRowModel.d.ts +1 -0
- package/dist/types/components/DataTable/grouping/groupModel.d.ts +11 -0
- package/dist/types/components/DataTable/index.d.ts +1 -1
- package/dist/types/components/DataTable/keyboard/ShortcutsDialog.d.ts +4 -1
- package/dist/types/components/DataTable/keyboard/useGridKeyboard.d.ts +8 -0
- package/dist/types/components/DataTable/labels.d.ts +130 -0
- package/dist/types/components/DataTable/layout/LayoutSwitcher.d.ts +10 -2
- package/dist/types/components/DataTable/layout/useFitWidths.d.ts +7 -0
- package/dist/types/components/DataTable/menu/RowMenu.d.ts +1 -0
- package/dist/types/components/DataTable/menu/buildRowMenu.d.ts +6 -3
- package/dist/types/components/DataTable/motion/RowChangeNotice.d.ts +19 -0
- package/dist/types/components/DataTable/motion/rowChanges.d.ts +25 -0
- package/dist/types/components/DataTable/motion/useNoticeInsets.d.ts +2 -0
- package/dist/types/components/DataTable/motion/useRowChangeNotices.d.ts +35 -0
- package/dist/types/components/DataTable/motion/useRowMotion.d.ts +29 -3
- package/dist/types/components/DataTable/persistence/reconcile.d.ts +4 -0
- package/dist/types/components/DataTable/persistence/useColumnPersistence.d.ts +5 -1
- package/dist/types/components/DataTable/pivot/PivotPanel.d.ts +11 -0
- package/dist/types/components/DataTable/pivot/PivotView.d.ts +22 -0
- package/dist/types/components/DataTable/pivot/pivotModel.d.ts +54 -0
- package/dist/types/components/DataTable/pivot/usePivot.d.ts +44 -0
- package/dist/types/components/DataTable/rows/PressRow.d.ts +1 -0
- package/dist/types/components/DataTable/rows/RowLead.d.ts +23 -0
- package/dist/types/components/DataTable/rows/rowPress.d.ts +2 -0
- package/dist/types/components/DataTable/rows/usePinnedRows.d.ts +34 -0
- package/dist/types/components/DataTable/rows/useRowDrag.d.ts +44 -0
- package/dist/types/components/DataTable/split/SplitView.d.ts +4 -2
- package/dist/types/components/DataTable/summary/SummaryChart.d.ts +2 -1
- package/dist/types/components/DataTable/summary/TableSummary.d.ts +2 -1
- package/dist/types/components/DataTable/summary/summaryModel.d.ts +28 -6
- package/dist/types/components/DataTable/summary/useTableSummary.d.ts +3 -0
- package/dist/types/components/DataTable/toolbar/ToolbarMore.d.ts +14 -0
- package/dist/types/components/DataTable/toolbar/useToolbarFit.d.ts +10 -0
- package/dist/types/components/DataTable/tree/TreeChips.d.ts +5 -0
- package/dist/types/components/DataTable/tree/treeExport.d.ts +54 -0
- package/dist/types/components/DataTable/tree/treeMove.d.ts +1 -0
- package/dist/types/components/DataTable/tree/useTreeChildren.d.ts +15 -0
- package/dist/types/components/DataTable/tree/useTreeData.d.ts +60 -0
- package/dist/types/components/DataTable/types.d.ts +290 -6
- package/dist/types/components/DataTable/ui-local/TableReorderList.d.ts +13 -0
- package/dist/types/components/DataTable/ui.d.ts +2 -1
- package/dist/types/components/DataTable/useDataChangeTracker.d.ts +11 -4
- package/dist/types/components/DataTable/useTable.d.ts +14 -1
- package/dist/types/components/DataTable/virtual/useVirtualLines.d.ts +1 -0
- package/dist/types/components/DatePicker/PeriodGrid.d.ts +13 -0
- package/dist/types/components/DatePicker/PeriodPicker.d.ts +19 -0
- package/dist/types/components/DatePicker/index.d.ts +1 -1
- package/dist/types/components/Dialog/dialogSlots.d.ts +9 -0
- package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +8 -0
- package/dist/types/components/EventCalendar/EventCalendar.d.ts +46 -0
- package/dist/types/components/EventCalendar/eventParts.d.ts +10 -0
- package/dist/types/components/EventCalendar/index.d.ts +3 -0
- package/dist/types/components/EventCalendar/useCalendarEdit.d.ts +40 -0
- package/dist/types/components/FieldWrapper/index.d.ts +1 -1
- package/dist/types/components/Fields/index.d.ts +1 -1
- package/dist/types/components/Icon/Icon.d.ts +36 -0
- package/dist/types/components/Icon/Icon.storyData.d.ts +6 -0
- package/dist/types/components/Icon/IconContext.d.ts +7 -0
- package/dist/types/components/Icon/icons.d.ts +223 -0
- package/dist/types/components/Icon/index.d.ts +7 -0
- package/dist/types/components/Icon/useIconDone.d.ts +5 -0
- package/dist/types/components/Image/ImageEditor.d.ts +21 -0
- package/dist/types/components/Image/ImagePicker.d.ts +10 -1
- package/dist/types/components/Image/imageRender.d.ts +33 -0
- package/dist/types/components/Image/index.d.ts +3 -1
- package/dist/types/components/Image/prepareImage.d.ts +4 -3
- package/dist/types/components/Link/Link.d.ts +22 -0
- package/dist/types/components/Link/index.d.ts +2 -0
- package/dist/types/components/NavList/NavList.d.ts +13 -0
- package/dist/types/components/NavList/index.d.ts +2 -0
- package/dist/types/components/PageProgress/PageProgress.d.ts +10 -0
- package/dist/types/components/PageProgress/index.d.ts +2 -0
- package/dist/types/components/Pagination/Pagination.d.ts +19 -0
- package/dist/types/components/Pagination/index.d.ts +2 -0
- package/dist/types/components/Popover/Popover.d.ts +2 -1
- package/dist/types/components/Popover/floatingPosition.d.ts +26 -2
- package/dist/types/components/ReorderList/ReorderGroup.d.ts +16 -0
- package/dist/types/components/ReorderList/ReorderList.d.ts +56 -0
- package/dist/types/components/ReorderList/crossListDrag.d.ts +61 -0
- package/dist/types/components/ReorderList/index.d.ts +5 -0
- package/dist/types/components/ReorderList/useReorderDrag.d.ts +28 -0
- package/dist/types/components/Scroll/ui.d.ts +1 -0
- package/dist/types/components/SlidingHighlight/index.d.ts +2 -0
- package/dist/types/components/SlidingHighlight/useSlidingHighlight.d.ts +20 -0
- package/dist/types/components/Suggest/SuggestionList.d.ts +1 -0
- package/dist/types/components/Tooltip/useTooltip.d.ts +4 -0
- package/dist/types/components/UIProvider/UILabelsContext.d.ts +120 -0
- package/dist/types/components/UIProvider/UIProvider.d.ts +2 -0
- package/dist/types/core/hooks/index.d.ts +2 -1
- package/dist/types/core/hooks/useMeasuredState.d.ts +1 -0
- package/dist/types/core/hooks/usePresence.d.ts +1 -0
- package/dist/types/core/icons/actions.icons.d.ts +37 -0
- package/dist/types/core/icons/commerce.icons.d.ts +16 -0
- package/dist/types/core/icons/communication.icons.d.ts +10 -0
- package/dist/types/core/icons/delivery.icons.d.ts +13 -0
- package/dist/types/core/icons/devices.icons.d.ts +16 -0
- package/dist/types/core/icons/files.icons.d.ts +13 -0
- package/dist/types/core/icons/general.icons.d.ts +24 -0
- package/dist/types/core/icons/index.d.ts +14 -0
- package/dist/types/core/icons/media.icons.d.ts +11 -0
- package/dist/types/core/icons/navigation.icons.d.ts +25 -0
- package/dist/types/core/icons/people.icons.d.ts +13 -0
- package/dist/types/core/icons/registry.d.ts +2 -0
- package/dist/types/core/icons/state.icons.d.ts +14 -0
- package/dist/types/core/icons/status.icons.d.ts +10 -0
- package/dist/types/core/icons/table.icons.d.ts +22 -0
- package/dist/types/core/icons/text.icons.d.ts +13 -0
- package/dist/types/core/logic/alert.logic.d.ts +3 -0
- package/dist/types/core/logic/cellRange.logic.d.ts +66 -0
- package/dist/types/core/logic/cellTouch.logic.d.ts +16 -0
- package/dist/types/core/logic/columnGroups.logic.d.ts +31 -0
- package/dist/types/core/logic/commandPalette.logic.d.ts +2 -0
- package/dist/types/core/logic/datePicker.logic.d.ts +12 -0
- package/dist/types/core/logic/dropdownSide.logic.d.ts +19 -0
- package/dist/types/core/logic/eventCalendar.logic.d.ts +225 -0
- package/dist/types/core/logic/fieldWrapper.logic.d.ts +6 -1
- package/dist/types/core/logic/fitColumns.logic.d.ts +7 -0
- package/dist/types/core/logic/icon.logic.d.ts +24 -0
- package/dist/types/core/logic/imageEditor.logic.d.ts +132 -0
- package/dist/types/core/logic/imageTransform.logic.d.ts +57 -0
- package/dist/types/core/logic/index.d.ts +25 -0
- package/dist/types/core/logic/inertProps.d.ts +3 -0
- package/dist/types/core/logic/pageProgress.logic.d.ts +3 -0
- package/dist/types/core/logic/pagination.logic.d.ts +7 -0
- package/dist/types/core/logic/periodPicker.logic.d.ts +86 -0
- package/dist/types/core/logic/pivot.logic.d.ts +100 -0
- package/dist/types/core/logic/reorder.logic.d.ts +49 -0
- package/dist/types/core/logic/rowActions.logic.d.ts +7 -0
- package/dist/types/core/logic/rowDrag.logic.d.ts +36 -0
- package/dist/types/core/logic/rowPinning.logic.d.ts +12 -0
- package/dist/types/core/logic/slidingHighlight.logic.d.ts +20 -0
- package/dist/types/core/logic/toolbarOverflow.logic.d.ts +21 -0
- package/dist/types/core/logic/treeData.logic.d.ts +44 -0
- package/dist/types/core/logic/treeDrag.logic.d.ts +63 -0
- package/dist/types/core/logic/tween.logic.d.ts +33 -0
- package/dist/types/core/logic/visualViewport.logic.d.ts +13 -0
- package/dist/types/core/types/chipinput.types.d.ts +3 -1
- package/dist/types/core/types/collapsible.types.d.ts +3 -0
- package/dist/types/core/types/datePicker.types.d.ts +7 -0
- package/dist/types/core/types/eventCalendar.types.d.ts +18 -0
- package/dist/types/core/types/field.types.d.ts +6 -3
- package/dist/types/core/types/fieldWrapper.types.d.ts +2 -0
- package/dist/types/core/types/fields.types.d.ts +6 -1
- package/dist/types/core/types/fileEngine.types.d.ts +6 -0
- package/dist/types/core/types/form.types.d.ts +1 -0
- package/dist/types/core/types/format.types.d.ts +2 -0
- package/dist/types/core/types/icon.types.d.ts +109 -0
- package/dist/types/core/types/index.d.ts +2 -0
- package/dist/types/core/types/input.types.d.ts +2 -0
- package/dist/types/core/types/navigation.types.d.ts +1 -0
- package/dist/types/core/types/select.types.d.ts +2 -6
- package/dist/types/core/types/suggest.types.d.ts +2 -0
- package/dist/types/index.d.ts +31 -6
- package/package.json +4 -4
- package/dist/ChartImageMenu-DDVNJNc6.js +0 -1499
- package/dist/ChartView-CW3m4Z_1.js +0 -1703
- package/dist/SummarySeeAll-BRHOMQRA.js +0 -101
- package/dist/assets/fileTask.worker--Q3rI3Bn.js +0 -1
- package/dist/columnValue-DwUqueZ6.js +0 -610
- package/dist/exportContext-BKFnNQ0q.js +0 -166
- package/dist/scrollArea-DbYFqbIH.js +0 -269
- package/dist/types/components/DataTable/ui-local/DragAndDropList/DragAndDropList.d.ts +0 -4
- package/dist/types/components/DataTable/ui-local/DragAndDropList/index.d.ts +0 -3
- package/dist/types/components/DataTable/ui-local/DragAndDropList/types.d.ts +0 -70
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { type ImageCropRect, type ImageSize, type ImageTransform, type ImageTransformInput } from './imageTransform.logic';
|
|
2
|
+
export interface ImageEditorRatio {
|
|
3
|
+
label: string;
|
|
4
|
+
value: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ImageEditorCropOptions {
|
|
7
|
+
ratios?: ImageEditorRatio[];
|
|
8
|
+
free?: boolean;
|
|
9
|
+
defaultRatio?: number;
|
|
10
|
+
shape?: 'rect' | 'circle';
|
|
11
|
+
minWidth?: number;
|
|
12
|
+
minHeight?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ImageEditorOutputOptions {
|
|
15
|
+
maxWidth?: number;
|
|
16
|
+
maxHeight?: number;
|
|
17
|
+
mimeType?: string;
|
|
18
|
+
quality?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface ImageEditorOptions {
|
|
21
|
+
crop?: boolean | ImageEditorCropOptions;
|
|
22
|
+
zoom?: boolean | {
|
|
23
|
+
min?: number;
|
|
24
|
+
max?: number;
|
|
25
|
+
};
|
|
26
|
+
pan?: boolean;
|
|
27
|
+
rotate?: boolean;
|
|
28
|
+
straighten?: boolean | {
|
|
29
|
+
maxDegrees?: number;
|
|
30
|
+
};
|
|
31
|
+
flip?: boolean | {
|
|
32
|
+
horizontal?: boolean;
|
|
33
|
+
vertical?: boolean;
|
|
34
|
+
};
|
|
35
|
+
reset?: boolean;
|
|
36
|
+
output?: ImageEditorOutputOptions;
|
|
37
|
+
}
|
|
38
|
+
export interface ResolvedImageEditorOptions {
|
|
39
|
+
crop: {
|
|
40
|
+
enabled: boolean;
|
|
41
|
+
ratios: ImageEditorRatio[];
|
|
42
|
+
free: boolean;
|
|
43
|
+
initialRatio: number | null;
|
|
44
|
+
showSelector: boolean;
|
|
45
|
+
shape: 'rect' | 'circle';
|
|
46
|
+
minWidth: number;
|
|
47
|
+
minHeight: number;
|
|
48
|
+
};
|
|
49
|
+
zoom: {
|
|
50
|
+
enabled: boolean;
|
|
51
|
+
min: number;
|
|
52
|
+
max: number;
|
|
53
|
+
};
|
|
54
|
+
pan: boolean;
|
|
55
|
+
rotate: boolean;
|
|
56
|
+
straighten: {
|
|
57
|
+
enabled: boolean;
|
|
58
|
+
maxDegrees: number;
|
|
59
|
+
};
|
|
60
|
+
flip: {
|
|
61
|
+
horizontal: boolean;
|
|
62
|
+
vertical: boolean;
|
|
63
|
+
};
|
|
64
|
+
reset: boolean;
|
|
65
|
+
output: ImageEditorOutputOptions;
|
|
66
|
+
}
|
|
67
|
+
export declare const resolveImageEditorOptions: (options?: ImageEditorOptions) => ResolvedImageEditorOptions;
|
|
68
|
+
export declare const restrictImageTransform: (image: ImageSize, options: ResolvedImageEditorOptions, input: ImageTransformInput, ratio?: number | null) => ImageTransform;
|
|
69
|
+
export interface ImageEditorModel {
|
|
70
|
+
image: ImageSize;
|
|
71
|
+
options: ResolvedImageEditorOptions;
|
|
72
|
+
transform: ImageTransform;
|
|
73
|
+
ratio: number | null;
|
|
74
|
+
stage: ImageSize;
|
|
75
|
+
zoom: number;
|
|
76
|
+
center: {
|
|
77
|
+
x: number;
|
|
78
|
+
y: number;
|
|
79
|
+
};
|
|
80
|
+
anchorCrop: ImageCropRect | null;
|
|
81
|
+
}
|
|
82
|
+
export declare const imageEditorScale: (m: ImageEditorModel) => number;
|
|
83
|
+
export interface CreateImageEditorModel {
|
|
84
|
+
image: ImageSize;
|
|
85
|
+
stage: ImageSize;
|
|
86
|
+
options: ResolvedImageEditorOptions;
|
|
87
|
+
initial?: ImageTransformInput;
|
|
88
|
+
}
|
|
89
|
+
export declare const createImageEditorModel: ({ image, stage, options, initial }: CreateImageEditorModel) => ImageEditorModel;
|
|
90
|
+
export declare const setImageEditorStage: (m: ImageEditorModel, stage: ImageSize) => ImageEditorModel;
|
|
91
|
+
export declare const applyImageEditorOptions: (m: ImageEditorModel, options: ResolvedImageEditorOptions) => ImageEditorModel;
|
|
92
|
+
export declare const resetImageEditor: (m: ImageEditorModel) => ImageEditorModel;
|
|
93
|
+
export declare const rotateImageEditor: (m: ImageEditorModel, direction: "left" | "right") => ImageEditorModel;
|
|
94
|
+
export declare const flipImageEditor: (m: ImageEditorModel, axis: "horizontal" | "vertical") => ImageEditorModel;
|
|
95
|
+
export declare const straightenImageEditor: (m: ImageEditorModel, degrees: number) => ImageEditorModel;
|
|
96
|
+
export declare const setImageEditorRatio: (m: ImageEditorModel, ratio: number | null) => ImageEditorModel;
|
|
97
|
+
export declare const setImageEditorZoom: (m: ImageEditorModel, zoom: number) => ImageEditorModel;
|
|
98
|
+
export declare const moveImageEditorCrop: (m: ImageEditorModel, dx: number, dy: number) => ImageEditorModel;
|
|
99
|
+
export declare const panImageEditor: (m: ImageEditorModel, dx: number, dy: number) => ImageEditorModel;
|
|
100
|
+
export type ImageCropHandle = 'n' | 's' | 'e' | 'w' | 'nw' | 'ne' | 'sw' | 'se';
|
|
101
|
+
export declare const IMAGE_CROP_HANDLES: readonly ImageCropHandle[];
|
|
102
|
+
export declare const resizeImageEditorCrop: (m: ImageEditorModel, handle: ImageCropHandle, dx: number, dy: number) => ImageEditorModel;
|
|
103
|
+
export declare const imageEditorBox: (m: ImageEditorModel) => ImageCropRect;
|
|
104
|
+
export declare const imageEditorViewMatrix: (m: ImageEditorModel) => import("./imageTransform.logic").ImageMatrix;
|
|
105
|
+
export declare const finalImageTransform: (m: ImageEditorModel) => ImageTransform;
|
|
106
|
+
export declare const imageEditorOutputSize: (m: ImageEditorModel) => ImageSize;
|
|
107
|
+
export declare const imageEditorMeetsMinimum: (m: ImageEditorModel) => boolean;
|
|
108
|
+
export declare const imageCanMeetMinimum: (image: ImageSize, options: ResolvedImageEditorOptions) => boolean;
|
|
109
|
+
export type ImageEditorKeyAction = {
|
|
110
|
+
type: 'move';
|
|
111
|
+
dx: number;
|
|
112
|
+
dy: number;
|
|
113
|
+
} | {
|
|
114
|
+
type: 'resize';
|
|
115
|
+
dx: number;
|
|
116
|
+
dy: number;
|
|
117
|
+
} | {
|
|
118
|
+
type: 'pan';
|
|
119
|
+
dx: number;
|
|
120
|
+
dy: number;
|
|
121
|
+
} | {
|
|
122
|
+
type: 'zoom';
|
|
123
|
+
factor: number;
|
|
124
|
+
};
|
|
125
|
+
export declare const imageEditorKeyAction: (options: ResolvedImageEditorOptions, event: {
|
|
126
|
+
key: string;
|
|
127
|
+
shiftKey?: boolean;
|
|
128
|
+
altKey?: boolean;
|
|
129
|
+
ctrlKey?: boolean;
|
|
130
|
+
metaKey?: boolean;
|
|
131
|
+
}) => ImageEditorKeyAction | null;
|
|
132
|
+
export declare const applyImageEditorKeyAction: (m: ImageEditorModel, action: ImageEditorKeyAction) => ImageEditorModel;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export type ImageQuarterTurn = 0 | 90 | 180 | 270;
|
|
2
|
+
export interface ImageSize {
|
|
3
|
+
width: number;
|
|
4
|
+
height: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ImageCropRect {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ImageOrientation {
|
|
13
|
+
rotate: ImageQuarterTurn;
|
|
14
|
+
straighten: number;
|
|
15
|
+
flipH: boolean;
|
|
16
|
+
flipV: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface ImageTransform extends ImageOrientation {
|
|
19
|
+
crop: ImageCropRect;
|
|
20
|
+
}
|
|
21
|
+
export type ImageTransformInput = Partial<Omit<ImageTransform, 'rotate'>> & {
|
|
22
|
+
rotate?: number;
|
|
23
|
+
};
|
|
24
|
+
export type ImageMatrix = readonly [a: number, b: number, c: number, d: number, e: number, f: number];
|
|
25
|
+
type Turned = Pick<ImageOrientation, 'rotate' | 'straighten'>;
|
|
26
|
+
export declare const IMAGE_STRAIGHTEN_LIMIT = 45;
|
|
27
|
+
export declare const normalizeQuarterTurn: (degrees: number) => ImageQuarterTurn;
|
|
28
|
+
export declare const clampStraighten: (degrees: number, limit?: number) => number;
|
|
29
|
+
export declare const imageFrameSize: (image: ImageSize, rotate: ImageQuarterTurn) => ImageSize;
|
|
30
|
+
export declare const imageBoundsSize: (image: ImageSize, o: Turned) => ImageSize;
|
|
31
|
+
export declare const fullImageCrop: (image: ImageSize, o: Turned, ratio?: number | null) => ImageCropRect;
|
|
32
|
+
export declare const imageCropFits: (image: ImageSize, o: Turned, crop: ImageCropRect) => boolean;
|
|
33
|
+
export declare const clampImageCrop: (image: ImageSize, o: Turned, crop: ImageCropRect) => ImageCropRect;
|
|
34
|
+
export declare const fitImageCropToRatio: (image: ImageSize, o: Turned, crop: ImageCropRect, ratio: number | null) => ImageCropRect;
|
|
35
|
+
export declare const resolveImageTransform: (image: ImageSize, input?: ImageTransformInput) => ImageTransform;
|
|
36
|
+
export declare const snapImageCrop: (image: ImageSize, transform: ImageTransform, ratio?: number | null) => ImageCropRect;
|
|
37
|
+
export interface ImageOutputLimits {
|
|
38
|
+
maxWidth?: number;
|
|
39
|
+
maxHeight?: number;
|
|
40
|
+
}
|
|
41
|
+
export declare const imageOutputSize: (crop: Pick<ImageCropRect, "width" | "height">, limits?: ImageOutputLimits) => ImageSize;
|
|
42
|
+
export interface ImageFrameTarget {
|
|
43
|
+
scaleX: number;
|
|
44
|
+
scaleY: number;
|
|
45
|
+
x: number;
|
|
46
|
+
y: number;
|
|
47
|
+
}
|
|
48
|
+
export declare const imageMatrix: (image: ImageSize, o: ImageOrientation, target: ImageFrameTarget) => ImageMatrix;
|
|
49
|
+
export declare const imageOutputMatrix: (image: ImageSize, transform: ImageTransform, output: ImageSize) => ImageMatrix;
|
|
50
|
+
export declare const applyImageMatrix: (m: ImageMatrix, p: {
|
|
51
|
+
x: number;
|
|
52
|
+
y: number;
|
|
53
|
+
}) => {
|
|
54
|
+
x: number;
|
|
55
|
+
y: number;
|
|
56
|
+
};
|
|
57
|
+
export {};
|
|
@@ -5,7 +5,15 @@ export * from './chipinput.logic';
|
|
|
5
5
|
export * from './collapsible.logic';
|
|
6
6
|
export * from './colorScheme';
|
|
7
7
|
export * from './columnOrder.logic';
|
|
8
|
+
export * from './columnGroups.logic';
|
|
9
|
+
export * from './fitColumns.logic';
|
|
10
|
+
export * from './toolbarOverflow.logic';
|
|
11
|
+
export * from './rowPinning.logic';
|
|
12
|
+
export * from './cellRange.logic';
|
|
13
|
+
export * from './cellTouch.logic';
|
|
8
14
|
export * from './datePicker.logic';
|
|
15
|
+
export * from './eventCalendar.logic';
|
|
16
|
+
export * from './periodPicker.logic';
|
|
9
17
|
export * from './timeField.logic';
|
|
10
18
|
export * from './editableTable.logic';
|
|
11
19
|
export * from './fieldControl.logic';
|
|
@@ -16,13 +24,21 @@ export * from './standardSchema.logic';
|
|
|
16
24
|
export * from './input.logic';
|
|
17
25
|
export * from './keyboard.logic';
|
|
18
26
|
export * from './motion.logic';
|
|
27
|
+
export * from './tween.logic';
|
|
19
28
|
export * from './navigation.logic';
|
|
20
29
|
export * from './popover.logic';
|
|
30
|
+
export * from './dropdownSide.logic';
|
|
31
|
+
export * from './visualViewport.logic';
|
|
21
32
|
export * from './popupList.logic';
|
|
22
33
|
export * from './press.logic';
|
|
23
34
|
export * from './stepper.logic';
|
|
35
|
+
export * from './alert.logic';
|
|
36
|
+
export * from './pagination.logic';
|
|
37
|
+
export * from './commandPalette.logic';
|
|
38
|
+
export * from './pageProgress.logic';
|
|
24
39
|
export * from './quickAddGrid.logic';
|
|
25
40
|
export * from './radio.logic';
|
|
41
|
+
export * from './reorder.logic';
|
|
26
42
|
export * from './select.logic';
|
|
27
43
|
export * from './suggest.logic';
|
|
28
44
|
export * from './switch.logic';
|
|
@@ -36,3 +52,12 @@ export * from './tooltip.logic';
|
|
|
36
52
|
export * from './typography.logic';
|
|
37
53
|
export * from './uiScale.logic';
|
|
38
54
|
export * from './useMergeRefs';
|
|
55
|
+
export * from './inertProps';
|
|
56
|
+
export * from './imageTransform.logic';
|
|
57
|
+
export * from './imageEditor.logic';
|
|
58
|
+
export * from './treeData.logic';
|
|
59
|
+
export * from './rowDrag.logic';
|
|
60
|
+
export * from './treeDrag.logic';
|
|
61
|
+
export * from './pivot.logic';
|
|
62
|
+
export * from './rowActions.logic';
|
|
63
|
+
export * from './icon.logic';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type PageProgressPhase = 'idle' | 'waiting' | 'running' | 'finishing';
|
|
2
|
+
export type PageProgressEvent = 'activate' | 'deactivate' | 'delayElapsed' | 'finished';
|
|
3
|
+
export declare function nextPageProgressPhase(phase: PageProgressPhase, event: PageProgressEvent): PageProgressPhase;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type PaginationSlot = number | 'gap-start' | 'gap-end';
|
|
2
|
+
export declare function pageCountFor(total: number, pageSize: number): number;
|
|
3
|
+
export declare function pageRowRange(pageIndex: number, pageSize: number, total: number): {
|
|
4
|
+
from: number;
|
|
5
|
+
to: number;
|
|
6
|
+
};
|
|
7
|
+
export declare function paginationSlots(pageIndex: number, pageCount: number, siblings?: number): PaginationSlot[];
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { DateDisplayFormat, DateTextOrder } from '../types';
|
|
2
|
+
import { type DateHighlightAction, type IsoDay } from './datePicker.logic';
|
|
3
|
+
export type IsoPeriod = string;
|
|
4
|
+
export type PeriodMode = 'month' | 'year';
|
|
5
|
+
export interface PeriodBounds {
|
|
6
|
+
min: IsoPeriod;
|
|
7
|
+
max: IsoPeriod;
|
|
8
|
+
}
|
|
9
|
+
export declare const PERIOD_COLUMNS = 3;
|
|
10
|
+
export declare const PERIOD_PAGE_SIZE = 12;
|
|
11
|
+
export declare function toPeriod(value: unknown, mode: PeriodMode, bound?: 'start' | 'end'): IsoPeriod;
|
|
12
|
+
export declare function shiftPeriod(period: IsoPeriod, mode: PeriodMode, n: number): IsoPeriod;
|
|
13
|
+
export declare function resolvePeriodBounds(opts: {
|
|
14
|
+
mode: PeriodMode;
|
|
15
|
+
min?: string;
|
|
16
|
+
max?: string;
|
|
17
|
+
yearRange?: {
|
|
18
|
+
back?: number;
|
|
19
|
+
ahead?: number;
|
|
20
|
+
};
|
|
21
|
+
today?: IsoDay;
|
|
22
|
+
}): PeriodBounds;
|
|
23
|
+
export declare const isPeriodInBounds: (period: IsoPeriod, bounds: PeriodBounds) => boolean;
|
|
24
|
+
export declare function clampPeriod(period: IsoPeriod, bounds: PeriodBounds): IsoPeriod;
|
|
25
|
+
export declare function openingPeriod(value: unknown, opts: {
|
|
26
|
+
mode: PeriodMode;
|
|
27
|
+
bounds: PeriodBounds;
|
|
28
|
+
today?: IsoDay;
|
|
29
|
+
}): IsoPeriod;
|
|
30
|
+
export interface PeriodCell {
|
|
31
|
+
period: IsoPeriod;
|
|
32
|
+
year: number;
|
|
33
|
+
month: number;
|
|
34
|
+
isCurrent: boolean;
|
|
35
|
+
isSelected: boolean;
|
|
36
|
+
isHighlighted: boolean;
|
|
37
|
+
inRange: boolean;
|
|
38
|
+
isRangeStart: boolean;
|
|
39
|
+
isRangeEnd: boolean;
|
|
40
|
+
disabled: boolean;
|
|
41
|
+
}
|
|
42
|
+
export interface PeriodGridView {
|
|
43
|
+
firstYear: number;
|
|
44
|
+
lastYear: number;
|
|
45
|
+
rows: PeriodCell[][];
|
|
46
|
+
canPagePrev: boolean;
|
|
47
|
+
canPageNext: boolean;
|
|
48
|
+
}
|
|
49
|
+
export declare function buildPeriodGrid(opts: {
|
|
50
|
+
mode: PeriodMode;
|
|
51
|
+
cursor: IsoPeriod;
|
|
52
|
+
bounds: PeriodBounds;
|
|
53
|
+
today?: IsoDay;
|
|
54
|
+
selected?: IsoPeriod;
|
|
55
|
+
rangeFrom?: IsoPeriod;
|
|
56
|
+
rangeTo?: IsoPeriod;
|
|
57
|
+
}): PeriodGridView;
|
|
58
|
+
export declare function movePeriodCursor(from: IsoPeriod, action: DateHighlightAction, opts: {
|
|
59
|
+
mode: PeriodMode;
|
|
60
|
+
bounds: PeriodBounds;
|
|
61
|
+
}): IsoPeriod;
|
|
62
|
+
export declare function extendPeriodRange(range: {
|
|
63
|
+
from?: IsoPeriod;
|
|
64
|
+
to?: IsoPeriod;
|
|
65
|
+
}, picked: IsoPeriod, mode: PeriodMode): {
|
|
66
|
+
from: IsoPeriod;
|
|
67
|
+
to: IsoPeriod;
|
|
68
|
+
};
|
|
69
|
+
export interface PeriodTextOptions {
|
|
70
|
+
mode: PeriodMode;
|
|
71
|
+
within?: IsoPeriod;
|
|
72
|
+
today?: IsoDay;
|
|
73
|
+
order?: DateTextOrder;
|
|
74
|
+
monthNames?: string[];
|
|
75
|
+
monthNamesShort?: string[];
|
|
76
|
+
}
|
|
77
|
+
export declare function parsePeriodText(text: unknown, opts: PeriodTextOptions): IsoPeriod | null;
|
|
78
|
+
export declare function parsePeriodRangeText(text: unknown, opts: PeriodTextOptions): {
|
|
79
|
+
from: IsoPeriod;
|
|
80
|
+
to: IsoPeriod;
|
|
81
|
+
} | null;
|
|
82
|
+
export declare function formatPeriodText(value: unknown, mode: PeriodMode, opts?: {
|
|
83
|
+
locale?: string;
|
|
84
|
+
monthNames?: string[];
|
|
85
|
+
}): string;
|
|
86
|
+
export declare function periodPlaceholder(mode: PeriodMode, format?: DateDisplayFormat): string;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
export type PivotKey = string | number | boolean | null;
|
|
2
|
+
export type PivotAggName = 'sum' | 'count' | 'avg' | 'min' | 'max' | 'first' | 'last';
|
|
3
|
+
export declare const PIVOT_AGGS: readonly PivotAggName[];
|
|
4
|
+
export declare const PIVOT_NUMBER_AGGS: readonly PivotAggName[];
|
|
5
|
+
export declare const isPivotAggName: (agg: unknown) => agg is PivotAggName;
|
|
6
|
+
export type PivotAggFn<T> = (values: unknown[], rows: T[]) => unknown;
|
|
7
|
+
export interface PivotSpec<T> {
|
|
8
|
+
rows: ReadonlyArray<(row: T) => PivotKey>;
|
|
9
|
+
columns: ReadonlyArray<(row: T) => PivotKey>;
|
|
10
|
+
values: ReadonlyArray<{
|
|
11
|
+
valueOf: (row: T) => unknown;
|
|
12
|
+
agg: PivotAggName | PivotAggFn<T>;
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
15
|
+
export interface PivotNode {
|
|
16
|
+
id: number;
|
|
17
|
+
key: PivotKey;
|
|
18
|
+
path: PivotKey[];
|
|
19
|
+
depth: number;
|
|
20
|
+
parent: PivotNode | null;
|
|
21
|
+
children: Map<PivotKey, PivotNode>;
|
|
22
|
+
}
|
|
23
|
+
export interface PivotCube {
|
|
24
|
+
rows: PivotNode;
|
|
25
|
+
columns: PivotNode;
|
|
26
|
+
rowFields: number;
|
|
27
|
+
columnFields: number;
|
|
28
|
+
values: number;
|
|
29
|
+
figures: (row: PivotNode, column: PivotNode) => readonly unknown[] | undefined;
|
|
30
|
+
}
|
|
31
|
+
export declare function pivotKeyId(k: PivotKey): string;
|
|
32
|
+
export declare function pivotNumber(v: unknown): number | null;
|
|
33
|
+
export declare const isPivotBlank: (v: unknown) => boolean;
|
|
34
|
+
export interface PivotBuilder<T> {
|
|
35
|
+
add: (rows: readonly T[], from?: number, to?: number) => void;
|
|
36
|
+
done: () => PivotCube;
|
|
37
|
+
}
|
|
38
|
+
export declare function pivotBuilder<T>(spec: PivotSpec<T>): PivotBuilder<T>;
|
|
39
|
+
export declare function computePivot<T>(rows: readonly T[], spec: PivotSpec<T>): PivotCube;
|
|
40
|
+
export interface PivotCellInput {
|
|
41
|
+
row: readonly PivotKey[];
|
|
42
|
+
column: readonly PivotKey[];
|
|
43
|
+
values: readonly unknown[];
|
|
44
|
+
}
|
|
45
|
+
export declare function pivotCubeFromCells(cells: readonly PivotCellInput[], dims: {
|
|
46
|
+
rowFields: number;
|
|
47
|
+
columnFields: number;
|
|
48
|
+
values: number;
|
|
49
|
+
}): PivotCube;
|
|
50
|
+
export declare function comparePivotKeys(a: PivotKey, b: PivotKey): number;
|
|
51
|
+
export declare function comparePivotFigures(a: unknown, b: unknown): number;
|
|
52
|
+
export interface PivotColumn {
|
|
53
|
+
id: string;
|
|
54
|
+
node: PivotNode;
|
|
55
|
+
value: number;
|
|
56
|
+
total: boolean;
|
|
57
|
+
}
|
|
58
|
+
export interface PivotHeaderGroup {
|
|
59
|
+
id: string;
|
|
60
|
+
node: PivotNode;
|
|
61
|
+
total: boolean;
|
|
62
|
+
children: Array<PivotHeaderGroup | PivotColumn>;
|
|
63
|
+
}
|
|
64
|
+
export declare const isPivotHeaderGroup: (x: PivotHeaderGroup | PivotColumn) => x is PivotHeaderGroup;
|
|
65
|
+
export interface PivotLine {
|
|
66
|
+
id: string;
|
|
67
|
+
node: PivotNode;
|
|
68
|
+
kind: 'leaf' | 'subtotal' | 'grand';
|
|
69
|
+
}
|
|
70
|
+
export interface PivotLayoutOptions {
|
|
71
|
+
rowSubtotals: boolean;
|
|
72
|
+
columnTotals: boolean;
|
|
73
|
+
grandTotal: boolean;
|
|
74
|
+
maxColumns: number;
|
|
75
|
+
compareRowKey?: (field: number, a: PivotKey, b: PivotKey) => number;
|
|
76
|
+
compareColumnKey?: (field: number, a: PivotKey, b: PivotKey) => number;
|
|
77
|
+
}
|
|
78
|
+
export interface PivotLayout {
|
|
79
|
+
columns: PivotColumn[];
|
|
80
|
+
header: Array<PivotHeaderGroup | PivotColumn>;
|
|
81
|
+
lines: PivotLine[];
|
|
82
|
+
grand: PivotLine | null;
|
|
83
|
+
capped: {
|
|
84
|
+
shown: number;
|
|
85
|
+
total: number;
|
|
86
|
+
} | null;
|
|
87
|
+
}
|
|
88
|
+
export declare const pivotColumnId: (path: readonly PivotKey[], value: number) => string;
|
|
89
|
+
export declare const pivotLineId: (path: readonly PivotKey[]) => string;
|
|
90
|
+
export declare function layoutPivot(cube: PivotCube, opts: PivotLayoutOptions): PivotLayout;
|
|
91
|
+
export type PivotSort = {
|
|
92
|
+
field: number;
|
|
93
|
+
desc: boolean;
|
|
94
|
+
} | {
|
|
95
|
+
column: PivotColumn;
|
|
96
|
+
desc: boolean;
|
|
97
|
+
};
|
|
98
|
+
export declare function orderPivotLines(cube: PivotCube, layout: PivotLayout, sorts: readonly PivotSort[], opts?: {
|
|
99
|
+
compareRowKey?: (field: number, a: PivotKey, b: PivotKey) => number;
|
|
100
|
+
}): PivotLine[];
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export interface ReorderSlot {
|
|
2
|
+
start: number;
|
|
3
|
+
size: number;
|
|
4
|
+
}
|
|
5
|
+
export interface ReorderRange {
|
|
6
|
+
min: number;
|
|
7
|
+
max: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function moveItem<T>(items: readonly T[], from: number, to: number): T[];
|
|
10
|
+
export declare function reorderRange(fixed: readonly boolean[], from: number): ReorderRange;
|
|
11
|
+
export declare function reorderTarget(slots: readonly ReorderSlot[], from: number, offset: number, range: ReorderRange): number;
|
|
12
|
+
export declare function reorderShift(slots: readonly ReorderSlot[], from: number, to: number, index: number): number;
|
|
13
|
+
export declare function reorderDropOffset(slots: readonly ReorderSlot[], from: number, to: number): number;
|
|
14
|
+
export declare function reorderDragLimits(slots: readonly ReorderSlot[], from: number, range: ReorderRange): ReorderRange;
|
|
15
|
+
export declare function stepReorderIndex(current: number, step: -1 | 1, range: ReorderRange): number;
|
|
16
|
+
export declare function autoScrollStep(pointer: number, edgeStart: number, edgeEnd: number, zone: number, maxStep: number): number;
|
|
17
|
+
export interface ReorderPoint {
|
|
18
|
+
x: number;
|
|
19
|
+
y: number;
|
|
20
|
+
}
|
|
21
|
+
export interface ReorderSize {
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
}
|
|
25
|
+
export interface ReorderFlow {
|
|
26
|
+
axis: 'vertical' | 'horizontal' | 'wrap';
|
|
27
|
+
width: number;
|
|
28
|
+
gapX: number;
|
|
29
|
+
gapY: number;
|
|
30
|
+
}
|
|
31
|
+
export declare function flowPositions(sizes: readonly ReorderSize[], flow: ReorderFlow): ReorderPoint[];
|
|
32
|
+
export declare function flowExtent(sizes: readonly ReorderSize[], flow: ReorderFlow): ReorderSize;
|
|
33
|
+
export declare function insertItem<T>(items: readonly T[], index: number, item: T): T[];
|
|
34
|
+
export declare function insertionPoints(sizes: readonly ReorderSize[], dragged: ReorderSize, flow: ReorderFlow, range: ReorderRange): ReorderPoint[];
|
|
35
|
+
export declare function nearestPoint(points: readonly ReorderPoint[], at: ReorderPoint): number;
|
|
36
|
+
export interface ReorderAcceptRules {
|
|
37
|
+
from?: number;
|
|
38
|
+
sortable?: boolean;
|
|
39
|
+
maxItems?: number;
|
|
40
|
+
replaceWhenFull?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export declare function acceptedRange(fixed: readonly boolean[], rules: ReorderAcceptRules): ReorderRange | null;
|
|
43
|
+
export interface ReorderStop {
|
|
44
|
+
list: number;
|
|
45
|
+
index: number;
|
|
46
|
+
}
|
|
47
|
+
export declare function stepAcrossLists(ranges: ReadonlyArray<ReorderRange | null>, current: ReorderStop, step: -1 | 1): ReorderStop;
|
|
48
|
+
export declare function reorderSelectedValues<V>(value: readonly V[], shown: readonly V[]): V[];
|
|
49
|
+
export declare function fixedSelectValues<V>(value: readonly V[], fixedItems: number, defaultSelected: readonly V[]): Set<V>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const MAX_VISIBLE_ACTIONS_CHOICES: readonly [1, 2, 3, 4, 5];
|
|
2
|
+
export declare function isMaxVisibleActions(value: unknown): value is number;
|
|
3
|
+
export interface RowActionButtons {
|
|
4
|
+
count: number;
|
|
5
|
+
primaryOnly: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function rowActionButtons(surface: 'table' | 'card', choice: unknown, viewInline: number | undefined): RowActionButtons;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type RowDragBlock = 'sorted' | 'filtered' | 'searched' | 'grouped';
|
|
2
|
+
export declare function rowDragBlock(state: {
|
|
3
|
+
sorted: boolean;
|
|
4
|
+
filtered: boolean;
|
|
5
|
+
searched: boolean;
|
|
6
|
+
grouped: boolean;
|
|
7
|
+
}): RowDragBlock | null;
|
|
8
|
+
export type RowDropTarget = {
|
|
9
|
+
before: string;
|
|
10
|
+
} | {
|
|
11
|
+
after: string;
|
|
12
|
+
};
|
|
13
|
+
export interface RowMove<T> {
|
|
14
|
+
rows: T[];
|
|
15
|
+
removedAt: number[];
|
|
16
|
+
addedAt: number[];
|
|
17
|
+
}
|
|
18
|
+
export declare function moveRows<T>(rows: readonly T[], idOf: (row: T) => string, moving: ReadonlySet<string>, target: RowDropTarget): RowMove<T> | null;
|
|
19
|
+
export interface RowSlotRect {
|
|
20
|
+
id: string;
|
|
21
|
+
top: number;
|
|
22
|
+
bottom: number;
|
|
23
|
+
}
|
|
24
|
+
export declare function dropTargetAt(rects: readonly RowSlotRect[], y: number): RowDropTarget | null;
|
|
25
|
+
export declare function normalizeDropTarget(order: readonly string[], target: RowDropTarget): RowDropTarget;
|
|
26
|
+
export declare function keyboardDrop(order: readonly string[], moving: ReadonlySet<string>): {
|
|
27
|
+
rest: string[];
|
|
28
|
+
slot: number;
|
|
29
|
+
total: number;
|
|
30
|
+
};
|
|
31
|
+
export declare function slotTarget(rest: readonly string[], slot: number): RowDropTarget | null;
|
|
32
|
+
export interface RowSlotBox extends RowSlotRect {
|
|
33
|
+
left: number;
|
|
34
|
+
right: number;
|
|
35
|
+
}
|
|
36
|
+
export declare function gridDropTargetAt(boxes: readonly RowSlotBox[], x: number, y: number): RowDropTarget | null;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type RowPinSide = 'top' | 'bottom';
|
|
2
|
+
export interface RowPins {
|
|
3
|
+
top: string[];
|
|
4
|
+
bottom: string[];
|
|
5
|
+
}
|
|
6
|
+
export declare const NO_ROW_PINS: RowPins;
|
|
7
|
+
export declare const ROW_PINS_MAX = 50;
|
|
8
|
+
export declare function rowPinSide(pins: RowPins, id: string): RowPinSide | null;
|
|
9
|
+
export declare function pinRowTo(pins: RowPins, id: string, side: RowPinSide | null): RowPins;
|
|
10
|
+
export declare function normalizeRowPins(value: unknown): RowPins;
|
|
11
|
+
export declare function sameRowPins(a: RowPins, b: RowPins): boolean;
|
|
12
|
+
export declare function hasRowPins(pins: RowPins): boolean;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface HighlightBox {
|
|
2
|
+
offset: number;
|
|
3
|
+
size: number;
|
|
4
|
+
}
|
|
5
|
+
export type HighlightMove = 'slide' | 'fade' | 'appear' | 'follow' | 'stay';
|
|
6
|
+
export interface HighlightJumpRule {
|
|
7
|
+
maxSteps?: number;
|
|
8
|
+
maxDistance?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare const HIGHLIGHT_MAX_STEPS = 4;
|
|
11
|
+
export declare const HIGHLIGHT_MAX_DISTANCE = 320;
|
|
12
|
+
export interface ChooseHighlightMoveInput {
|
|
13
|
+
from: HighlightBox | null;
|
|
14
|
+
to: HighlightBox | null;
|
|
15
|
+
sameItem: boolean;
|
|
16
|
+
fromVisible: boolean;
|
|
17
|
+
rule?: HighlightJumpRule | false;
|
|
18
|
+
}
|
|
19
|
+
export declare function chooseHighlightMove({ from, to, sameItem, fromVisible, rule }: ChooseHighlightMoveInput): HighlightMove;
|
|
20
|
+
export declare function spanVisible(box: HighlightBox, start: number, end: number): boolean;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface ToolbarFitItem {
|
|
2
|
+
id: string;
|
|
3
|
+
width: number;
|
|
4
|
+
priority: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ToolbarFitInput {
|
|
7
|
+
available: number;
|
|
8
|
+
pinned?: number;
|
|
9
|
+
moreWidth: number;
|
|
10
|
+
items: readonly ToolbarFitItem[];
|
|
11
|
+
shrinkable?: {
|
|
12
|
+
full: number;
|
|
13
|
+
compact: number;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export interface ToolbarFitResult {
|
|
17
|
+
overflow: string[];
|
|
18
|
+
compact: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare function fitToolbarItems({ available, pinned, moreWidth, items, shrinkable }: ToolbarFitInput): ToolbarFitResult;
|
|
21
|
+
export declare function sameOverflow(a: readonly string[], b: readonly string[]): boolean;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface TreeIndex<T> {
|
|
2
|
+
nodes: T[];
|
|
3
|
+
parentOf: Map<string, string | null>;
|
|
4
|
+
childrenOf: Map<string, string[]>;
|
|
5
|
+
}
|
|
6
|
+
export interface TreeSource<T> {
|
|
7
|
+
children?: (row: T) => readonly T[] | null | undefined;
|
|
8
|
+
parentId?: (row: T) => string | null | undefined;
|
|
9
|
+
}
|
|
10
|
+
export declare function treeIndexOf<T>(rows: readonly T[], idOf: (row: T) => string, source: TreeSource<T>): TreeIndex<T>;
|
|
11
|
+
export declare function treeDescendants(childrenOf: ReadonlyMap<string, readonly string[]>, id: string): string[];
|
|
12
|
+
export declare function treeAncestors(parentOf: ReadonlyMap<string, string | null>, id: string): string[];
|
|
13
|
+
export type TreeFilterMode = 'ancestors' | 'matches';
|
|
14
|
+
export interface TreeKept<T> {
|
|
15
|
+
kept: T[];
|
|
16
|
+
matched: Set<string>;
|
|
17
|
+
open: Set<string>;
|
|
18
|
+
}
|
|
19
|
+
export declare function keepTreeMatches<T>(rows: readonly T[], idOf: (row: T) => string, tree: Pick<TreeIndex<T>, 'parentOf' | 'childrenOf'>, matches: (row: T) => boolean, mode?: TreeFilterMode): TreeKept<T>;
|
|
20
|
+
export interface TreeBuckets<R> {
|
|
21
|
+
roots: R[];
|
|
22
|
+
children: Map<string, R[]>;
|
|
23
|
+
}
|
|
24
|
+
export declare function treeBuckets<R>(rows: readonly R[], idOf: (row: R) => string, parentOf: (id: string) => string | null | undefined, flat?: boolean): TreeBuckets<R>;
|
|
25
|
+
export interface TreeLine<R> {
|
|
26
|
+
row: R;
|
|
27
|
+
id: string;
|
|
28
|
+
depth: number;
|
|
29
|
+
hasChildren: boolean;
|
|
30
|
+
expanded: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare function flattenTree<R>(buckets: TreeBuckets<R>, idOf: (row: R) => string, isExpanded: (id: string, depth: number) => boolean, hasChildren?: (row: R, id: string) => boolean): Array<TreeLine<R>>;
|
|
33
|
+
export interface TreeExpansion {
|
|
34
|
+
base: boolean | number;
|
|
35
|
+
toggled: ReadonlyMap<string, boolean>;
|
|
36
|
+
force: boolean;
|
|
37
|
+
}
|
|
38
|
+
export declare function isTreeRowExpanded(state: TreeExpansion, id: string, depth: number, forcedOpen?: ReadonlySet<string>): boolean;
|
|
39
|
+
export declare function toggleTreeRow(state: TreeExpansion, id: string, shownOpen: boolean): TreeExpansion;
|
|
40
|
+
export interface TreeExtraRows<T> {
|
|
41
|
+
rows: readonly T[];
|
|
42
|
+
parentOf: (id: string) => string | null | undefined;
|
|
43
|
+
}
|
|
44
|
+
export declare function treeFileLines<T>(rows: readonly T[], idOf: (row: T) => string, source: TreeSource<T>, extra?: TreeExtraRows<T>): Array<TreeLine<T>>;
|