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,101 @@
1
+ import { type HysColor, type HysColorPickerProps, type HysColorPickerContext } from "./color";
2
+ export declare function useColorPicker(props: HysColorPickerProps, emit: (name: string, ...args: any[]) => void): {
3
+ attrs: import("vue").Attrs;
4
+ field: import("./formContext").HysFieldContext | undefined;
5
+ control: {
6
+ disabled: import("vue").ComputedRef<boolean>;
7
+ size: import("vue").ComputedRef<"sm" | "md" | "lg">;
8
+ label: import("vue").ComputedRef<string | undefined>;
9
+ };
10
+ element: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
11
+ trigger: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
12
+ input: import("vue").Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
13
+ panel: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
14
+ live: import("vue").Ref<boolean, boolean>;
15
+ draft: import("vue").Ref<string, string>;
16
+ working: import("vue").Ref<{
17
+ h: number;
18
+ s: number;
19
+ v: number;
20
+ a: number;
21
+ }, HysColor | {
22
+ h: number;
23
+ s: number;
24
+ v: number;
25
+ a: number;
26
+ }>;
27
+ hasColor: import("vue").Ref<boolean, boolean>;
28
+ focused: import("vue").Ref<boolean, boolean>;
29
+ errorId: string;
30
+ panelId: string;
31
+ value: import("vue").ComputedRef<string>;
32
+ locked: import("vue").ComputedRef<boolean>;
33
+ format: import("vue").ComputedRef<import("./color").HysColorFormat>;
34
+ serialized: import("vue").ComputedRef<string>;
35
+ css: import("vue").ComputedRef<string>;
36
+ valid: import("vue").ComputedRef<boolean>;
37
+ dirty: import("vue").ComputedRef<boolean>;
38
+ status: import("vue").ComputedRef<import("./formContext").HysFormStatus | undefined>;
39
+ floating: {
40
+ open: import("vue").Ref<boolean, boolean>;
41
+ style: import("vue").ComputedRef<{
42
+ zIndex: string;
43
+ }>;
44
+ placement: import("vue").Ref<import("./useFloating").Placement, import("./useFloating").Placement>;
45
+ update: () => void;
46
+ show: (force?: boolean) => Promise<void>;
47
+ close: (restore?: boolean, force?: boolean) => void;
48
+ toggle: () => void | Promise<void>;
49
+ restoringFocus: import("vue").Ref<boolean, boolean>;
50
+ schedule: () => void;
51
+ isTop: () => boolean;
52
+ };
53
+ open: import("vue").ComputedRef<boolean>;
54
+ teleportTo: import("vue").ComputedRef<Element>;
55
+ presets: import("vue").ComputedRef<{
56
+ value: string;
57
+ color: string;
58
+ parsed: HysColor;
59
+ key: string;
60
+ }[]>;
61
+ context: import("vue").ComputedRef<HysColorPickerContext>;
62
+ gesture: import("vue").ShallowRef<{
63
+ node: HTMLElement;
64
+ id: number;
65
+ kind: "palette" | "hue" | "alpha";
66
+ rect: DOMRect;
67
+ value: string;
68
+ color: HysColor;
69
+ hasColor: boolean;
70
+ lastRequest: string;
71
+ releaseValidation: () => void;
72
+ } | undefined, {
73
+ node: HTMLElement;
74
+ id: number;
75
+ kind: "palette" | "hue" | "alpha";
76
+ rect: DOMRect;
77
+ value: string;
78
+ color: HysColor;
79
+ hasColor: boolean;
80
+ lastRequest: string;
81
+ releaseValidation: () => void;
82
+ } | undefined>;
83
+ sync: () => void;
84
+ publish: (final?: boolean) => Promise<boolean>;
85
+ setColor: (raw: string) => Promise<boolean>;
86
+ commitText: () => Promise<boolean>;
87
+ confirm: () => Promise<boolean>;
88
+ clear: () => Promise<boolean>;
89
+ cancel: () => void;
90
+ show: () => Promise<boolean>;
91
+ hide: (restore?: boolean) => Promise<boolean>;
92
+ focus: (options?: FocusOptions) => void;
93
+ blur: () => void;
94
+ focusIn: (event: FocusEvent) => void;
95
+ focusOut: (event: FocusEvent) => void;
96
+ start: (event: PointerEvent, kind: "hue" | "alpha" | "palette") => void;
97
+ move: (event: PointerEvent) => void;
98
+ end: (event: PointerEvent) => Promise<void>;
99
+ pointerCancel: (event: PointerEvent) => void;
100
+ keyboard: (event: KeyboardEvent, kind: "hue" | "alpha" | "palette") => void;
101
+ };
@@ -0,0 +1,81 @@
1
+ import { type CSSProperties, type Ref } from "vue";
2
+ import { type HysContextMenuProps, type HysMenuKey, type MenuRow, type HysMenuShowOptions } from "./menu";
3
+ export declare function useContextMenu<N extends object>(props: HysContextMenuProps<N>, root: Ref<HTMLElement | undefined>, layer: Ref<HTMLElement | undefined>, panel: Ref<HTMLElement | undefined>, id: string, emit: (name: string, ...args: any[]) => void): {
4
+ control: {
5
+ disabled: import("vue").ComputedRef<boolean>;
6
+ size: import("vue").ComputedRef<"sm" | "md" | "lg">;
7
+ label: import("vue").ComputedRef<string | undefined>;
8
+ };
9
+ live: Ref<boolean, boolean>;
10
+ busy: import("vue").ComputedRef<boolean>;
11
+ graph: import("vue").ComputedRef<{
12
+ roots: MenuRow<N>[];
13
+ all: MenuRow<N>[];
14
+ byKey: Map<string, MenuRow<N>>;
15
+ }>;
16
+ triggers: import("vue").ComputedRef<any[]>;
17
+ open: Ref<boolean, boolean>;
18
+ branches: import("vue").ComputedRef<MenuRow<N>[]>;
19
+ menus: import("vue").ComputedRef<MenuRow<N>[][]>;
20
+ openPath: import("vue").ComputedRef<HysMenuKey[]>;
21
+ checkedKeys: import("vue").ComputedRef<HysMenuKey[]>;
22
+ selectedKeys: import("vue").ComputedRef<HysMenuKey[]>;
23
+ context: (row: MenuRow<N>) => {
24
+ item: N;
25
+ value: HysMenuKey | undefined;
26
+ label: string;
27
+ path: N[];
28
+ keys: HysMenuKey[];
29
+ level: number;
30
+ disabled: boolean;
31
+ checked: boolean;
32
+ selected: boolean;
33
+ expanded: boolean;
34
+ submenu: boolean;
35
+ };
36
+ tabbable: (row: MenuRow<N>) => 0 | -1;
37
+ active: Ref<Map<number, HysMenuKey> & Omit<Map<number, HysMenuKey>, keyof Map<any, any>>, Map<number, HysMenuKey> | (Map<number, HysMenuKey> & Omit<Map<number, HysMenuKey>, keyof Map<any, any>>)>;
38
+ childStyles: import("vue").ShallowRef<Record<number, CSSProperties>, Record<number, CSSProperties>>;
39
+ floating: {
40
+ open: Ref<boolean, boolean>;
41
+ style: import("vue").ComputedRef<{
42
+ zIndex: string;
43
+ }>;
44
+ placement: Ref<import("./useFloating").Placement, import("./useFloating").Placement>;
45
+ update: () => void;
46
+ show: (force?: boolean) => Promise<void>;
47
+ close: (restore?: boolean, force?: boolean) => void;
48
+ toggle: () => void | Promise<void>;
49
+ restoringFocus: Ref<boolean, boolean>;
50
+ schedule: () => void;
51
+ isTop: () => boolean;
52
+ };
53
+ forceHide: () => void;
54
+ focusableChild: Ref<boolean, boolean>;
55
+ measureTrigger: () => void;
56
+ setPanel: (level: number, element?: HTMLElement) => void;
57
+ scheduleLayout: (updateRoot?: boolean) => void;
58
+ show: (event?: MouseEvent | KeyboardEvent | HysMenuShowOptions) => Promise<boolean>;
59
+ hide: (restore?: boolean) => Promise<boolean>;
60
+ focus: () => void;
61
+ toggle: () => Promise<boolean>;
62
+ focusItem: (key: HysMenuKey) => Promise<boolean>;
63
+ openSubmenu: (key: HysMenuKey, focusChild?: boolean) => Promise<boolean>;
64
+ closeSubmenus: () => Promise<boolean>;
65
+ setCheckedKeys: (keys: readonly HysMenuKey[]) => Promise<boolean>;
66
+ setSelectedKeys: (keys: readonly HysMenuKey[]) => Promise<boolean>;
67
+ choose: (row: MenuRow<N>, event?: MouseEvent | KeyboardEvent) => Promise<boolean>;
68
+ setActive: (row: MenuRow<N>, focus?: boolean) => void;
69
+ hoverRoot: (value: boolean, event?: PointerEvent) => void;
70
+ enterPanel: () => void;
71
+ hoverRow: (row: MenuRow<N>) => void;
72
+ triggerClick: (event: MouseEvent) => void;
73
+ contextmenu: (event: MouseEvent) => void;
74
+ triggerFocus: (event: FocusEvent) => void;
75
+ focusOut: (event: FocusEvent) => void;
76
+ triggerKey: (event: KeyboardEvent) => void;
77
+ keyboard: (level: number, event: KeyboardEvent) => void;
78
+ first: (level?: number, last?: boolean) => void;
79
+ setPath: (keys: readonly HysMenuKey[], focusChild?: boolean) => Promise<boolean>;
80
+ getItems: () => N[];
81
+ };
@@ -0,0 +1,15 @@
1
+ import { type ComputedRef } from "vue";
2
+ import type { HysDataGridProps, HysDataGridQuery } from "./dataGrid";
3
+ export declare function useDataGridRemote<T extends object>(props: HysDataGridProps<T>, query: ComputedRef<HysDataGridQuery>, onError: (error: unknown) => void): {
4
+ pending: import("vue").Ref<boolean, boolean>;
5
+ failure: import("vue").ShallowRef<{
6
+ error: unknown;
7
+ query: string;
8
+ } | undefined, {
9
+ error: unknown;
10
+ query: string;
11
+ } | undefined>;
12
+ reload: () => Promise<void>;
13
+ sourceRows: ComputedRef<readonly T[]>;
14
+ remoteTotal: ComputedRef<number | undefined>;
15
+ };
@@ -1,4 +1,17 @@
1
- import { type Ref } from 'vue';
2
- export declare function useDialog(open: Ref<boolean>, dialog: Ref<HTMLElement | undefined>, close: () => void): {
3
- active: Ref<boolean, boolean>;
1
+ import { type Ref } from "vue";
2
+ interface DialogOptions {
3
+ lockScroll?: () => boolean;
4
+ trapFocus?: () => boolean;
5
+ restoreFocus?: () => boolean;
6
+ initialFocus?: () => HTMLElement | false | undefined;
7
+ zIndex?: () => number | undefined;
8
+ onOpenAutoFocus?: (event: Event) => void;
9
+ onCloseAutoFocus?: (event: Event) => void;
10
+ childVisible?: () => boolean;
11
+ }
12
+ export declare function useDialog(open: Ref<boolean>, dialog: Ref<HTMLElement | undefined>, close: () => void, options?: DialogOptions): {
13
+ active: import("vue").ComputedRef<boolean>;
14
+ zIndex: import("vue").ComputedRef<number>;
15
+ focus: () => void;
4
16
  };
17
+ export {};
@@ -0,0 +1,6 @@
1
+ import { type Ref, type CSSProperties } from "vue";
2
+ import type { HysDrawerProps } from "./drawer";
3
+ export declare function useDrawerPush(props: HysDrawerProps, shown: Readonly<Ref<boolean>>, fullscreen: Readonly<Ref<boolean>>): {
4
+ pushed: import("vue").ComputedRef<boolean>;
5
+ style: import("vue").ComputedRef<CSSProperties>;
6
+ };
@@ -0,0 +1,27 @@
1
+ import { type Ref } from "vue";
2
+ import { type HysDrawerProps } from "./drawer";
3
+ export declare function useDrawerResize(props: HysDrawerProps, root: Ref<HTMLElement | undefined>, panel: Ref<HTMLElement | undefined>, shown: Readonly<Ref<boolean>>, fullscreen: Readonly<Ref<boolean>>, busy: Readonly<Ref<boolean>>, emit: (name: string, ...args: any[]) => void): {
4
+ handle: Ref<HTMLElement | undefined, HTMLElement | undefined>;
5
+ resizing: Ref<boolean, boolean>;
6
+ size: import("vue").ComputedRef<number>;
7
+ vertical: import("vue").ComputedRef<boolean>;
8
+ limits: (availableSize?: number) => {
9
+ min: number;
10
+ max: number;
11
+ };
12
+ model: {
13
+ current: import("vue").ComputedRef<number | null>;
14
+ commit: (value: number | null, update: (value: number | null) => void, change: (value: number | null) => void, notifyOnRequest?: boolean) => Promise<boolean>;
15
+ reset: () => void;
16
+ invalidate: () => void;
17
+ isLive: () => boolean;
18
+ };
19
+ resolvedSize: import("vue").ComputedRef<number | undefined>;
20
+ start: (event: PointerEvent) => void;
21
+ stop: (cancelled?: boolean) => Promise<boolean>;
22
+ keyboard: (event: KeyboardEvent) => Promise<void>;
23
+ resizeTo: (value: number | string) => Promise<boolean>;
24
+ reset: () => Promise<boolean>;
25
+ measure: () => void;
26
+ resetAfterClose: () => void;
27
+ };
@@ -1,5 +1,13 @@
1
1
  import { type Ref } from "vue";
2
- export type Placement = "bottom-start" | "bottom-end" | "top-start" | "top-end" | "right" | "left";
2
+ export type Placement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
3
+ export interface FloatingPosition {
4
+ anchor: DOMRect;
5
+ width: number;
6
+ height: number;
7
+ x: number;
8
+ y: number;
9
+ placement: Placement;
10
+ }
3
11
  export interface FloatingAnchor {
4
12
  getBoundingClientRect(): DOMRect;
5
13
  contains(node: Node | null): boolean;
@@ -12,15 +20,26 @@ export declare function useFloating(anchor: Readonly<Ref<FloatingAnchor | undefi
12
20
  padding?: number;
13
21
  matchWidth?: boolean | "min" | (() => boolean | "min");
14
22
  width?: () => number | string | undefined;
23
+ maxWidth?: () => number | string | undefined;
15
24
  requestOpen?: (open: boolean, restoreFocus?: boolean) => boolean | void;
16
25
  closeOnTab?: boolean;
26
+ closeOnEscape?: boolean;
27
+ closeOnOutside?: boolean;
28
+ autoAdjustOverflow?: boolean;
29
+ strategy?: "fixed" | "absolute";
30
+ zIndex?: () => number | undefined;
31
+ onPosition?: (position: FloatingPosition) => void;
17
32
  }): {
18
33
  open: Ref<boolean, boolean>;
19
- style: Ref<Record<string, string>, Record<string, string>>;
34
+ style: import("vue").ComputedRef<{
35
+ zIndex: string;
36
+ }>;
20
37
  placement: Ref<Placement, Placement>;
21
38
  update: () => void;
22
39
  show: (force?: boolean) => Promise<void>;
23
40
  close: (restore?: boolean, force?: boolean) => void;
24
41
  toggle: () => void | Promise<void>;
25
42
  restoringFocus: Ref<boolean, boolean>;
43
+ schedule: () => void;
44
+ isTop: () => boolean;
26
45
  };
@@ -0,0 +1,44 @@
1
+ import { type VNodeChild } from "vue";
2
+ import { type HysConfig } from "../config";
3
+ import type { HysModalProps, HysModalActionContext, HysModalCloseReason, HysModalSlotContext } from "./modal";
4
+ export interface HysModalResult {
5
+ action: "confirm" | "cancel" | "destroy" | "owner-dispose";
6
+ reason: HysModalCloseReason | "destroy" | "owner-dispose";
7
+ }
8
+ export interface HysModalOptions extends Omit<HysModalProps, "open" | "modelValue" | "defaultOpen" | "fullscreen" | "appendTo"> {
9
+ content?: VNodeChild | ((context: HysModalSlotContext) => VNodeChild);
10
+ onOk?: (context: HysModalActionContext) => boolean | void | Promise<boolean | void>;
11
+ onCancel?: (context: HysModalActionContext) => boolean | void | Promise<boolean | void>;
12
+ onAfterClose?: (result: HysModalResult) => void;
13
+ }
14
+ export interface HysModalHandle {
15
+ readonly id: string;
16
+ readonly closed: Promise<HysModalResult>;
17
+ update(options: Partial<HysModalOptions>): void;
18
+ confirm(): Promise<boolean>;
19
+ cancel(): Promise<boolean>;
20
+ close(): Promise<boolean>;
21
+ destroy(): void;
22
+ }
23
+ export interface HysModalConfig {
24
+ defaults?: HysModalOptions;
25
+ appendTo?: string | HTMLElement;
26
+ }
27
+ export interface HysModalApi {
28
+ show(options: HysModalOptions): HysModalHandle;
29
+ confirm(options: HysModalOptions | string): HysModalHandle;
30
+ info(options: HysModalOptions | string): HysModalHandle;
31
+ success(options: HysModalOptions | string): HysModalHandle;
32
+ warning(options: HysModalOptions | string): HysModalHandle;
33
+ error(options: HysModalOptions | string): HysModalHandle;
34
+ destroyAll(): void;
35
+ }
36
+ export interface HysModalService extends HysModalApi {
37
+ dispose(): void;
38
+ }
39
+ export interface HysModalServiceConfig extends HysModalConfig, HysConfig {
40
+ }
41
+ /** Call in setup. Dialogs inherit ancestor providers and are disposed when their owner leaves. */
42
+ export declare function useHysModal(config?: HysModalConfig): HysModalApi;
43
+ /** Standalone browser service. Call dispose when its owning application is destroyed. */
44
+ export declare function createHysModal(config?: HysModalServiceConfig): HysModalService;
@@ -0,0 +1,62 @@
1
+ import { type Ref } from "vue";
2
+ import type { HysModalProps, HysModalCloseReason } from "./modal";
3
+ export declare function useModal(props: HysModalProps, dialog: Ref<HTMLElement | undefined>, emit: (name: string, ...args: any[]) => void, options?: {
4
+ interaction?: boolean;
5
+ }): {
6
+ model: {
7
+ current: import("vue").ComputedRef<boolean>;
8
+ commit: (value: boolean, update: (value: boolean) => void, change: (value: boolean) => void, notifyOnRequest?: boolean) => Promise<boolean>;
9
+ reset: () => void;
10
+ invalidate: () => void;
11
+ isLive: () => boolean;
12
+ };
13
+ alpha: (value: number) => number;
14
+ fullscreen: import("vue").ComputedRef<boolean>;
15
+ live: Ref<boolean, boolean>;
16
+ state: {
17
+ active: import("vue").ComputedRef<boolean>;
18
+ zIndex: import("vue").ComputedRef<number>;
19
+ focus: () => void;
20
+ };
21
+ shown: Ref<boolean, boolean>;
22
+ engaged: Ref<boolean, boolean>;
23
+ rendered: Ref<boolean, boolean>;
24
+ leaving: Ref<boolean, boolean>;
25
+ error: Ref<string, string>;
26
+ confirming: import("vue").ComputedRef<boolean>;
27
+ closing: import("vue").ComputedRef<boolean>;
28
+ busy: import("vue").ComputedRef<boolean>;
29
+ motion: import("vue").ComputedRef<boolean>;
30
+ interaction: {
31
+ position: import("vue").ShallowRef<import("./modal").HysModalPosition, import("./modal").HysModalPosition>;
32
+ dimensions: import("vue").ShallowRef<import("./modal").HysModalSize | undefined, import("./modal").HysModalSize | undefined>;
33
+ previewing: Ref<boolean, boolean>;
34
+ previewLayer: Ref<HTMLElement | undefined, HTMLElement | undefined>;
35
+ getPosition: () => import("./modal").HysModalPosition;
36
+ getDimensions: () => import("./modal").HysModalSize | undefined;
37
+ dragging: Ref<boolean, boolean>;
38
+ resizing: Ref<boolean, boolean>;
39
+ gesturing: import("vue").ComputedRef<boolean>;
40
+ start: (event: PointerEvent, kind: "drag" | "resize") => void;
41
+ stop: (cancel?: boolean) => void;
42
+ headerKey: (event: KeyboardEvent) => void;
43
+ resizeKey: (event: KeyboardEvent) => void;
44
+ resetPosition: () => void;
45
+ resetSize: () => void;
46
+ setPosition: (next: import("./modal").HysModalPosition) => void;
47
+ setSize: (next: import("./modal").HysModalSize) => void;
48
+ clampViewport: () => void;
49
+ activate(): void;
50
+ };
51
+ show: () => Promise<boolean>;
52
+ requestClose: (reasonOrEvent?: HysModalCloseReason | Event, event?: Event) => Promise<boolean>;
53
+ confirm: (event?: Event) => Promise<boolean>;
54
+ cancel: (event?: Event) => Promise<boolean>;
55
+ setFullscreen: (value: boolean) => Promise<boolean>;
56
+ toggleFullscreen: () => Promise<boolean>;
57
+ afterEnter: () => Promise<void>;
58
+ afterLeave: () => Promise<void>;
59
+ key: (event: KeyboardEvent) => void;
60
+ maskDown: (event: PointerEvent) => void;
61
+ maskUp: (event: PointerEvent) => void;
62
+ };
@@ -0,0 +1,27 @@
1
+ import { type Ref } from "vue";
2
+ import { type HysModalProps, type HysModalPosition, type HysModalSize } from "./modal";
3
+ export declare function useModalInteraction(props: HysModalProps, dialog: Ref<HTMLElement | undefined>, visible: Readonly<Ref<boolean>>, fullscreen: Readonly<Ref<boolean>>, emit: (name: string, ...args: any[]) => void, options?: {
4
+ beforeStart?: () => void;
5
+ motion?: () => boolean;
6
+ enabled?: boolean;
7
+ }): {
8
+ position: import("vue").ShallowRef<HysModalPosition, HysModalPosition>;
9
+ dimensions: import("vue").ShallowRef<HysModalSize | undefined, HysModalSize | undefined>;
10
+ previewing: Ref<boolean, boolean>;
11
+ previewLayer: Ref<HTMLElement | undefined, HTMLElement | undefined>;
12
+ getPosition: () => HysModalPosition;
13
+ getDimensions: () => HysModalSize | undefined;
14
+ dragging: Ref<boolean, boolean>;
15
+ resizing: Ref<boolean, boolean>;
16
+ gesturing: import("vue").ComputedRef<boolean>;
17
+ start: (event: PointerEvent, kind: "drag" | "resize") => void;
18
+ stop: (cancel?: boolean) => void;
19
+ headerKey: (event: KeyboardEvent) => void;
20
+ resizeKey: (event: KeyboardEvent) => void;
21
+ resetPosition: () => void;
22
+ resetSize: () => void;
23
+ setPosition: (next: HysModalPosition) => void;
24
+ setSize: (next: HysModalSize) => void;
25
+ clampViewport: () => void;
26
+ activate(): void;
27
+ };