hys-ui 0.4.0 → 0.6.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 (152) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/components/HysAnimatedNumber/HysAnimatedNumber.vue.js +3 -3
  3. package/dist/components/HysAnimatedNumber/HysAnimatedNumber2.vue.js +440 -119
  4. package/dist/components/HysAnimatedNumber/NumberAnimationCanvas/NumberAnimationCanvas.vue.js +7 -0
  5. package/dist/components/HysAnimatedNumber/NumberAnimationCanvas/NumberAnimationCanvas2.vue.js +166 -0
  6. package/dist/components/HysAnimatedNumber/NumberDigits/NumberDigits.vue.js +7 -0
  7. package/dist/components/HysAnimatedNumber/NumberDigits/NumberDigits2.vue.js +105 -0
  8. package/dist/components/HysAnimatedNumber/animation/digital.js +186 -0
  9. package/dist/components/HysAnimatedNumber/animation/morph.js +110 -0
  10. package/dist/components/HysAnimatedNumber/animation/paint.js +34 -0
  11. package/dist/components/HysAnimatedNumber/animation/particles.js +51 -0
  12. package/dist/components/HysAnimatedNumber/animation/paths.js +165 -0
  13. package/dist/components/HysAnimatedNumber/animation/physics.js +66 -0
  14. package/dist/components/HysAnimatedNumber/animation/render.js +89 -0
  15. package/dist/components/HysAnimatedNumber/animation/reveal.js +125 -0
  16. package/dist/components/HysAnimatedNumber/animation/rolling.js +66 -0
  17. package/dist/components/HysAnimatedNumber/animation/scenarios.js +217 -0
  18. package/dist/components/HysAnimatedNumber/animation/spatial.js +112 -0
  19. package/dist/components/HysAnimatedNumber/useNumberCountdown.js +58 -0
  20. package/dist/components/HysAnimatedNumber/useNumberVisuals.js +60 -0
  21. package/dist/components/HysDrawer/HysDrawer.vue.js +1 -1
  22. package/dist/components/HysDrawer/HysDrawer2.vue.js +2 -2
  23. package/dist/components/HysFormItem/HysFormItem.vue.js +1 -1
  24. package/dist/components/HysFormItem/HysFormItem2.vue.js +231 -229
  25. package/dist/components/HysInput/HysInput.vue.js +2 -2
  26. package/dist/components/HysInput/HysInput2.vue.js +327 -274
  27. package/dist/components/HysModal/HysModal.vue.js +2 -2
  28. package/dist/components/HysModal/HysModal2.vue.js +38 -38
  29. package/dist/components/HysSearch/HysSearch.vue.js +2 -2
  30. package/dist/components/HysSortableList/HysSortableList.vue.js +2 -2
  31. package/dist/components/HysSortableList/HysSortableList2.vue.js +498 -129
  32. package/dist/components/HysSortableList/SortableGhost/SortableGhost.vue.js +7 -0
  33. package/dist/components/HysSortableList/SortableGhost/SortableGhost2.vue.js +43 -0
  34. package/dist/components/HysSortableList/SortableGhost/useSortGhost.js +54 -0
  35. package/dist/components/HysSortableList/geometry.js +230 -0
  36. package/dist/components/HysSortableList/model.js +254 -0
  37. package/dist/components/HysSortableList/transactions.js +281 -0
  38. package/dist/components/HysSortableList/useSortDrag.js +270 -0
  39. package/dist/components/HysSortableList/useSortKeyboard.js +72 -0
  40. package/dist/components/HysSortableList/useSortWindow.js +144 -0
  41. package/dist/components/HysTextarea/HysTextarea.vue.js +56 -32
  42. package/dist/components/HysToast/HysToast.vue.js +3 -3
  43. package/dist/components/HysToast/HysToast2.vue.js +379 -107
  44. package/dist/components/HysToast/ToastViewport/ToastViewport.vue.js +7 -0
  45. package/dist/components/HysToast/ToastViewport/ToastViewport2.vue.js +211 -0
  46. package/dist/components/HysToast/ToastViewport/useToastStackDisclosure.js +71 -0
  47. package/dist/components/HysToast/toastPresentation.js +98 -0
  48. package/dist/components/HysToast/useToastActions.js +62 -0
  49. package/dist/components/HysToast/useToastSwipe.js +48 -0
  50. package/dist/components/HysToast/useToastTimer.js +90 -0
  51. package/dist/composables/animatedNumberDigits.js +106 -0
  52. package/dist/composables/animatedNumberFormat.js +222 -0
  53. package/dist/composables/animatedNumberTiming.js +66 -0
  54. package/dist/composables/numberAnimation.js +72 -0
  55. package/dist/composables/numberAnimationCatalog.js +301 -0
  56. package/dist/composables/numberAnimationSequence.js +45 -0
  57. package/dist/composables/popupReferenceBinding.js +41 -0
  58. package/dist/composables/textInput.js +23 -14
  59. package/dist/composables/toastEscape.js +18 -10
  60. package/dist/composables/toastQueue.js +276 -0
  61. package/dist/composables/toastQueueModel.js +86 -0
  62. package/dist/composables/toastTasks.js +58 -0
  63. package/dist/composables/useHysAnimatedNumber.js +264 -0
  64. package/dist/composables/useHysNumberAnimationGroup.js +23 -0
  65. package/dist/composables/useHysToast.js +117 -135
  66. package/dist/composables/usePopupSurface.js +190 -356
  67. package/dist/composables/usePopupSurfaceInteractions.js +172 -0
  68. package/dist/composables/useTextareaSize.js +62 -46
  69. package/dist/index.js +125 -111
  70. package/dist/style.css +1 -1
  71. package/dist/types/components/HysAnimatedNumber/HysAnimatedNumber.vue.d.ts +88 -49
  72. package/dist/types/components/HysAnimatedNumber/NumberAnimationCanvas/NumberAnimationCanvas.vue.d.ts +19 -0
  73. package/dist/types/components/HysAnimatedNumber/NumberDigits/NumberDigits.vue.d.ts +31 -0
  74. package/dist/types/components/HysAnimatedNumber/animation/digital.d.ts +3 -0
  75. package/dist/types/components/HysAnimatedNumber/animation/morph.d.ts +2 -0
  76. package/dist/types/components/HysAnimatedNumber/animation/paint.d.ts +44 -0
  77. package/dist/types/components/HysAnimatedNumber/animation/particles.d.ts +5 -0
  78. package/dist/types/components/HysAnimatedNumber/animation/paths.d.ts +12 -0
  79. package/dist/types/components/HysAnimatedNumber/animation/physics.d.ts +2 -0
  80. package/dist/types/components/HysAnimatedNumber/animation/render.d.ts +2 -0
  81. package/dist/types/components/HysAnimatedNumber/animation/reveal.d.ts +2 -0
  82. package/dist/types/components/HysAnimatedNumber/animation/rolling.d.ts +2 -0
  83. package/dist/types/components/HysAnimatedNumber/animation/scenarios.d.ts +4 -0
  84. package/dist/types/components/HysAnimatedNumber/animation/spatial.d.ts +2 -0
  85. package/dist/types/components/HysAnimatedNumber/useNumberCountdown.d.ts +8 -0
  86. package/dist/types/components/HysAnimatedNumber/useNumberVisuals.d.ts +12 -0
  87. package/dist/types/components/HysAutocomplete/HysAutocomplete.vue.d.ts +11 -2
  88. package/dist/types/components/HysAvatarGroup/HysAvatarGroup.vue.d.ts +2 -2
  89. package/dist/types/components/HysCard/HysCard.vue.d.ts +1 -1
  90. package/dist/types/components/HysCascader/HysCascader.vue.d.ts +3 -3
  91. package/dist/types/components/HysCascader/HysCascaderColumn.vue.d.ts +2 -2
  92. package/dist/types/components/HysColorPicker/HysColorPicker.vue.d.ts +2 -2
  93. package/dist/types/components/HysDatePicker/HysDatePicker.vue.d.ts +3 -3
  94. package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +5 -5
  95. package/dist/types/components/HysDateRangePicker/HysDateRangePicker.vue.d.ts +3 -3
  96. package/dist/types/components/HysDrawer/HysDrawer.vue.d.ts +1 -1
  97. package/dist/types/components/HysFormItem/HysFormItem.vue.d.ts +1 -1
  98. package/dist/types/components/HysGantt/HysGantt.vue.d.ts +1 -1
  99. package/dist/types/components/HysInput/HysInput.vue.d.ts +13 -1
  100. package/dist/types/components/HysModal/HysModal.vue.d.ts +1 -1
  101. package/dist/types/components/HysNumberInput/HysNumberInput.vue.d.ts +2 -2
  102. package/dist/types/components/HysPopover/HysPopover.vue.d.ts +1 -1
  103. package/dist/types/components/HysSearch/HysSearch.vue.d.ts +1 -1
  104. package/dist/types/components/HysSkeleton/HysSkeleton.vue.d.ts +2 -2
  105. package/dist/types/components/HysSortableList/HysSortableList.vue.d.ts +48 -25
  106. package/dist/types/components/HysSortableList/SortableGhost/SortableGhost.vue.d.ts +31 -0
  107. package/dist/types/components/HysSortableList/SortableGhost/useSortGhost.d.ts +23 -0
  108. package/dist/types/components/HysSortableList/geometry.d.ts +35 -0
  109. package/dist/types/components/HysSortableList/model.d.ts +61 -0
  110. package/dist/types/components/HysSortableList/sortableList.d.ts +151 -0
  111. package/dist/types/components/HysSortableList/transactions.d.ts +10 -0
  112. package/dist/types/components/HysSortableList/useSortDrag.d.ts +25 -0
  113. package/dist/types/components/HysSortableList/useSortKeyboard.d.ts +17 -0
  114. package/dist/types/components/HysSortableList/useSortWindow.d.ts +16 -0
  115. package/dist/types/components/HysSteps/HysSteps.vue.d.ts +1 -1
  116. package/dist/types/components/HysTabs/HysTabs.vue.d.ts +1 -1
  117. package/dist/types/components/HysTagInput/HysTagInput.vue.d.ts +1 -1
  118. package/dist/types/components/HysTextarea/HysTextarea.vue.d.ts +13 -2
  119. package/dist/types/components/HysToast/HysToast.vue.d.ts +44 -46
  120. package/dist/types/components/HysToast/ToastViewport/ToastViewport.vue.d.ts +25 -0
  121. package/dist/types/components/HysToast/ToastViewport/useToastStackDisclosure.d.ts +16 -0
  122. package/dist/types/components/HysToast/toastPresentation.d.ts +8 -0
  123. package/dist/types/components/HysToast/toastTypes.d.ts +212 -0
  124. package/dist/types/components/HysToast/useToastActions.d.ts +18 -0
  125. package/dist/types/components/HysToast/useToastSwipe.d.ts +11 -0
  126. package/dist/types/components/HysToast/useToastTimer.d.ts +22 -0
  127. package/dist/types/components/HysTooltip/HysTooltip.vue.d.ts +1 -1
  128. package/dist/types/components/HysTour/HysTour.vue.d.ts +1 -1
  129. package/dist/types/components/HysTreeSelect/HysTreeSelect.vue.d.ts +3 -3
  130. package/dist/types/components/HysUpload/HysUpload.vue.d.ts +2 -2
  131. package/dist/types/composables/animatedNumber.d.ts +220 -0
  132. package/dist/types/composables/animatedNumberDigits.d.ts +32 -0
  133. package/dist/types/composables/animatedNumberFormat.d.ts +16 -0
  134. package/dist/types/composables/animatedNumberTiming.d.ts +21 -0
  135. package/dist/types/composables/drawer.d.ts +1 -1
  136. package/dist/types/composables/numberAnimation.d.ts +29 -0
  137. package/dist/types/composables/numberAnimationCatalog.d.ts +58 -0
  138. package/dist/types/composables/numberAnimationSequence.d.ts +13 -0
  139. package/dist/types/composables/popupReferenceBinding.d.ts +9 -0
  140. package/dist/types/composables/textInput.d.ts +39 -4
  141. package/dist/types/composables/toastEscape.d.ts +1 -1
  142. package/dist/types/composables/toastQueue.d.ts +121 -0
  143. package/dist/types/composables/toastQueueModel.d.ts +116 -0
  144. package/dist/types/composables/toastTasks.d.ts +2 -0
  145. package/dist/types/composables/useHysAnimatedNumber.d.ts +37 -0
  146. package/dist/types/composables/useHysNumberAnimationGroup.d.ts +4 -0
  147. package/dist/types/composables/useHysToast.d.ts +4 -48
  148. package/dist/types/composables/usePopupSurface.d.ts +20 -20
  149. package/dist/types/composables/usePopupSurfaceInteractions.d.ts +33 -0
  150. package/dist/types/composables/useTextareaSize.d.ts +5 -2
  151. package/dist/types/index.d.ts +15 -6
  152. package/package.json +1 -1
@@ -0,0 +1,121 @@
1
+ import type { HysToastApi, HysToastCloseContext, HysToastConfig, HysToastType } from "../components/HysToast/toastTypes";
2
+ import { type ToastEntry, type ToastInstance } from "./toastQueueModel";
3
+ export declare function createToastQueue(config: HysToastConfig, host: {
4
+ mount: () => void;
5
+ empty: () => void;
6
+ }, reportError: (error: unknown) => void): {
7
+ api: HysToastApi;
8
+ records: import("vue").ShallowReactive<Map<string, ToastEntry>>;
9
+ settings: import("vue").ShallowRef<{
10
+ maxCount?: number;
11
+ maxQueue?: number;
12
+ overflow?: "replace" | "queue";
13
+ queueOrder?: "fifo" | "lifo";
14
+ queueScope?: "global" | "position" | "type" | "group";
15
+ layout?: "vertical" | "horizontal" | "layered";
16
+ gap?: number;
17
+ collapsedCount?: number;
18
+ layerCount?: number;
19
+ layerTrigger?: "hover" | "click" | "both";
20
+ grouping?: boolean;
21
+ dedupe?: "ignore" | "merge";
22
+ dedupeWindow?: number;
23
+ appendTo?: string | HTMLElement | ShadowRoot;
24
+ progress?: import("./useHysToast").HysToastProgress | undefined;
25
+ type?: HysToastType | undefined;
26
+ width?: string | number | undefined;
27
+ direction?: import("./useHysToast").HysToastDirection | undefined;
28
+ offset?: number | undefined;
29
+ duration?: number | undefined;
30
+ animation?: (import("./useHysToast").HysToastAnimation | import("./useHysToast").HysToastMotionPreset) | undefined;
31
+ closable?: boolean | undefined;
32
+ showIcon?: boolean | undefined;
33
+ beforeClose?: ((context: HysToastCloseContext) => boolean | void | Promise<boolean | void>) | undefined;
34
+ easing?: string | ((progress: number) => number) | undefined;
35
+ plain?: boolean | undefined;
36
+ locale?: Partial<import("./useHysToast").HysToastLocale> | undefined;
37
+ position?: import("./useHysToast").HysToastPosition | undefined;
38
+ animationDuration?: number | undefined;
39
+ zIndex?: number | undefined;
40
+ maxLines?: number | undefined;
41
+ actions?: readonly import("./useHysToast").HysToastAction[] | undefined;
42
+ closeOnEscape?: boolean | undefined;
43
+ live?: "polite" | "assertive" | "off" | undefined;
44
+ swipe?: boolean | undefined;
45
+ persistent?: boolean | undefined;
46
+ closeOnClick?: boolean | undefined;
47
+ keyboardDismiss?: boolean | undefined;
48
+ pauseOnHover?: boolean | undefined;
49
+ pauseOnBlur?: boolean | undefined;
50
+ interactive?: boolean | undefined;
51
+ offsetX?: number | undefined;
52
+ offsetY?: number | undefined;
53
+ coordinates?: import("./useHysToast").HysToastCoordinates | undefined;
54
+ glass?: boolean | undefined;
55
+ toastStyle?: import("vue").CSSProperties | undefined;
56
+ progressStyle?: import("vue").CSSProperties | undefined;
57
+ showProgress?: boolean | undefined;
58
+ countdown?: boolean | undefined;
59
+ copyable?: boolean | undefined;
60
+ actionLayout?: "inline" | "footer" | undefined;
61
+ }, {
62
+ maxCount?: number;
63
+ maxQueue?: number;
64
+ overflow?: "replace" | "queue";
65
+ queueOrder?: "fifo" | "lifo";
66
+ queueScope?: "global" | "position" | "type" | "group";
67
+ layout?: "vertical" | "horizontal" | "layered";
68
+ gap?: number;
69
+ collapsedCount?: number;
70
+ layerCount?: number;
71
+ layerTrigger?: "hover" | "click" | "both";
72
+ grouping?: boolean;
73
+ dedupe?: "ignore" | "merge";
74
+ dedupeWindow?: number;
75
+ appendTo?: string | HTMLElement | ShadowRoot;
76
+ progress?: import("./useHysToast").HysToastProgress | undefined;
77
+ type?: HysToastType | undefined;
78
+ width?: string | number | undefined;
79
+ direction?: import("./useHysToast").HysToastDirection | undefined;
80
+ offset?: number | undefined;
81
+ duration?: number | undefined;
82
+ animation?: (import("./useHysToast").HysToastAnimation | import("./useHysToast").HysToastMotionPreset) | undefined;
83
+ closable?: boolean | undefined;
84
+ showIcon?: boolean | undefined;
85
+ beforeClose?: ((context: HysToastCloseContext) => boolean | void | Promise<boolean | void>) | undefined;
86
+ easing?: string | ((progress: number) => number) | undefined;
87
+ plain?: boolean | undefined;
88
+ locale?: Partial<import("./useHysToast").HysToastLocale> | undefined;
89
+ position?: import("./useHysToast").HysToastPosition | undefined;
90
+ animationDuration?: number | undefined;
91
+ zIndex?: number | undefined;
92
+ maxLines?: number | undefined;
93
+ actions?: readonly import("./useHysToast").HysToastAction[] | undefined;
94
+ closeOnEscape?: boolean | undefined;
95
+ live?: "polite" | "assertive" | "off" | undefined;
96
+ swipe?: boolean | undefined;
97
+ persistent?: boolean | undefined;
98
+ closeOnClick?: boolean | undefined;
99
+ keyboardDismiss?: boolean | undefined;
100
+ pauseOnHover?: boolean | undefined;
101
+ pauseOnBlur?: boolean | undefined;
102
+ interactive?: boolean | undefined;
103
+ offsetX?: number | undefined;
104
+ offsetY?: number | undefined;
105
+ coordinates?: import("./useHysToast").HysToastCoordinates | undefined;
106
+ glass?: boolean | undefined;
107
+ toastStyle?: import("vue").CSSProperties | undefined;
108
+ progressStyle?: import("vue").CSSProperties | undefined;
109
+ showProgress?: boolean | undefined;
110
+ countdown?: boolean | undefined;
111
+ copyable?: boolean | undefined;
112
+ actionLayout?: "inline" | "footer" | undefined;
113
+ }>;
114
+ order: (a: ToastEntry, b: ToastEntry) => number;
115
+ notify: <T extends unknown[]>(callback: ((...args: T) => void) | undefined, ...args: T) => void;
116
+ begin: (entry: ToastEntry, closeContext: HysToastCloseContext) => void;
117
+ finish: (entry: ToastEntry) => void;
118
+ setInstance: (entry: ToastEntry, instance: ToastInstance | null, stack: string) => void;
119
+ suspend: (permanent?: boolean) => void;
120
+ resume: () => void;
121
+ };
@@ -0,0 +1,116 @@
1
+ import type { ToastClock } from "../components/HysToast/useToastTimer";
2
+ import type { HysToastCloseContext, HysToastCloseReason, HysToastConfig, HysToastContext, HysToastFilter, HysToastHandle, HysToastOptions, HysToastSnapshot, HysToastStatus } from "../components/HysToast/toastTypes";
3
+ export interface ToastInstance {
4
+ close(reason?: HysToastCloseReason, event?: Event, force?: boolean): Promise<boolean>;
5
+ restart(): void;
6
+ extend(milliseconds: number): void;
7
+ snapshotClock(): ToastClock;
8
+ restoreClock(clock: ToastClock): void;
9
+ }
10
+ export interface ToastEntry {
11
+ id: string;
12
+ serial: number;
13
+ options: HysToastOptions;
14
+ status: HysToastStatus;
15
+ repeat: number;
16
+ lastSeen: number;
17
+ paused: boolean;
18
+ extending: number;
19
+ clock?: ToastClock;
20
+ shown?: boolean;
21
+ entered?: boolean;
22
+ closeContext?: HysToastCloseContext;
23
+ handle: HysToastHandle;
24
+ resolve: () => void;
25
+ }
26
+ export declare const nextToastSequence: () => number;
27
+ export declare const asOptions: (value: string | HysToastOptions) => HysToastOptions;
28
+ export declare function presentation(options: HysToastOptions): {
29
+ message?: string;
30
+ title?: string;
31
+ type?: import("./useHysToast").HysToastType;
32
+ duration?: number;
33
+ persistent?: boolean;
34
+ closable?: boolean;
35
+ closeOnClick?: boolean;
36
+ closeOnEscape?: boolean;
37
+ keyboardDismiss?: boolean;
38
+ pauseOnHover?: boolean;
39
+ pauseOnBlur?: boolean;
40
+ swipe?: boolean;
41
+ interactive?: boolean;
42
+ position?: import("./useHysToast").HysToastPosition;
43
+ offset?: number;
44
+ offsetX?: number;
45
+ offsetY?: number;
46
+ coordinates?: import("./useHysToast").HysToastCoordinates;
47
+ zIndex?: number;
48
+ width?: string | number;
49
+ showIcon?: boolean;
50
+ plain?: boolean;
51
+ glass?: boolean;
52
+ theme?: import("..").HysTheme;
53
+ toastStyle?: import("vue").CSSProperties;
54
+ progressStyle?: import("vue").CSSProperties;
55
+ progress?: import("./useHysToast").HysToastProgress;
56
+ showProgress?: boolean;
57
+ countdown?: boolean;
58
+ maxLines?: number;
59
+ copyable?: boolean;
60
+ copyText?: string;
61
+ actionLayout?: "inline" | "footer";
62
+ actions?: readonly import("./useHysToast").HysToastAction[];
63
+ animation?: import("./useHysToast").HysToastAnimation | import("./useHysToast").HysToastMotionPreset;
64
+ direction?: import("./useHysToast").HysToastDirection;
65
+ animationDuration?: number;
66
+ easing?: string | ((progress: number) => number);
67
+ live?: "polite" | "assertive" | "off";
68
+ locale?: Partial<import("./useHysToast").HysToastLocale>;
69
+ beforeClose?: (context: HysToastCloseContext) => boolean | void | Promise<boolean | void>;
70
+ };
71
+ export declare function toastStackKey(options: HysToastOptions): string;
72
+ export declare function defaults(config: HysToastConfig): {
73
+ grouping?: boolean;
74
+ dedupe?: "ignore" | "merge";
75
+ dedupeWindow?: number;
76
+ progress?: import("./useHysToast").HysToastProgress | undefined;
77
+ type?: import("./useHysToast").HysToastType | undefined;
78
+ width?: string | number | undefined;
79
+ direction?: import("./useHysToast").HysToastDirection | undefined;
80
+ offset?: number | undefined;
81
+ duration?: number | undefined;
82
+ animation?: (import("./useHysToast").HysToastAnimation | import("./useHysToast").HysToastMotionPreset) | undefined;
83
+ closable?: boolean | undefined;
84
+ showIcon?: boolean | undefined;
85
+ beforeClose?: ((context: HysToastCloseContext) => boolean | void | Promise<boolean | void>) | undefined;
86
+ easing?: string | ((progress: number) => number) | undefined;
87
+ plain?: boolean | undefined;
88
+ locale?: Partial<import("./useHysToast").HysToastLocale> | undefined;
89
+ position?: import("./useHysToast").HysToastPosition | undefined;
90
+ animationDuration?: number | undefined;
91
+ zIndex?: number | undefined;
92
+ maxLines?: number | undefined;
93
+ actions?: readonly import("./useHysToast").HysToastAction[] | undefined;
94
+ closeOnEscape?: boolean | undefined;
95
+ live?: "polite" | "assertive" | "off" | undefined;
96
+ swipe?: boolean | undefined;
97
+ persistent?: boolean | undefined;
98
+ closeOnClick?: boolean | undefined;
99
+ keyboardDismiss?: boolean | undefined;
100
+ pauseOnHover?: boolean | undefined;
101
+ pauseOnBlur?: boolean | undefined;
102
+ interactive?: boolean | undefined;
103
+ offsetX?: number | undefined;
104
+ offsetY?: number | undefined;
105
+ coordinates?: import("./useHysToast").HysToastCoordinates | undefined;
106
+ glass?: boolean | undefined;
107
+ toastStyle?: import("vue").CSSProperties | undefined;
108
+ progressStyle?: import("vue").CSSProperties | undefined;
109
+ showProgress?: boolean | undefined;
110
+ countdown?: boolean | undefined;
111
+ copyable?: boolean | undefined;
112
+ actionLayout?: "inline" | "footer" | undefined;
113
+ };
114
+ export declare function context(entry: ToastEntry): HysToastContext;
115
+ export declare function snapshot(entry: ToastEntry): HysToastSnapshot;
116
+ export declare function matches(entry: ToastEntry, filter?: HysToastFilter): boolean;
@@ -0,0 +1,2 @@
1
+ import type { HysToastApi } from "../components/HysToast/toastTypes";
2
+ export declare function createToastTaskRunner(show: HysToastApi["show"], reportError: (error: unknown) => void): HysToastApi["promise"];
@@ -0,0 +1,37 @@
1
+ import { type MaybeRefOrGetter } from "vue";
2
+ import type { HysNumberComposableOptions, HysNumberEvent, HysNumberFrame, HysNumberValue } from "./animatedNumber";
3
+ /** 在 Vue setup 中使用。与 HysAnimatedNumber 共享调度和播放控制。 */
4
+ export declare function useHysAnimatedNumber(source?: MaybeRefOrGetter<HysNumberComposableOptions>, onEvent?: (event: HysNumberEvent, frame: HysNumberFrame) => void): {
5
+ frame: Readonly<import("vue").Ref<{
6
+ readonly value: HysNumberValue;
7
+ readonly from: HysNumberValue;
8
+ readonly to: HysNumberValue;
9
+ readonly progress: number;
10
+ readonly easedProgress: number;
11
+ readonly direction: import("./animatedNumber").HysNumberDirection;
12
+ readonly status: import("./animatedNumber").HysNumberStatus;
13
+ readonly iteration: number;
14
+ }, {
15
+ readonly value: HysNumberValue;
16
+ readonly from: HysNumberValue;
17
+ readonly to: HysNumberValue;
18
+ readonly progress: number;
19
+ readonly easedProgress: number;
20
+ readonly direction: import("./animatedNumber").HysNumberDirection;
21
+ readonly status: import("./animatedNumber").HysNumberStatus;
22
+ readonly iteration: number;
23
+ }>>;
24
+ motionEnabled: import("vue").ComputedRef<boolean>;
25
+ play: () => void;
26
+ pause: () => void;
27
+ resume: () => void;
28
+ stop: () => void;
29
+ restart: () => void;
30
+ reset: () => void;
31
+ reverse: () => void;
32
+ seek: (progress: number) => void;
33
+ finishAnimation: () => void;
34
+ updateTarget: (next: HysNumberValue) => void;
35
+ sync: () => void;
36
+ hold: (value: boolean) => void;
37
+ };
@@ -0,0 +1,4 @@
1
+ import { type MaybeRefOrGetter } from "vue";
2
+ import type { HysNumberControls } from "./animatedNumber";
3
+ /** 同时控制组件实例和独立动画。空实例会被跳过。 */
4
+ export declare function useHysNumberAnimationGroup(source: MaybeRefOrGetter<readonly (HysNumberControls | null | undefined)[]>): HysNumberControls;
@@ -1,50 +1,6 @@
1
- import { type VNodeChild } from 'vue';
2
- import type { HysToastPosition, HysToastType } from '../components/HysToast/HysToast.vue';
3
- import { type HysConfig } from '../config';
4
- export interface HysToastOptions {
5
- id?: string;
6
- message?: string;
7
- content?: VNodeChild | (() => VNodeChild);
8
- type?: HysToastType;
9
- duration?: number;
10
- closable?: boolean;
11
- position?: HysToastPosition;
12
- offset?: number;
13
- zIndex?: number;
14
- showIcon?: boolean;
15
- icon?: VNodeChild | (() => VNodeChild);
16
- plain?: boolean;
17
- pauseOnHover?: boolean;
18
- closeOnEscape?: boolean;
19
- grouping?: boolean;
20
- onClose?: () => void;
21
- onAfterClose?: () => void;
22
- }
23
- export interface HysToastConfig extends Omit<HysToastOptions, 'id' | 'message' | 'content' | 'icon' | 'onClose' | 'onAfterClose'> {
24
- maxCount?: number;
25
- appendTo?: string | HTMLElement | ShadowRoot;
26
- }
27
- export interface HysToastHandle {
28
- readonly id: string;
29
- readonly closed: Promise<void>;
30
- close(): void;
31
- update(value: string | Omit<Partial<HysToastOptions>, 'id'>): void;
32
- }
33
- export interface HysToastApi {
34
- show(value: string | HysToastOptions): HysToastHandle;
35
- success(value: string | Omit<HysToastOptions, 'type'>): HysToastHandle;
36
- info(value: string | Omit<HysToastOptions, 'type'>): HysToastHandle;
37
- warning(value: string | Omit<HysToastOptions, 'type'>): HysToastHandle;
38
- error(value: string | Omit<HysToastOptions, 'type'>): HysToastHandle;
39
- loading(value: string | Omit<HysToastOptions, 'type'>): HysToastHandle;
40
- closeAll(): void;
41
- }
42
- export interface HysToastServiceConfig extends HysToastConfig, HysConfig {
43
- }
44
- export interface HysToastService extends HysToastApi {
45
- dispose(): void;
46
- }
47
- /** Call during setup. Messages inherit the owner's theme and are removed when its scope leaves. */
1
+ import type { HysToastApi, HysToastConfig, HysToastService, HysToastServiceConfig } from "../components/HysToast/toastTypes";
2
+ export type * from "../components/HysToast/toastTypes";
48
3
  export declare function useHysToast(config?: HysToastConfig): HysToastApi;
49
- /** Create a shared service for callers outside setup; dispose it when the owning application ends. */
50
4
  export declare function createHysToast(config?: HysToastServiceConfig): HysToastService;
5
+ export declare function configureHysToast(config: HysToastServiceConfig): void;
6
+ export declare const hysToast: HysToastService;
@@ -1,6 +1,26 @@
1
1
  import { type CSSProperties, type HTMLAttributes } from "vue";
2
2
  import type { HysPopupSurfaceContext, HysPopupSurfaceProps } from "./popupSurface";
3
3
  export declare function usePopupSurface(props: HysPopupSurfaceProps, kind: "tooltip" | "popover", emit: (name: string, ...args: any[]) => void): {
4
+ afterEnter: () => Promise<void>;
5
+ afterLeave: () => Promise<void>;
6
+ inactive: () => void;
7
+ request: (value: boolean, restore?: boolean) => Promise<boolean>;
8
+ show: () => Promise<boolean>;
9
+ hide: () => Promise<boolean>;
10
+ toggle: () => Promise<boolean>;
11
+ updatePosition: () => void;
12
+ focus: () => void | undefined;
13
+ pointerEnter: () => void;
14
+ pointerLeave: () => void;
15
+ panelEnter: () => void;
16
+ panelLeave: () => void;
17
+ focusIn: (event: FocusEvent) => void;
18
+ focusOut: (event: FocusEvent) => void;
19
+ panelFocusIn: () => void;
20
+ panelFocusOut: (event: FocusEvent) => void;
21
+ click: (event: MouseEvent) => void;
22
+ contextmenu: (event: MouseEvent) => void;
23
+ key: (event: KeyboardEvent) => void;
4
24
  wrapper: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
5
25
  referenceElement: import("vue").ShallowRef<HTMLElement | undefined, HTMLElement | undefined>;
6
26
  panel: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
@@ -3318,24 +3338,4 @@ export declare function usePopupSurface(props: HysPopupSurfaceProps, kind: "tool
3318
3338
  contentStyle: import("vue").ComputedRef<CSSProperties>;
3319
3339
  scope: import("vue").ComputedRef<HysPopupSurfaceContext>;
3320
3340
  wrapperAttrs: import("vue").ComputedRef<HTMLAttributes>;
3321
- pointerEnter: () => void;
3322
- pointerLeave: () => void;
3323
- panelEnter: () => void;
3324
- panelLeave: () => void;
3325
- focusIn: (event: FocusEvent) => void;
3326
- focusOut: (event: FocusEvent) => void;
3327
- panelFocusIn: () => void;
3328
- panelFocusOut: (event: FocusEvent) => void;
3329
- click: (event: MouseEvent) => void;
3330
- contextmenu: (event: MouseEvent) => void;
3331
- key: (event: KeyboardEvent) => void;
3332
- afterEnter: () => Promise<void>;
3333
- afterLeave: () => Promise<void>;
3334
- inactive: () => void;
3335
- request: (value: boolean, restore?: boolean) => Promise<boolean>;
3336
- show: () => Promise<boolean>;
3337
- hide: () => Promise<boolean>;
3338
- toggle: () => Promise<boolean>;
3339
- updatePosition: () => void;
3340
- focus: () => void | undefined;
3341
3341
  };
@@ -0,0 +1,33 @@
1
+ import { type Ref } from "vue";
2
+ import type { HysPopupSurfaceProps } from "./popupSurface";
3
+ import type { FloatingAnchor, useFloating } from "./useFloating";
4
+ export declare const popupFocusControls = "button,a[href],input,select,textarea,[tabindex]:not([tabindex=\"-1\"]),[contenteditable=\"true\"]";
5
+ export declare function usePopupSurfaceInteractions(props: HysPopupSurfaceProps, kind: "tooltip" | "popover", { available, anchor, actualReference, panel, floating, restoreReferenceFocus, request, }: {
6
+ available: Readonly<Ref<boolean>>;
7
+ anchor: Readonly<Ref<FloatingAnchor | undefined>>;
8
+ actualReference: Readonly<Ref<HTMLElement | undefined>>;
9
+ panel: Readonly<Ref<HTMLElement | undefined>>;
10
+ floating: Pick<ReturnType<typeof useFloating>, "open" | "isTop" | "restoringFocus">;
11
+ restoreReferenceFocus: () => void;
12
+ request: (open: boolean) => Promise<boolean>;
13
+ }): {
14
+ clearDelays: () => void;
15
+ clearAuto: () => void;
16
+ resetReasons: () => void;
17
+ reset: () => void;
18
+ startAuto: () => void;
19
+ tab: (event: KeyboardEvent) => Promise<void>;
20
+ handlers: {
21
+ pointerEnter: () => void;
22
+ pointerLeave: () => void;
23
+ panelEnter: () => void;
24
+ panelLeave: () => void;
25
+ focusIn: (event: FocusEvent) => void;
26
+ focusOut: (event: FocusEvent) => void;
27
+ panelFocusIn: () => void;
28
+ panelFocusOut: (event: FocusEvent) => void;
29
+ click: (event: MouseEvent) => void;
30
+ contextmenu: (event: MouseEvent) => void;
31
+ key: (event: KeyboardEvent) => void;
32
+ };
33
+ };
@@ -1,3 +1,6 @@
1
1
  import { type Ref } from "vue";
2
- import type { HysInputProps } from "./textInput";
3
- export declare function useTextareaSize(input: Ref<HTMLInputElement | HTMLTextAreaElement | undefined>, props: HysInputProps, size: Ref<string>, value: Ref<string>): () => Promise<void>;
2
+ import type { HysInputProps, HysTextareaStyle } from "./textInput";
3
+ export declare function useTextareaSize(input: Ref<HTMLInputElement | HTMLTextAreaElement | undefined>, props: HysInputProps, size: Ref<string>, value: Ref<string>): {
4
+ resize: () => Promise<void>;
5
+ textareaStyle: import("vue").ShallowRef<HysTextareaStyle, HysTextareaStyle>;
6
+ };
@@ -4,8 +4,6 @@ export type { HysAccordionKey } from './components/HysAccordion/HysAccordion.vue
4
4
  export type { HysAccordionItem } from './components/HysAccordion/HysAccordion.vue';
5
5
  export { default as HysAlert } from './components/HysAlert/HysAlert.vue';
6
6
  export { default as HysAnimatedNumber } from './components/HysAnimatedNumber/HysAnimatedNumber.vue';
7
- export type { HysAnimatedNumberContext } from './components/HysAnimatedNumber/HysAnimatedNumber.vue';
8
- export type { HysAnimatedNumberProps } from './components/HysAnimatedNumber/HysAnimatedNumber.vue';
9
7
  export { default as HysAutocomplete } from './components/HysAutocomplete/HysAutocomplete.vue';
10
8
  export { default as HysAvatar } from './components/HysAvatar/HysAvatar.vue';
11
9
  export { default as HysAvatarGroup } from './components/HysAvatarGroup/HysAvatarGroup.vue';
@@ -111,8 +109,6 @@ export { default as HysTagInput } from './components/HysTagInput/HysTagInput.vue
111
109
  export { default as HysTextarea } from './components/HysTextarea/HysTextarea.vue';
112
110
  export { default as HysTimeline } from './components/HysTimeline/HysTimeline.vue';
113
111
  export { default as HysToast } from './components/HysToast/HysToast.vue';
114
- export type { HysToastType } from './components/HysToast/HysToast.vue';
115
- export type { HysToastPosition } from './components/HysToast/HysToast.vue';
116
112
  export { default as HysTooltip } from './components/HysTooltip/HysTooltip.vue';
117
113
  export { default as HysTour } from './components/HysTour/HysTour.vue';
118
114
  export { default as HysTransfer } from './components/HysTransfer/HysTransfer.vue';
@@ -129,9 +125,11 @@ export type { HysFormCol, HysFormColSize, HysFormGridValue, HysFormBreakpoint }
129
125
  export type { HysSelectValue, HysSelectModelValue, HysSelectOption, HysSelectGroup, HysSelectDataOption, HysSelectFieldNames, HysSelectSearchContext, HysSelectInstance } from './composables/selectOptions';
130
126
  export type { HysNumberInputValue, HysNumberInputFormatInfo, HysNumberInputStepInfo, HysNumberInputInvalidInfo, HysNumberInputInstance } from './composables/numberInput';
131
127
  export type { HysInputProps, HysTextareaProps, HysInputFormatInfo, HysInputCountInfo, HysInputCountStrategy, HysInputInstance, HysTextareaInstance } from './composables/textInput';
132
- export { useHysToast, createHysToast } from './composables/useHysToast';
133
- export type { HysToastApi, HysToastOptions, HysToastConfig, HysToastHandle, HysToastServiceConfig, HysToastService } from './composables/useHysToast';
128
+ export { useHysToast, createHysToast, hysToast, configureHysToast } from './composables/useHysToast';
129
+ export type { HysToastApi, HysToastOptions, HysToastConfig, HysToastHandle, HysToastServiceConfig, HysToastService, HysToastType, HysToastPosition, HysToastProps, HysToastPresentation, HysToastCloseReason, HysToastCloseContext, HysToastContext, HysToastAction, HysToastActionContext, HysToastActionEvent, HysToastAnimation, HysToastDirection, HysToastMotionPreset, HysToastLocale, HysToastCoordinates, HysToastProgress, HysToastStatus, HysToastSnapshot, HysToastFilter, HysToastPatch, HysToastRender, HysToastFeedback, HysToastTaskContext, HysToastPromiseOptions, HysToastTask } from './composables/useHysToast';
134
130
  export type { HysSliderValue, HysSliderStep, HysSliderMarks, HysSliderDragInfo, HysSliderInstance } from './composables/slider';
131
+ export type { HysInputSize, HysInputModelModifiers, HysTextareaStyle } from './composables/textInput';
132
+ export type { HysSortKey, HysSortItem, HysSortLayout, HysSortMode, HysSortOperation, HysSortPosition, HysSortSource, HysSortFixed, HysSortDecision, HysSortReason, HysSortListInfo, HysSortDrag, HysSortProposal, HysSortListChange, HysSortPreview, HysSortChange, HysSortFeedback, HysSortGroup, HysSortScroll, HysSortVirtual, HysSortRow, HysSortableListProps, HysSortMoveOptions, HysSortableListInstance } from './components/HysSortableList/sortableList';
135
133
  export type { HysSelectLabeledValue } from './composables/selectOptions';
136
134
  export type { HysAvatarProps, HysAvatarSize, HysAvatarBreakpoint, HysAvatarFit, HysAvatarLoadInfo, HysAvatarOption, HysAvatarInstance, HysAvatarGroupProps, HysAvatarGroupInstance } from './composables/avatar';
137
135
  export type { HysAutocompleteProps, HysAutocompleteRow, HysAutocompleteOption, HysAutocompleteItem, HysAutocompleteGroup, HysAutocompleteDataOption, HysAutocompleteContext, HysAutocompleteCallback, HysAutocompleteFetch, HysAutocompleteInstance } from './composables/autocomplete';
@@ -162,6 +160,17 @@ export type { HysDrawerProps, HysDrawerBeforeClose, HysDrawerPlacement, HysDrawe
162
160
  export type { HysPopupPlacement, HysPopupTrigger, HysPopupVirtualReference, HysPopupReference, HysPopupSurfaceProps, HysTooltipProps, HysPopoverProps, HysPopupSurfaceContext, HysTooltipSlots, HysPopoverSlots, HysPopupSurfaceInstance, HysTooltipInstance, HysPopoverInstance } from './composables/popupSurface';
163
161
  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';
164
162
  export type { HysProgressType, HysProgressStatus, HysProgressSize, HysProgressLinecap, HysProgressGapPosition, HysProgressGradientDirection, HysProgressGradientStop, HysProgressGradient, HysProgressColorStop, HysProgressColor, HysProgressSuccess, HysProgressLabelContext, HysProgressProps, HysProgressSlots, HysProgressInstance } from './composables/progress';
163
+ export { useHysAnimatedNumber } from './composables/useHysAnimatedNumber';
164
+ export { useHysNumberAnimationGroup } from './composables/useHysNumberAnimationGroup';
165
+ export { hysNumberAnimationCatalog, hysNumberAnimationCategories } from './composables/numberAnimationCatalog';
166
+ export type { HysNumberAnimationCategory, HysNumberAnimationName, HysNumberAnimationEntry } from './composables/numberAnimationCatalog';
167
+ export { parseHysNumberAnimation, stringifyHysNumberAnimation } from './composables/numberAnimation';
168
+ export type { HysNumberAnimation, HysNumberAnimationConfig, HysNumberAnimationItem, HysNumberAnimationPresets, HysNumberDigitAnimations } from './composables/numberAnimation';
169
+ export { createHysNumberSequence } from './composables/numberAnimationSequence';
170
+ export type { HysNumberSequenceStep } from './composables/numberAnimationSequence';
171
+ export type { HysNumberInterpolationContext } from './composables/animatedNumber';
172
+ export type { HysNumberComposableOptions } from './composables/animatedNumber';
173
+ export type { HysAnimatedNumberContext, HysAnimatedNumberProps, HysAnimatedNumberInstance, HysNumberValue, HysNumberDirection, HysNumberStatus, HysNumberEasing, HysNumberInterrupt, HysNumberTrigger, HysNumberEffect, HysNumberRounding, HysNumberFormat, HysNumberAnimationOptions, HysNumberFrame, HysNumberTrend, HysNumberEvent, HysNumberControls, HysNumberUnitRule, HysNumberFormatOptions, HysNumberDigitContext } from './composables/animatedNumber';
165
174
  export type { HysAlertTone, HysAlertEffect, HysAlertTransition, HysAlertCloseContext, HysAlertProps, HysAlertSlotContext, HysAlertSlots, HysAlertInstance, HysEmptyIllustration, HysEmptyProps, HysEmptySlotContext, HysEmptySlots, HysEmptyInstance } from './composables/feedback';
166
175
  export type { HysTimelineKey, HysTimelineMode, HysTimelinePosition, HysTimelineSize, HysTimelineTone, HysTimelineItem, HysTimelineFieldNames, HysTimelineProps, HysTimelineItemContext, HysTimelinePendingContext, HysTimelineSlots, HysTimelineInstance } from './composables/timeline';
167
176
  export type { HysTagInputReason, HysTagInputAddContext, HysTagInputInvalid, HysTagInputProps, HysTagInputSlotContext, HysTagInputTagContext, HysTagInputSlots, HysTagInputInstance } from './composables/tagInput';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hys-ui",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "Themeable Vue 3 components with TypeScript and interactive documentation",
5
5
  "type": "module",
6
6
  "license": "MIT",