hys-ui 0.2.0 → 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.
Files changed (201) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +15 -1
  3. package/dist/components/HysAlert/HysAlert.vue.js +5 -54
  4. package/dist/components/HysAlert/HysAlert2.vue.js +159 -2
  5. package/dist/components/HysAutocomplete/HysAutocomplete.vue.js +2 -2
  6. package/dist/components/HysAutocomplete/HysAutocomplete2.vue.js +285 -273
  7. package/dist/components/HysAvatarGroup/HysAvatarGroup.vue.js +1 -1
  8. package/dist/components/HysAvatarGroup/HysAvatarGroup2.vue.js +102 -98
  9. package/dist/components/HysBreadcrumb/HysBreadcrumb.vue.js +1 -1
  10. package/dist/components/HysBreadcrumb/HysBreadcrumb2.vue.js +273 -59
  11. package/dist/components/HysCalendar/HysCalendar.vue.js +3 -3
  12. package/dist/components/HysCalendar/HysCalendar2.vue.js +237 -225
  13. package/dist/components/HysCascader/HysCascader.vue.js +2 -2
  14. package/dist/components/HysCascader/HysCascader2.vue.js +337 -324
  15. package/dist/components/HysColorPicker/HysColorPanel.vue.js +7 -0
  16. package/dist/components/HysColorPicker/HysColorPanel2.vue.js +238 -0
  17. package/dist/components/HysColorPicker/HysColorPicker.vue.js +2 -2
  18. package/dist/components/HysColorPicker/HysColorPicker2.vue.js +239 -217
  19. package/dist/components/HysCommandPalette/HysCommandPalette.vue.js +90 -76
  20. package/dist/components/HysContextMenu/HysContextMenu.vue.js +5 -89
  21. package/dist/components/HysContextMenu/HysContextMenu2.vue.js +247 -2
  22. package/dist/components/HysContextMenu/HysMenuPanel.vue.js +7 -0
  23. package/dist/components/HysContextMenu/HysMenuPanel2.vue.js +208 -0
  24. package/dist/components/HysContextMenu/HysMenuSlot.js +10 -0
  25. package/dist/components/HysDataGrid/HysDataGrid.vue.js +1 -1
  26. package/dist/components/HysDataGrid/HysDataGrid2.vue.js +1008 -559
  27. package/dist/components/HysDatePicker/HysDatePicker.vue.js +2 -0
  28. package/dist/components/HysDatePicker/HysDatePickerControl.vue.js +2 -2
  29. package/dist/components/HysDatePicker/HysDatePickerControl2.vue.js +539 -526
  30. package/dist/components/HysDateRangePicker/HysDateRangePicker.vue.js +5 -3
  31. package/dist/components/HysDrawer/HysDrawer.vue.js +1 -1
  32. package/dist/components/HysDrawer/HysDrawer2.vue.js +434 -84
  33. package/dist/components/HysEmpty/HysEmpty.vue.js +5 -41
  34. package/dist/components/HysEmpty/HysEmpty2.vue.js +181 -2
  35. package/dist/components/HysFormItem/HysFormItem.vue.js +2 -2
  36. package/dist/components/HysFormItem/HysFormItem2.vue.js +171 -164
  37. package/dist/components/HysGantt/HysGantt.vue.js +1 -1
  38. package/dist/components/HysGantt/HysGantt2.vue.js +810 -795
  39. package/dist/components/HysMention/HysMention.vue.js +1 -1
  40. package/dist/components/HysMention/HysMention2.vue.js +112 -100
  41. package/dist/components/HysModal/HysModal.vue.js +2 -2
  42. package/dist/components/HysModal/HysModal2.vue.js +490 -85
  43. package/dist/components/HysPopover/HysPopover.vue.js +5 -91
  44. package/dist/components/HysPopover/HysPopover2.vue.js +120 -2
  45. package/dist/components/HysProgress/HysProgress.vue.js +2 -2
  46. package/dist/components/HysProgress/HysProgress2.vue.js +319 -52
  47. package/dist/components/HysSelect/HysSelect.vue.js +2 -2
  48. package/dist/components/HysSelect/HysSelect2.vue.js +730 -594
  49. package/dist/components/HysSlider/HysSlider.vue.js +2 -2
  50. package/dist/components/HysSlider/HysSlider2.vue.js +192 -188
  51. package/dist/components/HysSlider/SliderTooltip.vue.js +2 -2
  52. package/dist/components/HysSlider/SliderTooltip2.vue.js +103 -89
  53. package/dist/components/HysTable/HysTable.vue.js +2 -2
  54. package/dist/components/HysTable/HysTable2.vue.js +389 -368
  55. package/dist/components/HysTagInput/HysTagInput.vue.js +5 -82
  56. package/dist/components/HysTagInput/HysTagInput2.vue.js +396 -2
  57. package/dist/components/HysTimeline/HysTimeline.vue.js +2 -2
  58. package/dist/components/HysTimeline/HysTimeline2.vue.js +243 -24
  59. package/dist/components/HysTooltip/HysTooltip.vue.js +5 -64
  60. package/dist/components/HysTooltip/HysTooltip2.vue.js +110 -2
  61. package/dist/components/HysTour/HysTour.vue.js +46 -42
  62. package/dist/components/HysTransfer/HysTransfer.vue.js +2 -2
  63. package/dist/components/HysTransfer/HysTransfer2.vue.js +237 -207
  64. package/dist/components/HysTransfer/HysTransferPanel.vue.js +1 -1
  65. package/dist/components/HysTransfer/HysTransferPanel2.vue.js +320 -271
  66. package/dist/components/HysTree/HysTree.vue.js +2 -2
  67. package/dist/components/HysTree/HysTree2.vue.js +195 -184
  68. package/dist/components/HysTreeSelect/HysTreeSelect.vue.js +4 -4
  69. package/dist/components/HysTreeSelect/HysTreeSelect2.vue.js +389 -377
  70. package/dist/components/HysUpload/HysUpload.vue.js +2 -2
  71. package/dist/components/HysUpload/HysUpload2.vue.js +459 -125
  72. package/dist/components/HysVirtualTable/HysVirtualTable.vue.js +5 -94
  73. package/dist/components/HysVirtualTable/HysVirtualTable2.vue.js +656 -2
  74. package/dist/composables/color.js +97 -0
  75. package/dist/composables/dataGrid.js +68 -0
  76. package/dist/composables/drawer.js +17 -0
  77. package/dist/composables/feedback.js +14 -0
  78. package/dist/composables/menu.js +96 -0
  79. package/dist/composables/modal.js +14 -0
  80. package/dist/composables/overlayManager.js +48 -18
  81. package/dist/composables/progress.js +94 -0
  82. package/dist/composables/tagInput.js +16 -0
  83. package/dist/composables/timeline.js +19 -0
  84. package/dist/composables/transfer.js +19 -17
  85. package/dist/composables/upload.js +55 -0
  86. package/dist/composables/uploadRequest.js +58 -0
  87. package/dist/composables/useAlert.js +124 -0
  88. package/dist/composables/useColorPicker.js +402 -0
  89. package/dist/composables/useContextMenu.js +514 -0
  90. package/dist/composables/useDataGridRemote.js +67 -0
  91. package/dist/composables/useDialog.js +86 -43
  92. package/dist/composables/useDrawerPush.js +33 -0
  93. package/dist/composables/useDrawerResize.js +221 -0
  94. package/dist/composables/useFloating.js +110 -76
  95. package/dist/composables/useHysModal.js +185 -0
  96. package/dist/composables/useModal.js +295 -0
  97. package/dist/composables/useModalInteraction.js +394 -0
  98. package/dist/composables/usePopupSurface.js +458 -0
  99. package/dist/composables/useTagInput.js +313 -0
  100. package/dist/composables/useTransferMotion.js +185 -0
  101. package/dist/composables/useUpload.js +472 -0
  102. package/dist/composables/useUploadModel.js +65 -0
  103. package/dist/composables/useUploadRequests.js +266 -0
  104. package/dist/composables/useVirtualTableLayout.js +277 -0
  105. package/dist/composables/virtualTable.js +43 -0
  106. package/dist/index.js +27 -24
  107. package/dist/internal/PopupReference.js +39 -0
  108. package/dist/internal/PopupSurfacePanel.vue.js +7 -0
  109. package/dist/internal/PopupSurfacePanel2.vue.js +92 -0
  110. package/dist/motion/PopupMotion.js +105 -0
  111. package/dist/motion/popup.js +10 -0
  112. package/dist/style.css +1 -1
  113. package/dist/types/components/HysAlert/HysAlert.vue.d.ts +32 -22
  114. package/dist/types/components/HysAutocomplete/HysAutocomplete.vue.d.ts +7 -7
  115. package/dist/types/components/HysAvatarGroup/HysAvatarGroup.vue.d.ts +6 -1
  116. package/dist/types/components/HysBadge/HysBadge.vue.d.ts +3 -3
  117. package/dist/types/components/HysBreadcrumb/HysBreadcrumb.vue.d.ts +54 -31
  118. package/dist/types/components/HysCalendar/HysCalendar.vue.d.ts +3 -2
  119. package/dist/types/components/HysCascader/HysCascader.vue.d.ts +7 -7
  120. package/dist/types/components/HysCascader/HysCascaderColumn.vue.d.ts +2 -2
  121. package/dist/types/components/HysColorPicker/HysColorPanel.vue.d.ts +58 -0
  122. package/dist/types/components/HysColorPicker/HysColorPicker.vue.d.ts +63 -10
  123. package/dist/types/components/HysCommandPalette/HysCommandPalette.vue.d.ts +2 -1
  124. package/dist/types/components/HysContextMenu/HysContextMenu.vue.d.ts +50 -34
  125. package/dist/types/components/HysContextMenu/HysMenuPanel.vue.d.ts +79 -0
  126. package/dist/types/components/HysContextMenu/HysMenuSlot.d.ts +8 -0
  127. package/dist/types/components/HysDataGrid/HysDataGrid.vue.d.ts +65 -118
  128. package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +1 -1
  129. package/dist/types/components/HysDrawer/HysDrawer.vue.d.ts +92 -35
  130. package/dist/types/components/HysEmpty/HysEmpty.vue.d.ts +24 -20
  131. package/dist/types/components/HysFileManager/HysFileManager.vue.d.ts +2 -2
  132. package/dist/types/components/HysGantt/HysGantt.vue.d.ts +2 -1
  133. package/dist/types/components/HysMention/HysMention.vue.d.ts +2 -1
  134. package/dist/types/components/HysModal/HysModal.vue.d.ts +111 -34
  135. package/dist/types/components/HysPopover/HysPopover.vue.d.ts +41 -29
  136. package/dist/types/components/HysProgress/HysProgress.vue.d.ts +18 -24
  137. package/dist/types/components/HysResizablePanel/HysResizablePanel.vue.d.ts +2 -2
  138. package/dist/types/components/HysSelect/HysSelect.vue.d.ts +13 -4
  139. package/dist/types/components/HysSlider/HysSlider.vue.d.ts +5 -4
  140. package/dist/types/components/HysSlider/SliderTooltip.vue.d.ts +3 -1
  141. package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +2 -2
  142. package/dist/types/components/HysTable/HysTable.vue.d.ts +4 -4
  143. package/dist/types/components/HysTabs/HysTabs.vue.d.ts +2 -2
  144. package/dist/types/components/HysTagInput/HysTagInput.vue.d.ts +47 -25
  145. package/dist/types/components/HysTimeline/HysTimeline.vue.d.ts +19 -32
  146. package/dist/types/components/HysTooltip/HysTooltip.vue.d.ts +39 -19
  147. package/dist/types/components/HysTour/HysTour.vue.d.ts +2 -1
  148. package/dist/types/components/HysTransfer/HysTransfer.vue.d.ts +2 -2
  149. package/dist/types/components/HysTransfer/HysTransferPanel.vue.d.ts +5 -3
  150. package/dist/types/components/HysTree/HysTree.vue.d.ts +2 -2
  151. package/dist/types/components/HysUpload/HysUpload.vue.d.ts +55 -67
  152. package/dist/types/components/HysVirtualTable/HysVirtualTable.vue.d.ts +71 -40
  153. package/dist/types/composables/autocomplete.d.ts +3 -0
  154. package/dist/types/composables/avatar.d.ts +3 -0
  155. package/dist/types/composables/cascader.d.ts +3 -0
  156. package/dist/types/composables/color.d.ts +97 -0
  157. package/dist/types/composables/dataGrid.d.ts +100 -0
  158. package/dist/types/composables/datePicker.d.ts +3 -0
  159. package/dist/types/composables/drawer.d.ts +102 -0
  160. package/dist/types/composables/feedback.d.ts +98 -0
  161. package/dist/types/composables/formContext.d.ts +2 -0
  162. package/dist/types/composables/menu.d.ts +183 -0
  163. package/dist/types/composables/modal.d.ts +183 -0
  164. package/dist/types/composables/overlayManager.d.ts +7 -3
  165. package/dist/types/composables/popupSurface.d.ts +83 -0
  166. package/dist/types/composables/progress.d.ts +92 -0
  167. package/dist/types/composables/selectOptions.d.ts +2 -0
  168. package/dist/types/composables/table.d.ts +3 -0
  169. package/dist/types/composables/tagInput.d.ts +96 -0
  170. package/dist/types/composables/timeline.d.ts +82 -0
  171. package/dist/types/composables/transfer.d.ts +7 -0
  172. package/dist/types/composables/tree.d.ts +3 -0
  173. package/dist/types/composables/treeSelect.d.ts +3 -0
  174. package/dist/types/composables/upload.d.ts +202 -0
  175. package/dist/types/composables/uploadRequest.d.ts +3 -0
  176. package/dist/types/composables/useAlert.d.ts +21 -0
  177. package/dist/types/composables/useCascader.d.ts +1 -1
  178. package/dist/types/composables/useColorPicker.d.ts +101 -0
  179. package/dist/types/composables/useContextMenu.d.ts +81 -0
  180. package/dist/types/composables/useDataGridRemote.d.ts +15 -0
  181. package/dist/types/composables/useDialog.d.ts +16 -3
  182. package/dist/types/composables/useDrawerPush.d.ts +6 -0
  183. package/dist/types/composables/useDrawerResize.d.ts +27 -0
  184. package/dist/types/composables/useFloating.d.ts +21 -2
  185. package/dist/types/composables/useHysModal.d.ts +44 -0
  186. package/dist/types/composables/useModal.d.ts +62 -0
  187. package/dist/types/composables/useModalInteraction.d.ts +27 -0
  188. package/dist/types/composables/usePopupSurface.d.ts +3341 -0
  189. package/dist/types/composables/useTagInput.d.ts +66 -0
  190. package/dist/types/composables/useTransferMotion.d.ts +36 -0
  191. package/dist/types/composables/useUpload.d.ts +94 -0
  192. package/dist/types/composables/useUploadModel.d.ts +14 -0
  193. package/dist/types/composables/useUploadRequests.d.ts +38 -0
  194. package/dist/types/composables/useVirtualTableLayout.d.ts +51 -0
  195. package/dist/types/composables/virtualTable.d.ts +126 -0
  196. package/dist/types/index.d.ts +17 -2
  197. package/dist/types/internal/PopupReference.d.ts +18 -0
  198. package/dist/types/internal/PopupSurfacePanel.vue.d.ts +37 -0
  199. package/dist/types/motion/PopupMotion.d.ts +59 -0
  200. package/dist/types/motion/popup.d.ts +12 -0
  201. package/package.json +1 -1
@@ -0,0 +1,66 @@
1
+ import { type Ref } from "vue";
2
+ import { type HysTagInputProps, type HysTagInputReason } from "./tagInput";
3
+ export declare function useTagInput(props: HysTagInputProps, emit: (event: string, ...args: any[]) => void): {
4
+ attrs: import("vue").Attrs;
5
+ field: import("./formContext").HysFieldContext | undefined;
6
+ control: {
7
+ disabled: import("vue").ComputedRef<boolean>;
8
+ size: import("vue").ComputedRef<"sm" | "md" | "lg">;
9
+ label: import("vue").ComputedRef<string | undefined>;
10
+ };
11
+ element: Ref<HTMLElement | undefined, HTMLElement | undefined>;
12
+ input: Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
13
+ errorId: string;
14
+ draft: Ref<string, string>;
15
+ pending: Ref<boolean, boolean>;
16
+ composing: Ref<boolean, boolean>;
17
+ focused: Ref<boolean, boolean>;
18
+ values: import("vue").ComputedRef<string[]>;
19
+ status: import("vue").ComputedRef<import("./formContext").HysFormStatus | undefined>;
20
+ maximum: import("vue").ComputedRef<number>;
21
+ context: import("vue").ComputedRef<{
22
+ values: string[];
23
+ draft: string;
24
+ disabled: boolean;
25
+ readonly: boolean;
26
+ pending: boolean;
27
+ add: (value?: string | string[]) => Promise<boolean>;
28
+ clear: () => Promise<boolean>;
29
+ }>;
30
+ tags: import("vue").ComputedRef<{
31
+ value: string;
32
+ index: number;
33
+ key: string;
34
+ }[]>;
35
+ drag: Ref<{
36
+ index: number;
37
+ values: string[];
38
+ } | undefined, {
39
+ index: number;
40
+ values: string[];
41
+ } | undefined>;
42
+ drop: Ref<{
43
+ index: number;
44
+ after: boolean;
45
+ } | undefined, {
46
+ index: number;
47
+ after: boolean;
48
+ } | undefined>;
49
+ add: (value?: string | string[], reason?: HysTagInputReason) => Promise<boolean>;
50
+ remove: (index: number) => Promise<boolean>;
51
+ clear: () => Promise<boolean>;
52
+ move: (from: number, to: number) => Promise<boolean>;
53
+ focus: (options?: FocusOptions) => void;
54
+ nativeInput: (event: Event) => void;
55
+ compositionEnd: (event: CompositionEvent) => void;
56
+ pasted: (event: ClipboardEvent) => void;
57
+ key: (event: KeyboardEvent) => void;
58
+ tagKey: (event: KeyboardEvent, index: number) => Promise<void>;
59
+ focusIn: (event: FocusEvent) => void;
60
+ focusOut: (event: FocusEvent, extra?: HTMLElement) => void;
61
+ stopDrag: () => void;
62
+ dragStart: (event: DragEvent, index: number) => void;
63
+ dragOver: (event: DragEvent, index: number) => void;
64
+ dragDrop: (event: DragEvent) => Promise<void>;
65
+ setDraft: (value: string) => void;
66
+ };
@@ -0,0 +1,36 @@
1
+ import { type Ref } from "vue";
2
+ import { type HysTransferKey, type HysTransferSide } from "./transfer";
3
+ interface Options {
4
+ animated?: boolean;
5
+ moveAnimation?: "flight" | "fade" | "none";
6
+ moveDuration?: number;
7
+ maxAnimatedItems?: number;
8
+ highlightOnArrival?: boolean;
9
+ }
10
+ type Box = {
11
+ left: number;
12
+ top: number;
13
+ width: number;
14
+ height: number;
15
+ right: number;
16
+ bottom: number;
17
+ };
18
+ interface Sample {
19
+ token: string;
20
+ label: string;
21
+ box: Box;
22
+ }
23
+ interface Snapshot {
24
+ generation: number;
25
+ direction: HysTransferSide;
26
+ count: number;
27
+ samples: Sample[];
28
+ }
29
+ /** Bounded visual feedback after an accepted move; never measures every data row. */
30
+ export declare function useTransferMotion(root: Ref<HTMLElement | undefined>, options: Options): {
31
+ capture: (direction: HysTransferSide, keys: readonly HysTransferKey[]) => Snapshot | undefined;
32
+ play: (snapshot: Snapshot | undefined) => void;
33
+ stop: () => void;
34
+ cancelPlaying: () => void;
35
+ };
36
+ export {};
@@ -0,0 +1,94 @@
1
+ import { type Ref } from "vue";
2
+ import { type HysUploadProps, type HysUploadItem, type HysUploadFileContext, type HysUploadSlotContext, type HysUploadStatus } from "./upload";
3
+ export declare function useUpload<T extends HysUploadItem>(props: HysUploadProps<T>, emit: (name: string, ...args: any[]) => void): {
4
+ element: Ref<HTMLElement | undefined, HTMLElement | undefined>;
5
+ zone: Ref<HTMLElement | undefined, HTMLElement | undefined>;
6
+ input: Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
7
+ active: Ref<boolean, boolean>;
8
+ available: import("vue").ComputedRef<boolean>;
9
+ disabled: import("vue").ComputedRef<boolean>;
10
+ size: import("vue").ComputedRef<"sm" | "md" | "lg">;
11
+ label: import("vue").ComputedRef<string | undefined>;
12
+ field: import("./formContext").HysFieldContext | undefined;
13
+ checking: Ref<boolean, boolean>;
14
+ dragging: Ref<boolean, boolean>;
15
+ lastError: Ref<string, string>;
16
+ words: import("vue").ComputedRef<{
17
+ choose: string;
18
+ drag: string;
19
+ checking: string;
20
+ localHint: string;
21
+ uploadHint: string;
22
+ files: string;
23
+ ready: string;
24
+ uploading: string;
25
+ success: string;
26
+ error: string;
27
+ queued: string;
28
+ removing: string;
29
+ submit: string;
30
+ abort: string;
31
+ retry: string;
32
+ clear: string;
33
+ remove: string;
34
+ preview: string;
35
+ download: string;
36
+ empty: string;
37
+ }>;
38
+ files: import("vue").ComputedRef<T[]>;
39
+ requests: {
40
+ configured: import("vue").ComputedRef<boolean>;
41
+ queue: import("vue").ShallowRef<string[], string[]>;
42
+ tasks: import("vue").ShallowRef<Map<string, {
43
+ uid: string;
44
+ raw: File;
45
+ controller: AbortController;
46
+ phase: "preparing" | "running" | "finishing";
47
+ stop?: (() => void) | undefined;
48
+ percentage: number;
49
+ }>, Map<string, {
50
+ uid: string;
51
+ raw: File;
52
+ controller: AbortController;
53
+ phase: "preparing" | "running" | "finishing";
54
+ stop?: (() => void) | undefined;
55
+ percentage: number;
56
+ }>>;
57
+ uploading: import("vue").ComputedRef<number>;
58
+ queued: import("vue").ComputedRef<number>;
59
+ activeKeys: import("vue").ComputedRef<Set<string>>;
60
+ queuedKeys: import("vue").ComputedRef<Set<string>>;
61
+ submit: (uid?: string) => Promise<number>;
62
+ retry: (uid: string) => Promise<boolean>;
63
+ abort: (uid?: string, reason?: string, reset?: boolean) => number;
64
+ cleanup: () => void;
65
+ };
66
+ removing: import("vue").ShallowRef<Set<string>, Set<string>>;
67
+ preview: import("vue").ShallowRef<{
68
+ file: T;
69
+ url: string;
70
+ } | undefined, {
71
+ file: T;
72
+ url: string;
73
+ } | undefined>;
74
+ closePreview: () => void;
75
+ context: (file: T) => HysUploadFileContext<T>;
76
+ scope: import("vue").ComputedRef<HysUploadSlotContext<T>>;
77
+ canPreview: (file: T) => boolean;
78
+ canDownload: (file: T) => boolean;
79
+ open: (event?: Event) => void;
80
+ click: (event: MouseEvent) => void;
81
+ keys: (event: KeyboardEvent) => void;
82
+ drop: (event: DragEvent) => void;
83
+ dragEnter: (event: DragEvent) => void;
84
+ dragOver: (event: DragEvent) => void;
85
+ dragLeave: () => void;
86
+ paste: (event: ClipboardEvent) => void;
87
+ blur: (event: FocusEvent) => void;
88
+ addFiles: (inputFiles: readonly File[]) => Promise<T[]>;
89
+ remove: (file: T | string) => Promise<boolean>;
90
+ clearFiles: (statuses?: readonly HysUploadStatus[]) => Promise<boolean>;
91
+ previewFile: (file: T | string) => Promise<boolean>;
92
+ download: (file: T | string) => Promise<boolean>;
93
+ focus: () => void;
94
+ };
@@ -0,0 +1,14 @@
1
+ import type { HysUploadProps, HysUploadItem, HysUploadChangeType } from "./upload";
2
+ export declare function useUploadModel<T extends HysUploadItem>(props: HysUploadProps<T>, emit: (name: string, ...args: any[]) => void, live: () => boolean): {
3
+ files: import("vue").ComputedRef<T[]>;
4
+ controlled: import("vue").ComputedRef<boolean>;
5
+ commit: (change: (current: readonly T[]) => T[] | undefined, type: HysUploadChangeType, options?: {
6
+ force?: boolean;
7
+ allowInactive?: boolean;
8
+ guard?: () => boolean;
9
+ accepted?: () => void;
10
+ }) => Promise<boolean>;
11
+ cancel: () => void;
12
+ resetLocal: () => void;
13
+ interrupt: (keys: ReadonlySet<string>) => void;
14
+ };
@@ -0,0 +1,38 @@
1
+ import { type Ref } from "vue";
2
+ import { type HysUploadItem, type HysUploadProps, type HysUploadChangeType } from "./upload";
3
+ export declare function useUploadRequests<T extends HysUploadItem>(options: {
4
+ props: HysUploadProps<T>;
5
+ files: Readonly<Ref<readonly T[]>>;
6
+ available: Readonly<Ref<boolean>>;
7
+ live: () => boolean;
8
+ emit: (name: string, ...args: any[]) => void;
9
+ prepare: (file: T, signal: AbortSignal) => Promise<Blob | undefined>;
10
+ forget: (uid: string) => void;
11
+ patch: (changes: Map<string, Partial<T>>, type: HysUploadChangeType, guard?: (uid?: string) => boolean) => Promise<boolean>;
12
+ }): {
13
+ configured: import("vue").ComputedRef<boolean>;
14
+ queue: import("vue").ShallowRef<string[], string[]>;
15
+ tasks: import("vue").ShallowRef<Map<string, {
16
+ uid: string;
17
+ raw: File;
18
+ controller: AbortController;
19
+ phase: "preparing" | "running" | "finishing";
20
+ stop?: () => void;
21
+ percentage: number;
22
+ }>, Map<string, {
23
+ uid: string;
24
+ raw: File;
25
+ controller: AbortController;
26
+ phase: "preparing" | "running" | "finishing";
27
+ stop?: () => void;
28
+ percentage: number;
29
+ }>>;
30
+ uploading: import("vue").ComputedRef<number>;
31
+ queued: import("vue").ComputedRef<number>;
32
+ activeKeys: import("vue").ComputedRef<Set<string>>;
33
+ queuedKeys: import("vue").ComputedRef<Set<string>>;
34
+ submit: (uid?: string) => Promise<number>;
35
+ retry: (uid: string) => Promise<boolean>;
36
+ abort: (uid?: string, reason?: string, reset?: boolean) => number;
37
+ cleanup: () => void;
38
+ };
@@ -0,0 +1,51 @@
1
+ import { type CSSProperties } from "vue";
2
+ import { type HysVirtualTableAlign, type HysVirtualTableColumn, type HysVirtualTableProps, type HysVirtualTableRange, type HysVirtualTableScroll } from "./virtualTable";
3
+ export interface VirtualColumn<T extends object> {
4
+ token: string;
5
+ column?: HysVirtualTableColumn<T>;
6
+ index: number;
7
+ width: number;
8
+ offset: number;
9
+ left?: number;
10
+ right?: number;
11
+ selection?: boolean;
12
+ gap?: boolean;
13
+ }
14
+ export declare function useVirtualTableLayout<T extends object>(props: HysVirtualTableProps<T>, count: () => number, lastKey: () => string | undefined, report: {
15
+ scroll: (state: HysVirtualTableScroll) => void;
16
+ range: (state: HysVirtualTableRange) => void;
17
+ end: (state: {
18
+ distance: number;
19
+ total: number;
20
+ }) => void;
21
+ }): {
22
+ viewport: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
23
+ live: import("vue").Ref<boolean, boolean>;
24
+ rowHeight: import("vue").ComputedRef<number>;
25
+ headerHeight: import("vue").ComputedRef<number>;
26
+ topHeight: import("vue").ComputedRef<number>;
27
+ bodyHeight: import("vue").ComputedRef<number>;
28
+ rootStyle: import("vue").ComputedRef<{
29
+ width: string | undefined;
30
+ }>;
31
+ viewportStyle: import("vue").ComputedRef<{
32
+ height: string;
33
+ }>;
34
+ columns: import("vue").ComputedRef<VirtualColumn<T>[]>;
35
+ columnMap: import("vue").ComputedRef<Map<string, VirtualColumn<T>>>;
36
+ renderColumns: import("vue").ComputedRef<VirtualColumn<T>[]>;
37
+ contentWidth: import("vue").ComputedRef<number>;
38
+ scrollTop: import("vue").Ref<number, number>;
39
+ scrollLeft: import("vue").Ref<number, number>;
40
+ range: import("vue").ComputedRef<HysVirtualTableRange>;
41
+ scrollTo: (options: {
42
+ top?: number;
43
+ left?: number;
44
+ behavior?: ScrollBehavior;
45
+ }) => void;
46
+ scrollToRow: (index: number, align?: HysVirtualTableAlign) => void;
47
+ scrollToColumn: (key: string, align?: HysVirtualTableAlign) => boolean;
48
+ onScroll: () => void;
49
+ remeasure: () => void;
50
+ };
51
+ export declare function virtualColumnStyle<T extends object>(cell: VirtualColumn<T>): CSSProperties;
@@ -0,0 +1,126 @@
1
+ import type { CSSProperties, HTMLAttributes, VNodeChild } from "vue";
2
+ export type HysVirtualTableKey = string | number;
3
+ export type HysVirtualTableAlign = "start" | "center" | "end" | "nearest";
4
+ export interface HysVirtualTableSort {
5
+ key: string;
6
+ direction: "asc" | "desc";
7
+ }
8
+ export interface HysVirtualTableCell<T extends object = Record<string, unknown>> {
9
+ row: T;
10
+ column: HysVirtualTableColumn<T>;
11
+ value: unknown;
12
+ rowIndex: number;
13
+ columnIndex: number;
14
+ }
15
+ export interface HysVirtualTableColumn<T extends object = any> {
16
+ key: string;
17
+ label: string;
18
+ width?: number;
19
+ minWidth?: number;
20
+ maxWidth?: number;
21
+ dataIndex?: string | readonly (string | number)[];
22
+ valueGetter?: (row: T, index: number) => unknown;
23
+ formatter?: (context: HysVirtualTableCell<T>) => VNodeChild;
24
+ fixed?: boolean | "left" | "right";
25
+ hidden?: boolean;
26
+ align?: "left" | "center" | "right";
27
+ headerAlign?: "left" | "center" | "right";
28
+ sortable?: boolean | "custom";
29
+ sorter?: (a: T, b: T) => number;
30
+ className?: string;
31
+ headerClassName?: string;
32
+ }
33
+ export interface HysVirtualTableRange {
34
+ start: number;
35
+ end: number;
36
+ visibleStart: number;
37
+ visibleEnd: number;
38
+ columnKeys: string[];
39
+ }
40
+ export interface HysVirtualTableScroll {
41
+ scrollTop: number;
42
+ scrollLeft: number;
43
+ direction: "up" | "down" | "left" | "right" | null;
44
+ }
45
+ export interface HysVirtualTableProps<T extends object> {
46
+ rows: readonly T[];
47
+ columns: readonly HysVirtualTableColumn<T>[];
48
+ rowKey?: string | ((row: T, index: number) => HysVirtualTableKey);
49
+ rowHeight?: number;
50
+ height?: number | string;
51
+ width?: number | string;
52
+ headerHeight?: number;
53
+ showHeader?: boolean;
54
+ fit?: boolean;
55
+ overscan?: number;
56
+ virtualColumns?: boolean;
57
+ columnOverscan?: number;
58
+ loading?: boolean;
59
+ loadingMode?: "replace" | "overlay";
60
+ loadingText?: string;
61
+ emptyText?: string;
62
+ disabled?: boolean;
63
+ fixedRows?: readonly T[];
64
+ striped?: boolean;
65
+ bordered?: boolean;
66
+ sortState?: HysVirtualTableSort | null;
67
+ defaultSort?: HysVirtualTableSort | null;
68
+ selectable?: boolean | ((row: T, index: number) => boolean);
69
+ selectedRowKeys?: readonly HysVirtualTableKey[];
70
+ defaultSelectedRowKeys?: readonly HysVirtualTableKey[];
71
+ selectionType?: "checkbox" | "radio";
72
+ selectionWidth?: number;
73
+ reserveSelection?: boolean;
74
+ selectOnClick?: boolean;
75
+ currentRowKey?: HysVirtualTableKey | null;
76
+ defaultCurrentRowKey?: HysVirtualTableKey | null;
77
+ highlightCurrentRow?: boolean;
78
+ keyboard?: boolean;
79
+ endReachedThreshold?: number;
80
+ ariaLabel?: string;
81
+ rowClassName?: string | ((row: T, index: number) => string);
82
+ rowStyle?: CSSProperties | ((row: T, index: number) => CSSProperties);
83
+ cellClassName?: string | ((context: HysVirtualTableCell<T>) => string);
84
+ cellStyle?: CSSProperties | ((context: HysVirtualTableCell<T>) => CSSProperties);
85
+ customRow?: (row: T, index: number) => HTMLAttributes;
86
+ customCell?: (context: HysVirtualTableCell<T>) => HTMLAttributes;
87
+ customHeaderCell?: (column: HysVirtualTableColumn<T>, index: number) => HTMLAttributes;
88
+ }
89
+ export interface HysVirtualTableInstance<T extends object = Record<string, unknown>> {
90
+ readonly element: HTMLElement | undefined;
91
+ readonly viewport: HTMLElement | undefined;
92
+ readonly scrollTop: number;
93
+ readonly scrollLeft: number;
94
+ readonly range: HysVirtualTableRange;
95
+ readonly selectedRowKeys: HysVirtualTableKey[];
96
+ readonly sortState: HysVirtualTableSort | null;
97
+ scrollTo(options: {
98
+ top?: number;
99
+ left?: number;
100
+ behavior?: ScrollBehavior;
101
+ }): void;
102
+ scrollToRow(index: number, align?: HysVirtualTableAlign): void;
103
+ scrollToKey(key: HysVirtualTableKey, align?: HysVirtualTableAlign): boolean;
104
+ scrollToColumn(key: string, align?: HysVirtualTableAlign): boolean;
105
+ focusCell(index: number, key?: string): Promise<boolean>;
106
+ setSort(sort: HysVirtualTableSort | null): Promise<boolean>;
107
+ clearSelection(): Promise<boolean>;
108
+ toggleRowSelection(key: HysVirtualTableKey, selected?: boolean): Promise<boolean>;
109
+ selectAll(selected?: boolean): Promise<boolean>;
110
+ setCurrentRow(key: HysVirtualTableKey | null): Promise<boolean>;
111
+ getRow(index: number): T | undefined;
112
+ remeasure(): void;
113
+ }
114
+ export declare const virtualFinite: (value: unknown, fallback: number, min?: number, max?: number) => number;
115
+ export declare const virtualKey: (key: unknown) => key is HysVirtualTableKey;
116
+ export declare const virtualToken: (key: HysVirtualTableKey) => string;
117
+ export declare function virtualValue<T extends object>(row: T, column: HysVirtualTableColumn<T>, index: number): unknown;
118
+ export interface VirtualEntry<T extends object> {
119
+ row: T;
120
+ key: HysVirtualTableKey;
121
+ token: string;
122
+ sourceIndex: number;
123
+ valid: boolean;
124
+ }
125
+ export declare function virtualEntries<T extends object>(rows: readonly T[], rowKey: HysVirtualTableProps<T>["rowKey"]): VirtualEntry<T>[];
126
+ export declare function virtualAligned(start: number, size: number, scroll: number, extent: number, align: HysVirtualTableAlign): number;
@@ -10,6 +10,8 @@ export { default as HysAvatarGroup } from './components/HysAvatarGroup/HysAvatar
10
10
  export { default as HysBadge } from './components/HysBadge/HysBadge.vue';
11
11
  export { default as HysBreadcrumb } from './components/HysBreadcrumb/HysBreadcrumb.vue';
12
12
  export type { HysBreadcrumbItem } from './components/HysBreadcrumb/HysBreadcrumb.vue';
13
+ export type { HysBreadcrumbSelectInfo } from './components/HysBreadcrumb/HysBreadcrumb.vue';
14
+ export type { HysBreadcrumbProps } from './components/HysBreadcrumb/HysBreadcrumb.vue';
13
15
  export { default as HysButton } from './components/HysButton/HysButton.vue';
14
16
  export type { HysButtonVariant } from './components/HysButton/HysButton.vue';
15
17
  export type { HysButtonProps } from './components/HysButton/HysButton.vue';
@@ -29,7 +31,6 @@ export type { Comment } from './components/HysCommentEditor/HysCommentEditor.vue
29
31
  export { default as HysContextMenu } from './components/HysContextMenu/HysContextMenu.vue';
30
32
  export { default as HysCronEditor } from './components/HysCronEditor/HysCronEditor.vue';
31
33
  export { default as HysDataGrid } from './components/HysDataGrid/HysDataGrid.vue';
32
- export type { GridColumn } from './components/HysDataGrid/HysDataGrid.vue';
33
34
  export { default as HysDatePicker } from './components/HysDatePicker/HysDatePicker.vue';
34
35
  export { default as HysDateRangePicker } from './components/HysDateRangePicker/HysDateRangePicker.vue';
35
36
  export { default as HysDiffViewer } from './components/HysDiffViewer/HysDiffViewer.vue';
@@ -92,7 +93,6 @@ export { default as HysTransfer } from './components/HysTransfer/HysTransfer.vue
92
93
  export { default as HysTree } from './components/HysTree/HysTree.vue';
93
94
  export { default as HysTreeSelect } from './components/HysTreeSelect/HysTreeSelect.vue';
94
95
  export { default as HysUpload } from './components/HysUpload/HysUpload.vue';
95
- export type { HysUploadFile } from './components/HysUpload/HysUpload.vue';
96
96
  export { default as HysVirtualTable } from './components/HysVirtualTable/HysVirtualTable.vue';
97
97
  export { provideHysConfig } from './config';
98
98
  export type { HysConfig, HysTheme, HysMotion } from './config';
@@ -119,3 +119,18 @@ export type { TreeNode, HysTreeKey, HysTreeValue, HysTreeNode, HysTreeFieldNames
119
119
  export type { HysTreeSelectNode, HysTreeSelectDataNode, HysTreeSelectLabelValue, HysTreeSelectValue, HysTreeSelectFieldNames, HysTreeSelectSimpleMode, HysTreeSelectStrategy, HysTreeSelectItem, HysTreeSelectChange, HysTreeSelectProps, HysTreeSelectInstance } from './composables/treeSelect';
120
120
  export type { HysCascaderKey, HysCascaderPath, HysCascaderValue, HysCascaderDataNode, HysCascaderNode, HysCascaderFieldNames, HysCascaderItem, HysCascaderOptionContext, HysCascaderLoadContext, HysCascaderChange, HysCascaderLocale, HysCascaderProps, HysCascaderInstance } from './composables/cascader';
121
121
  export type { HysDatePickerWeek, HysDateScalar, HysDatePickerValue, HysDateRangeValue, HysDatePickerType, HysDatePickerUnit, HysDatePickerView, HysDatePoint, HysDatePickerContext, HysDateDisabledTime, HysDateShortcut, HysDatePickerCell, HysDatePickerChange, HysDatePickerLocale, HysDatePickerProps, HysDateRangePickerProps, HysDatePickerInstance, HysDateRangePickerInstance, HysDatePickerSlots } from './composables/datePicker';
122
+ export type { HysModalDragEffect, HysModalSectionSize, HysModalSizeName, HysModalBeforeClose, HysModalCloseReason, HysModalType, HysModalInitialFocus, HysModalActionContext, HysModalPosition, HysModalSize, HysModalProps, HysModalSlotContext, HysModalSlots, HysModalInstance } from './composables/modal';
123
+ export { useHysModal, createHysModal } from './composables/useHysModal';
124
+ export type { HysModalResult, HysModalOptions, HysModalHandle, HysModalConfig, HysModalApi, HysModalService, HysModalServiceConfig } from './composables/useHysModal';
125
+ export type { HysMenuKey, HysContextMenuTrigger, HysContextMenuItem, HysMenuFieldNames, HysMenuSelectInfo, HysMenuShowOptions, HysContextMenuProps, HysContextMenuInstance, HysMenuItemContext, HysContextMenuSlots } from './composables/menu';
126
+ export type { HysDrawerProps, HysDrawerBeforeClose, HysDrawerPlacement, HysDrawerSizeName, HysDrawerCloseReason, HysDrawerActionContext, HysDrawerInitialFocus, HysDrawerSectionSize, HysDrawerResizeOptions, HysDrawerResizeInfo, HysDrawerPushOptions, HysDrawerSlotContext, HysDrawerSlots, HysDrawerInstance } from './composables/drawer';
127
+ export type { HysPopupPlacement, HysPopupTrigger, HysPopupVirtualReference, HysPopupReference, HysPopupSurfaceProps, HysTooltipProps, HysPopoverProps, HysPopupSurfaceContext, HysTooltipSlots, HysPopoverSlots, HysPopupSurfaceInstance, HysTooltipInstance, HysPopoverInstance } from './composables/popupSurface';
128
+ export type { HysUploadFile, HysUploadItem, HysUploadStatus, HysUploadListType, HysUploadChangeType, HysUploadChange, HysUploadContext, HysUploadInvalid, HysUploadError, HysUploadDataScalar, HysUploadData, HysUploadRequestOptions, HysUploadRequestResult, HysUploadLocale, HysUploadProps, HysUploadActions, HysUploadFileContext, HysUploadSlotContext, HysUploadSlots, HysUploadInstance } from './composables/upload';
129
+ export type { HysProgressType, HysProgressStatus, HysProgressSize, HysProgressLinecap, HysProgressGapPosition, HysProgressGradientDirection, HysProgressGradientStop, HysProgressGradient, HysProgressColorStop, HysProgressColor, HysProgressSuccess, HysProgressLabelContext, HysProgressProps, HysProgressSlots, HysProgressInstance } from './composables/progress';
130
+ export type { HysAlertTone, HysAlertEffect, HysAlertTransition, HysAlertCloseContext, HysAlertProps, HysAlertSlotContext, HysAlertSlots, HysAlertInstance, HysEmptyIllustration, HysEmptyProps, HysEmptySlotContext, HysEmptySlots, HysEmptyInstance } from './composables/feedback';
131
+ export type { HysTimelineKey, HysTimelineMode, HysTimelinePosition, HysTimelineSize, HysTimelineTone, HysTimelineItem, HysTimelineFieldNames, HysTimelineProps, HysTimelineItemContext, HysTimelinePendingContext, HysTimelineSlots, HysTimelineInstance } from './composables/timeline';
132
+ export type { HysTagInputReason, HysTagInputAddContext, HysTagInputInvalid, HysTagInputProps, HysTagInputSlotContext, HysTagInputTagContext, HysTagInputSlots, HysTagInputInstance } from './composables/tagInput';
133
+ export type { HysColorFormat, HysColor, HysColorPickerProps, HysColorPickerContext, HysColorPickerSlots, HysColorPickerInstance } from './composables/color';
134
+ export type { HysVirtualTableKey, HysVirtualTableAlign, HysVirtualTableSort, HysVirtualTableCell, HysVirtualTableColumn, HysVirtualTableRange, HysVirtualTableScroll, HysVirtualTableProps, HysVirtualTableInstance } from './composables/virtualTable';
135
+ export type { GridColumn, HysDataGridKey, HysDataGridSort, HysDataGridQuery, HysDataGridProps, HysDataGridResult, HysDataGridLoader, HysDataGridInstance } from './composables/dataGrid';
136
+ export type { HysPopupTransition, HysPopupMotionProps } from './motion/popup';
@@ -0,0 +1,18 @@
1
+ import { type VNode } from "vue";
2
+ /** Adds popup ARIA to the real control without introducing another keyboard stop. */
3
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ id: StringConstructor;
5
+ open: BooleanConstructor;
6
+ kind: StringConstructor;
7
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
8
+ [key: string]: any;
9
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "element"[], "element", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
+ id: StringConstructor;
11
+ open: BooleanConstructor;
12
+ kind: StringConstructor;
13
+ }>> & Readonly<{
14
+ onElement?: ((...args: any[]) => any) | undefined;
15
+ }>, {
16
+ open: boolean;
17
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
+ export default _default;
@@ -0,0 +1,37 @@
1
+ import type { HysPopupSurfaceProps } from "../composables/popupSurface";
2
+ import type { usePopupSurface } from "../composables/usePopupSurface";
3
+ type __VLS_Props = {
4
+ surface: ReturnType<typeof usePopupSurface>;
5
+ options: HysPopupSurfaceProps;
6
+ kind: "tooltip" | "popover";
7
+ title?: string;
8
+ };
9
+ declare const __VLS_template: () => {
10
+ __VLS_Slots: {
11
+ title?: (props: {
12
+ open: boolean;
13
+ show: () => Promise<boolean>;
14
+ close: () => Promise<boolean>;
15
+ toggle: () => Promise<boolean>;
16
+ updatePosition: () => void;
17
+ }) => any;
18
+ } & {
19
+ default?: (props: {
20
+ open: boolean;
21
+ show: () => Promise<boolean>;
22
+ close: () => Promise<boolean>;
23
+ toggle: () => Promise<boolean>;
24
+ updatePosition: () => void;
25
+ }) => any;
26
+ };
27
+ };
28
+ type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
29
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
31
+ declare const _default: typeof __VLS_export;
32
+ export default _default;
33
+ type __VLS_WithSlots<T, S> = T & {
34
+ new (): {
35
+ $slots: S;
36
+ };
37
+ };
@@ -0,0 +1,59 @@
1
+ import { type PropType } from "vue";
2
+ import type { HysPopupTransition } from "./popup";
3
+ /** Internal transparent boundary: preserves the popup DOM/ref and owns only its transition. */
4
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
+ popupTransition: {
6
+ type: PropType<HysPopupTransition>;
7
+ default: undefined;
8
+ };
9
+ popupTransitionDuration: {
10
+ type: NumberConstructor;
11
+ default: undefined;
12
+ };
13
+ placement: {
14
+ type: StringConstructor;
15
+ default: string;
16
+ };
17
+ disabled: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ ignoreOwner: {
22
+ type: BooleanConstructor;
23
+ default: boolean;
24
+ };
25
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
26
+ [key: string]: any;
27
+ }> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("left" | "inactive" | "entered")[], "left" | "inactive" | "entered", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
28
+ popupTransition: {
29
+ type: PropType<HysPopupTransition>;
30
+ default: undefined;
31
+ };
32
+ popupTransitionDuration: {
33
+ type: NumberConstructor;
34
+ default: undefined;
35
+ };
36
+ placement: {
37
+ type: StringConstructor;
38
+ default: string;
39
+ };
40
+ disabled: {
41
+ type: BooleanConstructor;
42
+ default: boolean;
43
+ };
44
+ ignoreOwner: {
45
+ type: BooleanConstructor;
46
+ default: boolean;
47
+ };
48
+ }>> & Readonly<{
49
+ onLeft?: ((...args: any[]) => any) | undefined;
50
+ onInactive?: ((...args: any[]) => any) | undefined;
51
+ onEntered?: ((...args: any[]) => any) | undefined;
52
+ }>, {
53
+ disabled: boolean;
54
+ popupTransition: HysPopupTransition;
55
+ popupTransitionDuration: number;
56
+ placement: string;
57
+ ignoreOwner: boolean;
58
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
59
+ export default _default;
@@ -0,0 +1,12 @@
1
+ export type HysPopupTransition = "scale" | "fade" | "slide" | "slide-fade" | "none";
2
+ export interface HysPopupMotionProps {
3
+ /** Built-in entrance/exit effect. Defaults to scale; none disables it. */
4
+ popupTransition?: HysPopupTransition;
5
+ /** Duration in milliseconds, default 160. Zero disables the transition. */
6
+ popupTransitionDuration?: number;
7
+ }
8
+ /** Layout dimensions, unaffected by an in-flight scale/slide animation. */
9
+ export declare function popupSize(element: HTMLElement): {
10
+ width: number;
11
+ height: number;
12
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hys-ui",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Themeable Vue 3 components with TypeScript and interactive documentation",
5
5
  "type": "module",
6
6
  "license": "MIT",