vft 0.0.53 → 0.0.56

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 (195) hide show
  1. package/attributes.json +1 -0
  2. package/dist/index.css +1 -1
  3. package/es/component.js +68 -122
  4. package/es/components/avatar/avatar.vue.d.ts +2 -2
  5. package/es/components/avatar/index.d.ts +2 -2
  6. package/es/components/back-top/back-top.vue2.js +4 -3
  7. package/es/components/button/button.vue.d.ts +1 -1
  8. package/es/components/button/index.d.ts +1 -1
  9. package/es/components/button/use-button.d.ts +1 -1
  10. package/es/components/color-picker/color-picker.vue.d.ts +1 -1
  11. package/es/components/color-picker/index.d.ts +1 -1
  12. package/es/components/context-menu/context-menu.vue2.js +46 -41
  13. package/es/components/descriptions/description.vue.d.ts +2 -2
  14. package/es/components/descriptions/index.d.ts +2 -2
  15. package/es/components/dialog/dialog.vue.d.ts +1 -1
  16. package/es/components/dialog/index.d.ts +1 -1
  17. package/es/components/divider/divider.vue.d.ts +2 -2
  18. package/es/components/divider/index.d.ts +2 -2
  19. package/es/components/dropdown/dropdown-item-impl.vue.d.ts +4 -4
  20. package/es/components/dropdown/dropdown-item.vue.d.ts +6 -6
  21. package/es/components/dropdown/dropdown.vue.d.ts +22 -22
  22. package/es/components/dropdown/index.d.ts +34 -34
  23. package/es/components/focus-trap/focus-trap.vue.d.ts +4 -4
  24. package/es/components/form/form-item.vue.d.ts +3 -3
  25. package/es/components/form/hooks/use-form-item.d.ts +2 -2
  26. package/es/components/form/index.d.ts +6 -6
  27. package/es/components/icon-text/icon-text.vue2.js +31 -24
  28. package/es/components/image/image.vue.d.ts +2 -2
  29. package/es/components/image/index.d.ts +2 -2
  30. package/es/components/input/index.d.ts +7 -7
  31. package/es/components/input/input.vue.d.ts +7 -7
  32. package/es/components/link/index.d.ts +4 -4
  33. package/es/components/link/link.vue.d.ts +4 -4
  34. package/es/components/loading/index.d.ts +1 -1
  35. package/es/components/md-code-demo/index.d.ts +1 -1
  36. package/es/components/md-code-demo/md-code-demo.d.ts +1 -1
  37. package/es/components/md-container/md-container.vue2.js +74 -68
  38. package/es/components/md-container/use/useCopyCode.js +3 -3
  39. package/es/components/menu/index.d.ts +4 -4
  40. package/es/components/menu/menu-item.vue2.js +4 -3
  41. package/es/components/menu/menu.vue.d.ts +4 -4
  42. package/es/components/menu/sub-menu.vue2.js +4 -3
  43. package/es/components/multiple-tabs/multiple-tabs.vue2.js +34 -36
  44. package/es/components/multiple-tabs/tab-content.vue2.js +18 -84
  45. package/es/components/popper/composables/use-focus-trap.d.ts +1 -1
  46. package/es/components/popper/content.vue.d.ts +3 -3
  47. package/es/components/popper/index.d.ts +2 -2
  48. package/es/components/popper/popper.vue.d.ts +2 -2
  49. package/es/components/qrcode/index.d.ts +3 -3
  50. package/es/components/qrcode/qrcode.vue.d.ts +3 -3
  51. package/es/components/result/result.vue2.js +4 -3
  52. package/es/components/roving-focus-group/roving-focus-group-impl.vue.d.ts +2 -2
  53. package/es/components/roving-focus-group/roving-focus-item.vue.d.ts +1 -1
  54. package/es/components/search/index.d.ts +2 -2
  55. package/es/components/search/search.vue.d.ts +2 -2
  56. package/es/components/search/search.vue2.js +4 -3
  57. package/es/components/select-v2/defaults.d.ts +1 -1
  58. package/es/components/select-v2/index.d.ts +52 -52
  59. package/es/components/select-v2/option-item.vue.d.ts +1 -1
  60. package/es/components/select-v2/select.vue.d.ts +26 -26
  61. package/es/components/select-v2/useSelect.d.ts +12 -12
  62. package/es/components/side-menu/index.d.ts +2 -2
  63. package/es/components/side-menu/side-menu.vue.d.ts +2 -2
  64. package/es/components/side-menu/side-menu.vue2.js +3 -2
  65. package/es/components/table/table.vue.d.ts +3 -3
  66. package/es/components/tabs/index.d.ts +8 -8
  67. package/es/components/tabs/tab-nav.vue.d.ts +6 -7
  68. package/es/components/tabs/tab-nav.vue2.js +42 -38
  69. package/es/components/tabs/tabs.vue.d.ts +9 -9
  70. package/es/components/tabs/tabs.vue2.js +43 -48
  71. package/es/components/tag/index.d.ts +2 -2
  72. package/es/components/tag/tag.vue.d.ts +2 -2
  73. package/es/components/tooltip/index.d.ts +5 -5
  74. package/es/components/tooltip/tooltip.vue.d.ts +5 -5
  75. package/es/components/virtual-list/builders/build-grid.d.ts +1 -1
  76. package/es/components/virtual-list/builders/build-list.d.ts +4 -4
  77. package/es/components/virtual-list/components/dynamic-size-grid.d.ts +1 -1
  78. package/es/components/virtual-list/components/dynamic-size-list.d.ts +4 -4
  79. package/es/components/virtual-list/components/fixed-size-grid.d.ts +1 -1
  80. package/es/components/virtual-list/components/fixed-size-list.d.ts +4 -4
  81. package/es/components/virtual-list/components/scrollbar.d.ts +3 -3
  82. package/es/components/virtual-list/props.d.ts +2 -2
  83. package/es/package.json.js +1 -1
  84. package/es/utils/vue/vnode.d.ts +6 -6
  85. package/global.d.ts +28 -3
  86. package/lib/component.cjs +1 -1
  87. package/lib/components/avatar/avatar.vue.d.ts +2 -2
  88. package/lib/components/avatar/index.d.ts +2 -2
  89. package/lib/components/back-top/back-top.vue2.cjs +1 -1
  90. package/lib/components/button/button.vue.d.ts +1 -1
  91. package/lib/components/button/index.d.ts +1 -1
  92. package/lib/components/button/use-button.d.ts +1 -1
  93. package/lib/components/color-picker/color-picker.vue.d.ts +1 -1
  94. package/lib/components/color-picker/index.d.ts +1 -1
  95. package/lib/components/context-menu/context-menu.vue2.cjs +1 -1
  96. package/lib/components/descriptions/description.vue.d.ts +2 -2
  97. package/lib/components/descriptions/index.d.ts +2 -2
  98. package/lib/components/dialog/dialog.vue.d.ts +1 -1
  99. package/lib/components/dialog/index.d.ts +1 -1
  100. package/lib/components/divider/divider.vue.d.ts +2 -2
  101. package/lib/components/divider/index.d.ts +2 -2
  102. package/lib/components/dropdown/dropdown-item-impl.vue.d.ts +4 -4
  103. package/lib/components/dropdown/dropdown-item.vue.d.ts +6 -6
  104. package/lib/components/dropdown/dropdown.vue.d.ts +22 -22
  105. package/lib/components/dropdown/index.d.ts +34 -34
  106. package/lib/components/focus-trap/focus-trap.vue.d.ts +4 -4
  107. package/lib/components/form/form-item.vue.d.ts +3 -3
  108. package/lib/components/form/hooks/use-form-item.d.ts +2 -2
  109. package/lib/components/form/index.d.ts +6 -6
  110. package/lib/components/icon-text/icon-text.vue2.cjs +1 -1
  111. package/lib/components/image/image.vue.d.ts +2 -2
  112. package/lib/components/image/index.d.ts +2 -2
  113. package/lib/components/input/index.d.ts +7 -7
  114. package/lib/components/input/input.vue.d.ts +7 -7
  115. package/lib/components/link/index.d.ts +4 -4
  116. package/lib/components/link/link.vue.d.ts +4 -4
  117. package/lib/components/loading/index.d.ts +1 -1
  118. package/lib/components/md-code-demo/index.d.ts +1 -1
  119. package/lib/components/md-code-demo/md-code-demo.d.ts +1 -1
  120. package/lib/components/md-container/md-container.vue2.cjs +1 -1
  121. package/lib/components/md-container/use/useCopyCode.cjs +1 -1
  122. package/lib/components/menu/index.d.ts +4 -4
  123. package/lib/components/menu/menu-item.vue2.cjs +1 -1
  124. package/lib/components/menu/menu.vue.d.ts +4 -4
  125. package/lib/components/menu/sub-menu.vue2.cjs +1 -1
  126. package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
  127. package/lib/components/multiple-tabs/tab-content.vue2.cjs +1 -1
  128. package/lib/components/popper/composables/use-focus-trap.d.ts +1 -1
  129. package/lib/components/popper/content.vue.d.ts +3 -3
  130. package/lib/components/popper/index.d.ts +2 -2
  131. package/lib/components/popper/popper.vue.d.ts +2 -2
  132. package/lib/components/qrcode/index.d.ts +3 -3
  133. package/lib/components/qrcode/qrcode.vue.d.ts +3 -3
  134. package/lib/components/result/result.vue2.cjs +1 -1
  135. package/lib/components/roving-focus-group/roving-focus-group-impl.vue.d.ts +2 -2
  136. package/lib/components/roving-focus-group/roving-focus-item.vue.d.ts +1 -1
  137. package/lib/components/search/index.d.ts +2 -2
  138. package/lib/components/search/search.vue.d.ts +2 -2
  139. package/lib/components/search/search.vue2.cjs +1 -1
  140. package/lib/components/select-v2/defaults.d.ts +1 -1
  141. package/lib/components/select-v2/index.d.ts +52 -52
  142. package/lib/components/select-v2/option-item.vue.d.ts +1 -1
  143. package/lib/components/select-v2/select.vue.d.ts +26 -26
  144. package/lib/components/select-v2/useSelect.d.ts +12 -12
  145. package/lib/components/side-menu/index.d.ts +2 -2
  146. package/lib/components/side-menu/side-menu.vue.d.ts +2 -2
  147. package/lib/components/side-menu/side-menu.vue2.cjs +1 -1
  148. package/lib/components/table/table.vue.d.ts +3 -3
  149. package/lib/components/tabs/index.d.ts +8 -8
  150. package/lib/components/tabs/tab-nav.vue.d.ts +6 -7
  151. package/lib/components/tabs/tab-nav.vue2.cjs +1 -1
  152. package/lib/components/tabs/tabs.vue.d.ts +9 -9
  153. package/lib/components/tabs/tabs.vue2.cjs +1 -1
  154. package/lib/components/tag/index.d.ts +2 -2
  155. package/lib/components/tag/tag.vue.d.ts +2 -2
  156. package/lib/components/tooltip/index.d.ts +5 -5
  157. package/lib/components/tooltip/tooltip.vue.d.ts +5 -5
  158. package/lib/components/virtual-list/builders/build-grid.d.ts +1 -1
  159. package/lib/components/virtual-list/builders/build-list.d.ts +4 -4
  160. package/lib/components/virtual-list/components/dynamic-size-grid.d.ts +1 -1
  161. package/lib/components/virtual-list/components/dynamic-size-list.d.ts +4 -4
  162. package/lib/components/virtual-list/components/fixed-size-grid.d.ts +1 -1
  163. package/lib/components/virtual-list/components/fixed-size-list.d.ts +4 -4
  164. package/lib/components/virtual-list/components/scrollbar.d.ts +3 -3
  165. package/lib/components/virtual-list/props.d.ts +2 -2
  166. package/lib/package.json.cjs +1 -1
  167. package/lib/utils/vue/vnode.d.ts +6 -6
  168. package/package.json +6 -1
  169. package/tags.json +1 -0
  170. package/theme-style/dark/css-vars.css +1 -1
  171. package/theme-style/index.css +1 -1
  172. package/theme-style/src/button.scss +1 -2
  173. package/theme-style/src/common/var.scss +19 -20
  174. package/theme-style/src/context-menu.scss +12 -0
  175. package/theme-style/src/dark/css-vars.scss +26 -0
  176. package/theme-style/src/dark/var.scss +61 -17
  177. package/theme-style/src/icon-text.scss +2 -0
  178. package/theme-style/src/logo.scss +1 -1
  179. package/theme-style/src/md/table.scss +5 -0
  180. package/theme-style/src/md-container.scss +42 -2
  181. package/theme-style/src/menu.scss +3 -3
  182. package/theme-style/src/side-menu.scss +2 -2
  183. package/theme-style/src/tabs.scss +70 -70
  184. package/theme-style/vft-button.css +1 -1
  185. package/theme-style/vft-context-menu.css +1 -0
  186. package/theme-style/vft-footer-layout.css +1 -1
  187. package/theme-style/vft-header-layout.css +1 -1
  188. package/theme-style/vft-icon-text.css +1 -1
  189. package/theme-style/vft-logo.css +1 -1
  190. package/theme-style/vft-md-container.css +1 -1
  191. package/theme-style/vft-menu.css +1 -1
  192. package/theme-style/vft-multiple-tabs.css +1 -1
  193. package/theme-style/vft-side-menu.css +1 -1
  194. package/theme-style/vft-tabs.css +1 -1
  195. package/web-types.json +1 -0
@@ -21,6 +21,7 @@ import "../collapse-transition/index.js";
21
21
  import "../tooltip/index.js";
22
22
  import "../popover/index.js";
23
23
  import { VftMenu as J, VftSubMenu as K, VftMenuItem as b } from "../menu/index.js";
24
+ import "../context-menu/context-menu.vue2.js";
24
25
  import "../multiple-tabs/multiple-tabs.vue2.js";
25
26
  import "@vft/store";
26
27
  import { useRouter as L } from "vue-router";
@@ -76,7 +77,7 @@ const l = (
76
77
  D("side-menu")
77
78
  ), Q = k({
78
79
  name: l.b()
79
- }), he = /* @__PURE__ */ k({
80
+ }), ge = /* @__PURE__ */ k({
80
81
  ...Q,
81
82
  props: {
82
83
  menus: null,
@@ -248,5 +249,5 @@ const l = (
248
249
  }
249
250
  });
250
251
  export {
251
- he as default
252
+ ge as default
252
253
  };
@@ -35,7 +35,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
35
35
  required: false;
36
36
  };
37
37
  columns: {
38
- type: __PropType<import("vxe-table").VxeTableDefines.ColumnOptions[]>;
38
+ type: __PropType<import("vxe-table/types").VxeTableDefines.ColumnOptions[]>;
39
39
  required: true;
40
40
  };
41
41
  tableData: {
@@ -79,14 +79,14 @@ declare const _sfc_main: import("vue").DefineComponent<{
79
79
  required: true;
80
80
  };
81
81
  }, {
82
- table: import("vue").Ref<import("vxe-table").VxeGridInstance | undefined>;
82
+ table: import("vue").Ref<import("vxe-table/types").VxeGridInstance | undefined>;
83
83
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("page-change" | "sort-change" | "update:pageNum")[], "page-change" | "sort-change" | "update:pageNum", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
84
84
  maxHeight: {
85
85
  type: __PropType<number | undefined>;
86
86
  required: false;
87
87
  };
88
88
  columns: {
89
- type: __PropType<import("vxe-table").VxeTableDefines.ColumnOptions[]>;
89
+ type: __PropType<import("vxe-table/types").VxeTableDefines.ColumnOptions[]>;
90
90
  required: true;
91
91
  };
92
92
  tableData: {
@@ -1,8 +1,4 @@
1
1
  export declare const VftTabs: import("vft/es/utils").SFCWithInstall<import("vue").DefineComponent<{
2
- type: {
3
- type: import("vue").PropType<import("./types").TabsType | undefined>;
4
- required: false;
5
- };
6
2
  closable: {
7
3
  type: import("vue").PropType<boolean | undefined>;
8
4
  required: false;
@@ -31,6 +27,10 @@ export declare const VftTabs: import("vft/es/utils").SFCWithInstall<import("vue"
31
27
  type: import("vue").PropType<boolean | undefined>;
32
28
  required: false;
33
29
  };
30
+ showBar: {
31
+ type: import("vue").PropType<boolean | undefined>;
32
+ required: false;
33
+ };
34
34
  closeIconCfg: {
35
35
  type: import("vue").PropType<import("..").IconProps | undefined>;
36
36
  required: false;
@@ -92,10 +92,6 @@ export declare const VftTabs: import("vft/es/utils").SFCWithInstall<import("vue"
92
92
  tabRemove: (name: string | number) => boolean;
93
93
  tabAdd: () => true;
94
94
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
95
- type: {
96
- type: import("vue").PropType<import("./types").TabsType | undefined>;
97
- required: false;
98
- };
99
95
  closable: {
100
96
  type: import("vue").PropType<boolean | undefined>;
101
97
  required: false;
@@ -124,6 +120,10 @@ export declare const VftTabs: import("vft/es/utils").SFCWithInstall<import("vue"
124
120
  type: import("vue").PropType<boolean | undefined>;
125
121
  required: false;
126
122
  };
123
+ showBar: {
124
+ type: import("vue").PropType<boolean | undefined>;
125
+ required: false;
126
+ };
127
127
  closeIconCfg: {
128
128
  type: import("vue").PropType<import("..").IconProps | undefined>;
129
129
  required: false;
@@ -1,6 +1,5 @@
1
1
  import type { PropType as __PropType } from 'vue';
2
2
  import { type IconProps } from 'vft/es/components';
3
- import type { TabsType } from './types';
4
3
  declare const _sfc_main: import("vue").DefineComponent<{
5
4
  panes: {
6
5
  type: __PropType<{
@@ -31,11 +30,11 @@ declare const _sfc_main: import("vue").DefineComponent<{
31
30
  type: __PropType<boolean | undefined>;
32
31
  required: false;
33
32
  };
34
- type: {
35
- type: __PropType<TabsType | undefined>;
33
+ stretch: {
34
+ type: __PropType<boolean | undefined>;
36
35
  required: false;
37
36
  };
38
- stretch: {
37
+ showBar: {
39
38
  type: __PropType<boolean | undefined>;
40
39
  required: false;
41
40
  };
@@ -88,11 +87,11 @@ declare const _sfc_main: import("vue").DefineComponent<{
88
87
  type: __PropType<boolean | undefined>;
89
88
  required: false;
90
89
  };
91
- type: {
92
- type: __PropType<TabsType | undefined>;
90
+ stretch: {
91
+ type: __PropType<boolean | undefined>;
93
92
  required: false;
94
93
  };
95
- stretch: {
94
+ showBar: {
96
95
  type: __PropType<boolean | undefined>;
97
96
  required: false;
98
97
  };
@@ -1,11 +1,11 @@
1
1
  import { defineComponent as E, getCurrentInstance as Z, inject as _, ref as g, computed as I, watch as O, onMounted as tt, onUpdated as ot, createVNode as s, nextTick as et } from "vue";
2
- import { capitalize as y } from "@vft/utils";
2
+ import { capitalize as $ } from "@vft/utils";
3
3
  import { throwError as it } from "../../utils/error.js";
4
4
  import "lodash";
5
5
  import { useDocumentVisibility as nt, useWindowFocus as lt, useResizeObserver as at } from "@vueuse/core";
6
6
  import "../../utils/ns-cover.js";
7
7
  import "../divider/index.js";
8
- import { VftIcon as T } from "../icon/index.js";
8
+ import { VftIcon as B } from "../icon/index.js";
9
9
  import "../avatar/index.js";
10
10
  import "../empty/index.js";
11
11
  import "../result/index.js";
@@ -15,10 +15,11 @@ import "../collapse-transition/index.js";
15
15
  import "../tooltip/index.js";
16
16
  import "../popover/index.js";
17
17
  import "../menu/index.js";
18
- import "@vft/use";
18
+ import "../context-menu/context-menu.vue2.js";
19
19
  import "../multiple-tabs/multiple-tabs.vue2.js";
20
20
  import "@vft/router";
21
21
  import "@vft/store";
22
+ import "@vft/use";
22
23
  import "vue-router";
23
24
  import "../header-layout/index.js";
24
25
  import "../footer-layout/index.js";
@@ -72,7 +73,7 @@ import "@popperjs/core";
72
73
  import "../../hooks/use-z-index/index.js";
73
74
  import "@vue/reactivity";
74
75
  import "@vue/shared";
75
- import { EVENT_CODE as k } from "@vft/constants";
76
+ import { EVENT_CODE as T } from "@vft/constants";
76
77
  import { TabsRootContextKey as rt } from "./types.js";
77
78
  import st from "./tab-bar.vue2.js";
78
79
  const V = (
@@ -80,7 +81,7 @@ const V = (
80
81
  K("tab-nav")
81
82
  ), ct = E({
82
83
  name: V.b()
83
- }), No = /* @__PURE__ */ E({
84
+ }), Fo = /* @__PURE__ */ E({
84
85
  ...ct,
85
86
  props: {
86
87
  panes: null,
@@ -90,10 +91,13 @@ const V = (
90
91
  addable: {
91
92
  type: Boolean
92
93
  },
93
- type: null,
94
94
  stretch: {
95
95
  type: Boolean
96
96
  },
97
+ showBar: {
98
+ type: Boolean,
99
+ default: !1
100
+ },
97
101
  closeIconCfg: null,
98
102
  addIconCfg: null,
99
103
  arrowLeftIconCfg: null,
@@ -102,38 +106,38 @@ const V = (
102
106
  emits: ["tabClick", "tabRemove", "tabAdd", "tabContextmenu"],
103
107
  setup(n, {
104
108
  expose: D,
105
- emit: C
109
+ emit: h
106
110
  }) {
107
111
  var A;
108
112
  const M = Z(), d = _(rt);
109
113
  d || it(V.b(), "<vft-tabs><tab-nav /></vft-tabs>");
110
- const e = K("tabs"), q = nt(), H = lt(), $ = g(), v = g(), h = g(), m = g(!1), f = g(0), S = g(!1), x = g(!0), w = I(() => ["top", "bottom"].includes(d.props.tabPosition) ? "width" : "height"), W = I(() => ({
114
+ const e = K("tabs"), q = nt(), H = lt(), y = g(), v = g(), C = g(), m = g(!1), f = g(0), k = g(!1), x = g(!0), w = I(() => ["top", "bottom"].includes(d.props.tabPosition) ? "width" : "height"), W = I(() => ({
111
115
  transform: `translate${w.value === "width" ? "X" : "Y"}(-${f.value}px)`
112
116
  })), j = () => {
113
117
  if (!v.value)
114
118
  return;
115
- const o = v.value[`offset${y(w.value)}`], t = f.value;
119
+ const o = v.value[`offset${$(w.value)}`], t = f.value;
116
120
  t && (f.value = t > o ? t - o : 0);
117
121
  }, U = () => {
118
- if (!v.value || !h.value)
122
+ if (!v.value || !C.value)
119
123
  return;
120
- const o = h.value[`offset${y(w.value)}`], t = v.value[`offset${y(w.value)}`], i = f.value;
124
+ const o = C.value[`offset${$(w.value)}`], t = v.value[`offset${$(w.value)}`], i = f.value;
121
125
  o - i <= t || (f.value = o - i > t * 2 ? i + t : o - t);
122
126
  }, R = async () => {
123
- const o = h.value;
124
- if (!m.value || !$.value || !v.value || !o)
127
+ const o = C.value;
128
+ if (!m.value || !y.value || !v.value || !o)
125
129
  return;
126
130
  await et();
127
- const t = $.value.querySelector(".is-active");
131
+ const t = y.value.querySelector(".is-active");
128
132
  if (!t)
129
133
  return;
130
134
  const i = v.value, b = ["top", "bottom"].includes(d.props.tabPosition), r = t.getBoundingClientRect(), l = i.getBoundingClientRect(), u = b ? o.offsetWidth - l.width : o.offsetHeight - l.height, c = f.value;
131
135
  let a = c;
132
136
  b ? (r.left < l.left && (a = c - (l.left - r.left)), r.right > l.right && (a = c + r.right - l.right)) : (r.top < l.top && (a = c - (l.top - r.top)), r.bottom > l.bottom && (a = c + (r.bottom - l.bottom))), a = Math.max(a, 0), f.value = Math.min(a, u);
133
137
  }, z = () => {
134
- if (!h.value || !v.value)
138
+ if (!C.value || !v.value)
135
139
  return;
136
- const o = h.value[`offset${y(w.value)}`], t = v.value[`offset${y(w.value)}`], i = f.value;
140
+ const o = C.value[`offset${$(w.value)}`], t = v.value[`offset${$(w.value)}`], i = f.value;
137
141
  t < o ? (m.value = m.value || {}, m.value.prev = i, m.value.next = i + t < o, o - i < t && (f.value = o - t)) : (m.value = !1, i > 0 && (f.value = 0));
138
142
  }, X = (o) => {
139
143
  const t = o.code, {
@@ -141,22 +145,22 @@ const V = (
141
145
  down: b,
142
146
  left: r,
143
147
  right: l
144
- } = k;
148
+ } = T;
145
149
  if (![i, b, r, l].includes(t))
146
150
  return;
147
151
  const u = Array.from(o.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")), c = u.indexOf(o.target);
148
152
  let a;
149
153
  t === r || t === i ? c === 0 ? a = u.length - 1 : a = c - 1 : c < u.length - 1 ? a = c + 1 : a = 0, u[a].focus(), u[a].click(), P();
150
154
  }, P = () => {
151
- x.value && (S.value = !0);
152
- }, B = () => S.value = !1;
155
+ x.value && (k.value = !0);
156
+ }, S = () => k.value = !1;
153
157
  O(q, (o) => {
154
158
  o === "hidden" ? x.value = !1 : o === "visible" && setTimeout(() => x.value = !0, 50);
155
159
  }), O(H, (o) => {
156
160
  o ? setTimeout(() => x.value = !0, 50) : x.value = !1;
157
- }), at($, z), tt(() => setTimeout(() => R(), 0)), ot(() => z()), D({
161
+ }), at(y, z), tt(() => setTimeout(() => R(), 0)), ot(() => z()), D({
158
162
  scrollToActiveTab: R,
159
- removeFocus: B
163
+ removeFocus: S
160
164
  }), O(() => n.panes, () => M.update(), {
161
165
  flush: "post"
162
166
  });
@@ -165,10 +169,10 @@ const V = (
165
169
  return m.value ? [s("span", {
166
170
  class: [e.e("nav-prev"), e.is("disabled", !m.value.prev)],
167
171
  onClick: j
168
- }, [(o = n.arrowLeftIconCfg) != null && o.icon ? s(T, n.arrowLeftIconCfg, null) : null]), s("span", {
172
+ }, [(o = n.arrowLeftIconCfg) != null && o.icon ? s(B, n.arrowLeftIconCfg, null) : null]), s("span", {
169
173
  class: [e.e("nav-next"), e.is("disabled", !m.value.next)],
170
174
  onClick: U
171
- }, [(t = n.arrowRightIconCfg) != null && t.icon ? s(T, n.arrowRightIconCfg, null) : null])] : null;
175
+ }, [(t = n.arrowRightIconCfg) != null && t.icon ? s(B, n.arrowRightIconCfg, null) : null])] : null;
172
176
  }), G = I(() => {
173
177
  var o;
174
178
  return (o = n.panes) == null ? void 0 : o.map((t, i) => {
@@ -177,11 +181,11 @@ const V = (
177
181
  t.index = `${i}`;
178
182
  const c = u ? s("span", {
179
183
  class: "is-icon-close",
180
- onClick: (p) => C("tabRemove", t, p)
181
- }, [(N = n.closeIconCfg) != null && N.icon ? s(T, n.closeIconCfg, null) : null]) : null, a = ((L = (F = t.slots).label) == null ? void 0 : L.call(F)) || t.props.label, Q = !r && t.active ? 0 : -1;
184
+ onClick: (p) => h("tabRemove", t, p)
185
+ }, [(N = n.closeIconCfg) != null && N.icon ? s(B, n.closeIconCfg, null) : null]) : null, a = ((L = (F = t.slots).label) == null ? void 0 : L.call(F)) || t.props.label, Q = !r && t.active ? 0 : -1;
182
186
  return s("div", {
183
187
  ref: `tab-${b}`,
184
- class: [e.e("item"), e.is(d.props.tabPosition), e.is("active", t.active), e.is("disabled", r), e.is("closable", u), e.is("focus", S.value)],
188
+ class: [e.e("item"), e.is(d.props.tabPosition), e.is("active", t.active), e.is("disabled", r), e.is("closable", u), e.is("focus", k.value)],
185
189
  id: `tab-${l}`,
186
190
  key: `tab-${b}`,
187
191
  "aria-controls": `pane-${l}`,
@@ -189,47 +193,47 @@ const V = (
189
193
  "aria-selected": t.active,
190
194
  tabindex: Q,
191
195
  onFocus: () => P(),
192
- onBlur: () => B(),
196
+ onBlur: () => S(),
193
197
  onClick: (p) => {
194
- B(), C("tabClick", t, l, p);
198
+ S(), h("tabClick", t, l, p);
195
199
  },
196
200
  onContextmenu: (p) => {
197
- p.preventDefault(), C("tabContextmenu", {
201
+ p.preventDefault(), h("tabContextmenu", {
198
202
  pane: t,
199
203
  index: i,
200
204
  event: p
201
205
  });
202
206
  },
203
207
  onKeydown: (p) => {
204
- u && (p.code === k.delete || p.code === k.backspace) && C("tabRemove", t, p);
208
+ u && (p.code === T.delete || p.code === T.backspace) && h("tabRemove", t, p);
205
209
  }
206
210
  }, [a, c]);
207
211
  });
208
212
  }), J = n.editable || n.addable ? s("span", {
209
213
  class: e.e("new-tab"),
210
214
  tabindex: "0",
211
- onClick: () => C("tabAdd"),
215
+ onClick: () => h("tabAdd"),
212
216
  onKeydown: (o) => {
213
- o.code === k.enter && C("tabAdd");
217
+ o.code === T.enter && h("tabAdd");
214
218
  }
215
- }, [(A = n.addIconCfg) != null && A.icon ? s(T, n.addIconCfg, null) : null]) : null;
219
+ }, [(A = n.addIconCfg) != null && A.icon ? s(B, n.addIconCfg, null) : null]) : null;
216
220
  return () => s("div", {
217
- ref: $,
221
+ ref: y,
218
222
  class: [e.e("nav-wrap"), e.is("scrollable", !!m.value), e.is(d.props.tabPosition)]
219
223
  }, [Y.value, s("div", {
220
224
  class: e.e("nav-scroll"),
221
225
  ref: v
222
226
  }, [s("div", {
223
227
  class: [e.e("nav"), e.is(d.props.tabPosition), e.is("stretch", n.stretch && ["top", "bottom"].includes(d.props.tabPosition))],
224
- ref: h,
228
+ ref: C,
225
229
  style: W.value,
226
230
  role: "tablist",
227
231
  onKeydown: X
228
- }, [n.type ? null : s(st, {
232
+ }, [n.showBar ? s(st, {
229
233
  tabs: [...n.panes]
230
- }, null), G.value]), J])]);
234
+ }, null) : null, G.value]), J])]);
231
235
  }
232
236
  });
233
237
  export {
234
- No as default
238
+ Fo as default
235
239
  };
@@ -1,11 +1,7 @@
1
1
  import type { PropType as __PropType } from 'vue';
2
2
  import { type IconProps } from 'vft/es/components';
3
- import { type TabsPaneContext, type TabsType } from './types';
3
+ import { type TabsPaneContext } from './types';
4
4
  declare const _sfc_main: import("vue").DefineComponent<{
5
- type: {
6
- type: __PropType<TabsType | undefined>;
7
- required: false;
8
- };
9
5
  closable: {
10
6
  type: __PropType<boolean | undefined>;
11
7
  required: false;
@@ -34,6 +30,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
34
30
  type: __PropType<boolean | undefined>;
35
31
  required: false;
36
32
  };
33
+ showBar: {
34
+ type: __PropType<boolean | undefined>;
35
+ required: false;
36
+ };
37
37
  closeIconCfg: {
38
38
  type: __PropType<IconProps | undefined>;
39
39
  required: false;
@@ -65,10 +65,6 @@ declare const _sfc_main: import("vue").DefineComponent<{
65
65
  /** 增加 */
66
66
  tabAdd: () => true;
67
67
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
68
- type: {
69
- type: __PropType<TabsType | undefined>;
70
- required: false;
71
- };
72
68
  closable: {
73
69
  type: __PropType<boolean | undefined>;
74
70
  required: false;
@@ -97,6 +93,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
97
93
  type: __PropType<boolean | undefined>;
98
94
  required: false;
99
95
  };
96
+ showBar: {
97
+ type: __PropType<boolean | undefined>;
98
+ required: false;
99
+ };
100
100
  closeIconCfg: {
101
101
  type: __PropType<IconProps | undefined>;
102
102
  required: false;
@@ -1,4 +1,4 @@
1
- import { defineComponent as y, getCurrentInstance as g, useSlots as M, ref as h, watch as p, nextTick as D, computed as l, createVNode as s, provide as F } from "vue";
1
+ import { defineComponent as w, getCurrentInstance as g, useSlots as M, ref as h, watch as p, nextTick as D, computed as l, createVNode as s, provide as F } from "vue";
2
2
  import { useNamespace as O } from "../../hooks/use-namespace/index.js";
3
3
  import "@popperjs/core";
4
4
  import "lodash";
@@ -12,17 +12,15 @@ import "@vue/shared";
12
12
  import { UPDATE_MODEL_EVENT as $ } from "@vft/constants";
13
13
  import K from "./tab-nav.vue2.js";
14
14
  import { TabsRootContextKey as S } from "./types.js";
15
- const r = (
15
+ const d = (
16
16
  /* hoist-static*/
17
17
  O("tabs")
18
- ), j = y({
19
- name: r.b()
20
- }), re = /* @__PURE__ */ y({
18
+ ), j = w({
19
+ name: d.b()
20
+ }), re = /* @__PURE__ */ w({
21
21
  ...j,
22
22
  props: {
23
- type: {
24
- default: ""
25
- },
23
+ type: null,
26
24
  closable: {
27
25
  type: Boolean
28
26
  },
@@ -51,92 +49,92 @@ const r = (
51
49
  emits: {
52
50
  [$]: (t) => f(t),
53
51
  /** 点击 */
54
- tabClick: (t, d) => d instanceof Event,
52
+ tabClick: (t, c) => c instanceof Event,
55
53
  /** 右键点击 */
56
- tabContextMenu: (t, d, a) => a instanceof Event,
54
+ tabContextMenu: (t, c, n) => n instanceof Event,
57
55
  tabChange: (t) => f(t),
58
- edit: (t, d) => ["remove", "add"].includes(d),
56
+ edit: (t, c) => ["remove", "add"].includes(c),
59
57
  /** 移除 */
60
58
  tabRemove: (t) => f(t),
61
59
  /** 增加 */
62
60
  tabAdd: () => !0
63
61
  },
64
62
  setup(t, {
65
- expose: d,
66
- emit: a
63
+ expose: c,
64
+ emit: n
67
65
  }) {
68
- const w = g(), i = M(), u = h(), c = h(t.modelValue ?? "0"), T = (e) => {
69
- c.value = e, a("update:modelValue", e), a("tabChange", e);
66
+ const T = g(), i = M(), u = h(), r = h(t.modelValue ?? "0"), y = (e) => {
67
+ r.value = e, n("update:modelValue", e), n("tabChange", e);
70
68
  }, m = async (e) => {
71
- var n, o, v;
72
- if (!(c.value === e || I(e)))
69
+ var a, o, v;
70
+ if (!(r.value === e || I(e)))
73
71
  try {
74
- await ((n = t.beforeLeave) == null ? void 0 : n.call(t, e, c.value)) !== !1 && (T(e), (v = (o = u.value) == null ? void 0 : o.removeFocus) == null || v.call(o));
72
+ await ((a = t.beforeLeave) == null ? void 0 : a.call(t, e, r.value)) !== !1 && (y(e), (v = (o = u.value) == null ? void 0 : o.removeFocus) == null || v.call(o));
75
73
  } catch {
76
74
  }
77
- }, R = (e, n, o) => {
78
- e.props.disabled || (m(n), a("tabClick", e, o));
79
- }, L = (e, n) => {
80
- e.props.disabled || I(e.props.name) || (n.stopPropagation(), a("edit", e.props.name, "remove"), a("tabRemove", e.props.name));
75
+ }, R = (e, a, o) => {
76
+ e.props.disabled || (m(a), n("tabClick", e, o));
77
+ }, L = (e, a) => {
78
+ e.props.disabled || I(e.props.name) || (a.stopPropagation(), n("edit", e.props.name, "remove"), n("tabRemove", e.props.name));
81
79
  };
82
- p(() => t.modelValue, (e) => m(e)), p(c, async () => {
80
+ p(() => t.modelValue, (e) => m(e)), p(r, async () => {
83
81
  var e;
84
82
  await D(), (e = u.value) == null || e.scrollToActiveTab();
85
83
  });
86
84
  const N = () => {
87
- a("edit", void 0, "add"), a("tabAdd");
88
- }, x = (e, n, o) => {
89
- a("tabContextMenu", e, n, o);
85
+ n("edit", void 0, "add"), n("tabAdd");
86
+ }, x = (e, a, o) => {
87
+ n("tabContextMenu", e, a, o);
90
88
  }, b = l(() => {
91
89
  var e;
92
90
  return s("div", {
93
- class: r.e("content")
91
+ class: d.e("content")
94
92
  }, [(e = i.default) == null ? void 0 : e.call(i)]);
95
93
  }), {
96
94
  children: P,
97
95
  addChild: A,
98
- removeChild: E
96
+ removeChild: B
99
97
  } = U(g(), "vft-tab-pane");
100
98
  F(S, {
101
- props: w.props,
102
- currentName: c,
99
+ props: T.props,
100
+ currentName: r,
103
101
  registerPane: A,
104
- unregisterPane: E
105
- }), d({
106
- currentName: c
102
+ unregisterPane: B
103
+ }), c({
104
+ currentName: r
107
105
  });
108
- const V = l(() => ({
106
+ const E = l(() => ({
109
107
  icon: "ico-ep:plus",
110
108
  size: 12,
111
109
  ...t.addIconCfg
112
- })), k = l(() => ({
110
+ })), V = l(() => ({
113
111
  icon: "ico-ep:close",
114
112
  size: 14,
115
113
  ...t.closeIconCfg
116
- })), z = l(() => ({
114
+ })), k = l(() => ({
117
115
  icon: "ico-ep:arrow-left",
118
116
  size: 18,
119
117
  ...t.arrowLeftIconCfg
120
- })), B = l(() => ({
118
+ })), z = l(() => ({
121
119
  icon: "ico-ep:arrow-right",
122
120
  size: 18,
123
121
  ...t.arrowRightIconCfg
124
122
  })), C = l(() => {
125
123
  var e;
126
124
  return s("div", {
127
- class: [r.e("header"), r.is(t.tabPosition)]
125
+ class: [d.e("header"), d.is(t.tabPosition)]
128
126
  }, [s(K, {
129
127
  ref: u,
130
- currentName: c.value,
128
+ currentName: r.value,
131
129
  panes: P.value,
132
130
  stretch: t.stretch,
133
- closeIconCfg: k.value,
134
- addIconCfg: V.value,
135
- arrowRightIconCfg: B.value,
136
- arrowLeftIconCfg: z.value,
131
+ showBar: t.showBar,
132
+ closeIconCfg: V.value,
133
+ addIconCfg: E.value,
134
+ arrowRightIconCfg: z.value,
135
+ arrowLeftIconCfg: k.value,
137
136
  editable: t.editable,
138
137
  addable: t.addable,
139
- type: t.type,
140
138
  onTabClick: R,
141
139
  onTabRemove: L,
142
140
  onTabAdd: N,
@@ -144,10 +142,7 @@ const r = (
144
142
  }, null), (e = i.headerRight) == null ? void 0 : e.call(i)]);
145
143
  });
146
144
  return () => s("div", {
147
- class: [r.b(), r.m(t.tabPosition), {
148
- [r.m("card")]: t.type === "card",
149
- [r.m("border-card")]: t.type === "border-card"
150
- }]
145
+ class: [d.b(), d.m(t.tabPosition)]
151
146
  }, [...t.tabPosition !== "bottom" ? [C.value, b.value] : [b.value, C.value]]);
152
147
  }
153
148
  });
@@ -31,7 +31,7 @@ export declare const VftTag: import("vft/es/utils").SFCWithInstall<import("vue")
31
31
  type: import("vue").PropType<boolean | undefined>;
32
32
  required: false;
33
33
  };
34
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "click")[], "close" | "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
34
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "close")[], "click" | "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
35
35
  closable: {
36
36
  type: import("vue").PropType<boolean | undefined>;
37
37
  required: false;
@@ -65,7 +65,7 @@ export declare const VftTag: import("vft/es/utils").SFCWithInstall<import("vue")
65
65
  required: false;
66
66
  };
67
67
  }>> & {
68
- onClose?: ((...args: any[]) => any) | undefined;
69
68
  onClick?: ((...args: any[]) => any) | undefined;
69
+ onClose?: ((...args: any[]) => any) | undefined;
70
70
  }, {}>> & Record<string, any>;
71
71
  export default VftTag;
@@ -34,7 +34,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
34
34
  type: __PropType<boolean | undefined>;
35
35
  required: false;
36
36
  };
37
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "click")[], "close" | "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
37
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "close")[], "click" | "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
38
38
  closable: {
39
39
  type: __PropType<boolean | undefined>;
40
40
  required: false;
@@ -68,7 +68,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
68
68
  required: false;
69
69
  };
70
70
  }>> & {
71
- onClose?: ((...args: any[]) => any) | undefined;
72
71
  onClick?: ((...args: any[]) => any) | undefined;
72
+ onClose?: ((...args: any[]) => any) | undefined;
73
73
  }, {}>;
74
74
  export default _sfc_main;
@@ -1,7 +1,7 @@
1
1
  import Tooltip from './tooltip.vue';
2
2
  export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("vue").DefineComponent<{
3
3
  role: {
4
- type: import("vue").PropType<"grid" | "dialog" | "group" | "listbox" | "menu" | "navigation" | "tooltip" | "tree" | undefined>;
4
+ type: import("vue").PropType<"grid" | "dialog" | "menu" | "group" | "listbox" | "navigation" | "tooltip" | "tree" | undefined>;
5
5
  required: false;
6
6
  };
7
7
  showArrow: {
@@ -196,9 +196,9 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
196
196
  onOpen: (event?: Event | undefined) => void;
197
197
  onClose: (event?: Event | undefined) => void;
198
198
  hide: (event?: Event | undefined) => void;
199
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "open" | "before-show" | "before-hide" | "show" | "hide")[], "close" | "open" | "before-show" | "before-hide" | "show" | "hide", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
199
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "open" | "show" | "before-show" | "before-hide" | "hide")[], "close" | "open" | "show" | "before-show" | "before-hide" | "hide", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
200
200
  role: {
201
- type: import("vue").PropType<"grid" | "dialog" | "group" | "listbox" | "menu" | "navigation" | "tooltip" | "tree" | undefined>;
201
+ type: import("vue").PropType<"grid" | "dialog" | "menu" | "group" | "listbox" | "navigation" | "tooltip" | "tree" | undefined>;
202
202
  required: false;
203
203
  };
204
204
  showArrow: {
@@ -387,11 +387,11 @@ export declare const VftTooltip: import("vft/es/utils").SFCWithInstall<import("v
387
387
  };
388
388
  }>> & {
389
389
  onClose?: ((...args: any[]) => any) | undefined;
390
+ onShow?: ((...args: any[]) => any) | undefined;
391
+ onHide?: ((...args: any[]) => any) | undefined;
390
392
  onOpen?: ((...args: any[]) => any) | undefined;
391
393
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
392
394
  "onBefore-hide"?: ((...args: any[]) => any) | undefined;
393
- onShow?: ((...args: any[]) => any) | undefined;
394
- onHide?: ((...args: any[]) => any) | undefined;
395
395
  }, {}>> & Record<string, any>;
396
396
  export default VftTooltip;
397
397
  export type TooltipInstance = InstanceType<typeof Tooltip>;