@king-design/vue 3.6.0-beta.0 → 3.6.1
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/__tests__/__snapshots__/Vue Next Demos.md +115 -51
- package/__tests__/components/editable.spec.ts +1 -1
- package/__tests__/components/misc.spec.ts +93 -0
- package/__tests__/components/table.spec.ts +1 -0
- package/components/cascader/index.spec.js +18 -19
- package/components/copy/index.spec.js +14 -31
- package/components/datepicker/basepicker.d.ts +6 -27
- package/components/datepicker/basepicker.js +23 -268
- package/components/datepicker/calendar.d.ts +4 -2
- package/components/datepicker/dayjs.d.ts +2 -13
- package/components/datepicker/helpers.d.ts +3 -2
- package/components/datepicker/helpers.js +2 -3
- package/components/datepicker/index.d.ts +21 -29
- package/components/datepicker/index.js +22 -32
- package/components/datepicker/index.spec.js +1277 -484
- package/components/datepicker/index.vdt.js +39 -38
- package/components/datepicker/shortcuts.d.ts +1 -1
- package/components/datepicker/styles.d.ts +7 -2
- package/components/datepicker/styles.js +10 -15
- package/components/datepicker/useConfirm.d.ts +6 -0
- package/components/datepicker/useConfirm.js +65 -0
- package/components/datepicker/useDisabled.d.ts +5 -3
- package/components/datepicker/useDisabled.js +22 -27
- package/components/datepicker/useFormats.d.ts +2 -2
- package/components/datepicker/useFormats.js +6 -2
- package/components/datepicker/useHighlight.d.ts +14 -0
- package/components/datepicker/useHighlight.js +60 -0
- package/components/datepicker/useKeyboards.js +2 -1
- package/components/datepicker/useMergeRange.d.ts +1 -1
- package/components/datepicker/useMergeRange.js +11 -16
- package/components/datepicker/useMonths.js +5 -3
- package/components/datepicker/usePanel.d.ts +1 -10
- package/components/datepicker/usePanel.js +19 -32
- package/components/datepicker/useShowDate.d.ts +1 -1
- package/components/datepicker/useShowDate.js +15 -40
- package/components/datepicker/useStatus.js +33 -16
- package/components/datepicker/useValue.d.ts +11 -6
- package/components/datepicker/useValue.js +49 -69
- package/components/datepicker/useValueBase.d.ts +28 -0
- package/components/datepicker/useValueBase.js +280 -0
- package/components/datepicker/useYears.js +6 -3
- package/components/dropdown/dropdown.d.ts +1 -0
- package/components/dropdown/dropdown.js +7 -4
- package/components/form/form.d.ts +1 -0
- package/components/form/form.js +7 -0
- package/components/form/index.spec.js +10 -8
- package/components/input/index.d.ts +2 -0
- package/components/input/index.js +6 -0
- package/components/input/index.spec.js +45 -0
- package/components/input/index.vdt.js +4 -3
- package/components/input/useAutoWidth.d.ts +2 -0
- package/components/input/useAutoWidth.js +19 -1
- package/components/menu/index.spec.js +28 -0
- package/components/menu/styles.js +2 -2
- package/components/scrollSelect/useMouseEvents.js +5 -4
- package/components/select/base.d.ts +1 -1
- package/components/select/base.js +3 -2
- package/components/select/base.vdt.js +4 -3
- package/components/select/index.spec.js +346 -218
- package/components/select/menu.js +1 -1
- package/components/select/option.js +2 -1
- package/components/select/select.js +2 -1
- package/components/select/styles.d.ts +79 -0
- package/components/select/styles.js +1 -0
- package/components/select/useCard.d.ts +4 -3
- package/components/select/useCard.js +15 -4
- package/components/select/useInput.d.ts +1 -1
- package/components/select/useInput.js +4 -4
- package/components/spinner/index.spec.js +82 -44
- package/components/spinner/useValue.js +2 -1
- package/components/table/index.spec.js +84 -6
- package/components/table/useStickyHeader.js +1 -1
- package/components/timepicker/index.spec.js +298 -128
- package/components/timepicker/panelPicker.d.ts +21 -16
- package/components/timepicker/panelPicker.js +7 -4
- package/components/timepicker/panelPicker.vdt.js +5 -9
- package/components/timepicker/selectPicker.d.ts +4 -3
- package/components/timepicker/styles.js +1 -1
- package/components/timepicker/useConfirm.d.ts +6 -0
- package/components/timepicker/useConfirm.js +19 -0
- package/components/timepicker/useDefaultValue.d.ts +4 -0
- package/components/timepicker/useDefaultValue.js +27 -0
- package/components/timepicker/useDisabled.d.ts +6 -3
- package/components/timepicker/useDisabled.js +13 -4
- package/components/timepicker/useFormats.d.ts +1 -1
- package/components/timepicker/useValue.d.ts +13 -8
- package/components/timepicker/useValue.js +14 -15
- package/components/tour/index.spec.js +1 -1
- package/index.d.ts +2 -2
- package/index.js +2 -2
- package/package.json +2 -2
- package/yarn-error.log +44 -43
- package/components/datepicker/usePosition.d.ts +0 -10
- package/components/datepicker/usePosition.js +0 -166
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export declare function usePosition(): {
|
|
2
|
-
position: import("../../hooks/useState").State<"end" | "start">;
|
|
3
|
-
charLength: import("../../hooks/useState").State<number>;
|
|
4
|
-
startTextLength: import("../../hooks/useState").State<number>;
|
|
5
|
-
handleInputClick: (e: MouseEvent) => void;
|
|
6
|
-
resetPosition: (pos?: 'start' | 'end') => void;
|
|
7
|
-
togglePosition: () => void;
|
|
8
|
-
setupEventListeners: () => void;
|
|
9
|
-
resetToStart: () => void;
|
|
10
|
-
};
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import _includesInstanceProperty from "@babel/runtime-corejs3/core-js/instance/includes";
|
|
2
|
-
import { useInstance } from 'intact-vue-next';
|
|
3
|
-
import { useState } from '../../hooks/useState';
|
|
4
|
-
import { last } from '../utils';
|
|
5
|
-
export function usePosition() {
|
|
6
|
-
var instance = useInstance();
|
|
7
|
-
var position = useState('start');
|
|
8
|
-
// 根据类型获取默认字符长度
|
|
9
|
-
function getDefaultCharLength() {
|
|
10
|
-
var _instance$get = instance.get(),
|
|
11
|
-
type = _instance$get.type;
|
|
12
|
-
switch (type) {
|
|
13
|
-
case 'datetime':
|
|
14
|
-
return 16;
|
|
15
|
-
// "2025-07-10 00:00:00"
|
|
16
|
-
case 'date':
|
|
17
|
-
return 10;
|
|
18
|
-
// "2025-07-09"
|
|
19
|
-
default:
|
|
20
|
-
return 10;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
var charLength = useState(getDefaultCharLength()); // 当前活动部分的字符长度
|
|
24
|
-
var startTextLength = useState(getDefaultCharLength()); // 开始文本的长度,用于计算结束文本位置
|
|
25
|
-
// 监听类型变化,更新默认字符长度
|
|
26
|
-
instance.watch('type', function () {
|
|
27
|
-
var defaultLength = getDefaultCharLength();
|
|
28
|
-
charLength.set(defaultLength);
|
|
29
|
-
startTextLength.set(defaultLength);
|
|
30
|
-
});
|
|
31
|
-
function handleInputClick(e) {
|
|
32
|
-
var _context;
|
|
33
|
-
var _instance$get2 = instance.get(),
|
|
34
|
-
range = _instance$get2.range,
|
|
35
|
-
type = _instance$get2.type;
|
|
36
|
-
if (!range) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
// 对于日期时间范围选择器,如果当前没有值或值不完整,总是设置为开始时间
|
|
40
|
-
if (type === 'datetime') {
|
|
41
|
-
var currentValue = instance.value.value.value;
|
|
42
|
-
var lastValue = last(currentValue);
|
|
43
|
-
// 如果没有值或者当前范围值不完整(只有开始时间没有结束时间),强制设置为开始时间
|
|
44
|
-
if (!lastValue || !Array.isArray(lastValue) || lastValue.length < 2 || !lastValue[1]) {
|
|
45
|
-
position.set('start');
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
// 获取事件目标元素
|
|
50
|
-
var target = e.currentTarget;
|
|
51
|
-
// 如果目标元素不是 .k-select-main,则查找父元素
|
|
52
|
-
if (!target.classList.contains(".k-select-main")) {
|
|
53
|
-
target = target.closest(".k-select-main");
|
|
54
|
-
if (!target) return;
|
|
55
|
-
}
|
|
56
|
-
var hiddenInput = target.querySelector('input[type="hidden"]');
|
|
57
|
-
var _target$getBoundingCl = target.getBoundingClientRect(),
|
|
58
|
-
totalVisualWidth = _target$getBoundingCl.width;
|
|
59
|
-
var midPoint;
|
|
60
|
-
if (hiddenInput && hiddenInput.value && _includesInstanceProperty(_context = hiddenInput.value).call(_context, ',')) {
|
|
61
|
-
// 分割字符串获取开始和结束日期的文本
|
|
62
|
-
var _hiddenInput$value$sp = hiddenInput.value.split(','),
|
|
63
|
-
startText = _hiddenInput$value$sp[0],
|
|
64
|
-
endText = _hiddenInput$value$sp[1];
|
|
65
|
-
// 确保两部分都存在,避免计算错误
|
|
66
|
-
if (startText && endText) {
|
|
67
|
-
var totalCharLength = startText.length + endText.length;
|
|
68
|
-
// 计算开始日期文本长度所占的比例
|
|
69
|
-
var startRatio = startText.length / totalCharLength;
|
|
70
|
-
// 估算每个字符的宽度(与样式中保持一致)
|
|
71
|
-
var charWidthPx = 8;
|
|
72
|
-
// 计算实际文本占用的宽度
|
|
73
|
-
var startTextWidth = startText.length * charWidthPx;
|
|
74
|
-
var endTextWidth = endText.length * charWidthPx;
|
|
75
|
-
var separatorWidth = 3 * charWidthPx; // " ~ " 大约3个字符宽度
|
|
76
|
-
var totalTextWidth = startTextWidth + separatorWidth + endTextWidth;
|
|
77
|
-
// 如果文本宽度超过input宽度,使用比例分割
|
|
78
|
-
if (totalTextWidth >= totalVisualWidth) {
|
|
79
|
-
midPoint = totalVisualWidth * startRatio;
|
|
80
|
-
} else {
|
|
81
|
-
// 如果文本宽度小于input宽度,使用实际文本宽度计算分割点
|
|
82
|
-
midPoint = startTextWidth + separatorWidth / 2;
|
|
83
|
-
}
|
|
84
|
-
// 更新开始文本长度状态,限制为默认长度以保证结束时间高亮位置正确
|
|
85
|
-
startTextLength.set(Math.min(startText.length, getDefaultCharLength()));
|
|
86
|
-
} else {
|
|
87
|
-
// 如果值格式不正确(例如 "2025-07-09,"),则退回使用几何中心点
|
|
88
|
-
var defaultLength = getDefaultCharLength();
|
|
89
|
-
charLength.set(defaultLength);
|
|
90
|
-
startTextLength.set(defaultLength);
|
|
91
|
-
midPoint = totalVisualWidth / 2;
|
|
92
|
-
}
|
|
93
|
-
} else {
|
|
94
|
-
// 如果没有找到 hiddenInput 或其值不是范围,则退回原始的几何中心点
|
|
95
|
-
var _defaultLength = getDefaultCharLength();
|
|
96
|
-
charLength.set(_defaultLength);
|
|
97
|
-
startTextLength.set(_defaultLength);
|
|
98
|
-
midPoint = totalVisualWidth / 2;
|
|
99
|
-
}
|
|
100
|
-
// 计算相对于 target 的 offsetX
|
|
101
|
-
var rect = target.getBoundingClientRect();
|
|
102
|
-
var offsetX = e.clientX - rect.left;
|
|
103
|
-
// 根据点击位置判断是点击了左半边(开始)还是右半边(结束)
|
|
104
|
-
if (offsetX < midPoint) {
|
|
105
|
-
var _context2;
|
|
106
|
-
position.set('start');
|
|
107
|
-
// 更新为开始部分的字符长度,限制为默认长度
|
|
108
|
-
if (hiddenInput && hiddenInput.value && _includesInstanceProperty(_context2 = hiddenInput.value).call(_context2, ',')) {
|
|
109
|
-
var _hiddenInput$value$sp2 = hiddenInput.value.split(','),
|
|
110
|
-
_startText = _hiddenInput$value$sp2[0];
|
|
111
|
-
charLength.set(Math.min(_startText.length, getDefaultCharLength()));
|
|
112
|
-
}
|
|
113
|
-
} else {
|
|
114
|
-
var _context3;
|
|
115
|
-
position.set('end');
|
|
116
|
-
// 更新为结束部分的字符长度,限制为默认长度
|
|
117
|
-
if (hiddenInput && hiddenInput.value && _includesInstanceProperty(_context3 = hiddenInput.value).call(_context3, ',')) {
|
|
118
|
-
var _hiddenInput$value$sp3 = hiddenInput.value.split(','),
|
|
119
|
-
_endText = _hiddenInput$value$sp3[1];
|
|
120
|
-
charLength.set(Math.min(_endText.length, getDefaultCharLength()));
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
// 重置位置到指定值
|
|
125
|
-
function resetPosition(pos) {
|
|
126
|
-
if (pos === void 0) {
|
|
127
|
-
pos = 'start';
|
|
128
|
-
}
|
|
129
|
-
if (position.value === pos) {
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
position.set(pos);
|
|
133
|
-
}
|
|
134
|
-
// 切换位置
|
|
135
|
-
function togglePosition() {
|
|
136
|
-
var currentPosition = position.value;
|
|
137
|
-
if (currentPosition === 'start') {
|
|
138
|
-
position.set('end');
|
|
139
|
-
} else {
|
|
140
|
-
position.set('start');
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
// 在组件初始化时设置事件监听
|
|
144
|
-
function setupEventListeners() {
|
|
145
|
-
// instance.on('resetPosition', resetPosition);
|
|
146
|
-
instance.on('togglePosition', togglePosition);
|
|
147
|
-
}
|
|
148
|
-
function resetToStart() {
|
|
149
|
-
var _instance$get3 = instance.get(),
|
|
150
|
-
range = _instance$get3.range,
|
|
151
|
-
type = _instance$get3.type;
|
|
152
|
-
if (range && type === 'date') {
|
|
153
|
-
position.set('start');
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
return {
|
|
157
|
-
position: position,
|
|
158
|
-
charLength: charLength,
|
|
159
|
-
startTextLength: startTextLength,
|
|
160
|
-
handleInputClick: handleInputClick,
|
|
161
|
-
resetPosition: resetPosition,
|
|
162
|
-
togglePosition: togglePosition,
|
|
163
|
-
setupEventListeners: setupEventListeners,
|
|
164
|
-
resetToStart: resetToStart
|
|
165
|
-
};
|
|
166
|
-
}
|