naive-ui 2.19.7 → 2.19.11
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/es/_internal/icons/Add.js +2 -3
- package/es/_internal/selection/src/Selection.d.ts +4 -1
- package/es/_internal/selection/src/Selection.js +3 -3
- package/es/anchor/src/AnchorAdapter.d.ts +5 -0
- package/es/anchor/src/BaseAnchor.d.ts +6 -1
- package/es/anchor/src/BaseAnchor.js +8 -3
- package/es/auto-complete/src/AutoComplete.d.ts +4 -0
- package/es/auto-complete/src/AutoComplete.js +9 -2
- package/es/calendar/src/Calendar.d.ts +1 -0
- package/es/cascader/src/Cascader.js +1 -1
- package/es/cascader/src/CascaderSelectMenu.d.ts +16 -7
- package/es/cascader/src/CascaderSelectMenu.js +23 -10
- package/es/cascader/src/utils.d.ts +2 -1
- package/es/cascader/src/utils.js +5 -2
- package/es/collapse/src/Collapse.d.ts +0 -1
- package/es/collapse/src/Collapse.js +2 -5
- package/es/collapse/src/CollapseItem.js +0 -2
- package/es/color-picker/src/ColorPicker.d.ts +4 -0
- package/es/color-picker/src/ColorPicker.js +5 -2
- package/es/color-picker/src/ColorPickerSwatches.d.ts +39 -0
- package/es/color-picker/src/ColorPickerSwatches.js +142 -0
- package/es/color-picker/src/styles/index.cssr.js +20 -0
- package/es/config-provider/src/ConfigProvider.d.ts +8 -1
- package/es/config-provider/src/ConfigProvider.js +8 -2
- package/es/config-provider/src/config.d.ts +8 -0
- package/es/config-provider/src/config.js +8 -0
- package/es/config-provider/src/internal-interface.d.ts +4 -0
- package/es/data-table/src/TableParts/Body.d.ts +8 -2
- package/es/data-table/src/TableParts/Body.js +4 -4
- package/es/data-table/src/TableParts/Header.d.ts +8 -2
- package/es/data-table/src/TableParts/Header.js +7 -4
- package/es/data-table/src/interface.d.ts +8 -2
- package/es/data-table/src/use-group-header.js +12 -8
- package/es/data-table/src/use-scroll.d.ts +11 -5
- package/es/data-table/src/use-scroll.js +37 -10
- package/es/date-picker/src/DatePicker.js +3 -0
- package/es/date-picker/src/panel/date.d.ts +1 -0
- package/es/date-picker/src/panel/daterange.d.ts +1 -0
- package/es/date-picker/src/panel/datetime.d.ts +1 -0
- package/es/date-picker/src/panel/datetimerange.d.ts +1 -0
- package/es/date-picker/src/panel/month.d.ts +1 -0
- package/es/date-picker/src/panel/use-calendar.d.ts +1 -0
- package/es/date-picker/src/panel/use-dual-calendar.d.ts +1 -0
- package/es/date-picker/src/panel/use-panel-common.d.ts +1 -0
- package/es/dialog/src/styles/index.cssr.js +1 -0
- package/es/ellipsis/src/Ellipsis.js +3 -1
- package/es/grid/src/Grid.d.ts +1 -1
- package/es/grid/src/Grid.js +4 -3
- package/es/input/src/Input.d.ts +1 -1
- package/es/input/src/Input.js +3 -8
- package/es/input/src/WordCount.js +22 -7
- package/es/input/src/interface.d.ts +1 -1
- package/es/input-number/index.d.ts +1 -0
- package/es/input-number/src/InputNumber.d.ts +2 -0
- package/es/input-number/src/InputNumber.js +10 -22
- package/es/input-number/src/interface.d.ts +4 -0
- package/es/locales/common/enUS.d.ts +1 -0
- package/es/locales/common/enUS.js +1 -0
- package/es/locales/common/jaJP.d.ts +3 -0
- package/es/locales/common/jaJP.js +93 -0
- package/es/locales/common/ruRU.js +1 -0
- package/es/locales/common/ukUA.js +1 -0
- package/es/locales/common/zhCN.js +1 -0
- package/es/locales/date/jaJP.d.ts +3 -0
- package/es/locales/date/jaJP.js +6 -0
- package/es/locales/index.d.ts +2 -0
- package/es/locales/index.js +2 -0
- package/es/menu/src/Menu.d.ts +8 -1
- package/es/menu/src/Menu.js +4 -2
- package/es/menu/src/MenuOption.d.ts +2 -0
- package/es/menu/src/MenuOptionContent.d.ts +2 -0
- package/es/menu/src/Submenu.d.ts +2 -0
- package/es/menu/src/Submenu.js +3 -2
- package/es/rate/src/Rate.d.ts +2 -2
- package/es/scrollbar/src/ScrollBar.d.ts +14 -4
- package/es/scrollbar/src/ScrollBar.js +13 -3
- package/es/select/src/Select.d.ts +5 -1
- package/es/select/src/Select.js +2 -2
- package/es/table/src/Table.d.ts +2 -8
- package/es/table/src/Table.js +1 -4
- package/es/tabs/src/Tab.js +18 -2
- package/es/tabs/src/Tabs.d.ts +5 -1
- package/es/tabs/src/Tabs.js +4 -1
- package/es/tabs/src/interface.d.ts +6 -0
- package/es/time-picker/src/Panel.d.ts +30 -8
- package/es/time-picker/src/Panel.js +101 -33
- package/es/time-picker/src/PanelCol.d.ts +6 -9
- package/es/time-picker/src/PanelCol.js +7 -9
- package/es/time-picker/src/TimePicker.d.ts +21 -16
- package/es/time-picker/src/TimePicker.js +63 -36
- package/es/time-picker/src/interface.d.ts +7 -0
- package/es/time-picker/src/utils.d.ts +4 -1
- package/es/time-picker/src/utils.js +67 -4
- package/es/tree/src/Tree.d.ts +2 -2
- package/es/upload/src/Upload.d.ts +15 -11
- package/es/upload/src/Upload.js +16 -7
- package/es/upload/src/UploadFile.js +1 -1
- package/es/upload/src/UploadFileList.js +1 -3
- package/es/upload/src/UploadTrigger.js +13 -5
- package/es/upload/src/interface.d.ts +1 -1
- package/es/upload/src/styles/index.cssr.js +3 -1
- package/es/version.d.ts +1 -1
- package/es/version.js +1 -1
- package/lib/_internal/icons/Add.js +2 -3
- package/lib/_internal/selection/src/Selection.d.ts +4 -1
- package/lib/_internal/selection/src/Selection.js +3 -3
- package/lib/anchor/src/AnchorAdapter.d.ts +5 -0
- package/lib/anchor/src/BaseAnchor.d.ts +6 -1
- package/lib/anchor/src/BaseAnchor.js +7 -2
- package/lib/auto-complete/src/AutoComplete.d.ts +4 -0
- package/lib/auto-complete/src/AutoComplete.js +9 -2
- package/lib/calendar/src/Calendar.d.ts +1 -0
- package/lib/cascader/src/Cascader.js +1 -1
- package/lib/cascader/src/CascaderSelectMenu.d.ts +16 -7
- package/lib/cascader/src/CascaderSelectMenu.js +23 -10
- package/lib/cascader/src/utils.d.ts +2 -1
- package/lib/cascader/src/utils.js +5 -2
- package/lib/collapse/src/Collapse.d.ts +0 -1
- package/lib/collapse/src/Collapse.js +2 -5
- package/lib/collapse/src/CollapseItem.js +0 -2
- package/lib/color-picker/src/ColorPicker.d.ts +4 -0
- package/lib/color-picker/src/ColorPicker.js +5 -2
- package/lib/color-picker/src/ColorPickerSwatches.d.ts +39 -0
- package/lib/color-picker/src/ColorPickerSwatches.js +144 -0
- package/lib/color-picker/src/styles/index.cssr.js +20 -0
- package/lib/config-provider/src/ConfigProvider.d.ts +8 -1
- package/lib/config-provider/src/ConfigProvider.js +8 -2
- package/lib/config-provider/src/config.d.ts +8 -0
- package/lib/config-provider/src/config.js +11 -0
- package/lib/config-provider/src/internal-interface.d.ts +4 -0
- package/lib/data-table/src/TableParts/Body.d.ts +8 -2
- package/lib/data-table/src/TableParts/Body.js +4 -4
- package/lib/data-table/src/TableParts/Header.d.ts +8 -2
- package/lib/data-table/src/TableParts/Header.js +7 -4
- package/lib/data-table/src/interface.d.ts +8 -2
- package/lib/data-table/src/use-group-header.js +12 -8
- package/lib/data-table/src/use-scroll.d.ts +11 -5
- package/lib/data-table/src/use-scroll.js +37 -10
- package/lib/date-picker/src/DatePicker.js +3 -0
- package/lib/date-picker/src/panel/date.d.ts +1 -0
- package/lib/date-picker/src/panel/daterange.d.ts +1 -0
- package/lib/date-picker/src/panel/datetime.d.ts +1 -0
- package/lib/date-picker/src/panel/datetimerange.d.ts +1 -0
- package/lib/date-picker/src/panel/month.d.ts +1 -0
- package/lib/date-picker/src/panel/use-calendar.d.ts +1 -0
- package/lib/date-picker/src/panel/use-dual-calendar.d.ts +1 -0
- package/lib/date-picker/src/panel/use-panel-common.d.ts +1 -0
- package/lib/dialog/src/styles/index.cssr.js +1 -0
- package/lib/ellipsis/src/Ellipsis.js +3 -1
- package/lib/grid/src/Grid.d.ts +1 -1
- package/lib/grid/src/Grid.js +4 -3
- package/lib/input/src/Input.d.ts +1 -1
- package/lib/input/src/Input.js +2 -7
- package/lib/input/src/WordCount.js +21 -6
- package/lib/input/src/interface.d.ts +1 -1
- package/lib/input-number/index.d.ts +1 -0
- package/lib/input-number/src/InputNumber.d.ts +2 -0
- package/lib/input-number/src/InputNumber.js +10 -22
- package/lib/input-number/src/interface.d.ts +4 -0
- package/lib/locales/common/enUS.d.ts +1 -0
- package/lib/locales/common/enUS.js +1 -0
- package/lib/locales/common/jaJP.d.ts +3 -0
- package/lib/locales/common/jaJP.js +95 -0
- package/lib/locales/common/ruRU.js +1 -0
- package/lib/locales/common/ukUA.js +1 -0
- package/lib/locales/common/zhCN.js +1 -0
- package/lib/locales/date/jaJP.d.ts +3 -0
- package/lib/locales/date/jaJP.js +8 -0
- package/lib/locales/index.d.ts +2 -0
- package/lib/locales/index.js +5 -1
- package/lib/menu/src/Menu.d.ts +8 -1
- package/lib/menu/src/Menu.js +4 -2
- package/lib/menu/src/MenuOption.d.ts +2 -0
- package/lib/menu/src/MenuOptionContent.d.ts +2 -0
- package/lib/menu/src/Submenu.d.ts +2 -0
- package/lib/menu/src/Submenu.js +3 -2
- package/lib/rate/src/Rate.d.ts +2 -2
- package/lib/scrollbar/src/ScrollBar.d.ts +14 -4
- package/lib/scrollbar/src/ScrollBar.js +12 -2
- package/lib/select/src/Select.d.ts +5 -1
- package/lib/select/src/Select.js +2 -2
- package/lib/table/src/Table.d.ts +2 -8
- package/lib/table/src/Table.js +1 -4
- package/lib/tabs/src/Tab.js +18 -2
- package/lib/tabs/src/Tabs.d.ts +5 -1
- package/lib/tabs/src/Tabs.js +4 -1
- package/lib/tabs/src/interface.d.ts +6 -0
- package/lib/time-picker/src/Panel.d.ts +30 -8
- package/lib/time-picker/src/Panel.js +100 -32
- package/lib/time-picker/src/PanelCol.d.ts +6 -9
- package/lib/time-picker/src/PanelCol.js +7 -9
- package/lib/time-picker/src/TimePicker.d.ts +21 -16
- package/lib/time-picker/src/TimePicker.js +61 -34
- package/lib/time-picker/src/interface.d.ts +7 -0
- package/lib/time-picker/src/utils.d.ts +4 -1
- package/lib/time-picker/src/utils.js +69 -5
- package/lib/tree/src/Tree.d.ts +2 -2
- package/lib/upload/src/Upload.d.ts +15 -11
- package/lib/upload/src/Upload.js +16 -7
- package/lib/upload/src/UploadFile.js +1 -1
- package/lib/upload/src/UploadFileList.js +1 -3
- package/lib/upload/src/UploadTrigger.js +13 -5
- package/lib/upload/src/interface.d.ts +1 -1
- package/lib/upload/src/styles/index.cssr.js +3 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +7 -4
- package/web-types.json +68 -1
|
@@ -4,7 +4,6 @@ const vue_1 = require("vue");
|
|
|
4
4
|
const seemly_1 = require("seemly");
|
|
5
5
|
const vooks_1 = require("vooks");
|
|
6
6
|
const icons_1 = require("../../_internal/icons");
|
|
7
|
-
const composable_1 = require("../../_utils/composable");
|
|
8
7
|
const _internal_1 = require("../../_internal");
|
|
9
8
|
const _utils_1 = require("../../_utils");
|
|
10
9
|
const Collapse_1 = require("./Collapse");
|
|
@@ -28,7 +27,6 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
28
27
|
(0, _utils_1.throwError)('collapse-item', '`n-collapse-item` must be placed inside `n-collapse`.');
|
|
29
28
|
}
|
|
30
29
|
const { expandedNamesRef, props: collapseProps, mergedClsPrefixRef, slots: collapseSlots } = NCollapse;
|
|
31
|
-
(0, composable_1.useInjectionCollection)(Collapse_1.collapseInjectionKey, 'collectedItemNames', mergedNameRef);
|
|
32
30
|
const collapsedRef = (0, vue_1.computed)(() => {
|
|
33
31
|
const { value: expandedNames } = expandedNamesRef;
|
|
34
32
|
if (Array.isArray(expandedNames)) {
|
|
@@ -28,6 +28,7 @@ export declare const colorPickerPanelProps: {
|
|
|
28
28
|
readonly type: BooleanConstructor;
|
|
29
29
|
readonly default: true;
|
|
30
30
|
};
|
|
31
|
+
readonly swatches: PropType<string[]>;
|
|
31
32
|
readonly actions: {
|
|
32
33
|
readonly type: PropType<"confirm"[]>;
|
|
33
34
|
readonly default: null;
|
|
@@ -878,6 +879,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
878
879
|
readonly type: BooleanConstructor;
|
|
879
880
|
readonly default: true;
|
|
880
881
|
};
|
|
882
|
+
readonly swatches: PropType<string[]>;
|
|
881
883
|
readonly actions: {
|
|
882
884
|
readonly type: PropType<"confirm"[]>;
|
|
883
885
|
readonly default: null;
|
|
@@ -1735,6 +1737,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1735
1737
|
readonly modes?: unknown;
|
|
1736
1738
|
readonly to?: unknown;
|
|
1737
1739
|
readonly showAlpha?: unknown;
|
|
1740
|
+
readonly swatches?: unknown;
|
|
1738
1741
|
readonly actions?: unknown;
|
|
1739
1742
|
readonly internalActions?: unknown;
|
|
1740
1743
|
readonly size?: unknown;
|
|
@@ -2575,6 +2578,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
2575
2578
|
"onUpdate:value"?: MaybeArray<OnUpdateValue> | undefined;
|
|
2576
2579
|
onUpdateValue?: MaybeArray<OnUpdateValue> | undefined;
|
|
2577
2580
|
onComplete?: OnUpdateValue | undefined;
|
|
2581
|
+
swatches?: string[] | undefined;
|
|
2578
2582
|
internalActions?: readonly ("undo" | "redo")[] | undefined;
|
|
2579
2583
|
}>, {
|
|
2580
2584
|
show: boolean | undefined;
|
|
@@ -17,6 +17,7 @@ const ColorPickerTrigger_1 = require("./ColorPickerTrigger");
|
|
|
17
17
|
const utils_1 = require("./utils");
|
|
18
18
|
const index_cssr_1 = require("./styles/index.cssr");
|
|
19
19
|
const button_1 = require("../../button");
|
|
20
|
+
const ColorPickerSwatches_1 = require("./ColorPickerSwatches");
|
|
20
21
|
exports.colorPickerPanelProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), { value: String, show: {
|
|
21
22
|
type: Boolean,
|
|
22
23
|
default: undefined
|
|
@@ -30,7 +31,7 @@ exports.colorPickerPanelProps = Object.assign(Object.assign({}, _mixins_1.useThe
|
|
|
30
31
|
}, to: _utils_1.useAdjustedTo.propTo, showAlpha: {
|
|
31
32
|
type: Boolean,
|
|
32
33
|
default: true
|
|
33
|
-
}, actions: {
|
|
34
|
+
}, swatches: Array, actions: {
|
|
34
35
|
type: Array,
|
|
35
36
|
default: null
|
|
36
37
|
}, internalActions: Array, size: String, onComplete: Function, 'onUpdate:show': [Function, Array], onUpdateShow: [Function, Array], 'onUpdate:value': [Function, Array], onUpdateValue: [Function, Array] });
|
|
@@ -343,6 +344,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
343
344
|
};
|
|
344
345
|
});
|
|
345
346
|
function renderPanel() {
|
|
347
|
+
var _a;
|
|
346
348
|
const { value: rgba } = rgbaRef;
|
|
347
349
|
const { value: displayedHue } = displayedHueRef;
|
|
348
350
|
const { internalActions, modes, actions } = props;
|
|
@@ -355,7 +357,8 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
355
357
|
(0, vue_1.h)(Pallete_1.default, { clsPrefix: mergedClsPrefix, rgba: rgba, displayedHue: displayedHue, displayedSv: displayedSvRef.value, onUpdateSV: handleUpdateSv, onComplete: handleComplete }),
|
|
356
358
|
(0, vue_1.h)(HueSlider_1.default, { clsPrefix: mergedClsPrefix, hue: displayedHue, onUpdateHue: handleUpdateHue, onComplete: handleComplete }),
|
|
357
359
|
props.showAlpha ? ((0, vue_1.h)(AlphaSlider_1.default, { clsPrefix: mergedClsPrefix, rgba: rgba, alpha: displayedAlphaRef.value, onUpdateAlpha: handleUpdateAlpha, onComplete: handleComplete })) : null,
|
|
358
|
-
(0, vue_1.h)(ColorInput_1.default, { clsPrefix: mergedClsPrefix, showAlpha: props.showAlpha, mode: displayedModeRef.value, modes: modes, onUpdateMode: handleUpdateDisplayedMode, value: mergedValueRef.value, valueArr: mergedValueArrRef.value, onUpdateValue: handleInputUpdateValue })
|
|
360
|
+
(0, vue_1.h)(ColorInput_1.default, { clsPrefix: mergedClsPrefix, showAlpha: props.showAlpha, mode: displayedModeRef.value, modes: modes, onUpdateMode: handleUpdateDisplayedMode, value: mergedValueRef.value, valueArr: mergedValueArrRef.value, onUpdateValue: handleInputUpdateValue }),
|
|
361
|
+
((_a = props.swatches) === null || _a === void 0 ? void 0 : _a.length) && ((0, vue_1.h)(ColorPickerSwatches_1.default, { clsPrefix: mergedClsPrefix, mode: displayedModeRef.value, swatches: props.swatches, onUpdateColor: (color) => doUpdateValue(color, 'input') }))),
|
|
359
362
|
(actions === null || actions === void 0 ? void 0 : actions.length) ? ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-color-picker-action` }, actions.includes('confirm') && ((0, vue_1.h)(button_1.NButton, { size: "small", onClick: handleConfirm, theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button }, { default: () => localeRef.value.confirm })))) : null,
|
|
360
363
|
slots.action ? ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-color-picker-action` }, { default: slots.action })) : internalActions ? ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-color-picker-action` },
|
|
361
364
|
internalActions.includes('undo') && ((0, vue_1.h)(button_1.NButton, { size: "small", onClick: undo, disabled: !undoableRef.value, theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button }, { default: () => localeRef.value.undo })),
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { ColorPickerMode } from './utils';
|
|
3
|
+
interface ParsedColor {
|
|
4
|
+
value: string;
|
|
5
|
+
mode: ColorPickerMode | null;
|
|
6
|
+
legalValue: string;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: import("vue").DefineComponent<{
|
|
9
|
+
clsPrefix: {
|
|
10
|
+
type: StringConstructor;
|
|
11
|
+
required: true;
|
|
12
|
+
};
|
|
13
|
+
mode: {
|
|
14
|
+
type: PropType<ColorPickerMode>;
|
|
15
|
+
required: true;
|
|
16
|
+
};
|
|
17
|
+
swatches: {
|
|
18
|
+
type: PropType<string[]>;
|
|
19
|
+
required: true;
|
|
20
|
+
};
|
|
21
|
+
onUpdateColor: {
|
|
22
|
+
type: PropType<(value: string) => void>;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
}, {
|
|
26
|
+
parsedSwatchesRef: import("vue").ComputedRef<ParsedColor[]>;
|
|
27
|
+
handleSwatchSelect: (parsed: ParsedColor) => void;
|
|
28
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
29
|
+
clsPrefix?: unknown;
|
|
30
|
+
mode?: unknown;
|
|
31
|
+
swatches?: unknown;
|
|
32
|
+
onUpdateColor?: unknown;
|
|
33
|
+
} & {
|
|
34
|
+
mode: ColorPickerMode;
|
|
35
|
+
clsPrefix: string;
|
|
36
|
+
swatches: string[];
|
|
37
|
+
onUpdateColor: (value: string) => void;
|
|
38
|
+
} & {}>, {}>;
|
|
39
|
+
export default _default;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vue_1 = require("vue");
|
|
4
|
+
const seemly_1 = require("seemly");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
const _utils_1 = require("../../_utils");
|
|
7
|
+
// Try to normalize the color values to ensure that they are valid CSS colors
|
|
8
|
+
function normalizeColor(color, mode) {
|
|
9
|
+
if (mode === 'hsv') {
|
|
10
|
+
const [h, s, v, a] = (0, seemly_1.hsva)(color);
|
|
11
|
+
return (0, seemly_1.toRgbaString)([...(0, seemly_1.hsv2rgb)(h, s, v), a]);
|
|
12
|
+
}
|
|
13
|
+
// For the mode that is not in preset, we keep the original value.
|
|
14
|
+
// For color names, they are legal to CSS, so we don’t deal with them,
|
|
15
|
+
// and only standardize them when outputting.
|
|
16
|
+
return color;
|
|
17
|
+
}
|
|
18
|
+
function getHexFromName(color) {
|
|
19
|
+
const ctx = document
|
|
20
|
+
.createElement('canvas')
|
|
21
|
+
.getContext('2d');
|
|
22
|
+
ctx.fillStyle = color;
|
|
23
|
+
return ctx.fillStyle;
|
|
24
|
+
}
|
|
25
|
+
const covert = {
|
|
26
|
+
rgb: {
|
|
27
|
+
hex(swatchValue) {
|
|
28
|
+
return (0, seemly_1.toHexaString)((0, seemly_1.rgba)(swatchValue));
|
|
29
|
+
},
|
|
30
|
+
hsl(swatchValue) {
|
|
31
|
+
const [r, g, b, a] = (0, seemly_1.rgba)(swatchValue);
|
|
32
|
+
return (0, seemly_1.toHslaString)([...(0, seemly_1.rgb2hsl)(r, g, b), a]);
|
|
33
|
+
},
|
|
34
|
+
hsv(swatchValue) {
|
|
35
|
+
const [r, g, b, a] = (0, seemly_1.rgba)(swatchValue);
|
|
36
|
+
return (0, seemly_1.toHsvaString)([...(0, seemly_1.rgb2hsv)(r, g, b), a]);
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
hex: {
|
|
40
|
+
rgb(swatchValue) {
|
|
41
|
+
return (0, seemly_1.toRgbaString)((0, seemly_1.rgba)(swatchValue));
|
|
42
|
+
},
|
|
43
|
+
hsl(swatchValue) {
|
|
44
|
+
const [r, g, b, a] = (0, seemly_1.rgba)(swatchValue);
|
|
45
|
+
return (0, seemly_1.toHslaString)([...(0, seemly_1.rgb2hsl)(r, g, b), a]);
|
|
46
|
+
},
|
|
47
|
+
hsv(swatchValue) {
|
|
48
|
+
const [r, g, b, a] = (0, seemly_1.rgba)(swatchValue);
|
|
49
|
+
return (0, seemly_1.toHsvaString)([...(0, seemly_1.rgb2hsv)(r, g, b), a]);
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
hsl: {
|
|
53
|
+
hex(swatchValue) {
|
|
54
|
+
const [h, s, l, a] = (0, seemly_1.hsla)(swatchValue);
|
|
55
|
+
return (0, seemly_1.toHexaString)([...(0, seemly_1.hsl2rgb)(h, s, l), a]);
|
|
56
|
+
},
|
|
57
|
+
rgb(swatchValue) {
|
|
58
|
+
const [h, s, l, a] = (0, seemly_1.hsla)(swatchValue);
|
|
59
|
+
return (0, seemly_1.toRgbaString)([...(0, seemly_1.hsl2rgb)(h, s, l), a]);
|
|
60
|
+
},
|
|
61
|
+
hsv(swatchValue) {
|
|
62
|
+
const [h, s, l, a] = (0, seemly_1.hsla)(swatchValue);
|
|
63
|
+
return (0, seemly_1.toHsvaString)([...(0, seemly_1.hsl2hsv)(h, s, l), a]);
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
hsv: {
|
|
67
|
+
hex(swatchValue) {
|
|
68
|
+
const [h, s, v, a] = (0, seemly_1.hsva)(swatchValue);
|
|
69
|
+
return (0, seemly_1.toHexaString)([...(0, seemly_1.hsv2rgb)(h, s, v), a]);
|
|
70
|
+
},
|
|
71
|
+
rgb(swatchValue) {
|
|
72
|
+
const [h, s, v, a] = (0, seemly_1.hsva)(swatchValue);
|
|
73
|
+
return (0, seemly_1.toRgbaString)([...(0, seemly_1.hsv2rgb)(h, s, v), a]);
|
|
74
|
+
},
|
|
75
|
+
hsl(swatchValue) {
|
|
76
|
+
const [h, s, v, a] = (0, seemly_1.hsva)(swatchValue);
|
|
77
|
+
return (0, seemly_1.toHslaString)([...(0, seemly_1.hsv2hsl)(h, s, v), a]);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
exports.default = (0, vue_1.defineComponent)({
|
|
82
|
+
name: 'ColorPickerSwatches',
|
|
83
|
+
props: {
|
|
84
|
+
clsPrefix: {
|
|
85
|
+
type: String,
|
|
86
|
+
required: true
|
|
87
|
+
},
|
|
88
|
+
mode: {
|
|
89
|
+
type: String,
|
|
90
|
+
required: true
|
|
91
|
+
},
|
|
92
|
+
swatches: {
|
|
93
|
+
type: Array,
|
|
94
|
+
required: true
|
|
95
|
+
},
|
|
96
|
+
onUpdateColor: {
|
|
97
|
+
type: Function,
|
|
98
|
+
required: true
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
setup(props) {
|
|
102
|
+
const parsedSwatchesRef = (0, vue_1.computed)(() => props.swatches.map((value) => {
|
|
103
|
+
const mode = (0, utils_1.getModeFromValue)(value);
|
|
104
|
+
return {
|
|
105
|
+
value,
|
|
106
|
+
mode,
|
|
107
|
+
legalValue: normalizeColor(value, mode)
|
|
108
|
+
};
|
|
109
|
+
}));
|
|
110
|
+
function normalizeOutput(parsed) {
|
|
111
|
+
const { mode: modeProp } = props;
|
|
112
|
+
let { value, mode: swatchColorMode } = parsed;
|
|
113
|
+
// color name is converted to hex
|
|
114
|
+
if (!swatchColorMode) {
|
|
115
|
+
swatchColorMode = 'hex';
|
|
116
|
+
if (/^[a-zA-Z]+$/.test(value)) {
|
|
117
|
+
value = getHexFromName(value);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
// for invalid color, we make it black
|
|
121
|
+
(0, _utils_1.warn)('color-picker', `color ${value} in swatches is invalid.`);
|
|
122
|
+
value = '#000000';
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (swatchColorMode === modeProp)
|
|
126
|
+
return value;
|
|
127
|
+
// swatch value to current mode value
|
|
128
|
+
const conversions = covert[swatchColorMode];
|
|
129
|
+
return conversions[modeProp](value);
|
|
130
|
+
}
|
|
131
|
+
function handleSwatchSelect(parsed) {
|
|
132
|
+
props.onUpdateColor(normalizeOutput(parsed));
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
parsedSwatchesRef,
|
|
136
|
+
handleSwatchSelect
|
|
137
|
+
};
|
|
138
|
+
},
|
|
139
|
+
render() {
|
|
140
|
+
const { clsPrefix } = this;
|
|
141
|
+
return ((0, vue_1.h)("div", { class: `${clsPrefix}-color-picker-swatches` }, this.parsedSwatchesRef.map((swatch) => ((0, vue_1.h)("div", { class: `${clsPrefix}-color-picker-swatch`, onClick: () => this.handleSwatchSelect(swatch) },
|
|
142
|
+
(0, vue_1.h)("div", { class: `${clsPrefix}-color-picker-swatch__fill`, style: { background: swatch.legalValue } }))))));
|
|
143
|
+
}
|
|
144
|
+
});
|
|
@@ -140,4 +140,24 @@ exports.default = (0, cssr_1.c)([(0, cssr_1.cB)('color-picker', `
|
|
|
140
140
|
--block-size: calc((var(--height) - 8px) / 3);
|
|
141
141
|
background-size: calc(var(--block-size) * 2) calc(var(--block-size) * 2);
|
|
142
142
|
background-position: 0 0, 0 var(--block-size), var(--block-size) calc(-1 * var(--block-size)), calc(-1 * var(--block-size)) 0px;
|
|
143
|
+
`)])]), (0, cssr_1.cB)('color-picker-swatches', `
|
|
144
|
+
display: grid;
|
|
145
|
+
grid-gap: 8px;
|
|
146
|
+
flex-wrap: wrap;
|
|
147
|
+
position: relative;
|
|
148
|
+
grid-template-columns: repeat(auto-fill, 18px);
|
|
149
|
+
margin-top: 10px;
|
|
150
|
+
`, [(0, cssr_1.cB)('color-picker-swatch', `
|
|
151
|
+
width: 18px;
|
|
152
|
+
height: 18px;
|
|
153
|
+
background-image: linear-gradient(45deg, #DDD 25%, #0000 25%), linear-gradient(-45deg, #DDD 25%, #0000 25%), linear-gradient(45deg, #0000 75%, #DDD 75%), linear-gradient(-45deg, #0000 75%, #DDD 75%);
|
|
154
|
+
background-size: 8px 8px;
|
|
155
|
+
background-position: 0px 0, 0px 4px, 4px -4px, -4px 0px;
|
|
156
|
+
background-repeat: repeat;
|
|
157
|
+
`, [(0, cssr_1.cE)('fill', `
|
|
158
|
+
width: 100%;
|
|
159
|
+
height: 100%;
|
|
160
|
+
border-radius: 3px;
|
|
161
|
+
box-shadow: rgba(0, 0, 0, .15) 0px 0px 0px 1px inset;
|
|
162
|
+
cursor: pointer;
|
|
143
163
|
`)])])]);
|
|
@@ -2,7 +2,7 @@ import { PropType, InjectionKey, ComputedRef } from 'vue';
|
|
|
2
2
|
import { ExtractPublicPropTypes } from '../../_utils';
|
|
3
3
|
import { Hljs } from '../../_mixins';
|
|
4
4
|
import type { GlobalTheme, GlobalThemeOverrides, GlobalComponentConfig, GlobalIconConfig } from './interface';
|
|
5
|
-
import type { ConfigProviderInjection, RtlProp } from './internal-interface';
|
|
5
|
+
import type { ConfigProviderInjection, RtlProp, Breakpoints } from './internal-interface';
|
|
6
6
|
import { NDateLocale } from '../../locales';
|
|
7
7
|
export declare const configProviderInjectionKey: InjectionKey<ConfigProviderInjection>;
|
|
8
8
|
export declare const configProviderProps: {
|
|
@@ -43,6 +43,7 @@ export declare const configProviderProps: {
|
|
|
43
43
|
selectDate: string;
|
|
44
44
|
datePlaceholder: string;
|
|
45
45
|
datetimePlaceholder: string;
|
|
46
|
+
monthPlaceholder: string;
|
|
46
47
|
startDatePlaceholder: string;
|
|
47
48
|
endDatePlaceholder: string;
|
|
48
49
|
startDatetimePlaceholder: string;
|
|
@@ -115,6 +116,7 @@ export declare const configProviderProps: {
|
|
|
115
116
|
readonly themeOverrides: PropType<GlobalThemeOverrides | null>;
|
|
116
117
|
readonly componentOptions: PropType<GlobalComponentConfig>;
|
|
117
118
|
readonly icons: PropType<GlobalIconConfig>;
|
|
119
|
+
readonly breakpoints: PropType<Breakpoints>;
|
|
118
120
|
readonly as: {
|
|
119
121
|
readonly type: PropType<string | undefined>;
|
|
120
122
|
readonly validator: () => boolean;
|
|
@@ -160,6 +162,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
160
162
|
selectDate: string;
|
|
161
163
|
datePlaceholder: string;
|
|
162
164
|
datetimePlaceholder: string;
|
|
165
|
+
monthPlaceholder: string;
|
|
163
166
|
startDatePlaceholder: string;
|
|
164
167
|
endDatePlaceholder: string;
|
|
165
168
|
startDatetimePlaceholder: string;
|
|
@@ -232,6 +235,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
232
235
|
readonly themeOverrides: PropType<GlobalThemeOverrides | null>;
|
|
233
236
|
readonly componentOptions: PropType<GlobalComponentConfig>;
|
|
234
237
|
readonly icons: PropType<GlobalIconConfig>;
|
|
238
|
+
readonly breakpoints: PropType<Breakpoints>;
|
|
235
239
|
readonly as: {
|
|
236
240
|
readonly type: PropType<string | undefined>;
|
|
237
241
|
readonly validator: () => boolean;
|
|
@@ -257,6 +261,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
257
261
|
readonly themeOverrides?: unknown;
|
|
258
262
|
readonly componentOptions?: unknown;
|
|
259
263
|
readonly icons?: unknown;
|
|
264
|
+
readonly breakpoints?: unknown;
|
|
260
265
|
readonly as?: unknown;
|
|
261
266
|
} & {
|
|
262
267
|
abstract: boolean;
|
|
@@ -300,6 +305,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
300
305
|
selectDate: string;
|
|
301
306
|
datePlaceholder: string;
|
|
302
307
|
datetimePlaceholder: string;
|
|
308
|
+
monthPlaceholder: string;
|
|
303
309
|
startDatePlaceholder: string;
|
|
304
310
|
endDatePlaceholder: string;
|
|
305
311
|
startDatetimePlaceholder: string;
|
|
@@ -364,6 +370,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
364
370
|
hljs?: Hljs | undefined;
|
|
365
371
|
componentOptions?: GlobalComponentConfig | undefined;
|
|
366
372
|
icons?: GlobalIconConfig | undefined;
|
|
373
|
+
breakpoints?: Breakpoints;
|
|
367
374
|
}>, {
|
|
368
375
|
abstract: boolean;
|
|
369
376
|
tag: string;
|
|
@@ -27,6 +27,7 @@ exports.configProviderProps = {
|
|
|
27
27
|
themeOverrides: Object,
|
|
28
28
|
componentOptions: Object,
|
|
29
29
|
icons: Object,
|
|
30
|
+
breakpoints: Object,
|
|
30
31
|
// deprecated
|
|
31
32
|
as: {
|
|
32
33
|
type: String,
|
|
@@ -98,9 +99,10 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
98
99
|
return NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedComponentPropsRef.value;
|
|
99
100
|
});
|
|
100
101
|
const mergedClsPrefixRef = (0, vue_1.computed)(() => {
|
|
101
|
-
var _a;
|
|
102
102
|
const { clsPrefix } = props;
|
|
103
|
-
|
|
103
|
+
if (clsPrefix !== undefined)
|
|
104
|
+
return clsPrefix;
|
|
105
|
+
return NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedClsPrefixRef.value;
|
|
104
106
|
});
|
|
105
107
|
const mergedRtlRef = (0, vue_1.computed)(() => {
|
|
106
108
|
const { rtl } = props;
|
|
@@ -113,7 +115,11 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
113
115
|
}
|
|
114
116
|
return rtlEnabledState;
|
|
115
117
|
});
|
|
118
|
+
const mergedBreakpointsRef = (0, vue_1.computed)(() => {
|
|
119
|
+
return props.breakpoints || (NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedBreakpointsRef.value);
|
|
120
|
+
});
|
|
116
121
|
(0, vue_1.provide)(exports.configProviderInjectionKey, {
|
|
122
|
+
mergedBreakpointsRef,
|
|
117
123
|
mergedRtlRef,
|
|
118
124
|
mergedIconsRef,
|
|
119
125
|
mergedComponentPropsRef,
|
|
@@ -210,7 +210,11 @@ export interface RtlItem {
|
|
|
210
210
|
}
|
|
211
211
|
export declare type RtlProp = RtlItem[];
|
|
212
212
|
export declare type RtlEnabledState = Partial<Record<keyof GlobalThemeWithoutCommon, RtlItem>>;
|
|
213
|
+
export declare type Breakpoints = {
|
|
214
|
+
[k: string]: number;
|
|
215
|
+
} | undefined;
|
|
213
216
|
export interface ConfigProviderInjection {
|
|
217
|
+
mergedBreakpointsRef: Ref<Breakpoints | undefined>;
|
|
214
218
|
mergedClsPrefixRef: Ref<string | undefined>;
|
|
215
219
|
mergedBorderedRef: Ref<boolean | undefined>;
|
|
216
220
|
mergedNamespaceRef: Ref<string | undefined>;
|
|
@@ -962,8 +962,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
962
962
|
cols: import("vue").Ref<ColItem[]>;
|
|
963
963
|
paginatedData: import("vue").Ref<TmNode[]>;
|
|
964
964
|
rawPaginatedData: import("vue").Ref<import("../interface").InternalRowData[]>;
|
|
965
|
-
fixedColumnLeftMap: import("vue").Ref<Record<import("../interface").ColumnKey,
|
|
966
|
-
|
|
965
|
+
fixedColumnLeftMap: import("vue").Ref<Record<import("../interface").ColumnKey, {
|
|
966
|
+
start: number;
|
|
967
|
+
end: number;
|
|
968
|
+
} | undefined>>;
|
|
969
|
+
fixedColumnRightMap: import("vue").Ref<Record<import("../interface").ColumnKey, {
|
|
970
|
+
start: number;
|
|
971
|
+
end: number;
|
|
972
|
+
} | undefined>>;
|
|
967
973
|
currentPage: import("vue").Ref<number>;
|
|
968
974
|
rowClassName: import("vue").Ref<string | import("../interface").CreateRowClassName<import("../interface").InternalRowData> | undefined>;
|
|
969
975
|
renderExpand: import("vue").Ref<import("../interface").RenderExpand<import("../interface").InternalRowData> | undefined>;
|
|
@@ -270,7 +270,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
270
270
|
const expanded = mergedExpandedRowKeys.includes(rowKey);
|
|
271
271
|
const showExpandContent = renderExpand && expanded;
|
|
272
272
|
const colNodes = cols.map((col, colIndex) => {
|
|
273
|
-
var _a, _b, _c;
|
|
273
|
+
var _a, _b, _c, _d, _e;
|
|
274
274
|
if (rowIndex in cordToPass) {
|
|
275
275
|
const cordOfRowToPass = cordToPass[rowIndex];
|
|
276
276
|
const indexInCordOfRowToPass = cordOfRowToPass.indexOf(colIndex);
|
|
@@ -323,8 +323,8 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
323
323
|
const { ellipsis } = column;
|
|
324
324
|
return ((0, vue_1.h)("td", { key: colKey, style: {
|
|
325
325
|
textAlign: column.align || undefined,
|
|
326
|
-
left: (0, seemly_1.pxfy)(fixedColumnLeftMap[colKey]),
|
|
327
|
-
right: (0, seemly_1.pxfy)(fixedColumnRightMap[colKey])
|
|
326
|
+
left: (0, seemly_1.pxfy)((_c = fixedColumnLeftMap[colKey]) === null || _c === void 0 ? void 0 : _c.start),
|
|
327
|
+
right: (0, seemly_1.pxfy)((_d = fixedColumnRightMap[colKey]) === null || _d === void 0 ? void 0 : _d.start)
|
|
328
328
|
}, colspan: mergedColSpan, rowspan: mergedRowSpan, "data-col-key": colKey, class: [
|
|
329
329
|
`${mergedClsPrefix}-data-table-td`,
|
|
330
330
|
column.className,
|
|
@@ -356,7 +356,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
356
356
|
]
|
|
357
357
|
: null,
|
|
358
358
|
column.type === 'selection' ? (!isSummary ? ((0, vue_1.h)(BodyCheckbox_1.default, { key: currentPage, rowKey: rowKey, disabled: rowInfo.disabled, onUpdateChecked: (checked, e) => handleCheckboxUpdateChecked(rowInfo, checked, e.shiftKey) })) : null) : column.type === 'expand' ? (!isSummary ? (!column.expandable ||
|
|
359
|
-
((
|
|
359
|
+
((_e = column.expandable) === null || _e === void 0 ? void 0 : _e.call(column, rowData, rowIndex)) ? ((0, vue_1.h)(ExpandTrigger_1.default, { clsPrefix: mergedClsPrefix, expanded: expanded, onClick: () => handleUpdateExpanded(rowKey) })) : null) : null) : ((0, vue_1.h)(Cell_1.default, { index: rowIndex, row: rowData, column: column, isSummary: isSummary, mergedTheme: mergedTheme }))));
|
|
360
360
|
});
|
|
361
361
|
const props = rowProps ? rowProps(rowData, rowIndex) : undefined;
|
|
362
362
|
const mergedRowClassName = typeof rowClassName === 'string'
|
|
@@ -9,8 +9,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
9
9
|
mergedSortState: import("vue").Ref<import("../interface").SortState[]>;
|
|
10
10
|
mergedClsPrefix: import("vue").Ref<string>;
|
|
11
11
|
scrollX: import("vue").Ref<string | number | undefined>;
|
|
12
|
-
fixedColumnLeftMap: import("vue").Ref<Record<import("../interface").ColumnKey,
|
|
13
|
-
|
|
12
|
+
fixedColumnLeftMap: import("vue").Ref<Record<import("../interface").ColumnKey, {
|
|
13
|
+
start: number;
|
|
14
|
+
end: number;
|
|
15
|
+
} | undefined>>;
|
|
16
|
+
fixedColumnRightMap: import("vue").Ref<Record<import("../interface").ColumnKey, {
|
|
17
|
+
start: number;
|
|
18
|
+
end: number;
|
|
19
|
+
} | undefined>>;
|
|
14
20
|
currentPage: import("vue").Ref<number>;
|
|
15
21
|
allRowsChecked: import("vue").Ref<boolean>;
|
|
16
22
|
someRowsChecked: import("vue").Ref<boolean>;
|
|
@@ -74,18 +74,21 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
74
74
|
let hasEllipsis = false;
|
|
75
75
|
const theadVNode = ((0, vue_1.h)("thead", { class: `${mergedClsPrefix}-data-table-thead`, "data-n-id": componentId }, rows.map((row) => {
|
|
76
76
|
return ((0, vue_1.h)("tr", { class: `${mergedClsPrefix}-data-table-tr` }, row.map(({ column, colSpan, rowSpan, isLast }) => {
|
|
77
|
+
var _a, _b;
|
|
77
78
|
const key = (0, utils_1.getColKey)(column);
|
|
78
79
|
const { ellipsis } = column;
|
|
79
80
|
if (!hasEllipsis && ellipsis)
|
|
80
81
|
hasEllipsis = true;
|
|
82
|
+
const leftFixed = key in fixedColumnLeftMap;
|
|
83
|
+
const rightFixed = key in fixedColumnRightMap;
|
|
81
84
|
return ((0, vue_1.h)("th", { key: key, style: {
|
|
82
85
|
textAlign: column.align,
|
|
83
|
-
left: (0, seemly_1.pxfy)(fixedColumnLeftMap[key]),
|
|
84
|
-
right: (0, seemly_1.pxfy)(fixedColumnRightMap[key])
|
|
86
|
+
left: (0, seemly_1.pxfy)((_a = fixedColumnLeftMap[key]) === null || _a === void 0 ? void 0 : _a.start),
|
|
87
|
+
right: (0, seemly_1.pxfy)((_b = fixedColumnRightMap[key]) === null || _b === void 0 ? void 0 : _b.start)
|
|
85
88
|
}, colspan: colSpan, rowspan: rowSpan, "data-col-key": key, class: [
|
|
86
89
|
`${mergedClsPrefix}-data-table-th`,
|
|
87
|
-
|
|
88
|
-
`${mergedClsPrefix}-data-table-th--fixed-${
|
|
90
|
+
(leftFixed || rightFixed) &&
|
|
91
|
+
`${mergedClsPrefix}-data-table-th--fixed-${leftFixed ? 'left' : 'right'}`,
|
|
89
92
|
{
|
|
90
93
|
[`${mergedClsPrefix}-data-table-th--hover`]: (0, utils_1.isColumnSorting)(column, mergedSortState),
|
|
91
94
|
[`${mergedClsPrefix}-data-table-th--filterable`]: (0, utils_1.isColumnFilterable)(column),
|
|
@@ -116,8 +116,14 @@ export interface DataTableInjection {
|
|
|
116
116
|
rightFixedColumnsRef: Ref<TableColumns>;
|
|
117
117
|
leftActiveFixedColKeyRef: Ref<ColumnKey | null>;
|
|
118
118
|
rightActiveFixedColKeyRef: Ref<ColumnKey | null>;
|
|
119
|
-
fixedColumnLeftMapRef: Ref<Record<ColumnKey,
|
|
120
|
-
|
|
119
|
+
fixedColumnLeftMapRef: Ref<Record<ColumnKey, {
|
|
120
|
+
start: number;
|
|
121
|
+
end: number;
|
|
122
|
+
} | undefined>>;
|
|
123
|
+
fixedColumnRightMapRef: Ref<Record<ColumnKey, {
|
|
124
|
+
start: number;
|
|
125
|
+
end: number;
|
|
126
|
+
} | undefined>>;
|
|
121
127
|
mergedCurrentPageRef: Ref<number>;
|
|
122
128
|
someRowsCheckedRef: Ref<boolean>;
|
|
123
129
|
allRowsCheckedRef: Ref<boolean>;
|
|
@@ -35,32 +35,35 @@ function getRowsAndCols(columns) {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
ensureMaxDepth(columns, 0);
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
let currentLeafIndex = 0;
|
|
39
|
+
function ensureColLayout(columns, currentDepth) {
|
|
40
40
|
let hideUntilIndex = 0;
|
|
41
|
-
const lastIndex = columns.length - 1;
|
|
42
41
|
columns.forEach((column, index) => {
|
|
43
42
|
var _a;
|
|
44
43
|
if ('children' in column) {
|
|
45
44
|
// do not allow colSpan > 1 for non-leaf th
|
|
46
|
-
|
|
45
|
+
// we will execute the calculation logic
|
|
46
|
+
const cachedCurrentLeafIndex = currentLeafIndex;
|
|
47
47
|
const rowItem = {
|
|
48
48
|
column,
|
|
49
49
|
colSpan: 0,
|
|
50
50
|
rowSpan: 1,
|
|
51
|
-
isLast
|
|
51
|
+
isLast: false
|
|
52
52
|
};
|
|
53
|
-
ensureColLayout(column.children, currentDepth + 1
|
|
53
|
+
ensureColLayout(column.children, currentDepth + 1);
|
|
54
54
|
column.children.forEach((childColumn) => {
|
|
55
55
|
var _a, _b;
|
|
56
56
|
rowItem.colSpan += (_b = (_a = rowItemMap.get(childColumn)) === null || _a === void 0 ? void 0 : _a.colSpan) !== null && _b !== void 0 ? _b : 0;
|
|
57
57
|
});
|
|
58
|
+
if (cachedCurrentLeafIndex + rowItem.colSpan === totalRowSpan) {
|
|
59
|
+
rowItem.isLast = true;
|
|
60
|
+
}
|
|
58
61
|
rowItemMap.set(column, rowItem);
|
|
59
62
|
rows[currentDepth].push(rowItem);
|
|
60
63
|
}
|
|
61
64
|
else {
|
|
62
|
-
currentLeafIndex += 1;
|
|
63
65
|
if (currentLeafIndex < hideUntilIndex) {
|
|
66
|
+
currentLeafIndex += 1;
|
|
64
67
|
return;
|
|
65
68
|
}
|
|
66
69
|
let colSpan = 1;
|
|
@@ -79,10 +82,11 @@ function getRowsAndCols(columns) {
|
|
|
79
82
|
};
|
|
80
83
|
rowItemMap.set(column, rowItem);
|
|
81
84
|
rows[currentDepth].push(rowItem);
|
|
85
|
+
currentLeafIndex += 1;
|
|
82
86
|
}
|
|
83
87
|
});
|
|
84
88
|
}
|
|
85
|
-
ensureColLayout(columns, 0
|
|
89
|
+
ensureColLayout(columns, 0);
|
|
86
90
|
return {
|
|
87
91
|
hasEllipsis,
|
|
88
92
|
rows,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComputedRef, Ref } from 'vue';
|
|
2
2
|
import { DataTableSetupProps } from './DataTable';
|
|
3
|
-
import type { ColumnKey, MainTableRef } from './interface';
|
|
3
|
+
import type { ColumnKey, MainTableRef, TableColumn } from './interface';
|
|
4
4
|
export declare function useScroll(props: DataTableSetupProps, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef, scrollPartRef }: {
|
|
5
5
|
scrollPartRef: Ref<'head' | 'body'>;
|
|
6
6
|
bodyWidthRef: Ref<null | number>;
|
|
@@ -8,10 +8,16 @@ export declare function useScroll(props: DataTableSetupProps, { mainTableInstRef
|
|
|
8
8
|
mergedCurrentPageRef: ComputedRef<number>;
|
|
9
9
|
}): {
|
|
10
10
|
styleScrollXRef: ComputedRef<string | undefined>;
|
|
11
|
-
fixedColumnLeftMapRef: ComputedRef<Record<ColumnKey,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
fixedColumnLeftMapRef: ComputedRef<Record<ColumnKey, {
|
|
12
|
+
start: number;
|
|
13
|
+
end: number;
|
|
14
|
+
} | undefined>>;
|
|
15
|
+
fixedColumnRightMapRef: ComputedRef<Record<ColumnKey, {
|
|
16
|
+
start: number;
|
|
17
|
+
end: number;
|
|
18
|
+
} | undefined>>;
|
|
19
|
+
leftFixedColumnsRef: ComputedRef<TableColumn<any>[]>;
|
|
20
|
+
rightFixedColumnsRef: ComputedRef<TableColumn<any>[]>;
|
|
15
21
|
leftActiveFixedColKeyRef: Ref<ColumnKey | null>;
|
|
16
22
|
rightActiveFixedColKeyRef: Ref<ColumnKey | null>;
|
|
17
23
|
syncScrollState: () => void;
|