hys-ui 0.6.0 → 0.7.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 (245) hide show
  1. package/CHANGELOG.md +9 -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/HysDescriptions/HysDescriptions.vue.js +7 -0
  9. package/dist/components/HysDescriptions/HysDescriptions2.vue.js +146 -0
  10. package/dist/components/HysForm/HysForm2.vue.js +9 -8
  11. package/dist/components/HysIcon/HysIcon.vue.js +373 -0
  12. package/dist/components/HysIcon/HysIcon2.vue.js +5 -0
  13. package/dist/components/HysIcon/IconGraphic/IconGraphic.vue.js +147 -0
  14. package/dist/components/HysIcon/IconGraphic/IconGraphic2.vue.js +4 -0
  15. package/dist/components/HysIcon/IconPickerPanel/IconPickerPanel.vue.js +7 -0
  16. package/dist/components/HysIcon/IconPickerPanel/IconPickerPanel2.vue.js +440 -0
  17. package/dist/components/HysIcon/IconReferenceGraphic/IconReferenceGraphic.vue.js +29 -0
  18. package/dist/components/HysIcon/IconReferenceGraphic/IconReferenceGraphic2.vue.js +4 -0
  19. package/dist/components/HysIcon/IconTooltip/IconTooltip.vue.js +19 -0
  20. package/dist/components/HysIcon/IconTooltip/IconTooltip2.vue.js +4 -0
  21. package/dist/components/HysIcon/builtins/access.js +180 -0
  22. package/dist/components/HysIcon/builtins/actions.js +327 -0
  23. package/dist/components/HysIcon/builtins/business.js +364 -0
  24. package/dist/components/HysIcon/builtins/catalog/access-1.json.js +51 -0
  25. package/dist/components/HysIcon/builtins/catalog/access-2.json.js +35 -0
  26. package/dist/components/HysIcon/builtins/catalog/accessibility.json.js +26 -0
  27. package/dist/components/HysIcon/builtins/catalog/arrows-1.json.js +45 -0
  28. package/dist/components/HysIcon/builtins/catalog/arrows-2.json.js +46 -0
  29. package/dist/components/HysIcon/builtins/catalog/arrows-3.json.js +42 -0
  30. package/dist/components/HysIcon/builtins/catalog/charts-1.json.js +50 -0
  31. package/dist/components/HysIcon/builtins/catalog/charts-2.json.js +13 -0
  32. package/dist/components/HysIcon/builtins/catalog/commerce.json.js +43 -0
  33. package/dist/components/HysIcon/builtins/catalog/communication-1.json.js +49 -0
  34. package/dist/components/HysIcon/builtins/catalog/communication-2.json.js +37 -0
  35. package/dist/components/HysIcon/builtins/catalog/design-1.json.js +61 -0
  36. package/dist/components/HysIcon/builtins/catalog/design-2.json.js +27 -0
  37. package/dist/components/HysIcon/builtins/catalog/development-1.json.js +58 -0
  38. package/dist/components/HysIcon/builtins/catalog/development-2.json.js +60 -0
  39. package/dist/components/HysIcon/builtins/catalog/development-3.json.js +25 -0
  40. package/dist/components/HysIcon/builtins/catalog/devices-1.json.js +52 -0
  41. package/dist/components/HysIcon/builtins/catalog/devices-2.json.js +55 -0
  42. package/dist/components/HysIcon/builtins/catalog/devices-3.json.js +23 -0
  43. package/dist/components/HysIcon/builtins/catalog/education.json.js +34 -0
  44. package/dist/components/HysIcon/builtins/catalog/emoji.json.js +24 -0
  45. package/dist/components/HysIcon/builtins/catalog/files-1.json.js +45 -0
  46. package/dist/components/HysIcon/builtins/catalog/files-2.json.js +47 -0
  47. package/dist/components/HysIcon/builtins/catalog/files-3.json.js +8 -0
  48. package/dist/components/HysIcon/builtins/catalog/food-1.json.js +67 -0
  49. package/dist/components/HysIcon/builtins/catalog/food-2.json.js +40 -0
  50. package/dist/components/HysIcon/builtins/catalog/home.json.js +36 -0
  51. package/dist/components/HysIcon/builtins/catalog/layout-1.json.js +46 -0
  52. package/dist/components/HysIcon/builtins/catalog/layout-2.json.js +45 -0
  53. package/dist/components/HysIcon/builtins/catalog/manifest.json.js +4 -0
  54. package/dist/components/HysIcon/builtins/catalog/maps-1.json.js +61 -0
  55. package/dist/components/HysIcon/builtins/catalog/maps-2.json.js +24 -0
  56. package/dist/components/HysIcon/builtins/catalog/media-1.json.js +57 -0
  57. package/dist/components/HysIcon/builtins/catalog/media-2.json.js +13 -0
  58. package/dist/components/HysIcon/builtins/catalog/medical.json.js +30 -0
  59. package/dist/components/HysIcon/builtins/catalog/nature.json.js +54 -0
  60. package/dist/components/HysIcon/builtins/catalog/recreation.json.js +51 -0
  61. package/dist/components/HysIcon/builtins/catalog/shapes.json.js +54 -0
  62. package/dist/components/HysIcon/builtins/catalog/text-1.json.js +52 -0
  63. package/dist/components/HysIcon/builtins/catalog/text-2.json.js +54 -0
  64. package/dist/components/HysIcon/builtins/catalog/text-3.json.js +58 -0
  65. package/dist/components/HysIcon/builtins/catalog/text-4.json.js +41 -0
  66. package/dist/components/HysIcon/builtins/catalog/time.json.js +39 -0
  67. package/dist/components/HysIcon/builtins/catalog/transport-1.json.js +57 -0
  68. package/dist/components/HysIcon/builtins/catalog/transport-2.json.js +7 -0
  69. package/dist/components/HysIcon/builtins/catalog/weather.json.js +46 -0
  70. package/dist/components/HysIcon/builtins/communication.js +314 -0
  71. package/dist/components/HysIcon/builtins/documents.js +315 -0
  72. package/dist/components/HysIcon/builtins/extendedCatalog.js +75 -0
  73. package/dist/components/HysIcon/builtins/iconInCategory.js +11 -0
  74. package/dist/components/HysIcon/builtins/media.js +255 -0
  75. package/dist/components/HysIcon/builtins/navigation.js +276 -0
  76. package/dist/components/HysIcon/builtins/technology.js +189 -0
  77. package/dist/components/HysIcon/iconBuiltins.js +228 -0
  78. package/dist/components/HysIcon/iconConfig.js +30 -0
  79. package/dist/components/HysIcon/iconRegistry.js +183 -0
  80. package/dist/components/HysIcon/iconSafety.js +191 -0
  81. package/dist/components/HysIcon/iconStyle.js +70 -0
  82. package/dist/components/HysIcon/useIconResource.js +75 -0
  83. package/dist/components/HysPopconfirm/HysPopconfirm.vue.js +7 -0
  84. package/dist/components/HysPopconfirm/HysPopconfirm2.vue.js +346 -0
  85. package/dist/components/HysPopconfirm/usePopconfirmAction.js +32 -0
  86. package/dist/components/HysResult/HysResult.vue.js +7 -0
  87. package/dist/components/HysResult/HysResult2.vue.js +124 -0
  88. package/dist/components/HysSpace/HysSpace.vue.js +7 -0
  89. package/dist/components/HysSpace/HysSpace2.vue.js +79 -0
  90. package/dist/components/HysSpace/spaceItems.js +17 -0
  91. package/dist/components/HysSpin/HysSpin.vue.js +7 -0
  92. package/dist/components/HysSpin/HysSpin2.vue.js +427 -0
  93. package/dist/components/HysSpin/SpinGlyph/SpinGlyph.vue.js +334 -0
  94. package/dist/components/HysSpin/SpinGlyph/SpinGlyph2.vue.js +5 -0
  95. package/dist/components/HysSpin/SpinPortal/SpinPortal.vue.js +7 -0
  96. package/dist/components/HysSpin/SpinPortal/SpinPortal2.vue.js +66 -0
  97. package/dist/components/HysSpin/SpinPortal/spinTarget.js +57 -0
  98. package/dist/components/HysSpin/spinCatalog.js +35 -0
  99. package/dist/components/HysSpin/spinConfig.js +32 -0
  100. package/dist/components/HysSpin/spinService.js +160 -0
  101. package/dist/components/HysSpin/spinStyle.js +39 -0
  102. package/dist/components/HysSpin/useHysSpinTask.js +92 -0
  103. package/dist/components/HysSpin/useSpinFullscreen.js +60 -0
  104. package/dist/components/HysSpin/useSpinVisibility.js +59 -0
  105. package/dist/components/HysSplitPane/HysSplitPane.vue.js +285 -204
  106. package/dist/components/HysSplitPane/splitPaneResize.js +75 -0
  107. package/dist/components/HysTabPane/HysTabPane.vue.js +49 -0
  108. package/dist/components/HysTabPane/HysTabPane2.vue.js +4 -0
  109. package/dist/components/HysTable/HysTable.vue.js +3 -3
  110. package/dist/components/HysTable/HysTable2.vue.js +412 -383
  111. package/dist/components/HysTable/tableSearch.js +24 -0
  112. package/dist/components/HysTabs/HysTabs.vue.js +172 -5
  113. package/dist/components/HysTabs/HysTabs2.vue.js +2 -275
  114. package/dist/components/HysTabs/TabsMore/TabsMore.vue.js +7 -0
  115. package/dist/components/HysTabs/TabsMore/TabsMore2.vue.js +133 -0
  116. package/dist/components/HysTabs/TabsPanels/TabsPanels.vue.js +161 -0
  117. package/dist/components/HysTabs/TabsPanels/TabsPanels2.vue.js +4 -0
  118. package/dist/components/HysTabs/TabsPrompts/TabsPrompts.vue.js +4 -0
  119. package/dist/components/HysTabs/TabsPrompts/TabsPrompts2.vue.js +88 -0
  120. package/dist/components/HysTabs/TabsSlot/TabsSlot.js +13 -0
  121. package/dist/components/HysTabs/TabsWorkbench/TabsWorkbench.vue.js +7 -0
  122. package/dist/components/HysTabs/TabsWorkbench/TabsWorkbench2.vue.js +687 -0
  123. package/dist/components/HysTabs/tabsConfig.js +35 -0
  124. package/dist/components/HysTabs/tabsItems.js +79 -0
  125. package/dist/components/HysTabs/tabsPersistence.js +118 -0
  126. package/dist/components/HysTabs/useHysRouteTabs.js +77 -0
  127. package/dist/components/HysTabs/useTabsDragGhost.js +47 -0
  128. package/dist/components/HysTabs/useTabsNav.js +127 -0
  129. package/dist/components/HysTabs/useTabsOverlays.js +52 -0
  130. package/dist/components/HysTabs/useTabsPanels.js +101 -0
  131. package/dist/components/HysTabs/useTabsPointer.js +131 -0
  132. package/dist/components/HysTabs/useTabsState.js +263 -0
  133. package/dist/composables/formLayout.js +20 -42
  134. package/dist/composables/popupSurfaceStyle.js +30 -0
  135. package/dist/composables/useContainerWidth.js +24 -0
  136. package/dist/composables/useFloating.js +28 -28
  137. package/dist/composables/usePageVisibility.js +19 -0
  138. package/dist/composables/usePopupSurface.js +153 -162
  139. package/dist/composables/usePopupSurfaceInteractions.js +91 -90
  140. package/dist/composables/useSplitPaneDrag.js +29 -26
  141. package/dist/composables/useSvgInstanceId.js +15 -0
  142. package/dist/composables/useTable.js +321 -306
  143. package/dist/composables/useTabularRowNavigation.js +46 -0
  144. package/dist/index.js +229 -185
  145. package/dist/internal/MultiSplitPane.vue.js +246 -205
  146. package/dist/internal/PopupSurfacePanel.vue.js +2 -2
  147. package/dist/internal/PopupSurfacePanel2.vue.js +35 -30
  148. package/dist/style.css +1 -1
  149. package/dist/types/components/HysDataGrid/HysDataGrid.vue.d.ts +40 -2
  150. package/dist/types/components/HysDataGrid/gridColumnLayout.d.ts +22 -0
  151. package/dist/types/components/HysDataGrid/gridPresentation.d.ts +47 -0
  152. package/dist/types/components/HysDataGrid/useGridContextMenu.d.ts +14 -0
  153. package/dist/types/components/HysDescriptions/HysDescriptions.vue.d.ts +20 -0
  154. package/dist/types/components/HysDescriptions/descriptionsTypes.d.ts +54 -0
  155. package/dist/types/components/HysForm/HysForm.vue.d.ts +1 -1
  156. package/dist/types/components/HysFormItem/HysFormItem.vue.d.ts +1 -1
  157. package/dist/types/components/HysIcon/HysIcon.vue.d.ts +76 -0
  158. package/dist/types/components/HysIcon/IconGraphic/IconGraphic.vue.d.ts +43 -0
  159. package/dist/types/components/HysIcon/IconPickerPanel/IconPickerPanel.vue.d.ts +17 -0
  160. package/dist/types/components/HysIcon/IconReferenceGraphic/IconReferenceGraphic.vue.d.ts +10 -0
  161. package/dist/types/components/HysIcon/IconTooltip/IconTooltip.vue.d.ts +11 -0
  162. package/dist/types/components/HysIcon/builtins/access.d.ts +15 -0
  163. package/dist/types/components/HysIcon/builtins/actions.d.ts +30 -0
  164. package/dist/types/components/HysIcon/builtins/business.d.ts +31 -0
  165. package/dist/types/components/HysIcon/builtins/communication.d.ts +27 -0
  166. package/dist/types/components/HysIcon/builtins/documents.d.ts +29 -0
  167. package/dist/types/components/HysIcon/builtins/extendedCatalog.d.ts +2 -0
  168. package/dist/types/components/HysIcon/builtins/iconInCategory.d.ts +2 -0
  169. package/dist/types/components/HysIcon/builtins/media.d.ts +24 -0
  170. package/dist/types/components/HysIcon/builtins/navigation.d.ts +30 -0
  171. package/dist/types/components/HysIcon/builtins/technology.d.ts +18 -0
  172. package/dist/types/components/HysIcon/iconBuiltins.d.ts +2 -0
  173. package/dist/types/components/HysIcon/iconConfig.d.ts +10 -0
  174. package/dist/types/components/HysIcon/iconRegistry.d.ts +5 -0
  175. package/dist/types/components/HysIcon/iconSafety.d.ts +8 -0
  176. package/dist/types/components/HysIcon/iconStyle.d.ts +6 -0
  177. package/dist/types/components/HysIcon/iconTypes.d.ts +192 -0
  178. package/dist/types/components/HysIcon/useIconResource.d.ts +14 -0
  179. package/dist/types/components/HysPopconfirm/HysPopconfirm.vue.d.ts +85 -0
  180. package/dist/types/components/HysPopconfirm/popconfirmTypes.d.ts +72 -0
  181. package/dist/types/components/HysPopconfirm/usePopconfirmAction.d.ts +6 -0
  182. package/dist/types/components/HysProgress/HysProgress.vue.d.ts +1 -1
  183. package/dist/types/components/HysResult/HysResult.vue.d.ts +22 -0
  184. package/dist/types/components/HysResult/resultTypes.d.ts +32 -0
  185. package/dist/types/components/HysSpace/HysSpace.vue.d.ts +15 -0
  186. package/dist/types/components/HysSpace/spaceItems.d.ts +9 -0
  187. package/dist/types/components/HysSpace/spaceTypes.d.ts +20 -0
  188. package/dist/types/components/HysSpin/HysSpin.vue.d.ts +84 -0
  189. package/dist/types/components/HysSpin/SpinGlyph/SpinGlyph.vue.d.ts +16 -0
  190. package/dist/types/components/HysSpin/SpinPortal/SpinPortal.vue.d.ts +21 -0
  191. package/dist/types/components/HysSpin/SpinPortal/spinTarget.d.ts +3 -0
  192. package/dist/types/components/HysSpin/spinCatalog.d.ts +122 -0
  193. package/dist/types/components/HysSpin/spinConfig.d.ts +10 -0
  194. package/dist/types/components/HysSpin/spinService.d.ts +7 -0
  195. package/dist/types/components/HysSpin/spinStyle.d.ts +5 -0
  196. package/dist/types/components/HysSpin/spinTypes.d.ts +133 -0
  197. package/dist/types/components/HysSpin/useHysSpinTask.d.ts +4 -0
  198. package/dist/types/components/HysSpin/useSpinFullscreen.d.ts +17 -0
  199. package/dist/types/components/HysSpin/useSpinVisibility.d.ts +10 -0
  200. package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +25 -2
  201. package/dist/types/components/HysSplitPane/splitPaneResize.d.ts +17 -0
  202. package/dist/types/components/HysTabPane/HysTabPane.vue.d.ts +11 -0
  203. package/dist/types/components/HysTable/HysTable.vue.d.ts +16 -10
  204. package/dist/types/components/HysTable/tableSearch.d.ts +2 -0
  205. package/dist/types/components/HysTabs/HysTabs.vue.d.ts +83 -74
  206. package/dist/types/components/HysTabs/TabsMore/TabsMore.vue.d.ts +14 -0
  207. package/dist/types/components/HysTabs/TabsPanels/TabsPanels.vue.d.ts +17 -0
  208. package/dist/types/components/HysTabs/TabsPrompts/TabsPrompts.vue.d.ts +7 -0
  209. package/dist/types/components/HysTabs/TabsSlot/TabsSlot.d.ts +9 -0
  210. package/dist/types/components/HysTabs/TabsWorkbench/TabsWorkbench.vue.d.ts +32 -0
  211. package/dist/types/components/HysTabs/tabsConfig.d.ts +4 -0
  212. package/dist/types/components/HysTabs/tabsItems.d.ts +14 -0
  213. package/dist/types/components/HysTabs/tabsPersistence.d.ts +6 -0
  214. package/dist/types/components/HysTabs/tabsTypes.d.ts +236 -0
  215. package/dist/types/components/HysTabs/useHysRouteTabs.d.ts +22 -0
  216. package/dist/types/components/HysTabs/useTabsDragGhost.d.ts +22 -0
  217. package/dist/types/components/HysTabs/useTabsNav.d.ts +20 -0
  218. package/dist/types/components/HysTabs/useTabsOverlays.d.ts +54 -0
  219. package/dist/types/components/HysTabs/useTabsPanels.d.ts +14 -0
  220. package/dist/types/components/HysTabs/useTabsPointer.d.ts +30 -0
  221. package/dist/types/components/HysTabs/useTabsState.d.ts +32 -0
  222. package/dist/types/components/HysTagInput/HysTagInput.vue.d.ts +2 -2
  223. package/dist/types/components/HysToast/toastPresentation.d.ts +1 -1
  224. package/dist/types/components/HysVirtualTable/HysVirtualTable.vue.d.ts +2 -2
  225. package/dist/types/composables/dataGrid.d.ts +34 -0
  226. package/dist/types/composables/formLayout.d.ts +1 -2
  227. package/dist/types/composables/popupSurfaceStyle.d.ts +7 -0
  228. package/dist/types/composables/table.d.ts +10 -1
  229. package/dist/types/composables/toastQueue.d.ts +4 -4
  230. package/dist/types/composables/toastQueueModel.d.ts +2 -2
  231. package/dist/types/composables/useColorPicker.d.ts +1 -1
  232. package/dist/types/composables/useContainerWidth.d.ts +2 -0
  233. package/dist/types/composables/useContextMenu.d.ts +1 -1
  234. package/dist/types/composables/useFloating.d.ts +2 -2
  235. package/dist/types/composables/usePageVisibility.d.ts +1 -0
  236. package/dist/types/composables/usePopupSurface.d.ts +9 -3
  237. package/dist/types/composables/usePopupSurfaceInteractions.d.ts +4 -2
  238. package/dist/types/composables/useSplitPaneDrag.d.ts +2 -2
  239. package/dist/types/composables/useSvgInstanceId.d.ts +1 -0
  240. package/dist/types/composables/useTable.d.ts +2 -0
  241. package/dist/types/composables/useTabularRowNavigation.d.ts +18 -0
  242. package/dist/types/index.d.ts +30 -2
  243. package/dist/types/internal/MultiSplitPane.vue.d.ts +10 -1
  244. package/dist/types/internal/PopupSurfacePanel.vue.d.ts +3 -0
  245. package/package.json +1 -1
@@ -0,0 +1,687 @@
1
+ import { defineComponent as aa, defineAsyncComponent as ta, useId as oa, ref as z, computed as p, watch as Ee, onActivated as la, onDeactivated as na, onBeforeUnmount as sa, openBlock as r, createElementBlock as h, mergeProps as Me, unref as o, createElementVNode as I, createVNode as g, createCommentVNode as d, createBlock as k, resolveDynamicComponent as K, TransitionGroup as ia, withCtx as C, Fragment as ra, renderList as ua, normalizeStyle as De, normalizeClass as Le, createTextVNode as Se, toDisplayString as V, createSlots as da, Teleport as ca, nextTick as ne } from "vue";
2
+ import { ChevronUp as va, ChevronRight as Be, ChevronLeft as Ae, GripVertical as ba, Pin as fa, Star as ya, LoaderCircle as pa, X as ha, ChevronDown as ga, Plus as ka } from "lucide-vue-next";
3
+ import { useHysRootAttrs as wa } from "../../../config.js";
4
+ import { useContainerWidth as ma } from "../../../composables/useContainerWidth.js";
5
+ import { useMotion as xa } from "../../../motion/useMotion.js";
6
+ import Ca from "../TabsPanels/TabsPanels.vue.js";
7
+ import x from "../TabsSlot/TabsSlot.js";
8
+ import { bounded as se, tabToken as q, tabLength as T, tabIdToken as Ie } from "../tabsItems.js";
9
+ import { useTabsPersistence as Ta } from "../tabsPersistence.js";
10
+ import { useTabsNav as Pa } from "../useTabsNav.js";
11
+ import { useTabsOverlays as za } from "../useTabsOverlays.js";
12
+ import { useTabsPanels as Ea } from "../useTabsPanels.js";
13
+ import { useTabsPointer as Ma } from "../useTabsPointer.js";
14
+ import { useTabsState as Da } from "../useTabsState.js";
15
+ const La = ["data-type", "data-size", "data-placement", "data-vertical", "data-fixed", "data-sticky", "data-separator", "data-motion"], Sa = {
16
+ key: 0,
17
+ class: "hys-ui-tabs-extra"
18
+ }, Ba = ["aria-label"], Aa = ["aria-label", "aria-busy", "aria-orientation", "data-overflow", "data-dragging", "data-align", "data-stretch"], Ia = ["data-tab-group", "data-selected", "data-pinned", "data-dragging", "data-drop"], Ka = {
19
+ key: 0,
20
+ class: "hys-tab-drag-handle",
21
+ "aria-hidden": "true"
22
+ }, Fa = ["id", "data-tab-key", "aria-selected", "aria-controls", "aria-keyshortcuts", "disabled", "tabindex", "title", "onFocus", "onClick", "onDblclick", "onContextmenu", "onPointerenter"], Ha = { class: "hys-tab-label" }, Ra = {
23
+ key: 0,
24
+ class: "hys-tab-badge"
25
+ }, Na = ["data-status", "aria-label"], Ua = ["aria-label", "aria-busy", "disabled", "onClick"], Va = ["aria-label"], Wa = ["disabled"], Oa = {
26
+ key: 5,
27
+ class: "hys-ui-tabs-extra"
28
+ }, $a = {
29
+ key: 6,
30
+ class: "hys-tab-preview",
31
+ role: "status"
32
+ }, Ga = { key: 0 }, Xa = ["data-swipe"], it = /* @__PURE__ */ aa({
33
+ __name: "TabsWorkbench",
34
+ props: {
35
+ options: {},
36
+ declarations: {},
37
+ declarative: { type: Boolean },
38
+ slots: {},
39
+ emit: { type: Function }
40
+ },
41
+ setup(s, { expose: Ke }) {
42
+ const l = s, F = () => l.options, Fe = ta(() => import("../TabsMore/TabsMore.vue.js")), ie = wa(), re = oa(), P = z(), D = z(), {
43
+ menu: j,
44
+ prompts: He,
45
+ menuComponent: ue,
46
+ promptComponent: de,
47
+ showMenu: Re,
48
+ closeMenu: Ne,
49
+ prompt: ce
50
+ } = za(l.emit), ve = ma(P), J = p(() => {
51
+ const e = l.options.placement ?? (l.options.vertical ? "left" : "top");
52
+ return l.options.responsive && ve.value > 0 && ve.value < se(l.options.breakpoint, 560, 2400) && (e === "left" || e === "right") ? "top" : e;
53
+ }), m = p(
54
+ () => J.value === "left" || J.value === "right"
55
+ ), { effectiveMotion: Ue } = xa(), H = p(
56
+ () => l.options.animated !== !1 && Ue.value !== "off"
57
+ ), Q = p(
58
+ () => l.declarative || l.declarations.length > 0
59
+ ), n = Da(
60
+ F,
61
+ () => l.declarations.map((e) => e.item),
62
+ () => Q.value,
63
+ l.emit,
64
+ async (e, t) => {
65
+ var a;
66
+ return ((a = await ce()) == null ? void 0 : a.confirm(e, t)) ?? !1;
67
+ }
68
+ ), b = n.active, w = n.visible, W = Ea(
69
+ F,
70
+ () => w.value,
71
+ () => b.value,
72
+ l.emit
73
+ ), c = Pa(
74
+ F,
75
+ () => w.value,
76
+ () => b.value,
77
+ () => m.value,
78
+ () => H.value,
79
+ (e, t) => ee(e, t)
80
+ ), O = c.nav, Ve = c.track, be = Ta(
81
+ F,
82
+ n,
83
+ () => O.value,
84
+ l.emit
85
+ ), fe = p(
86
+ () => new Map(w.value.map((e) => [q(e.value), e]))
87
+ ), Z = p(
88
+ () => new Map(l.declarations.map((e) => [e.item.value, e.slots]))
89
+ ), ye = (e) => re + "-tab-" + Ie(e), pe = (e) => re + "-panel-" + Ie(e), R = z(), N = z(), _ = z(), We = p(() => {
90
+ var t, a, i;
91
+ const e = n.enabled.value;
92
+ return ((t = e.find((v) => v.value === R.value)) == null ? void 0 : t.value) ?? ((a = e.find((v) => v.value === b.value)) == null ? void 0 : a.value) ?? ((i = e[0]) == null ? void 0 : i.value);
93
+ }), he = p(
94
+ () => Q.value || !!l.options.workbench || !!l.slots.empty || !!l.slots.panel || w.value.some(
95
+ (e) => e.load || e.component || e.content !== void 0
96
+ )
97
+ ), Oe = p(() => he.value || !!l.slots.default), $ = p(
98
+ () => _.value === void 0 ? void 0 : n.byKey.value.get(_.value)
99
+ ), U = p(
100
+ () => N.value === void 0 ? void 0 : n.byKey.value.get(N.value)
101
+ ), ge = p(
102
+ () => l.options.contextMenu ?? l.options.workbench ?? !!l.slots.contextmenu
103
+ );
104
+ let ke;
105
+ function L() {
106
+ clearTimeout(ke), N.value !== void 0 && (N.value = void 0, l.emit("previewChange", void 0));
107
+ }
108
+ function $e(e, t) {
109
+ t.pointerType === "touch" || e.disabled || l.options.disabled || e.value === b.value || (L(), !(l.options.trigger !== "hover" && !l.options.preview) && (ke = setTimeout(
110
+ () => {
111
+ l.options.preview && l.options.trigger !== "hover" ? (N.value = e.value, l.emit("previewChange", e.value)) : n.select(e.value, "hover");
112
+ },
113
+ se(l.options.hoverDelay, l.options.preview ? 180 : 0, 5e3)
114
+ )));
115
+ }
116
+ function E(e = b.value) {
117
+ const t = n.enabled.value.find((a) => a.value === e) ?? n.enabled.value[0];
118
+ t && (R.value = t.value, c.focus(t.value));
119
+ }
120
+ function Ge(e, t) {
121
+ l.options.disabled || e.disabled || (L(), l.emit("tabClick", e.value, t), n.select(e.value, "click"));
122
+ }
123
+ function ee(e, t) {
124
+ const a = n.enabled.value;
125
+ if (!a.length) return;
126
+ const i = a.findIndex((f) => f.value === b.value), v = a[i < 0 ? e > 0 ? 0 : a.length - 1 : (i + e + a.length) % a.length];
127
+ n.select(v.value, t);
128
+ }
129
+ async function G(e = b.value) {
130
+ var i, v;
131
+ const t = !!((i = O.value) != null && i.contains(document.activeElement)) || !!((v = j.value) != null && v.open), a = await n.close(e);
132
+ return t && a && !n.byKey.value.has(e) && await ne(() => E()), a;
133
+ }
134
+ async function Xe(e, t) {
135
+ var i;
136
+ if (e !== "left" && e !== "right" && e !== "others" && e !== "all")
137
+ return;
138
+ const a = !!((i = j.value) != null && i.open);
139
+ await n.closeMany(e, t.value), a && !n.byKey.value.has(t.value) && await ne(() => E());
140
+ }
141
+ function ae(e, t) {
142
+ var v;
143
+ if (l.options.disabled || e.disabled || (l.emit("tabContextmenu", e.value, t), !ge.value)) return;
144
+ t.preventDefault(), _.value = e.value, E(e.value);
145
+ const a = (v = c.button(e.value)) == null ? void 0 : v.getBoundingClientRect(), i = t instanceof MouseEvent && t.type !== "keydown" && (t.clientX || t.clientY) ? { x: t.clientX, y: t.clientY } : { x: (a == null ? void 0 : a.left) ?? 0, y: (a == null ? void 0 : a.bottom) ?? 0 };
146
+ Re(i);
147
+ }
148
+ const u = Ma(
149
+ F,
150
+ c,
151
+ (e) => fe.value.get(e),
152
+ n.canMove,
153
+ n.move,
154
+ () => m.value,
155
+ (e, t) => {
156
+ l.emit("tabLongpress", e.value, t), ae(e, t);
157
+ },
158
+ (e) => ee(e, "swipe"),
159
+ () => H.value
160
+ ), Ye = u.ghostElement, te = (e) => e.target.closest(".hys-ui-tabs-root") === P.value;
161
+ function qe(e) {
162
+ var ze;
163
+ const t = e.target.closest(
164
+ '[role="tab"]'
165
+ );
166
+ if (e.target.closest(".hys-ui-tab-close")) return;
167
+ const a = ((t == null ? void 0 : t.dataset.tabKey) && ((ze = fe.value.get(t.dataset.tabKey)) == null ? void 0 : ze.value)) ?? R.value ?? b.value, i = n.enabled.value, v = i.findIndex((Y) => Y.value === a), f = i[v], A = m.value ? ["ArrowUp", "ArrowDown"] : c.rtl() ? ["ArrowRight", "ArrowLeft"] : ["ArrowLeft", "ArrowRight"];
168
+ if (f && (e.key === "ContextMenu" || e.key === "F10" && e.shiftKey)) {
169
+ ae(f, e);
170
+ return;
171
+ }
172
+ if (e.key === "Delete" && f && n.canClose(f)) {
173
+ e.preventDefault(), G(f.value);
174
+ return;
175
+ }
176
+ if (l.options.shortcuts && e.altKey && e.shiftKey && ["PageUp", "PageDown"].includes(e.key)) {
177
+ e.preventDefault(), ee(e.key === "PageUp" ? -1 : 1, "keyboard");
178
+ return;
179
+ }
180
+ if (l.options.shortcuts && f && e.key === "F2") {
181
+ e.preventDefault(), we(f);
182
+ return;
183
+ }
184
+ if (t && (e.key === "Enter" || e.key === " ") && l.options.activation === "manual") {
185
+ e.preventDefault(), f && n.select(f.value, "keyboard");
186
+ return;
187
+ }
188
+ if (!i.length || ![...A, "Home", "End"].includes(e.key)) return;
189
+ e.preventDefault();
190
+ const y = e.key === A[0] ? -1 : 1;
191
+ if (f && l.options.draggable && e.altKey && e.shiftKey && A.includes(e.key)) {
192
+ const Y = i[v + y];
193
+ Y && n.move(f.value, Y.value, y > 0).then((ea) => {
194
+ ea && E(f.value);
195
+ });
196
+ return;
197
+ }
198
+ const Pe = e.key === "Home" ? 0 : e.key === "End" ? i.length - 1 : v < 0 ? y < 0 ? i.length - 1 : 0 : (v + y + i.length) % i.length;
199
+ E(i[Pe].value), l.options.activation !== "manual" && n.select(i[Pe].value, "keyboard");
200
+ }
201
+ async function we(e) {
202
+ var a;
203
+ if (!n.canEdit() || e.readonly || e.disabled) return;
204
+ const t = await ((a = await ce()) == null ? void 0 : a.rename(e));
205
+ typeof t == "string" && await n.rename(e.value, t);
206
+ }
207
+ function me(e) {
208
+ const t = $.value;
209
+ t && (e === "reload" ? W.reload(t.value) : e === "pin" ? n.pin(t.value) : e === "favorite" ? n.favorite(t.value) : e === "rename" ? we(t) : e === "restore" ? n.restore() : e === "current" ? G(t.value) : Xe(e, t));
210
+ }
211
+ const je = p(() => {
212
+ const e = $.value;
213
+ if (!e || l.slots.contextmenu) return [];
214
+ const t = n.canEdit() && !e.readonly, a = w.value.findIndex((i) => i.value === e.value);
215
+ return [
216
+ { label: "刷新页签", value: "reload" },
217
+ { label: "重命名", value: "rename", disabled: !t },
218
+ {
219
+ label: e.pinned ? "取消固定" : "固定页签",
220
+ value: "pin",
221
+ disabled: !t
222
+ },
223
+ {
224
+ label: e.favorite ? "取消收藏" : "收藏页签",
225
+ value: "favorite",
226
+ disabled: !t
227
+ },
228
+ { label: "", type: "divider", value: "divider" },
229
+ { label: "关闭当前", value: "current", disabled: !n.canClose(e) },
230
+ {
231
+ label: "关闭左侧",
232
+ value: "left",
233
+ disabled: !w.value.slice(0, a).some(n.canClose)
234
+ },
235
+ {
236
+ label: "关闭右侧",
237
+ value: "right",
238
+ disabled: !w.value.slice(a + 1).some(n.canClose)
239
+ },
240
+ {
241
+ label: "关闭其他",
242
+ value: "others",
243
+ disabled: !w.value.some(
244
+ (i) => i.value !== e.value && n.canClose(i)
245
+ )
246
+ },
247
+ {
248
+ label: "关闭所有可关闭项",
249
+ value: "all",
250
+ disabled: !n.all.value.some(n.canClose)
251
+ },
252
+ {
253
+ label: "恢复最近关闭",
254
+ value: "restore",
255
+ disabled: !n.closed.value.length || !n.canEdit()
256
+ }
257
+ ];
258
+ });
259
+ async function Je(e) {
260
+ const t = await n.select(e, "menu");
261
+ return t && await ne(() => E(e)), t;
262
+ }
263
+ const S = (e) => ({
264
+ item: e,
265
+ active: b.value === e.value
266
+ }), Qe = (e) => !e.pinned && !e.readonly && !l.options.readonly && (e.closable ?? (l.options.closable || l.options.editable || l.options.workbench)), X = p(() => !!l.options.fixed && !m.value), xe = z(0), Ce = z(0), oe = z(0);
267
+ let M;
268
+ function B() {
269
+ if (!X.value || !P.value || !D.value) return;
270
+ const e = P.value.getBoundingClientRect();
271
+ Ce.value = e.left, oe.value = e.width, xe.value = D.value.offsetHeight;
272
+ }
273
+ function le() {
274
+ M == null || M.disconnect(), M = void 0, typeof window < "u" && (window.removeEventListener("resize", B), window.removeEventListener("scroll", B, !0));
275
+ }
276
+ function Te() {
277
+ le(), !(!X.value || !P.value || !D.value) && (B(), typeof ResizeObserver < "u" && (M = new ResizeObserver(B), M.observe(P.value), M.observe(D.value)), window.addEventListener("resize", B), window.addEventListener("scroll", B, {
278
+ passive: !0,
279
+ capture: !0
280
+ }));
281
+ }
282
+ Ee([X, P, D], Te, { flush: "post" }), la(Te);
283
+ const Ze = p(() => ({
284
+ "--hys-tab-width": T(l.options.tabWidth),
285
+ "--hys-tab-height": T(l.options.tabHeight),
286
+ "--hys-tab-max-width": T(l.options.tabMaxWidth),
287
+ "--hys-tab-gap": T(l.options.gap),
288
+ "--hys-tab-radius": T(l.options.radius),
289
+ "--hys-tab-bar-offset": T(l.options.barOffset),
290
+ "--hys-tab-panel-height": T(l.options.panelHeight),
291
+ "--hys-tab-panel-max": T(l.options.panelMaxHeight),
292
+ "--hys-tab-duration": se(l.options.duration, 160, 5e3) + "ms",
293
+ "--hys-tab-ease": l.options.easing ?? (l.options.animation === "spring" ? "cubic-bezier(.22,1.5,.45,1)" : void 0),
294
+ "--hys-tab-custom-animation": l.options.animationName,
295
+ "--hys-tab-fixed-width": oe.value + "px",
296
+ "--hys-tab-fixed-left": Ce.value + "px",
297
+ "--hys-tab-bar-height": xe.value + "px"
298
+ }));
299
+ Ee(b, () => {
300
+ var e;
301
+ L(), (e = O.value) != null && e.contains(document.activeElement) || (R.value = void 0);
302
+ }), na(() => {
303
+ L(), le();
304
+ }), sa(() => {
305
+ L(), le();
306
+ });
307
+ function _e(e) {
308
+ var t;
309
+ e.setAttribute("aria-hidden", "true"), (t = e.querySelector('[role="tab"]')) == null || t.setAttribute("aria-selected", "false"), e instanceof HTMLElement && (e.inert = !0);
310
+ }
311
+ return Ke({
312
+ active: b,
313
+ recent: n.recent,
314
+ closed: p(() => n.closed.value.map((e) => e.item)),
315
+ select: n.select,
316
+ focus: E,
317
+ scrollToActiveTab: c.scrollTo,
318
+ add: n.add,
319
+ close: G,
320
+ closeMany: n.closeMany,
321
+ rename: n.rename,
322
+ pin: n.pin,
323
+ favorite: n.favorite,
324
+ move: n.move,
325
+ restore: n.restore,
326
+ preload: W.preload,
327
+ reload: W.reload,
328
+ save: be.save
329
+ }), (e, t) => (r(), h("div", Me({
330
+ ref_key: "root",
331
+ ref: P
332
+ }, o(ie), {
333
+ class: "hys-ui-tabs-root",
334
+ style: Ze.value,
335
+ "data-type": s.options.type,
336
+ "data-size": s.options.size,
337
+ "data-placement": J.value,
338
+ "data-vertical": m.value || void 0,
339
+ "data-fixed": X.value && oe.value > 0 || void 0,
340
+ "data-sticky": s.options.sticky || void 0,
341
+ "data-separator": s.options.separator || void 0,
342
+ "data-motion": H.value ? s.options.animationName ? "custom" : s.options.animation : "none"
343
+ }), [
344
+ I("div", {
345
+ ref_key: "header",
346
+ ref: D,
347
+ class: "hys-ui-tabs-header"
348
+ }, [
349
+ s.slots.prefix ? (r(), h("div", Sa, [
350
+ g(o(x), {
351
+ render: s.slots.prefix
352
+ }, null, 8, ["render"])
353
+ ])) : d("", !0),
354
+ s.options.showScrollButtons && o(c).before.value ? (r(), h("button", {
355
+ key: 1,
356
+ type: "button",
357
+ class: "hys-ui-tab-control",
358
+ "aria-label": m.value ? "向上滚动页签" : "向前滚动页签",
359
+ onClick: t[0] || (t[0] = (a) => o(c).scroll(-1))
360
+ }, [
361
+ (r(), k(K(m.value ? o(va) : o(c).rtl() ? o(Be) : o(Ae)), {
362
+ size: 16,
363
+ "aria-hidden": "true"
364
+ }))
365
+ ], 8, Ba)) : d("", !0),
366
+ I("div", {
367
+ ref_key: "navElement",
368
+ ref: O,
369
+ class: "hys-ui-tabs",
370
+ role: "tablist",
371
+ "aria-label": s.options.ariaLabel || "页签",
372
+ "aria-busy": o(n).pending.value || void 0,
373
+ "aria-orientation": m.value ? "vertical" : "horizontal",
374
+ "data-overflow": s.options.overflow ?? "scroll",
375
+ "data-dragging": o(u).dragging.value !== void 0 || void 0,
376
+ "data-align": s.options.align ?? (s.options.centered ? "center" : "start"),
377
+ "data-stretch": s.options.stretch || void 0,
378
+ onKeydown: qe,
379
+ onScrollPassive: t[1] || (t[1] = (a) => {
380
+ o(c).schedule(), o(be).scrolled();
381
+ }),
382
+ onWheel: t[2] || (t[2] = //@ts-ignore
383
+ (...a) => o(c).wheel && o(c).wheel(...a)),
384
+ onPointerdown: t[3] || (t[3] = //@ts-ignore
385
+ (...a) => o(u).down && o(u).down(...a)),
386
+ onPointermove: t[4] || (t[4] = //@ts-ignore
387
+ (...a) => o(u).motion && o(u).motion(...a)),
388
+ onPointerup: t[5] || (t[5] = (a) => o(u).finish(a)),
389
+ onPointercancel: t[6] || (t[6] = //@ts-ignore
390
+ (...a) => o(u).cancel && o(u).cancel(...a)),
391
+ onLostpointercapture: t[7] || (t[7] = //@ts-ignore
392
+ (...a) => o(u).cancel && o(u).cancel(...a)),
393
+ onPointerleave: t[8] || (t[8] = (a) => o(u).dragging.value === void 0 && o(u).cancel(a)),
394
+ onClickCapture: t[9] || (t[9] = //@ts-ignore
395
+ (...a) => o(u).clickCapture && o(u).clickCapture(...a))
396
+ }, [
397
+ I("div", {
398
+ ref_key: "track",
399
+ ref: Ve,
400
+ class: "hys-tabs-track"
401
+ }, [
402
+ g(ia, {
403
+ tag: "div",
404
+ css: H.value,
405
+ name: H.value ? "hys-tabs-move" : "hys-tabs-still",
406
+ class: "hys-tabs-items",
407
+ onBeforeLeave: _e
408
+ }, {
409
+ default: C(() => [
410
+ (r(!0), h(ra, null, ua(o(w), (a) => {
411
+ var i, v, f, A;
412
+ return r(), h("div", {
413
+ key: o(q)(a.value),
414
+ "data-tab-group": o(q)(a.value),
415
+ class: Le(["hys-ui-tab-item", a.class]),
416
+ style: De([
417
+ {
418
+ "--hys-tab-item-width": o(T)(a.width),
419
+ "--hys-tab-item-color": a.color
420
+ },
421
+ a.style
422
+ ]),
423
+ "data-selected": o(b) === a.value || void 0,
424
+ "data-pinned": a.pinned || void 0,
425
+ "data-dragging": o(u).dragging.value === a.value || void 0,
426
+ "data-drop": ((i = o(u).drop.value) == null ? void 0 : i.value) === a.value ? o(u).drop.value.after ? "after" : "before" : void 0
427
+ }, [
428
+ s.options.draggable && s.options.dragHandle && o(n).canMove(a) ? (r(), h("span", Ka, [
429
+ g(o(ba), { size: 14 })
430
+ ])) : d("", !0),
431
+ I("button", {
432
+ id: ye(a.value),
433
+ ref_for: !0,
434
+ ref: (y) => o(c).setButton(a.value, y),
435
+ type: "button",
436
+ role: "tab",
437
+ class: Le(["hys-tab-title", { "hys-ui-active": o(b) === a.value }]),
438
+ "data-tab-key": o(q)(a.value),
439
+ "aria-selected": o(b) === a.value,
440
+ "aria-controls": he.value || s.slots.default && o(b) === a.value ? pe(a.value) : void 0,
441
+ "aria-keyshortcuts": o(n).canClose(a) ? "Delete" : void 0,
442
+ disabled: s.options.disabled || a.disabled,
443
+ tabindex: We.value === a.value ? 0 : -1,
444
+ title: s.options.titleTooltip !== !1 ? a.label : void 0,
445
+ onFocus: (y) => R.value = a.value,
446
+ onClick: (y) => Ge(a, y),
447
+ onDblclick: (y) => !a.disabled && !s.options.disabled && s.emit("tabDblclick", a.value, y),
448
+ onContextmenu: (y) => ae(a, y),
449
+ onPointerenter: (y) => $e(a, y),
450
+ onPointerleave: L
451
+ }, [
452
+ a.pinned ? (r(), k(o(fa), {
453
+ key: 0,
454
+ size: 13,
455
+ "aria-hidden": "true",
456
+ class: "hys-tab-mark"
457
+ })) : d("", !0),
458
+ g(o(x), {
459
+ render: ((v = Z.value.get(a.value)) == null ? void 0 : v.icon) ?? s.slots.icon,
460
+ scope: S(a)
461
+ }, {
462
+ default: C(() => [
463
+ a.icon ? (r(), k(K(a.icon), {
464
+ key: 0,
465
+ size: 15,
466
+ "aria-hidden": "true"
467
+ })) : d("", !0)
468
+ ]),
469
+ _: 2
470
+ }, 1032, ["render", "scope"]),
471
+ I("span", Ha, [
472
+ g(o(x), {
473
+ render: ((f = Z.value.get(a.value)) == null ? void 0 : f.label) ?? s.slots.label,
474
+ scope: S(a)
475
+ }, {
476
+ default: C(() => [
477
+ Se(V(a.label), 1)
478
+ ]),
479
+ _: 2
480
+ }, 1032, ["render", "scope"])
481
+ ]),
482
+ g(o(x), {
483
+ render: ((A = Z.value.get(a.value)) == null ? void 0 : A.badge) ?? s.slots.badge,
484
+ scope: S(a)
485
+ }, {
486
+ default: C(() => [
487
+ a.badge !== void 0 ? (r(), h("span", Ra, V(a.badge), 1)) : d("", !0)
488
+ ]),
489
+ _: 2
490
+ }, 1032, ["render", "scope"]),
491
+ a.favorite ? (r(), k(o(ya), {
492
+ key: 1,
493
+ size: 12,
494
+ "aria-hidden": "true",
495
+ class: "hys-tab-mark"
496
+ })) : d("", !0),
497
+ g(o(x), {
498
+ render: s.slots["status-icon"],
499
+ scope: S(a)
500
+ }, {
501
+ default: C(() => [
502
+ a.statusIcon ? (r(), k(K(a.statusIcon), {
503
+ key: 0,
504
+ size: 14,
505
+ "aria-hidden": "true"
506
+ })) : a.status === "loading" ? (r(), k(o(pa), {
507
+ key: 1,
508
+ size: 13,
509
+ class: "hys-tab-spinner",
510
+ "aria-hidden": "true"
511
+ })) : a.dot || a.status || a.unread || a.dirty ? (r(), h("span", {
512
+ key: 2,
513
+ class: "hys-tab-dot",
514
+ "data-status": a.dirty ? "warning" : a.status,
515
+ "aria-label": a.dirty ? "未保存" : a.unread ? "未读" : a.status,
516
+ role: "img"
517
+ }, null, 8, Na)) : d("", !0)
518
+ ]),
519
+ _: 2
520
+ }, 1032, ["render", "scope"])
521
+ ], 42, Fa),
522
+ Qe(a) ? (r(), h("button", {
523
+ key: 1,
524
+ type: "button",
525
+ class: "hys-ui-tab-close",
526
+ tabindex: "-1",
527
+ "aria-label": "关闭" + a.label,
528
+ "aria-busy": o(n).closing.has(a.value) || void 0,
529
+ disabled: !o(n).canClose(a) || o(n).closing.has(a.value),
530
+ onClick: (y) => G(a.value)
531
+ }, [
532
+ g(o(x), {
533
+ render: s.slots["close-icon"],
534
+ scope: S(a)
535
+ }, {
536
+ default: C(() => [
537
+ g(o(ha), {
538
+ size: 13,
539
+ "aria-hidden": "true"
540
+ })
541
+ ]),
542
+ _: 1
543
+ }, 8, ["render", "scope"])
544
+ ], 8, Ua)) : d("", !0)
545
+ ], 14, Ia);
546
+ }), 128))
547
+ ]),
548
+ _: 1
549
+ }, 8, ["css", "name"]),
550
+ s.options.type === "line" && s.options.overflow !== "wrap" ? (r(), h("span", {
551
+ key: 0,
552
+ class: "hys-tabs-indicator",
553
+ style: De(o(c).indicator.value),
554
+ "aria-hidden": "true"
555
+ }, null, 4)) : d("", !0)
556
+ ], 512)
557
+ ], 40, Aa),
558
+ s.options.showScrollButtons && o(c).after.value ? (r(), h("button", {
559
+ key: 2,
560
+ type: "button",
561
+ class: "hys-ui-tab-control",
562
+ "aria-label": m.value ? "向下滚动页签" : "向后滚动页签",
563
+ onClick: t[10] || (t[10] = (a) => o(c).scroll(1))
564
+ }, [
565
+ (r(), k(K(m.value ? o(ga) : o(c).rtl() ? o(Ae) : o(Be)), {
566
+ size: 16,
567
+ "aria-hidden": "true"
568
+ }))
569
+ ], 8, Va)) : d("", !0),
570
+ s.options.workbench || (s.options.overflow === "menu" || s.options.overflow === "clip") && o(c).hasOverflow.value ? (r(), k(o(Fe), {
571
+ key: 3,
572
+ items: o(w),
573
+ overflow: o(c).overflowed.value,
574
+ recent: o(n).recent.value,
575
+ active: o(b),
576
+ disabled: s.options.disabled,
577
+ search: s.options.moreSearch,
578
+ slots: s.slots,
579
+ select: Je
580
+ }, null, 8, ["items", "overflow", "recent", "active", "disabled", "search", "slots"])) : d("", !0),
581
+ s.options.addable || s.options.editable || s.options.workbench ? (r(), h("button", {
582
+ key: 4,
583
+ type: "button",
584
+ class: "hys-ui-tab-control hys-ui-tab-add",
585
+ "aria-label": "添加页签",
586
+ disabled: s.options.disabled || s.options.readonly,
587
+ onClick: t[11] || (t[11] = (a) => o(n).add())
588
+ }, [
589
+ g(o(x), {
590
+ render: s.slots["add-icon"]
591
+ }, {
592
+ default: C(() => [
593
+ g(o(ka), {
594
+ size: 16,
595
+ "aria-hidden": "true"
596
+ })
597
+ ]),
598
+ _: 1
599
+ }, 8, ["render"])
600
+ ], 8, Wa)) : d("", !0),
601
+ s.slots.suffix ? (r(), h("div", Oa, [
602
+ g(o(x), {
603
+ render: s.slots.suffix
604
+ }, null, 8, ["render"])
605
+ ])) : d("", !0),
606
+ U.value ? (r(), h("div", $a, [
607
+ g(o(x), {
608
+ render: s.slots.preview,
609
+ scope: S(U.value)
610
+ }, {
611
+ default: C(() => [
612
+ Se(V(U.value.label), 1),
613
+ U.value.content ? (r(), h("span", Ga, " · " + V(U.value.content), 1)) : d("", !0)
614
+ ]),
615
+ _: 1
616
+ }, 8, ["render", "scope"])
617
+ ])) : d("", !0)
618
+ ], 512),
619
+ Oe.value ? (r(), h("div", {
620
+ key: 0,
621
+ class: "hys-ui-tabs-content",
622
+ "data-swipe": s.options.swipe || void 0,
623
+ onPointerdown: t[12] || (t[12] = (a) => te(a) && o(u).swipeDown(a)),
624
+ onPointerup: t[13] || (t[13] = (a) => te(a) && o(u).swipeUp(a)),
625
+ onPointercancel: t[14] || (t[14] = (a) => te(a) && o(u).cancelSwipe())
626
+ }, [
627
+ g(Ca, {
628
+ items: o(w),
629
+ declarations: s.declarations,
630
+ slots: s.slots,
631
+ active: o(b),
632
+ panels: o(W),
633
+ "panel-id": pe,
634
+ "tab-id": ye,
635
+ declarative: Q.value,
636
+ "force-panels": !!s.options.workbench || !!s.slots.empty
637
+ }, null, 8, ["items", "declarations", "slots", "active", "panels", "declarative", "force-panels"])
638
+ ], 40, Xa)) : d("", !0),
639
+ ge.value && o(ue) ? (r(), k(K(o(ue)), {
640
+ key: 1,
641
+ ref_key: "menu",
642
+ ref: j,
643
+ style: { display: "none" },
644
+ trigger: [],
645
+ items: je.value,
646
+ "aria-label": "页签操作",
647
+ onSelect: t[15] || (t[15] = (a) => me(a))
648
+ }, da({ _: 2 }, [
649
+ s.slots.contextmenu ? {
650
+ name: "empty",
651
+ fn: C(() => [
652
+ $.value ? (r(), k(o(x), {
653
+ key: 0,
654
+ render: s.slots.contextmenu,
655
+ scope: { item: $.value, run: me, close: o(Ne) }
656
+ }, null, 8, ["render", "scope"])) : d("", !0)
657
+ ]),
658
+ key: "0"
659
+ } : void 0
660
+ ]), 1064, ["items"])) : d("", !0),
661
+ o(de) ? (r(), k(K(o(de)), {
662
+ key: 2,
663
+ ref_key: "prompts",
664
+ ref: He
665
+ }, null, 512)) : d("", !0),
666
+ o(u).ghost.value ? (r(), k(ca, {
667
+ key: 3,
668
+ to: "body"
669
+ }, [
670
+ I("div", Me({
671
+ ref_key: "ghostElement",
672
+ ref: Ye
673
+ }, o(ie), {
674
+ class: "hys-tab-drag-ghost",
675
+ "aria-hidden": "true",
676
+ style: {
677
+ width: o(u).ghost.value.width + "px",
678
+ height: o(u).ghost.value.height + "px"
679
+ }
680
+ }), V(o(u).ghost.value.label), 17)
681
+ ])) : d("", !0)
682
+ ], 16, La));
683
+ }
684
+ });
685
+ export {
686
+ it as default
687
+ };