hys-ui 0.1.1 → 0.3.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 +149 -0
- package/README.md +17 -1
- 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 +5 -54
- package/dist/components/HysAlert/HysAlert2.vue.js +159 -2
- package/dist/components/HysAutocomplete/HysAutocomplete.vue.js +7 -0
- package/dist/components/HysAutocomplete/HysAutocomplete2.vue.js +639 -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 +256 -0
- package/dist/components/HysBadge/HysBadge.vue.js +2 -2
- package/dist/components/HysBadge/HysBadge2.vue.js +154 -27
- package/dist/components/HysBreadcrumb/HysBreadcrumb.vue.js +5 -38
- package/dist/components/HysBreadcrumb/HysBreadcrumb2.vue.js +288 -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 -92
- package/dist/components/HysCalendar/HysCalendar2.vue.js +815 -2
- package/dist/components/HysCard/HysCard.vue.js +2 -2
- package/dist/components/HysCard/HysCard2.vue.js +175 -42
- package/dist/components/HysCascader/HysCascader.vue.js +5 -194
- package/dist/components/HysCascader/HysCascader2.vue.js +773 -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 +3 -3
- package/dist/components/HysCheckbox/HysCheckbox2.vue.js +180 -65
- package/dist/components/HysCheckboxGroup/HysCheckboxGroup.vue.js +7 -0
- package/dist/components/HysCheckboxGroup/HysCheckboxGroup2.vue.js +237 -0
- 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 +1 -1
- package/dist/components/HysColorPicker/HysColorPicker2.vue.js +239 -216
- 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 +1019 -563
- package/dist/components/HysDatePicker/HysDatePicker.vue.js +270 -139
- package/dist/components/HysDatePicker/HysDatePickerControl.vue.js +7 -0
- package/dist/components/HysDatePicker/HysDatePickerControl2.vue.js +820 -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 +270 -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 +434 -84
- package/dist/components/HysEmpty/HysEmpty.vue.js +5 -41
- package/dist/components/HysEmpty/HysEmpty2.vue.js +181 -2
- package/dist/components/HysFileManager/HysFileManager.vue.js +3 -3
- package/dist/components/HysFileManager/HysFileManager2.vue.js +43 -42
- package/dist/components/HysForm/HysForm.vue.js +3 -3
- package/dist/components/HysForm/HysForm2.vue.js +578 -92
- package/dist/components/HysFormItem/HysFormItem.vue.js +5 -85
- package/dist/components/HysFormItem/HysFormItem2.vue.js +528 -2
- package/dist/components/HysGantt/HysGantt.vue.js +1 -1
- package/dist/components/HysGantt/HysGantt2.vue.js +1380 -268
- package/dist/components/HysInput/HysInput.vue.js +2 -2
- package/dist/components/HysInput/HysInput2.vue.js +467 -120
- package/dist/components/HysMention/HysMention.vue.js +2 -2
- package/dist/components/HysMention/HysMention2.vue.js +122 -109
- package/dist/components/HysModal/HysModal.vue.js +2 -2
- package/dist/components/HysModal/HysModal2.vue.js +490 -85
- package/dist/components/HysNumberInput/HysNumberInput.vue.js +2 -2
- package/dist/components/HysNumberInput/HysNumberInput2.vue.js +561 -79
- package/dist/components/HysOrgTree/HysOrgTree.vue.js +29 -26
- package/dist/components/HysPagination/HysPagination.vue.js +1 -1
- package/dist/components/HysPagination/HysPagination2.vue.js +2 -0
- package/dist/components/HysPermissionMatrix/HysPermissionMatrix.vue.js +2 -2
- package/dist/components/HysPermissionMatrix/HysPermissionMatrix2.vue.js +52 -51
- 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/HysRadio/HysRadio.vue.js +7 -0
- package/dist/components/HysRadio/HysRadio2.vue.js +180 -0
- package/dist/components/HysRadioGroup/HysRadioGroup.vue.js +2 -2
- package/dist/components/HysRadioGroup/HysRadioGroup2.vue.js +190 -65
- package/dist/components/HysRating/HysRating.vue.js +1 -1
- package/dist/components/HysRating/HysRating2.vue.js +288 -68
- package/dist/components/HysRichTextEditor/HysRichTextEditor.vue.js +1 -1
- package/dist/components/HysRichTextEditor/HysRichTextEditor2.vue.js +70 -69
- package/dist/components/HysSearch/HysSearch.vue.js +37 -36
- package/dist/components/HysSegmented/HysSegmented.vue.js +5 -63
- 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 +999 -189
- 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 +1 -1
- package/dist/components/HysSlider/HysSlider2.vue.js +536 -59
- package/dist/components/HysSlider/SliderTooltip.vue.js +7 -0
- package/dist/components/HysSlider/SliderTooltip2.vue.js +170 -0
- package/dist/components/HysSteps/HysSteps.vue.js +1 -1
- package/dist/components/HysSteps/HysSteps2.vue.js +110 -36
- package/dist/components/HysSwitch/HysSwitch.vue.js +2 -2
- package/dist/components/HysSwitch/HysSwitch2.vue.js +232 -50
- package/dist/components/HysTable/HysTable.vue.js +1 -1
- package/dist/components/HysTable/HysTable2.vue.js +1494 -88
- 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 -68
- package/dist/components/HysTagInput/HysTagInput.vue.js +5 -81
- package/dist/components/HysTagInput/HysTagInput2.vue.js +396 -2
- package/dist/components/HysTextarea/HysTextarea.vue.js +138 -77
- 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 +46 -42
- package/dist/components/HysTransfer/HysTransfer.vue.js +5 -223
- package/dist/components/HysTransfer/HysTransfer2.vue.js +446 -2
- package/dist/components/HysTransfer/HysTransferPanel.vue.js +7 -0
- package/dist/components/HysTransfer/HysTransferPanel2.vue.js +503 -0
- package/dist/components/HysTree/HysTree.vue.js +2 -3
- package/dist/components/HysTree/HysTree2.vue.js +651 -301
- package/dist/components/HysTreeSelect/HysTreeSelect.vue.js +5 -136
- package/dist/components/HysTreeSelect/HysTreeSelect2.vue.js +570 -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 +459 -124
- package/dist/components/HysVirtualTable/HysVirtualTable.vue.js +5 -94
- package/dist/components/HysVirtualTable/HysVirtualTable2.vue.js +656 -2
- 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/color.js +97 -0
- package/dist/composables/dataGrid.js +68 -0
- package/dist/composables/datePicker.js +227 -0
- package/dist/composables/drawer.js +17 -0
- package/dist/composables/feedback.js +14 -0
- package/dist/composables/formContext.js +92 -7
- package/dist/composables/formLayout.js +57 -0
- package/dist/composables/formValidation.js +240 -0
- package/dist/composables/ganttConflicts.js +143 -0
- package/dist/composables/menu.js +96 -0
- package/dist/composables/modal.js +14 -0
- package/dist/composables/numberInput.js +91 -0
- package/dist/composables/overlayManager.js +48 -18
- package/dist/composables/progress.js +94 -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/tagInput.js +16 -0
- package/dist/composables/textInput.js +34 -0
- package/dist/composables/timeline.js +19 -0
- package/dist/composables/transfer.js +65 -0
- package/dist/composables/tree.js +118 -0
- package/dist/composables/treeSelect.js +71 -0
- package/dist/composables/upload.js +55 -0
- package/dist/composables/uploadRequest.js +58 -0
- package/dist/composables/useAlert.js +124 -0
- package/dist/composables/useCascader.js +438 -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/useDatePicker.js +425 -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 +136 -56
- package/dist/composables/useGanttDependencies.js +306 -0
- package/dist/composables/useGanttHistory.js +157 -0
- package/dist/composables/useGanttLabelResize.js +100 -0
- package/dist/composables/useHysModal.js +185 -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/useTable.js +474 -0
- package/dist/composables/useTagInput.js +313 -0
- package/dist/composables/useTextareaSize.js +72 -0
- package/dist/composables/useTransfer.js +257 -0
- package/dist/composables/useTransferMotion.js +185 -0
- package/dist/composables/useTree.js +439 -0
- package/dist/composables/useTreeSelect.js +361 -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/index.js +152 -139
- 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/HysAccordion/HysAccordion.vue.d.ts +61 -22
- package/dist/types/components/HysAlert/HysAlert.vue.d.ts +32 -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 +104 -0
- package/dist/types/components/HysBadge/HysBadge.vue.d.ts +41 -4
- package/dist/types/components/HysBreadcrumb/HysBreadcrumb.vue.d.ts +71 -20
- package/dist/types/components/HysButton/HysButton.vue.d.ts +0 -1
- package/dist/types/components/HysCalendar/HysCalendar.vue.d.ts +120 -31
- package/dist/types/components/HysCard/HysCard.vue.d.ts +55 -7
- 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 +50 -39
- package/dist/types/components/HysCheckboxGroup/HysCheckboxGroup.vue.d.ts +73 -0
- 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/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 +92 -35
- package/dist/types/components/HysEmpty/HysEmpty.vue.d.ts +24 -20
- 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 +84 -5
- package/dist/types/components/HysInput/HysInput.vue.d.ts +52 -29
- package/dist/types/components/HysMention/HysMention.vue.d.ts +4 -3
- package/dist/types/components/HysModal/HysModal.vue.d.ts +111 -34
- package/dist/types/components/HysNumberInput/HysNumberInput.vue.d.ts +93 -35
- package/dist/types/components/HysOrgTree/HysOrgTree.vue.d.ts +1 -0
- package/dist/types/components/HysPagination/HysPagination.vue.d.ts +1 -1
- package/dist/types/components/HysPermissionMatrix/HysPermissionMatrix.vue.d.ts +2 -2
- 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/HysRadio/HysRadio.vue.d.ts +56 -0
- package/dist/types/components/HysRadioGroup/HysRadioGroup.vue.d.ts +34 -12
- package/dist/types/components/HysRating/HysRating.vue.d.ts +85 -5
- package/dist/types/components/HysResizablePanel/HysResizablePanel.vue.d.ts +2 -2
- 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 +131 -22
- package/dist/types/components/HysSkeleton/HysSkeleton.vue.d.ts +30 -2
- package/dist/types/components/HysSlider/HysSlider.vue.d.ts +69 -11
- package/dist/types/components/HysSlider/SliderTooltip.vue.d.ts +24 -0
- package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +3 -3
- package/dist/types/components/HysSteps/HysSteps.vue.d.ts +64 -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 +50 -28
- package/dist/types/components/HysTextarea/HysTextarea.vue.d.ts +44 -27
- package/dist/types/components/HysTimeline/HysTimeline.vue.d.ts +19 -32
- package/dist/types/components/HysToast/HysToast.vue.d.ts +3 -3
- package/dist/types/components/HysTooltip/HysTooltip.vue.d.ts +39 -19
- package/dist/types/components/HysTour/HysTour.vue.d.ts +4 -3
- package/dist/types/components/HysTransfer/HysTransfer.vue.d.ts +55 -40
- package/dist/types/components/HysTransfer/HysTransferPanel.vue.d.ts +107 -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/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 +109 -0
- package/dist/types/composables/avatar.d.ts +73 -0
- package/dist/types/composables/calendar.d.ts +66 -0
- package/dist/types/composables/cascader.d.ts +195 -0
- package/dist/types/composables/choice.d.ts +110 -0
- package/dist/types/composables/choiceModel.d.ts +11 -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 +250 -0
- package/dist/types/composables/drawer.d.ts +102 -0
- package/dist/types/composables/feedback.d.ts +98 -0
- package/dist/types/composables/formContext.d.ts +135 -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/menu.d.ts +183 -0
- package/dist/types/composables/modal.d.ts +183 -0
- package/dist/types/composables/numberInput.d.ts +45 -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/rating.d.ts +18 -0
- package/dist/types/composables/segmented.d.ts +15 -0
- package/dist/types/composables/selectOptions.d.ts +46 -0
- package/dist/types/composables/slider.d.ts +21 -0
- package/dist/types/composables/table.d.ts +312 -0
- package/dist/types/composables/tagInput.d.ts +96 -0
- package/dist/types/composables/textInput.d.ts +76 -0
- package/dist/types/composables/timeline.d.ts +82 -0
- package/dist/types/composables/transfer.d.ts +187 -0
- package/dist/types/composables/tree.d.ts +240 -0
- package/dist/types/composables/treeSelect.d.ts +170 -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 +162 -0
- 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/useDatePicker.d.ts +79 -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 +28 -6
- 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/useHysModal.d.ts +44 -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/useTable.d.ts +60 -0
- package/dist/types/composables/useTagInput.d.ts +66 -0
- package/dist/types/composables/useTextareaSize.d.ts +3 -0
- package/dist/types/composables/useTransfer.d.ts +58 -0
- package/dist/types/composables/useTransferMotion.d.ts +36 -0
- package/dist/types/composables/useTree.d.ts +77 -0
- package/dist/types/composables/useTreeSelect.d.ts +117 -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/index.d.ts +50 -9
- 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 +2 -1
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import type { HysPopupTransition } from '../motion/popup';
|
|
2
|
+
import type { CSSProperties } from "vue";
|
|
3
|
+
import type { Placement } from "./useFloating";
|
|
4
|
+
export type HysDateScalar = string | Date | number;
|
|
5
|
+
export type HysDatePickerValue = HysDateScalar | readonly (HysDateScalar | null)[] | null;
|
|
6
|
+
export type HysDateRangeValue = readonly [HysDateScalar | null, HysDateScalar | null] | null;
|
|
7
|
+
export type HysDatePickerType = "date" | "dates" | "week" | "weeks" | "month" | "months" | "quarter" | "quarters" | "year" | "years" | "datetime";
|
|
8
|
+
export type HysDatePickerView = "date" | "month" | "quarter" | "year";
|
|
9
|
+
export type HysDatePickerUnit = "date" | "week" | "month" | "quarter" | "year";
|
|
10
|
+
export interface HysDatePoint {
|
|
11
|
+
day: number;
|
|
12
|
+
second: number;
|
|
13
|
+
}
|
|
14
|
+
export interface HysDatePickerContext {
|
|
15
|
+
range: "start" | "end";
|
|
16
|
+
from: Date | null;
|
|
17
|
+
iso: string;
|
|
18
|
+
}
|
|
19
|
+
export interface HysDateDisabledTime {
|
|
20
|
+
hours?: readonly number[];
|
|
21
|
+
minutes?: (hour: number) => readonly number[];
|
|
22
|
+
seconds?: (hour: number, minute: number) => readonly number[];
|
|
23
|
+
}
|
|
24
|
+
export interface HysDateShortcut {
|
|
25
|
+
label: string;
|
|
26
|
+
value: HysDatePickerValue | (() => HysDatePickerValue);
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface HysDatePickerCell {
|
|
30
|
+
date: Date;
|
|
31
|
+
iso: string;
|
|
32
|
+
value: number;
|
|
33
|
+
end: number;
|
|
34
|
+
text: string;
|
|
35
|
+
type: HysDatePickerView;
|
|
36
|
+
outside: boolean;
|
|
37
|
+
disabled: boolean;
|
|
38
|
+
selected: boolean;
|
|
39
|
+
inRange: boolean;
|
|
40
|
+
today: boolean;
|
|
41
|
+
week: number;
|
|
42
|
+
weekYear: number;
|
|
43
|
+
weekStart: string;
|
|
44
|
+
weekEnd: string;
|
|
45
|
+
}
|
|
46
|
+
export interface HysDatePickerWeek {
|
|
47
|
+
year: number;
|
|
48
|
+
week: number;
|
|
49
|
+
start: string;
|
|
50
|
+
end: string;
|
|
51
|
+
dates: readonly string[];
|
|
52
|
+
}
|
|
53
|
+
export interface HysDatePickerChange {
|
|
54
|
+
source: "date" | "time" | "input" | "shortcut" | "clear" | "confirm" | "api";
|
|
55
|
+
dates: readonly (Date | null)[];
|
|
56
|
+
formatted: readonly string[];
|
|
57
|
+
weeks?: readonly (HysDatePickerWeek | null)[];
|
|
58
|
+
}
|
|
59
|
+
export interface HysDatePickerLocale {
|
|
60
|
+
today: string;
|
|
61
|
+
now: string;
|
|
62
|
+
clear: string;
|
|
63
|
+
cancel: string;
|
|
64
|
+
close: string;
|
|
65
|
+
confirm: string;
|
|
66
|
+
start: string;
|
|
67
|
+
end: string;
|
|
68
|
+
chooseStart: string;
|
|
69
|
+
chooseEnd: string;
|
|
70
|
+
invalid: string;
|
|
71
|
+
week: string;
|
|
72
|
+
year: string;
|
|
73
|
+
month: string;
|
|
74
|
+
back: string;
|
|
75
|
+
prevMonth: string;
|
|
76
|
+
nextMonth: string;
|
|
77
|
+
prevYear: string;
|
|
78
|
+
nextYear: string;
|
|
79
|
+
hour: string;
|
|
80
|
+
minute: string;
|
|
81
|
+
second: string;
|
|
82
|
+
empty: string;
|
|
83
|
+
limit: string;
|
|
84
|
+
}
|
|
85
|
+
export interface HysDatePickerProps<V extends HysDatePickerValue = HysDatePickerValue> {
|
|
86
|
+
popupTransition?: HysPopupTransition;
|
|
87
|
+
popupTransitionDuration?: number;
|
|
88
|
+
modelValue?: V;
|
|
89
|
+
defaultValue?: V;
|
|
90
|
+
clearValue?: V;
|
|
91
|
+
type?: HysDatePickerType;
|
|
92
|
+
valueType?: "string" | "date" | "timestamp";
|
|
93
|
+
valueFormat?: string;
|
|
94
|
+
format?: string;
|
|
95
|
+
inputFormats?: readonly string[];
|
|
96
|
+
disabled?: boolean | readonly [boolean, boolean];
|
|
97
|
+
readonly?: boolean;
|
|
98
|
+
size?: "sm" | "md" | "lg";
|
|
99
|
+
status?: "error" | "warning" | "success";
|
|
100
|
+
bordered?: boolean;
|
|
101
|
+
placeholder?: string;
|
|
102
|
+
label?: string;
|
|
103
|
+
ariaLabel?: string;
|
|
104
|
+
name?: string | readonly [string, string];
|
|
105
|
+
form?: string;
|
|
106
|
+
autofocus?: boolean;
|
|
107
|
+
min?: HysDateScalar;
|
|
108
|
+
max?: HysDateScalar;
|
|
109
|
+
disabledDate?: (date: Date, context: HysDatePickerContext) => boolean;
|
|
110
|
+
disabledTime?: (date: Date, context: HysDatePickerContext) => HysDateDisabledTime;
|
|
111
|
+
firstDayOfWeek?: number;
|
|
112
|
+
firstWeekContainsDate?: number;
|
|
113
|
+
weekNumberFormatter?: (week: HysDatePickerWeek) => string;
|
|
114
|
+
disabledWeek?: (week: HysDatePickerWeek) => boolean;
|
|
115
|
+
weekValidation?: "any" | "full";
|
|
116
|
+
locale?: string;
|
|
117
|
+
messages?: Partial<HysDatePickerLocale>;
|
|
118
|
+
showWeekNumbers?: boolean;
|
|
119
|
+
showAdjacentDays?: boolean;
|
|
120
|
+
defaultPickerValue?: HysDateScalar;
|
|
121
|
+
panelValue?: HysDateScalar;
|
|
122
|
+
mode?: HysDatePickerView;
|
|
123
|
+
defaultMode?: HysDatePickerView;
|
|
124
|
+
shortcuts?: readonly HysDateShortcut[];
|
|
125
|
+
clearable?: boolean;
|
|
126
|
+
editable?: boolean;
|
|
127
|
+
inputReadonly?: boolean;
|
|
128
|
+
showOnFocus?: boolean;
|
|
129
|
+
showToday?: boolean;
|
|
130
|
+
showNow?: boolean;
|
|
131
|
+
showFooter?: boolean;
|
|
132
|
+
showConfirm?: boolean;
|
|
133
|
+
showTime?: boolean;
|
|
134
|
+
defaultTime?: string | readonly [string, string];
|
|
135
|
+
hourStep?: number;
|
|
136
|
+
minuteStep?: number;
|
|
137
|
+
secondStep?: number;
|
|
138
|
+
showSeconds?: boolean;
|
|
139
|
+
rangeSeparator?: string;
|
|
140
|
+
startPlaceholder?: string;
|
|
141
|
+
endPlaceholder?: string;
|
|
142
|
+
allowEmpty?: readonly [boolean, boolean];
|
|
143
|
+
singlePanel?: boolean;
|
|
144
|
+
unlinkPanels?: boolean;
|
|
145
|
+
minRangeDays?: number;
|
|
146
|
+
maxRangeDays?: number;
|
|
147
|
+
rangeValidation?: "endpoints" | "continuous";
|
|
148
|
+
maxDates?: number;
|
|
149
|
+
open?: boolean;
|
|
150
|
+
defaultOpen?: boolean;
|
|
151
|
+
inline?: boolean;
|
|
152
|
+
placement?: Placement;
|
|
153
|
+
appendTo?: string | HTMLElement | false;
|
|
154
|
+
popupWidth?: number | string;
|
|
155
|
+
popupClass?: string;
|
|
156
|
+
popupStyle?: CSSProperties;
|
|
157
|
+
validateEvent?: boolean;
|
|
158
|
+
cellClassName?: (cell: HysDatePickerCell) => string;
|
|
159
|
+
}
|
|
160
|
+
export interface HysDateRangePickerProps<V extends HysDatePickerValue = HysDateRangeValue> extends HysDatePickerProps<V> {
|
|
161
|
+
}
|
|
162
|
+
export interface HysDatePickerInstance<V extends HysDatePickerValue = HysDatePickerValue> {
|
|
163
|
+
readonly element: HTMLElement | undefined;
|
|
164
|
+
readonly open: boolean;
|
|
165
|
+
readonly value: V;
|
|
166
|
+
readonly draft: readonly (Date | null)[];
|
|
167
|
+
focus: () => void;
|
|
168
|
+
blur: () => void;
|
|
169
|
+
show: () => Promise<boolean>;
|
|
170
|
+
hide: (restoreFocus?: boolean) => void;
|
|
171
|
+
handleOpen: () => Promise<boolean>;
|
|
172
|
+
handleClose: () => void;
|
|
173
|
+
clear: () => Promise<boolean>;
|
|
174
|
+
setValue: (value: V) => Promise<boolean>;
|
|
175
|
+
confirm: () => Promise<boolean>;
|
|
176
|
+
cancel: () => void;
|
|
177
|
+
showMonth: (value: HysDateScalar) => Promise<boolean>;
|
|
178
|
+
setMode: (view: HysDatePickerView) => boolean;
|
|
179
|
+
}
|
|
180
|
+
export interface HysDatePickerSlots {
|
|
181
|
+
"week-number"?: (week: HysDatePickerWeek & {
|
|
182
|
+
selected: boolean;
|
|
183
|
+
disabled: boolean;
|
|
184
|
+
}) => any;
|
|
185
|
+
default?: (cell: HysDatePickerCell) => any;
|
|
186
|
+
cell?: (cell: HysDatePickerCell) => any;
|
|
187
|
+
prefix?: () => any;
|
|
188
|
+
suffix?: () => any;
|
|
189
|
+
"clear-icon"?: () => any;
|
|
190
|
+
"prev-month"?: () => any;
|
|
191
|
+
"next-month"?: () => any;
|
|
192
|
+
"prev-year"?: () => any;
|
|
193
|
+
"next-year"?: () => any;
|
|
194
|
+
header?: (context: {
|
|
195
|
+
dates: readonly (Date | null)[];
|
|
196
|
+
view: HysDatePickerView;
|
|
197
|
+
}) => any;
|
|
198
|
+
footer?: (context: {
|
|
199
|
+
dates: readonly (Date | null)[];
|
|
200
|
+
confirm: () => Promise<boolean>;
|
|
201
|
+
cancel: () => void;
|
|
202
|
+
clear: () => Promise<boolean>;
|
|
203
|
+
}) => any;
|
|
204
|
+
shortcut?: (context: {
|
|
205
|
+
shortcut: HysDateShortcut;
|
|
206
|
+
index: number;
|
|
207
|
+
}) => any;
|
|
208
|
+
"range-separator"?: () => any;
|
|
209
|
+
}
|
|
210
|
+
export type HysDateRangePickerInstance<V extends HysDatePickerValue = HysDateRangeValue> = HysDatePickerInstance<V>;
|
|
211
|
+
export declare const datePickerDefaults: {
|
|
212
|
+
readonly open: undefined;
|
|
213
|
+
readonly showConfirm: undefined;
|
|
214
|
+
readonly type: "date";
|
|
215
|
+
readonly clearable: false;
|
|
216
|
+
readonly editable: false;
|
|
217
|
+
readonly bordered: true;
|
|
218
|
+
readonly firstDayOfWeek: 1;
|
|
219
|
+
readonly locale: "zh-CN";
|
|
220
|
+
readonly showAdjacentDays: true;
|
|
221
|
+
readonly showToday: true;
|
|
222
|
+
readonly showNow: true;
|
|
223
|
+
readonly showFooter: true;
|
|
224
|
+
readonly showSeconds: true;
|
|
225
|
+
readonly singlePanel: true;
|
|
226
|
+
readonly rangeSeparator: " 至 ";
|
|
227
|
+
readonly hourStep: 1;
|
|
228
|
+
readonly minuteStep: 1;
|
|
229
|
+
readonly secondStep: 1;
|
|
230
|
+
readonly rangeValidation: "endpoints";
|
|
231
|
+
readonly validateEvent: true;
|
|
232
|
+
readonly appendTo: "body";
|
|
233
|
+
};
|
|
234
|
+
export declare const datePickerWords: HysDatePickerLocale;
|
|
235
|
+
export declare const datePickerEnglish: HysDatePickerLocale;
|
|
236
|
+
export declare const DATE_MIN: number, DATE_MAX: number;
|
|
237
|
+
export declare const dateUnit: (type: string | undefined) => HysDatePickerUnit;
|
|
238
|
+
export declare const dateMultiple: (type: string | undefined) => boolean;
|
|
239
|
+
export declare function datePattern(type: string | undefined, time?: boolean): "YYYY-MM-DD" | "YYYY" | "YYYY-MM-DD HH:mm:ss" | "YYYY-MM" | "YYYY-[Q]Q";
|
|
240
|
+
export declare function datePeriod(day: number, unit: HysDatePickerUnit, first?: number): [number, number];
|
|
241
|
+
export declare function dateTimeString(second: number): string;
|
|
242
|
+
export declare function dateTimeSeconds(value: string | undefined): number;
|
|
243
|
+
export declare function dateWeek(day: number, first?: number, contains?: number): HysDatePickerWeek;
|
|
244
|
+
export declare function dateFormat(point: HysDatePoint, pattern: string, first?: number, contains?: number): string;
|
|
245
|
+
export declare function datePoint(value: unknown, pattern?: string, first?: number, contains?: number): HysDatePoint | undefined;
|
|
246
|
+
export declare function dateNative(point: HysDatePoint): Date;
|
|
247
|
+
export declare function dateEqual(a: HysDatePickerValue | undefined, b: HysDatePickerValue | undefined): boolean;
|
|
248
|
+
export declare function dateClone<V extends HysDatePickerValue>(value: V): V;
|
|
249
|
+
export declare function dateLocale(locale: string): Intl.DateTimeFormat;
|
|
250
|
+
export declare function dateShift(day: number, months: number): number;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import type { CSSProperties, VNodeChild } from "vue";
|
|
2
|
+
import type { HysModalProps, HysModalActionContext, HysModalCloseReason, HysModalInitialFocus, HysModalSectionSize } from "./modal";
|
|
3
|
+
export type HysDrawerPlacement = "left" | "right" | "top" | "bottom";
|
|
4
|
+
export type HysDrawerSizeName = "xs" | "sm" | "md" | "lg" | "xl" | "full";
|
|
5
|
+
export type HysDrawerCloseReason = HysModalCloseReason;
|
|
6
|
+
export type HysDrawerActionContext = HysModalActionContext;
|
|
7
|
+
export type HysDrawerInitialFocus = HysModalInitialFocus;
|
|
8
|
+
export type HysDrawerSectionSize = HysModalSectionSize;
|
|
9
|
+
export type HysDrawerBeforeClose = Function & {
|
|
10
|
+
invoke(reason: HysDrawerCloseReason, context: HysDrawerActionContext): boolean | void | Promise<boolean | void>;
|
|
11
|
+
}["invoke"];
|
|
12
|
+
export interface HysDrawerResizeOptions {
|
|
13
|
+
minSize?: number | string;
|
|
14
|
+
maxSize?: number | string;
|
|
15
|
+
step?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface HysDrawerResizeInfo {
|
|
18
|
+
placement: HysDrawerPlacement;
|
|
19
|
+
cancelled: boolean;
|
|
20
|
+
accepted: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface HysDrawerPushOptions {
|
|
23
|
+
distance?: number | string;
|
|
24
|
+
}
|
|
25
|
+
export interface HysDrawerProps extends Pick<HysModalProps, "open" | "modelValue" | "defaultOpen" | "title" | "description" | "opacity" | "maskOpacity" | "width" | "height" | "fullscreen" | "defaultFullscreen" | "showFullscreen" | "closeOnMask" | "closeOnEscape" | "showClose" | "destroyOnClose" | "forceRender" | "modal" | "modalPenetrable" | "appendTo" | "lockScroll" | "trapFocus" | "restoreFocus" | "initialFocus" | "openDelay" | "closeDelay" | "transitionDuration" | "zIndex" | "headerClass" | "headerSize" | "footerSize" | "headerHeight" | "footerHeight" | "titleFontSize" | "bodyClass" | "footerClass" | "overlayClass" | "headerStyle" | "bodyStyle" | "footerStyle" | "maskStyle" | "ariaLabel" | "ariaLabelledby" | "ariaDescribedby" | "role" | "headerAriaLevel" | "closeText" | "fullscreenText" | "restoreText" | "footer" | "footerAlign" | "showCancel" | "okText" | "cancelText" | "okVariant" | "okButtonProps" | "cancelButtonProps" | "confirmLoading" | "confirmDisabled" | "cancelDisabled" | "closeWhileConfirming" | "loading" | "loadingText" | "showError" | "errorText" | "confirmOnCtrlEnter" | "closeOnConfirm"> {
|
|
26
|
+
beforeClose?: HysDrawerBeforeClose;
|
|
27
|
+
beforeConfirm?: (context: HysDrawerActionContext) => boolean | void | Promise<boolean | void>;
|
|
28
|
+
placement?: HysDrawerPlacement;
|
|
29
|
+
size?: HysDrawerSizeName | number | (string & {});
|
|
30
|
+
drawerClass?: string;
|
|
31
|
+
drawerStyle?: CSSProperties;
|
|
32
|
+
overlayStyle?: CSSProperties;
|
|
33
|
+
bodyTabindex?: number;
|
|
34
|
+
contained?: boolean;
|
|
35
|
+
withHeader?: boolean;
|
|
36
|
+
autofocus?: boolean;
|
|
37
|
+
transition?: "slide" | "fade" | "slide-fade" | "none" | false;
|
|
38
|
+
push?: boolean | HysDrawerPushOptions;
|
|
39
|
+
resizable?: boolean | HysDrawerResizeOptions;
|
|
40
|
+
resizeValue?: number | null;
|
|
41
|
+
defaultResizeValue?: number | null;
|
|
42
|
+
resetSizeOnClose?: boolean;
|
|
43
|
+
resizeText?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface HysDrawerSlotContext {
|
|
46
|
+
close: (reasonOrEvent?: HysDrawerCloseReason | Event, event?: Event) => Promise<boolean>;
|
|
47
|
+
cancel: (event?: Event) => Promise<boolean>;
|
|
48
|
+
confirm: (event?: Event) => Promise<boolean>;
|
|
49
|
+
closing: boolean;
|
|
50
|
+
confirming: boolean;
|
|
51
|
+
busy: boolean;
|
|
52
|
+
error: string;
|
|
53
|
+
titleId: string;
|
|
54
|
+
descriptionId: string;
|
|
55
|
+
fullscreen: boolean;
|
|
56
|
+
toggleFullscreen: () => Promise<boolean>;
|
|
57
|
+
resizing: boolean;
|
|
58
|
+
size: number;
|
|
59
|
+
resetSize: () => Promise<boolean>;
|
|
60
|
+
pushed: boolean;
|
|
61
|
+
}
|
|
62
|
+
export interface HysDrawerSlots {
|
|
63
|
+
default?: (scope: HysDrawerSlotContext) => VNodeChild;
|
|
64
|
+
header?: (scope: HysDrawerSlotContext) => VNodeChild;
|
|
65
|
+
title?: (scope: HysDrawerSlotContext) => VNodeChild;
|
|
66
|
+
extra?: (scope: HysDrawerSlotContext) => VNodeChild;
|
|
67
|
+
footer?: (scope: HysDrawerSlotContext) => VNodeChild;
|
|
68
|
+
loading?: (scope: HysDrawerSlotContext) => VNodeChild;
|
|
69
|
+
"close-icon"?: (scope: HysDrawerSlotContext) => VNodeChild;
|
|
70
|
+
"fullscreen-icon"?: (scope: HysDrawerSlotContext) => VNodeChild;
|
|
71
|
+
}
|
|
72
|
+
export interface HysDrawerInstance {
|
|
73
|
+
readonly element: HTMLElement | undefined;
|
|
74
|
+
readonly body: HTMLElement | undefined;
|
|
75
|
+
readonly open: boolean;
|
|
76
|
+
readonly closing: boolean;
|
|
77
|
+
readonly confirming: boolean;
|
|
78
|
+
readonly fullscreen: boolean;
|
|
79
|
+
readonly resizing: boolean;
|
|
80
|
+
readonly size: number;
|
|
81
|
+
readonly pushed: boolean;
|
|
82
|
+
focus: () => void;
|
|
83
|
+
show: () => Promise<boolean>;
|
|
84
|
+
close: (reasonOrEvent?: HysDrawerCloseReason | Event, event?: Event) => Promise<boolean>;
|
|
85
|
+
hide: () => Promise<boolean>;
|
|
86
|
+
cancel: (event?: Event) => Promise<boolean>;
|
|
87
|
+
confirm: (event?: Event) => Promise<boolean>;
|
|
88
|
+
setFullscreen: (value: boolean) => Promise<boolean>;
|
|
89
|
+
toggleFullscreen: () => Promise<boolean>;
|
|
90
|
+
resizeTo: (value: number | string) => Promise<boolean>;
|
|
91
|
+
resetSize: () => Promise<boolean>;
|
|
92
|
+
}
|
|
93
|
+
export declare const drawerSizes: {
|
|
94
|
+
readonly xs: 280;
|
|
95
|
+
readonly sm: 360;
|
|
96
|
+
readonly md: 520;
|
|
97
|
+
readonly lg: 736;
|
|
98
|
+
readonly xl: 960;
|
|
99
|
+
readonly full: "100%";
|
|
100
|
+
};
|
|
101
|
+
export declare const drawerVertical: (placement?: HysDrawerPlacement) => placement is "top" | "bottom";
|
|
102
|
+
export declare function drawerSize(props: HysDrawerProps): string | number;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { CSSProperties, VNodeChild } from "vue";
|
|
2
|
+
export type HysAlertTone = "info" | "primary" | "success" | "warning" | "danger";
|
|
3
|
+
export type HysAlertEffect = "light" | "dark" | "outline";
|
|
4
|
+
export type HysAlertTransition = "fade" | "slide" | "collapse" | "none";
|
|
5
|
+
export interface HysAlertCloseContext {
|
|
6
|
+
reason: "button" | "api";
|
|
7
|
+
event?: Event;
|
|
8
|
+
signal: AbortSignal;
|
|
9
|
+
}
|
|
10
|
+
export interface HysAlertProps {
|
|
11
|
+
tone?: HysAlertTone;
|
|
12
|
+
title?: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
closable?: boolean;
|
|
15
|
+
showIcon?: boolean;
|
|
16
|
+
center?: boolean;
|
|
17
|
+
visible?: boolean;
|
|
18
|
+
modelValue?: boolean;
|
|
19
|
+
defaultVisible?: boolean;
|
|
20
|
+
effect?: HysAlertEffect;
|
|
21
|
+
banner?: boolean;
|
|
22
|
+
bordered?: boolean;
|
|
23
|
+
size?: "sm" | "md" | "lg";
|
|
24
|
+
closeText?: string;
|
|
25
|
+
closeLabel?: string;
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
beforeClose?: (context: HysAlertCloseContext) => boolean | void | Promise<boolean | void>;
|
|
28
|
+
transition?: HysAlertTransition;
|
|
29
|
+
transitionDuration?: number;
|
|
30
|
+
appear?: boolean;
|
|
31
|
+
ariaLabel?: string;
|
|
32
|
+
ariaLive?: "off" | "polite" | "assertive";
|
|
33
|
+
ariaAtomic?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface HysAlertSlotContext {
|
|
36
|
+
tone: HysAlertTone;
|
|
37
|
+
visible: boolean;
|
|
38
|
+
closing: boolean;
|
|
39
|
+
disabled: boolean;
|
|
40
|
+
close: () => Promise<boolean>;
|
|
41
|
+
}
|
|
42
|
+
export interface HysAlertSlots {
|
|
43
|
+
default?: (context: HysAlertSlotContext) => VNodeChild;
|
|
44
|
+
title?: (context: HysAlertSlotContext) => VNodeChild;
|
|
45
|
+
description?: (context: HysAlertSlotContext) => VNodeChild;
|
|
46
|
+
icon?: (context: HysAlertSlotContext) => VNodeChild;
|
|
47
|
+
action?: (context: HysAlertSlotContext) => VNodeChild;
|
|
48
|
+
"close-icon"?: (context: HysAlertSlotContext) => VNodeChild;
|
|
49
|
+
}
|
|
50
|
+
export interface HysAlertInstance {
|
|
51
|
+
readonly element: HTMLElement | undefined;
|
|
52
|
+
readonly visible: boolean;
|
|
53
|
+
readonly closing: boolean;
|
|
54
|
+
close: () => Promise<boolean>;
|
|
55
|
+
show: () => Promise<boolean>;
|
|
56
|
+
}
|
|
57
|
+
export type HysEmptyIllustration = "inbox" | "simple" | "default";
|
|
58
|
+
export interface HysEmptyProps {
|
|
59
|
+
title?: string | false;
|
|
60
|
+
description?: string | false;
|
|
61
|
+
image?: string | false;
|
|
62
|
+
imageSize?: number;
|
|
63
|
+
imageStyle?: CSSProperties;
|
|
64
|
+
imageFit?: "contain" | "cover" | "fill" | "none" | "scale-down";
|
|
65
|
+
imageAlt?: string;
|
|
66
|
+
imageLoading?: "eager" | "lazy";
|
|
67
|
+
crossOrigin?: "" | "anonymous" | "use-credentials";
|
|
68
|
+
referrerPolicy?: ReferrerPolicy;
|
|
69
|
+
illustration?: HysEmptyIllustration;
|
|
70
|
+
size?: "sm" | "md" | "lg";
|
|
71
|
+
showImageLoading?: boolean;
|
|
72
|
+
ariaLabel?: string;
|
|
73
|
+
ariaLive?: "off" | "polite" | "assertive";
|
|
74
|
+
}
|
|
75
|
+
export interface HysEmptySlotContext {
|
|
76
|
+
title: string | false;
|
|
77
|
+
description: string | false;
|
|
78
|
+
imageLoading: boolean;
|
|
79
|
+
imageError: boolean;
|
|
80
|
+
retryImage: () => boolean;
|
|
81
|
+
}
|
|
82
|
+
export interface HysEmptySlots {
|
|
83
|
+
default?: (context: HysEmptySlotContext) => VNodeChild;
|
|
84
|
+
image?: (context: HysEmptySlotContext) => VNodeChild;
|
|
85
|
+
title?: (context: HysEmptySlotContext) => VNodeChild;
|
|
86
|
+
description?: (context: HysEmptySlotContext) => VNodeChild;
|
|
87
|
+
action?: (context: HysEmptySlotContext) => VNodeChild;
|
|
88
|
+
fallback?: (context: HysEmptySlotContext) => VNodeChild;
|
|
89
|
+
}
|
|
90
|
+
export interface HysEmptyInstance {
|
|
91
|
+
readonly element: HTMLElement | undefined;
|
|
92
|
+
readonly imageElement: HTMLImageElement | undefined;
|
|
93
|
+
readonly loadingImage: boolean;
|
|
94
|
+
readonly failedImage: boolean;
|
|
95
|
+
retryImage: () => boolean;
|
|
96
|
+
}
|
|
97
|
+
export declare function feedbackImage(value: string | false | undefined): string | undefined;
|
|
98
|
+
export declare const feedbackNumber: (value: number | undefined, fallback: number, min: number, max: number) => number;
|
|
@@ -1,20 +1,116 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ComputedRef, type InjectionKey, type Ref } from "vue";
|
|
2
|
+
import type { RuleType, ValidateMessages } from "async-validator";
|
|
3
|
+
import type { HysFormCol } from "./formLayout";
|
|
4
|
+
export type HysFormPath = string | readonly (string | number)[];
|
|
5
|
+
export type HysFormPaths = string | readonly HysFormPath[];
|
|
6
|
+
export type HysFormTrigger = "blur" | "change";
|
|
7
|
+
export type HysFormStatus = "idle" | "validating" | "success" | "warning" | "error";
|
|
8
|
+
export type HysFormRuleType = RuleType;
|
|
9
|
+
export type HysFormMessages = Partial<ValidateMessages>;
|
|
10
|
+
export interface HysFormValidationContext {
|
|
11
|
+
path: string;
|
|
12
|
+
signal: AbortSignal;
|
|
13
|
+
}
|
|
14
|
+
export type HysFormValidateCallback = (valid: boolean, result: HysFormValidationResult) => void | Promise<void>;
|
|
15
|
+
export interface HysFormFieldData {
|
|
16
|
+
name: HysFormPath;
|
|
17
|
+
value?: unknown;
|
|
18
|
+
errors?: string[];
|
|
19
|
+
warnings?: string[];
|
|
20
|
+
}
|
|
2
21
|
export interface HysFormRule {
|
|
22
|
+
type?: HysFormRuleType;
|
|
3
23
|
required?: boolean;
|
|
4
|
-
message?: string;
|
|
24
|
+
message?: string | ((path?: string) => string);
|
|
5
25
|
min?: number;
|
|
6
26
|
max?: number;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
27
|
+
len?: number;
|
|
28
|
+
enum?: Array<string | number | boolean | null | undefined>;
|
|
29
|
+
whitespace?: boolean;
|
|
30
|
+
pattern?: RegExp | string;
|
|
31
|
+
transform?: (value: unknown) => unknown;
|
|
32
|
+
fields?: HysFormRules;
|
|
33
|
+
defaultField?: HysFormRule | HysFormRule[];
|
|
34
|
+
trigger?: HysFormTrigger | HysFormTrigger[];
|
|
35
|
+
level?: "error" | "warning";
|
|
36
|
+
validator?: (value: unknown, model: Record<string, unknown>, context: HysFormValidationContext) => boolean | string | Error | void | Promise<boolean | string | Error | void>;
|
|
37
|
+
asyncValidator?: (value: unknown, callback: (error?: string | Error) => void, model: Record<string, unknown>, context: HysFormValidationContext) => void | Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
export interface HysFormRules {
|
|
40
|
+
[path: string]: HysFormRule | HysFormRule[];
|
|
41
|
+
}
|
|
42
|
+
export interface HysFormValidationResult {
|
|
43
|
+
valid: boolean;
|
|
44
|
+
cancelled: boolean;
|
|
45
|
+
values: Record<string, unknown>;
|
|
46
|
+
errors: Record<string, string>;
|
|
47
|
+
warnings: Record<string, string>;
|
|
48
|
+
errorMessages: Record<string, string[]>;
|
|
49
|
+
warningMessages: Record<string, string[]>;
|
|
50
|
+
}
|
|
51
|
+
export interface HysFormFieldState {
|
|
52
|
+
status: HysFormStatus;
|
|
53
|
+
message: string;
|
|
54
|
+
warning: string;
|
|
55
|
+
validating: boolean;
|
|
56
|
+
}
|
|
57
|
+
export interface HysFormField {
|
|
58
|
+
path: ComputedRef<string>;
|
|
59
|
+
element: Ref<HTMLElement | undefined>;
|
|
60
|
+
rules: ComputedRef<HysFormRule[]>;
|
|
61
|
+
trigger: ComputedRef<HysFormTrigger | HysFormTrigger[]>;
|
|
62
|
+
dependencies?: ComputedRef<readonly HysFormPath[]>;
|
|
63
|
+
label: ComputedRef<string | undefined>;
|
|
64
|
+
validateFirst?: ComputedRef<boolean>;
|
|
65
|
+
preserve?: ComputedRef<boolean>;
|
|
66
|
+
validate: (trigger?: HysFormTrigger) => Promise<boolean>;
|
|
67
|
+
clearValidate: () => void;
|
|
68
|
+
resetField: () => void;
|
|
69
|
+
setInitialValue?: (value: unknown) => void;
|
|
70
|
+
focus: () => void;
|
|
10
71
|
}
|
|
11
72
|
export interface HysFormContext {
|
|
12
73
|
model: ComputedRef<Record<string, unknown> | undefined>;
|
|
13
74
|
resetting: Ref<boolean>;
|
|
75
|
+
suppressAutoBlur?: Ref<boolean>;
|
|
14
76
|
errors: Ref<Record<string, string>>;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
77
|
+
warnings: Ref<Record<string, string>>;
|
|
78
|
+
errorMessages: Ref<Record<string, string[]>>;
|
|
79
|
+
warningMessages: Ref<Record<string, string[]>>;
|
|
80
|
+
states: Ref<Record<string, HysFormFieldState>>;
|
|
81
|
+
rules: ComputedRef<HysFormRules>;
|
|
82
|
+
getRules: (path: HysFormPath) => HysFormRule[];
|
|
83
|
+
disabled: ComputedRef<boolean>;
|
|
84
|
+
size: ComputedRef<"sm" | "md" | "lg">;
|
|
85
|
+
labelPosition: ComputedRef<"top" | "left" | "right">;
|
|
86
|
+
labelWidth: ComputedRef<string>;
|
|
87
|
+
autoLabelWidth: ComputedRef<string>;
|
|
88
|
+
containerWidth: ComputedRef<number>;
|
|
89
|
+
columns: ComputedRef<number>;
|
|
90
|
+
labelAlign: ComputedRef<"left" | "right">;
|
|
91
|
+
labelWrap: ComputedRef<boolean>;
|
|
92
|
+
labelSuffix: ComputedRef<string>;
|
|
93
|
+
colon: ComputedRef<boolean>;
|
|
94
|
+
labelCol: ComputedRef<HysFormCol | undefined>;
|
|
95
|
+
wrapperCol: ComputedRef<HysFormCol | undefined>;
|
|
96
|
+
inlineFeedback: ComputedRef<boolean>;
|
|
97
|
+
feedbackIcon: ComputedRef<boolean>;
|
|
98
|
+
optionalMark: ComputedRef<string>;
|
|
99
|
+
validateFirst: ComputedRef<boolean>;
|
|
100
|
+
preserve: ComputedRef<boolean>;
|
|
101
|
+
setLabelWidth: (key: string, width?: number) => void;
|
|
102
|
+
showLabel: ComputedRef<boolean>;
|
|
103
|
+
showFeedback: ComputedRef<boolean>;
|
|
104
|
+
showRequiredMark: ComputedRef<boolean>;
|
|
105
|
+
requiredMarkPosition: ComputedRef<"left" | "right">;
|
|
106
|
+
validateTrigger: ComputedRef<HysFormTrigger | HysFormTrigger[]>;
|
|
107
|
+
validateOnRuleChange: ComputedRef<boolean>;
|
|
108
|
+
register: (field: HysFormField) => () => void;
|
|
109
|
+
validateField: (name: HysFormPath, trigger?: HysFormTrigger) => Promise<boolean>;
|
|
110
|
+
cancelField: (name: HysFormPath) => void;
|
|
111
|
+
clearValidate: (names?: HysFormPaths) => void;
|
|
112
|
+
resetFields: (names?: HysFormPaths) => void;
|
|
113
|
+
setFieldInitialValue: (name: HysFormPath, value: unknown) => void;
|
|
18
114
|
}
|
|
19
115
|
export declare const formKey: InjectionKey<HysFormContext>;
|
|
20
116
|
export interface HysFieldContext {
|
|
@@ -24,6 +120,37 @@ export interface HysFieldContext {
|
|
|
24
120
|
errorId: string;
|
|
25
121
|
describedBy: ComputedRef<string | undefined>;
|
|
26
122
|
required: ComputedRef<boolean>;
|
|
123
|
+
invalid?: ComputedRef<boolean>;
|
|
124
|
+
status?: ComputedRef<HysFormStatus>;
|
|
125
|
+
validate?: (trigger?: HysFormTrigger) => Promise<boolean>;
|
|
126
|
+
/** Temporarily defer model-watch validation during a continuous control gesture. */
|
|
127
|
+
deferChangeValidation?: () => () => void;
|
|
128
|
+
disabled?: ComputedRef<boolean>;
|
|
129
|
+
size?: ComputedRef<"sm" | "md" | "lg">;
|
|
27
130
|
}
|
|
28
131
|
export declare const fieldKey: InjectionKey<HysFieldContext>;
|
|
132
|
+
/** Integrate a custom control with its nearest FormItem without DOM queries. */
|
|
133
|
+
export declare function useHysFormItemContext(): {
|
|
134
|
+
id: ComputedRef<string | undefined>;
|
|
135
|
+
label: ComputedRef<string | undefined>;
|
|
136
|
+
disabled: ComputedRef<boolean>;
|
|
137
|
+
size: ComputedRef<"sm" | "md" | "lg">;
|
|
138
|
+
required: ComputedRef<boolean>;
|
|
139
|
+
invalid: ComputedRef<boolean>;
|
|
140
|
+
status: ComputedRef<HysFormStatus>;
|
|
141
|
+
error: ComputedRef<string | undefined>;
|
|
142
|
+
describedBy: ComputedRef<string | undefined>;
|
|
143
|
+
validate: (trigger?: HysFormTrigger) => Promise<boolean>;
|
|
144
|
+
};
|
|
145
|
+
export declare function useHysControlState(props: {
|
|
146
|
+
disabled?: boolean;
|
|
147
|
+
size?: "sm" | "md" | "lg";
|
|
148
|
+
}): {
|
|
149
|
+
disabled: ComputedRef<boolean>;
|
|
150
|
+
size: ComputedRef<"sm" | "md" | "lg">;
|
|
151
|
+
label: ComputedRef<string | undefined>;
|
|
152
|
+
};
|
|
153
|
+
export declare function formPath(path: HysFormPath): string;
|
|
154
|
+
export declare function formValue(model: Record<string, unknown> | undefined, path: HysFormPath): unknown;
|
|
155
|
+
export declare function setFormValue(model: Record<string, unknown>, path: HysFormPath, value: unknown): void;
|
|
29
156
|
export declare function focusHysField(control: HTMLElement | null | undefined): void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
export type HysFormBreakpoint = "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
|
|
3
|
+
export type HysFormGridValue = number | Partial<Record<HysFormBreakpoint, number>>;
|
|
4
|
+
export interface HysFormColSize {
|
|
5
|
+
span?: number;
|
|
6
|
+
offset?: number;
|
|
7
|
+
}
|
|
8
|
+
export type HysFormCol = HysFormColSize & Partial<Record<HysFormBreakpoint, number | HysFormColSize>>;
|
|
9
|
+
export declare function resolveFormGrid(value: HysFormGridValue | undefined, width: number, fallback?: number): number;
|
|
10
|
+
export declare function resolveFormCol(value: HysFormCol | undefined, width: number): HysFormColSize | undefined;
|
|
11
|
+
export declare function useFormWidth(element: Ref<HTMLElement | undefined>): import("vue").ComputedRef<number>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type HysFormMessages, type HysFormRule, type HysFormRules, type HysFormValidationContext } from "./formContext";
|
|
2
|
+
export declare function snapshotForm(value: unknown, seen?: WeakMap<object, unknown>): unknown;
|
|
3
|
+
export declare function sameFormValue(a: unknown, b: unknown, seen?: WeakMap<object, object>): boolean;
|
|
4
|
+
export interface HysFormRuleResult {
|
|
5
|
+
messages: string[];
|
|
6
|
+
fields: Record<string, string[]>;
|
|
7
|
+
}
|
|
8
|
+
export declare function runFormRules(name: string, value: unknown, rules: HysFormRule[], model: Record<string, unknown>, messages: HysFormMessages | undefined, context: HysFormValidationContext, first?: boolean): HysFormRuleResult | Promise<HysFormRuleResult>;
|
|
9
|
+
/** Resolve a mounted leaf against object/array descriptors declared on parents. */
|
|
10
|
+
export declare function nestedFormRules(path: string, rules: HysFormRules, model?: Record<string, unknown>): {
|
|
11
|
+
rules: HysFormRule[];
|
|
12
|
+
value: unknown;
|
|
13
|
+
};
|