naive-ui 2.30.4 → 2.30.7

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 (192) hide show
  1. package/README.zh-CN.md +2 -2
  2. package/dist/index.js +2321 -1375
  3. package/dist/index.prod.js +2 -2
  4. package/es/_internal/close/src/Close.js +1 -1
  5. package/es/_internal/scrollbar/src/Scrollbar.js +1 -2
  6. package/es/_internal/selection/src/Selection.js +5 -3
  7. package/es/_utils/dom/index.d.ts +1 -0
  8. package/es/_utils/dom/index.js +1 -0
  9. package/es/_utils/dom/is-document.d.ts +1 -0
  10. package/es/_utils/dom/is-document.js +3 -0
  11. package/es/_utils/index.d.ts +2 -1
  12. package/es/_utils/index.js +2 -1
  13. package/es/_utils/vue/index.d.ts +2 -0
  14. package/es/_utils/vue/index.js +2 -0
  15. package/es/_utils/vue/is-node-v-show-false.d.ts +2 -0
  16. package/es/_utils/vue/is-node-v-show-false.js +6 -0
  17. package/es/{_internal/scrollbar/src/Wrapper.d.ts → _utils/vue/wrapper.d.ts} +0 -0
  18. package/es/{_internal/scrollbar/src/Wrapper.js → _utils/vue/wrapper.js} +0 -0
  19. package/es/back-top/src/BackTop.d.ts +1 -1
  20. package/es/back-top/src/BackTop.js +24 -31
  21. package/es/button/src/styles/index.cssr.js +3 -0
  22. package/es/color-picker/src/ColorInputUnit.js +1 -1
  23. package/es/data-table/src/DataTable.d.ts +5 -2
  24. package/es/data-table/src/DataTable.js +3 -2
  25. package/es/data-table/src/TableParts/Body.d.ts +1 -0
  26. package/es/data-table/src/TableParts/Body.js +5 -7
  27. package/es/data-table/src/TableParts/Cell.d.ts +11 -1
  28. package/es/data-table/src/TableParts/Cell.js +19 -6
  29. package/es/data-table/src/interface.d.ts +5 -2
  30. package/es/data-table/src/styles/index.cssr.js +7 -2
  31. package/es/data-table/src/use-check.js +11 -3
  32. package/es/date-picker/src/DatePicker.d.ts +40 -0
  33. package/es/date-picker/src/DatePicker.js +15 -3
  34. package/es/date-picker/src/config.d.ts +1 -1
  35. package/es/date-picker/src/panel/date.d.ts +4 -0
  36. package/es/date-picker/src/panel/daterange.d.ts +7 -1
  37. package/es/date-picker/src/panel/datetime.d.ts +4 -0
  38. package/es/date-picker/src/panel/datetimerange.d.ts +7 -1
  39. package/es/date-picker/src/panel/month.d.ts +4 -0
  40. package/es/date-picker/src/panel/monthrange.d.ts +11 -5
  41. package/es/date-picker/src/panel/monthrange.js +13 -7
  42. package/es/date-picker/src/panel/panelHeader.d.ts +8 -0
  43. package/es/date-picker/src/panel/use-calendar.d.ts +4 -0
  44. package/es/date-picker/src/panel/use-dual-calendar.d.ts +9 -3
  45. package/es/date-picker/src/panel/use-dual-calendar.js +26 -6
  46. package/es/date-picker/src/panel/use-panel-common.d.ts +4 -0
  47. package/es/date-picker/src/utils.d.ts +1 -1
  48. package/es/date-picker/src/utils.js +2 -2
  49. package/es/date-picker/styles/_common.d.ts +4 -0
  50. package/es/date-picker/styles/_common.js +5 -1
  51. package/es/date-picker/styles/light.d.ts +8 -0
  52. package/es/drawer/src/DrawerBodyWrapper.js +1 -1
  53. package/es/grid/src/Grid.d.ts +3 -0
  54. package/es/grid/src/Grid.js +47 -9
  55. package/es/grid/src/GridItem.js +2 -1
  56. package/es/image/src/Image.d.ts +10 -0
  57. package/es/image/src/Image.js +42 -8
  58. package/es/image/src/utils.d.ts +11 -0
  59. package/es/image/src/utils.js +81 -0
  60. package/es/input/src/styles/input-group-label.cssr.js +2 -0
  61. package/es/locales/common/viVN.d.ts +3 -0
  62. package/es/locales/common/viVN.js +113 -0
  63. package/es/locales/date/viVN.d.ts +3 -0
  64. package/es/locales/date/viVN.js +6 -0
  65. package/es/locales/index.d.ts +2 -0
  66. package/es/locales/index.js +2 -0
  67. package/es/modal/src/BodyWrapper.d.ts +13 -18
  68. package/es/modal/src/BodyWrapper.js +38 -33
  69. package/es/modal/src/Modal.js +12 -7
  70. package/es/modal/src/styles/index.cssr.js +1 -0
  71. package/es/notification/src/Notification.d.ts +3 -0
  72. package/es/notification/src/Notification.js +5 -2
  73. package/es/notification/src/NotificationContainer.d.ts +3 -0
  74. package/es/notification/src/NotificationProvider.d.ts +27 -0
  75. package/es/notification/src/styles/index.cssr.js +6 -3
  76. package/es/notification/styles/_common.d.ts +3 -0
  77. package/es/notification/styles/_common.js +4 -1
  78. package/es/notification/styles/light.d.ts +6 -0
  79. package/es/select/index.d.ts +1 -1
  80. package/es/select/src/Select.d.ts +4 -4
  81. package/es/select/src/Select.js +10 -1
  82. package/es/select/src/interface.d.ts +1 -0
  83. package/es/space/src/Space.d.ts +26 -0
  84. package/es/space/src/Space.js +53 -43
  85. package/es/tabs/src/Tabs.js +1 -1
  86. package/es/tooltip/index.d.ts +1 -1
  87. package/es/tree/src/Tree.d.ts +4 -3
  88. package/es/tree/src/Tree.js +2 -1
  89. package/es/tree/src/TreeNode.d.ts +1 -1
  90. package/es/tree/src/interface.d.ts +1 -1
  91. package/es/tree-select/index.d.ts +1 -1
  92. package/es/tree-select/src/TreeSelect.d.ts +27 -5
  93. package/es/tree-select/src/TreeSelect.js +19 -3
  94. package/es/tree-select/src/interface.d.ts +17 -1
  95. package/es/version.d.ts +1 -1
  96. package/es/version.js +1 -1
  97. package/lib/_internal/close/src/Close.js +1 -1
  98. package/lib/_internal/scrollbar/src/Scrollbar.js +2 -3
  99. package/lib/_internal/selection/src/Selection.js +4 -2
  100. package/lib/_utils/dom/index.d.ts +1 -0
  101. package/lib/_utils/dom/index.js +5 -0
  102. package/lib/_utils/dom/is-document.d.ts +1 -0
  103. package/lib/_utils/dom/is-document.js +7 -0
  104. package/lib/_utils/index.d.ts +2 -1
  105. package/lib/_utils/index.js +4 -1
  106. package/lib/_utils/vue/index.d.ts +2 -0
  107. package/lib/_utils/vue/index.js +5 -1
  108. package/lib/_utils/vue/is-node-v-show-false.d.ts +2 -0
  109. package/lib/_utils/vue/is-node-v-show-false.js +10 -0
  110. package/lib/{_internal/scrollbar/src/Wrapper.d.ts → _utils/vue/wrapper.d.ts} +0 -0
  111. package/lib/{_internal/scrollbar/src/Wrapper.js → _utils/vue/wrapper.js} +0 -0
  112. package/lib/back-top/src/BackTop.d.ts +1 -1
  113. package/lib/back-top/src/BackTop.js +23 -30
  114. package/lib/button/src/styles/index.cssr.js +3 -0
  115. package/lib/color-picker/src/ColorInputUnit.js +1 -1
  116. package/lib/data-table/src/DataTable.d.ts +5 -2
  117. package/lib/data-table/src/DataTable.js +3 -2
  118. package/lib/data-table/src/TableParts/Body.d.ts +1 -0
  119. package/lib/data-table/src/TableParts/Body.js +5 -7
  120. package/lib/data-table/src/TableParts/Cell.d.ts +11 -1
  121. package/lib/data-table/src/TableParts/Cell.js +19 -6
  122. package/lib/data-table/src/interface.d.ts +5 -2
  123. package/lib/data-table/src/styles/index.cssr.js +7 -2
  124. package/lib/data-table/src/use-check.js +11 -3
  125. package/lib/date-picker/src/DatePicker.d.ts +40 -0
  126. package/lib/date-picker/src/DatePicker.js +15 -3
  127. package/lib/date-picker/src/config.d.ts +1 -1
  128. package/lib/date-picker/src/panel/date.d.ts +4 -0
  129. package/lib/date-picker/src/panel/daterange.d.ts +7 -1
  130. package/lib/date-picker/src/panel/datetime.d.ts +4 -0
  131. package/lib/date-picker/src/panel/datetimerange.d.ts +7 -1
  132. package/lib/date-picker/src/panel/month.d.ts +4 -0
  133. package/lib/date-picker/src/panel/monthrange.d.ts +11 -5
  134. package/lib/date-picker/src/panel/monthrange.js +13 -7
  135. package/lib/date-picker/src/panel/panelHeader.d.ts +8 -0
  136. package/lib/date-picker/src/panel/use-calendar.d.ts +4 -0
  137. package/lib/date-picker/src/panel/use-dual-calendar.d.ts +9 -3
  138. package/lib/date-picker/src/panel/use-dual-calendar.js +24 -4
  139. package/lib/date-picker/src/panel/use-panel-common.d.ts +4 -0
  140. package/lib/date-picker/src/utils.d.ts +1 -1
  141. package/lib/date-picker/src/utils.js +2 -2
  142. package/lib/date-picker/styles/_common.d.ts +4 -0
  143. package/lib/date-picker/styles/_common.js +5 -1
  144. package/lib/date-picker/styles/light.d.ts +8 -0
  145. package/lib/drawer/src/DrawerBodyWrapper.js +1 -1
  146. package/lib/grid/src/Grid.d.ts +3 -0
  147. package/lib/grid/src/Grid.js +45 -7
  148. package/lib/grid/src/GridItem.js +2 -1
  149. package/lib/image/src/Image.d.ts +10 -0
  150. package/lib/image/src/Image.js +41 -7
  151. package/lib/image/src/utils.d.ts +11 -0
  152. package/lib/image/src/utils.js +86 -0
  153. package/lib/input/src/styles/input-group-label.cssr.js +2 -0
  154. package/lib/locales/common/viVN.d.ts +3 -0
  155. package/lib/locales/common/viVN.js +115 -0
  156. package/lib/locales/date/viVN.d.ts +3 -0
  157. package/lib/locales/date/viVN.js +11 -0
  158. package/lib/locales/index.d.ts +2 -0
  159. package/lib/locales/index.js +5 -1
  160. package/lib/modal/src/BodyWrapper.d.ts +13 -18
  161. package/lib/modal/src/BodyWrapper.js +38 -33
  162. package/lib/modal/src/Modal.js +12 -7
  163. package/lib/modal/src/styles/index.cssr.js +1 -0
  164. package/lib/notification/src/Notification.d.ts +3 -0
  165. package/lib/notification/src/Notification.js +5 -2
  166. package/lib/notification/src/NotificationContainer.d.ts +3 -0
  167. package/lib/notification/src/NotificationProvider.d.ts +27 -0
  168. package/lib/notification/src/styles/index.cssr.js +6 -3
  169. package/lib/notification/styles/_common.d.ts +3 -0
  170. package/lib/notification/styles/_common.js +4 -1
  171. package/lib/notification/styles/light.d.ts +6 -0
  172. package/lib/select/index.d.ts +1 -1
  173. package/lib/select/src/Select.d.ts +4 -4
  174. package/lib/select/src/Select.js +10 -1
  175. package/lib/select/src/interface.d.ts +1 -0
  176. package/lib/space/src/Space.d.ts +26 -0
  177. package/lib/space/src/Space.js +53 -43
  178. package/lib/tabs/src/Tabs.js +1 -1
  179. package/lib/tooltip/index.d.ts +1 -1
  180. package/lib/tree/src/Tree.d.ts +4 -3
  181. package/lib/tree/src/Tree.js +2 -1
  182. package/lib/tree/src/TreeNode.d.ts +1 -1
  183. package/lib/tree/src/interface.d.ts +1 -1
  184. package/lib/tree-select/index.d.ts +1 -1
  185. package/lib/tree-select/src/TreeSelect.d.ts +27 -5
  186. package/lib/tree-select/src/TreeSelect.js +19 -3
  187. package/lib/tree-select/src/interface.d.ts +17 -1
  188. package/lib/version.d.ts +1 -1
  189. package/lib/version.js +1 -1
  190. package/package.json +2 -2
  191. package/volar.d.ts +0 -1
  192. package/web-types.json +100 -10
@@ -5,7 +5,7 @@ import { RenderLabel, RenderOption } from '../../_internal/select-menu/src/inter
5
5
  import { RenderTag } from '../../_internal/selection/src/interface';
6
6
  import type { FormValidationStatus } from '../../form/src/interface';
7
7
  import type { MaybeArray, ExtractPublicPropTypes } from '../../_utils';
8
- import type { SelectMixedOption, SelectOption, SelectGroupOption, SelectIgnoredOption, SelectFallbackOption, OnUpdateValue, Value, Size, ValueAtom, SelectBaseOption } from './interface';
8
+ import type { SelectMixedOption, SelectOption, SelectGroupOption, SelectIgnoredOption, SelectFallbackOption, OnUpdateValue, Value, Size, ValueAtom, SelectBaseOption, SelectFilter } from './interface';
9
9
  declare const selectProps: {
10
10
  readonly to: {
11
11
  type: PropType<string | boolean | HTMLElement>;
@@ -40,7 +40,7 @@ declare const selectProps: {
40
40
  };
41
41
  readonly remote: BooleanConstructor;
42
42
  readonly loading: BooleanConstructor;
43
- readonly filter: PropType<(pattern: string, option: SelectOption) => boolean>;
43
+ readonly filter: PropType<SelectFilter>;
44
44
  readonly placement: {
45
45
  readonly type: PropType<FollowerPlacement>;
46
46
  readonly default: "bottom-start";
@@ -527,7 +527,7 @@ declare const _default: import("vue").DefineComponent<{
527
527
  };
528
528
  readonly remote: BooleanConstructor;
529
529
  readonly loading: BooleanConstructor;
530
- readonly filter: PropType<(pattern: string, option: SelectOption) => boolean>;
530
+ readonly filter: PropType<SelectFilter>;
531
531
  readonly placement: {
532
532
  readonly type: PropType<FollowerPlacement>;
533
533
  readonly default: "bottom-start";
@@ -1350,7 +1350,7 @@ declare const _default: import("vue").DefineComponent<{
1350
1350
  };
1351
1351
  readonly remote: BooleanConstructor;
1352
1352
  readonly loading: BooleanConstructor;
1353
- readonly filter: PropType<(pattern: string, option: SelectOption) => boolean>;
1353
+ readonly filter: PropType<SelectFilter>;
1354
1354
  readonly placement: {
1355
1355
  readonly type: PropType<FollowerPlacement>;
1356
1356
  readonly default: "bottom-start";
@@ -137,6 +137,9 @@ exports.default = (0, vue_1.defineComponent)({
137
137
  return beingCreatedOptionsRef.value.concat(createdOptionsRef.value).concat(compitableOptionsRef.value);
138
138
  });
139
139
  const resolvedFilterRef = (0, vue_1.computed)(() => {
140
+ const { filter } = props;
141
+ if (filter)
142
+ return filter;
140
143
  const { labelField, valueField } = props;
141
144
  return (pattern, option) => {
142
145
  if (!option)
@@ -400,7 +403,13 @@ exports.default = (0, vue_1.defineComponent)({
400
403
  const { value: beingCreatedOptions } = beingCreatedOptionsRef;
401
404
  const beingCreatedOption = beingCreatedOptions[0] || null;
402
405
  if (beingCreatedOption) {
403
- createdOptionsRef.value.push(beingCreatedOption);
406
+ const createdOptions = createdOptionsRef.value;
407
+ if (!createdOptions.length) {
408
+ createdOptionsRef.value = [beingCreatedOption];
409
+ }
410
+ else {
411
+ createdOptions.push(beingCreatedOption);
412
+ }
404
413
  beingCreatedOptionsRef.value = emptyArray;
405
414
  }
406
415
  }
@@ -48,3 +48,4 @@ export interface SelectInst {
48
48
  }
49
49
  export declare type SelectFallbackOption = (value: string & number) => SelectOption;
50
50
  export declare type SelectFallbackOptionImpl = (value: string | number) => SelectOption;
51
+ export declare type SelectFilter = (pattern: string, option: SelectOption) => boolean;
@@ -14,11 +14,19 @@ declare const spaceProps: {
14
14
  readonly type: PropType<number | [number, number] | "small" | "medium" | "large">;
15
15
  readonly default: "medium";
16
16
  };
17
+ readonly wrapItem: {
18
+ readonly type: BooleanConstructor;
19
+ readonly default: true;
20
+ };
17
21
  readonly itemStyle: PropType<string | CSSProperties>;
18
22
  readonly wrap: {
19
23
  readonly type: BooleanConstructor;
20
24
  readonly default: true;
21
25
  };
26
+ readonly internalUseGap: {
27
+ readonly type: BooleanConstructor;
28
+ readonly default: undefined;
29
+ };
22
30
  readonly theme: PropType<import("../../_mixins").Theme<"Space", {
23
31
  gapSmall: string;
24
32
  gapMedium: string;
@@ -48,11 +56,19 @@ declare const _default: import("vue").DefineComponent<{
48
56
  readonly type: PropType<number | [number, number] | "small" | "medium" | "large">;
49
57
  readonly default: "medium";
50
58
  };
59
+ readonly wrapItem: {
60
+ readonly type: BooleanConstructor;
61
+ readonly default: true;
62
+ };
51
63
  readonly itemStyle: PropType<string | CSSProperties>;
52
64
  readonly wrap: {
53
65
  readonly type: BooleanConstructor;
54
66
  readonly default: true;
55
67
  };
68
+ readonly internalUseGap: {
69
+ readonly type: BooleanConstructor;
70
+ readonly default: undefined;
71
+ };
56
72
  readonly theme: PropType<import("../../_mixins").Theme<"Space", {
57
73
  gapSmall: string;
58
74
  gapMedium: string;
@@ -88,11 +104,19 @@ declare const _default: import("vue").DefineComponent<{
88
104
  readonly type: PropType<number | [number, number] | "small" | "medium" | "large">;
89
105
  readonly default: "medium";
90
106
  };
107
+ readonly wrapItem: {
108
+ readonly type: BooleanConstructor;
109
+ readonly default: true;
110
+ };
91
111
  readonly itemStyle: PropType<string | CSSProperties>;
92
112
  readonly wrap: {
93
113
  readonly type: BooleanConstructor;
94
114
  readonly default: true;
95
115
  };
116
+ readonly internalUseGap: {
117
+ readonly type: BooleanConstructor;
118
+ readonly default: undefined;
119
+ };
96
120
  readonly theme: PropType<import("../../_mixins").Theme<"Space", {
97
121
  gapSmall: string;
98
122
  gapMedium: string;
@@ -114,5 +138,7 @@ declare const _default: import("vue").DefineComponent<{
114
138
  readonly wrap: boolean;
115
139
  readonly vertical: boolean;
116
140
  readonly justify: Justify;
141
+ readonly wrapItem: boolean;
142
+ readonly internalUseGap: boolean;
117
143
  }>;
118
144
  export default _default;
@@ -16,9 +16,17 @@ const spaceProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), {
16
16
  }, inline: Boolean, vertical: Boolean, size: {
17
17
  type: [String, Number, Array],
18
18
  default: 'medium'
19
+ }, wrapItem: {
20
+ type: Boolean,
21
+ default: true
19
22
  }, itemStyle: [String, Object], wrap: {
20
23
  type: Boolean,
21
24
  default: true
25
+ },
26
+ // internal
27
+ internalUseGap: {
28
+ type: Boolean,
29
+ default: undefined
22
30
  } });
23
31
  exports.default = (0, vue_1.defineComponent)({
24
32
  name: 'Space',
@@ -55,7 +63,7 @@ exports.default = (0, vue_1.defineComponent)({
55
63
  };
56
64
  },
57
65
  render() {
58
- const { vertical, align, inline, justify, itemStyle, margin, wrap, mergedClsPrefix, rtlEnabled, useGap } = this;
66
+ const { vertical, align, inline, justify, itemStyle, margin, wrap, mergedClsPrefix, rtlEnabled, useGap, wrapItem, internalUseGap } = this;
59
67
  const children = (0, _utils_1.flatten)((0, _utils_1.getSlot)(this));
60
68
  if (!children.length)
61
69
  return null;
@@ -79,50 +87,52 @@ exports.default = (0, vue_1.defineComponent)({
79
87
  marginBottom: useGap || vertical ? '' : `-${semiVerticalMargin}`,
80
88
  alignItems: align,
81
89
  gap: useGap ? `${margin.vertical}px ${margin.horizontal}px` : ''
82
- } }, children.map((child, index) => ((0, vue_1.h)("div", { role: "none", style: [
83
- itemStyle,
84
- {
85
- maxWidth: '100%'
86
- },
87
- useGap
88
- ? ''
89
- : vertical
90
- ? {
91
- marginBottom: index !== lastIndex ? verticalMargin : ''
92
- }
93
- : rtlEnabled
90
+ } }, !wrapItem && (useGap || internalUseGap)
91
+ ? children
92
+ : children.map((child, index) => ((0, vue_1.h)("div", { role: "none", style: [
93
+ itemStyle,
94
+ {
95
+ maxWidth: '100%'
96
+ },
97
+ useGap
98
+ ? ''
99
+ : vertical
94
100
  ? {
95
- marginLeft: isJustifySpace
96
- ? justify === 'space-between' && index === lastIndex
97
- ? ''
98
- : semiHorizontalMargin
99
- : index !== lastIndex
100
- ? horizontalMargin
101
- : '',
102
- marginRight: isJustifySpace
103
- ? justify === 'space-between' && index === 0
104
- ? ''
105
- : semiHorizontalMargin
106
- : '',
107
- paddingTop: semiVerticalMargin,
108
- paddingBottom: semiVerticalMargin
101
+ marginBottom: index !== lastIndex ? verticalMargin : ''
109
102
  }
110
- : {
111
- marginRight: isJustifySpace
112
- ? justify === 'space-between' && index === lastIndex
113
- ? ''
114
- : semiHorizontalMargin
115
- : index !== lastIndex
116
- ? horizontalMargin
103
+ : rtlEnabled
104
+ ? {
105
+ marginLeft: isJustifySpace
106
+ ? justify === 'space-between' && index === lastIndex
107
+ ? ''
108
+ : semiHorizontalMargin
109
+ : index !== lastIndex
110
+ ? horizontalMargin
111
+ : '',
112
+ marginRight: isJustifySpace
113
+ ? justify === 'space-between' && index === 0
114
+ ? ''
115
+ : semiHorizontalMargin
117
116
  : '',
118
- marginLeft: isJustifySpace
119
- ? justify === 'space-between' && index === 0
120
- ? ''
121
- : semiHorizontalMargin
122
- : '',
123
- paddingTop: semiVerticalMargin,
124
- paddingBottom: semiVerticalMargin
125
- }
126
- ] }, child)))));
117
+ paddingTop: semiVerticalMargin,
118
+ paddingBottom: semiVerticalMargin
119
+ }
120
+ : {
121
+ marginRight: isJustifySpace
122
+ ? justify === 'space-between' && index === lastIndex
123
+ ? ''
124
+ : semiHorizontalMargin
125
+ : index !== lastIndex
126
+ ? horizontalMargin
127
+ : '',
128
+ marginLeft: isJustifySpace
129
+ ? justify === 'space-between' && index === 0
130
+ ? ''
131
+ : semiHorizontalMargin
132
+ : '',
133
+ paddingTop: semiVerticalMargin,
134
+ paddingBottom: semiVerticalMargin
135
+ }
136
+ ] }, child)))));
127
137
  }
128
138
  });
@@ -97,7 +97,7 @@ exports.default = (0, vue_1.defineComponent)({
97
97
  else {
98
98
  barEl.classList.remove(disabledClassName);
99
99
  }
100
- if (barWidth && tabEl.offsetWidth >= barWidth) {
100
+ if (typeof barWidth === 'number' && tabEl.offsetWidth >= barWidth) {
101
101
  const offsetDiffLeft = Math.floor((tabEl.offsetWidth - barWidth) / 2) + tabEl.offsetLeft;
102
102
  barEl.style.left = `${offsetDiffLeft}px`;
103
103
  barEl.style.maxWidth = `${barWidth}px`;
@@ -1,2 +1,2 @@
1
1
  export { default as NTooltip } from './src/Tooltip';
2
- export type { TooltipProps } from './src/Tooltip';
2
+ export type { TooltipProps, TooltipInst } from './src/Tooltip';
@@ -29,6 +29,7 @@ export declare const treeSharedProps: {
29
29
  readonly default: () => never[];
30
30
  };
31
31
  readonly indeterminateKeys: PropType<Key[]>;
32
+ readonly renderSwitcherIcon: PropType<RenderSwitcherIcon>;
32
33
  readonly onUpdateIndeterminateKeys: PropType<MaybeArray<OnUpdateKeys>>;
33
34
  readonly 'onUpdate:indeterminateKeys': PropType<MaybeArray<OnUpdateKeys>>;
34
35
  readonly onUpdateExpandedKeys: PropType<MaybeArray<OnUpdateKeys>>;
@@ -78,6 +79,7 @@ declare const treeProps: {
78
79
  readonly default: () => never[];
79
80
  };
80
81
  readonly indeterminateKeys: PropType<Key[]>;
82
+ readonly renderSwitcherIcon: PropType<RenderSwitcherIcon>;
81
83
  readonly onUpdateIndeterminateKeys: PropType<MaybeArray<OnUpdateKeys>>;
82
84
  readonly 'onUpdate:indeterminateKeys': PropType<MaybeArray<OnUpdateKeys>>;
83
85
  readonly onUpdateExpandedKeys: PropType<MaybeArray<OnUpdateKeys>>;
@@ -146,7 +148,6 @@ declare const treeProps: {
146
148
  readonly renderLabel: PropType<({ option, checked, selected }: import("./interface").TreeRenderProps) => VNodeChild>;
147
149
  readonly renderPrefix: PropType<({ option, checked, selected }: import("./interface").TreeRenderProps) => VNodeChild>;
148
150
  readonly renderSuffix: PropType<({ option, checked, selected }: import("./interface").TreeRenderProps) => VNodeChild>;
149
- readonly renderSwitcherIcon: PropType<RenderSwitcherIcon>;
150
151
  readonly nodeProps: PropType<TreeNodeProps>;
151
152
  readonly onDragenter: PropType<MaybeArray<(e: TreeDragInfo) => void>>;
152
153
  readonly onDragleave: PropType<MaybeArray<(e: TreeDragInfo) => void>>;
@@ -381,6 +382,7 @@ declare const _default: import("vue").DefineComponent<{
381
382
  readonly default: () => never[];
382
383
  };
383
384
  readonly indeterminateKeys: PropType<Key[]>;
385
+ readonly renderSwitcherIcon: PropType<RenderSwitcherIcon>;
384
386
  readonly onUpdateIndeterminateKeys: PropType<MaybeArray<OnUpdateKeys>>;
385
387
  readonly 'onUpdate:indeterminateKeys': PropType<MaybeArray<OnUpdateKeys>>;
386
388
  readonly onUpdateExpandedKeys: PropType<MaybeArray<OnUpdateKeys>>;
@@ -449,7 +451,6 @@ declare const _default: import("vue").DefineComponent<{
449
451
  readonly renderLabel: PropType<({ option, checked, selected }: import("./interface").TreeRenderProps) => VNodeChild>;
450
452
  readonly renderPrefix: PropType<({ option, checked, selected }: import("./interface").TreeRenderProps) => VNodeChild>;
451
453
  readonly renderSuffix: PropType<({ option, checked, selected }: import("./interface").TreeRenderProps) => VNodeChild>;
452
- readonly renderSwitcherIcon: PropType<RenderSwitcherIcon>;
453
454
  readonly nodeProps: PropType<TreeNodeProps>;
454
455
  readonly onDragenter: PropType<MaybeArray<(e: TreeDragInfo) => void>>;
455
456
  readonly onDragleave: PropType<MaybeArray<(e: TreeDragInfo) => void>>;
@@ -1156,6 +1157,7 @@ declare const _default: import("vue").DefineComponent<{
1156
1157
  readonly default: () => never[];
1157
1158
  };
1158
1159
  readonly indeterminateKeys: PropType<Key[]>;
1160
+ readonly renderSwitcherIcon: PropType<RenderSwitcherIcon>;
1159
1161
  readonly onUpdateIndeterminateKeys: PropType<MaybeArray<OnUpdateKeys>>;
1160
1162
  readonly 'onUpdate:indeterminateKeys': PropType<MaybeArray<OnUpdateKeys>>;
1161
1163
  readonly onUpdateExpandedKeys: PropType<MaybeArray<OnUpdateKeys>>;
@@ -1224,7 +1226,6 @@ declare const _default: import("vue").DefineComponent<{
1224
1226
  readonly renderLabel: PropType<({ option, checked, selected }: import("./interface").TreeRenderProps) => VNodeChild>;
1225
1227
  readonly renderPrefix: PropType<({ option, checked, selected }: import("./interface").TreeRenderProps) => VNodeChild>;
1226
1228
  readonly renderSuffix: PropType<({ option, checked, selected }: import("./interface").TreeRenderProps) => VNodeChild>;
1227
- readonly renderSwitcherIcon: PropType<RenderSwitcherIcon>;
1228
1229
  readonly nodeProps: PropType<TreeNodeProps>;
1229
1230
  readonly onDragenter: PropType<MaybeArray<(e: TreeDragInfo) => void>>;
1230
1231
  readonly onDragleave: PropType<MaybeArray<(e: TreeDragInfo) => void>>;
@@ -72,6 +72,7 @@ exports.treeSharedProps = {
72
72
  default: () => []
73
73
  },
74
74
  indeterminateKeys: Array,
75
+ renderSwitcherIcon: Function,
75
76
  onUpdateIndeterminateKeys: [Function, Array],
76
77
  'onUpdate:indeterminateKeys': [Function, Array],
77
78
  onUpdateExpandedKeys: [Function, Array],
@@ -110,7 +111,7 @@ const treeProps = Object.assign(Object.assign(Object.assign(Object.assign({}, _m
110
111
  }, checkboxPlacement: {
111
112
  type: String,
112
113
  default: 'left'
113
- }, virtualScroll: Boolean, watchProps: Array, renderLabel: Function, renderPrefix: Function, renderSuffix: Function, renderSwitcherIcon: Function, nodeProps: Function, onDragenter: [Function, Array], onDragleave: [Function, Array], onDragend: [Function, Array], onDragstart: [Function, Array], onDragover: [Function, Array], onDrop: [Function, Array], onUpdateCheckedKeys: [Function, Array], 'onUpdate:checkedKeys': [Function, Array], onUpdateSelectedKeys: [Function, Array], 'onUpdate:selectedKeys': [Function, Array] }), exports.treeSharedProps), {
114
+ }, virtualScroll: Boolean, watchProps: Array, renderLabel: Function, renderPrefix: Function, renderSuffix: Function, nodeProps: Function, onDragenter: [Function, Array], onDragleave: [Function, Array], onDragend: [Function, Array], onDragstart: [Function, Array], onDragover: [Function, Array], onDrop: [Function, Array], onUpdateCheckedKeys: [Function, Array], 'onUpdate:checkedKeys': [Function, Array], onUpdateSelectedKeys: [Function, Array], 'onUpdate:selectedKeys': [Function, Array] }), exports.treeSharedProps), {
114
115
  // internal props for tree-select
115
116
  internalTreeSelect: Boolean, internalScrollable: Boolean, internalScrollablePadding: String,
116
117
  // use it to display
@@ -27,7 +27,7 @@ declare const TreeNode: import("vue").DefineComponent<{
27
27
  internalScrollable: import("vue").Ref<boolean>;
28
28
  draggable: import("vue").Ref<boolean>;
29
29
  blockLine: import("vue").Ref<boolean>;
30
- nodeProps: import("vue").ComputedRef<import("vue").HTMLAttributes | undefined>;
30
+ nodeProps: import("vue").ComputedRef<(import("vue").HTMLAttributes & Record<string, unknown>) | undefined>;
31
31
  checkboxFocusable: import("vue").Ref<boolean>;
32
32
  droppingPosition: import("vue").Ref<import("./interface").DropPosition | null>;
33
33
  droppingOffsetLevel: import("vue").Ref<number>;
@@ -28,7 +28,7 @@ export declare type RenderPrefix = RenderTreePart;
28
28
  export declare type RenderSuffix = RenderTreePart;
29
29
  export declare type TreeNodeProps = (info: {
30
30
  option: TreeOption;
31
- }) => HTMLAttributes;
31
+ }) => HTMLAttributes & Record<string, unknown>;
32
32
  export interface TreeDragInfo {
33
33
  event: DragEvent;
34
34
  node: TreeOption;
@@ -1,3 +1,3 @@
1
1
  export { default as NTreeSelect } from './src/TreeSelect';
2
2
  export type { TreeSelectProps } from './src/TreeSelect';
3
- export type { TreeSelectOption } from './src/interface';
3
+ export type { TreeSelectOption, TreeSelectNodeProps, TreeSelectRenderLabel, TreeSelectRenderPrefix, TreeSelectRenderSuffix, TreeSelectRenderTag } from './src/interface';
@@ -1,13 +1,17 @@
1
- import { PropType, HTMLAttributes } from 'vue';
1
+ import { PropType, HTMLAttributes, VNodeChild } from 'vue';
2
2
  import { FollowerPlacement } from 'vueuc';
3
3
  import { CheckStrategy } from 'treemate';
4
4
  import type { FormValidationStatus } from '../../form/src/interface';
5
5
  import { Key } from '../../tree/src/interface';
6
- import type { SelectBaseOption } from '../../select/src/interface';
6
+ import type { SelectBaseOption, SelectOption } from '../../select/src/interface';
7
7
  import { ExtractPublicPropTypes, MaybeArray } from '../../_utils';
8
- import type { OnUpdateValue, TreeSelectOption, Value } from './interface';
8
+ import type { OnUpdateValue, TreeSelectNodeProps, TreeSelectOption, TreeSelectRenderTag, Value } from './interface';
9
9
  declare type OnLoad = (node: TreeSelectOption) => Promise<void>;
10
10
  declare const props: {
11
+ readonly renderLabel: PropType<import("./interface").TreeSelectRenderTreePart>;
12
+ readonly renderPrefix: PropType<import("./interface").TreeSelectRenderTreePart>;
13
+ readonly renderSuffix: PropType<import("./interface").TreeSelectRenderTreePart>;
14
+ readonly nodeProps: PropType<TreeSelectNodeProps>;
11
15
  readonly onBlur: PropType<(e: FocusEvent) => void>;
12
16
  readonly onFocus: PropType<(e: FocusEvent) => void>;
13
17
  readonly onLoad: PropType<OnLoad>;
@@ -40,6 +44,7 @@ declare const props: {
40
44
  readonly default: () => never[];
41
45
  };
42
46
  readonly indeterminateKeys: PropType<Key[]>;
47
+ readonly renderSwitcherIcon: PropType<import("../../tree/src/interface").RenderSwitcherIcon>;
43
48
  readonly onUpdateIndeterminateKeys: PropType<MaybeArray<import("../../tree/src/Tree").OnUpdateKeys>>;
44
49
  readonly 'onUpdate:indeterminateKeys': PropType<MaybeArray<import("../../tree/src/Tree").OnUpdateKeys>>;
45
50
  readonly onUpdateExpandedKeys: PropType<MaybeArray<import("../../tree/src/Tree").OnUpdateKeys>>;
@@ -106,6 +111,7 @@ declare const props: {
106
111
  readonly default: true;
107
112
  };
108
113
  readonly status: PropType<FormValidationStatus>;
114
+ readonly renderTag: PropType<TreeSelectRenderTag>;
109
115
  readonly theme: PropType<import("../../_mixins").Theme<"TreeSelect", {
110
116
  menuPadding: string;
111
117
  menuColor: string;
@@ -565,6 +571,10 @@ declare const props: {
565
571
  };
566
572
  export declare type TreeSelectProps = ExtractPublicPropTypes<typeof props>;
567
573
  declare const _default: import("vue").DefineComponent<{
574
+ readonly renderLabel: PropType<import("./interface").TreeSelectRenderTreePart>;
575
+ readonly renderPrefix: PropType<import("./interface").TreeSelectRenderTreePart>;
576
+ readonly renderSuffix: PropType<import("./interface").TreeSelectRenderTreePart>;
577
+ readonly nodeProps: PropType<TreeSelectNodeProps>;
568
578
  readonly onBlur: PropType<(e: FocusEvent) => void>;
569
579
  readonly onFocus: PropType<(e: FocusEvent) => void>;
570
580
  readonly onLoad: PropType<OnLoad>;
@@ -597,6 +607,7 @@ declare const _default: import("vue").DefineComponent<{
597
607
  readonly default: () => never[];
598
608
  };
599
609
  readonly indeterminateKeys: PropType<Key[]>;
610
+ readonly renderSwitcherIcon: PropType<import("../../tree/src/interface").RenderSwitcherIcon>;
600
611
  readonly onUpdateIndeterminateKeys: PropType<MaybeArray<import("../../tree/src/Tree").OnUpdateKeys>>;
601
612
  readonly 'onUpdate:indeterminateKeys': PropType<MaybeArray<import("../../tree/src/Tree").OnUpdateKeys>>;
602
613
  readonly onUpdateExpandedKeys: PropType<MaybeArray<import("../../tree/src/Tree").OnUpdateKeys>>;
@@ -663,6 +674,7 @@ declare const _default: import("vue").DefineComponent<{
663
674
  readonly default: true;
664
675
  };
665
676
  readonly status: PropType<FormValidationStatus>;
677
+ readonly renderTag: PropType<TreeSelectRenderTag>;
666
678
  readonly theme: PropType<import("../../_mixins").Theme<"TreeSelect", {
667
679
  menuPadding: string;
668
680
  menuColor: string;
@@ -1149,12 +1161,16 @@ declare const _default: import("vue").DefineComponent<{
1149
1161
  treeCheckedKeys: import("vue").ComputedRef<Key[]>;
1150
1162
  mergedSize: import("vue").ComputedRef<"small" | "medium" | "large">;
1151
1163
  mergedDisabled: import("vue").ComputedRef<boolean>;
1152
- selectedOption: import("vue").ComputedRef<SelectBaseOption<string | number, string | ((option: SelectBaseOption<string | number, string | any>, selected: boolean) => import("vue").VNodeChild)> | null>;
1153
- selectedOptions: import("vue").ComputedRef<SelectBaseOption<string | number, string | ((option: SelectBaseOption<string | number, string | any>, selected: boolean) => import("vue").VNodeChild)>[] | null>;
1164
+ selectedOption: import("vue").ComputedRef<SelectBaseOption<string | number, string | ((option: SelectBaseOption<string | number, string | any>, selected: boolean) => VNodeChild)> | null>;
1165
+ selectedOptions: import("vue").ComputedRef<SelectBaseOption<string | number, string | ((option: SelectBaseOption<string | number, string | any>, selected: boolean) => VNodeChild)>[] | null>;
1154
1166
  pattern: import("vue").Ref<string>;
1155
1167
  pendingNodeKey: import("vue").Ref<string | number | null>;
1156
1168
  mergedCascade: import("vue").ComputedRef<boolean>;
1157
1169
  mergedFilter: import("vue").ComputedRef<(pattern: string, node: import("../../tree").TreeOption) => boolean>;
1170
+ selectionRenderTag: import("vue").ComputedRef<(({ option, handleClose }: {
1171
+ option: SelectOption;
1172
+ handleClose: () => void;
1173
+ }) => VNodeChild) | undefined>;
1158
1174
  handleTriggerOrMenuResize: () => void;
1159
1175
  doUpdateExpandedKeys: (keys: Key[], option: Array<TreeSelectOption | null>) => void;
1160
1176
  handleMenuLeave: () => void;
@@ -1520,6 +1536,10 @@ declare const _default: import("vue").DefineComponent<{
1520
1536
  themeClass: import("vue").Ref<string> | undefined;
1521
1537
  onRender: (() => void) | undefined;
1522
1538
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
1539
+ readonly renderLabel: PropType<import("./interface").TreeSelectRenderTreePart>;
1540
+ readonly renderPrefix: PropType<import("./interface").TreeSelectRenderTreePart>;
1541
+ readonly renderSuffix: PropType<import("./interface").TreeSelectRenderTreePart>;
1542
+ readonly nodeProps: PropType<TreeSelectNodeProps>;
1523
1543
  readonly onBlur: PropType<(e: FocusEvent) => void>;
1524
1544
  readonly onFocus: PropType<(e: FocusEvent) => void>;
1525
1545
  readonly onLoad: PropType<OnLoad>;
@@ -1552,6 +1572,7 @@ declare const _default: import("vue").DefineComponent<{
1552
1572
  readonly default: () => never[];
1553
1573
  };
1554
1574
  readonly indeterminateKeys: PropType<Key[]>;
1575
+ readonly renderSwitcherIcon: PropType<import("../../tree/src/interface").RenderSwitcherIcon>;
1555
1576
  readonly onUpdateIndeterminateKeys: PropType<MaybeArray<import("../../tree/src/Tree").OnUpdateKeys>>;
1556
1577
  readonly 'onUpdate:indeterminateKeys': PropType<MaybeArray<import("../../tree/src/Tree").OnUpdateKeys>>;
1557
1578
  readonly onUpdateExpandedKeys: PropType<MaybeArray<import("../../tree/src/Tree").OnUpdateKeys>>;
@@ -1618,6 +1639,7 @@ declare const _default: import("vue").DefineComponent<{
1618
1639
  readonly default: true;
1619
1640
  };
1620
1641
  readonly status: PropType<FormValidationStatus>;
1642
+ readonly renderTag: PropType<TreeSelectRenderTag>;
1621
1643
  readonly theme: PropType<import("../../_mixins").Theme<"TreeSelect", {
1622
1644
  menuPadding: string;
1623
1645
  menuColor: string;
@@ -52,7 +52,7 @@ const props = Object.assign(Object.assign(Object.assign(Object.assign({}, _mixin
52
52
  }, size: String, value: [String, Number, Array], to: _utils_1.useAdjustedTo.propTo, menuProps: Object, virtualScroll: {
53
53
  type: Boolean,
54
54
  default: true
55
- }, status: String }), Tree_1.treeSharedProps), { onBlur: Function, onFocus: Function, onLoad: Function, onUpdateShow: [Function, Array], onUpdateValue: [Function, Array], 'onUpdate:value': [Function, Array], 'onUpdate:show': [Function, Array],
55
+ }, status: String, renderTag: Function }), Tree_1.treeSharedProps), { renderLabel: Function, renderPrefix: Function, renderSuffix: Function, nodeProps: Function, onBlur: Function, onFocus: Function, onLoad: Function, onUpdateShow: [Function, Array], onUpdateValue: [Function, Array], 'onUpdate:value': [Function, Array], 'onUpdate:show': [Function, Array],
56
56
  /**
57
57
  * @deprecated
58
58
  */
@@ -436,6 +436,21 @@ exports.default = (0, vue_1.defineComponent)({
436
436
  if (!(0, seemly_1.happensIn)(e, 'action'))
437
437
  e.preventDefault();
438
438
  }
439
+ const selectionRenderTagRef = (0, vue_1.computed)(() => {
440
+ const { renderTag } = props;
441
+ if (!renderTag)
442
+ return undefined;
443
+ return function selectionRenderTag({ option, handleClose }) {
444
+ const { value } = option;
445
+ if (value !== undefined) {
446
+ const treeOption = dataTreeMateRef.value.getNode(value);
447
+ if (treeOption) {
448
+ return renderTag({ option: treeOption.rawNode, handleClose });
449
+ }
450
+ }
451
+ return value;
452
+ };
453
+ });
439
454
  (0, vue_1.provide)(interface_1.treeSelectInjectionKey, {
440
455
  pendingNodeKeyRef,
441
456
  dataTreeMate: dataTreeMateRef
@@ -490,6 +505,7 @@ exports.default = (0, vue_1.defineComponent)({
490
505
  pendingNodeKey: pendingNodeKeyRef,
491
506
  mergedCascade: mergedCascadeRef,
492
507
  mergedFilter: mergedFilterRef,
508
+ selectionRenderTag: selectionRenderTagRef,
493
509
  handleTriggerOrMenuResize,
494
510
  doUpdateExpandedKeys,
495
511
  handleMenuLeave,
@@ -519,7 +535,7 @@ exports.default = (0, vue_1.defineComponent)({
519
535
  (0, vue_1.h)(vueuc_1.VBinder, null, {
520
536
  default: () => [
521
537
  (0, vue_1.h)(vueuc_1.VTarget, null, {
522
- default: () => ((0, vue_1.h)(_internal_1.NInternalSelection, { ref: "triggerInstRef", onResize: this.handleTriggerOrMenuResize, status: this.mergedStatus, focused: this.focused, clsPrefix: mergedClsPrefix, theme: mergedTheme.peers.InternalSelection, themeOverrides: mergedTheme.peerOverrides.InternalSelection, selectedOption: this.selectedOption, selectedOptions: this.selectedOptions, size: this.mergedSize, bordered: this.bordered, placeholder: this.mergedPlaceholder, disabled: this.mergedDisabled, active: this.mergedShow, loading: this.loading, multiple: this.multiple, maxTagCount: this.maxTagCount, showArrow: true, filterable: this.filterable, clearable: this.clearable, pattern: this.pattern, onPatternInput: this.handlePatternInput, onClear: this.handleClear, onClick: this.handleTriggerClick, onFocus: this.handleTriggerFocus, onBlur: this.handleTriggerBlur, onDeleteOption: this.handleDeleteOption, onKeydown: this.handleKeydown }, {
538
+ default: () => ((0, vue_1.h)(_internal_1.NInternalSelection, { ref: "triggerInstRef", onResize: this.handleTriggerOrMenuResize, status: this.mergedStatus, focused: this.focused, clsPrefix: mergedClsPrefix, theme: mergedTheme.peers.InternalSelection, themeOverrides: mergedTheme.peerOverrides.InternalSelection, renderTag: this.selectionRenderTag, selectedOption: this.selectedOption, selectedOptions: this.selectedOptions, size: this.mergedSize, bordered: this.bordered, placeholder: this.mergedPlaceholder, disabled: this.mergedDisabled, active: this.mergedShow, loading: this.loading, multiple: this.multiple, maxTagCount: this.maxTagCount, showArrow: true, filterable: this.filterable, clearable: this.clearable, pattern: this.pattern, onPatternInput: this.handlePatternInput, onClear: this.handleClear, onClick: this.handleTriggerClick, onFocus: this.handleTriggerFocus, onBlur: this.handleTriggerBlur, onDeleteOption: this.handleDeleteOption, onKeydown: this.handleKeydown }, {
523
539
  arrow: () => { var _a, _b; return [(_b = (_a = this.$slots).arrow) === null || _b === void 0 ? void 0 : _b.call(_a)]; }
524
540
  }))
525
541
  }),
@@ -539,7 +555,7 @@ exports.default = (0, vue_1.defineComponent)({
539
555
  (menuProps === null || menuProps === void 0 ? void 0 : menuProps.style) || '',
540
556
  this.cssVars
541
557
  ], tabindex: 0, onMousedown: this.handleMenuMousedown, onKeydown: this.handleKeydown, onFocusin: this.handleMenuFocusin, onFocusout: this.handleMenuFocusout }),
542
- (0, vue_1.h)(tree_1.NTree, { ref: "treeInstRef", blockLine: true, allowCheckingNotLoaded: this.allowCheckingNotLoaded, showIrrelevantNodes: false, animated: false, pattern: this.pattern, filter: this.mergedFilter, data: options, cancelable: multiple, labelField: this.labelField, keyField: this.keyField, childrenField: this.childrenField, theme: mergedTheme.peers.Tree, themeOverrides: mergedTheme.peerOverrides.Tree, defaultExpandAll: this.defaultExpandAll, defaultExpandedKeys: this.defaultExpandedKeys, expandedKeys: this.mergedExpandedKeys, checkedKeys: this.treeCheckedKeys, selectedKeys: this.treeSelectedKeys, checkable: checkable, checkStrategy: this.checkStrategy, cascade: this.mergedCascade, leafOnly: this.leafOnly, multiple: this.multiple, virtualScroll: this.consistentMenuWidth && this.virtualScroll, internalTreeSelect: true, internalUnifySelectCheck: true, internalScrollable: true, internalScrollablePadding: this.menuPadding, internalFocusable: false, internalCheckboxFocusable: false, internalRenderEmpty: () => ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-tree-select-menu__empty` }, (0, _utils_1.resolveSlot)($slots.empty, () => [
558
+ (0, vue_1.h)(tree_1.NTree, { ref: "treeInstRef", blockLine: true, allowCheckingNotLoaded: this.allowCheckingNotLoaded, showIrrelevantNodes: false, animated: false, pattern: this.pattern, filter: this.mergedFilter, data: options, cancelable: multiple, labelField: this.labelField, keyField: this.keyField, childrenField: this.childrenField, theme: mergedTheme.peers.Tree, themeOverrides: mergedTheme.peerOverrides.Tree, defaultExpandAll: this.defaultExpandAll, defaultExpandedKeys: this.defaultExpandedKeys, expandedKeys: this.mergedExpandedKeys, checkedKeys: this.treeCheckedKeys, selectedKeys: this.treeSelectedKeys, checkable: checkable, checkStrategy: this.checkStrategy, cascade: this.mergedCascade, leafOnly: this.leafOnly, multiple: this.multiple, renderLabel: this.renderLabel, renderPrefix: this.renderPrefix, renderSuffix: this.renderSuffix, renderSwitcherIcon: this.renderSwitcherIcon, nodeProps: this.nodeProps, virtualScroll: this.consistentMenuWidth && this.virtualScroll, internalTreeSelect: true, internalUnifySelectCheck: true, internalScrollable: true, internalScrollablePadding: this.menuPadding, internalFocusable: false, internalCheckboxFocusable: false, internalRenderEmpty: () => ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-tree-select-menu__empty` }, (0, _utils_1.resolveSlot)($slots.empty, () => [
543
559
  (0, vue_1.h)(empty_1.NEmpty, { theme: mergedTheme.peers.Empty, themeOverrides: mergedTheme.peerOverrides.Empty })
544
560
  ]))), onLoad: this.onLoad, onUpdateCheckedKeys: this.handleUpdateCheckedKeys, onUpdateIndeterminateKeys: this.handleUpdateIndeterminateKeys, onUpdateExpandedKeys: this.doUpdateExpandedKeys }),
545
561
  (0, _utils_1.resolveWrappedSlot)($slots.action, (children) => {
@@ -1,5 +1,5 @@
1
1
  import { TreeMate, TreeNode } from 'treemate';
2
- import { Ref } from 'vue';
2
+ import { HTMLAttributes, Ref, VNodeChild } from 'vue';
3
3
  import type { TreeOptionBase, TreeOption } from '../../tree/src/interface';
4
4
  export declare type TreeSelectOption = Omit<TreeOptionBase, 'checkboxDisabled' | 'isLeaf' | 'children'> & {
5
5
  children?: TreeSelectOption[];
@@ -14,3 +14,19 @@ export interface TreeSelectInjection {
14
14
  dataTreeMate: Ref<TreeMate<TreeOption>>;
15
15
  }
16
16
  export declare const treeSelectInjectionKey: import("vue").InjectionKey<TreeSelectInjection>;
17
+ export declare type TreeSelectRenderTag = (props: {
18
+ option: TreeSelectOption;
19
+ handleClose: () => void;
20
+ }) => VNodeChild;
21
+ export interface TreeSelectRenderProps {
22
+ option: TreeSelectOption;
23
+ checked: boolean;
24
+ selected: boolean;
25
+ }
26
+ export declare type TreeSelectRenderTreePart = ({ option, checked, selected }: TreeSelectRenderProps) => VNodeChild;
27
+ export declare type TreeSelectRenderLabel = TreeSelectRenderTreePart;
28
+ export declare type TreeSelectRenderPrefix = TreeSelectRenderTreePart;
29
+ export declare type TreeSelectRenderSuffix = TreeSelectRenderTreePart;
30
+ export declare type TreeSelectNodeProps = (info: {
31
+ option: TreeSelectOption;
32
+ }) => HTMLAttributes & Record<string, unknown>;
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: "2.30.4";
1
+ declare const _default: "2.30.7";
2
2
  export default _default;
package/lib/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = '2.30.4';
3
+ exports.default = '2.30.7';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "naive-ui",
3
- "version": "2.30.4",
3
+ "version": "2.30.7",
4
4
  "description": "A Vue 3 Component Library. Fairly Complete, Theme Customizable, Uses TypeScript, Fast",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -128,7 +128,7 @@
128
128
  "treemate": "^0.3.11",
129
129
  "vdirs": "^0.1.8",
130
130
  "vooks": "^0.2.12",
131
- "vueuc": "^0.4.44"
131
+ "vueuc": "^0.4.45"
132
132
  },
133
133
  "sideEffects": false,
134
134
  "homepage": "https://www.naiveui.com",
package/volar.d.ts CHANGED
@@ -139,7 +139,6 @@ declare module 'vue' {
139
139
  NUploadFileList: typeof import('naive-ui')['NUploadFileList']
140
140
  NUploadTrigger: typeof import('naive-ui')['NUploadTrigger']
141
141
  NWatermark: typeof import('naive-ui')['NWatermark']
142
- [key: string]: any
143
142
  }
144
143
  }
145
144
  export {}