naive-ui 2.30.4 → 2.30.5

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 (75) hide show
  1. package/dist/index.js +293 -75
  2. package/dist/index.prod.js +2 -2
  3. package/es/_internal/scrollbar/src/Scrollbar.js +1 -2
  4. package/es/_internal/selection/src/Selection.js +5 -3
  5. package/es/_utils/dom/index.d.ts +1 -0
  6. package/es/_utils/dom/index.js +1 -0
  7. package/es/_utils/dom/is-document.d.ts +1 -0
  8. package/es/_utils/dom/is-document.js +3 -0
  9. package/es/_utils/index.d.ts +2 -1
  10. package/es/_utils/index.js +2 -1
  11. package/es/_utils/vue/index.d.ts +2 -0
  12. package/es/_utils/vue/index.js +2 -0
  13. package/es/_utils/vue/is-node-v-show-false.d.ts +2 -0
  14. package/es/_utils/vue/is-node-v-show-false.js +6 -0
  15. package/es/{_internal/scrollbar/src/Wrapper.d.ts → _utils/vue/wrapper.d.ts} +0 -0
  16. package/es/{_internal/scrollbar/src/Wrapper.js → _utils/vue/wrapper.js} +0 -0
  17. package/es/back-top/src/BackTop.d.ts +1 -1
  18. package/es/back-top/src/BackTop.js +24 -31
  19. package/es/data-table/src/DataTable.d.ts +5 -2
  20. package/es/data-table/src/DataTable.js +3 -2
  21. package/es/data-table/src/TableParts/Body.d.ts +1 -0
  22. package/es/data-table/src/TableParts/Body.js +4 -3
  23. package/es/data-table/src/TableParts/Cell.d.ts +3 -1
  24. package/es/data-table/src/TableParts/Cell.js +7 -3
  25. package/es/data-table/src/interface.d.ts +2 -1
  26. package/es/data-table/src/use-check.js +11 -3
  27. package/es/grid/src/Grid.js +28 -8
  28. package/es/image/src/Image.d.ts +10 -0
  29. package/es/image/src/Image.js +40 -8
  30. package/es/image/src/utils.d.ts +11 -0
  31. package/es/image/src/utils.js +81 -0
  32. package/es/input/src/styles/input-group-label.cssr.js +2 -0
  33. package/es/space/src/Space.d.ts +26 -0
  34. package/es/space/src/Space.js +53 -43
  35. package/es/tooltip/index.d.ts +1 -1
  36. package/es/version.d.ts +1 -1
  37. package/es/version.js +1 -1
  38. package/lib/_internal/scrollbar/src/Scrollbar.js +2 -3
  39. package/lib/_internal/selection/src/Selection.js +4 -2
  40. package/lib/_utils/dom/index.d.ts +1 -0
  41. package/lib/_utils/dom/index.js +5 -0
  42. package/lib/_utils/dom/is-document.d.ts +1 -0
  43. package/lib/_utils/dom/is-document.js +7 -0
  44. package/lib/_utils/index.d.ts +2 -1
  45. package/lib/_utils/index.js +4 -1
  46. package/lib/_utils/vue/index.d.ts +2 -0
  47. package/lib/_utils/vue/index.js +5 -1
  48. package/lib/_utils/vue/is-node-v-show-false.d.ts +2 -0
  49. package/lib/_utils/vue/is-node-v-show-false.js +10 -0
  50. package/lib/{_internal/scrollbar/src/Wrapper.d.ts → _utils/vue/wrapper.d.ts} +0 -0
  51. package/lib/{_internal/scrollbar/src/Wrapper.js → _utils/vue/wrapper.js} +0 -0
  52. package/lib/back-top/src/BackTop.d.ts +1 -1
  53. package/lib/back-top/src/BackTop.js +23 -30
  54. package/lib/data-table/src/DataTable.d.ts +5 -2
  55. package/lib/data-table/src/DataTable.js +3 -2
  56. package/lib/data-table/src/TableParts/Body.d.ts +1 -0
  57. package/lib/data-table/src/TableParts/Body.js +4 -3
  58. package/lib/data-table/src/TableParts/Cell.d.ts +3 -1
  59. package/lib/data-table/src/TableParts/Cell.js +7 -3
  60. package/lib/data-table/src/interface.d.ts +2 -1
  61. package/lib/data-table/src/use-check.js +11 -3
  62. package/lib/grid/src/Grid.js +26 -6
  63. package/lib/image/src/Image.d.ts +10 -0
  64. package/lib/image/src/Image.js +39 -7
  65. package/lib/image/src/utils.d.ts +11 -0
  66. package/lib/image/src/utils.js +86 -0
  67. package/lib/input/src/styles/input-group-label.cssr.js +2 -0
  68. package/lib/space/src/Space.d.ts +26 -0
  69. package/lib/space/src/Space.js +53 -43
  70. package/lib/tooltip/index.d.ts +1 -1
  71. package/lib/version.d.ts +1 -1
  72. package/lib/version.js +1 -1
  73. package/package.json +1 -1
  74. package/volar.d.ts +0 -1
  75. package/web-types.json +37 -1
@@ -0,0 +1,81 @@
1
+ export const resolveOptionsAndHash = (options = {}) => {
2
+ var _a;
3
+ const { root = null } = options;
4
+ return {
5
+ hash: `${options.rootMargin || '0px 0px 0px 0px'}-${Array.isArray(options.threshold)
6
+ ? options.threshold.join(',')
7
+ : (_a = options.threshold) !== null && _a !== void 0 ? _a : '0'}`,
8
+ options: Object.assign(Object.assign({}, options), { root: (typeof root === 'string' ? document.querySelector(root) : root) ||
9
+ document.documentElement })
10
+ };
11
+ };
12
+ // root -> options -> [observer, elements]
13
+ const observers = new WeakMap();
14
+ const unobserveHandleMap = new WeakMap();
15
+ const shouldStartLoadingRefMap = new WeakMap();
16
+ export const observeIntersection = (el, options, shouldStartLoadingRef) => {
17
+ if (!el)
18
+ return () => { };
19
+ const resolvedOptionsAndHash = resolveOptionsAndHash(options);
20
+ const { root } = resolvedOptionsAndHash.options;
21
+ let rootObservers;
22
+ const _rootObservers = observers.get(root);
23
+ if (_rootObservers) {
24
+ rootObservers = _rootObservers;
25
+ }
26
+ else {
27
+ rootObservers = new Map();
28
+ observers.set(root, rootObservers);
29
+ }
30
+ let observer;
31
+ let observerAndObservedElements;
32
+ if (rootObservers.has(resolvedOptionsAndHash.hash)) {
33
+ observerAndObservedElements =
34
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
35
+ rootObservers.get(resolvedOptionsAndHash.hash);
36
+ if (!observerAndObservedElements[1].has(el)) {
37
+ observer = observerAndObservedElements[0];
38
+ observerAndObservedElements[1].add(el);
39
+ observer.observe(el);
40
+ }
41
+ }
42
+ else {
43
+ observer = new IntersectionObserver((entries) => {
44
+ entries.forEach((entry) => {
45
+ if (entry.isIntersecting) {
46
+ const _unobserve = unobserveHandleMap.get(entry.target);
47
+ const _shouldStartLoadingRef = shouldStartLoadingRefMap.get(entry.target);
48
+ if (_unobserve)
49
+ _unobserve();
50
+ if (_shouldStartLoadingRef) {
51
+ _shouldStartLoadingRef.value = true;
52
+ }
53
+ }
54
+ });
55
+ }, resolvedOptionsAndHash.options);
56
+ observer.observe(el);
57
+ observerAndObservedElements = [observer, new Set([el])];
58
+ rootObservers.set(resolvedOptionsAndHash.hash, observerAndObservedElements);
59
+ }
60
+ let unobservered = false;
61
+ const unobserve = () => {
62
+ if (unobservered)
63
+ return;
64
+ unobserveHandleMap.delete(el);
65
+ shouldStartLoadingRefMap.delete(el);
66
+ unobservered = true;
67
+ if (observerAndObservedElements[1].has(el)) {
68
+ observerAndObservedElements[0].unobserve(el);
69
+ observerAndObservedElements[1].delete(el);
70
+ }
71
+ if (observerAndObservedElements[1].size <= 0) {
72
+ rootObservers.delete(resolvedOptionsAndHash.hash);
73
+ }
74
+ if (!rootObservers.size) {
75
+ observers.delete(root);
76
+ }
77
+ };
78
+ unobserveHandleMap.set(el, unobserve);
79
+ shouldStartLoadingRefMap.set(el, shouldStartLoadingRef);
80
+ return unobserve;
81
+ };
@@ -19,6 +19,8 @@ export default cB('input-group-label', `
19
19
  font-size: var(--n-font-size);
20
20
  line-height: var(--n-height);
21
21
  height: var(--n-height);
22
+ flex-shrink: 0;
23
+ white-space: nowrap;
22
24
  transition:
23
25
  color .3s var(--n-bezier),
24
26
  background-color .3s var(--n-bezier),
@@ -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;
@@ -11,9 +11,17 @@ const spaceProps = Object.assign(Object.assign({}, useTheme.props), { align: Str
11
11
  }, inline: Boolean, vertical: Boolean, size: {
12
12
  type: [String, Number, Array],
13
13
  default: 'medium'
14
+ }, wrapItem: {
15
+ type: Boolean,
16
+ default: true
14
17
  }, itemStyle: [String, Object], wrap: {
15
18
  type: Boolean,
16
19
  default: true
20
+ },
21
+ // internal
22
+ internalUseGap: {
23
+ type: Boolean,
24
+ default: undefined
17
25
  } });
18
26
  export default defineComponent({
19
27
  name: 'Space',
@@ -50,7 +58,7 @@ export default defineComponent({
50
58
  };
51
59
  },
52
60
  render() {
53
- const { vertical, align, inline, justify, itemStyle, margin, wrap, mergedClsPrefix, rtlEnabled, useGap } = this;
61
+ const { vertical, align, inline, justify, itemStyle, margin, wrap, mergedClsPrefix, rtlEnabled, useGap, wrapItem, internalUseGap } = this;
54
62
  const children = flatten(getSlot(this));
55
63
  if (!children.length)
56
64
  return null;
@@ -74,50 +82,52 @@ export default defineComponent({
74
82
  marginBottom: useGap || vertical ? '' : `-${semiVerticalMargin}`,
75
83
  alignItems: align,
76
84
  gap: useGap ? `${margin.vertical}px ${margin.horizontal}px` : ''
77
- } }, children.map((child, index) => (h("div", { role: "none", style: [
78
- itemStyle,
79
- {
80
- maxWidth: '100%'
81
- },
82
- useGap
83
- ? ''
84
- : vertical
85
- ? {
86
- marginBottom: index !== lastIndex ? verticalMargin : ''
87
- }
88
- : rtlEnabled
85
+ } }, !wrapItem && (useGap || internalUseGap)
86
+ ? children
87
+ : children.map((child, index) => (h("div", { role: "none", style: [
88
+ itemStyle,
89
+ {
90
+ maxWidth: '100%'
91
+ },
92
+ useGap
93
+ ? ''
94
+ : vertical
89
95
  ? {
90
- marginLeft: isJustifySpace
91
- ? justify === 'space-between' && index === lastIndex
92
- ? ''
93
- : semiHorizontalMargin
94
- : index !== lastIndex
95
- ? horizontalMargin
96
- : '',
97
- marginRight: isJustifySpace
98
- ? justify === 'space-between' && index === 0
99
- ? ''
100
- : semiHorizontalMargin
101
- : '',
102
- paddingTop: semiVerticalMargin,
103
- paddingBottom: semiVerticalMargin
96
+ marginBottom: index !== lastIndex ? verticalMargin : ''
104
97
  }
105
- : {
106
- marginRight: isJustifySpace
107
- ? justify === 'space-between' && index === lastIndex
108
- ? ''
109
- : semiHorizontalMargin
110
- : index !== lastIndex
111
- ? horizontalMargin
98
+ : rtlEnabled
99
+ ? {
100
+ marginLeft: isJustifySpace
101
+ ? justify === 'space-between' && index === lastIndex
102
+ ? ''
103
+ : semiHorizontalMargin
104
+ : index !== lastIndex
105
+ ? horizontalMargin
106
+ : '',
107
+ marginRight: isJustifySpace
108
+ ? justify === 'space-between' && index === 0
109
+ ? ''
110
+ : semiHorizontalMargin
112
111
  : '',
113
- marginLeft: isJustifySpace
114
- ? justify === 'space-between' && index === 0
115
- ? ''
116
- : semiHorizontalMargin
117
- : '',
118
- paddingTop: semiVerticalMargin,
119
- paddingBottom: semiVerticalMargin
120
- }
121
- ] }, child)))));
112
+ paddingTop: semiVerticalMargin,
113
+ paddingBottom: semiVerticalMargin
114
+ }
115
+ : {
116
+ marginRight: isJustifySpace
117
+ ? justify === 'space-between' && index === lastIndex
118
+ ? ''
119
+ : semiHorizontalMargin
120
+ : index !== lastIndex
121
+ ? horizontalMargin
122
+ : '',
123
+ marginLeft: isJustifySpace
124
+ ? justify === 'space-between' && index === 0
125
+ ? ''
126
+ : semiHorizontalMargin
127
+ : '',
128
+ paddingTop: semiVerticalMargin,
129
+ paddingBottom: semiVerticalMargin
130
+ }
131
+ ] }, child)))));
122
132
  }
123
133
  });
@@ -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';
package/es/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: "2.30.4";
1
+ declare const _default: "2.30.5";
2
2
  export default _default;
package/es/version.js CHANGED
@@ -1 +1 @@
1
- export default '2.30.4';
1
+ export default '2.30.5';
@@ -11,7 +11,6 @@ const vooks_1 = require("vooks");
11
11
  const _mixins_1 = require("../../../_mixins");
12
12
  const _utils_1 = require("../../../_utils");
13
13
  const styles_1 = require("../styles");
14
- const Wrapper_1 = require("./Wrapper");
15
14
  const index_cssr_1 = __importDefault(require("./styles/index.cssr"));
16
15
  const scrollbarProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), { size: {
17
16
  type: Number,
@@ -576,13 +575,13 @@ const Scrollbar = (0, vue_1.defineComponent)({
576
575
  this.contentClass
577
576
  ] }, $slots))
578
577
  }))),
579
- (0, vue_1.h)("div", { ref: "yRailRef", class: `${mergedClsPrefix}-scrollbar-rail ${mergedClsPrefix}-scrollbar-rail--vertical`, style: this.verticalRailStyle, "aria-hidden": true }, (0, vue_1.h)((triggerIsNone ? Wrapper_1.Wrapper : vue_1.Transition), triggerIsNone ? null : { name: 'fade-in-transition' }, {
578
+ (0, vue_1.h)("div", { ref: "yRailRef", class: `${mergedClsPrefix}-scrollbar-rail ${mergedClsPrefix}-scrollbar-rail--vertical`, style: this.verticalRailStyle, "aria-hidden": true }, (0, vue_1.h)((triggerIsNone ? _utils_1.Wrapper : vue_1.Transition), triggerIsNone ? null : { name: 'fade-in-transition' }, {
580
579
  default: () => this.needYBar && this.isShowYBar && !this.isIos ? ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-scrollbar-rail__scrollbar`, style: {
581
580
  height: this.yBarSizePx,
582
581
  top: this.yBarTopPx
583
582
  }, onMousedown: this.handleYScrollMouseDown })) : null
584
583
  })),
585
- (0, vue_1.h)("div", { ref: "xRailRef", class: `${mergedClsPrefix}-scrollbar-rail ${mergedClsPrefix}-scrollbar-rail--horizontal`, style: this.horizontalRailStyle, "aria-hidden": true }, (0, vue_1.h)((triggerIsNone ? Wrapper_1.Wrapper : vue_1.Transition), triggerIsNone ? null : { name: 'fade-in-transition' }, {
584
+ (0, vue_1.h)("div", { ref: "xRailRef", class: `${mergedClsPrefix}-scrollbar-rail ${mergedClsPrefix}-scrollbar-rail--horizontal`, style: this.horizontalRailStyle, "aria-hidden": true }, (0, vue_1.h)((triggerIsNone ? _utils_1.Wrapper : vue_1.Transition), triggerIsNone ? null : { name: 'fade-in-transition' }, {
586
585
  default: () => this.needXBar && this.isShowXBar && !this.isIos ? ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-scrollbar-rail__scrollbar`, style: {
587
586
  width: this.xBarSizePx,
588
587
  left: this.xBarLeftPx
@@ -431,8 +431,10 @@ exports.default = (0, vue_1.defineComponent)({
431
431
  const maxTagCountResponsive = maxTagCount === 'responsive';
432
432
  const maxTagCountNumeric = typeof maxTagCount === 'number';
433
433
  const useMaxTagCount = maxTagCountResponsive || maxTagCountNumeric;
434
- const suffix = ((0, vue_1.h)(suffix_1.default, { clsPrefix: clsPrefix, loading: this.loading, showArrow: this.showArrow, showClear: this.mergedClearable && this.selected, onClear: this.handleClear }, {
435
- default: () => { var _a, _b; return (_b = (_a = this.$slots).arrow) === null || _b === void 0 ? void 0 : _b.call(_a); }
434
+ const suffix = ((0, vue_1.h)(_utils_1.Wrapper, null, {
435
+ default: () => ((0, vue_1.h)(suffix_1.default, { clsPrefix: clsPrefix, loading: this.loading, showArrow: this.showArrow, showClear: this.mergedClearable && this.selected, onClear: this.handleClear }, {
436
+ default: () => { var _a, _b; return (_b = (_a = this.$slots).arrow) === null || _b === void 0 ? void 0 : _b.call(_a); }
437
+ }))
436
438
  }));
437
439
  let body;
438
440
  if (multiple) {
@@ -0,0 +1 @@
1
+ export { isDocument } from './is-document';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isDocument = void 0;
4
+ var is_document_1 = require("./is-document");
5
+ Object.defineProperty(exports, "isDocument", { enumerable: true, get: function () { return is_document_1.isDocument; } });
@@ -0,0 +1 @@
1
+ export declare function isDocument(node: Node): node is Document;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isDocument = void 0;
4
+ function isDocument(node) {
5
+ return node.nodeName === '#document';
6
+ }
7
+ exports.isDocument = isDocument;
@@ -1,4 +1,4 @@
1
- export { call, keep, omit, flatten, getSlot, getVNodeChildren, keysOf, render, getFirstSlotVNode, createDataKey, createRefSetter, createInjectionKey, resolveSlot, resolveSlotWithProps, resolveWrappedSlot, isSlotEmpty, mergeEventHandlers } from './vue';
1
+ export { call, keep, omit, flatten, getSlot, getVNodeChildren, keysOf, render, getFirstSlotVNode, createDataKey, createRefSetter, createInjectionKey, resolveSlot, resolveSlotWithProps, resolveWrappedSlot, isSlotEmpty, mergeEventHandlers, isNodeVShowFalse, Wrapper } from './vue';
2
2
  export type { MaybeArray } from './vue';
3
3
  export { warn, warnOnce, throwError, smallerSize, largerSize, getTitleAttribute } from './naive';
4
4
  export type { ExtractPublicPropTypes, ExtractInternalPropTypes, Mutable } from './naive';
@@ -8,3 +8,4 @@ export { isJsdom } from './env/is-jsdom';
8
8
  export { isBrowser } from './env/is-browser';
9
9
  export { eventEffectNotPerformed, markEventEffectPerformed } from './event';
10
10
  export * from './composable';
11
+ export * from './dom';
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.markEventEffectPerformed = exports.eventEffectNotPerformed = exports.isBrowser = exports.isJsdom = exports.createKey = exports.color2Class = exports.formatLength = exports.getTitleAttribute = exports.largerSize = exports.smallerSize = exports.throwError = exports.warnOnce = exports.warn = exports.mergeEventHandlers = exports.isSlotEmpty = exports.resolveWrappedSlot = exports.resolveSlotWithProps = exports.resolveSlot = exports.createInjectionKey = exports.createRefSetter = exports.createDataKey = exports.getFirstSlotVNode = exports.render = exports.keysOf = exports.getVNodeChildren = exports.getSlot = exports.flatten = exports.omit = exports.keep = exports.call = void 0;
17
+ exports.markEventEffectPerformed = exports.eventEffectNotPerformed = exports.isBrowser = exports.isJsdom = exports.createKey = exports.color2Class = exports.formatLength = exports.getTitleAttribute = exports.largerSize = exports.smallerSize = exports.throwError = exports.warnOnce = exports.warn = exports.Wrapper = exports.isNodeVShowFalse = exports.mergeEventHandlers = exports.isSlotEmpty = exports.resolveWrappedSlot = exports.resolveSlotWithProps = exports.resolveSlot = exports.createInjectionKey = exports.createRefSetter = exports.createDataKey = exports.getFirstSlotVNode = exports.render = exports.keysOf = exports.getVNodeChildren = exports.getSlot = exports.flatten = exports.omit = exports.keep = exports.call = void 0;
18
18
  var vue_1 = require("./vue");
19
19
  Object.defineProperty(exports, "call", { enumerable: true, get: function () { return vue_1.call; } });
20
20
  Object.defineProperty(exports, "keep", { enumerable: true, get: function () { return vue_1.keep; } });
@@ -33,6 +33,8 @@ Object.defineProperty(exports, "resolveSlotWithProps", { enumerable: true, get:
33
33
  Object.defineProperty(exports, "resolveWrappedSlot", { enumerable: true, get: function () { return vue_1.resolveWrappedSlot; } });
34
34
  Object.defineProperty(exports, "isSlotEmpty", { enumerable: true, get: function () { return vue_1.isSlotEmpty; } });
35
35
  Object.defineProperty(exports, "mergeEventHandlers", { enumerable: true, get: function () { return vue_1.mergeEventHandlers; } });
36
+ Object.defineProperty(exports, "isNodeVShowFalse", { enumerable: true, get: function () { return vue_1.isNodeVShowFalse; } });
37
+ Object.defineProperty(exports, "Wrapper", { enumerable: true, get: function () { return vue_1.Wrapper; } });
36
38
  var naive_1 = require("./naive");
37
39
  Object.defineProperty(exports, "warn", { enumerable: true, get: function () { return naive_1.warn; } });
38
40
  Object.defineProperty(exports, "warnOnce", { enumerable: true, get: function () { return naive_1.warnOnce; } });
@@ -53,3 +55,4 @@ var event_1 = require("./event");
53
55
  Object.defineProperty(exports, "eventEffectNotPerformed", { enumerable: true, get: function () { return event_1.eventEffectNotPerformed; } });
54
56
  Object.defineProperty(exports, "markEventEffectPerformed", { enumerable: true, get: function () { return event_1.markEventEffectPerformed; } });
55
57
  __exportStar(require("./composable"), exports);
58
+ __exportStar(require("./dom"), exports);
@@ -13,3 +13,5 @@ export { createInjectionKey } from './create-injection-key';
13
13
  export { resolveSlot, resolveWrappedSlot, resolveSlotWithProps, isSlotEmpty } from './resolve-slot';
14
14
  export type { MaybeArray } from './call';
15
15
  export { mergeEventHandlers } from './merge-handlers';
16
+ export { isNodeVShowFalse } from './is-node-v-show-false';
17
+ export { Wrapper } from './wrapper';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mergeEventHandlers = exports.isSlotEmpty = exports.resolveSlotWithProps = exports.resolveWrappedSlot = exports.resolveSlot = exports.createInjectionKey = exports.createRefSetter = exports.createDataKey = exports.getFirstSlotVNode = exports.render = exports.keysOf = exports.call = exports.flatten = exports.omit = exports.keep = exports.getVNodeChildren = exports.getSlot = void 0;
3
+ exports.Wrapper = exports.isNodeVShowFalse = exports.mergeEventHandlers = exports.isSlotEmpty = exports.resolveSlotWithProps = exports.resolveWrappedSlot = exports.resolveSlot = exports.createInjectionKey = exports.createRefSetter = exports.createDataKey = exports.getFirstSlotVNode = exports.render = exports.keysOf = exports.call = exports.flatten = exports.omit = exports.keep = exports.getVNodeChildren = exports.getSlot = void 0;
4
4
  var get_slot_1 = require("./get-slot");
5
5
  Object.defineProperty(exports, "getSlot", { enumerable: true, get: function () { return get_slot_1.getSlot; } });
6
6
  var get_v_node_children_1 = require("./get-v-node-children");
@@ -32,3 +32,7 @@ Object.defineProperty(exports, "resolveSlotWithProps", { enumerable: true, get:
32
32
  Object.defineProperty(exports, "isSlotEmpty", { enumerable: true, get: function () { return resolve_slot_1.isSlotEmpty; } });
33
33
  var merge_handlers_1 = require("./merge-handlers");
34
34
  Object.defineProperty(exports, "mergeEventHandlers", { enumerable: true, get: function () { return merge_handlers_1.mergeEventHandlers; } });
35
+ var is_node_v_show_false_1 = require("./is-node-v-show-false");
36
+ Object.defineProperty(exports, "isNodeVShowFalse", { enumerable: true, get: function () { return is_node_v_show_false_1.isNodeVShowFalse; } });
37
+ var wrapper_1 = require("./wrapper");
38
+ Object.defineProperty(exports, "Wrapper", { enumerable: true, get: function () { return wrapper_1.Wrapper; } });
@@ -0,0 +1,2 @@
1
+ import { VNode } from 'vue';
2
+ export declare function isNodeVShowFalse(vNode: VNode): boolean;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isNodeVShowFalse = void 0;
4
+ const vue_1 = require("vue");
5
+ function isNodeVShowFalse(vNode) {
6
+ var _a;
7
+ const showDir = (_a = vNode.dirs) === null || _a === void 0 ? void 0 : _a.find(({ dir }) => dir === vue_1.vShow);
8
+ return !!(showDir && showDir.value === false);
9
+ }
10
+ exports.isNodeVShowFalse = isNodeVShowFalse;
@@ -159,7 +159,7 @@ declare const _default: import("vue").DefineComponent<{
159
159
  mergedClsPrefix: import("vue").ComputedRef<string>;
160
160
  handleAfterEnter: () => void;
161
161
  handleScroll: () => void;
162
- handleClick: (e: MouseEvent) => void;
162
+ handleClick: () => void;
163
163
  cssVars: import("vue").ComputedRef<{
164
164
  '--n-bezier': string;
165
165
  '--n-border-radius': string;
@@ -55,15 +55,20 @@ exports.default = (0, vue_1.defineComponent)({
55
55
  }
56
56
  const { mergedClsPrefixRef, inlineThemeDisabled } = (0, _mixins_1.useConfig)(props);
57
57
  const scrollTopRef = (0, vue_1.ref)(null);
58
- const uncontrolledShowRef = (0, vue_1.computed)(() => {
59
- if (scrollTopRef.value === null)
60
- return false;
61
- return scrollTopRef.value >= props.visibilityHeight;
58
+ const uncontrolledShowRef = (0, vue_1.ref)(false);
59
+ (0, vue_1.watchEffect)(() => {
60
+ const { value: scrollTop } = scrollTopRef;
61
+ if (scrollTop === null) {
62
+ uncontrolledShowRef.value = false;
63
+ return;
64
+ }
65
+ uncontrolledShowRef.value = scrollTop >= props.visibilityHeight;
62
66
  });
63
67
  const DomInfoReadyRef = (0, vue_1.ref)(false);
64
68
  (0, vue_1.watch)(uncontrolledShowRef, (value) => {
69
+ var _a;
65
70
  if (DomInfoReadyRef.value) {
66
- props['onUpdate:show'](value);
71
+ (_a = props['onUpdate:show']) === null || _a === void 0 ? void 0 : _a.call(props, value);
67
72
  }
68
73
  });
69
74
  const controlledShowRef = (0, vue_1.toRef)(props, 'show');
@@ -103,39 +108,27 @@ exports.default = (0, vue_1.defineComponent)({
103
108
  }
104
109
  return;
105
110
  }
106
- scrollElement = scrollEl;
111
+ scrollElement =
112
+ scrollEl === document.documentElement ? document : scrollEl;
107
113
  const { to } = props;
108
114
  const target = typeof to === 'string' ? document.querySelector(to) : to;
109
115
  if (process.env.NODE_ENV !== 'production' && !target) {
110
116
  (0, _utils_1.warn)('back-top', 'Target is not found.');
111
117
  }
112
- if (scrollEl) {
113
- scrollEl.addEventListener('scroll', handleScroll);
114
- handleScroll();
115
- }
118
+ scrollElement.addEventListener('scroll', handleScroll);
119
+ handleScroll();
116
120
  }
117
- function handleClick(e) {
118
- if (scrollElement.nodeName === '#document') {
119
- ;
120
- scrollElement.documentElement.scrollTo({
121
- top: 0,
122
- behavior: 'smooth'
123
- });
124
- }
125
- else {
126
- scrollElement.scrollTo({
127
- top: 0,
128
- behavior: 'smooth'
129
- });
130
- }
121
+ function handleClick() {
122
+ ;
123
+ ((0, _utils_1.isDocument)(scrollElement)
124
+ ? document.documentElement
125
+ : scrollElement).scrollTo({
126
+ top: 0,
127
+ behavior: 'smooth'
128
+ });
131
129
  }
132
130
  function handleScroll() {
133
- if (scrollElement.nodeName === '#document') {
134
- scrollTopRef.value = scrollElement.documentElement.scrollTop;
135
- }
136
- else {
137
- scrollTopRef.value = scrollElement.scrollTop;
138
- }
131
+ scrollTopRef.value = ((0, _utils_1.isDocument)(scrollElement) ? document.documentElement : scrollElement).scrollTop;
139
132
  if (!DomInfoReadyRef.value) {
140
133
  void (0, vue_1.nextTick)(() => {
141
134
  DomInfoReadyRef.value = true;
@@ -1,7 +1,7 @@
1
- import { PropType, ExtractPropTypes } from 'vue';
1
+ import { PropType, ExtractPropTypes, VNodeChild } from 'vue';
2
2
  import type { PaginationProps } from '../../pagination';
3
3
  import type { MaybeArray, ExtractPublicPropTypes } from '../../_utils';
4
- import type { CreateRowClassName, CreateRowKey, OnUpdateCheckedRowKeys, OnUpdateSorter, RowKey, TableColumns, RowData, OnUpdateFilters, OnUpdateExpandedRowKeys, CreateSummary, CreateRowProps, DataTableOnLoad } from './interface';
4
+ import type { CreateRowClassName, CreateRowKey, OnUpdateCheckedRowKeys, OnUpdateSorter, RowKey, TableColumns, RowData, OnUpdateFilters, OnUpdateExpandedRowKeys, CreateSummary, CreateRowProps, DataTableOnLoad, TableBaseColumn } from './interface';
5
5
  export declare const dataTableProps: {
6
6
  readonly pagination: {
7
7
  readonly type: PropType<false | PaginationProps>;
@@ -80,6 +80,7 @@ export declare const dataTableProps: {
80
80
  readonly type: PropType<"first" | "current">;
81
81
  readonly default: "current";
82
82
  };
83
+ readonly renderCell: PropType<(value: any, rowData: object, column: TableBaseColumn) => VNodeChild>;
83
84
  readonly onLoad: PropType<DataTableOnLoad>;
84
85
  readonly 'onUpdate:page': PropType<MaybeArray<(page: number) => void> | undefined>;
85
86
  readonly onUpdatePage: PropType<MaybeArray<(page: number) => void> | undefined>;
@@ -2295,6 +2296,7 @@ declare const _default: import("vue").DefineComponent<{
2295
2296
  readonly type: PropType<"first" | "current">;
2296
2297
  readonly default: "current";
2297
2298
  };
2299
+ readonly renderCell: PropType<(value: any, rowData: object, column: TableBaseColumn<import("./interface").InternalRowData>) => VNodeChild>;
2298
2300
  readonly onLoad: PropType<DataTableOnLoad>;
2299
2301
  readonly 'onUpdate:page': PropType<MaybeArray<(page: number) => void> | undefined>;
2300
2302
  readonly onUpdatePage: PropType<MaybeArray<(page: number) => void> | undefined>;
@@ -5702,6 +5704,7 @@ declare const _default: import("vue").DefineComponent<{
5702
5704
  readonly type: PropType<"first" | "current">;
5703
5705
  readonly default: "current";
5704
5706
  };
5707
+ readonly renderCell: PropType<(value: any, rowData: object, column: TableBaseColumn<import("./interface").InternalRowData>) => VNodeChild>;
5705
5708
  readonly onLoad: PropType<DataTableOnLoad>;
5706
5709
  readonly 'onUpdate:page': PropType<MaybeArray<(page: number) => void> | undefined>;
5707
5710
  readonly onUpdatePage: PropType<MaybeArray<(page: number) => void> | undefined>;
@@ -66,7 +66,7 @@ exports.dataTableProps = Object.assign(Object.assign({}, _mixins_1.useTheme.prop
66
66
  }, flexHeight: Boolean, paginationBehaviorOnFilter: {
67
67
  type: String,
68
68
  default: 'current'
69
- }, onLoad: Function, 'onUpdate:page': [Function, Array], onUpdatePage: [Function, Array], 'onUpdate:pageSize': [Function, Array], onUpdatePageSize: [Function, Array], 'onUpdate:sorter': [Function, Array], onUpdateSorter: [Function, Array], 'onUpdate:filters': [Function, Array], onUpdateFilters: [Function, Array], 'onUpdate:checkedRowKeys': [Function, Array], onUpdateCheckedRowKeys: [Function, Array], 'onUpdate:expandedRowKeys': [Function, Array], onUpdateExpandedRowKeys: [Function, Array], onScroll: Function,
69
+ }, renderCell: Function, onLoad: Function, 'onUpdate:page': [Function, Array], onUpdatePage: [Function, Array], 'onUpdate:pageSize': [Function, Array], onUpdatePageSize: [Function, Array], 'onUpdate:sorter': [Function, Array], onUpdateSorter: [Function, Array], 'onUpdate:filters': [Function, Array], onUpdateFilters: [Function, Array], 'onUpdate:checkedRowKeys': [Function, Array], onUpdateCheckedRowKeys: [Function, Array], 'onUpdate:expandedRowKeys': [Function, Array], onUpdateExpandedRowKeys: [Function, Array], onScroll: Function,
70
70
  // deprecated
71
71
  onPageChange: [Function, Array], onPageSizeChange: [Function, Array], onSorterChange: [Function, Array], onFiltersChange: [Function, Array], onCheckedRowKeysChange: [Function, Array] });
72
72
  exports.default = (0, vue_1.defineComponent)({
@@ -210,7 +210,8 @@ exports.default = (0, vue_1.defineComponent)({
210
210
  doUpdateExpandedRowKeys,
211
211
  handleTableHeaderScroll,
212
212
  handleTableBodyScroll,
213
- setHeaderScrollLeft
213
+ setHeaderScrollLeft,
214
+ renderCell: (0, vue_1.toRef)(props, 'renderCell')
214
215
  });
215
216
  const exposedMethods = {
216
217
  filter,
@@ -1213,6 +1213,7 @@ declare const _default: import("vue").DefineComponent<{
1213
1213
  key: RowKey;
1214
1214
  }, checked: boolean, shiftKey: boolean) => void;
1215
1215
  handleUpdateExpanded: (key: RowKey, tmNode: TmNode | null) => void;
1216
+ renderCell: import("vue").Ref<((value: any, rowData: object, column: import("../interface").TableBaseColumn<import("../interface").InternalRowData>) => import("vue").VNodeChild) | undefined>;
1216
1217
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
1217
1218
  onResize: PropType<(e: ResizeObserverEntry) => void>;
1218
1219
  showHeader: BooleanConstructor;
@@ -82,7 +82,7 @@ exports.default = (0, vue_1.defineComponent)({
82
82
  bodyStyle: Object
83
83
  },
84
84
  setup(props) {
85
- const { slots: dataTableSlots, mergedExpandedRowKeysRef, mergedClsPrefixRef, mergedThemeRef, scrollXRef, colsRef, paginatedDataRef, rawPaginatedDataRef, fixedColumnLeftMapRef, fixedColumnRightMapRef, mergedCurrentPageRef, rowClassNameRef, leftActiveFixedColKeyRef, leftActiveFixedChildrenColKeysRef, rightActiveFixedColKeyRef, rightActiveFixedChildrenColKeysRef, renderExpandRef, hoverKeyRef, summaryRef, mergedSortStateRef, virtualScrollRef, componentId, scrollPartRef, mergedTableLayoutRef, childTriggerColIndexRef, indentRef, rowPropsRef, maxHeightRef, stripedRef, loadingRef, onLoadRef, loadingKeySetRef, setHeaderScrollLeft, doUpdateExpandedRowKeys, handleTableBodyScroll, doCheck, doUncheck
85
+ const { slots: dataTableSlots, mergedExpandedRowKeysRef, mergedClsPrefixRef, mergedThemeRef, scrollXRef, colsRef, paginatedDataRef, rawPaginatedDataRef, fixedColumnLeftMapRef, fixedColumnRightMapRef, mergedCurrentPageRef, rowClassNameRef, leftActiveFixedColKeyRef, leftActiveFixedChildrenColKeysRef, rightActiveFixedColKeyRef, rightActiveFixedChildrenColKeysRef, renderExpandRef, hoverKeyRef, summaryRef, mergedSortStateRef, virtualScrollRef, componentId, scrollPartRef, mergedTableLayoutRef, childTriggerColIndexRef, indentRef, rowPropsRef, maxHeightRef, stripedRef, loadingRef, onLoadRef, loadingKeySetRef, setHeaderScrollLeft, doUpdateExpandedRowKeys, handleTableBodyScroll, doCheck, doUncheck, renderCell
86
86
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
87
87
  } = (0, vue_1.inject)(interface_1.dataTableInjectionKey);
88
88
  const scrollbarInstRef = (0, vue_1.ref)(null);
@@ -313,7 +313,8 @@ exports.default = (0, vue_1.defineComponent)({
313
313
  virtualListContent,
314
314
  handleTableBodyScroll,
315
315
  handleCheckboxUpdateChecked,
316
- handleUpdateExpanded }, exposedMethods);
316
+ handleUpdateExpanded,
317
+ renderCell }, exposedMethods);
317
318
  },
318
319
  render() {
319
320
  const { mergedTheme, scrollX, mergedClsPrefix, virtualScroll, maxHeight, mergedTableLayout, flexHeight, loadingKeySet, onResize, setHeaderScrollLeft } = this;
@@ -516,7 +517,7 @@ exports.default = (0, vue_1.defineComponent)({
516
517
  ]
517
518
  : null,
518
519
  column.type === 'selection' ? (!isSummary ? ((0, vue_1.h)(BodyCheckbox_1.default, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled, onUpdateChecked: (checked, e) => handleCheckboxUpdateChecked(rowInfo.tmNode, checked, e.shiftKey) })) : null) : column.type === 'expand' ? (!isSummary ? (!column.expandable ||
519
- ((_e = column.expandable) === null || _e === void 0 ? void 0 : _e.call(column, rowData)) ? ((0, vue_1.h)(ExpandTrigger_1.default, { clsPrefix: mergedClsPrefix, expanded: expanded, onClick: () => handleUpdateExpanded(rowKey, null) })) : null) : null) : ((0, vue_1.h)(Cell_1.default, { index: rowIndex, row: rowData, column: column, isSummary: isSummary, mergedTheme: mergedTheme }))));
520
+ ((_e = column.expandable) === null || _e === void 0 ? void 0 : _e.call(column, rowData)) ? ((0, vue_1.h)(ExpandTrigger_1.default, { clsPrefix: mergedClsPrefix, expanded: expanded, onClick: () => handleUpdateExpanded(rowKey, null) })) : null) : null) : ((0, vue_1.h)(Cell_1.default, { index: rowIndex, row: rowData, column: column, isSummary: isSummary, mergedTheme: mergedTheme, renderCell: this.renderCell }))));
520
521
  })));
521
522
  return row;
522
523
  };