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.
- package/README.zh-CN.md +2 -2
- package/dist/index.js +2321 -1375
- package/dist/index.prod.js +2 -2
- package/es/_internal/close/src/Close.js +1 -1
- package/es/_internal/scrollbar/src/Scrollbar.js +1 -2
- package/es/_internal/selection/src/Selection.js +5 -3
- package/es/_utils/dom/index.d.ts +1 -0
- package/es/_utils/dom/index.js +1 -0
- package/es/_utils/dom/is-document.d.ts +1 -0
- package/es/_utils/dom/is-document.js +3 -0
- package/es/_utils/index.d.ts +2 -1
- package/es/_utils/index.js +2 -1
- package/es/_utils/vue/index.d.ts +2 -0
- package/es/_utils/vue/index.js +2 -0
- package/es/_utils/vue/is-node-v-show-false.d.ts +2 -0
- package/es/_utils/vue/is-node-v-show-false.js +6 -0
- package/es/{_internal/scrollbar/src/Wrapper.d.ts → _utils/vue/wrapper.d.ts} +0 -0
- package/es/{_internal/scrollbar/src/Wrapper.js → _utils/vue/wrapper.js} +0 -0
- package/es/back-top/src/BackTop.d.ts +1 -1
- package/es/back-top/src/BackTop.js +24 -31
- package/es/button/src/styles/index.cssr.js +3 -0
- package/es/color-picker/src/ColorInputUnit.js +1 -1
- package/es/data-table/src/DataTable.d.ts +5 -2
- package/es/data-table/src/DataTable.js +3 -2
- package/es/data-table/src/TableParts/Body.d.ts +1 -0
- package/es/data-table/src/TableParts/Body.js +5 -7
- package/es/data-table/src/TableParts/Cell.d.ts +11 -1
- package/es/data-table/src/TableParts/Cell.js +19 -6
- package/es/data-table/src/interface.d.ts +5 -2
- package/es/data-table/src/styles/index.cssr.js +7 -2
- package/es/data-table/src/use-check.js +11 -3
- package/es/date-picker/src/DatePicker.d.ts +40 -0
- package/es/date-picker/src/DatePicker.js +15 -3
- package/es/date-picker/src/config.d.ts +1 -1
- package/es/date-picker/src/panel/date.d.ts +4 -0
- package/es/date-picker/src/panel/daterange.d.ts +7 -1
- package/es/date-picker/src/panel/datetime.d.ts +4 -0
- package/es/date-picker/src/panel/datetimerange.d.ts +7 -1
- package/es/date-picker/src/panel/month.d.ts +4 -0
- package/es/date-picker/src/panel/monthrange.d.ts +11 -5
- package/es/date-picker/src/panel/monthrange.js +13 -7
- package/es/date-picker/src/panel/panelHeader.d.ts +8 -0
- package/es/date-picker/src/panel/use-calendar.d.ts +4 -0
- package/es/date-picker/src/panel/use-dual-calendar.d.ts +9 -3
- package/es/date-picker/src/panel/use-dual-calendar.js +26 -6
- package/es/date-picker/src/panel/use-panel-common.d.ts +4 -0
- package/es/date-picker/src/utils.d.ts +1 -1
- package/es/date-picker/src/utils.js +2 -2
- package/es/date-picker/styles/_common.d.ts +4 -0
- package/es/date-picker/styles/_common.js +5 -1
- package/es/date-picker/styles/light.d.ts +8 -0
- package/es/drawer/src/DrawerBodyWrapper.js +1 -1
- package/es/grid/src/Grid.d.ts +3 -0
- package/es/grid/src/Grid.js +47 -9
- package/es/grid/src/GridItem.js +2 -1
- package/es/image/src/Image.d.ts +10 -0
- package/es/image/src/Image.js +42 -8
- package/es/image/src/utils.d.ts +11 -0
- package/es/image/src/utils.js +81 -0
- package/es/input/src/styles/input-group-label.cssr.js +2 -0
- package/es/locales/common/viVN.d.ts +3 -0
- package/es/locales/common/viVN.js +113 -0
- package/es/locales/date/viVN.d.ts +3 -0
- package/es/locales/date/viVN.js +6 -0
- package/es/locales/index.d.ts +2 -0
- package/es/locales/index.js +2 -0
- package/es/modal/src/BodyWrapper.d.ts +13 -18
- package/es/modal/src/BodyWrapper.js +38 -33
- package/es/modal/src/Modal.js +12 -7
- package/es/modal/src/styles/index.cssr.js +1 -0
- package/es/notification/src/Notification.d.ts +3 -0
- package/es/notification/src/Notification.js +5 -2
- package/es/notification/src/NotificationContainer.d.ts +3 -0
- package/es/notification/src/NotificationProvider.d.ts +27 -0
- package/es/notification/src/styles/index.cssr.js +6 -3
- package/es/notification/styles/_common.d.ts +3 -0
- package/es/notification/styles/_common.js +4 -1
- package/es/notification/styles/light.d.ts +6 -0
- package/es/select/index.d.ts +1 -1
- package/es/select/src/Select.d.ts +4 -4
- package/es/select/src/Select.js +10 -1
- package/es/select/src/interface.d.ts +1 -0
- package/es/space/src/Space.d.ts +26 -0
- package/es/space/src/Space.js +53 -43
- package/es/tabs/src/Tabs.js +1 -1
- package/es/tooltip/index.d.ts +1 -1
- package/es/tree/src/Tree.d.ts +4 -3
- package/es/tree/src/Tree.js +2 -1
- package/es/tree/src/TreeNode.d.ts +1 -1
- package/es/tree/src/interface.d.ts +1 -1
- package/es/tree-select/index.d.ts +1 -1
- package/es/tree-select/src/TreeSelect.d.ts +27 -5
- package/es/tree-select/src/TreeSelect.js +19 -3
- package/es/tree-select/src/interface.d.ts +17 -1
- package/es/version.d.ts +1 -1
- package/es/version.js +1 -1
- package/lib/_internal/close/src/Close.js +1 -1
- package/lib/_internal/scrollbar/src/Scrollbar.js +2 -3
- package/lib/_internal/selection/src/Selection.js +4 -2
- package/lib/_utils/dom/index.d.ts +1 -0
- package/lib/_utils/dom/index.js +5 -0
- package/lib/_utils/dom/is-document.d.ts +1 -0
- package/lib/_utils/dom/is-document.js +7 -0
- package/lib/_utils/index.d.ts +2 -1
- package/lib/_utils/index.js +4 -1
- package/lib/_utils/vue/index.d.ts +2 -0
- package/lib/_utils/vue/index.js +5 -1
- package/lib/_utils/vue/is-node-v-show-false.d.ts +2 -0
- package/lib/_utils/vue/is-node-v-show-false.js +10 -0
- package/lib/{_internal/scrollbar/src/Wrapper.d.ts → _utils/vue/wrapper.d.ts} +0 -0
- package/lib/{_internal/scrollbar/src/Wrapper.js → _utils/vue/wrapper.js} +0 -0
- package/lib/back-top/src/BackTop.d.ts +1 -1
- package/lib/back-top/src/BackTop.js +23 -30
- package/lib/button/src/styles/index.cssr.js +3 -0
- package/lib/color-picker/src/ColorInputUnit.js +1 -1
- package/lib/data-table/src/DataTable.d.ts +5 -2
- package/lib/data-table/src/DataTable.js +3 -2
- package/lib/data-table/src/TableParts/Body.d.ts +1 -0
- package/lib/data-table/src/TableParts/Body.js +5 -7
- package/lib/data-table/src/TableParts/Cell.d.ts +11 -1
- package/lib/data-table/src/TableParts/Cell.js +19 -6
- package/lib/data-table/src/interface.d.ts +5 -2
- package/lib/data-table/src/styles/index.cssr.js +7 -2
- package/lib/data-table/src/use-check.js +11 -3
- package/lib/date-picker/src/DatePicker.d.ts +40 -0
- package/lib/date-picker/src/DatePicker.js +15 -3
- package/lib/date-picker/src/config.d.ts +1 -1
- package/lib/date-picker/src/panel/date.d.ts +4 -0
- package/lib/date-picker/src/panel/daterange.d.ts +7 -1
- package/lib/date-picker/src/panel/datetime.d.ts +4 -0
- package/lib/date-picker/src/panel/datetimerange.d.ts +7 -1
- package/lib/date-picker/src/panel/month.d.ts +4 -0
- package/lib/date-picker/src/panel/monthrange.d.ts +11 -5
- package/lib/date-picker/src/panel/monthrange.js +13 -7
- package/lib/date-picker/src/panel/panelHeader.d.ts +8 -0
- package/lib/date-picker/src/panel/use-calendar.d.ts +4 -0
- package/lib/date-picker/src/panel/use-dual-calendar.d.ts +9 -3
- package/lib/date-picker/src/panel/use-dual-calendar.js +24 -4
- package/lib/date-picker/src/panel/use-panel-common.d.ts +4 -0
- package/lib/date-picker/src/utils.d.ts +1 -1
- package/lib/date-picker/src/utils.js +2 -2
- package/lib/date-picker/styles/_common.d.ts +4 -0
- package/lib/date-picker/styles/_common.js +5 -1
- package/lib/date-picker/styles/light.d.ts +8 -0
- package/lib/drawer/src/DrawerBodyWrapper.js +1 -1
- package/lib/grid/src/Grid.d.ts +3 -0
- package/lib/grid/src/Grid.js +45 -7
- package/lib/grid/src/GridItem.js +2 -1
- package/lib/image/src/Image.d.ts +10 -0
- package/lib/image/src/Image.js +41 -7
- package/lib/image/src/utils.d.ts +11 -0
- package/lib/image/src/utils.js +86 -0
- package/lib/input/src/styles/input-group-label.cssr.js +2 -0
- package/lib/locales/common/viVN.d.ts +3 -0
- package/lib/locales/common/viVN.js +115 -0
- package/lib/locales/date/viVN.d.ts +3 -0
- package/lib/locales/date/viVN.js +11 -0
- package/lib/locales/index.d.ts +2 -0
- package/lib/locales/index.js +5 -1
- package/lib/modal/src/BodyWrapper.d.ts +13 -18
- package/lib/modal/src/BodyWrapper.js +38 -33
- package/lib/modal/src/Modal.js +12 -7
- package/lib/modal/src/styles/index.cssr.js +1 -0
- package/lib/notification/src/Notification.d.ts +3 -0
- package/lib/notification/src/Notification.js +5 -2
- package/lib/notification/src/NotificationContainer.d.ts +3 -0
- package/lib/notification/src/NotificationProvider.d.ts +27 -0
- package/lib/notification/src/styles/index.cssr.js +6 -3
- package/lib/notification/styles/_common.d.ts +3 -0
- package/lib/notification/styles/_common.js +4 -1
- package/lib/notification/styles/light.d.ts +6 -0
- package/lib/select/index.d.ts +1 -1
- package/lib/select/src/Select.d.ts +4 -4
- package/lib/select/src/Select.js +10 -1
- package/lib/select/src/interface.d.ts +1 -0
- package/lib/space/src/Space.d.ts +26 -0
- package/lib/space/src/Space.js +53 -43
- package/lib/tabs/src/Tabs.js +1 -1
- package/lib/tooltip/index.d.ts +1 -1
- package/lib/tree/src/Tree.d.ts +4 -3
- package/lib/tree/src/Tree.js +2 -1
- package/lib/tree/src/TreeNode.d.ts +1 -1
- package/lib/tree/src/interface.d.ts +1 -1
- package/lib/tree-select/index.d.ts +1 -1
- package/lib/tree-select/src/TreeSelect.d.ts +27 -5
- package/lib/tree-select/src/TreeSelect.js +19 -3
- package/lib/tree-select/src/interface.d.ts +17 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +2 -2
- package/volar.d.ts +0 -1
- package/web-types.json +100 -10
|
@@ -26,7 +26,7 @@ export default defineComponent({
|
|
|
26
26
|
useStyle('-base-close', style, toRef(props, 'clsPrefix'));
|
|
27
27
|
return () => {
|
|
28
28
|
const { clsPrefix, disabled, absolute, round } = props;
|
|
29
|
-
return (h("button", { tabindex: disabled || !props.focusable ? -1 : 0, "aria-disabled": disabled, "aria-label": "close", disabled: disabled, class: [
|
|
29
|
+
return (h("button", { type: "button", tabindex: disabled || !props.focusable ? -1 : 0, "aria-disabled": disabled, "aria-label": "close", disabled: disabled, class: [
|
|
30
30
|
`${clsPrefix}-base-close`,
|
|
31
31
|
absolute && `${clsPrefix}-base-close--absolute`,
|
|
32
32
|
disabled && `${clsPrefix}-base-close--disabled`,
|
|
@@ -3,9 +3,8 @@ import { on, off } from 'evtd';
|
|
|
3
3
|
import { VResizeObserver } from 'vueuc';
|
|
4
4
|
import { useIsIos } from 'vooks';
|
|
5
5
|
import { useConfig, useTheme, useThemeClass } from '../../../_mixins';
|
|
6
|
-
import { useReactivated } from '../../../_utils';
|
|
6
|
+
import { useReactivated, Wrapper } from '../../../_utils';
|
|
7
7
|
import { scrollbarLight } from '../styles';
|
|
8
|
-
import { Wrapper } from './Wrapper';
|
|
9
8
|
import style from './styles/index.cssr';
|
|
10
9
|
const scrollbarProps = Object.assign(Object.assign({}, useTheme.props), { size: {
|
|
11
10
|
type: Number,
|
|
@@ -4,7 +4,7 @@ import { VOverflow } from 'vueuc';
|
|
|
4
4
|
import { NPopover } from '../../../popover';
|
|
5
5
|
import { NTag } from '../../../tag';
|
|
6
6
|
import { useThemeClass, useTheme } from '../../../_mixins';
|
|
7
|
-
import { createKey, getTitleAttribute, render, useOnResize } from '../../../_utils';
|
|
7
|
+
import { createKey, getTitleAttribute, render, useOnResize, Wrapper } from '../../../_utils';
|
|
8
8
|
import Suffix from '../../suffix';
|
|
9
9
|
import { internalSelectionLight } from '../styles';
|
|
10
10
|
import style from './styles/index.cssr';
|
|
@@ -426,8 +426,10 @@ export default defineComponent({
|
|
|
426
426
|
const maxTagCountResponsive = maxTagCount === 'responsive';
|
|
427
427
|
const maxTagCountNumeric = typeof maxTagCount === 'number';
|
|
428
428
|
const useMaxTagCount = maxTagCountResponsive || maxTagCountNumeric;
|
|
429
|
-
const suffix = (h(
|
|
430
|
-
default: () => {
|
|
429
|
+
const suffix = (h(Wrapper, null, {
|
|
430
|
+
default: () => (h(Suffix, { clsPrefix: clsPrefix, loading: this.loading, showArrow: this.showArrow, showClear: this.mergedClearable && this.selected, onClear: this.handleClear }, {
|
|
431
|
+
default: () => { var _a, _b; return (_b = (_a = this.$slots).arrow) === null || _b === void 0 ? void 0 : _b.call(_a); }
|
|
432
|
+
}))
|
|
431
433
|
}));
|
|
432
434
|
let body;
|
|
433
435
|
if (multiple) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { isDocument } from './is-document';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { isDocument } from './is-document';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isDocument(node: Node): node is Document;
|
package/es/_utils/index.d.ts
CHANGED
|
@@ -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';
|
package/es/_utils/index.js
CHANGED
|
@@ -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 { warn, warnOnce, throwError, smallerSize, largerSize, getTitleAttribute } from './naive';
|
|
3
3
|
export { formatLength, color2Class } from './css';
|
|
4
4
|
export { createKey } from './cssr';
|
|
@@ -6,3 +6,4 @@ export { isJsdom } from './env/is-jsdom';
|
|
|
6
6
|
export { isBrowser } from './env/is-browser';
|
|
7
7
|
export { eventEffectNotPerformed, markEventEffectPerformed } from './event';
|
|
8
8
|
export * from './composable';
|
|
9
|
+
export * from './dom';
|
package/es/_utils/vue/index.d.ts
CHANGED
|
@@ -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';
|
package/es/_utils/vue/index.js
CHANGED
|
@@ -12,3 +12,5 @@ export { createRefSetter } from './create-ref-setter';
|
|
|
12
12
|
export { createInjectionKey } from './create-injection-key';
|
|
13
13
|
export { resolveSlot, resolveWrappedSlot, resolveSlotWithProps, isSlotEmpty } from './resolve-slot';
|
|
14
14
|
export { mergeEventHandlers } from './merge-handlers';
|
|
15
|
+
export { isNodeVShowFalse } from './is-node-v-show-false';
|
|
16
|
+
export { Wrapper } from './wrapper';
|
|
File without changes
|
|
File without changes
|
|
@@ -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: (
|
|
162
|
+
handleClick: () => void;
|
|
163
163
|
cssVars: import("vue").ComputedRef<{
|
|
164
164
|
'--n-bezier': string;
|
|
165
165
|
'--n-border-radius': string;
|
|
@@ -4,7 +4,7 @@ import { useIsMounted, useMergedState } from 'vooks';
|
|
|
4
4
|
import { getScrollParent, unwrapElement } from 'seemly';
|
|
5
5
|
import { useConfig, useTheme, useThemeClass } from '../../_mixins';
|
|
6
6
|
import { NBaseIcon } from '../../_internal';
|
|
7
|
-
import { lockHtmlScrollRightCompensationRef, formatLength, resolveSlot, warn, warnOnce } from '../../_utils';
|
|
7
|
+
import { lockHtmlScrollRightCompensationRef, formatLength, resolveSlot, isDocument, warn, warnOnce } from '../../_utils';
|
|
8
8
|
import { backTopLight } from '../styles';
|
|
9
9
|
import BackTopIcon from './BackTopIcon';
|
|
10
10
|
import style from './styles/index.cssr';
|
|
@@ -50,15 +50,20 @@ export default defineComponent({
|
|
|
50
50
|
}
|
|
51
51
|
const { mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);
|
|
52
52
|
const scrollTopRef = ref(null);
|
|
53
|
-
const uncontrolledShowRef =
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
const uncontrolledShowRef = ref(false);
|
|
54
|
+
watchEffect(() => {
|
|
55
|
+
const { value: scrollTop } = scrollTopRef;
|
|
56
|
+
if (scrollTop === null) {
|
|
57
|
+
uncontrolledShowRef.value = false;
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
uncontrolledShowRef.value = scrollTop >= props.visibilityHeight;
|
|
57
61
|
});
|
|
58
62
|
const DomInfoReadyRef = ref(false);
|
|
59
63
|
watch(uncontrolledShowRef, (value) => {
|
|
64
|
+
var _a;
|
|
60
65
|
if (DomInfoReadyRef.value) {
|
|
61
|
-
props['onUpdate:show'](value);
|
|
66
|
+
(_a = props['onUpdate:show']) === null || _a === void 0 ? void 0 : _a.call(props, value);
|
|
62
67
|
}
|
|
63
68
|
});
|
|
64
69
|
const controlledShowRef = toRef(props, 'show');
|
|
@@ -98,39 +103,27 @@ export default defineComponent({
|
|
|
98
103
|
}
|
|
99
104
|
return;
|
|
100
105
|
}
|
|
101
|
-
scrollElement =
|
|
106
|
+
scrollElement =
|
|
107
|
+
scrollEl === document.documentElement ? document : scrollEl;
|
|
102
108
|
const { to } = props;
|
|
103
109
|
const target = typeof to === 'string' ? document.querySelector(to) : to;
|
|
104
110
|
if (process.env.NODE_ENV !== 'production' && !target) {
|
|
105
111
|
warn('back-top', 'Target is not found.');
|
|
106
112
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
handleScroll();
|
|
110
|
-
}
|
|
113
|
+
scrollElement.addEventListener('scroll', handleScroll);
|
|
114
|
+
handleScroll();
|
|
111
115
|
}
|
|
112
|
-
function handleClick(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
scrollElement.scrollTo({
|
|
122
|
-
top: 0,
|
|
123
|
-
behavior: 'smooth'
|
|
124
|
-
});
|
|
125
|
-
}
|
|
116
|
+
function handleClick() {
|
|
117
|
+
;
|
|
118
|
+
(isDocument(scrollElement)
|
|
119
|
+
? document.documentElement
|
|
120
|
+
: scrollElement).scrollTo({
|
|
121
|
+
top: 0,
|
|
122
|
+
behavior: 'smooth'
|
|
123
|
+
});
|
|
126
124
|
}
|
|
127
125
|
function handleScroll() {
|
|
128
|
-
|
|
129
|
-
scrollTopRef.value = scrollElement.documentElement.scrollTop;
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
scrollTopRef.value = scrollElement.scrollTop;
|
|
133
|
-
}
|
|
126
|
+
scrollTopRef.value = (isDocument(scrollElement) ? document.documentElement : scrollElement).scrollTop;
|
|
134
127
|
if (!DomInfoReadyRef.value) {
|
|
135
128
|
void nextTick(() => {
|
|
136
129
|
DomInfoReadyRef.value = true;
|
|
@@ -149,6 +149,8 @@ export default c([cB('button', `
|
|
|
149
149
|
top: 50%;
|
|
150
150
|
transform: translateY(-50%);
|
|
151
151
|
display: flex;
|
|
152
|
+
align-items: center;
|
|
153
|
+
justify-content: center;
|
|
152
154
|
`, [iconSwitchTransition({
|
|
153
155
|
top: '50%',
|
|
154
156
|
originalTransform: 'translateY(-50%)'
|
|
@@ -156,6 +158,7 @@ export default c([cB('button', `
|
|
|
156
158
|
display: flex;
|
|
157
159
|
align-items: center;
|
|
158
160
|
flex-wrap: nowrap;
|
|
161
|
+
min-width: 0;
|
|
159
162
|
`, [c('~', [cE('icon', {
|
|
160
163
|
margin: 'var(--n-icon-margin)',
|
|
161
164
|
marginRight: 0
|
|
@@ -32,7 +32,7 @@ function normalizeHexaUnit(value) {
|
|
|
32
32
|
// 0 - 100%
|
|
33
33
|
function normalizeAlphaUnit(value) {
|
|
34
34
|
if (/^\d{1,3}\.?\d*%$/.test(value.trim())) {
|
|
35
|
-
return Math.max(0, Math.min(parseInt(value), 100));
|
|
35
|
+
return Math.max(0, Math.min(parseInt(value) / 100, 100));
|
|
36
36
|
}
|
|
37
37
|
return false;
|
|
38
38
|
}
|
|
@@ -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>;
|
|
@@ -60,7 +60,7 @@ export const dataTableProps = Object.assign(Object.assign({}, useTheme.props), {
|
|
|
60
60
|
}, flexHeight: Boolean, paginationBehaviorOnFilter: {
|
|
61
61
|
type: String,
|
|
62
62
|
default: 'current'
|
|
63
|
-
}, 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,
|
|
63
|
+
}, 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,
|
|
64
64
|
// deprecated
|
|
65
65
|
onPageChange: [Function, Array], onPageSizeChange: [Function, Array], onSorterChange: [Function, Array], onFiltersChange: [Function, Array], onCheckedRowKeysChange: [Function, Array] });
|
|
66
66
|
export default defineComponent({
|
|
@@ -204,7 +204,8 @@ export default defineComponent({
|
|
|
204
204
|
doUpdateExpandedRowKeys,
|
|
205
205
|
handleTableHeaderScroll,
|
|
206
206
|
handleTableBodyScroll,
|
|
207
|
-
setHeaderScrollLeft
|
|
207
|
+
setHeaderScrollLeft,
|
|
208
|
+
renderCell: toRef(props, 'renderCell')
|
|
208
209
|
});
|
|
209
210
|
const exposedMethods = {
|
|
210
211
|
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;
|
|
@@ -77,7 +77,7 @@ export default defineComponent({
|
|
|
77
77
|
bodyStyle: Object
|
|
78
78
|
},
|
|
79
79
|
setup(props) {
|
|
80
|
-
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
|
|
80
|
+
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
|
|
81
81
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
82
82
|
} = inject(dataTableInjectionKey);
|
|
83
83
|
const scrollbarInstRef = ref(null);
|
|
@@ -308,7 +308,8 @@ export default defineComponent({
|
|
|
308
308
|
virtualListContent,
|
|
309
309
|
handleTableBodyScroll,
|
|
310
310
|
handleCheckboxUpdateChecked,
|
|
311
|
-
handleUpdateExpanded
|
|
311
|
+
handleUpdateExpanded,
|
|
312
|
+
renderCell }, exposedMethods);
|
|
312
313
|
},
|
|
313
314
|
render() {
|
|
314
315
|
const { mergedTheme, scrollX, mergedClsPrefix, virtualScroll, maxHeight, mergedTableLayout, flexHeight, loadingKeySet, onResize, setHeaderScrollLeft } = this;
|
|
@@ -469,7 +470,7 @@ export default defineComponent({
|
|
|
469
470
|
}
|
|
470
471
|
}
|
|
471
472
|
const hoverKey = isCrossRowTd ? this.hoverKey : null;
|
|
472
|
-
const {
|
|
473
|
+
const { cellProps } = column;
|
|
473
474
|
const resolvedCellProps = cellProps === null || cellProps === void 0 ? void 0 : cellProps(rowData, rowIndex);
|
|
474
475
|
return (h("td", Object.assign({}, resolvedCellProps, { key: colKey, style: [
|
|
475
476
|
{
|
|
@@ -493,9 +494,6 @@ export default defineComponent({
|
|
|
493
494
|
column.align &&
|
|
494
495
|
`${mergedClsPrefix}-data-table-td--${column.align}-align`,
|
|
495
496
|
{
|
|
496
|
-
[`${mergedClsPrefix}-data-table-td--ellipsis`]: ellipsis === true ||
|
|
497
|
-
// don't add ellipsis class if tooltip exists
|
|
498
|
-
(ellipsis && !ellipsis.tooltip),
|
|
499
497
|
[`${mergedClsPrefix}-data-table-td--selection`]: column.type === 'selection',
|
|
500
498
|
[`${mergedClsPrefix}-data-table-td--expand`]: column.type === 'expand',
|
|
501
499
|
[`${mergedClsPrefix}-data-table-td--last-col`]: isLastCol,
|
|
@@ -511,7 +509,7 @@ export default defineComponent({
|
|
|
511
509
|
]
|
|
512
510
|
: null,
|
|
513
511
|
column.type === 'selection' ? (!isSummary ? (h(RenderSafeCheckbox, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled, onUpdateChecked: (checked, e) => handleCheckboxUpdateChecked(rowInfo.tmNode, checked, e.shiftKey) })) : null) : column.type === 'expand' ? (!isSummary ? (!column.expandable ||
|
|
514
|
-
((_e = column.expandable) === null || _e === void 0 ? void 0 : _e.call(column, rowData)) ? (h(ExpandTrigger, { clsPrefix: mergedClsPrefix, expanded: expanded, onClick: () => handleUpdateExpanded(rowKey, null) })) : null) : null) : (h(Cell, { index: rowIndex, row: rowData, column: column, isSummary: isSummary, mergedTheme: mergedTheme }))));
|
|
512
|
+
((_e = column.expandable) === null || _e === void 0 ? void 0 : _e.call(column, rowData)) ? (h(ExpandTrigger, { clsPrefix: mergedClsPrefix, expanded: expanded, onClick: () => handleUpdateExpanded(rowKey, null) })) : null) : null) : (h(Cell, { clsPrefix: mergedClsPrefix, index: rowIndex, row: rowData, column: column, isSummary: isSummary, mergedTheme: mergedTheme, renderCell: this.renderCell }))));
|
|
515
513
|
})));
|
|
516
514
|
return row;
|
|
517
515
|
};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import { PropType } from 'vue';
|
|
1
|
+
import { PropType, VNodeChild } from 'vue';
|
|
2
2
|
import { TableBaseColumn, InternalRowData } from '../interface';
|
|
3
3
|
declare const _default: import("vue").DefineComponent<{
|
|
4
|
+
clsPrefix: {
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
required: true;
|
|
7
|
+
};
|
|
4
8
|
row: {
|
|
5
9
|
type: PropType<InternalRowData>;
|
|
6
10
|
required: true;
|
|
@@ -1149,7 +1153,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1149
1153
|
}>;
|
|
1150
1154
|
required: true;
|
|
1151
1155
|
};
|
|
1156
|
+
renderCell: PropType<(value: any, rowData: object, column: any) => VNodeChild>;
|
|
1152
1157
|
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
1158
|
+
clsPrefix: {
|
|
1159
|
+
type: StringConstructor;
|
|
1160
|
+
required: true;
|
|
1161
|
+
};
|
|
1153
1162
|
row: {
|
|
1154
1163
|
type: PropType<InternalRowData>;
|
|
1155
1164
|
required: true;
|
|
@@ -2298,6 +2307,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
2298
2307
|
}>;
|
|
2299
2308
|
required: true;
|
|
2300
2309
|
};
|
|
2310
|
+
renderCell: PropType<(value: any, rowData: object, column: any) => VNodeChild>;
|
|
2301
2311
|
}>>, {
|
|
2302
2312
|
isSummary: boolean;
|
|
2303
2313
|
}>;
|
|
@@ -4,6 +4,10 @@ import { NEllipsis } from '../../../ellipsis';
|
|
|
4
4
|
export default defineComponent({
|
|
5
5
|
name: 'DataTableCell',
|
|
6
6
|
props: {
|
|
7
|
+
clsPrefix: {
|
|
8
|
+
type: String,
|
|
9
|
+
required: true
|
|
10
|
+
},
|
|
7
11
|
row: {
|
|
8
12
|
type: Object,
|
|
9
13
|
required: true
|
|
@@ -20,11 +24,13 @@ export default defineComponent({
|
|
|
20
24
|
mergedTheme: {
|
|
21
25
|
type: Object,
|
|
22
26
|
required: true
|
|
23
|
-
}
|
|
27
|
+
},
|
|
28
|
+
renderCell: Function
|
|
24
29
|
},
|
|
25
30
|
render() {
|
|
26
|
-
const { isSummary, column
|
|
31
|
+
const { isSummary, column, row, renderCell } = this;
|
|
27
32
|
let cell;
|
|
33
|
+
const { render, key, ellipsis } = column;
|
|
28
34
|
if (render && !isSummary) {
|
|
29
35
|
cell = render(row, this.index);
|
|
30
36
|
}
|
|
@@ -33,12 +39,19 @@ export default defineComponent({
|
|
|
33
39
|
cell = row[key].value;
|
|
34
40
|
}
|
|
35
41
|
else {
|
|
36
|
-
cell =
|
|
42
|
+
cell = renderCell
|
|
43
|
+
? renderCell(get(row, key), row, column)
|
|
44
|
+
: get(row, key);
|
|
37
45
|
}
|
|
38
46
|
}
|
|
39
|
-
if (ellipsis
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
if (ellipsis) {
|
|
48
|
+
if (typeof ellipsis === 'object') {
|
|
49
|
+
const { mergedTheme } = this;
|
|
50
|
+
return (h(NEllipsis, Object.assign({}, ellipsis, { theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }), { default: () => cell }));
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return (h("span", { class: `${this.clsPrefix}-data-table-td__ellipsis` }, cell));
|
|
54
|
+
}
|
|
42
55
|
}
|
|
43
56
|
return cell;
|
|
44
57
|
}
|
|
@@ -32,7 +32,9 @@ export interface FilterOption {
|
|
|
32
32
|
}
|
|
33
33
|
export declare type TmNode = TreeNode<InternalRowData>;
|
|
34
34
|
export declare type SortOrder = 'ascend' | 'descend' | false;
|
|
35
|
-
export declare type Ellipsis = boolean | EllipsisProps
|
|
35
|
+
export declare type Ellipsis = boolean | (EllipsisProps & {
|
|
36
|
+
style?: CSSProperties;
|
|
37
|
+
});
|
|
36
38
|
export interface CommonColumnInfo<T = InternalRowData> {
|
|
37
39
|
fixed?: 'left' | 'right';
|
|
38
40
|
width?: number | string;
|
|
@@ -173,6 +175,7 @@ export interface DataTableInjection {
|
|
|
173
175
|
handleTableBodyScroll: (e: Event) => void;
|
|
174
176
|
syncScrollState: (deltaX?: number, deltaY?: number) => void;
|
|
175
177
|
setHeaderScrollLeft: (scrollLeft: number) => void;
|
|
178
|
+
renderCell: Ref<undefined | ((value: any, rowData: object, column: TableBaseColumn) => VNodeChild)>;
|
|
176
179
|
}
|
|
177
180
|
export declare const dataTableInjectionKey: import("vue").InjectionKey<DataTableInjection>;
|
|
178
181
|
export interface MainTableInjection {
|
|
@@ -192,7 +195,7 @@ export declare type RenderFilterMenu = (actions: {
|
|
|
192
195
|
hide: () => void;
|
|
193
196
|
}) => VNodeChild;
|
|
194
197
|
export declare type OnUpdateExpandedRowKeys = (keys: RowKey[]) => void;
|
|
195
|
-
export declare type OnUpdateCheckedRowKeys = (keys: RowKey[]) => void;
|
|
198
|
+
export declare type OnUpdateCheckedRowKeys = (keys: RowKey[], row: InternalRowData[]) => void;
|
|
196
199
|
export declare type OnUpdateSorter = (sortState: SortState & SortState[] & null) => void;
|
|
197
200
|
export declare type OnUpdateSorterImpl = (sortState: SortState | SortState[] | null) => void;
|
|
198
201
|
export declare type OnUpdateFilters = (filterState: FilterState, sourceColumn: TableBaseColumn) => void;
|
|
@@ -202,7 +202,9 @@ c('&:last-child', 'flex-grow: 1;')])])])])])])]), c('>', [cB('base-loading', `
|
|
|
202
202
|
background-color .3s var(--n-bezier),
|
|
203
203
|
border-color .3s var(--n-bezier),
|
|
204
204
|
color .3s var(--n-bezier);
|
|
205
|
-
`, [cM('
|
|
205
|
+
`, [cM('expand', [cB('data-table-expand-trigger', `
|
|
206
|
+
margin-right: 0;
|
|
207
|
+
`)]), cM('last-row', {
|
|
206
208
|
borderBottom: '0 solid var(--n-merged-border-color)'
|
|
207
209
|
}, [// make sure there is no overlap between bottom border and
|
|
208
210
|
// fixed column box shadow
|
|
@@ -214,10 +216,13 @@ c('&::after', {
|
|
|
214
216
|
background-color: var(--n-merged-th-color);
|
|
215
217
|
`), cM('hover', {
|
|
216
218
|
backgroundColor: 'var(--n-merged-td-color-hover)'
|
|
217
|
-
}),
|
|
219
|
+
}), cE('ellipsis', `
|
|
220
|
+
display: inline-block;
|
|
218
221
|
text-overflow: ellipsis;
|
|
219
222
|
overflow: hidden;
|
|
220
223
|
white-space: nowrap;
|
|
224
|
+
max-width: 100%;
|
|
225
|
+
vertical-align: bottom;
|
|
221
226
|
`), cM('selection, expand', `
|
|
222
227
|
text-align: center;
|
|
223
228
|
padding: 0;
|
|
@@ -50,12 +50,20 @@ export function useCheck(props, data) {
|
|
|
50
50
|
});
|
|
51
51
|
function doUpdateCheckedRowKeys(keys) {
|
|
52
52
|
const { 'onUpdate:checkedRowKeys': _onUpdateCheckedRowKeys, onUpdateCheckedRowKeys, onCheckedRowKeysChange } = props;
|
|
53
|
+
const rows = [];
|
|
54
|
+
const { value: { getNode } } = treeMateRef;
|
|
55
|
+
keys.forEach((key) => {
|
|
56
|
+
var _a;
|
|
57
|
+
const row = (_a = getNode(key)) === null || _a === void 0 ? void 0 : _a.rawNode;
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
59
|
+
rows.push(row);
|
|
60
|
+
});
|
|
53
61
|
if (_onUpdateCheckedRowKeys)
|
|
54
|
-
call(_onUpdateCheckedRowKeys, keys);
|
|
62
|
+
call(_onUpdateCheckedRowKeys, keys, rows);
|
|
55
63
|
if (onUpdateCheckedRowKeys)
|
|
56
|
-
call(onUpdateCheckedRowKeys, keys);
|
|
64
|
+
call(onUpdateCheckedRowKeys, keys, rows);
|
|
57
65
|
if (onCheckedRowKeysChange)
|
|
58
|
-
call(onCheckedRowKeysChange, keys);
|
|
66
|
+
call(onCheckedRowKeysChange, keys, rows);
|
|
59
67
|
uncontrolledCheckedRowKeysRef.value = keys;
|
|
60
68
|
}
|
|
61
69
|
function doCheck(rowKey) {
|