@dcs-tech/ui 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +496 -0
- package/README.md +56 -5
- package/dist/{ChartImageMenu-AsfvmdTH.js → ChartImageMenu-3OfqNFyt.js} +557 -546
- package/dist/{ChartView-CW3m4Z_1.js → ChartView-n4G5_2ro.js} +35 -31
- package/dist/{SummaryChart-CxRjK_HU.js → SummaryChart-i6fOdrDM.js} +2 -2
- package/dist/{SummaryImage-DeYs2Jgj.js → SummaryImage-CCt5ozD9.js} +2 -2
- package/dist/{SummarySeeAll-CrmROhBv.js → SummarySeeAll-BY8knsRe.js} +5 -5
- package/dist/assets/fileTask.worker--Q3rI3Bn.js +1 -0
- package/dist/{columnValue-DwUqueZ6.js → columnValue-74XDBcVF.js} +219 -192
- package/dist/{exportContext-BKFnNQ0q.js → exportContext-C52ZuHd8.js} +2 -2
- package/dist/{exportEngine-CZ22cX7a.js → exportEngine-BmDly7iw.js} +3 -3
- package/dist/file-worker.js +1 -1
- package/dist/{fileActions-COf5Q4Eg.js → fileActions-CFNO14Aj.js} +1 -1
- package/dist/{geometry-yZmKN662.js → geometry-DG134nYI.js} +379 -273
- package/dist/index.js +12808 -9621
- package/dist/{labels-CnqqTrne.js → labels-BPItSeRU.js} +2 -0
- package/dist/{runFileTask--4YjQH7Y.js → runFileTask-BIZTFnZP.js} +55 -39
- package/dist/scrollArea-D84Cwm4o.js +310 -0
- package/dist/style.css +1 -1
- package/dist/{summaryChartData-CARqGRUl.js → summaryChartData-BiQYJbYZ.js} +8 -2
- 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/Funnel.d.ts +2 -1
- package/dist/types/components/Charts/chartImage.d.ts +1 -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/TablePagination.d.ts +1 -1
- package/dist/types/components/DataTable/TableToolbar.d.ts +2 -1
- package/dist/types/components/DataTable/TableView.d.ts +1 -0
- package/dist/types/components/DataTable/cards/cardFields.d.ts +1 -0
- package/dist/types/components/DataTable/defaults.d.ts +4 -0
- package/dist/types/components/DataTable/index.d.ts +1 -1
- package/dist/types/components/DataTable/labels.d.ts +2 -0
- package/dist/types/components/DataTable/types.d.ts +19 -2
- 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/useTable.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/FieldWrapper/index.d.ts +1 -1
- package/dist/types/components/Fields/index.d.ts +1 -1
- 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 +1 -1
- package/dist/types/components/Popover/floatingPosition.d.ts +4 -0
- package/dist/types/components/ReorderList/ReorderGroup.d.ts +16 -0
- package/dist/types/components/ReorderList/ReorderList.d.ts +55 -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/Tooltip/useTooltip.d.ts +4 -0
- package/dist/types/components/UIProvider/UILabelsContext.d.ts +86 -0
- package/dist/types/core/hooks/index.d.ts +1 -0
- package/dist/types/core/hooks/useMeasuredState.d.ts +1 -0
- package/dist/types/core/logic/alert.logic.d.ts +3 -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/fieldWrapper.logic.d.ts +6 -1
- 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 +9 -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/reorder.logic.d.ts +49 -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/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/form.types.d.ts +1 -0
- package/dist/types/core/types/format.types.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 +25 -7
- package/package.json +3 -2
- package/dist/assets/fileTask.worker-BHT1olUk.js +0 -1
- package/dist/scrollArea-Dd2dNMV4.js +0 -236
- 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
|
@@ -25,3 +25,7 @@ export declare const visibleBounds: (el: Element) => {
|
|
|
25
25
|
top: number;
|
|
26
26
|
bottom: number;
|
|
27
27
|
};
|
|
28
|
+
export declare const listOverhang: (list: Element | null | undefined, anchor: Element | null | undefined) => string | undefined;
|
|
29
|
+
export declare const titleWhenCut: (event: {
|
|
30
|
+
target: EventTarget | null;
|
|
31
|
+
}) => void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ReorderGroupMove, ReorderPeer } from './crossListDrag';
|
|
3
|
+
export interface ReorderGroupProps<T = any> {
|
|
4
|
+
onMove: (move: ReorderGroupMove<T>) => void;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
interface ReorderGroupContextValue {
|
|
8
|
+
peers: Set<ReorderPeer>;
|
|
9
|
+
onMove: (move: ReorderGroupMove) => void;
|
|
10
|
+
busy: {
|
|
11
|
+
current: boolean;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export declare const useReorderGroup: () => ReorderGroupContextValue | null;
|
|
15
|
+
export declare function ReorderGroup<T = any>({ onMove, children }: ReorderGroupProps<T>): React.JSX.Element;
|
|
16
|
+
export default ReorderGroup;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type UILabels } from '../UIProvider/UILabelsContext';
|
|
3
|
+
import { type ReorderAxis, type ReorderMove } from './useReorderDrag';
|
|
4
|
+
import type { ReorderWhenFull } from './crossListDrag';
|
|
5
|
+
export type { ReorderAxis, ReorderMove, ReorderWhenFull };
|
|
6
|
+
export type ReorderDragFrom = 'handle' | 'row' | 'both';
|
|
7
|
+
export type ReorderLabels = UILabels['reorder'];
|
|
8
|
+
export interface ReorderHandleProps {
|
|
9
|
+
tabIndex: number;
|
|
10
|
+
'aria-label': string;
|
|
11
|
+
'aria-describedby': string;
|
|
12
|
+
style: React.CSSProperties;
|
|
13
|
+
onPointerDown: React.PointerEventHandler<HTMLElement>;
|
|
14
|
+
onKeyDown: React.KeyboardEventHandler<HTMLElement>;
|
|
15
|
+
'data-reorder-handle': string;
|
|
16
|
+
}
|
|
17
|
+
export interface ReorderListHandle {
|
|
18
|
+
move: (key: string | number, step: -1 | 1) => boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface ReorderItemState {
|
|
21
|
+
index: number;
|
|
22
|
+
dragging: boolean;
|
|
23
|
+
canDrag: boolean;
|
|
24
|
+
handle: React.ReactNode;
|
|
25
|
+
handleProps: ReorderHandleProps | null;
|
|
26
|
+
}
|
|
27
|
+
export interface ReorderListProps<T> {
|
|
28
|
+
items: readonly T[];
|
|
29
|
+
getKey: (item: T, index: number) => string | number;
|
|
30
|
+
renderItem: (item: T, state: ReorderItemState) => React.ReactNode;
|
|
31
|
+
onReorder: (items: T[], move: ReorderMove) => void;
|
|
32
|
+
axis?: ReorderAxis;
|
|
33
|
+
dragFrom?: ReorderDragFrom;
|
|
34
|
+
canDrag?: (item: T, index: number) => boolean;
|
|
35
|
+
isFixed?: (item: T, index: number) => boolean;
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
getItemLabel?: (item: T, index: number) => string;
|
|
38
|
+
labels?: Partial<ReorderLabels>;
|
|
39
|
+
className?: string;
|
|
40
|
+
itemClassName?: string;
|
|
41
|
+
style?: React.CSSProperties;
|
|
42
|
+
'aria-label'?: string;
|
|
43
|
+
'aria-labelledby'?: string;
|
|
44
|
+
role?: React.AriaRole;
|
|
45
|
+
itemRole?: React.AriaRole;
|
|
46
|
+
listId?: string;
|
|
47
|
+
maxItems?: number;
|
|
48
|
+
whenFull?: ReorderWhenFull;
|
|
49
|
+
sortable?: boolean;
|
|
50
|
+
autoScroll?: boolean;
|
|
51
|
+
autoScrollSpeed?: number;
|
|
52
|
+
handleRef?: React.Ref<ReorderListHandle>;
|
|
53
|
+
}
|
|
54
|
+
export declare function ReorderList<T>({ items, getKey, renderItem, onReorder, axis, dragFrom, canDrag, isFixed, disabled, getItemLabel, labels, className, itemClassName, style, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, role, itemRole, listId, maxItems, whenFull, sortable, autoScroll, autoScrollSpeed, handleRef, }: ReorderListProps<T>): React.JSX.Element;
|
|
55
|
+
export default ReorderList;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { type ReorderPoint } from '../../core/logic';
|
|
2
|
+
export type ReorderAxis = 'vertical' | 'horizontal' | 'wrap';
|
|
3
|
+
export interface ReorderMove {
|
|
4
|
+
from: number;
|
|
5
|
+
to: number;
|
|
6
|
+
}
|
|
7
|
+
export interface ReorderGroupMove<T = any> {
|
|
8
|
+
item: T;
|
|
9
|
+
from: {
|
|
10
|
+
list: string;
|
|
11
|
+
index: number;
|
|
12
|
+
};
|
|
13
|
+
to: {
|
|
14
|
+
list: string;
|
|
15
|
+
index: number;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export type ReorderWhenFull = 'reject' | 'replace';
|
|
19
|
+
export interface ReorderPeer {
|
|
20
|
+
id: string;
|
|
21
|
+
el: () => HTMLElement | null;
|
|
22
|
+
options: () => {
|
|
23
|
+
items: readonly any[];
|
|
24
|
+
getKey: (item: any, index: number) => string | number;
|
|
25
|
+
isFixed: (item: any, index: number) => boolean;
|
|
26
|
+
onReorder: (items: any[], move: ReorderMove) => void;
|
|
27
|
+
axis: ReorderAxis;
|
|
28
|
+
disabled: boolean;
|
|
29
|
+
sortable: boolean;
|
|
30
|
+
maxItems?: number;
|
|
31
|
+
whenFull: ReorderWhenFull;
|
|
32
|
+
listLabel?: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export declare const setRowOffset: (row: HTMLElement, x: number, y: number) => void;
|
|
36
|
+
export interface CrossDragStop {
|
|
37
|
+
position: number;
|
|
38
|
+
total: number;
|
|
39
|
+
list?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface CrossDrag {
|
|
42
|
+
follow: (x: number, y: number) => void;
|
|
43
|
+
step: (step: -1 | 1) => CrossDragStop | null;
|
|
44
|
+
goHome: () => void;
|
|
45
|
+
settle: () => void;
|
|
46
|
+
commit: () => void;
|
|
47
|
+
stop: () => CrossDragStop;
|
|
48
|
+
span: (vertical: boolean) => {
|
|
49
|
+
start: number;
|
|
50
|
+
size: number;
|
|
51
|
+
};
|
|
52
|
+
refocus: () => void;
|
|
53
|
+
clear: () => void;
|
|
54
|
+
}
|
|
55
|
+
export declare function createCrossDrag(args: {
|
|
56
|
+
peers: readonly ReorderPeer[];
|
|
57
|
+
sourceEl: HTMLElement;
|
|
58
|
+
from: number;
|
|
59
|
+
press: ReorderPoint;
|
|
60
|
+
onMove?: (move: ReorderGroupMove) => void;
|
|
61
|
+
}): CrossDrag | null;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { ReorderList, default } from './ReorderList';
|
|
2
|
+
export { ReorderGroup } from './ReorderGroup';
|
|
3
|
+
export type { ReorderGroupProps } from './ReorderGroup';
|
|
4
|
+
export type { ReorderGroupMove } from './crossListDrag';
|
|
5
|
+
export type { ReorderListProps, ReorderItemState, ReorderHandleProps, ReorderDragFrom, ReorderAxis, ReorderMove, ReorderLabels, ReorderListHandle, ReorderWhenFull, } from './ReorderList';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type KeyboardEvent, type PointerEvent } from 'react';
|
|
2
|
+
import { type ReorderAxis, type ReorderMove, type ReorderWhenFull } from './crossListDrag';
|
|
3
|
+
export type { ReorderAxis, ReorderMove };
|
|
4
|
+
type ReorderEvent = 'pickedUp' | 'moved' | 'dropped' | 'cancelled';
|
|
5
|
+
interface ReorderDragOptions<T> {
|
|
6
|
+
items: readonly T[];
|
|
7
|
+
getKey: (item: T, index: number) => string | number;
|
|
8
|
+
onReorder: (items: T[], move: ReorderMove) => void;
|
|
9
|
+
isFixed: (item: T, index: number) => boolean;
|
|
10
|
+
axis: ReorderAxis;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
announce: (event: ReorderEvent, index: number, position: number, total: number, list?: string) => void;
|
|
13
|
+
listId?: string;
|
|
14
|
+
listLabel?: string;
|
|
15
|
+
sortable: boolean;
|
|
16
|
+
maxItems?: number;
|
|
17
|
+
whenFull: ReorderWhenFull;
|
|
18
|
+
canDrag: (item: T, index: number) => boolean;
|
|
19
|
+
autoScroll: boolean;
|
|
20
|
+
autoScrollSpeed?: number;
|
|
21
|
+
}
|
|
22
|
+
export declare function useReorderDrag<T>(options: ReorderDragOptions<T>): {
|
|
23
|
+
listRef: import("react").RefObject<HTMLDivElement | null>;
|
|
24
|
+
activeKey: string | number | null;
|
|
25
|
+
press: (e: PointerEvent<HTMLElement>, index: number, kind: "handle" | "row") => void;
|
|
26
|
+
keyDown: (e: KeyboardEvent<HTMLElement>, index: number) => void;
|
|
27
|
+
move: (key: string | number, step: -1 | 1) => boolean;
|
|
28
|
+
};
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { TooltipProp } from '../../core/types';
|
|
3
|
+
export declare const hoverSurfaceIsWarm: () => boolean;
|
|
4
|
+
export declare const dismissActiveTooltip: () => void;
|
|
5
|
+
export declare const warmTooltips: () => void;
|
|
6
|
+
export declare const handOverToTooltip: () => void;
|
|
3
7
|
export interface UseTooltipResult {
|
|
4
8
|
triggerProps: {
|
|
5
9
|
onPointerEnter: (event: React.PointerEvent<HTMLElement>) => void;
|
|
@@ -20,6 +20,9 @@ export declare const DEFAULT_UI_LABELS: {
|
|
|
20
20
|
fixErrors: string;
|
|
21
21
|
submitFailed: string;
|
|
22
22
|
};
|
|
23
|
+
chipInput: {
|
|
24
|
+
removeTag: string;
|
|
25
|
+
};
|
|
23
26
|
input: {
|
|
24
27
|
clear: string;
|
|
25
28
|
showPassword: string;
|
|
@@ -38,6 +41,8 @@ export declare const DEFAULT_UI_LABELS: {
|
|
|
38
41
|
maxReached: string;
|
|
39
42
|
dragToReorder: string;
|
|
40
43
|
fixedPosition: string;
|
|
44
|
+
selectedOptions: string;
|
|
45
|
+
reorderInstructions: string;
|
|
41
46
|
};
|
|
42
47
|
suggest: {
|
|
43
48
|
placeholder: string;
|
|
@@ -50,6 +55,7 @@ export declare const DEFAULT_UI_LABELS: {
|
|
|
50
55
|
placeholder: string;
|
|
51
56
|
empty: string;
|
|
52
57
|
name: string;
|
|
58
|
+
trigger: string;
|
|
53
59
|
};
|
|
54
60
|
datePicker: {
|
|
55
61
|
clear: string;
|
|
@@ -57,6 +63,18 @@ export declare const DEFAULT_UI_LABELS: {
|
|
|
57
63
|
presetRanges: string;
|
|
58
64
|
previousMonth: string;
|
|
59
65
|
nextMonth: string;
|
|
66
|
+
previousYear: string;
|
|
67
|
+
nextYear: string;
|
|
68
|
+
previousYears: string;
|
|
69
|
+
nextYears: string;
|
|
70
|
+
month: string;
|
|
71
|
+
year: string;
|
|
72
|
+
from: string;
|
|
73
|
+
to: string;
|
|
74
|
+
rangeTo: string;
|
|
75
|
+
selected: string;
|
|
76
|
+
chooseMonth: string;
|
|
77
|
+
chooseYear: string;
|
|
60
78
|
presets: {
|
|
61
79
|
today: string;
|
|
62
80
|
yesterday: string;
|
|
@@ -99,15 +117,83 @@ export declare const DEFAULT_UI_LABELS: {
|
|
|
99
117
|
related: string;
|
|
100
118
|
hidden: (count: number) => string;
|
|
101
119
|
};
|
|
120
|
+
alert: {
|
|
121
|
+
dismiss: string;
|
|
122
|
+
};
|
|
123
|
+
navList: {
|
|
124
|
+
name: string;
|
|
125
|
+
};
|
|
126
|
+
pageProgress: {
|
|
127
|
+
name: string;
|
|
128
|
+
};
|
|
129
|
+
pagination: {
|
|
130
|
+
name: string;
|
|
131
|
+
first: string;
|
|
132
|
+
previous: string;
|
|
133
|
+
next: string;
|
|
134
|
+
last: string;
|
|
135
|
+
page: (n: string) => string;
|
|
136
|
+
pageOf: (n: string, count: string) => string;
|
|
137
|
+
range: (from: string, to: string, total: string) => string;
|
|
138
|
+
noRows: string;
|
|
139
|
+
perPage: string;
|
|
140
|
+
rowsPerPage: string;
|
|
141
|
+
};
|
|
142
|
+
link: {
|
|
143
|
+
opensInNewTab: string;
|
|
144
|
+
};
|
|
145
|
+
reorder: {
|
|
146
|
+
item: string;
|
|
147
|
+
handle: (item: string) => string;
|
|
148
|
+
instructions: string;
|
|
149
|
+
pickedUp: (item: string, position: number, total: number) => string;
|
|
150
|
+
moved: (item: string, position: number, total: number) => string;
|
|
151
|
+
dropped: (item: string, position: number, total: number) => string;
|
|
152
|
+
cancelled: (item: string, position: number, total: number) => string;
|
|
153
|
+
movedToList: (item: string, list: string, position: number, total: number) => string;
|
|
154
|
+
droppedInList: (item: string, list: string, position: number, total: number) => string;
|
|
155
|
+
};
|
|
102
156
|
image: {
|
|
103
157
|
image: string;
|
|
104
158
|
images: string;
|
|
105
159
|
add: string;
|
|
160
|
+
replace: string;
|
|
161
|
+
drop: string;
|
|
106
162
|
preparing: string;
|
|
107
163
|
remove: string;
|
|
108
164
|
previous: string;
|
|
109
165
|
next: string;
|
|
110
166
|
};
|
|
167
|
+
imageEditor: {
|
|
168
|
+
title: string;
|
|
169
|
+
apply: string;
|
|
170
|
+
cancel: string;
|
|
171
|
+
tools: string;
|
|
172
|
+
zoom: string;
|
|
173
|
+
pan: string;
|
|
174
|
+
rotateLeft: string;
|
|
175
|
+
rotateRight: string;
|
|
176
|
+
straighten: string;
|
|
177
|
+
flipHorizontal: string;
|
|
178
|
+
flipVertical: string;
|
|
179
|
+
reset: string;
|
|
180
|
+
ratios: string;
|
|
181
|
+
free: string;
|
|
182
|
+
imageAlt: string;
|
|
183
|
+
cropBox: string;
|
|
184
|
+
hintMove: string;
|
|
185
|
+
hintResize: string;
|
|
186
|
+
hintPan: string;
|
|
187
|
+
hintZoom: string;
|
|
188
|
+
status: (width: number, height: number) => string;
|
|
189
|
+
loading: string;
|
|
190
|
+
failedCors: string;
|
|
191
|
+
failedLoad: string;
|
|
192
|
+
failedRead: string;
|
|
193
|
+
failedRender: string;
|
|
194
|
+
imageTooSmall: (width: number, height: number) => string;
|
|
195
|
+
cropTooSmall: (width: number, height: number) => string;
|
|
196
|
+
};
|
|
111
197
|
};
|
|
112
198
|
export type UILabels = typeof DEFAULT_UI_LABELS & {
|
|
113
199
|
table?: Partial<DataTableLabels>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useMeasuredState<T extends object>(initial: T | null): [T | null, (next: T | null) => void];
|
|
@@ -23,12 +23,23 @@ export declare function endOfMonth(day: IsoDay): IsoDay;
|
|
|
23
23
|
export declare function weekdayOf(day: IsoDay): number;
|
|
24
24
|
export declare const isDayInRange: (day: IsoDay, min?: string, max?: string) => boolean;
|
|
25
25
|
export declare function clampDay(day: IsoDay, min?: string, max?: string): IsoDay;
|
|
26
|
+
export declare const DEFAULT_YEARS_BACK = 100;
|
|
27
|
+
export declare const DEFAULT_YEARS_AHEAD = 10;
|
|
28
|
+
export declare function yearOptions(opts: {
|
|
29
|
+
today: IsoDay;
|
|
30
|
+
shown: number;
|
|
31
|
+
back?: number;
|
|
32
|
+
ahead?: number;
|
|
33
|
+
min?: string;
|
|
34
|
+
max?: string;
|
|
35
|
+
}): number[];
|
|
26
36
|
export declare function normalizeTime(value: unknown): string;
|
|
27
37
|
export declare function splitDateValue(value: unknown): {
|
|
28
38
|
day: IsoDay;
|
|
29
39
|
time: string;
|
|
30
40
|
};
|
|
31
41
|
export declare function joinDateValue(day: IsoDay, time?: string): DateValue;
|
|
42
|
+
export declare function expandYear(yy: number, todayYear: number): number;
|
|
32
43
|
export declare function parseDateText(text: unknown, opts?: {
|
|
33
44
|
within?: IsoDay;
|
|
34
45
|
today?: IsoDay;
|
|
@@ -137,5 +148,6 @@ export declare function viewForRange(from: IsoDay, to: IsoDay, opts?: {
|
|
|
137
148
|
export declare function extendDateRange(range: Partial<DayRange> | null | undefined, day: IsoDay): DayRange;
|
|
138
149
|
export declare function calendarNames(locale?: string): {
|
|
139
150
|
months: string[];
|
|
151
|
+
monthsShort: string[];
|
|
140
152
|
weekdays: string[];
|
|
141
153
|
};
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import type { FieldLayout, FieldSize } from '../types';
|
|
1
|
+
import type { FieldLayout, FieldSize, FieldWidth } from '../types';
|
|
2
|
+
export declare function resolveFieldWidth(width: FieldWidth | undefined, layout: FieldLayout): {
|
|
3
|
+
classKey?: string;
|
|
4
|
+
length?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function warnFieldFullWidth(fullWidth: boolean | undefined): void;
|
|
2
7
|
export declare function buildFieldWrapperClassKeys(opts: {
|
|
3
8
|
layout: FieldLayout;
|
|
4
9
|
size?: FieldSize;
|
|
@@ -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 {};
|
|
@@ -6,6 +6,7 @@ export * from './collapsible.logic';
|
|
|
6
6
|
export * from './colorScheme';
|
|
7
7
|
export * from './columnOrder.logic';
|
|
8
8
|
export * from './datePicker.logic';
|
|
9
|
+
export * from './periodPicker.logic';
|
|
9
10
|
export * from './timeField.logic';
|
|
10
11
|
export * from './editableTable.logic';
|
|
11
12
|
export * from './fieldControl.logic';
|
|
@@ -21,8 +22,13 @@ export * from './popover.logic';
|
|
|
21
22
|
export * from './popupList.logic';
|
|
22
23
|
export * from './press.logic';
|
|
23
24
|
export * from './stepper.logic';
|
|
25
|
+
export * from './alert.logic';
|
|
26
|
+
export * from './pagination.logic';
|
|
27
|
+
export * from './commandPalette.logic';
|
|
28
|
+
export * from './pageProgress.logic';
|
|
24
29
|
export * from './quickAddGrid.logic';
|
|
25
30
|
export * from './radio.logic';
|
|
31
|
+
export * from './reorder.logic';
|
|
26
32
|
export * from './select.logic';
|
|
27
33
|
export * from './suggest.logic';
|
|
28
34
|
export * from './switch.logic';
|
|
@@ -36,3 +42,6 @@ export * from './tooltip.logic';
|
|
|
36
42
|
export * from './typography.logic';
|
|
37
43
|
export * from './uiScale.logic';
|
|
38
44
|
export * from './useMergeRefs';
|
|
45
|
+
export * from './inertProps';
|
|
46
|
+
export * from './imageTransform.logic';
|
|
47
|
+
export * from './imageEditor.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[];
|