hys-ui 0.6.0 → 0.8.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 (268) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/LICENSE +19 -0
  3. package/dist/components/HysDataGrid/HysDataGrid.vue.js +1 -1
  4. package/dist/components/HysDataGrid/HysDataGrid2.vue.js +1055 -753
  5. package/dist/components/HysDataGrid/gridColumnLayout.js +46 -0
  6. package/dist/components/HysDataGrid/gridPresentation.js +17 -0
  7. package/dist/components/HysDataGrid/useGridContextMenu.js +33 -0
  8. package/dist/components/HysDatePicker/HysDatePicker.vue.js +102 -48
  9. package/dist/components/HysDatePicker/HysDatePickerControl.vue.js +2 -2
  10. package/dist/components/HysDatePicker/HysDatePickerControl2.vue.js +874 -532
  11. package/dist/components/HysDatePicker/HysDatePickerPanel.vue.js +2 -2
  12. package/dist/components/HysDatePicker/HysDatePickerPanel2.vue.js +209 -168
  13. package/dist/components/HysDateRangePicker/HysDateRangePicker.vue.js +102 -48
  14. package/dist/components/HysDescriptions/HysDescriptions.vue.js +7 -0
  15. package/dist/components/HysDescriptions/HysDescriptions2.vue.js +146 -0
  16. package/dist/components/HysForm/HysForm2.vue.js +9 -8
  17. package/dist/components/HysIcon/HysIcon.vue.js +373 -0
  18. package/dist/components/HysIcon/HysIcon2.vue.js +5 -0
  19. package/dist/components/HysIcon/IconGraphic/IconGraphic.vue.js +147 -0
  20. package/dist/components/HysIcon/IconGraphic/IconGraphic2.vue.js +4 -0
  21. package/dist/components/HysIcon/IconPickerPanel/IconPickerPanel.vue.js +7 -0
  22. package/dist/components/HysIcon/IconPickerPanel/IconPickerPanel2.vue.js +440 -0
  23. package/dist/components/HysIcon/IconReferenceGraphic/IconReferenceGraphic.vue.js +29 -0
  24. package/dist/components/HysIcon/IconReferenceGraphic/IconReferenceGraphic2.vue.js +4 -0
  25. package/dist/components/HysIcon/IconTooltip/IconTooltip.vue.js +19 -0
  26. package/dist/components/HysIcon/IconTooltip/IconTooltip2.vue.js +4 -0
  27. package/dist/components/HysIcon/builtins/access.js +180 -0
  28. package/dist/components/HysIcon/builtins/actions.js +327 -0
  29. package/dist/components/HysIcon/builtins/business.js +364 -0
  30. package/dist/components/HysIcon/builtins/catalog/access-1.json.js +51 -0
  31. package/dist/components/HysIcon/builtins/catalog/access-2.json.js +35 -0
  32. package/dist/components/HysIcon/builtins/catalog/accessibility.json.js +26 -0
  33. package/dist/components/HysIcon/builtins/catalog/arrows-1.json.js +45 -0
  34. package/dist/components/HysIcon/builtins/catalog/arrows-2.json.js +46 -0
  35. package/dist/components/HysIcon/builtins/catalog/arrows-3.json.js +42 -0
  36. package/dist/components/HysIcon/builtins/catalog/charts-1.json.js +50 -0
  37. package/dist/components/HysIcon/builtins/catalog/charts-2.json.js +13 -0
  38. package/dist/components/HysIcon/builtins/catalog/commerce.json.js +43 -0
  39. package/dist/components/HysIcon/builtins/catalog/communication-1.json.js +49 -0
  40. package/dist/components/HysIcon/builtins/catalog/communication-2.json.js +37 -0
  41. package/dist/components/HysIcon/builtins/catalog/design-1.json.js +61 -0
  42. package/dist/components/HysIcon/builtins/catalog/design-2.json.js +27 -0
  43. package/dist/components/HysIcon/builtins/catalog/development-1.json.js +58 -0
  44. package/dist/components/HysIcon/builtins/catalog/development-2.json.js +60 -0
  45. package/dist/components/HysIcon/builtins/catalog/development-3.json.js +25 -0
  46. package/dist/components/HysIcon/builtins/catalog/devices-1.json.js +52 -0
  47. package/dist/components/HysIcon/builtins/catalog/devices-2.json.js +55 -0
  48. package/dist/components/HysIcon/builtins/catalog/devices-3.json.js +23 -0
  49. package/dist/components/HysIcon/builtins/catalog/education.json.js +34 -0
  50. package/dist/components/HysIcon/builtins/catalog/emoji.json.js +24 -0
  51. package/dist/components/HysIcon/builtins/catalog/files-1.json.js +45 -0
  52. package/dist/components/HysIcon/builtins/catalog/files-2.json.js +47 -0
  53. package/dist/components/HysIcon/builtins/catalog/files-3.json.js +8 -0
  54. package/dist/components/HysIcon/builtins/catalog/food-1.json.js +67 -0
  55. package/dist/components/HysIcon/builtins/catalog/food-2.json.js +40 -0
  56. package/dist/components/HysIcon/builtins/catalog/home.json.js +36 -0
  57. package/dist/components/HysIcon/builtins/catalog/layout-1.json.js +46 -0
  58. package/dist/components/HysIcon/builtins/catalog/layout-2.json.js +45 -0
  59. package/dist/components/HysIcon/builtins/catalog/manifest.json.js +4 -0
  60. package/dist/components/HysIcon/builtins/catalog/maps-1.json.js +61 -0
  61. package/dist/components/HysIcon/builtins/catalog/maps-2.json.js +24 -0
  62. package/dist/components/HysIcon/builtins/catalog/media-1.json.js +57 -0
  63. package/dist/components/HysIcon/builtins/catalog/media-2.json.js +13 -0
  64. package/dist/components/HysIcon/builtins/catalog/medical.json.js +30 -0
  65. package/dist/components/HysIcon/builtins/catalog/nature.json.js +54 -0
  66. package/dist/components/HysIcon/builtins/catalog/recreation.json.js +51 -0
  67. package/dist/components/HysIcon/builtins/catalog/shapes.json.js +54 -0
  68. package/dist/components/HysIcon/builtins/catalog/text-1.json.js +52 -0
  69. package/dist/components/HysIcon/builtins/catalog/text-2.json.js +54 -0
  70. package/dist/components/HysIcon/builtins/catalog/text-3.json.js +58 -0
  71. package/dist/components/HysIcon/builtins/catalog/text-4.json.js +41 -0
  72. package/dist/components/HysIcon/builtins/catalog/time.json.js +39 -0
  73. package/dist/components/HysIcon/builtins/catalog/transport-1.json.js +57 -0
  74. package/dist/components/HysIcon/builtins/catalog/transport-2.json.js +7 -0
  75. package/dist/components/HysIcon/builtins/catalog/weather.json.js +46 -0
  76. package/dist/components/HysIcon/builtins/communication.js +314 -0
  77. package/dist/components/HysIcon/builtins/documents.js +315 -0
  78. package/dist/components/HysIcon/builtins/extendedCatalog.js +75 -0
  79. package/dist/components/HysIcon/builtins/iconInCategory.js +11 -0
  80. package/dist/components/HysIcon/builtins/media.js +255 -0
  81. package/dist/components/HysIcon/builtins/navigation.js +276 -0
  82. package/dist/components/HysIcon/builtins/technology.js +189 -0
  83. package/dist/components/HysIcon/iconBuiltins.js +228 -0
  84. package/dist/components/HysIcon/iconConfig.js +30 -0
  85. package/dist/components/HysIcon/iconRegistry.js +183 -0
  86. package/dist/components/HysIcon/iconSafety.js +191 -0
  87. package/dist/components/HysIcon/iconStyle.js +70 -0
  88. package/dist/components/HysIcon/useIconResource.js +75 -0
  89. package/dist/components/HysPopconfirm/HysPopconfirm.vue.js +7 -0
  90. package/dist/components/HysPopconfirm/HysPopconfirm2.vue.js +346 -0
  91. package/dist/components/HysPopconfirm/usePopconfirmAction.js +32 -0
  92. package/dist/components/HysResult/HysResult.vue.js +7 -0
  93. package/dist/components/HysResult/HysResult2.vue.js +124 -0
  94. package/dist/components/HysSpace/HysSpace.vue.js +7 -0
  95. package/dist/components/HysSpace/HysSpace2.vue.js +79 -0
  96. package/dist/components/HysSpace/spaceItems.js +17 -0
  97. package/dist/components/HysSpin/HysSpin.vue.js +7 -0
  98. package/dist/components/HysSpin/HysSpin2.vue.js +427 -0
  99. package/dist/components/HysSpin/SpinGlyph/SpinGlyph.vue.js +334 -0
  100. package/dist/components/HysSpin/SpinGlyph/SpinGlyph2.vue.js +5 -0
  101. package/dist/components/HysSpin/SpinPortal/SpinPortal.vue.js +7 -0
  102. package/dist/components/HysSpin/SpinPortal/SpinPortal2.vue.js +66 -0
  103. package/dist/components/HysSpin/SpinPortal/spinTarget.js +57 -0
  104. package/dist/components/HysSpin/spinCatalog.js +35 -0
  105. package/dist/components/HysSpin/spinConfig.js +32 -0
  106. package/dist/components/HysSpin/spinService.js +160 -0
  107. package/dist/components/HysSpin/spinStyle.js +39 -0
  108. package/dist/components/HysSpin/useHysSpinTask.js +92 -0
  109. package/dist/components/HysSpin/useSpinFullscreen.js +60 -0
  110. package/dist/components/HysSpin/useSpinVisibility.js +59 -0
  111. package/dist/components/HysSplitPane/HysSplitPane.vue.js +285 -204
  112. package/dist/components/HysSplitPane/splitPaneResize.js +75 -0
  113. package/dist/components/HysTabPane/HysTabPane.vue.js +49 -0
  114. package/dist/components/HysTabPane/HysTabPane2.vue.js +4 -0
  115. package/dist/components/HysTable/HysTable.vue.js +3 -3
  116. package/dist/components/HysTable/HysTable2.vue.js +412 -383
  117. package/dist/components/HysTable/tableSearch.js +24 -0
  118. package/dist/components/HysTabs/HysTabs.vue.js +172 -5
  119. package/dist/components/HysTabs/HysTabs2.vue.js +2 -275
  120. package/dist/components/HysTabs/TabsMore/TabsMore.vue.js +7 -0
  121. package/dist/components/HysTabs/TabsMore/TabsMore2.vue.js +133 -0
  122. package/dist/components/HysTabs/TabsPanels/TabsPanels.vue.js +161 -0
  123. package/dist/components/HysTabs/TabsPanels/TabsPanels2.vue.js +4 -0
  124. package/dist/components/HysTabs/TabsPrompts/TabsPrompts.vue.js +4 -0
  125. package/dist/components/HysTabs/TabsPrompts/TabsPrompts2.vue.js +88 -0
  126. package/dist/components/HysTabs/TabsSlot/TabsSlot.js +13 -0
  127. package/dist/components/HysTabs/TabsWorkbench/TabsWorkbench.vue.js +7 -0
  128. package/dist/components/HysTabs/TabsWorkbench/TabsWorkbench2.vue.js +687 -0
  129. package/dist/components/HysTabs/tabsConfig.js +35 -0
  130. package/dist/components/HysTabs/tabsItems.js +79 -0
  131. package/dist/components/HysTabs/tabsPersistence.js +118 -0
  132. package/dist/components/HysTabs/useHysRouteTabs.js +77 -0
  133. package/dist/components/HysTabs/useTabsDragGhost.js +47 -0
  134. package/dist/components/HysTabs/useTabsNav.js +127 -0
  135. package/dist/components/HysTabs/useTabsOverlays.js +52 -0
  136. package/dist/components/HysTabs/useTabsPanels.js +101 -0
  137. package/dist/components/HysTabs/useTabsPointer.js +131 -0
  138. package/dist/components/HysTabs/useTabsState.js +263 -0
  139. package/dist/composables/datePicker.js +153 -94
  140. package/dist/composables/datePickerModel.js +156 -0
  141. package/dist/composables/datePickerPanels.js +78 -0
  142. package/dist/composables/datePickerRules.js +166 -0
  143. package/dist/composables/floatingPosition.js +32 -13
  144. package/dist/composables/formLayout.js +20 -42
  145. package/dist/composables/popupSurfaceStyle.js +30 -0
  146. package/dist/composables/useContainerWidth.js +24 -0
  147. package/dist/composables/useDatePicker.js +274 -381
  148. package/dist/composables/useFloating.js +42 -41
  149. package/dist/composables/usePageVisibility.js +19 -0
  150. package/dist/composables/usePopupSurface.js +153 -162
  151. package/dist/composables/usePopupSurfaceInteractions.js +91 -90
  152. package/dist/composables/useSplitPaneDrag.js +29 -26
  153. package/dist/composables/useSvgInstanceId.js +15 -0
  154. package/dist/composables/useTable.js +321 -306
  155. package/dist/composables/useTabularRowNavigation.js +46 -0
  156. package/dist/index.js +229 -185
  157. package/dist/internal/MultiSplitPane.vue.js +246 -205
  158. package/dist/internal/PopupSurfacePanel.vue.js +2 -2
  159. package/dist/internal/PopupSurfacePanel2.vue.js +35 -30
  160. package/dist/style.css +1 -1
  161. package/dist/types/components/HysDataGrid/HysDataGrid.vue.d.ts +40 -2
  162. package/dist/types/components/HysDataGrid/gridColumnLayout.d.ts +22 -0
  163. package/dist/types/components/HysDataGrid/gridPresentation.d.ts +47 -0
  164. package/dist/types/components/HysDataGrid/useGridContextMenu.d.ts +14 -0
  165. package/dist/types/components/HysDatePicker/HysDatePicker.vue.d.ts +6 -9
  166. package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +12 -0
  167. package/dist/types/components/HysDatePicker/HysDatePickerPanel.vue.d.ts +6 -0
  168. package/dist/types/components/HysDateRangePicker/HysDateRangePicker.vue.d.ts +6 -9
  169. package/dist/types/components/HysDescriptions/HysDescriptions.vue.d.ts +20 -0
  170. package/dist/types/components/HysDescriptions/descriptionsTypes.d.ts +54 -0
  171. package/dist/types/components/HysForm/HysForm.vue.d.ts +1 -1
  172. package/dist/types/components/HysFormItem/HysFormItem.vue.d.ts +1 -1
  173. package/dist/types/components/HysIcon/HysIcon.vue.d.ts +76 -0
  174. package/dist/types/components/HysIcon/IconGraphic/IconGraphic.vue.d.ts +43 -0
  175. package/dist/types/components/HysIcon/IconPickerPanel/IconPickerPanel.vue.d.ts +17 -0
  176. package/dist/types/components/HysIcon/IconReferenceGraphic/IconReferenceGraphic.vue.d.ts +10 -0
  177. package/dist/types/components/HysIcon/IconTooltip/IconTooltip.vue.d.ts +11 -0
  178. package/dist/types/components/HysIcon/builtins/access.d.ts +15 -0
  179. package/dist/types/components/HysIcon/builtins/actions.d.ts +30 -0
  180. package/dist/types/components/HysIcon/builtins/business.d.ts +31 -0
  181. package/dist/types/components/HysIcon/builtins/communication.d.ts +27 -0
  182. package/dist/types/components/HysIcon/builtins/documents.d.ts +29 -0
  183. package/dist/types/components/HysIcon/builtins/extendedCatalog.d.ts +2 -0
  184. package/dist/types/components/HysIcon/builtins/iconInCategory.d.ts +2 -0
  185. package/dist/types/components/HysIcon/builtins/media.d.ts +24 -0
  186. package/dist/types/components/HysIcon/builtins/navigation.d.ts +30 -0
  187. package/dist/types/components/HysIcon/builtins/technology.d.ts +18 -0
  188. package/dist/types/components/HysIcon/iconBuiltins.d.ts +2 -0
  189. package/dist/types/components/HysIcon/iconConfig.d.ts +10 -0
  190. package/dist/types/components/HysIcon/iconRegistry.d.ts +5 -0
  191. package/dist/types/components/HysIcon/iconSafety.d.ts +8 -0
  192. package/dist/types/components/HysIcon/iconStyle.d.ts +6 -0
  193. package/dist/types/components/HysIcon/iconTypes.d.ts +192 -0
  194. package/dist/types/components/HysIcon/useIconResource.d.ts +14 -0
  195. package/dist/types/components/HysPopconfirm/HysPopconfirm.vue.d.ts +85 -0
  196. package/dist/types/components/HysPopconfirm/popconfirmTypes.d.ts +72 -0
  197. package/dist/types/components/HysPopconfirm/usePopconfirmAction.d.ts +6 -0
  198. package/dist/types/components/HysProgress/HysProgress.vue.d.ts +1 -1
  199. package/dist/types/components/HysResult/HysResult.vue.d.ts +22 -0
  200. package/dist/types/components/HysResult/resultTypes.d.ts +32 -0
  201. package/dist/types/components/HysSpace/HysSpace.vue.d.ts +15 -0
  202. package/dist/types/components/HysSpace/spaceItems.d.ts +9 -0
  203. package/dist/types/components/HysSpace/spaceTypes.d.ts +20 -0
  204. package/dist/types/components/HysSpin/HysSpin.vue.d.ts +84 -0
  205. package/dist/types/components/HysSpin/SpinGlyph/SpinGlyph.vue.d.ts +16 -0
  206. package/dist/types/components/HysSpin/SpinPortal/SpinPortal.vue.d.ts +21 -0
  207. package/dist/types/components/HysSpin/SpinPortal/spinTarget.d.ts +3 -0
  208. package/dist/types/components/HysSpin/spinCatalog.d.ts +122 -0
  209. package/dist/types/components/HysSpin/spinConfig.d.ts +10 -0
  210. package/dist/types/components/HysSpin/spinService.d.ts +7 -0
  211. package/dist/types/components/HysSpin/spinStyle.d.ts +5 -0
  212. package/dist/types/components/HysSpin/spinTypes.d.ts +133 -0
  213. package/dist/types/components/HysSpin/useHysSpinTask.d.ts +4 -0
  214. package/dist/types/components/HysSpin/useSpinFullscreen.d.ts +17 -0
  215. package/dist/types/components/HysSpin/useSpinVisibility.d.ts +10 -0
  216. package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +25 -2
  217. package/dist/types/components/HysSplitPane/splitPaneResize.d.ts +17 -0
  218. package/dist/types/components/HysTabPane/HysTabPane.vue.d.ts +11 -0
  219. package/dist/types/components/HysTable/HysTable.vue.d.ts +16 -10
  220. package/dist/types/components/HysTable/tableSearch.d.ts +2 -0
  221. package/dist/types/components/HysTabs/HysTabs.vue.d.ts +83 -74
  222. package/dist/types/components/HysTabs/TabsMore/TabsMore.vue.d.ts +14 -0
  223. package/dist/types/components/HysTabs/TabsPanels/TabsPanels.vue.d.ts +17 -0
  224. package/dist/types/components/HysTabs/TabsPrompts/TabsPrompts.vue.d.ts +7 -0
  225. package/dist/types/components/HysTabs/TabsSlot/TabsSlot.d.ts +9 -0
  226. package/dist/types/components/HysTabs/TabsWorkbench/TabsWorkbench.vue.d.ts +32 -0
  227. package/dist/types/components/HysTabs/tabsConfig.d.ts +4 -0
  228. package/dist/types/components/HysTabs/tabsItems.d.ts +14 -0
  229. package/dist/types/components/HysTabs/tabsPersistence.d.ts +6 -0
  230. package/dist/types/components/HysTabs/tabsTypes.d.ts +236 -0
  231. package/dist/types/components/HysTabs/useHysRouteTabs.d.ts +22 -0
  232. package/dist/types/components/HysTabs/useTabsDragGhost.d.ts +22 -0
  233. package/dist/types/components/HysTabs/useTabsNav.d.ts +20 -0
  234. package/dist/types/components/HysTabs/useTabsOverlays.d.ts +54 -0
  235. package/dist/types/components/HysTabs/useTabsPanels.d.ts +14 -0
  236. package/dist/types/components/HysTabs/useTabsPointer.d.ts +30 -0
  237. package/dist/types/components/HysTabs/useTabsState.d.ts +32 -0
  238. package/dist/types/components/HysTagInput/HysTagInput.vue.d.ts +2 -2
  239. package/dist/types/components/HysToast/toastPresentation.d.ts +1 -1
  240. package/dist/types/components/HysVirtualTable/HysVirtualTable.vue.d.ts +2 -2
  241. package/dist/types/composables/dataGrid.d.ts +34 -0
  242. package/dist/types/composables/datePicker.d.ts +14 -214
  243. package/dist/types/composables/datePickerModel.d.ts +63 -0
  244. package/dist/types/composables/datePickerPanels.d.ts +23 -0
  245. package/dist/types/composables/datePickerRules.d.ts +31 -0
  246. package/dist/types/composables/datePickerTypes.d.ts +277 -0
  247. package/dist/types/composables/floatingPosition.d.ts +1 -1
  248. package/dist/types/composables/formLayout.d.ts +1 -2
  249. package/dist/types/composables/popupSurfaceStyle.d.ts +7 -0
  250. package/dist/types/composables/table.d.ts +10 -1
  251. package/dist/types/composables/toastQueue.d.ts +4 -4
  252. package/dist/types/composables/toastQueueModel.d.ts +2 -2
  253. package/dist/types/composables/useColorPicker.d.ts +2 -4
  254. package/dist/types/composables/useContainerWidth.d.ts +2 -0
  255. package/dist/types/composables/useContextMenu.d.ts +2 -4
  256. package/dist/types/composables/useDatePicker.d.ts +20 -11
  257. package/dist/types/composables/useFloating.d.ts +4 -5
  258. package/dist/types/composables/usePageVisibility.d.ts +1 -0
  259. package/dist/types/composables/usePopupSurface.d.ts +9 -3
  260. package/dist/types/composables/usePopupSurfaceInteractions.d.ts +4 -2
  261. package/dist/types/composables/useSplitPaneDrag.d.ts +2 -2
  262. package/dist/types/composables/useSvgInstanceId.d.ts +1 -0
  263. package/dist/types/composables/useTable.d.ts +2 -0
  264. package/dist/types/composables/useTabularRowNavigation.d.ts +18 -0
  265. package/dist/types/index.d.ts +31 -3
  266. package/dist/types/internal/MultiSplitPane.vue.d.ts +10 -1
  267. package/dist/types/internal/PopupSurfacePanel.vue.d.ts +3 -0
  268. package/package.json +1 -1
@@ -0,0 +1,31 @@
1
+ import type { Ref } from "vue";
2
+ import { type HysDatePickerContext, type HysDatePickerProps, type HysDatePickerUnit, type HysDatePoint } from "./datePicker";
3
+ interface DatePickerRules {
4
+ props: HysDatePickerProps;
5
+ range: Readonly<Ref<boolean>>;
6
+ multiple: Readonly<Ref<boolean>>;
7
+ time: Readonly<Ref<boolean>>;
8
+ unit: Readonly<Ref<HysDatePickerUnit>>;
9
+ first: Readonly<Ref<number>>;
10
+ weekContains: Readonly<Ref<number>>;
11
+ selected: Readonly<Ref<readonly (HysDatePoint | null)[]>>;
12
+ draft: Readonly<Ref<readonly (HysDatePoint | null)[]>>;
13
+ stage: Readonly<Ref<"start" | "end">>;
14
+ minPoint: Readonly<Ref<HysDatePoint | undefined>>;
15
+ maxPoint: Readonly<Ref<HysDatePoint | undefined>>;
16
+ }
17
+ export declare function useDatePickerRules({ props, range, multiple, time, unit, first, weekContains, selected, draft, stage, minPoint, maxPoint, }: DatePickerRules): {
18
+ context: (day: number, endpoint: number, from?: HysDatePoint | null) => HysDatePickerContext;
19
+ locked: (endpoint: number) => boolean;
20
+ available: (day: number, endpoint?: number, rangeLimit?: boolean, from?: HysDatePoint | null) => boolean;
21
+ periodAvailable: (start: number, end: number, endpoint?: number, rangeLimit?: boolean, fromPoint?: HysDatePoint | null) => boolean;
22
+ timeDisabled: (point: HysDatePoint, endpoint: number, from?: HysDatePoint | null) => {
23
+ hours: number[];
24
+ minutes: (hour: number) => number[];
25
+ seconds: (hour: number, minute: number) => number[];
26
+ };
27
+ validTime: (point: HysDatePoint, endpoint: number, from?: HysDatePoint | null) => boolean;
28
+ valid: (list: readonly (HysDatePoint | null)[], enforceLocks?: boolean) => boolean;
29
+ samePoint: (a: HysDatePoint | null | undefined, b: HysDatePoint | null | undefined) => boolean;
30
+ };
31
+ export {};
@@ -0,0 +1,277 @@
1
+ import type { HysPopupTransition } from "../motion/popup";
2
+ import type { Component, CSSProperties } from "vue";
3
+ import type { Placement } from "./useFloating";
4
+ export type HysDateScalar = string | Date | number;
5
+ export type HysDatePickerValue = HysDateScalar | readonly (HysDateScalar | null)[] | null;
6
+ export type HysDateRangeValue = readonly [HysDateScalar | null, HysDateScalar | null] | null;
7
+ export type HysDatePickerType = "date" | "dates" | "week" | "weeks" | "month" | "months" | "quarter" | "quarters" | "year" | "years" | "datetime" | "daterange" | "weekrange" | "monthrange" | "quarterrange" | "yearrange" | "datetimerange";
8
+ export type HysDatePickerView = "date" | "month" | "quarter" | "year" | "decade" | "time";
9
+ export type HysDatePickerUnit = "date" | "week" | "month" | "quarter" | "year";
10
+ export type HysDateDisplayFormat = string | ((date: Date) => string);
11
+ export type HysDatePanelValues = readonly [HysDateScalar, HysDateScalar];
12
+ export type HysDateDefaultTime = string | Date;
13
+ export interface HysDateTimeOptions {
14
+ defaultValue?: HysDateDefaultTime | readonly [HysDateDefaultTime, HysDateDefaultTime];
15
+ format?: string;
16
+ use12Hours?: boolean;
17
+ hourStep?: number;
18
+ minuteStep?: number;
19
+ secondStep?: number;
20
+ hideDisabledOptions?: boolean;
21
+ }
22
+ export interface HysDatePopupOptions {
23
+ strategy?: "fixed" | "absolute";
24
+ offset?: number;
25
+ padding?: number;
26
+ flip?: boolean;
27
+ }
28
+ export interface HysDatePoint {
29
+ day: number;
30
+ second: number;
31
+ }
32
+ export interface HysDatePickerContext {
33
+ range: "start" | "end";
34
+ from: Date | null;
35
+ iso: string;
36
+ }
37
+ export interface HysDateDisabledTime {
38
+ hours?: readonly number[];
39
+ minutes?: (hour: number) => readonly number[];
40
+ seconds?: (hour: number, minute: number) => readonly number[];
41
+ disabledHours?: () => readonly number[];
42
+ disabledMinutes?: (hour: number) => readonly number[];
43
+ disabledSeconds?: (hour: number, minute: number) => readonly number[];
44
+ }
45
+ export interface HysDateShortcut {
46
+ label: string;
47
+ value: HysDatePickerValue | (() => HysDatePickerValue);
48
+ disabled?: boolean;
49
+ }
50
+ export interface HysDatePickerCell {
51
+ date: Date;
52
+ iso: string;
53
+ value: number;
54
+ end: number;
55
+ text: string;
56
+ type: HysDatePickerView;
57
+ outside: boolean;
58
+ disabled: boolean;
59
+ selected: boolean;
60
+ inRange: boolean;
61
+ today: boolean;
62
+ week: number;
63
+ weekYear: number;
64
+ weekStart: string;
65
+ weekEnd: string;
66
+ range?: "start" | "end";
67
+ rangeStart?: boolean;
68
+ rangeEnd?: boolean;
69
+ row?: number;
70
+ column?: number;
71
+ }
72
+ export interface HysDatePickerWeek {
73
+ year: number;
74
+ week: number;
75
+ start: string;
76
+ end: string;
77
+ dates: readonly string[];
78
+ }
79
+ export interface HysDatePickerChange {
80
+ source: "date" | "time" | "input" | "shortcut" | "clear" | "confirm" | "api";
81
+ dates: readonly (Date | null)[];
82
+ formatted: readonly string[];
83
+ weeks?: readonly (HysDatePickerWeek | null)[];
84
+ }
85
+ export interface HysDateCalendarChange {
86
+ range: "start" | "end";
87
+ dates: readonly (Date | null)[];
88
+ formatted: readonly string[];
89
+ }
90
+ export interface HysDatePickerLocale {
91
+ today: string;
92
+ now: string;
93
+ clear: string;
94
+ cancel: string;
95
+ close: string;
96
+ confirm: string;
97
+ start: string;
98
+ end: string;
99
+ chooseStart: string;
100
+ chooseEnd: string;
101
+ invalid: string;
102
+ week: string;
103
+ year: string;
104
+ month: string;
105
+ back: string;
106
+ prevMonth: string;
107
+ nextMonth: string;
108
+ prevYear: string;
109
+ nextYear: string;
110
+ hour: string;
111
+ minute: string;
112
+ second: string;
113
+ empty: string;
114
+ limit: string;
115
+ }
116
+ export interface HysDatePickerProps<V extends HysDatePickerValue = HysDatePickerValue> {
117
+ popupTransition?: HysPopupTransition;
118
+ popupTransitionDuration?: number;
119
+ modelValue?: V;
120
+ value?: V;
121
+ defaultValue?: V;
122
+ clearValue?: V;
123
+ emptyValues?: readonly HysDatePickerValue[];
124
+ valueOnClear?: V | (() => V);
125
+ type?: HysDatePickerType;
126
+ picker?: HysDatePickerUnit;
127
+ valueType?: "string" | "date" | "timestamp";
128
+ valueFormat?: string;
129
+ format?: HysDateDisplayFormat | readonly HysDateDisplayFormat[];
130
+ inputFormats?: readonly string[];
131
+ disabled?: boolean | readonly [boolean, boolean];
132
+ readonly?: boolean;
133
+ size?: "sm" | "md" | "lg";
134
+ status?: "error" | "warning" | "success";
135
+ bordered?: boolean;
136
+ placeholder?: string | readonly [string, string];
137
+ id?: string | readonly [string, string];
138
+ label?: string;
139
+ ariaLabel?: string;
140
+ name?: string | readonly [string, string];
141
+ form?: string;
142
+ autofocus?: boolean;
143
+ min?: HysDateScalar;
144
+ max?: HysDateScalar;
145
+ disabledDate?: (date: Date, context: HysDatePickerContext) => boolean;
146
+ disabledTime?: (date: Date, context: HysDatePickerContext) => HysDateDisabledTime;
147
+ disabledHours?: (range: "start" | "end", from: Date | null) => readonly number[];
148
+ disabledMinutes?: (hour: number, range: "start" | "end", from: Date | null) => readonly number[];
149
+ disabledSeconds?: (hour: number, minute: number, range: "start" | "end", from: Date | null) => readonly number[];
150
+ firstDayOfWeek?: number;
151
+ firstWeekContainsDate?: number;
152
+ weekNumberFormatter?: (week: HysDatePickerWeek) => string;
153
+ disabledWeek?: (week: HysDatePickerWeek) => boolean;
154
+ weekValidation?: "any" | "full";
155
+ locale?: string;
156
+ messages?: Partial<HysDatePickerLocale>;
157
+ showWeekNumbers?: boolean;
158
+ showWeekNumber?: boolean;
159
+ showAdjacentDays?: boolean;
160
+ defaultPickerValue?: HysDateScalar | HysDatePanelValues;
161
+ panelValue?: HysDateScalar;
162
+ panelValues?: HysDatePanelValues;
163
+ mode?: HysDatePickerView;
164
+ defaultMode?: HysDatePickerView;
165
+ shortcuts?: readonly HysDateShortcut[];
166
+ presets?: readonly HysDateShortcut[];
167
+ ranges?: Readonly<Record<string, HysDateShortcut["value"]>>;
168
+ shortcutPlacement?: "top" | "start";
169
+ clearable?: boolean;
170
+ allowClear?: boolean;
171
+ editable?: boolean;
172
+ inputReadonly?: boolean;
173
+ showOnFocus?: boolean;
174
+ automaticDropdown?: boolean;
175
+ showToday?: boolean;
176
+ showNow?: boolean;
177
+ showFooter?: boolean;
178
+ showConfirm?: boolean;
179
+ showTime?: boolean | HysDateTimeOptions;
180
+ defaultTime?: HysDateDefaultTime | readonly [HysDateDefaultTime, HysDateDefaultTime];
181
+ dateFormat?: string;
182
+ timeFormat?: string;
183
+ use12Hours?: boolean;
184
+ hideDisabledOptions?: boolean;
185
+ arrowControl?: boolean;
186
+ hourStep?: number;
187
+ minuteStep?: number;
188
+ secondStep?: number;
189
+ showSeconds?: boolean;
190
+ rangeSeparator?: string;
191
+ separator?: string;
192
+ startPlaceholder?: string;
193
+ endPlaceholder?: string;
194
+ allowEmpty?: readonly [boolean, boolean];
195
+ singlePanel?: boolean;
196
+ unlinkPanels?: boolean;
197
+ minRangeDays?: number;
198
+ maxRangeDays?: number;
199
+ rangeValidation?: "endpoints" | "continuous";
200
+ maxDates?: number;
201
+ open?: boolean;
202
+ defaultOpen?: boolean;
203
+ inline?: boolean;
204
+ placement?: Placement | "topLeft" | "topRight" | "bottomLeft" | "bottomRight";
205
+ appendTo?: string | HTMLElement | false;
206
+ teleported?: boolean;
207
+ getPopupContainer?: (trigger: HTMLElement) => HTMLElement;
208
+ fallbackPlacements?: readonly Placement[];
209
+ popperOptions?: HysDatePopupOptions;
210
+ popupWidth?: number | string;
211
+ popupClass?: string;
212
+ popupClassName?: string;
213
+ popperClass?: string;
214
+ popupStyle?: CSSProperties;
215
+ popperStyle?: CSSProperties | string;
216
+ prefixIcon?: Component | string;
217
+ clearIcon?: Component | string;
218
+ validateEvent?: boolean;
219
+ cellClassName?: (cell: HysDatePickerCell) => string;
220
+ }
221
+ export interface HysDateRangePickerProps<V extends HysDatePickerValue = HysDateRangeValue> extends HysDatePickerProps<V> {
222
+ }
223
+ export interface HysDatePickerInstance<V extends HysDatePickerValue = HysDatePickerValue> {
224
+ readonly element: HTMLElement | undefined;
225
+ readonly open: boolean;
226
+ readonly value: V;
227
+ readonly draft: readonly (Date | null)[];
228
+ focus: () => void;
229
+ blur: () => void;
230
+ show: () => Promise<boolean>;
231
+ hide: (restoreFocus?: boolean) => void;
232
+ handleOpen: () => Promise<boolean>;
233
+ handleClose: () => void;
234
+ clear: () => Promise<boolean>;
235
+ setValue: (value: V) => Promise<boolean>;
236
+ confirm: () => Promise<boolean>;
237
+ cancel: () => void;
238
+ showMonth: (value: HysDateScalar) => Promise<boolean>;
239
+ setMode: (view: HysDatePickerView) => boolean;
240
+ }
241
+ export interface HysDatePickerSlots {
242
+ "week-number"?: (week: HysDatePickerWeek & {
243
+ selected: boolean;
244
+ disabled: boolean;
245
+ }) => any;
246
+ default?: (cell: HysDatePickerCell) => any;
247
+ cell?: (cell: HysDatePickerCell) => any;
248
+ prefix?: () => any;
249
+ suffix?: () => any;
250
+ "clear-icon"?: () => any;
251
+ "prev-month"?: () => any;
252
+ "next-month"?: () => any;
253
+ "prev-year"?: () => any;
254
+ "next-year"?: () => any;
255
+ "extra-footer"?: (context: {
256
+ dates: readonly (Date | null)[];
257
+ view: HysDatePickerView;
258
+ }) => any;
259
+ "date-render"?: (cell: HysDatePickerCell) => any;
260
+ "month-cell-render"?: (cell: HysDatePickerCell) => any;
261
+ header?: (context: {
262
+ dates: readonly (Date | null)[];
263
+ view: HysDatePickerView;
264
+ }) => any;
265
+ footer?: (context: {
266
+ dates: readonly (Date | null)[];
267
+ confirm: () => Promise<boolean>;
268
+ cancel: () => void;
269
+ clear: () => Promise<boolean>;
270
+ }) => any;
271
+ shortcut?: (context: {
272
+ shortcut: HysDateShortcut;
273
+ index: number;
274
+ }) => any;
275
+ "range-separator"?: () => any;
276
+ }
277
+ export type HysDateRangePickerInstance<V extends HysDatePickerValue = HysDateRangeValue> = HysDatePickerInstance<V>;
@@ -5,7 +5,7 @@ export declare function positionFloating(anchor: DOMRect, size: {
5
5
  }, viewport: {
6
6
  width: number;
7
7
  height: number;
8
- }, placement: Placement, gap: number, padding: number, flip: boolean): {
8
+ }, placement: Placement, gap: number, padding: number, flip: boolean, fallbackPlacements?: readonly Placement[]): {
9
9
  width: number;
10
10
  height: number;
11
11
  x: number;
@@ -1,4 +1,4 @@
1
- import { type Ref } from "vue";
1
+ export { useContainerWidth as useFormWidth } from "./useContainerWidth";
2
2
  export type HysFormBreakpoint = "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
3
3
  export type HysFormGridValue = number | Partial<Record<HysFormBreakpoint, number>>;
4
4
  export interface HysFormColSize {
@@ -8,4 +8,3 @@ export interface HysFormColSize {
8
8
  export type HysFormCol = HysFormColSize & Partial<Record<HysFormBreakpoint, number | HysFormColSize>>;
9
9
  export declare function resolveFormGrid(value: HysFormGridValue | undefined, width: number, fallback?: number): number;
10
10
  export declare function resolveFormCol(value: HysFormCol | undefined, width: number): HysFormColSize | undefined;
11
- export declare function useFormWidth(element: Ref<HTMLElement | undefined>): import("vue").ComputedRef<number>;
@@ -0,0 +1,7 @@
1
+ import { type CSSProperties, type Ref } from "vue";
2
+ import type { HysPopupSurfaceProps } from "./popupSurface";
3
+ export declare function popupMaximumWidth(props: HysPopupSurfaceProps, kind: "tooltip" | "popover"): string;
4
+ export declare function usePopupSurfaceStyle(props: HysPopupSurfaceProps, kind: "tooltip" | "popover", floatingStyle: Readonly<Ref<CSSProperties>>): {
5
+ style: import("vue").ComputedRef<CSSProperties>;
6
+ contentStyle: import("vue").ComputedRef<CSSProperties>;
7
+ };
@@ -181,11 +181,12 @@ export interface HysTablePagination {
181
181
  hideOnSinglePage?: boolean;
182
182
  }
183
183
  export interface HysTableQuery<T extends object = Record<string, unknown>> {
184
- action: "sort" | "filter" | "page" | "pageSize";
184
+ action: "sort" | "filter" | "page" | "pageSize" | "search";
185
185
  page: number;
186
186
  pageSize: number;
187
187
  sorts: HysTableSort[];
188
188
  filters: HysTableFilters;
189
+ search?: string;
189
190
  currentData: T[];
190
191
  }
191
192
  export interface HysTableLoadContext {
@@ -290,6 +291,7 @@ export interface HysTableProps<T extends object> {
290
291
  selectionColumn?: HysTableSelectionColumn;
291
292
  getSelectionProps?: (row: T, index: number) => HysTableSelectionProps;
292
293
  highlightCurrentRow?: boolean;
294
+ keyboardNavigation?: boolean;
293
295
  currentRowKey?: HysTableKey | null;
294
296
  defaultCurrentRowKey?: HysTableKey;
295
297
  showIndex?: boolean;
@@ -303,6 +305,10 @@ export interface HysTableProps<T extends object> {
303
305
  showSorterTooltip?: boolean | HysTableOverflowTooltipOptions;
304
306
  filters?: HysTableFilters;
305
307
  defaultFilters?: HysTableFilters;
308
+ search?: string;
309
+ defaultSearch?: string;
310
+ searchColumns?: readonly string[];
311
+ searchMethod?: (search: string, row: T) => boolean;
306
312
  filterColumnKey?: string | null;
307
313
  filterPlacement?: Placement;
308
314
  appendFilterTo?: string | HTMLElement | false;
@@ -376,6 +382,9 @@ export interface HysTableInstance<T extends object = Record<string, unknown>> {
376
382
  setSort: (sort: HysTableSort | readonly HysTableSort[] | null) => void;
377
383
  clearFilter: (keys?: readonly string[]) => void;
378
384
  setFilter: (key: string, values: readonly HysTableFilterValue[]) => void;
385
+ setSearch: (search: string) => void;
386
+ clearSearch: () => void;
387
+ focusRow: (row: T | HysTableKey) => boolean;
379
388
  showFilter: (key: string) => Promise<boolean>;
380
389
  hideFilter: () => Promise<boolean>;
381
390
  setPage: (page: number) => void;
@@ -41,6 +41,8 @@ export declare function createToastQueue(config: HysToastConfig, host: {
41
41
  actions?: readonly import("./useHysToast").HysToastAction[] | undefined;
42
42
  closeOnEscape?: boolean | undefined;
43
43
  live?: "polite" | "assertive" | "off" | undefined;
44
+ coordinates?: import("./useHysToast").HysToastCoordinates | undefined;
45
+ glass?: boolean | undefined;
44
46
  swipe?: boolean | undefined;
45
47
  persistent?: boolean | undefined;
46
48
  closeOnClick?: boolean | undefined;
@@ -50,8 +52,6 @@ export declare function createToastQueue(config: HysToastConfig, host: {
50
52
  interactive?: boolean | undefined;
51
53
  offsetX?: number | undefined;
52
54
  offsetY?: number | undefined;
53
- coordinates?: import("./useHysToast").HysToastCoordinates | undefined;
54
- glass?: boolean | undefined;
55
55
  toastStyle?: import("vue").CSSProperties | undefined;
56
56
  progressStyle?: import("vue").CSSProperties | undefined;
57
57
  showProgress?: boolean | undefined;
@@ -93,6 +93,8 @@ export declare function createToastQueue(config: HysToastConfig, host: {
93
93
  actions?: readonly import("./useHysToast").HysToastAction[] | undefined;
94
94
  closeOnEscape?: boolean | undefined;
95
95
  live?: "polite" | "assertive" | "off" | undefined;
96
+ coordinates?: import("./useHysToast").HysToastCoordinates | undefined;
97
+ glass?: boolean | undefined;
96
98
  swipe?: boolean | undefined;
97
99
  persistent?: boolean | undefined;
98
100
  closeOnClick?: boolean | undefined;
@@ -102,8 +104,6 @@ export declare function createToastQueue(config: HysToastConfig, host: {
102
104
  interactive?: boolean | undefined;
103
105
  offsetX?: number | undefined;
104
106
  offsetY?: number | undefined;
105
- coordinates?: import("./useHysToast").HysToastCoordinates | undefined;
106
- glass?: boolean | undefined;
107
107
  toastStyle?: import("vue").CSSProperties | undefined;
108
108
  progressStyle?: import("vue").CSSProperties | undefined;
109
109
  showProgress?: boolean | undefined;
@@ -93,6 +93,8 @@ export declare function defaults(config: HysToastConfig): {
93
93
  actions?: readonly import("./useHysToast").HysToastAction[] | undefined;
94
94
  closeOnEscape?: boolean | undefined;
95
95
  live?: "polite" | "assertive" | "off" | undefined;
96
+ coordinates?: import("./useHysToast").HysToastCoordinates | undefined;
97
+ glass?: boolean | undefined;
96
98
  swipe?: boolean | undefined;
97
99
  persistent?: boolean | undefined;
98
100
  closeOnClick?: boolean | undefined;
@@ -102,8 +104,6 @@ export declare function defaults(config: HysToastConfig): {
102
104
  interactive?: boolean | undefined;
103
105
  offsetX?: number | undefined;
104
106
  offsetY?: number | undefined;
105
- coordinates?: import("./useHysToast").HysToastCoordinates | undefined;
106
- glass?: boolean | undefined;
107
107
  toastStyle?: import("vue").CSSProperties | undefined;
108
108
  progressStyle?: import("vue").CSSProperties | undefined;
109
109
  showProgress?: boolean | undefined;
@@ -38,13 +38,11 @@ export declare function useColorPicker(props: HysColorPickerProps, emit: (name:
38
38
  status: import("vue").ComputedRef<import("./formContext").HysFormStatus | undefined>;
39
39
  floating: {
40
40
  open: import("vue").Ref<boolean, boolean>;
41
- style: import("vue").ComputedRef<{
42
- zIndex: string;
43
- }>;
41
+ style: import("vue").ComputedRef<Record<string, string>>;
44
42
  placement: import("vue").Ref<import("./useFloating").Placement, import("./useFloating").Placement>;
45
43
  update: () => void;
46
44
  show: (force?: boolean) => Promise<void>;
47
- close: (restore?: boolean, force?: boolean) => void;
45
+ close: (restore?: boolean, force?: boolean, source?: "outside" | "escape" | "anchor") => void;
48
46
  toggle: () => void | Promise<void>;
49
47
  restoringFocus: import("vue").Ref<boolean, boolean>;
50
48
  schedule: () => void;
@@ -0,0 +1,2 @@
1
+ import { type Ref } from "vue";
2
+ export declare function useContainerWidth(element: Ref<HTMLElement | undefined>): import("vue").ComputedRef<number>;
@@ -38,13 +38,11 @@ export declare function useContextMenu<N extends object>(props: HysContextMenuPr
38
38
  childStyles: import("vue").ShallowRef<Record<number, CSSProperties>, Record<number, CSSProperties>>;
39
39
  floating: {
40
40
  open: Ref<boolean, boolean>;
41
- style: import("vue").ComputedRef<{
42
- zIndex: string;
43
- }>;
41
+ style: import("vue").ComputedRef<Record<string, string>>;
44
42
  placement: Ref<import("./useFloating").Placement, import("./useFloating").Placement>;
45
43
  update: () => void;
46
44
  show: (force?: boolean) => Promise<void>;
47
- close: (restore?: boolean, force?: boolean) => void;
45
+ close: (restore?: boolean, force?: boolean, source?: "outside" | "escape" | "anchor") => void;
48
46
  toggle: () => void | Promise<void>;
49
47
  restoringFocus: Ref<boolean, boolean>;
50
48
  schedule: () => void;
@@ -1,5 +1,5 @@
1
1
  import { type ComputedRef } from "vue";
2
- import { type HysDatePoint, type HysDatePickerProps, type HysDatePickerValue, type HysDatePickerView, type HysDatePickerChange } from "./datePicker";
2
+ import { type HysDatePoint, type HysDatePickerProps, type HysDatePickerValue, type HysDatePickerChange } from "./datePicker";
3
3
  export declare function useDatePicker(props: HysDatePickerProps, range: ComputedRef<boolean>, blocked: ComputedRef<boolean>, emit: (name: string, ...args: any[]) => void, validate: () => void): {
4
4
  current: ComputedRef<HysDatePickerValue>;
5
5
  selected: ComputedRef<(HysDatePoint | null)[]>;
@@ -7,16 +7,16 @@ export declare function useDatePicker(props: HysDatePickerProps, range: Computed
7
7
  stage: import("vue").Ref<"end" | "start", "end" | "start">;
8
8
  preview: import("vue").Ref<number | undefined, number | undefined>;
9
9
  error: import("vue").Ref<string, string>;
10
- view: ComputedRef<HysDatePickerView>;
11
- rightView: import("vue").Ref<HysDatePickerView, HysDatePickerView>;
10
+ view: ComputedRef<import("./datePickerTypes").HysDatePickerView>;
11
+ rightView: import("vue").Ref<import("./datePickerTypes").HysDatePickerView, import("./datePickerTypes").HysDatePickerView>;
12
12
  panels: ComputedRef<number[]>;
13
13
  first: ComputedRef<number>;
14
14
  weekContains: ComputedRef<number>;
15
15
  time: ComputedRef<boolean>;
16
- unit: ComputedRef<import("./datePicker").HysDatePickerUnit>;
16
+ unit: ComputedRef<import("./datePickerTypes").HysDatePickerUnit>;
17
17
  multiple: ComputedRef<boolean>;
18
18
  pattern: ComputedRef<string>;
19
- displayPattern: ComputedRef<string>;
19
+ displayPattern: ComputedRef<import("./datePickerTypes").HysDateDisplayFormat>;
20
20
  words: ComputedRef<{
21
21
  today: string;
22
22
  now: string;
@@ -44,7 +44,7 @@ export declare function useDatePicker(props: HysDatePickerProps, range: Computed
44
44
  limit: string;
45
45
  }>;
46
46
  needsConfirm: ComputedRef<boolean>;
47
- today: ComputedRef<HysDatePoint>;
47
+ today: import("vue").ShallowRef<HysDatePoint, HysDatePoint>;
48
48
  model: {
49
49
  current: ComputedRef<HysDatePickerValue>;
50
50
  commit: (value: HysDatePickerValue, update: (value: HysDatePickerValue) => void, change: (value: HysDatePickerValue) => void, notifyOnRequest?: boolean) => Promise<boolean>;
@@ -56,24 +56,33 @@ export declare function useDatePicker(props: HysDatePickerProps, range: Computed
56
56
  parse: (value: unknown) => HysDatePoint | undefined;
57
57
  boundary: (value: unknown) => HysDatePoint | undefined;
58
58
  points: (value?: HysDatePickerValue | undefined) => (HysDatePoint | null)[];
59
- available: (day: number, endpoint?: number, rangeLimit?: boolean) => boolean;
60
- periodAvailable: (start: number, end: number, endpoint?: number, rangeLimit?: boolean) => boolean;
61
- validTime: (point: HysDatePoint, endpoint: number) => boolean;
59
+ available: (day: number, endpoint?: number, rangeLimit?: boolean, from?: HysDatePoint | null) => boolean;
60
+ periodAvailable: (start: number, end: number, endpoint?: number, rangeLimit?: boolean, fromPoint?: HysDatePoint | null) => boolean;
61
+ validTime: (point: HysDatePoint, endpoint: number, from?: HysDatePoint | null) => boolean;
62
62
  valid: (list: readonly (HysDatePoint | null)[], enforceLocks?: boolean) => boolean;
63
- timeDisabled: (point: HysDatePoint, endpoint: number) => import("./datePicker").HysDateDisabledTime;
63
+ timeDisabled: (point: HysDatePoint, endpoint: number, from?: HysDatePoint | null) => {
64
+ hours: number[];
65
+ minutes: (hour: number) => number[];
66
+ seconds: (hour: number, minute: number) => number[];
67
+ };
64
68
  encode: (list: readonly (HysDatePoint | null)[]) => HysDatePickerValue;
65
69
  describe: (list?: (HysDatePoint | null)[]) => string[];
66
70
  empty: () => HysDatePickerValue;
67
71
  request: (value: HysDatePickerValue, source: HysDatePickerChange["source"], allowClear?: boolean) => Promise<boolean>;
68
72
  begin: () => void;
69
73
  setPanel: (day: number, index?: number) => boolean;
70
- setMode: (mode: HysDatePickerView, index?: number) => boolean;
74
+ setMode: (mode: import("./datePickerTypes").HysDatePickerView, index?: number) => boolean;
71
75
  choose: (day: number) => Promise<boolean>;
72
76
  clear: () => Promise<boolean>;
73
77
  confirm: () => Promise<boolean>;
74
78
  setValue: (value: HysDatePickerValue) => Promise<boolean>;
75
79
  setTime: (index: number, second: number) => boolean;
80
+ editDraft: (index: number, text: string, format: string, part: "date" | "time") => boolean;
81
+ emitDraft: (endpoint: number) => void;
76
82
  input: (value: string, index?: number) => Promise<boolean>;
77
83
  pickShortcut: (index: number) => boolean;
84
+ shortcuts: ComputedRef<import("./datePickerTypes").HysDateShortcut[]>;
85
+ context: (day: number, endpoint: number, from?: HysDatePoint | null) => import("./datePickerTypes").HysDatePickerContext;
86
+ defaultSecond: (index: number) => number;
78
87
  locked: (endpoint: number) => boolean;
79
88
  };
@@ -21,23 +21,22 @@ export declare function useFloating(anchor: Readonly<Ref<FloatingAnchor | undefi
21
21
  matchWidth?: boolean | "min" | (() => boolean | "min");
22
22
  width?: () => number | string | undefined;
23
23
  maxWidth?: () => number | string | undefined;
24
- requestOpen?: (open: boolean, restoreFocus?: boolean) => boolean | void;
24
+ requestOpen?: (open: boolean, restoreFocus?: boolean, source?: "outside" | "escape" | "anchor") => boolean | void;
25
25
  closeOnTab?: boolean;
26
26
  closeOnEscape?: boolean;
27
27
  closeOnOutside?: boolean;
28
28
  autoAdjustOverflow?: boolean;
29
+ fallbackPlacements?: readonly Placement[];
29
30
  strategy?: "fixed" | "absolute";
30
31
  zIndex?: () => number | undefined;
31
32
  onPosition?: (position: FloatingPosition) => void;
32
33
  }): {
33
34
  open: Ref<boolean, boolean>;
34
- style: import("vue").ComputedRef<{
35
- zIndex: string;
36
- }>;
35
+ style: import("vue").ComputedRef<Record<string, string>>;
37
36
  placement: Ref<Placement, Placement>;
38
37
  update: () => void;
39
38
  show: (force?: boolean) => Promise<void>;
40
- close: (restore?: boolean, force?: boolean) => void;
39
+ close: (restore?: boolean, force?: boolean, source?: "outside" | "escape" | "anchor") => void;
41
40
  toggle: () => void | Promise<void>;
42
41
  restoringFocus: Ref<boolean, boolean>;
43
42
  schedule: () => void;
@@ -0,0 +1 @@
1
+ export declare function usePageVisibility(): Readonly<import("vue").Ref<boolean, boolean>>;
@@ -1,10 +1,16 @@
1
1
  import { type CSSProperties, type HTMLAttributes } from "vue";
2
2
  import type { HysPopupSurfaceContext, HysPopupSurfaceProps } from "./popupSurface";
3
- export declare function usePopupSurface(props: HysPopupSurfaceProps, kind: "tooltip" | "popover", emit: (name: string, ...args: any[]) => void): {
3
+ import { type PopupCloseSource } from "./usePopupSurfaceInteractions";
4
+ export declare function usePopupSurface(props: HysPopupSurfaceProps, kind: "tooltip" | "popover", emit: (name: string, ...args: any[]) => void, hooks?: {
5
+ allowClose?: (source: PopupCloseSource) => boolean;
6
+ onDismiss?: (source: PopupCloseSource) => void;
7
+ allowTabExit?: boolean;
8
+ shouldRestoreFocus?: () => boolean;
9
+ }): {
4
10
  afterEnter: () => Promise<void>;
5
11
  afterLeave: () => Promise<void>;
6
12
  inactive: () => void;
7
- request: (value: boolean, restore?: boolean) => Promise<boolean>;
13
+ request: (value: boolean, restore?: boolean, source?: PopupCloseSource, notifyDismiss?: boolean) => Promise<boolean>;
8
14
  show: () => Promise<boolean>;
9
15
  hide: () => Promise<boolean>;
10
16
  toggle: () => Promise<boolean>;
@@ -32,7 +38,7 @@ export declare function usePopupSurface(props: HysPopupSurfaceProps, kind: "tool
32
38
  placement: import("vue").Ref<import("./useFloating").Placement, import("./useFloating").Placement>;
33
39
  active: import("vue").ComputedRef<boolean>;
34
40
  mounted: import("vue").ComputedRef<boolean>;
35
- teleportTo: import("vue").ComputedRef<Element>;
41
+ teleportTo: import("vue").ComputedRef<string | Element>;
36
42
  arrowStyle: import("vue").Ref<{
37
43
  [x: `--${string}`]: string | number | undefined;
38
44
  accentColor?: import("csstype").Property.AccentColor | undefined;
@@ -2,14 +2,16 @@ import { type Ref } from "vue";
2
2
  import type { HysPopupSurfaceProps } from "./popupSurface";
3
3
  import type { FloatingAnchor, useFloating } from "./useFloating";
4
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, }: {
5
+ export type PopupCloseSource = "trigger" | "outside" | "escape" | "tab" | "anchor" | "auto" | "programmatic";
6
+ export declare function usePopupSurfaceInteractions(props: HysPopupSurfaceProps, kind: "tooltip" | "popover", { available, anchor, actualReference, panel, floating, restoreReferenceFocus, request, allowTabExit, }: {
6
7
  available: Readonly<Ref<boolean>>;
7
8
  anchor: Readonly<Ref<FloatingAnchor | undefined>>;
8
9
  actualReference: Readonly<Ref<HTMLElement | undefined>>;
9
10
  panel: Readonly<Ref<HTMLElement | undefined>>;
10
11
  floating: Pick<ReturnType<typeof useFloating>, "open" | "isTop" | "restoringFocus">;
11
12
  restoreReferenceFocus: () => void;
12
- request: (open: boolean) => Promise<boolean>;
13
+ request: (open: boolean, restore?: boolean, source?: PopupCloseSource) => Promise<boolean>;
14
+ allowTabExit?: boolean;
13
15
  }): {
14
16
  clearDelays: () => void;
15
17
  clearAuto: () => void;
@@ -5,10 +5,10 @@ interface DragSettings {
5
5
  initial: number;
6
6
  constrain: (value: number) => number;
7
7
  }
8
- export declare function useSplitPaneDrag(update: (value: number) => void, ended: (value: number, cancelled: boolean, notify: boolean) => void): {
8
+ export declare function useSplitPaneDrag(update: (value: number) => void, ended: (value: number, cancelled: boolean, notify: boolean, byInput: boolean) => void): {
9
9
  start: (event: PointerEvent, settings: DragSettings) => boolean;
10
10
  cancel: (event: PointerEvent) => void;
11
- finish: (cancelled: boolean, notify?: boolean) => void;
11
+ finish: (cancelled: boolean, notify?: boolean, byInput?: boolean) => void;
12
12
  active: () => boolean;
13
13
  };
14
14
  export {};
@@ -0,0 +1 @@
1
+ export declare function useSvgInstanceId(suffix: string): import("vue").Ref<string, string>;