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,68 @@
|
|
|
1
|
+
export interface HysGanttScrollOptions {
|
|
2
|
+
behavior?: ScrollBehavior;
|
|
3
|
+
block?: ScrollLogicalPosition;
|
|
4
|
+
horizontal?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface HysGanttDependencyChange {
|
|
7
|
+
sourceId: string | number;
|
|
8
|
+
targetId: string | number;
|
|
9
|
+
type: "add" | "remove";
|
|
10
|
+
}
|
|
11
|
+
export type HysGanttDependencyReason = "missing" | "disabled" | "self" | "duplicate" | "cycle" | "rejected" | "busy";
|
|
12
|
+
export type HysGanttHistoryType = "move" | "resize-start" | "resize-end" | "nudge" | "dependency-add" | "dependency-remove" | "dependency-move";
|
|
13
|
+
export interface HysGanttHistoryEntry {
|
|
14
|
+
type: HysGanttHistoryType;
|
|
15
|
+
label: string;
|
|
16
|
+
taskIds: Array<string | number>;
|
|
17
|
+
}
|
|
18
|
+
export interface HysGanttHistoryState {
|
|
19
|
+
canUndo: boolean;
|
|
20
|
+
canRedo: boolean;
|
|
21
|
+
undoCount: number;
|
|
22
|
+
redoCount: number;
|
|
23
|
+
undoLabel: string;
|
|
24
|
+
redoLabel: string;
|
|
25
|
+
pending: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface HysGanttHistoryInvalid {
|
|
28
|
+
action: "undo" | "redo";
|
|
29
|
+
reason: "disabled" | "busy" | "missing" | "stale" | "rejected";
|
|
30
|
+
}
|
|
31
|
+
export type HysGanttConflictType = "dependency-order" | "invalid-date" | "missing-dependency" | "dependency-cycle";
|
|
32
|
+
export interface HysGanttConflict {
|
|
33
|
+
id: string;
|
|
34
|
+
type: HysGanttConflictType;
|
|
35
|
+
taskId: string | number;
|
|
36
|
+
taskTitle: string;
|
|
37
|
+
sourceId?: string | number;
|
|
38
|
+
sourceTitle?: string;
|
|
39
|
+
message: string;
|
|
40
|
+
expectedStart?: string;
|
|
41
|
+
days?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface HysGanttDependencyMove {
|
|
44
|
+
sourceId: string | number;
|
|
45
|
+
previousTargetId: string | number;
|
|
46
|
+
targetId: string | number;
|
|
47
|
+
type: "move";
|
|
48
|
+
}
|
|
49
|
+
export type HysGanttDependencyInvalid = (HysGanttDependencyChange | HysGanttDependencyMove) & {
|
|
50
|
+
reason: HysGanttDependencyReason;
|
|
51
|
+
};
|
|
52
|
+
export interface HysGanttInstance {
|
|
53
|
+
element: HTMLElement | undefined;
|
|
54
|
+
viewport: HTMLElement | null;
|
|
55
|
+
scrollToTask: (id: string | number, options?: HysGanttScrollOptions) => Promise<boolean>;
|
|
56
|
+
scrollToTop: (options?: Pick<HysGanttScrollOptions, "behavior">) => void;
|
|
57
|
+
addDependency: (sourceId: string | number, targetId: string | number) => Promise<boolean>;
|
|
58
|
+
removeDependency: (sourceId: string | number, targetId: string | number) => Promise<boolean>;
|
|
59
|
+
cancelDependency: () => void;
|
|
60
|
+
moveDependency: (sourceId: string | number, previousTargetId: string | number, targetId: string | number) => Promise<boolean>;
|
|
61
|
+
canUndo: boolean;
|
|
62
|
+
canRedo: boolean;
|
|
63
|
+
historyState: HysGanttHistoryState;
|
|
64
|
+
undo: () => Promise<boolean>;
|
|
65
|
+
redo: () => Promise<boolean>;
|
|
66
|
+
clearHistory: () => void;
|
|
67
|
+
conflicts: readonly HysGanttConflict[];
|
|
68
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { HysGanttConflict } from "./gantt";
|
|
2
|
+
type Id = string | number;
|
|
3
|
+
export interface GanttScheduleTask {
|
|
4
|
+
id: Id;
|
|
5
|
+
title: string;
|
|
6
|
+
start: string;
|
|
7
|
+
end: string;
|
|
8
|
+
dependencies?: readonly Id[];
|
|
9
|
+
}
|
|
10
|
+
interface Task extends GanttScheduleTask {
|
|
11
|
+
s: number | null;
|
|
12
|
+
e: number | null;
|
|
13
|
+
}
|
|
14
|
+
interface Edge {
|
|
15
|
+
sourceId: Id;
|
|
16
|
+
targetId: Id;
|
|
17
|
+
id: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function parseGanttDay(value: string): number | null;
|
|
20
|
+
export declare const ganttEdgeKey: (source: Id, target: Id) => string;
|
|
21
|
+
export declare function analyzeGanttSchedule(items: readonly GanttScheduleTask[]): {
|
|
22
|
+
conflicts: HysGanttConflict[];
|
|
23
|
+
byTask: Map<Id, HysGanttConflict[]>;
|
|
24
|
+
byEdge: Map<string, HysGanttConflict>;
|
|
25
|
+
tasks: Map<Id, Task>;
|
|
26
|
+
incident: Map<Id, Edge[]>;
|
|
27
|
+
cyclic: Set<string>;
|
|
28
|
+
};
|
|
29
|
+
export declare function previewGanttConflicts(analysis: ReturnType<typeof analyzeGanttSchedule>, id: Id, start: number, end: number): HysGanttConflict[];
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import type { HysPopupMotionProps } from "../motion/popup";
|
|
2
|
+
import { type Component, type CSSProperties, type VNodeChild } from "vue";
|
|
3
|
+
import type { Placement } from "./useFloating";
|
|
4
|
+
export type HysMenuKey = string | number;
|
|
5
|
+
export type HysContextMenuTrigger = "contextmenu" | "click" | "hover" | "focus";
|
|
6
|
+
export interface HysContextMenuItem {
|
|
7
|
+
label: string;
|
|
8
|
+
value?: HysMenuKey;
|
|
9
|
+
type?: "item" | "divider" | "group" | "checkbox" | "radio";
|
|
10
|
+
children?: readonly HysContextMenuItem[];
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
hidden?: boolean;
|
|
13
|
+
danger?: boolean;
|
|
14
|
+
icon?: Component;
|
|
15
|
+
description?: string;
|
|
16
|
+
shortcut?: string;
|
|
17
|
+
href?: string;
|
|
18
|
+
target?: string;
|
|
19
|
+
rel?: string;
|
|
20
|
+
checked?: boolean;
|
|
21
|
+
radioGroup?: HysMenuKey;
|
|
22
|
+
closeOnSelect?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface HysMenuFieldNames {
|
|
25
|
+
value: string;
|
|
26
|
+
label: string;
|
|
27
|
+
children: string;
|
|
28
|
+
disabled: string;
|
|
29
|
+
hidden: string;
|
|
30
|
+
type: string;
|
|
31
|
+
icon: string;
|
|
32
|
+
description: string;
|
|
33
|
+
shortcut: string;
|
|
34
|
+
href: string;
|
|
35
|
+
target: string;
|
|
36
|
+
rel: string;
|
|
37
|
+
danger: string;
|
|
38
|
+
checked: string;
|
|
39
|
+
radioGroup: string;
|
|
40
|
+
closeOnSelect: string;
|
|
41
|
+
}
|
|
42
|
+
export interface HysMenuSelectInfo<N extends object = HysContextMenuItem> {
|
|
43
|
+
item: N;
|
|
44
|
+
path: readonly N[];
|
|
45
|
+
keys: readonly HysMenuKey[];
|
|
46
|
+
event: MouseEvent | KeyboardEvent | undefined;
|
|
47
|
+
checked?: boolean;
|
|
48
|
+
checkedKeys: readonly HysMenuKey[];
|
|
49
|
+
selectedKeys: readonly HysMenuKey[];
|
|
50
|
+
}
|
|
51
|
+
export interface HysMenuShowOptions {
|
|
52
|
+
x?: number;
|
|
53
|
+
y?: number;
|
|
54
|
+
focus?: boolean;
|
|
55
|
+
}
|
|
56
|
+
export interface HysContextMenuProps<N extends object = HysContextMenuItem> extends HysPopupMotionProps {
|
|
57
|
+
items: readonly N[];
|
|
58
|
+
fieldNames?: Partial<HysMenuFieldNames>;
|
|
59
|
+
disabled?: boolean;
|
|
60
|
+
loading?: boolean;
|
|
61
|
+
size?: "sm" | "md" | "lg";
|
|
62
|
+
trigger?: HysContextMenuTrigger | readonly HysContextMenuTrigger[];
|
|
63
|
+
open?: boolean;
|
|
64
|
+
defaultOpen?: boolean;
|
|
65
|
+
openPath?: readonly HysMenuKey[];
|
|
66
|
+
defaultOpenPath?: readonly HysMenuKey[];
|
|
67
|
+
checkedKeys?: readonly HysMenuKey[];
|
|
68
|
+
defaultCheckedKeys?: readonly HysMenuKey[];
|
|
69
|
+
selectedKeys?: readonly HysMenuKey[];
|
|
70
|
+
defaultSelectedKeys?: readonly HysMenuKey[];
|
|
71
|
+
selectable?: boolean;
|
|
72
|
+
multiple?: boolean;
|
|
73
|
+
hideOnClick?: boolean;
|
|
74
|
+
autofocus?: boolean;
|
|
75
|
+
loopNavigation?: boolean;
|
|
76
|
+
showDelay?: number;
|
|
77
|
+
hideDelay?: number;
|
|
78
|
+
submenuDelay?: number;
|
|
79
|
+
submenuTrigger?: "hover" | "click";
|
|
80
|
+
placement?: Placement;
|
|
81
|
+
appendTo?: string | HTMLElement | false;
|
|
82
|
+
width?: string | number;
|
|
83
|
+
minWidth?: number;
|
|
84
|
+
maxWidth?: number;
|
|
85
|
+
maxHeight?: number;
|
|
86
|
+
arrow?: boolean;
|
|
87
|
+
popupClass?: string;
|
|
88
|
+
popupStyle?: CSSProperties;
|
|
89
|
+
direction?: "ltr" | "rtl";
|
|
90
|
+
ariaLabel?: string;
|
|
91
|
+
emptyText?: string;
|
|
92
|
+
loadingText?: string;
|
|
93
|
+
backText?: string;
|
|
94
|
+
}
|
|
95
|
+
export interface HysContextMenuInstance<N extends object = HysContextMenuItem> {
|
|
96
|
+
readonly element: HTMLElement | undefined;
|
|
97
|
+
readonly open: boolean;
|
|
98
|
+
readonly checkedKeys: HysMenuKey[];
|
|
99
|
+
readonly selectedKeys: HysMenuKey[];
|
|
100
|
+
readonly openPath: HysMenuKey[];
|
|
101
|
+
focus: () => void;
|
|
102
|
+
blur: () => void;
|
|
103
|
+
show: (event?: MouseEvent | KeyboardEvent | HysMenuShowOptions) => Promise<boolean>;
|
|
104
|
+
showAt: (x: number, y: number, focus?: boolean) => Promise<boolean>;
|
|
105
|
+
hide: (restoreFocus?: boolean) => Promise<boolean>;
|
|
106
|
+
handleOpen: () => Promise<boolean>;
|
|
107
|
+
handleClose: () => Promise<boolean>;
|
|
108
|
+
toggle: () => Promise<boolean>;
|
|
109
|
+
focusItem: (key: HysMenuKey) => Promise<boolean>;
|
|
110
|
+
openSubmenu: (key: HysMenuKey) => Promise<boolean>;
|
|
111
|
+
closeSubmenus: () => Promise<boolean>;
|
|
112
|
+
setCheckedKeys: (keys: readonly HysMenuKey[]) => Promise<boolean>;
|
|
113
|
+
setSelectedKeys: (keys: readonly HysMenuKey[]) => Promise<boolean>;
|
|
114
|
+
getItems: () => N[];
|
|
115
|
+
}
|
|
116
|
+
export interface HysMenuItemContext<N extends object = HysContextMenuItem> {
|
|
117
|
+
item: N;
|
|
118
|
+
value: HysMenuKey | undefined;
|
|
119
|
+
label: string;
|
|
120
|
+
path: readonly N[];
|
|
121
|
+
keys: readonly HysMenuKey[];
|
|
122
|
+
level: number;
|
|
123
|
+
disabled: boolean;
|
|
124
|
+
checked: boolean;
|
|
125
|
+
selected: boolean;
|
|
126
|
+
expanded: boolean;
|
|
127
|
+
submenu: boolean;
|
|
128
|
+
}
|
|
129
|
+
export interface HysContextMenuSlots<N extends object = HysContextMenuItem> {
|
|
130
|
+
default?: (scope: {
|
|
131
|
+
open: boolean;
|
|
132
|
+
show: HysContextMenuInstance<N>["show"];
|
|
133
|
+
hide: HysContextMenuInstance<N>["hide"];
|
|
134
|
+
toggle: HysContextMenuInstance<N>["toggle"];
|
|
135
|
+
attrs: Record<string, unknown>;
|
|
136
|
+
}) => VNodeChild;
|
|
137
|
+
item?: (scope: HysMenuItemContext<N>) => VNodeChild;
|
|
138
|
+
icon?: (scope: HysMenuItemContext<N>) => VNodeChild;
|
|
139
|
+
link?: (scope: HysMenuItemContext<N> & {
|
|
140
|
+
attrs: Record<string, unknown>;
|
|
141
|
+
}) => VNodeChild;
|
|
142
|
+
header?: (scope: {
|
|
143
|
+
close: () => Promise<boolean>;
|
|
144
|
+
}) => VNodeChild;
|
|
145
|
+
footer?: (scope: {
|
|
146
|
+
close: () => Promise<boolean>;
|
|
147
|
+
}) => VNodeChild;
|
|
148
|
+
empty?: () => VNodeChild;
|
|
149
|
+
loading?: () => VNodeChild;
|
|
150
|
+
}
|
|
151
|
+
export interface MenuRow<N extends object> {
|
|
152
|
+
id: string;
|
|
153
|
+
raw: N;
|
|
154
|
+
key?: HysMenuKey;
|
|
155
|
+
label: string;
|
|
156
|
+
type: NonNullable<HysContextMenuItem["type"]>;
|
|
157
|
+
disabled: boolean;
|
|
158
|
+
danger: boolean;
|
|
159
|
+
icon?: Component;
|
|
160
|
+
description: string;
|
|
161
|
+
shortcut: string;
|
|
162
|
+
href?: string;
|
|
163
|
+
target?: string;
|
|
164
|
+
rel?: string;
|
|
165
|
+
radioGroup?: HysMenuKey;
|
|
166
|
+
checked: boolean;
|
|
167
|
+
closeOnSelect?: boolean;
|
|
168
|
+
children: MenuRow<N>[];
|
|
169
|
+
parents: MenuRow<N>[];
|
|
170
|
+
path: N[];
|
|
171
|
+
keys: HysMenuKey[];
|
|
172
|
+
level: number;
|
|
173
|
+
}
|
|
174
|
+
export declare const menuToken: (key: HysMenuKey) => string;
|
|
175
|
+
export declare function menuKeys(keys: readonly HysMenuKey[] | undefined): HysMenuKey[];
|
|
176
|
+
export declare const menuKeysEqual: (a: readonly HysMenuKey[], b: readonly HysMenuKey[]) => boolean;
|
|
177
|
+
export declare function menuField(item: object, path: string): unknown;
|
|
178
|
+
export declare const menuSafeRel: (target?: string, rel?: string) => string | undefined;
|
|
179
|
+
export declare function menuRows<N extends object>(items: readonly N[], fields?: Partial<HysMenuFieldNames>): {
|
|
180
|
+
roots: MenuRow<N>[];
|
|
181
|
+
all: MenuRow<N>[];
|
|
182
|
+
byKey: Map<string, MenuRow<N>>;
|
|
183
|
+
};
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import type { Component, CSSProperties, TransitionProps, VNodeChild } from "vue";
|
|
2
|
+
import type { HysButtonProps, HysButtonVariant } from "../components/HysButton/HysButton.vue";
|
|
3
|
+
export type HysModalCloseReason = "mask" | "escape" | "button" | "cancel" | "confirm" | "api";
|
|
4
|
+
export type HysModalType = "default" | "confirm" | "info" | "success" | "warning" | "error";
|
|
5
|
+
export type HysModalInitialFocus = "auto" | "dialog" | "confirm" | "cancel" | false | string | InstanceType<typeof HTMLElement>;
|
|
6
|
+
export type HysModalSizeName = "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "full";
|
|
7
|
+
export declare const modalWidths: {
|
|
8
|
+
readonly xs: 360;
|
|
9
|
+
readonly sm: 440;
|
|
10
|
+
readonly md: 560;
|
|
11
|
+
readonly lg: 720;
|
|
12
|
+
readonly xl: 960;
|
|
13
|
+
readonly "2xl": 1200;
|
|
14
|
+
readonly full: "100%";
|
|
15
|
+
};
|
|
16
|
+
export declare const modalWidth: (props: HysModalProps) => string | number;
|
|
17
|
+
export type HysModalSectionSize = "sm" | "md" | "lg";
|
|
18
|
+
export type HysModalDragEffect = "lift" | "outline" | "glow" | "shadow" | "ghost" | "none";
|
|
19
|
+
export interface HysModalActionContext {
|
|
20
|
+
reason: HysModalCloseReason;
|
|
21
|
+
event?: Event;
|
|
22
|
+
signal: AbortSignal;
|
|
23
|
+
}
|
|
24
|
+
export interface HysModalPosition {
|
|
25
|
+
x: number;
|
|
26
|
+
y: number;
|
|
27
|
+
}
|
|
28
|
+
export interface HysModalSize {
|
|
29
|
+
width: number;
|
|
30
|
+
height: number;
|
|
31
|
+
}
|
|
32
|
+
export type HysModalBeforeClose = {
|
|
33
|
+
invoke(reason: HysModalCloseReason, context: HysModalActionContext): boolean | void | Promise<boolean | void>;
|
|
34
|
+
}["invoke"];
|
|
35
|
+
export interface HysModalProps {
|
|
36
|
+
open?: boolean;
|
|
37
|
+
modelValue?: boolean;
|
|
38
|
+
defaultOpen?: boolean;
|
|
39
|
+
title?: string;
|
|
40
|
+
description?: string;
|
|
41
|
+
type?: HysModalType;
|
|
42
|
+
showIcon?: boolean;
|
|
43
|
+
/** Background opacity from 0 to 1; does not fade text or controls. */
|
|
44
|
+
opacity?: number;
|
|
45
|
+
/** Mask opacity from 0 to 1; omitted keeps the default mask style. */
|
|
46
|
+
maskOpacity?: number;
|
|
47
|
+
icon?: Component;
|
|
48
|
+
width?: string | number;
|
|
49
|
+
height?: string | number;
|
|
50
|
+
maxHeight?: string | number;
|
|
51
|
+
minWidth?: number;
|
|
52
|
+
minHeight?: number;
|
|
53
|
+
maxWidth?: number;
|
|
54
|
+
size?: HysModalSizeName;
|
|
55
|
+
centered?: boolean;
|
|
56
|
+
top?: string | number;
|
|
57
|
+
center?: boolean;
|
|
58
|
+
fullscreen?: boolean;
|
|
59
|
+
defaultFullscreen?: boolean;
|
|
60
|
+
showFullscreen?: boolean;
|
|
61
|
+
closeOnMask?: boolean;
|
|
62
|
+
closeOnEscape?: boolean;
|
|
63
|
+
showClose?: boolean;
|
|
64
|
+
destroyOnClose?: boolean;
|
|
65
|
+
forceRender?: boolean;
|
|
66
|
+
modal?: boolean;
|
|
67
|
+
modalPenetrable?: boolean;
|
|
68
|
+
appendTo?: string | InstanceType<typeof HTMLElement> | false;
|
|
69
|
+
lockScroll?: boolean;
|
|
70
|
+
trapFocus?: boolean;
|
|
71
|
+
restoreFocus?: boolean;
|
|
72
|
+
initialFocus?: HysModalInitialFocus;
|
|
73
|
+
openDelay?: number;
|
|
74
|
+
closeDelay?: number;
|
|
75
|
+
transition?: string | TransitionProps | false;
|
|
76
|
+
transitionDuration?: number;
|
|
77
|
+
zIndex?: number;
|
|
78
|
+
headerClass?: string;
|
|
79
|
+
headerSize?: HysModalSectionSize;
|
|
80
|
+
footerSize?: HysModalSectionSize;
|
|
81
|
+
/** Minimum height. Content may expand the region to avoid clipping. */
|
|
82
|
+
headerHeight?: string | number;
|
|
83
|
+
footerHeight?: string | number;
|
|
84
|
+
titleFontSize?: string | number;
|
|
85
|
+
bodyClass?: string;
|
|
86
|
+
footerClass?: string;
|
|
87
|
+
overlayClass?: string;
|
|
88
|
+
modalClass?: string;
|
|
89
|
+
headerStyle?: CSSProperties;
|
|
90
|
+
bodyStyle?: CSSProperties;
|
|
91
|
+
footerStyle?: CSSProperties;
|
|
92
|
+
maskStyle?: CSSProperties;
|
|
93
|
+
modalStyle?: CSSProperties;
|
|
94
|
+
ariaLabel?: string;
|
|
95
|
+
ariaLabelledby?: string;
|
|
96
|
+
ariaDescribedby?: string;
|
|
97
|
+
role?: "dialog" | "alertdialog";
|
|
98
|
+
headerAriaLevel?: number;
|
|
99
|
+
closeText?: string;
|
|
100
|
+
fullscreenText?: string;
|
|
101
|
+
restoreText?: string;
|
|
102
|
+
footer?: boolean;
|
|
103
|
+
footerAlign?: "start" | "center" | "end";
|
|
104
|
+
showCancel?: boolean;
|
|
105
|
+
okText?: string;
|
|
106
|
+
cancelText?: string;
|
|
107
|
+
okVariant?: HysButtonVariant;
|
|
108
|
+
okButtonProps?: HysButtonProps;
|
|
109
|
+
cancelButtonProps?: HysButtonProps;
|
|
110
|
+
confirmLoading?: boolean;
|
|
111
|
+
confirmDisabled?: boolean;
|
|
112
|
+
cancelDisabled?: boolean;
|
|
113
|
+
closeWhileConfirming?: boolean;
|
|
114
|
+
loading?: boolean;
|
|
115
|
+
loadingText?: string;
|
|
116
|
+
showError?: boolean;
|
|
117
|
+
errorText?: string | ((error: unknown, action: "confirm" | "close") => string);
|
|
118
|
+
confirmOnCtrlEnter?: boolean;
|
|
119
|
+
closeOnConfirm?: boolean;
|
|
120
|
+
beforeClose?(reason: HysModalCloseReason, context: HysModalActionContext): boolean | void | Promise<boolean | void>;
|
|
121
|
+
beforeConfirm?: (context: HysModalActionContext) => boolean | void | Promise<boolean | void>;
|
|
122
|
+
draggable?: boolean;
|
|
123
|
+
dragHandlePosition?: "center" | "left" | "right" | "both";
|
|
124
|
+
dragMode?: "live" | "preview";
|
|
125
|
+
/** Pointer movement in pixels before a header press becomes a drag. */
|
|
126
|
+
dragThreshold?: number;
|
|
127
|
+
/** Lightweight gesture feedback, activated only at drag start/end. */
|
|
128
|
+
dragEffect?: HysModalDragEffect;
|
|
129
|
+
overflow?: boolean;
|
|
130
|
+
/** Keep the move handle reachable even when the panel may overflow. */
|
|
131
|
+
keepHandleVisible?: boolean;
|
|
132
|
+
resizable?: boolean;
|
|
133
|
+
resetPositionOnClose?: boolean;
|
|
134
|
+
resetSizeOnClose?: boolean;
|
|
135
|
+
/** Retained legacy setting; position in a modal is controlled by centered/top. */
|
|
136
|
+
placement?: "left" | "right" | "top" | "bottom";
|
|
137
|
+
}
|
|
138
|
+
export interface HysModalSlotContext {
|
|
139
|
+
close: (reason?: HysModalCloseReason | Event) => Promise<boolean>;
|
|
140
|
+
cancel: (event?: Event) => Promise<boolean>;
|
|
141
|
+
confirm: (event?: Event) => Promise<boolean>;
|
|
142
|
+
closing: boolean;
|
|
143
|
+
confirming: boolean;
|
|
144
|
+
busy: boolean;
|
|
145
|
+
error: string;
|
|
146
|
+
titleId: string;
|
|
147
|
+
descriptionId: string;
|
|
148
|
+
fullscreen: boolean;
|
|
149
|
+
toggleFullscreen: () => Promise<boolean>;
|
|
150
|
+
}
|
|
151
|
+
export interface HysModalSlots {
|
|
152
|
+
default?: (context: HysModalSlotContext) => VNodeChild;
|
|
153
|
+
header?: (context: HysModalSlotContext) => VNodeChild;
|
|
154
|
+
footer?: (context: HysModalSlotContext) => VNodeChild;
|
|
155
|
+
icon?: (context: HysModalSlotContext) => VNodeChild;
|
|
156
|
+
loading?: (context: HysModalSlotContext) => VNodeChild;
|
|
157
|
+
"close-icon"?: (context: HysModalSlotContext) => VNodeChild;
|
|
158
|
+
"fullscreen-icon"?: (context: HysModalSlotContext) => VNodeChild;
|
|
159
|
+
}
|
|
160
|
+
export interface HysModalInstance {
|
|
161
|
+
readonly element: HTMLElement | undefined;
|
|
162
|
+
readonly open: boolean;
|
|
163
|
+
readonly closing: boolean;
|
|
164
|
+
readonly confirming: boolean;
|
|
165
|
+
readonly fullscreen: boolean;
|
|
166
|
+
readonly position: HysModalPosition;
|
|
167
|
+
readonly dimensions: HysModalSize | undefined;
|
|
168
|
+
show: () => Promise<boolean>;
|
|
169
|
+
hide: () => Promise<boolean>;
|
|
170
|
+
close: (reason?: HysModalCloseReason) => Promise<boolean>;
|
|
171
|
+
handleOpen: () => Promise<boolean>;
|
|
172
|
+
handleClose: () => Promise<boolean>;
|
|
173
|
+
confirm: (event?: Event) => Promise<boolean>;
|
|
174
|
+
cancel: (event?: Event) => Promise<boolean>;
|
|
175
|
+
focus: () => void;
|
|
176
|
+
toggleFullscreen: () => Promise<boolean>;
|
|
177
|
+
setFullscreen: (value: boolean) => Promise<boolean>;
|
|
178
|
+
resetPosition: () => void;
|
|
179
|
+
resetSize: () => void;
|
|
180
|
+
setPosition: (position: HysModalPosition) => void;
|
|
181
|
+
setSize: (size: HysModalSize) => void;
|
|
182
|
+
}
|
|
183
|
+
export declare const modalLength: (value: string | number | undefined) => string | undefined;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export type HysNumberInputValue = number | string | null;
|
|
2
|
+
export interface HysNumberInputFormatInfo {
|
|
3
|
+
userTyping: boolean;
|
|
4
|
+
input: string;
|
|
5
|
+
}
|
|
6
|
+
export interface HysNumberInputStepInfo {
|
|
7
|
+
offset: number | string;
|
|
8
|
+
type: "up" | "down";
|
|
9
|
+
source: "button" | "keyboard" | "wheel" | "repeat" | "method";
|
|
10
|
+
}
|
|
11
|
+
export interface HysNumberInputInvalidInfo {
|
|
12
|
+
input: string;
|
|
13
|
+
reason: "parse" | "validator" | "range";
|
|
14
|
+
}
|
|
15
|
+
export interface HysNumberInputInstance {
|
|
16
|
+
input: HTMLInputElement | undefined;
|
|
17
|
+
focus: (options?: FocusOptions) => void;
|
|
18
|
+
blur: () => void;
|
|
19
|
+
select: () => void;
|
|
20
|
+
clear: () => void;
|
|
21
|
+
commit: () => boolean;
|
|
22
|
+
increase: (multiplier?: number) => void;
|
|
23
|
+
decrease: (multiplier?: number) => void;
|
|
24
|
+
}
|
|
25
|
+
export interface Decimal {
|
|
26
|
+
units: bigint;
|
|
27
|
+
scale: number;
|
|
28
|
+
}
|
|
29
|
+
export declare function decimal(value: unknown): Decimal | undefined;
|
|
30
|
+
export declare function decimalCompare(a: Decimal, b: Decimal): 0 | 1 | -1;
|
|
31
|
+
export declare function decimalAdd(a: Decimal, b: Decimal, multiplier?: number): {
|
|
32
|
+
units: bigint;
|
|
33
|
+
scale: number;
|
|
34
|
+
};
|
|
35
|
+
export declare function decimalRound(value: Decimal, precision: number): Decimal;
|
|
36
|
+
export declare function decimalText(value: Decimal, padTo?: number): string;
|
|
37
|
+
export interface NumberConstraints {
|
|
38
|
+
step: Decimal;
|
|
39
|
+
base: Decimal;
|
|
40
|
+
min?: Decimal;
|
|
41
|
+
max?: Decimal;
|
|
42
|
+
precision?: number;
|
|
43
|
+
strict: boolean;
|
|
44
|
+
}
|
|
45
|
+
export declare function normalizeDecimal(value: Decimal, options: NumberConstraints): Decimal | undefined;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export declare
|
|
1
|
+
/** Shared, deterministic overlay stack. Only the topmost layer responds to Escape. */
|
|
2
|
+
import { type InjectionKey, type Ref } from "vue";
|
|
3
|
+
export declare const overlayOwnerKey: InjectionKey<Readonly<Ref<boolean>>>;
|
|
4
|
+
export type OverlayKind = "floating" | "dialog";
|
|
5
|
+
export declare const overlayCount: Ref<number, number>;
|
|
6
|
+
export declare function registerOverlay(kind: OverlayKind, dismiss: () => void, base?: () => number | undefined): {
|
|
4
7
|
id: symbol;
|
|
8
|
+
zIndex: import("vue").ComputedRef<number>;
|
|
5
9
|
isTop: () => boolean;
|
|
6
10
|
unregister: () => void;
|
|
7
11
|
};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { CSSProperties, VNodeChild } from "vue";
|
|
2
|
+
import type { HysPopupMotionProps } from "../motion/popup";
|
|
3
|
+
import type { Placement } from "./useFloating";
|
|
4
|
+
export type HysPopupPlacement = Placement;
|
|
5
|
+
export type HysPopupTrigger = "hover" | "focus" | "click" | "contextmenu" | "manual";
|
|
6
|
+
export interface HysPopupVirtualReference {
|
|
7
|
+
getBoundingClientRect: () => DOMRect;
|
|
8
|
+
contextElement?: HTMLElement;
|
|
9
|
+
}
|
|
10
|
+
export type HysPopupReference = HTMLElement | HysPopupVirtualReference;
|
|
11
|
+
export interface HysPopupSurfaceProps extends HysPopupMotionProps {
|
|
12
|
+
open?: boolean;
|
|
13
|
+
modelValue?: boolean;
|
|
14
|
+
defaultOpen?: boolean;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
trigger?: HysPopupTrigger | readonly HysPopupTrigger[];
|
|
17
|
+
triggerKeys?: readonly string[];
|
|
18
|
+
triggerTabindex?: number;
|
|
19
|
+
placement?: HysPopupPlacement;
|
|
20
|
+
offset?: number;
|
|
21
|
+
autoAdjustOverflow?: boolean;
|
|
22
|
+
showDelay?: number;
|
|
23
|
+
hideDelay?: number;
|
|
24
|
+
autoClose?: number;
|
|
25
|
+
enterable?: boolean;
|
|
26
|
+
closeOnEscape?: boolean;
|
|
27
|
+
closeOnOutside?: boolean;
|
|
28
|
+
destroyOnHide?: boolean;
|
|
29
|
+
forceRender?: boolean;
|
|
30
|
+
appendTo?: string | HTMLElement | false;
|
|
31
|
+
reference?: HysPopupReference | (() => HysPopupReference | undefined);
|
|
32
|
+
width?: string | number;
|
|
33
|
+
maxWidth?: string | number;
|
|
34
|
+
maxHeight?: string | number;
|
|
35
|
+
showArrow?: boolean;
|
|
36
|
+
arrowOffset?: number;
|
|
37
|
+
effect?: "light" | "dark";
|
|
38
|
+
color?: string;
|
|
39
|
+
textColor?: string;
|
|
40
|
+
overlayClass?: string;
|
|
41
|
+
overlayStyle?: CSSProperties;
|
|
42
|
+
contentClass?: string;
|
|
43
|
+
contentStyle?: CSSProperties;
|
|
44
|
+
zIndex?: number;
|
|
45
|
+
ariaLabel?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface HysTooltipProps extends HysPopupSurfaceProps {
|
|
48
|
+
text?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface HysPopoverProps extends HysPopupSurfaceProps {
|
|
51
|
+
title?: string;
|
|
52
|
+
content?: string;
|
|
53
|
+
}
|
|
54
|
+
export interface HysPopupSurfaceContext {
|
|
55
|
+
open: boolean;
|
|
56
|
+
show: () => Promise<boolean>;
|
|
57
|
+
close: () => Promise<boolean>;
|
|
58
|
+
toggle: () => Promise<boolean>;
|
|
59
|
+
updatePosition: () => void;
|
|
60
|
+
}
|
|
61
|
+
export interface HysTooltipSlots {
|
|
62
|
+
default?: (scope: HysPopupSurfaceContext) => VNodeChild;
|
|
63
|
+
content?: (scope: HysPopupSurfaceContext) => VNodeChild;
|
|
64
|
+
}
|
|
65
|
+
export interface HysPopoverSlots {
|
|
66
|
+
trigger?: (scope: HysPopupSurfaceContext) => VNodeChild;
|
|
67
|
+
default?: (scope: HysPopupSurfaceContext) => VNodeChild;
|
|
68
|
+
title?: (scope: HysPopupSurfaceContext) => VNodeChild;
|
|
69
|
+
}
|
|
70
|
+
export interface HysPopupSurfaceInstance {
|
|
71
|
+
readonly element: HTMLElement | undefined;
|
|
72
|
+
readonly referenceElement: HTMLElement | undefined;
|
|
73
|
+
readonly open: boolean;
|
|
74
|
+
readonly placement: HysPopupPlacement;
|
|
75
|
+
show: () => Promise<boolean>;
|
|
76
|
+
hide: () => Promise<boolean>;
|
|
77
|
+
close: () => Promise<boolean>;
|
|
78
|
+
toggle: () => Promise<boolean>;
|
|
79
|
+
updatePosition: () => void;
|
|
80
|
+
focus: () => void;
|
|
81
|
+
}
|
|
82
|
+
export type HysTooltipInstance = HysPopupSurfaceInstance;
|
|
83
|
+
export type HysPopoverInstance = HysPopupSurfaceInstance;
|