hys-ui 0.1.0 → 0.2.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 +137 -1
- package/README.md +18 -6
- package/dist/components/HysAccordion/HysAccordion.vue.js +1 -1
- package/dist/components/HysAccordion/HysAccordion2.vue.js +181 -47
- package/dist/components/HysAlert/HysAlert.vue.js +14 -14
- package/dist/components/HysAnimatedNumber/HysAnimatedNumber.vue.js +23 -20
- package/dist/components/HysAutocomplete/HysAutocomplete.vue.js +7 -0
- package/dist/components/HysAutocomplete/HysAutocomplete2.vue.js +627 -0
- package/dist/components/HysAvatar/HysAvatar.vue.js +5 -35
- package/dist/components/HysAvatar/HysAvatar2.vue.js +221 -2
- package/dist/components/HysAvatarGroup/HysAvatarGroup.vue.js +7 -0
- package/dist/components/HysAvatarGroup/HysAvatarGroup2.vue.js +252 -0
- package/dist/components/HysBadge/HysBadge.vue.js +2 -2
- package/dist/components/HysBadge/HysBadge2.vue.js +154 -26
- package/dist/components/HysBreadcrumb/HysBreadcrumb.vue.js +5 -38
- package/dist/components/HysBreadcrumb/HysBreadcrumb2.vue.js +74 -2
- package/dist/components/HysButton/HysButton.vue.js +2 -2
- package/dist/components/HysButton/HysButton2.vue.js +29 -28
- package/dist/components/HysCalendar/HysCalendar.vue.js +5 -84
- package/dist/components/HysCalendar/HysCalendar2.vue.js +803 -2
- package/dist/components/HysCard/HysCard.vue.js +1 -1
- package/dist/components/HysCard/HysCard2.vue.js +177 -44
- package/dist/components/HysCascader/HysCascader.vue.js +5 -182
- package/dist/components/HysCascader/HysCascader2.vue.js +760 -2
- package/dist/components/HysCascader/HysCascaderColumn.vue.js +7 -0
- package/dist/components/HysCascader/HysCascaderColumn2.vue.js +232 -0
- package/dist/components/HysCheckbox/HysCheckbox.vue.js +5 -39
- package/dist/components/HysCheckbox/HysCheckbox2.vue.js +200 -2
- package/dist/components/HysCheckboxGroup/HysCheckboxGroup.vue.js +7 -0
- package/dist/components/HysCheckboxGroup/HysCheckboxGroup2.vue.js +237 -0
- package/dist/components/HysColorPicker/HysColorPicker.vue.js +2 -2
- package/dist/components/HysColorPicker/HysColorPicker2.vue.js +107 -106
- package/dist/components/HysCommandPalette/HysCommandPalette.vue.js +52 -51
- package/dist/components/HysCommentEditor/HysCommentEditor.vue.js +17 -17
- package/dist/components/HysDataGrid/HysDataGrid.vue.js +1 -1
- package/dist/components/HysDataGrid/HysDataGrid2.vue.js +397 -390
- package/dist/components/HysDatePicker/HysDatePicker.vue.js +268 -139
- package/dist/components/HysDatePicker/HysDatePickerControl.vue.js +7 -0
- package/dist/components/HysDatePicker/HysDatePickerControl2.vue.js +807 -0
- package/dist/components/HysDatePicker/HysDatePickerPanel.vue.js +7 -0
- package/dist/components/HysDatePicker/HysDatePickerPanel2.vue.js +357 -0
- package/dist/components/HysDateRangePicker/HysDateRangePicker.vue.js +268 -158
- package/dist/components/HysDivider/HysDivider.vue.js +2 -2
- package/dist/components/HysDivider/HysDivider2.vue.js +33 -13
- package/dist/components/HysDrawer/HysDrawer.vue.js +1 -1
- package/dist/components/HysDrawer/HysDrawer2.vue.js +55 -54
- package/dist/components/HysFileManager/HysFileManager.vue.js +5 -63
- package/dist/components/HysFileManager/HysFileManager2.vue.js +86 -2
- package/dist/components/HysForm/HysForm.vue.js +3 -3
- package/dist/components/HysForm/HysForm2.vue.js +580 -92
- package/dist/components/HysFormItem/HysFormItem.vue.js +5 -69
- package/dist/components/HysFormItem/HysFormItem2.vue.js +521 -2
- package/dist/components/HysGantt/HysGantt.vue.js +5 -264
- package/dist/components/HysGantt/HysGantt2.vue.js +1399 -2
- package/dist/components/HysInput/HysInput.vue.js +2 -2
- package/dist/components/HysInput/HysInput2.vue.js +468 -120
- package/dist/components/HysMention/HysMention.vue.js +2 -2
- package/dist/components/HysMention/HysMention2.vue.js +89 -88
- package/dist/components/HysModal/HysModal.vue.js +2 -2
- package/dist/components/HysModal/HysModal2.vue.js +35 -35
- package/dist/components/HysNotificationCenter/HysNotificationCenter.vue.js +37 -36
- package/dist/components/HysNumberInput/HysNumberInput.vue.js +2 -2
- package/dist/components/HysNumberInput/HysNumberInput2.vue.js +561 -70
- package/dist/components/HysOrgTree/HysOrgTree.vue.js +41 -36
- package/dist/components/HysPagination/HysPagination.vue.js +2 -2
- package/dist/components/HysPagination/HysPagination2.vue.js +93 -91
- package/dist/components/HysPermissionMatrix/HysPermissionMatrix.vue.js +5 -41
- package/dist/components/HysPermissionMatrix/HysPermissionMatrix2.vue.js +101 -2
- package/dist/components/HysRadio/HysRadio.vue.js +7 -0
- package/dist/components/HysRadio/HysRadio2.vue.js +180 -0
- package/dist/components/HysRadioGroup/HysRadioGroup.vue.js +5 -40
- package/dist/components/HysRadioGroup/HysRadioGroup2.vue.js +205 -2
- package/dist/components/HysRating/HysRating.vue.js +1 -1
- package/dist/components/HysRating/HysRating2.vue.js +288 -68
- package/dist/components/HysResizablePanel/HysResizablePanel.vue.js +46 -28
- package/dist/components/HysRichTextEditor/HysRichTextEditor.vue.js +2 -2
- package/dist/components/HysRichTextEditor/HysRichTextEditor2.vue.js +87 -67
- package/dist/components/HysSearch/HysSearch.vue.js +50 -38
- package/dist/components/HysSegmented/HysSegmented.vue.js +5 -58
- package/dist/components/HysSegmented/HysSegmented2.vue.js +273 -2
- package/dist/components/HysSelect/HysSelect.vue.js +3 -2
- package/dist/components/HysSelect/HysSelect2.vue.js +859 -164
- package/dist/components/HysSkeleton/HysSkeleton.vue.js +2 -2
- package/dist/components/HysSkeleton/HysSkeleton2.vue.js +126 -29
- package/dist/components/HysSlider/HysSlider.vue.js +2 -2
- package/dist/components/HysSlider/HysSlider2.vue.js +532 -59
- package/dist/components/HysSlider/SliderTooltip.vue.js +7 -0
- package/dist/components/HysSlider/SliderTooltip2.vue.js +156 -0
- package/dist/components/HysSplitPane/HysSplitPane.vue.js +48 -42
- package/dist/components/HysSteps/HysSteps.vue.js +2 -2
- package/dist/components/HysSteps/HysSteps2.vue.js +111 -36
- package/dist/components/HysSwitch/HysSwitch.vue.js +2 -2
- package/dist/components/HysSwitch/HysSwitch2.vue.js +235 -42
- package/dist/components/HysTable/HysTable.vue.js +1 -1
- package/dist/components/HysTable/HysTable2.vue.js +1471 -82
- package/dist/components/HysTable/HysTableFilterOptions.vue.js +7 -0
- package/dist/components/HysTable/HysTableFilterOptions2.vue.js +133 -0
- package/dist/components/HysTabs/HysTabs.vue.js +2 -2
- package/dist/components/HysTabs/HysTabs2.vue.js +262 -66
- package/dist/components/HysTagInput/HysTagInput.vue.js +43 -42
- package/dist/components/HysTextarea/HysTextarea.vue.js +137 -66
- package/dist/components/HysToast/HysToast.vue.js +2 -2
- package/dist/components/HysToast/HysToast2.vue.js +121 -38
- package/dist/components/HysTour/HysTour.vue.js +47 -42
- package/dist/components/HysTransfer/HysTransfer.vue.js +5 -207
- package/dist/components/HysTransfer/HysTransfer2.vue.js +416 -2
- package/dist/components/HysTransfer/HysTransferPanel.vue.js +7 -0
- package/dist/components/HysTransfer/HysTransferPanel2.vue.js +454 -0
- package/dist/components/HysTree/HysTree.vue.js +2 -3
- package/dist/components/HysTree/HysTree2.vue.js +641 -301
- package/dist/components/HysTreeSelect/HysTreeSelect.vue.js +5 -129
- package/dist/components/HysTreeSelect/HysTreeSelect2.vue.js +558 -2
- package/dist/components/HysTreeSelect/HysTreeSelectPanel.vue.js +7 -0
- package/dist/components/HysTreeSelect/HysTreeSelectPanel2.vue.js +323 -0
- package/dist/components/HysUpload/HysUpload.vue.js +2 -2
- package/dist/components/HysUpload/HysUpload2.vue.js +97 -78
- package/dist/composables/autocomplete.js +50 -0
- package/dist/composables/avatar.js +57 -0
- package/dist/composables/calendar.js +96 -0
- package/dist/composables/cascader.js +79 -0
- package/dist/composables/choice.js +38 -0
- package/dist/composables/choiceModel.js +67 -0
- package/dist/composables/datePicker.js +227 -0
- package/dist/composables/formContext.js +94 -3
- package/dist/composables/formLayout.js +57 -0
- package/dist/composables/formValidation.js +240 -0
- package/dist/composables/ganttConflicts.js +143 -0
- package/dist/composables/numberInput.js +91 -0
- package/dist/composables/rating.js +16 -0
- package/dist/composables/selectOptions.js +54 -0
- package/dist/composables/table.js +150 -0
- package/dist/composables/textInput.js +34 -0
- package/dist/composables/toastEscape.js +16 -0
- package/dist/composables/transfer.js +63 -0
- package/dist/composables/tree.js +118 -0
- package/dist/composables/treeSelect.js +71 -0
- package/dist/composables/useCascader.js +438 -0
- package/dist/composables/useDatePicker.js +425 -0
- package/dist/composables/useDialog.js +16 -16
- package/dist/composables/useFloating.js +98 -52
- package/dist/composables/useGanttDependencies.js +306 -0
- package/dist/composables/useGanttHistory.js +157 -0
- package/dist/composables/useGanttLabelResize.js +100 -0
- package/dist/composables/useHysToast.js +148 -0
- package/dist/composables/useTable.js +474 -0
- package/dist/composables/useTextareaSize.js +72 -0
- package/dist/composables/useTransfer.js +257 -0
- package/dist/composables/useTree.js +439 -0
- package/dist/composables/useTreeSelect.js +361 -0
- package/dist/config.js +18 -15
- package/dist/index.js +149 -136
- package/dist/style.css +1 -1
- package/dist/types/components/HysAccordion/HysAccordion.vue.d.ts +61 -22
- package/dist/types/components/HysAutocomplete/HysAutocomplete.vue.d.ts +201 -0
- package/dist/types/components/HysAvatar/HysAvatar.vue.d.ts +28 -15
- package/dist/types/components/HysAvatarGroup/HysAvatarGroup.vue.d.ts +99 -0
- package/dist/types/components/HysBadge/HysBadge.vue.d.ts +41 -4
- package/dist/types/components/HysBreadcrumb/HysBreadcrumb.vue.d.ts +38 -10
- package/dist/types/components/HysButton/HysButton.vue.d.ts +0 -1
- package/dist/types/components/HysCalendar/HysCalendar.vue.d.ts +119 -29
- package/dist/types/components/HysCard/HysCard.vue.d.ts +57 -5
- package/dist/types/components/HysCascader/HysCascader.vue.d.ts +129 -41
- package/dist/types/components/HysCascader/HysCascaderColumn.vue.d.ts +55 -0
- package/dist/types/components/HysCheckbox/HysCheckbox.vue.d.ts +55 -27
- package/dist/types/components/HysCheckboxGroup/HysCheckboxGroup.vue.d.ts +73 -0
- package/dist/types/components/HysDataGrid/HysDataGrid.vue.d.ts +1 -1
- package/dist/types/components/HysDatePicker/HysDatePicker.vue.d.ts +66 -14
- package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +90 -0
- package/dist/types/components/HysDatePicker/HysDatePickerPanel.vue.d.ts +93 -0
- package/dist/types/components/HysDateRangePicker/HysDateRangePicker.vue.d.ts +66 -14
- package/dist/types/components/HysDivider/HysDivider.vue.d.ts +8 -3
- package/dist/types/components/HysDrawer/HysDrawer.vue.d.ts +1 -0
- package/dist/types/components/HysFileManager/HysFileManager.vue.d.ts +8 -4
- package/dist/types/components/HysForm/HysForm.vue.d.ts +110 -18
- package/dist/types/components/HysFormItem/HysFormItem.vue.d.ts +108 -2
- package/dist/types/components/HysGantt/HysGantt.vue.d.ts +88 -4
- package/dist/types/components/HysInput/HysInput.vue.d.ts +52 -29
- package/dist/types/components/HysMention/HysMention.vue.d.ts +2 -2
- package/dist/types/components/HysNumberInput/HysNumberInput.vue.d.ts +93 -33
- package/dist/types/components/HysOrgTree/HysOrgTree.vue.d.ts +4 -1
- package/dist/types/components/HysPagination/HysPagination.vue.d.ts +1 -1
- package/dist/types/components/HysPermissionMatrix/HysPermissionMatrix.vue.d.ts +8 -1
- package/dist/types/components/HysPopover/HysPopover.vue.d.ts +3 -3
- package/dist/types/components/HysProgress/HysProgress.vue.d.ts +1 -1
- package/dist/types/components/HysRadio/HysRadio.vue.d.ts +56 -0
- package/dist/types/components/HysRadioGroup/HysRadioGroup.vue.d.ts +62 -17
- package/dist/types/components/HysRating/HysRating.vue.d.ts +85 -5
- package/dist/types/components/HysResizablePanel/HysResizablePanel.vue.d.ts +6 -0
- package/dist/types/components/HysRichTextEditor/HysRichTextEditor.vue.d.ts +4 -4
- package/dist/types/components/HysSearch/HysSearch.vue.d.ts +2 -2
- package/dist/types/components/HysSegmented/HysSegmented.vue.d.ts +64 -32
- package/dist/types/components/HysSelect/HysSelect.vue.d.ts +120 -14
- package/dist/types/components/HysSkeleton/HysSkeleton.vue.d.ts +30 -2
- package/dist/types/components/HysSlider/HysSlider.vue.d.ts +66 -9
- package/dist/types/components/HysSlider/SliderTooltip.vue.d.ts +22 -0
- package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +6 -0
- package/dist/types/components/HysSteps/HysSteps.vue.d.ts +65 -9
- package/dist/types/components/HysSwitch/HysSwitch.vue.d.ts +76 -17
- package/dist/types/components/HysTable/HysTable.vue.d.ts +206 -32
- package/dist/types/components/HysTable/HysTableFilterOptions.vue.d.ts +18 -0
- package/dist/types/components/HysTabs/HysTabs.vue.d.ts +76 -23
- package/dist/types/components/HysTagInput/HysTagInput.vue.d.ts +5 -5
- package/dist/types/components/HysTextarea/HysTextarea.vue.d.ts +44 -27
- package/dist/types/components/HysToast/HysToast.vue.d.ts +55 -7
- package/dist/types/components/HysTour/HysTour.vue.d.ts +5 -3
- package/dist/types/components/HysTransfer/HysTransfer.vue.d.ts +55 -30
- package/dist/types/components/HysTransfer/HysTransferPanel.vue.d.ts +105 -0
- package/dist/types/components/HysTree/HysTree.vue.d.ts +140 -73
- package/dist/types/components/HysTreeSelect/HysTreeSelect.vue.d.ts +102 -23
- package/dist/types/components/HysTreeSelect/HysTreeSelectPanel.vue.d.ts +56 -0
- package/dist/types/composables/autocomplete.d.ts +106 -0
- package/dist/types/composables/avatar.d.ts +70 -0
- package/dist/types/composables/calendar.d.ts +66 -0
- package/dist/types/composables/cascader.d.ts +192 -0
- package/dist/types/composables/choice.d.ts +110 -0
- package/dist/types/composables/choiceModel.d.ts +11 -0
- package/dist/types/composables/datePicker.d.ts +247 -0
- package/dist/types/composables/formContext.d.ts +138 -8
- package/dist/types/composables/formLayout.d.ts +11 -0
- package/dist/types/composables/formValidation.d.ts +13 -0
- package/dist/types/composables/gantt.d.ts +68 -0
- package/dist/types/composables/ganttConflicts.d.ts +30 -0
- package/dist/types/composables/numberInput.d.ts +45 -0
- package/dist/types/composables/rating.d.ts +18 -0
- package/dist/types/composables/segmented.d.ts +15 -0
- package/dist/types/composables/selectOptions.d.ts +44 -0
- package/dist/types/composables/slider.d.ts +21 -0
- package/dist/types/composables/table.d.ts +309 -0
- package/dist/types/composables/textInput.d.ts +76 -0
- package/dist/types/composables/toastEscape.d.ts +1 -0
- package/dist/types/composables/transfer.d.ts +180 -0
- package/dist/types/composables/tree.d.ts +237 -0
- package/dist/types/composables/treeSelect.d.ts +167 -0
- package/dist/types/composables/useCascader.d.ts +162 -0
- package/dist/types/composables/useDatePicker.d.ts +79 -0
- package/dist/types/composables/useFloating.d.ts +8 -5
- package/dist/types/composables/useGanttDependencies.d.ts +83 -0
- package/dist/types/composables/useGanttHistory.d.ts +42 -0
- package/dist/types/composables/useGanttLabelResize.d.ts +23 -0
- package/dist/types/composables/useHysToast.d.ts +50 -0
- package/dist/types/composables/useTable.d.ts +60 -0
- package/dist/types/composables/useTextareaSize.d.ts +3 -0
- package/dist/types/composables/useTransfer.d.ts +58 -0
- package/dist/types/composables/useTree.d.ts +77 -0
- package/dist/types/composables/useTreeSelect.d.ts +117 -0
- package/dist/types/index.d.ts +38 -7
- package/package.json +47 -11
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export type HysCalendarValue = string | Date;
|
|
2
|
+
export type HysCalendarMode = "month" | "year";
|
|
3
|
+
export type HysCalendarTransition = "none" | "fade" | "slide" | "slide-up" | "zoom";
|
|
4
|
+
export type HysCalendarAction = "prev-month" | "next-month" | "prev-year" | "next-year" | "today";
|
|
5
|
+
export interface CalendarEvent {
|
|
6
|
+
id: string;
|
|
7
|
+
date: string;
|
|
8
|
+
title: string;
|
|
9
|
+
end?: string;
|
|
10
|
+
time?: string;
|
|
11
|
+
color?: string;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
description?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface HysCalendarSelectInfo {
|
|
16
|
+
source: "date" | "month" | "keyboard" | "customize";
|
|
17
|
+
}
|
|
18
|
+
export interface HysCalendarCell {
|
|
19
|
+
day: string;
|
|
20
|
+
date: Date;
|
|
21
|
+
type: "prev-month" | "current-month" | "next-month";
|
|
22
|
+
isSelected: boolean;
|
|
23
|
+
isToday: boolean;
|
|
24
|
+
disabled: boolean;
|
|
25
|
+
events: CalendarEvent[];
|
|
26
|
+
}
|
|
27
|
+
export interface HysCalendarMonthCell {
|
|
28
|
+
month: number;
|
|
29
|
+
date: Date;
|
|
30
|
+
day: string;
|
|
31
|
+
isSelected: boolean;
|
|
32
|
+
isToday: boolean;
|
|
33
|
+
disabled: boolean;
|
|
34
|
+
events: CalendarEvent[];
|
|
35
|
+
}
|
|
36
|
+
export interface HysCalendarInstance<T extends HysCalendarValue = string> {
|
|
37
|
+
readonly element: HTMLElement | undefined;
|
|
38
|
+
readonly selectedDay: T | undefined;
|
|
39
|
+
readonly panelValue: T;
|
|
40
|
+
readonly currentMode: HysCalendarMode;
|
|
41
|
+
readonly visibleRange: readonly [string, string];
|
|
42
|
+
pickDay: (value: HysCalendarValue) => Promise<boolean>;
|
|
43
|
+
selectDate: (action: HysCalendarAction) => boolean;
|
|
44
|
+
showMonth: (value: HysCalendarValue) => boolean;
|
|
45
|
+
setMode: (mode: HysCalendarMode) => boolean;
|
|
46
|
+
focus: () => Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
export declare function calendarDay(value: HysCalendarValue | undefined, format?: string): number | undefined;
|
|
49
|
+
export declare function civilDay(y: number, m: number, d: number): number;
|
|
50
|
+
export declare function calendarParts(day: number): {
|
|
51
|
+
year: number;
|
|
52
|
+
month: number;
|
|
53
|
+
day: number;
|
|
54
|
+
weekday: number;
|
|
55
|
+
};
|
|
56
|
+
export declare function calendarISO(day: number): string;
|
|
57
|
+
export declare function calendarDate(day: number): Date;
|
|
58
|
+
export declare function calendarFormat(day: number, format: string): string;
|
|
59
|
+
export declare function calendarShift(day: number, months: number): number;
|
|
60
|
+
export declare function calendarWeeks(start: number, end: number, first: number): [number, number];
|
|
61
|
+
export declare function calendarWeek(day: number): number;
|
|
62
|
+
/** Index only the bounded visible window, including intersecting multi-day events. */
|
|
63
|
+
export declare function calendarEvents(events: readonly CalendarEvent[], start: number, end: number): {
|
|
64
|
+
dates: Map<number, CalendarEvent[]>;
|
|
65
|
+
months: Map<number, CalendarEvent[]>;
|
|
66
|
+
};
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import type { CSSProperties, VNodeChild } from "vue";
|
|
2
|
+
import { type HysTreeKey } from "./tree";
|
|
3
|
+
import type { Placement } from "./useFloating";
|
|
4
|
+
export type HysCascaderKey = HysTreeKey;
|
|
5
|
+
export type HysCascaderPath = readonly HysCascaderKey[];
|
|
6
|
+
export type HysCascaderValue = HysCascaderKey | HysCascaderPath | readonly HysCascaderPath[] | null;
|
|
7
|
+
export interface HysCascaderDataNode<K extends HysCascaderKey = HysCascaderKey> {
|
|
8
|
+
label: string;
|
|
9
|
+
value: K;
|
|
10
|
+
children?: HysCascaderDataNode<K>[];
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
isLeaf?: boolean;
|
|
13
|
+
hasChildren?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/** Original string-valued data shape remains available. */
|
|
16
|
+
export type HysCascaderNode = HysCascaderDataNode<string>;
|
|
17
|
+
export interface HysCascaderFieldNames {
|
|
18
|
+
value: string;
|
|
19
|
+
label: string;
|
|
20
|
+
children: string;
|
|
21
|
+
disabled: string;
|
|
22
|
+
leaf: string;
|
|
23
|
+
hasChildren: string;
|
|
24
|
+
}
|
|
25
|
+
export interface HysCascaderItem<N extends object = HysCascaderNode> {
|
|
26
|
+
path: HysCascaderKey[];
|
|
27
|
+
labels: string[];
|
|
28
|
+
nodes: N[];
|
|
29
|
+
node?: N;
|
|
30
|
+
value: HysCascaderKey;
|
|
31
|
+
label: string;
|
|
32
|
+
disabled: boolean;
|
|
33
|
+
missing: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface HysCascaderOptionContext<N extends object = HysCascaderNode> extends HysCascaderItem<N> {
|
|
36
|
+
node: N;
|
|
37
|
+
level: number;
|
|
38
|
+
leaf: boolean;
|
|
39
|
+
expanded: boolean;
|
|
40
|
+
checked: boolean;
|
|
41
|
+
indeterminate: boolean;
|
|
42
|
+
loading: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface HysCascaderLoadContext<N extends object = HysCascaderNode> {
|
|
45
|
+
signal: AbortSignal;
|
|
46
|
+
path: HysCascaderKey[];
|
|
47
|
+
nodes: N[];
|
|
48
|
+
level: number;
|
|
49
|
+
}
|
|
50
|
+
export interface HysCascaderChange<N extends object = HysCascaderNode> {
|
|
51
|
+
reason: "select" | "check" | "remove" | "clear" | "api";
|
|
52
|
+
node?: N;
|
|
53
|
+
items: HysCascaderItem<N>[];
|
|
54
|
+
paths: HysCascaderKey[][];
|
|
55
|
+
halfCheckedPaths: HysCascaderKey[][];
|
|
56
|
+
event?: Event;
|
|
57
|
+
}
|
|
58
|
+
export interface HysCascaderLocale {
|
|
59
|
+
panel: string;
|
|
60
|
+
search: string;
|
|
61
|
+
empty: string;
|
|
62
|
+
noMatch: string;
|
|
63
|
+
loading: string;
|
|
64
|
+
loadError: string;
|
|
65
|
+
retry: string;
|
|
66
|
+
clear: string;
|
|
67
|
+
close: string;
|
|
68
|
+
level: string;
|
|
69
|
+
expand: string;
|
|
70
|
+
remove: string;
|
|
71
|
+
more: string;
|
|
72
|
+
limit: string;
|
|
73
|
+
}
|
|
74
|
+
export interface HysCascaderProps<N extends object = HysCascaderNode, V extends HysCascaderValue = HysCascaderValue> {
|
|
75
|
+
options: readonly N[];
|
|
76
|
+
modelValue?: V;
|
|
77
|
+
defaultValue?: V;
|
|
78
|
+
cacheData?: readonly N[];
|
|
79
|
+
fieldNames?: Partial<HysCascaderFieldNames>;
|
|
80
|
+
valueKey?: string | ((node: N) => HysCascaderKey);
|
|
81
|
+
disabledMethod?: (node: N, path: readonly N[]) => boolean;
|
|
82
|
+
leafMethod?: (node: N, path: readonly N[]) => boolean;
|
|
83
|
+
disabled?: boolean;
|
|
84
|
+
readonly?: boolean;
|
|
85
|
+
loading?: boolean;
|
|
86
|
+
size?: "sm" | "md" | "lg";
|
|
87
|
+
status?: "error" | "warning" | "success";
|
|
88
|
+
placeholder?: string;
|
|
89
|
+
ariaLabel?: string;
|
|
90
|
+
name?: string;
|
|
91
|
+
form?: string;
|
|
92
|
+
autofocus?: boolean;
|
|
93
|
+
multiple?: boolean;
|
|
94
|
+
emitPath?: boolean;
|
|
95
|
+
checkStrictly?: boolean;
|
|
96
|
+
changeOnSelect?: boolean;
|
|
97
|
+
showCheckedStrategy?: "child" | "parent" | "all";
|
|
98
|
+
checkOnClickNode?: boolean;
|
|
99
|
+
checkOnClickLeaf?: boolean;
|
|
100
|
+
showPrefix?: boolean;
|
|
101
|
+
showAllLevels?: boolean;
|
|
102
|
+
separator?: string;
|
|
103
|
+
displayRender?: (item: HysCascaderItem<N>) => VNodeChild;
|
|
104
|
+
clearable?: boolean;
|
|
105
|
+
clearValue?: HysCascaderValue;
|
|
106
|
+
removable?: boolean;
|
|
107
|
+
multipleLimit?: number;
|
|
108
|
+
maxTagCount?: number;
|
|
109
|
+
maxTagTextLength?: number;
|
|
110
|
+
filterable?: boolean;
|
|
111
|
+
searchValue?: string;
|
|
112
|
+
defaultSearchValue?: string;
|
|
113
|
+
searchPlaceholder?: string;
|
|
114
|
+
filterMethod?: (query: string, path: readonly N[]) => boolean;
|
|
115
|
+
searchSort?: (a: HysCascaderItem<N>, b: HysCascaderItem<N>, query: string) => number;
|
|
116
|
+
searchLimit?: number | false;
|
|
117
|
+
debounce?: number;
|
|
118
|
+
beforeFilter?: (query: string, context: {
|
|
119
|
+
signal: AbortSignal;
|
|
120
|
+
}) => boolean | Promise<boolean>;
|
|
121
|
+
retainSearch?: boolean;
|
|
122
|
+
clearSearchAfterSelect?: boolean;
|
|
123
|
+
expandTrigger?: "click" | "hover";
|
|
124
|
+
hoverDelay?: number;
|
|
125
|
+
expandedPath?: HysCascaderPath;
|
|
126
|
+
defaultExpandedPath?: HysCascaderPath;
|
|
127
|
+
loadChildren?: (node: N, context: HysCascaderLoadContext<N>) => Promise<readonly N[]>;
|
|
128
|
+
loadRoot?: (context: {
|
|
129
|
+
signal: AbortSignal;
|
|
130
|
+
}) => Promise<readonly N[]>;
|
|
131
|
+
inline?: boolean;
|
|
132
|
+
showFooter?: boolean;
|
|
133
|
+
open?: boolean;
|
|
134
|
+
defaultOpen?: boolean;
|
|
135
|
+
showOnFocus?: boolean;
|
|
136
|
+
popupMatchWidth?: boolean;
|
|
137
|
+
popupWidth?: number | string;
|
|
138
|
+
popupClass?: string;
|
|
139
|
+
popupStyle?: CSSProperties;
|
|
140
|
+
appendTo?: string | HTMLElement | false;
|
|
141
|
+
placement?: Placement;
|
|
142
|
+
columnWidth?: number | string;
|
|
143
|
+
listHeight?: number;
|
|
144
|
+
virtual?: boolean;
|
|
145
|
+
itemHeight?: number;
|
|
146
|
+
overscan?: number;
|
|
147
|
+
emptyText?: string;
|
|
148
|
+
noMatchText?: string;
|
|
149
|
+
loadingText?: string;
|
|
150
|
+
locale?: Partial<HysCascaderLocale>;
|
|
151
|
+
validateEvent?: boolean;
|
|
152
|
+
}
|
|
153
|
+
export interface HysCascaderInstance<N extends object = HysCascaderNode> {
|
|
154
|
+
readonly element: HTMLElement | undefined;
|
|
155
|
+
readonly open: boolean;
|
|
156
|
+
focus: () => void;
|
|
157
|
+
blur: () => void;
|
|
158
|
+
show: () => Promise<boolean>;
|
|
159
|
+
hide: (restoreFocus?: boolean) => void;
|
|
160
|
+
clear: () => Promise<boolean>;
|
|
161
|
+
clearCheckedNodes: () => Promise<boolean>;
|
|
162
|
+
removeTag: (path: HysCascaderPath | HysCascaderKey) => Promise<boolean>;
|
|
163
|
+
setValue: (value: HysCascaderValue) => Promise<boolean>;
|
|
164
|
+
filter: (query: string) => void;
|
|
165
|
+
getSelectedItems: () => HysCascaderItem<N>[];
|
|
166
|
+
getCheckedNodes: (leafOnly?: boolean) => N[];
|
|
167
|
+
getExpandedPath: () => HysCascaderKey[];
|
|
168
|
+
setExpandedPath: (path: HysCascaderPath) => Promise<boolean>;
|
|
169
|
+
reloadNode: (path: HysCascaderPath) => Promise<boolean>;
|
|
170
|
+
reloadRoot: () => Promise<boolean>;
|
|
171
|
+
scrollTo: (path: HysCascaderPath) => Promise<void>;
|
|
172
|
+
}
|
|
173
|
+
export interface CascaderEntry<N extends object> {
|
|
174
|
+
value: string;
|
|
175
|
+
label: string;
|
|
176
|
+
raw: N;
|
|
177
|
+
path: HysCascaderKey[];
|
|
178
|
+
labels: string[];
|
|
179
|
+
nodes: N[];
|
|
180
|
+
children?: CascaderEntry<N>[];
|
|
181
|
+
disabled: boolean;
|
|
182
|
+
isLeaf: boolean;
|
|
183
|
+
hasChildren: boolean;
|
|
184
|
+
}
|
|
185
|
+
export declare const cascaderToken: (path: HysCascaderPath) => string;
|
|
186
|
+
export declare function cascaderPath(token: string): HysCascaderKey[];
|
|
187
|
+
export declare const validCascaderPath: (path: unknown) => path is HysCascaderKey[];
|
|
188
|
+
export declare const cascaderWords: HysCascaderLocale;
|
|
189
|
+
export declare function cascaderEntries<N extends object>(options: readonly N[], props: HysCascaderProps<N>, parent?: CascaderEntry<N>): {
|
|
190
|
+
roots: CascaderEntry<N>[];
|
|
191
|
+
map: Map<string, CascaderEntry<N>>;
|
|
192
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import type { ComputedRef, InjectionKey, Ref } from "vue";
|
|
2
|
+
export type HysChoiceValue = string | number | boolean;
|
|
3
|
+
export interface HysChoiceFieldNames {
|
|
4
|
+
label?: string;
|
|
5
|
+
value?: string;
|
|
6
|
+
disabled?: string;
|
|
7
|
+
indeterminate?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface HysChoiceOption<T extends HysChoiceValue = HysChoiceValue> {
|
|
10
|
+
label: string;
|
|
11
|
+
value: T;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
indeterminate?: boolean;
|
|
14
|
+
[key: string]: unknown;
|
|
15
|
+
}
|
|
16
|
+
export type HysChoiceDataOption<T extends HysChoiceValue = HysChoiceValue> = T | HysChoiceOption<T> | Record<string, unknown>;
|
|
17
|
+
export interface HysCheckboxReject {
|
|
18
|
+
value?: HysChoiceValue;
|
|
19
|
+
checked?: boolean;
|
|
20
|
+
reason: "min" | "max" | "range";
|
|
21
|
+
}
|
|
22
|
+
export interface HysCheckboxChange {
|
|
23
|
+
value?: HysChoiceValue;
|
|
24
|
+
checked?: boolean;
|
|
25
|
+
source: "toggle" | "all" | "clear";
|
|
26
|
+
}
|
|
27
|
+
export interface HysCheckboxInstance {
|
|
28
|
+
input: HTMLInputElement | undefined;
|
|
29
|
+
checked: boolean;
|
|
30
|
+
focus: (options?: FocusOptions) => void;
|
|
31
|
+
blur: () => void;
|
|
32
|
+
toggle: () => Promise<boolean>;
|
|
33
|
+
}
|
|
34
|
+
export interface HysCheckboxGroupInstance {
|
|
35
|
+
values: HysChoiceValue[];
|
|
36
|
+
allChecked: boolean;
|
|
37
|
+
indeterminate: boolean;
|
|
38
|
+
focus: (value?: HysChoiceValue) => void;
|
|
39
|
+
blur: () => void;
|
|
40
|
+
checkAll: () => Promise<boolean>;
|
|
41
|
+
clear: () => Promise<boolean>;
|
|
42
|
+
toggle: (value: HysChoiceValue, checked?: boolean) => Promise<boolean>;
|
|
43
|
+
}
|
|
44
|
+
interface CheckboxRegistration {
|
|
45
|
+
input: Ref<HTMLInputElement | undefined>;
|
|
46
|
+
value: ComputedRef<HysChoiceValue | undefined>;
|
|
47
|
+
locked: ComputedRef<boolean>;
|
|
48
|
+
disabled: ComputedRef<boolean>;
|
|
49
|
+
}
|
|
50
|
+
export interface HysCheckboxGroupContext {
|
|
51
|
+
values: ComputedRef<HysChoiceValue[]>;
|
|
52
|
+
disabled: ComputedRef<boolean>;
|
|
53
|
+
readonly: ComputedRef<boolean>;
|
|
54
|
+
size: ComputedRef<"sm" | "md" | "lg">;
|
|
55
|
+
button: ComputedRef<boolean>;
|
|
56
|
+
border: ComputedRef<boolean>;
|
|
57
|
+
solid: ComputedRef<boolean>;
|
|
58
|
+
status: ComputedRef<string | undefined>;
|
|
59
|
+
form: ComputedRef<string | undefined>;
|
|
60
|
+
isLimited: (value: HysChoiceValue) => boolean;
|
|
61
|
+
toggle: (value: HysChoiceValue, checked: boolean) => Promise<boolean>;
|
|
62
|
+
register: (record: CheckboxRegistration) => () => void;
|
|
63
|
+
}
|
|
64
|
+
export declare const checkboxGroupKey: InjectionKey<HysCheckboxGroupContext>;
|
|
65
|
+
export declare function isChoice(value: unknown): value is HysChoiceValue;
|
|
66
|
+
export declare function choiceKey(value: HysChoiceValue): string;
|
|
67
|
+
export declare function uniqueChoices(values: readonly unknown[]): HysChoiceValue[];
|
|
68
|
+
export declare function choiceOptions<T extends HysChoiceValue>(source: readonly HysChoiceDataOption<T>[], fields?: HysChoiceFieldNames): HysChoiceOption<T>[];
|
|
69
|
+
export interface HysRadioInstance {
|
|
70
|
+
input: HTMLInputElement | undefined;
|
|
71
|
+
checked: boolean;
|
|
72
|
+
focus: (options?: FocusOptions) => void;
|
|
73
|
+
blur: () => void;
|
|
74
|
+
select: () => Promise<boolean>;
|
|
75
|
+
}
|
|
76
|
+
export interface HysRadioGroupInstance {
|
|
77
|
+
value: HysChoiceValue | null;
|
|
78
|
+
focus: (value?: HysChoiceValue) => void;
|
|
79
|
+
blur: () => void;
|
|
80
|
+
select: (value: HysChoiceValue) => Promise<boolean>;
|
|
81
|
+
}
|
|
82
|
+
export interface HysRadioGroupContext {
|
|
83
|
+
value: ComputedRef<HysChoiceValue | null>;
|
|
84
|
+
disabled: ComputedRef<boolean>;
|
|
85
|
+
readonly: ComputedRef<boolean>;
|
|
86
|
+
required: ComputedRef<boolean>;
|
|
87
|
+
size: ComputedRef<"sm" | "md" | "lg">;
|
|
88
|
+
button: ComputedRef<boolean>;
|
|
89
|
+
border: ComputedRef<boolean>;
|
|
90
|
+
solid: ComputedRef<boolean>;
|
|
91
|
+
name: ComputedRef<string>;
|
|
92
|
+
form: ComputedRef<string | undefined>;
|
|
93
|
+
status: ComputedRef<string | undefined>;
|
|
94
|
+
select: (value: HysChoiceValue) => Promise<boolean>;
|
|
95
|
+
tabindex: (value: HysChoiceValue) => number;
|
|
96
|
+
register: (record: CheckboxRegistration) => () => void;
|
|
97
|
+
}
|
|
98
|
+
export declare const radioGroupKey: InjectionKey<HysRadioGroupContext>;
|
|
99
|
+
export interface HysSwitchGuardContext {
|
|
100
|
+
signal: AbortSignal;
|
|
101
|
+
}
|
|
102
|
+
export interface HysSwitchInstance {
|
|
103
|
+
element: HTMLButtonElement | undefined;
|
|
104
|
+
checked: boolean;
|
|
105
|
+
pending: boolean;
|
|
106
|
+
focus: (options?: FocusOptions) => void;
|
|
107
|
+
blur: () => void;
|
|
108
|
+
toggle: () => Promise<boolean>;
|
|
109
|
+
}
|
|
110
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
export declare function useChoiceModel<V>(props: {
|
|
3
|
+
modelValue?: V;
|
|
4
|
+
}, initial: () => V, equal?: (a: V, b: V) => boolean, invalidated?: () => void): {
|
|
5
|
+
current: import("vue").ComputedRef<V>;
|
|
6
|
+
commit: (value: V, update: (value: V) => void, change: (value: V) => void, notifyOnRequest?: boolean) => Promise<boolean>;
|
|
7
|
+
reset: () => void;
|
|
8
|
+
invalidate: () => void;
|
|
9
|
+
isLive: () => boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare function useChoiceNativeReset(element: Ref<HTMLElement | undefined>, reset: () => void, sync?: () => void, formId?: () => string | undefined): void;
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import type { CSSProperties } from "vue";
|
|
2
|
+
import type { Placement } from "./useFloating";
|
|
3
|
+
export type HysDateScalar = string | Date | number;
|
|
4
|
+
export type HysDatePickerValue = HysDateScalar | readonly (HysDateScalar | null)[] | null;
|
|
5
|
+
export type HysDateRangeValue = readonly [HysDateScalar | null, HysDateScalar | null] | null;
|
|
6
|
+
export type HysDatePickerType = "date" | "dates" | "week" | "weeks" | "month" | "months" | "quarter" | "quarters" | "year" | "years" | "datetime";
|
|
7
|
+
export type HysDatePickerView = "date" | "month" | "quarter" | "year";
|
|
8
|
+
export type HysDatePickerUnit = "date" | "week" | "month" | "quarter" | "year";
|
|
9
|
+
export interface HysDatePoint {
|
|
10
|
+
day: number;
|
|
11
|
+
second: number;
|
|
12
|
+
}
|
|
13
|
+
export interface HysDatePickerContext {
|
|
14
|
+
range: "start" | "end";
|
|
15
|
+
from: Date | null;
|
|
16
|
+
iso: string;
|
|
17
|
+
}
|
|
18
|
+
export interface HysDateDisabledTime {
|
|
19
|
+
hours?: readonly number[];
|
|
20
|
+
minutes?: (hour: number) => readonly number[];
|
|
21
|
+
seconds?: (hour: number, minute: number) => readonly number[];
|
|
22
|
+
}
|
|
23
|
+
export interface HysDateShortcut {
|
|
24
|
+
label: string;
|
|
25
|
+
value: HysDatePickerValue | (() => HysDatePickerValue);
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface HysDatePickerCell {
|
|
29
|
+
date: Date;
|
|
30
|
+
iso: string;
|
|
31
|
+
value: number;
|
|
32
|
+
end: number;
|
|
33
|
+
text: string;
|
|
34
|
+
type: HysDatePickerView;
|
|
35
|
+
outside: boolean;
|
|
36
|
+
disabled: boolean;
|
|
37
|
+
selected: boolean;
|
|
38
|
+
inRange: boolean;
|
|
39
|
+
today: boolean;
|
|
40
|
+
week: number;
|
|
41
|
+
weekYear: number;
|
|
42
|
+
weekStart: string;
|
|
43
|
+
weekEnd: string;
|
|
44
|
+
}
|
|
45
|
+
export interface HysDatePickerWeek {
|
|
46
|
+
year: number;
|
|
47
|
+
week: number;
|
|
48
|
+
start: string;
|
|
49
|
+
end: string;
|
|
50
|
+
dates: readonly string[];
|
|
51
|
+
}
|
|
52
|
+
export interface HysDatePickerChange {
|
|
53
|
+
source: "date" | "time" | "input" | "shortcut" | "clear" | "confirm" | "api";
|
|
54
|
+
dates: readonly (Date | null)[];
|
|
55
|
+
formatted: readonly string[];
|
|
56
|
+
weeks?: readonly (HysDatePickerWeek | null)[];
|
|
57
|
+
}
|
|
58
|
+
export interface HysDatePickerLocale {
|
|
59
|
+
today: string;
|
|
60
|
+
now: string;
|
|
61
|
+
clear: string;
|
|
62
|
+
cancel: string;
|
|
63
|
+
close: string;
|
|
64
|
+
confirm: string;
|
|
65
|
+
start: string;
|
|
66
|
+
end: string;
|
|
67
|
+
chooseStart: string;
|
|
68
|
+
chooseEnd: string;
|
|
69
|
+
invalid: string;
|
|
70
|
+
week: string;
|
|
71
|
+
year: string;
|
|
72
|
+
month: string;
|
|
73
|
+
back: string;
|
|
74
|
+
prevMonth: string;
|
|
75
|
+
nextMonth: string;
|
|
76
|
+
prevYear: string;
|
|
77
|
+
nextYear: string;
|
|
78
|
+
hour: string;
|
|
79
|
+
minute: string;
|
|
80
|
+
second: string;
|
|
81
|
+
empty: string;
|
|
82
|
+
limit: string;
|
|
83
|
+
}
|
|
84
|
+
export interface HysDatePickerProps<V extends HysDatePickerValue = HysDatePickerValue> {
|
|
85
|
+
modelValue?: V;
|
|
86
|
+
defaultValue?: V;
|
|
87
|
+
clearValue?: V;
|
|
88
|
+
type?: HysDatePickerType;
|
|
89
|
+
valueType?: "string" | "date" | "timestamp";
|
|
90
|
+
valueFormat?: string;
|
|
91
|
+
format?: string;
|
|
92
|
+
inputFormats?: readonly string[];
|
|
93
|
+
disabled?: boolean | readonly [boolean, boolean];
|
|
94
|
+
readonly?: boolean;
|
|
95
|
+
size?: "sm" | "md" | "lg";
|
|
96
|
+
status?: "error" | "warning" | "success";
|
|
97
|
+
bordered?: boolean;
|
|
98
|
+
placeholder?: string;
|
|
99
|
+
label?: string;
|
|
100
|
+
ariaLabel?: string;
|
|
101
|
+
name?: string | readonly [string, string];
|
|
102
|
+
form?: string;
|
|
103
|
+
autofocus?: boolean;
|
|
104
|
+
min?: HysDateScalar;
|
|
105
|
+
max?: HysDateScalar;
|
|
106
|
+
disabledDate?: (date: Date, context: HysDatePickerContext) => boolean;
|
|
107
|
+
disabledTime?: (date: Date, context: HysDatePickerContext) => HysDateDisabledTime;
|
|
108
|
+
firstDayOfWeek?: number;
|
|
109
|
+
firstWeekContainsDate?: number;
|
|
110
|
+
weekNumberFormatter?: (week: HysDatePickerWeek) => string;
|
|
111
|
+
disabledWeek?: (week: HysDatePickerWeek) => boolean;
|
|
112
|
+
weekValidation?: "any" | "full";
|
|
113
|
+
locale?: string;
|
|
114
|
+
messages?: Partial<HysDatePickerLocale>;
|
|
115
|
+
showWeekNumbers?: boolean;
|
|
116
|
+
showAdjacentDays?: boolean;
|
|
117
|
+
defaultPickerValue?: HysDateScalar;
|
|
118
|
+
panelValue?: HysDateScalar;
|
|
119
|
+
mode?: HysDatePickerView;
|
|
120
|
+
defaultMode?: HysDatePickerView;
|
|
121
|
+
shortcuts?: readonly HysDateShortcut[];
|
|
122
|
+
clearable?: boolean;
|
|
123
|
+
editable?: boolean;
|
|
124
|
+
inputReadonly?: boolean;
|
|
125
|
+
showOnFocus?: boolean;
|
|
126
|
+
showToday?: boolean;
|
|
127
|
+
showNow?: boolean;
|
|
128
|
+
showFooter?: boolean;
|
|
129
|
+
showConfirm?: boolean;
|
|
130
|
+
showTime?: boolean;
|
|
131
|
+
defaultTime?: string | readonly [string, string];
|
|
132
|
+
hourStep?: number;
|
|
133
|
+
minuteStep?: number;
|
|
134
|
+
secondStep?: number;
|
|
135
|
+
showSeconds?: boolean;
|
|
136
|
+
rangeSeparator?: string;
|
|
137
|
+
startPlaceholder?: string;
|
|
138
|
+
endPlaceholder?: string;
|
|
139
|
+
allowEmpty?: readonly [boolean, boolean];
|
|
140
|
+
singlePanel?: boolean;
|
|
141
|
+
unlinkPanels?: boolean;
|
|
142
|
+
minRangeDays?: number;
|
|
143
|
+
maxRangeDays?: number;
|
|
144
|
+
rangeValidation?: "endpoints" | "continuous";
|
|
145
|
+
maxDates?: number;
|
|
146
|
+
open?: boolean;
|
|
147
|
+
defaultOpen?: boolean;
|
|
148
|
+
inline?: boolean;
|
|
149
|
+
placement?: Placement;
|
|
150
|
+
appendTo?: string | HTMLElement | false;
|
|
151
|
+
popupWidth?: number | string;
|
|
152
|
+
popupClass?: string;
|
|
153
|
+
popupStyle?: CSSProperties;
|
|
154
|
+
validateEvent?: boolean;
|
|
155
|
+
cellClassName?: (cell: HysDatePickerCell) => string;
|
|
156
|
+
}
|
|
157
|
+
export interface HysDateRangePickerProps<V extends HysDatePickerValue = HysDateRangeValue> extends HysDatePickerProps<V> {
|
|
158
|
+
}
|
|
159
|
+
export interface HysDatePickerInstance<V extends HysDatePickerValue = HysDatePickerValue> {
|
|
160
|
+
readonly element: HTMLElement | undefined;
|
|
161
|
+
readonly open: boolean;
|
|
162
|
+
readonly value: V;
|
|
163
|
+
readonly draft: readonly (Date | null)[];
|
|
164
|
+
focus: () => void;
|
|
165
|
+
blur: () => void;
|
|
166
|
+
show: () => Promise<boolean>;
|
|
167
|
+
hide: (restoreFocus?: boolean) => void;
|
|
168
|
+
handleOpen: () => Promise<boolean>;
|
|
169
|
+
handleClose: () => void;
|
|
170
|
+
clear: () => Promise<boolean>;
|
|
171
|
+
setValue: (value: V) => Promise<boolean>;
|
|
172
|
+
confirm: () => Promise<boolean>;
|
|
173
|
+
cancel: () => void;
|
|
174
|
+
showMonth: (value: HysDateScalar) => Promise<boolean>;
|
|
175
|
+
setMode: (view: HysDatePickerView) => boolean;
|
|
176
|
+
}
|
|
177
|
+
export interface HysDatePickerSlots {
|
|
178
|
+
"week-number"?: (week: HysDatePickerWeek & {
|
|
179
|
+
selected: boolean;
|
|
180
|
+
disabled: boolean;
|
|
181
|
+
}) => any;
|
|
182
|
+
default?: (cell: HysDatePickerCell) => any;
|
|
183
|
+
cell?: (cell: HysDatePickerCell) => any;
|
|
184
|
+
prefix?: () => any;
|
|
185
|
+
suffix?: () => any;
|
|
186
|
+
"clear-icon"?: () => any;
|
|
187
|
+
"prev-month"?: () => any;
|
|
188
|
+
"next-month"?: () => any;
|
|
189
|
+
"prev-year"?: () => any;
|
|
190
|
+
"next-year"?: () => any;
|
|
191
|
+
header?: (context: {
|
|
192
|
+
dates: readonly (Date | null)[];
|
|
193
|
+
view: HysDatePickerView;
|
|
194
|
+
}) => any;
|
|
195
|
+
footer?: (context: {
|
|
196
|
+
dates: readonly (Date | null)[];
|
|
197
|
+
confirm: () => Promise<boolean>;
|
|
198
|
+
cancel: () => void;
|
|
199
|
+
clear: () => Promise<boolean>;
|
|
200
|
+
}) => any;
|
|
201
|
+
shortcut?: (context: {
|
|
202
|
+
shortcut: HysDateShortcut;
|
|
203
|
+
index: number;
|
|
204
|
+
}) => any;
|
|
205
|
+
"range-separator"?: () => any;
|
|
206
|
+
}
|
|
207
|
+
export type HysDateRangePickerInstance<V extends HysDatePickerValue = HysDateRangeValue> = HysDatePickerInstance<V>;
|
|
208
|
+
export declare const datePickerDefaults: {
|
|
209
|
+
readonly open: undefined;
|
|
210
|
+
readonly showConfirm: undefined;
|
|
211
|
+
readonly type: "date";
|
|
212
|
+
readonly clearable: false;
|
|
213
|
+
readonly editable: false;
|
|
214
|
+
readonly bordered: true;
|
|
215
|
+
readonly firstDayOfWeek: 1;
|
|
216
|
+
readonly locale: "zh-CN";
|
|
217
|
+
readonly showAdjacentDays: true;
|
|
218
|
+
readonly showToday: true;
|
|
219
|
+
readonly showNow: true;
|
|
220
|
+
readonly showFooter: true;
|
|
221
|
+
readonly showSeconds: true;
|
|
222
|
+
readonly singlePanel: true;
|
|
223
|
+
readonly rangeSeparator: " 至 ";
|
|
224
|
+
readonly hourStep: 1;
|
|
225
|
+
readonly minuteStep: 1;
|
|
226
|
+
readonly secondStep: 1;
|
|
227
|
+
readonly rangeValidation: "endpoints";
|
|
228
|
+
readonly validateEvent: true;
|
|
229
|
+
readonly appendTo: "body";
|
|
230
|
+
};
|
|
231
|
+
export declare const datePickerWords: HysDatePickerLocale;
|
|
232
|
+
export declare const datePickerEnglish: HysDatePickerLocale;
|
|
233
|
+
export declare const DATE_MIN: number, DATE_MAX: number;
|
|
234
|
+
export declare const dateUnit: (type: string | undefined) => HysDatePickerUnit;
|
|
235
|
+
export declare const dateMultiple: (type: string | undefined) => boolean;
|
|
236
|
+
export declare function datePattern(type: string | undefined, time?: boolean): "YYYY-MM-DD" | "YYYY" | "YYYY-MM-DD HH:mm:ss" | "YYYY-MM" | "YYYY-[Q]Q";
|
|
237
|
+
export declare function datePeriod(day: number, unit: HysDatePickerUnit, first?: number): [number, number];
|
|
238
|
+
export declare function dateTimeString(second: number): string;
|
|
239
|
+
export declare function dateTimeSeconds(value: string | undefined): number;
|
|
240
|
+
export declare function dateWeek(day: number, first?: number, contains?: number): HysDatePickerWeek;
|
|
241
|
+
export declare function dateFormat(point: HysDatePoint, pattern: string, first?: number, contains?: number): string;
|
|
242
|
+
export declare function datePoint(value: unknown, pattern?: string, first?: number, contains?: number): HysDatePoint | undefined;
|
|
243
|
+
export declare function dateNative(point: HysDatePoint): Date;
|
|
244
|
+
export declare function dateEqual(a: HysDatePickerValue | undefined, b: HysDatePickerValue | undefined): boolean;
|
|
245
|
+
export declare function dateClone<V extends HysDatePickerValue>(value: V): V;
|
|
246
|
+
export declare function dateLocale(locale: string): Intl.DateTimeFormat;
|
|
247
|
+
export declare function dateShift(day: number, months: number): number;
|