hys-ui 0.2.0 → 0.4.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 +59 -0
- package/README.md +68 -59
- package/dist/components/HysAlert/HysAlert.vue.js +5 -54
- package/dist/components/HysAlert/HysAlert2.vue.js +159 -2
- package/dist/components/HysAnimatedNumber/HysAnimatedNumber.vue.js +5 -41
- package/dist/components/HysAnimatedNumber/HysAnimatedNumber2.vue.js +146 -2
- package/dist/components/HysAutocomplete/HysAutocomplete.vue.js +2 -2
- package/dist/components/HysAutocomplete/HysAutocomplete2.vue.js +285 -273
- package/dist/components/HysAvatarGroup/HysAvatarGroup.vue.js +1 -1
- package/dist/components/HysAvatarGroup/HysAvatarGroup2.vue.js +102 -98
- package/dist/components/HysBreadcrumb/HysBreadcrumb.vue.js +1 -1
- package/dist/components/HysBreadcrumb/HysBreadcrumb2.vue.js +273 -59
- package/dist/components/HysButton/HysButton.vue.js +2 -2
- package/dist/components/HysButton/HysButton2.vue.js +227 -60
- package/dist/components/HysButtonGroup/HysButtonGroup.vue.js +7 -0
- package/dist/components/HysButtonGroup/HysButtonGroup2.vue.js +51 -0
- package/dist/components/HysCalendar/HysCalendar.vue.js +3 -3
- package/dist/components/HysCalendar/HysCalendar2.vue.js +237 -225
- package/dist/components/HysCascader/HysCascader.vue.js +2 -2
- package/dist/components/HysCascader/HysCascader2.vue.js +337 -324
- package/dist/components/HysColorPicker/HysColorPanel.vue.js +7 -0
- package/dist/components/HysColorPicker/HysColorPanel2.vue.js +238 -0
- package/dist/components/HysColorPicker/HysColorPicker.vue.js +2 -2
- package/dist/components/HysColorPicker/HysColorPicker2.vue.js +239 -217
- package/dist/components/HysCommandPalette/HysCommandPalette.vue.js +90 -76
- package/dist/components/HysContextMenu/HysContextMenu.vue.js +5 -89
- package/dist/components/HysContextMenu/HysContextMenu2.vue.js +247 -2
- package/dist/components/HysContextMenu/HysMenuPanel.vue.js +7 -0
- package/dist/components/HysContextMenu/HysMenuPanel2.vue.js +208 -0
- package/dist/components/HysContextMenu/HysMenuSlot.js +10 -0
- package/dist/components/HysDataGrid/HysDataGrid.vue.js +1 -1
- package/dist/components/HysDataGrid/HysDataGrid2.vue.js +1008 -559
- package/dist/components/HysDatePicker/HysDatePicker.vue.js +2 -0
- package/dist/components/HysDatePicker/HysDatePickerControl.vue.js +2 -2
- package/dist/components/HysDatePicker/HysDatePickerControl2.vue.js +539 -526
- package/dist/components/HysDateRangePicker/HysDateRangePicker.vue.js +5 -3
- package/dist/components/HysDrawer/HysDrawer.vue.js +1 -1
- package/dist/components/HysDrawer/HysDrawer2.vue.js +434 -84
- package/dist/components/HysEmpty/HysEmpty.vue.js +5 -41
- package/dist/components/HysEmpty/HysEmpty2.vue.js +181 -2
- package/dist/components/HysFormItem/HysFormItem.vue.js +2 -2
- package/dist/components/HysFormItem/HysFormItem2.vue.js +171 -164
- package/dist/components/HysGantt/HysGantt.vue.js +1 -1
- package/dist/components/HysGantt/HysGantt2.vue.js +810 -795
- package/dist/components/HysMention/HysMention.vue.js +1 -1
- package/dist/components/HysMention/HysMention2.vue.js +1092 -142
- package/dist/components/HysModal/HysModal.vue.js +2 -2
- package/dist/components/HysModal/HysModal2.vue.js +491 -85
- package/dist/components/HysPagination/HysPagination.vue.js +2 -2
- package/dist/components/HysPagination/HysPagination2.vue.js +243 -180
- package/dist/components/HysPopover/HysPopover.vue.js +5 -91
- package/dist/components/HysPopover/HysPopover2.vue.js +120 -2
- package/dist/components/HysProgress/HysProgress.vue.js +2 -2
- package/dist/components/HysProgress/HysProgress2.vue.js +319 -52
- package/dist/components/HysSearch/HysSearch.vue.js +5 -82
- package/dist/components/HysSearch/HysSearch2.vue.js +176 -2
- package/dist/components/HysSelect/HysSelect.vue.js +2 -2
- package/dist/components/HysSelect/HysSelect2.vue.js +755 -590
- package/dist/components/HysSlider/HysSlider.vue.js +2 -2
- package/dist/components/HysSlider/HysSlider2.vue.js +192 -188
- package/dist/components/HysSlider/SliderTooltip.vue.js +2 -2
- package/dist/components/HysSlider/SliderTooltip2.vue.js +103 -89
- package/dist/components/HysSplitPane/HysSplitPane.vue.js +315 -58
- package/dist/components/HysSplitPane/HysSplitPane3.vue.js +5 -0
- package/dist/components/HysTable/HysTable.vue.js +2 -2
- package/dist/components/HysTable/HysTable2.vue.js +1416 -1127
- package/dist/components/HysTagInput/HysTagInput.vue.js +5 -82
- package/dist/components/HysTagInput/HysTagInput2.vue.js +396 -2
- package/dist/components/HysTimeline/HysTimeline.vue.js +2 -2
- package/dist/components/HysTimeline/HysTimeline2.vue.js +243 -24
- package/dist/components/HysTooltip/HysTooltip.vue.js +5 -64
- package/dist/components/HysTooltip/HysTooltip2.vue.js +110 -2
- package/dist/components/HysTour/HysTour.vue.js +291 -63
- package/dist/components/HysTour/HysTour3.vue.js +5 -0
- package/dist/components/HysTransfer/HysTransfer.vue.js +2 -2
- package/dist/components/HysTransfer/HysTransfer2.vue.js +237 -207
- package/dist/components/HysTransfer/HysTransferPanel.vue.js +1 -1
- package/dist/components/HysTransfer/HysTransferPanel2.vue.js +320 -271
- package/dist/components/HysTree/HysTree.vue.js +2 -2
- package/dist/components/HysTree/HysTree2.vue.js +195 -184
- package/dist/components/HysTreeSelect/HysTreeSelect.vue.js +4 -4
- package/dist/components/HysTreeSelect/HysTreeSelect2.vue.js +389 -377
- package/dist/components/HysUpload/HysUpload.vue.js +2 -2
- package/dist/components/HysUpload/HysUpload2.vue.js +459 -125
- package/dist/components/HysVirtualTable/HysVirtualTable.vue.js +5 -94
- package/dist/components/HysVirtualTable/HysVirtualTable2.vue.js +656 -2
- package/dist/composables/buttonGroup.js +12 -0
- package/dist/composables/color.js +97 -0
- package/dist/composables/dataGrid.js +68 -0
- package/dist/composables/drawer.js +17 -0
- package/dist/composables/feedback.js +14 -0
- package/dist/composables/floatingPosition.js +18 -0
- package/dist/composables/mentionDocument.js +79 -0
- package/dist/composables/mentionEditor.js +58 -0
- package/dist/composables/menu.js +96 -0
- package/dist/composables/modal.js +14 -0
- package/dist/composables/overlayManager.js +48 -18
- package/dist/composables/progress.js +94 -0
- package/dist/composables/selectOptions.js +44 -38
- package/dist/composables/splitPaneSizes.js +58 -0
- package/dist/composables/table.js +128 -105
- package/dist/composables/tagInput.js +16 -0
- package/dist/composables/timeline.js +19 -0
- package/dist/composables/transfer.js +19 -17
- package/dist/composables/upload.js +55 -0
- package/dist/composables/uploadRequest.js +58 -0
- package/dist/composables/useAlert.js +124 -0
- package/dist/composables/useColorPicker.js +402 -0
- package/dist/composables/useContextMenu.js +514 -0
- package/dist/composables/useDataGridRemote.js +67 -0
- package/dist/composables/useDialog.js +86 -43
- package/dist/composables/useDrawerPush.js +33 -0
- package/dist/composables/useDrawerResize.js +221 -0
- package/dist/composables/useFloating.js +118 -80
- package/dist/composables/useHysModal.js +185 -0
- package/dist/composables/useMentionCaret.js +81 -0
- package/dist/composables/useMentionList.js +81 -0
- package/dist/composables/useMentionModel.js +90 -0
- package/dist/composables/useMentionOptions.js +421 -0
- package/dist/composables/useModal.js +295 -0
- package/dist/composables/useModalInteraction.js +394 -0
- package/dist/composables/usePopupSurface.js +458 -0
- package/dist/composables/useSplitPaneDrag.js +52 -0
- package/dist/composables/useSplitPaneStorage.js +38 -0
- package/dist/composables/useTable.js +344 -312
- package/dist/composables/useTableSticky.js +79 -0
- package/dist/composables/useTagInput.js +313 -0
- package/dist/composables/useTourLayout.js +129 -0
- package/dist/composables/useTransferMotion.js +185 -0
- package/dist/composables/useUpload.js +472 -0
- package/dist/composables/useUploadModel.js +65 -0
- package/dist/composables/useUploadRequests.js +266 -0
- package/dist/composables/useVirtualTableLayout.js +277 -0
- package/dist/composables/virtualTable.js +43 -0
- package/dist/config.js +11 -11
- package/dist/index.js +175 -153
- package/dist/internal/MultiSplitPane.vue.js +305 -0
- package/dist/internal/MultiSplitPane2.vue.js +4 -0
- package/dist/internal/PopupReference.js +39 -0
- package/dist/internal/PopupSurfacePanel.vue.js +7 -0
- package/dist/internal/PopupSurfacePanel2.vue.js +92 -0
- package/dist/motion/PopupMotion.js +105 -0
- package/dist/motion/popup.js +10 -0
- package/dist/style.css +1 -1
- package/dist/types/components/HysAlert/HysAlert.vue.d.ts +32 -22
- package/dist/types/components/HysAnimatedNumber/HysAnimatedNumber.vue.d.ts +61 -7
- package/dist/types/components/HysAutocomplete/HysAutocomplete.vue.d.ts +7 -7
- package/dist/types/components/HysAvatarGroup/HysAvatarGroup.vue.d.ts +6 -1
- package/dist/types/components/HysBadge/HysBadge.vue.d.ts +3 -3
- package/dist/types/components/HysBreadcrumb/HysBreadcrumb.vue.d.ts +54 -31
- package/dist/types/components/HysButton/HysButton.vue.d.ts +82 -22
- package/dist/types/components/HysButtonGroup/HysButtonGroup.vue.d.ts +30 -0
- package/dist/types/components/HysCalendar/HysCalendar.vue.d.ts +3 -2
- package/dist/types/components/HysCascader/HysCascader.vue.d.ts +7 -7
- package/dist/types/components/HysCascader/HysCascaderColumn.vue.d.ts +2 -2
- package/dist/types/components/HysColorPicker/HysColorPanel.vue.d.ts +58 -0
- package/dist/types/components/HysColorPicker/HysColorPicker.vue.d.ts +63 -10
- package/dist/types/components/HysCommandPalette/HysCommandPalette.vue.d.ts +2 -1
- package/dist/types/components/HysContextMenu/HysContextMenu.vue.d.ts +50 -34
- package/dist/types/components/HysContextMenu/HysMenuPanel.vue.d.ts +79 -0
- package/dist/types/components/HysContextMenu/HysMenuSlot.d.ts +8 -0
- package/dist/types/components/HysDataGrid/HysDataGrid.vue.d.ts +65 -118
- package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +3 -3
- package/dist/types/components/HysDrawer/HysDrawer.vue.d.ts +92 -35
- package/dist/types/components/HysEmpty/HysEmpty.vue.d.ts +24 -20
- package/dist/types/components/HysFileManager/HysFileManager.vue.d.ts +2 -2
- package/dist/types/components/HysGantt/HysGantt.vue.d.ts +2 -1
- package/dist/types/components/HysMention/HysMention.vue.d.ts +91 -39
- package/dist/types/components/HysModal/HysModal.vue.d.ts +111 -34
- package/dist/types/components/HysNumberInput/HysNumberInput.vue.d.ts +2 -2
- package/dist/types/components/HysPagination/HysPagination.vue.d.ts +55 -4
- package/dist/types/components/HysPopover/HysPopover.vue.d.ts +41 -29
- package/dist/types/components/HysProgress/HysProgress.vue.d.ts +18 -24
- package/dist/types/components/HysRating/HysRating.vue.d.ts +1 -1
- package/dist/types/components/HysResizablePanel/HysResizablePanel.vue.d.ts +2 -2
- package/dist/types/components/HysSearch/HysSearch.vue.d.ts +45 -7
- package/dist/types/components/HysSelect/HysSelect.vue.d.ts +19 -5
- package/dist/types/components/HysSlider/HysSlider.vue.d.ts +5 -4
- package/dist/types/components/HysSlider/SliderTooltip.vue.d.ts +3 -1
- package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +125 -14
- package/dist/types/components/HysSteps/HysSteps.vue.d.ts +1 -1
- package/dist/types/components/HysTable/HysTable.vue.d.ts +1742 -5
- package/dist/types/components/HysTabs/HysTabs.vue.d.ts +2 -2
- package/dist/types/components/HysTagInput/HysTagInput.vue.d.ts +47 -25
- package/dist/types/components/HysTimeline/HysTimeline.vue.d.ts +19 -32
- package/dist/types/components/HysTooltip/HysTooltip.vue.d.ts +39 -19
- package/dist/types/components/HysTour/HysTour.vue.d.ts +46 -8
- package/dist/types/components/HysTransfer/HysTransfer.vue.d.ts +2 -2
- package/dist/types/components/HysTransfer/HysTransferPanel.vue.d.ts +5 -3
- package/dist/types/components/HysTree/HysTree.vue.d.ts +2 -2
- package/dist/types/components/HysUpload/HysUpload.vue.d.ts +55 -67
- package/dist/types/components/HysVirtualTable/HysVirtualTable.vue.d.ts +71 -40
- package/dist/types/composables/autocomplete.d.ts +3 -0
- package/dist/types/composables/avatar.d.ts +3 -0
- package/dist/types/composables/buttonGroup.d.ts +9 -0
- package/dist/types/composables/cascader.d.ts +3 -0
- package/dist/types/composables/color.d.ts +97 -0
- package/dist/types/composables/dataGrid.d.ts +100 -0
- package/dist/types/composables/datePicker.d.ts +3 -0
- package/dist/types/composables/drawer.d.ts +102 -0
- package/dist/types/composables/feedback.d.ts +98 -0
- package/dist/types/composables/floatingPosition.d.ts +14 -0
- package/dist/types/composables/formContext.d.ts +2 -0
- package/dist/types/composables/mention.d.ts +284 -0
- package/dist/types/composables/mentionDocument.d.ts +15 -0
- package/dist/types/composables/mentionEditor.d.ts +7 -0
- package/dist/types/composables/menu.d.ts +183 -0
- package/dist/types/composables/modal.d.ts +185 -0
- package/dist/types/composables/overlayManager.d.ts +7 -3
- package/dist/types/composables/popupSurface.d.ts +83 -0
- package/dist/types/composables/progress.d.ts +92 -0
- package/dist/types/composables/selectOptions.d.ts +7 -0
- package/dist/types/composables/splitPaneSizes.d.ts +11 -0
- package/dist/types/composables/table.d.ts +119 -6
- package/dist/types/composables/tagInput.d.ts +96 -0
- package/dist/types/composables/timeline.d.ts +82 -0
- package/dist/types/composables/tour.d.ts +68 -0
- package/dist/types/composables/transfer.d.ts +7 -0
- package/dist/types/composables/tree.d.ts +3 -0
- package/dist/types/composables/treeSelect.d.ts +3 -0
- package/dist/types/composables/upload.d.ts +202 -0
- package/dist/types/composables/uploadRequest.d.ts +3 -0
- package/dist/types/composables/useAlert.d.ts +21 -0
- package/dist/types/composables/useCascader.d.ts +1 -1
- package/dist/types/composables/useColorPicker.d.ts +101 -0
- package/dist/types/composables/useContextMenu.d.ts +81 -0
- package/dist/types/composables/useDataGridRemote.d.ts +15 -0
- package/dist/types/composables/useDialog.d.ts +16 -3
- package/dist/types/composables/useDrawerPush.d.ts +6 -0
- package/dist/types/composables/useDrawerResize.d.ts +27 -0
- package/dist/types/composables/useFloating.d.ts +22 -3
- package/dist/types/composables/useHysModal.d.ts +44 -0
- package/dist/types/composables/useMentionCaret.d.ts +6 -0
- package/dist/types/composables/useMentionList.d.ts +23 -0
- package/dist/types/composables/useMentionModel.d.ts +14 -0
- package/dist/types/composables/useMentionOptions.d.ts +26 -0
- package/dist/types/composables/useModal.d.ts +62 -0
- package/dist/types/composables/useModalInteraction.d.ts +27 -0
- package/dist/types/composables/usePopupSurface.d.ts +3341 -0
- package/dist/types/composables/useSplitPaneDrag.d.ts +14 -0
- package/dist/types/composables/useSplitPaneStorage.d.ts +4 -0
- package/dist/types/composables/useTable.d.ts +7 -3
- package/dist/types/composables/useTableSticky.d.ts +22 -0
- package/dist/types/composables/useTagInput.d.ts +66 -0
- package/dist/types/composables/useTourLayout.d.ts +33 -0
- package/dist/types/composables/useTransferMotion.d.ts +36 -0
- package/dist/types/composables/useUpload.d.ts +94 -0
- package/dist/types/composables/useUploadModel.d.ts +14 -0
- package/dist/types/composables/useUploadRequests.d.ts +38 -0
- package/dist/types/composables/useVirtualTableLayout.d.ts +51 -0
- package/dist/types/composables/virtualTable.d.ts +126 -0
- package/dist/types/config.d.ts +1 -0
- package/dist/types/index.d.ts +53 -3
- package/dist/types/internal/MultiSplitPane.vue.d.ts +54 -0
- package/dist/types/internal/PopupReference.d.ts +18 -0
- package/dist/types/internal/PopupSurfacePanel.vue.d.ts +37 -0
- package/dist/types/motion/PopupMotion.d.ts +59 -0
- package/dist/types/motion/popup.d.ts +12 -0
- package/package.json +3 -2
- package/dist/components/HysSplitPane/HysSplitPane2.vue.js +0 -4
- package/dist/components/HysTour/HysTour2.vue.js +0 -4
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface DragSettings {
|
|
2
|
+
vertical: boolean;
|
|
3
|
+
direction: 1 | -1;
|
|
4
|
+
available: number;
|
|
5
|
+
initial: number;
|
|
6
|
+
constrain: (value: number) => number;
|
|
7
|
+
}
|
|
8
|
+
export declare function useSplitPaneDrag(update: (value: number) => void, ended: (value: number, cancelled: boolean, notify: boolean) => void): {
|
|
9
|
+
start: (event: PointerEvent, settings: DragSettings) => boolean;
|
|
10
|
+
cancel: (event: PointerEvent) => void;
|
|
11
|
+
finish: (cancelled: boolean, notify?: boolean) => void;
|
|
12
|
+
active: () => boolean;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
import type { HysSplitPaneSizes } from "../components/HysSplitPane/HysSplitPane.vue";
|
|
3
|
+
export declare function readStoredPaneSizes(value: unknown): HysSplitPaneSizes | undefined;
|
|
4
|
+
export declare function useSplitPaneStorage<T>(key: () => string | undefined, state: Ref<T | undefined>, decode: (value: unknown) => T | undefined): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type HysTableProps, type HysTableKey, type HysTableColumn, type HysTableSort, type HysTableFilters, type HysTableFilterValue, type HysTableQuery, type TableNode } from "./table";
|
|
1
|
+
import { type HysTableProps, type HysTableKey, type HysTableColumn, type HysTableSort, type HysTableFilters, type HysTableFilterValue, type HysTableQuery, type HysTableRowSelectionOptions, type TableNode } from "./table";
|
|
2
2
|
export declare function useTable<T extends object>(props: HysTableProps<T>, columns: () => readonly HysTableColumn<T>[], hasExpand: () => boolean, emit: (name: string, ...args: any[]) => void): {
|
|
3
3
|
live: import("vue").Ref<boolean, boolean>;
|
|
4
4
|
busy: import("vue").ComputedRef<boolean>;
|
|
@@ -16,6 +16,7 @@ export declare function useTable<T extends object>(props: HysTableProps<T>, colu
|
|
|
16
16
|
eligible: (node: TableNode<T>) => boolean;
|
|
17
17
|
allSelected: import("vue").ComputedRef<boolean>;
|
|
18
18
|
someSelected: import("vue").ComputedRef<boolean>;
|
|
19
|
+
selectionPage: import("vue").ComputedRef<TableNode<T>[]>;
|
|
19
20
|
sorts: import("vue").ComputedRef<HysTableSort[]>;
|
|
20
21
|
filters: import("vue").ComputedRef<HysTableFilters>;
|
|
21
22
|
processed: import("vue").ComputedRef<{
|
|
@@ -26,7 +27,8 @@ export declare function useTable<T extends object>(props: HysTableProps<T>, colu
|
|
|
26
27
|
display: import("vue").ComputedRef<TableNode<T>[]>;
|
|
27
28
|
page: import("vue").ComputedRef<number>;
|
|
28
29
|
pageSize: import("vue").ComputedRef<number>;
|
|
29
|
-
|
|
30
|
+
pageCount: import("vue").ComputedRef<number>;
|
|
31
|
+
paginationTotal: import("vue").ComputedRef<number | undefined>;
|
|
30
32
|
pagination: import("vue").ComputedRef<import("./table").HysTablePagination>;
|
|
31
33
|
currentKey: import("vue").ComputedRef<HysTableKey | null>;
|
|
32
34
|
currentRow: import("vue").ComputedRef<T | undefined>;
|
|
@@ -40,16 +42,18 @@ export declare function useTable<T extends object>(props: HysTableProps<T>, colu
|
|
|
40
42
|
}>>;
|
|
41
43
|
loadErrors: import("vue").ShallowRef<Map<string, unknown>, Map<string, unknown>>;
|
|
42
44
|
canExpand: (node: TableNode<T>) => boolean;
|
|
45
|
+
nextSortOrder: (column: HysTableColumn<T>, direction?: "asc" | "desc") => import("./table").HysTableDirection | null;
|
|
43
46
|
toggleSort: (column: HysTableColumn<T>, direction?: "asc" | "desc") => void;
|
|
44
47
|
setSort: (value: HysTableSort | readonly HysTableSort[] | null) => void;
|
|
45
48
|
setFilter: (key: string, values: readonly HysTableFilterValue[]) => void;
|
|
46
49
|
clearFilter: (keys?: readonly string[]) => void;
|
|
47
50
|
requestPage: (n: number, action?: "page" | "pageSize") => void;
|
|
48
51
|
changeSize: (n: number) => void;
|
|
49
|
-
toggleRowSelection: (value: T | HysTableKey, checked?: boolean,
|
|
52
|
+
toggleRowSelection: (value: T | HysTableKey, checked?: boolean, options?: boolean | HysTableRowSelectionOptions) => Promise<boolean>;
|
|
50
53
|
toggleAllSelection: (checked?: boolean) => Promise<boolean>;
|
|
51
54
|
invertSelection: () => Promise<boolean>;
|
|
52
55
|
clearSelection: () => Promise<boolean>;
|
|
56
|
+
selectPage: (keys: readonly HysTableKey[], nodes?: TableNode<T>[]) => Promise<boolean>;
|
|
53
57
|
getSelectionRows: () => T[];
|
|
54
58
|
getHalfSelectionRows: () => T[];
|
|
55
59
|
setCurrentRow: (value?: T | HysTableKey | null) => Promise<boolean>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
import type { HysTableStickyOptions } from "./table";
|
|
3
|
+
export declare function useTableSticky(viewport: Ref<HTMLElement | undefined>, header: Readonly<Ref<HTMLTableSectionElement | undefined>>, options: () => boolean | HysTableStickyOptions | undefined): {
|
|
4
|
+
headerTop: Ref<number, number>;
|
|
5
|
+
bar: import("vue").ShallowRef<{
|
|
6
|
+
top: number;
|
|
7
|
+
left: number;
|
|
8
|
+
width: number;
|
|
9
|
+
contentWidth: number;
|
|
10
|
+
direction: "ltr" | "rtl";
|
|
11
|
+
} | undefined, {
|
|
12
|
+
top: number;
|
|
13
|
+
left: number;
|
|
14
|
+
width: number;
|
|
15
|
+
contentWidth: number;
|
|
16
|
+
direction: "ltr" | "rtl";
|
|
17
|
+
} | undefined>;
|
|
18
|
+
scrollbar: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
19
|
+
syncScrollbar: () => void;
|
|
20
|
+
scrollViewport: (event: Event) => void;
|
|
21
|
+
scrollbarHeight: number;
|
|
22
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
import { type HysTagInputProps, type HysTagInputReason } from "./tagInput";
|
|
3
|
+
export declare function useTagInput(props: HysTagInputProps, emit: (event: string, ...args: any[]) => void): {
|
|
4
|
+
attrs: import("vue").Attrs;
|
|
5
|
+
field: import("./formContext").HysFieldContext | undefined;
|
|
6
|
+
control: {
|
|
7
|
+
disabled: import("vue").ComputedRef<boolean>;
|
|
8
|
+
size: import("vue").ComputedRef<"sm" | "md" | "lg">;
|
|
9
|
+
label: import("vue").ComputedRef<string | undefined>;
|
|
10
|
+
};
|
|
11
|
+
element: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
12
|
+
input: Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
|
|
13
|
+
errorId: string;
|
|
14
|
+
draft: Ref<string, string>;
|
|
15
|
+
pending: Ref<boolean, boolean>;
|
|
16
|
+
composing: Ref<boolean, boolean>;
|
|
17
|
+
focused: Ref<boolean, boolean>;
|
|
18
|
+
values: import("vue").ComputedRef<string[]>;
|
|
19
|
+
status: import("vue").ComputedRef<import("./formContext").HysFormStatus | undefined>;
|
|
20
|
+
maximum: import("vue").ComputedRef<number>;
|
|
21
|
+
context: import("vue").ComputedRef<{
|
|
22
|
+
values: string[];
|
|
23
|
+
draft: string;
|
|
24
|
+
disabled: boolean;
|
|
25
|
+
readonly: boolean;
|
|
26
|
+
pending: boolean;
|
|
27
|
+
add: (value?: string | string[]) => Promise<boolean>;
|
|
28
|
+
clear: () => Promise<boolean>;
|
|
29
|
+
}>;
|
|
30
|
+
tags: import("vue").ComputedRef<{
|
|
31
|
+
value: string;
|
|
32
|
+
index: number;
|
|
33
|
+
key: string;
|
|
34
|
+
}[]>;
|
|
35
|
+
drag: Ref<{
|
|
36
|
+
index: number;
|
|
37
|
+
values: string[];
|
|
38
|
+
} | undefined, {
|
|
39
|
+
index: number;
|
|
40
|
+
values: string[];
|
|
41
|
+
} | undefined>;
|
|
42
|
+
drop: Ref<{
|
|
43
|
+
index: number;
|
|
44
|
+
after: boolean;
|
|
45
|
+
} | undefined, {
|
|
46
|
+
index: number;
|
|
47
|
+
after: boolean;
|
|
48
|
+
} | undefined>;
|
|
49
|
+
add: (value?: string | string[], reason?: HysTagInputReason) => Promise<boolean>;
|
|
50
|
+
remove: (index: number) => Promise<boolean>;
|
|
51
|
+
clear: () => Promise<boolean>;
|
|
52
|
+
move: (from: number, to: number) => Promise<boolean>;
|
|
53
|
+
focus: (options?: FocusOptions) => void;
|
|
54
|
+
nativeInput: (event: Event) => void;
|
|
55
|
+
compositionEnd: (event: CompositionEvent) => void;
|
|
56
|
+
pasted: (event: ClipboardEvent) => void;
|
|
57
|
+
key: (event: KeyboardEvent) => void;
|
|
58
|
+
tagKey: (event: KeyboardEvent, index: number) => Promise<void>;
|
|
59
|
+
focusIn: (event: FocusEvent) => void;
|
|
60
|
+
focusOut: (event: FocusEvent, extra?: HTMLElement) => void;
|
|
61
|
+
stopDrag: () => void;
|
|
62
|
+
dragStart: (event: DragEvent, index: number) => void;
|
|
63
|
+
dragOver: (event: DragEvent, index: number) => void;
|
|
64
|
+
dragDrop: (event: DragEvent) => Promise<void>;
|
|
65
|
+
setDraft: (value: string) => void;
|
|
66
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
import type { HysTourAppearance, HysTourTarget } from "./tour";
|
|
3
|
+
export declare function useTourLayout(shown: Readonly<Ref<boolean>>, panel: Readonly<Ref<HTMLElement | undefined>>, settings: Readonly<Ref<HysTourAppearance>>, targetInput: Readonly<Ref<HysTourTarget | undefined>>): {
|
|
4
|
+
view: import("vue").ShallowRef<{
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
}, {
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
}>;
|
|
11
|
+
bounds: import("vue").ShallowRef<DOMRect | undefined, DOMRect | undefined>;
|
|
12
|
+
card: import("vue").ShallowRef<{
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
placement: import("./useFloating").Placement;
|
|
18
|
+
} | undefined, {
|
|
19
|
+
width: number;
|
|
20
|
+
height: number;
|
|
21
|
+
x: number;
|
|
22
|
+
y: number;
|
|
23
|
+
placement: import("./useFloating").Placement;
|
|
24
|
+
} | undefined>;
|
|
25
|
+
arrow: import("vue").ShallowRef<{
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
} | undefined, {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
} | undefined>;
|
|
32
|
+
path: import("vue").ComputedRef<string>;
|
|
33
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
import { type HysTransferKey, type HysTransferSide } from "./transfer";
|
|
3
|
+
interface Options {
|
|
4
|
+
animated?: boolean;
|
|
5
|
+
moveAnimation?: "flight" | "fade" | "none";
|
|
6
|
+
moveDuration?: number;
|
|
7
|
+
maxAnimatedItems?: number;
|
|
8
|
+
highlightOnArrival?: boolean;
|
|
9
|
+
}
|
|
10
|
+
type Box = {
|
|
11
|
+
left: number;
|
|
12
|
+
top: number;
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
right: number;
|
|
16
|
+
bottom: number;
|
|
17
|
+
};
|
|
18
|
+
interface Sample {
|
|
19
|
+
token: string;
|
|
20
|
+
label: string;
|
|
21
|
+
box: Box;
|
|
22
|
+
}
|
|
23
|
+
interface Snapshot {
|
|
24
|
+
generation: number;
|
|
25
|
+
direction: HysTransferSide;
|
|
26
|
+
count: number;
|
|
27
|
+
samples: Sample[];
|
|
28
|
+
}
|
|
29
|
+
/** Bounded visual feedback after an accepted move; never measures every data row. */
|
|
30
|
+
export declare function useTransferMotion(root: Ref<HTMLElement | undefined>, options: Options): {
|
|
31
|
+
capture: (direction: HysTransferSide, keys: readonly HysTransferKey[]) => Snapshot | undefined;
|
|
32
|
+
play: (snapshot: Snapshot | undefined) => void;
|
|
33
|
+
stop: () => void;
|
|
34
|
+
cancelPlaying: () => void;
|
|
35
|
+
};
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
import { type HysUploadProps, type HysUploadItem, type HysUploadFileContext, type HysUploadSlotContext, type HysUploadStatus } from "./upload";
|
|
3
|
+
export declare function useUpload<T extends HysUploadItem>(props: HysUploadProps<T>, emit: (name: string, ...args: any[]) => void): {
|
|
4
|
+
element: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
5
|
+
zone: Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
6
|
+
input: Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
|
|
7
|
+
active: Ref<boolean, boolean>;
|
|
8
|
+
available: import("vue").ComputedRef<boolean>;
|
|
9
|
+
disabled: import("vue").ComputedRef<boolean>;
|
|
10
|
+
size: import("vue").ComputedRef<"sm" | "md" | "lg">;
|
|
11
|
+
label: import("vue").ComputedRef<string | undefined>;
|
|
12
|
+
field: import("./formContext").HysFieldContext | undefined;
|
|
13
|
+
checking: Ref<boolean, boolean>;
|
|
14
|
+
dragging: Ref<boolean, boolean>;
|
|
15
|
+
lastError: Ref<string, string>;
|
|
16
|
+
words: import("vue").ComputedRef<{
|
|
17
|
+
choose: string;
|
|
18
|
+
drag: string;
|
|
19
|
+
checking: string;
|
|
20
|
+
localHint: string;
|
|
21
|
+
uploadHint: string;
|
|
22
|
+
files: string;
|
|
23
|
+
ready: string;
|
|
24
|
+
uploading: string;
|
|
25
|
+
success: string;
|
|
26
|
+
error: string;
|
|
27
|
+
queued: string;
|
|
28
|
+
removing: string;
|
|
29
|
+
submit: string;
|
|
30
|
+
abort: string;
|
|
31
|
+
retry: string;
|
|
32
|
+
clear: string;
|
|
33
|
+
remove: string;
|
|
34
|
+
preview: string;
|
|
35
|
+
download: string;
|
|
36
|
+
empty: string;
|
|
37
|
+
}>;
|
|
38
|
+
files: import("vue").ComputedRef<T[]>;
|
|
39
|
+
requests: {
|
|
40
|
+
configured: import("vue").ComputedRef<boolean>;
|
|
41
|
+
queue: import("vue").ShallowRef<string[], string[]>;
|
|
42
|
+
tasks: import("vue").ShallowRef<Map<string, {
|
|
43
|
+
uid: string;
|
|
44
|
+
raw: File;
|
|
45
|
+
controller: AbortController;
|
|
46
|
+
phase: "preparing" | "running" | "finishing";
|
|
47
|
+
stop?: (() => void) | undefined;
|
|
48
|
+
percentage: number;
|
|
49
|
+
}>, Map<string, {
|
|
50
|
+
uid: string;
|
|
51
|
+
raw: File;
|
|
52
|
+
controller: AbortController;
|
|
53
|
+
phase: "preparing" | "running" | "finishing";
|
|
54
|
+
stop?: (() => void) | undefined;
|
|
55
|
+
percentage: number;
|
|
56
|
+
}>>;
|
|
57
|
+
uploading: import("vue").ComputedRef<number>;
|
|
58
|
+
queued: import("vue").ComputedRef<number>;
|
|
59
|
+
activeKeys: import("vue").ComputedRef<Set<string>>;
|
|
60
|
+
queuedKeys: import("vue").ComputedRef<Set<string>>;
|
|
61
|
+
submit: (uid?: string) => Promise<number>;
|
|
62
|
+
retry: (uid: string) => Promise<boolean>;
|
|
63
|
+
abort: (uid?: string, reason?: string, reset?: boolean) => number;
|
|
64
|
+
cleanup: () => void;
|
|
65
|
+
};
|
|
66
|
+
removing: import("vue").ShallowRef<Set<string>, Set<string>>;
|
|
67
|
+
preview: import("vue").ShallowRef<{
|
|
68
|
+
file: T;
|
|
69
|
+
url: string;
|
|
70
|
+
} | undefined, {
|
|
71
|
+
file: T;
|
|
72
|
+
url: string;
|
|
73
|
+
} | undefined>;
|
|
74
|
+
closePreview: () => void;
|
|
75
|
+
context: (file: T) => HysUploadFileContext<T>;
|
|
76
|
+
scope: import("vue").ComputedRef<HysUploadSlotContext<T>>;
|
|
77
|
+
canPreview: (file: T) => boolean;
|
|
78
|
+
canDownload: (file: T) => boolean;
|
|
79
|
+
open: (event?: Event) => void;
|
|
80
|
+
click: (event: MouseEvent) => void;
|
|
81
|
+
keys: (event: KeyboardEvent) => void;
|
|
82
|
+
drop: (event: DragEvent) => void;
|
|
83
|
+
dragEnter: (event: DragEvent) => void;
|
|
84
|
+
dragOver: (event: DragEvent) => void;
|
|
85
|
+
dragLeave: () => void;
|
|
86
|
+
paste: (event: ClipboardEvent) => void;
|
|
87
|
+
blur: (event: FocusEvent) => void;
|
|
88
|
+
addFiles: (inputFiles: readonly File[]) => Promise<T[]>;
|
|
89
|
+
remove: (file: T | string) => Promise<boolean>;
|
|
90
|
+
clearFiles: (statuses?: readonly HysUploadStatus[]) => Promise<boolean>;
|
|
91
|
+
previewFile: (file: T | string) => Promise<boolean>;
|
|
92
|
+
download: (file: T | string) => Promise<boolean>;
|
|
93
|
+
focus: () => void;
|
|
94
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { HysUploadProps, HysUploadItem, HysUploadChangeType } from "./upload";
|
|
2
|
+
export declare function useUploadModel<T extends HysUploadItem>(props: HysUploadProps<T>, emit: (name: string, ...args: any[]) => void, live: () => boolean): {
|
|
3
|
+
files: import("vue").ComputedRef<T[]>;
|
|
4
|
+
controlled: import("vue").ComputedRef<boolean>;
|
|
5
|
+
commit: (change: (current: readonly T[]) => T[] | undefined, type: HysUploadChangeType, options?: {
|
|
6
|
+
force?: boolean;
|
|
7
|
+
allowInactive?: boolean;
|
|
8
|
+
guard?: () => boolean;
|
|
9
|
+
accepted?: () => void;
|
|
10
|
+
}) => Promise<boolean>;
|
|
11
|
+
cancel: () => void;
|
|
12
|
+
resetLocal: () => void;
|
|
13
|
+
interrupt: (keys: ReadonlySet<string>) => void;
|
|
14
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
import { type HysUploadItem, type HysUploadProps, type HysUploadChangeType } from "./upload";
|
|
3
|
+
export declare function useUploadRequests<T extends HysUploadItem>(options: {
|
|
4
|
+
props: HysUploadProps<T>;
|
|
5
|
+
files: Readonly<Ref<readonly T[]>>;
|
|
6
|
+
available: Readonly<Ref<boolean>>;
|
|
7
|
+
live: () => boolean;
|
|
8
|
+
emit: (name: string, ...args: any[]) => void;
|
|
9
|
+
prepare: (file: T, signal: AbortSignal) => Promise<Blob | undefined>;
|
|
10
|
+
forget: (uid: string) => void;
|
|
11
|
+
patch: (changes: Map<string, Partial<T>>, type: HysUploadChangeType, guard?: (uid?: string) => boolean) => Promise<boolean>;
|
|
12
|
+
}): {
|
|
13
|
+
configured: import("vue").ComputedRef<boolean>;
|
|
14
|
+
queue: import("vue").ShallowRef<string[], string[]>;
|
|
15
|
+
tasks: import("vue").ShallowRef<Map<string, {
|
|
16
|
+
uid: string;
|
|
17
|
+
raw: File;
|
|
18
|
+
controller: AbortController;
|
|
19
|
+
phase: "preparing" | "running" | "finishing";
|
|
20
|
+
stop?: () => void;
|
|
21
|
+
percentage: number;
|
|
22
|
+
}>, Map<string, {
|
|
23
|
+
uid: string;
|
|
24
|
+
raw: File;
|
|
25
|
+
controller: AbortController;
|
|
26
|
+
phase: "preparing" | "running" | "finishing";
|
|
27
|
+
stop?: () => void;
|
|
28
|
+
percentage: number;
|
|
29
|
+
}>>;
|
|
30
|
+
uploading: import("vue").ComputedRef<number>;
|
|
31
|
+
queued: import("vue").ComputedRef<number>;
|
|
32
|
+
activeKeys: import("vue").ComputedRef<Set<string>>;
|
|
33
|
+
queuedKeys: import("vue").ComputedRef<Set<string>>;
|
|
34
|
+
submit: (uid?: string) => Promise<number>;
|
|
35
|
+
retry: (uid: string) => Promise<boolean>;
|
|
36
|
+
abort: (uid?: string, reason?: string, reset?: boolean) => number;
|
|
37
|
+
cleanup: () => void;
|
|
38
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type CSSProperties } from "vue";
|
|
2
|
+
import { type HysVirtualTableAlign, type HysVirtualTableColumn, type HysVirtualTableProps, type HysVirtualTableRange, type HysVirtualTableScroll } from "./virtualTable";
|
|
3
|
+
export interface VirtualColumn<T extends object> {
|
|
4
|
+
token: string;
|
|
5
|
+
column?: HysVirtualTableColumn<T>;
|
|
6
|
+
index: number;
|
|
7
|
+
width: number;
|
|
8
|
+
offset: number;
|
|
9
|
+
left?: number;
|
|
10
|
+
right?: number;
|
|
11
|
+
selection?: boolean;
|
|
12
|
+
gap?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function useVirtualTableLayout<T extends object>(props: HysVirtualTableProps<T>, count: () => number, lastKey: () => string | undefined, report: {
|
|
15
|
+
scroll: (state: HysVirtualTableScroll) => void;
|
|
16
|
+
range: (state: HysVirtualTableRange) => void;
|
|
17
|
+
end: (state: {
|
|
18
|
+
distance: number;
|
|
19
|
+
total: number;
|
|
20
|
+
}) => void;
|
|
21
|
+
}): {
|
|
22
|
+
viewport: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
23
|
+
live: import("vue").Ref<boolean, boolean>;
|
|
24
|
+
rowHeight: import("vue").ComputedRef<number>;
|
|
25
|
+
headerHeight: import("vue").ComputedRef<number>;
|
|
26
|
+
topHeight: import("vue").ComputedRef<number>;
|
|
27
|
+
bodyHeight: import("vue").ComputedRef<number>;
|
|
28
|
+
rootStyle: import("vue").ComputedRef<{
|
|
29
|
+
width: string | undefined;
|
|
30
|
+
}>;
|
|
31
|
+
viewportStyle: import("vue").ComputedRef<{
|
|
32
|
+
height: string;
|
|
33
|
+
}>;
|
|
34
|
+
columns: import("vue").ComputedRef<VirtualColumn<T>[]>;
|
|
35
|
+
columnMap: import("vue").ComputedRef<Map<string, VirtualColumn<T>>>;
|
|
36
|
+
renderColumns: import("vue").ComputedRef<VirtualColumn<T>[]>;
|
|
37
|
+
contentWidth: import("vue").ComputedRef<number>;
|
|
38
|
+
scrollTop: import("vue").Ref<number, number>;
|
|
39
|
+
scrollLeft: import("vue").Ref<number, number>;
|
|
40
|
+
range: import("vue").ComputedRef<HysVirtualTableRange>;
|
|
41
|
+
scrollTo: (options: {
|
|
42
|
+
top?: number;
|
|
43
|
+
left?: number;
|
|
44
|
+
behavior?: ScrollBehavior;
|
|
45
|
+
}) => void;
|
|
46
|
+
scrollToRow: (index: number, align?: HysVirtualTableAlign) => void;
|
|
47
|
+
scrollToColumn: (key: string, align?: HysVirtualTableAlign) => boolean;
|
|
48
|
+
onScroll: () => void;
|
|
49
|
+
remeasure: () => void;
|
|
50
|
+
};
|
|
51
|
+
export declare function virtualColumnStyle<T extends object>(cell: VirtualColumn<T>): CSSProperties;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import type { CSSProperties, HTMLAttributes, VNodeChild } from "vue";
|
|
2
|
+
export type HysVirtualTableKey = string | number;
|
|
3
|
+
export type HysVirtualTableAlign = "start" | "center" | "end" | "nearest";
|
|
4
|
+
export interface HysVirtualTableSort {
|
|
5
|
+
key: string;
|
|
6
|
+
direction: "asc" | "desc";
|
|
7
|
+
}
|
|
8
|
+
export interface HysVirtualTableCell<T extends object = Record<string, unknown>> {
|
|
9
|
+
row: T;
|
|
10
|
+
column: HysVirtualTableColumn<T>;
|
|
11
|
+
value: unknown;
|
|
12
|
+
rowIndex: number;
|
|
13
|
+
columnIndex: number;
|
|
14
|
+
}
|
|
15
|
+
export interface HysVirtualTableColumn<T extends object = any> {
|
|
16
|
+
key: string;
|
|
17
|
+
label: string;
|
|
18
|
+
width?: number;
|
|
19
|
+
minWidth?: number;
|
|
20
|
+
maxWidth?: number;
|
|
21
|
+
dataIndex?: string | readonly (string | number)[];
|
|
22
|
+
valueGetter?: (row: T, index: number) => unknown;
|
|
23
|
+
formatter?: (context: HysVirtualTableCell<T>) => VNodeChild;
|
|
24
|
+
fixed?: boolean | "left" | "right";
|
|
25
|
+
hidden?: boolean;
|
|
26
|
+
align?: "left" | "center" | "right";
|
|
27
|
+
headerAlign?: "left" | "center" | "right";
|
|
28
|
+
sortable?: boolean | "custom";
|
|
29
|
+
sorter?: (a: T, b: T) => number;
|
|
30
|
+
className?: string;
|
|
31
|
+
headerClassName?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface HysVirtualTableRange {
|
|
34
|
+
start: number;
|
|
35
|
+
end: number;
|
|
36
|
+
visibleStart: number;
|
|
37
|
+
visibleEnd: number;
|
|
38
|
+
columnKeys: string[];
|
|
39
|
+
}
|
|
40
|
+
export interface HysVirtualTableScroll {
|
|
41
|
+
scrollTop: number;
|
|
42
|
+
scrollLeft: number;
|
|
43
|
+
direction: "up" | "down" | "left" | "right" | null;
|
|
44
|
+
}
|
|
45
|
+
export interface HysVirtualTableProps<T extends object> {
|
|
46
|
+
rows: readonly T[];
|
|
47
|
+
columns: readonly HysVirtualTableColumn<T>[];
|
|
48
|
+
rowKey?: string | ((row: T, index: number) => HysVirtualTableKey);
|
|
49
|
+
rowHeight?: number;
|
|
50
|
+
height?: number | string;
|
|
51
|
+
width?: number | string;
|
|
52
|
+
headerHeight?: number;
|
|
53
|
+
showHeader?: boolean;
|
|
54
|
+
fit?: boolean;
|
|
55
|
+
overscan?: number;
|
|
56
|
+
virtualColumns?: boolean;
|
|
57
|
+
columnOverscan?: number;
|
|
58
|
+
loading?: boolean;
|
|
59
|
+
loadingMode?: "replace" | "overlay";
|
|
60
|
+
loadingText?: string;
|
|
61
|
+
emptyText?: string;
|
|
62
|
+
disabled?: boolean;
|
|
63
|
+
fixedRows?: readonly T[];
|
|
64
|
+
striped?: boolean;
|
|
65
|
+
bordered?: boolean;
|
|
66
|
+
sortState?: HysVirtualTableSort | null;
|
|
67
|
+
defaultSort?: HysVirtualTableSort | null;
|
|
68
|
+
selectable?: boolean | ((row: T, index: number) => boolean);
|
|
69
|
+
selectedRowKeys?: readonly HysVirtualTableKey[];
|
|
70
|
+
defaultSelectedRowKeys?: readonly HysVirtualTableKey[];
|
|
71
|
+
selectionType?: "checkbox" | "radio";
|
|
72
|
+
selectionWidth?: number;
|
|
73
|
+
reserveSelection?: boolean;
|
|
74
|
+
selectOnClick?: boolean;
|
|
75
|
+
currentRowKey?: HysVirtualTableKey | null;
|
|
76
|
+
defaultCurrentRowKey?: HysVirtualTableKey | null;
|
|
77
|
+
highlightCurrentRow?: boolean;
|
|
78
|
+
keyboard?: boolean;
|
|
79
|
+
endReachedThreshold?: number;
|
|
80
|
+
ariaLabel?: string;
|
|
81
|
+
rowClassName?: string | ((row: T, index: number) => string);
|
|
82
|
+
rowStyle?: CSSProperties | ((row: T, index: number) => CSSProperties);
|
|
83
|
+
cellClassName?: string | ((context: HysVirtualTableCell<T>) => string);
|
|
84
|
+
cellStyle?: CSSProperties | ((context: HysVirtualTableCell<T>) => CSSProperties);
|
|
85
|
+
customRow?: (row: T, index: number) => HTMLAttributes;
|
|
86
|
+
customCell?: (context: HysVirtualTableCell<T>) => HTMLAttributes;
|
|
87
|
+
customHeaderCell?: (column: HysVirtualTableColumn<T>, index: number) => HTMLAttributes;
|
|
88
|
+
}
|
|
89
|
+
export interface HysVirtualTableInstance<T extends object = Record<string, unknown>> {
|
|
90
|
+
readonly element: HTMLElement | undefined;
|
|
91
|
+
readonly viewport: HTMLElement | undefined;
|
|
92
|
+
readonly scrollTop: number;
|
|
93
|
+
readonly scrollLeft: number;
|
|
94
|
+
readonly range: HysVirtualTableRange;
|
|
95
|
+
readonly selectedRowKeys: HysVirtualTableKey[];
|
|
96
|
+
readonly sortState: HysVirtualTableSort | null;
|
|
97
|
+
scrollTo(options: {
|
|
98
|
+
top?: number;
|
|
99
|
+
left?: number;
|
|
100
|
+
behavior?: ScrollBehavior;
|
|
101
|
+
}): void;
|
|
102
|
+
scrollToRow(index: number, align?: HysVirtualTableAlign): void;
|
|
103
|
+
scrollToKey(key: HysVirtualTableKey, align?: HysVirtualTableAlign): boolean;
|
|
104
|
+
scrollToColumn(key: string, align?: HysVirtualTableAlign): boolean;
|
|
105
|
+
focusCell(index: number, key?: string): Promise<boolean>;
|
|
106
|
+
setSort(sort: HysVirtualTableSort | null): Promise<boolean>;
|
|
107
|
+
clearSelection(): Promise<boolean>;
|
|
108
|
+
toggleRowSelection(key: HysVirtualTableKey, selected?: boolean): Promise<boolean>;
|
|
109
|
+
selectAll(selected?: boolean): Promise<boolean>;
|
|
110
|
+
setCurrentRow(key: HysVirtualTableKey | null): Promise<boolean>;
|
|
111
|
+
getRow(index: number): T | undefined;
|
|
112
|
+
remeasure(): void;
|
|
113
|
+
}
|
|
114
|
+
export declare const virtualFinite: (value: unknown, fallback: number, min?: number, max?: number) => number;
|
|
115
|
+
export declare const virtualKey: (key: unknown) => key is HysVirtualTableKey;
|
|
116
|
+
export declare const virtualToken: (key: HysVirtualTableKey) => string;
|
|
117
|
+
export declare function virtualValue<T extends object>(row: T, column: HysVirtualTableColumn<T>, index: number): unknown;
|
|
118
|
+
export interface VirtualEntry<T extends object> {
|
|
119
|
+
row: T;
|
|
120
|
+
key: HysVirtualTableKey;
|
|
121
|
+
token: string;
|
|
122
|
+
sourceIndex: number;
|
|
123
|
+
valid: boolean;
|
|
124
|
+
}
|
|
125
|
+
export declare function virtualEntries<T extends object>(rows: readonly T[], rowKey: HysVirtualTableProps<T>["rowKey"]): VirtualEntry<T>[];
|
|
126
|
+
export declare function virtualAligned(start: number, size: number, scroll: number, extent: number, align: HysVirtualTableAlign): number;
|
package/dist/types/config.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export type HysMotion = 'full' | 'subtle' | 'off';
|
|
|
4
4
|
export interface HysConfig {
|
|
5
5
|
theme?: MaybeRefOrGetter<HysTheme>;
|
|
6
6
|
motion?: MaybeRefOrGetter<HysMotion>;
|
|
7
|
+
buttonAutoInsertSpace?: MaybeRefOrGetter<boolean>;
|
|
7
8
|
}
|
|
8
9
|
/** Call in a component setup. Reactive options are inherited by children and teleported panels. */
|
|
9
10
|
export declare function provideHysConfig(config: HysConfig): void;
|