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
|
@@ -30,6 +30,7 @@ const timePickerPanelProps = {
|
|
|
30
30
|
isHourInvalid: Boolean,
|
|
31
31
|
isMinuteInvalid: Boolean,
|
|
32
32
|
isSecondInvalid: Boolean,
|
|
33
|
+
isAmPmInvalid: Boolean,
|
|
33
34
|
isValueInvalid: Boolean,
|
|
34
35
|
hourValue: {
|
|
35
36
|
type: Number,
|
|
@@ -43,6 +44,10 @@ const timePickerPanelProps = {
|
|
|
43
44
|
type: Number,
|
|
44
45
|
default: null
|
|
45
46
|
},
|
|
47
|
+
amPmValue: {
|
|
48
|
+
type: String,
|
|
49
|
+
default: null
|
|
50
|
+
},
|
|
46
51
|
isHourDisabled: Function,
|
|
47
52
|
isMinuteDisabled: Function,
|
|
48
53
|
isSecondDisabled: Function,
|
|
@@ -58,6 +63,10 @@ const timePickerPanelProps = {
|
|
|
58
63
|
type: Function,
|
|
59
64
|
required: true
|
|
60
65
|
},
|
|
66
|
+
onAmPmClick: {
|
|
67
|
+
type: Function,
|
|
68
|
+
required: true
|
|
69
|
+
},
|
|
61
70
|
onNowClick: Function,
|
|
62
71
|
nowText: String,
|
|
63
72
|
confirmText: String,
|
|
@@ -69,7 +78,8 @@ const timePickerPanelProps = {
|
|
|
69
78
|
onKeydown: Function,
|
|
70
79
|
hours: [Number, Array],
|
|
71
80
|
minutes: [Number, Array],
|
|
72
|
-
seconds: [Number, Array]
|
|
81
|
+
seconds: [Number, Array],
|
|
82
|
+
use12Hours: Boolean
|
|
73
83
|
};
|
|
74
84
|
exports.default = (0, vue_1.defineComponent)({
|
|
75
85
|
name: 'TimePickerPanel',
|
|
@@ -79,19 +89,39 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
79
89
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
80
90
|
} = (0, vue_1.inject)(interface_1.timePickerInjectionKey);
|
|
81
91
|
const hoursRef = (0, vue_1.computed)(() => {
|
|
82
|
-
const { isHourDisabled, hours } = props;
|
|
83
|
-
|
|
84
|
-
return {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
92
|
+
const { isHourDisabled, hours, use12Hours, amPmValue } = props;
|
|
93
|
+
if (!use12Hours) {
|
|
94
|
+
return (0, utils_1.getTimeUnits)(utils_1.time.hours, hours).map((hour) => {
|
|
95
|
+
return {
|
|
96
|
+
label: hour,
|
|
97
|
+
value: Number(hour),
|
|
98
|
+
disabled: isHourDisabled ? isHourDisabled(Number(hour)) : false
|
|
99
|
+
};
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
const mergedAmPmValue = amPmValue !== null && amPmValue !== void 0 ? amPmValue : (0, utils_1.getAmPm)(Date.now());
|
|
104
|
+
return (0, utils_1.getTimeUnits)(utils_1.time.hours, hours, mergedAmPmValue).map((hour) => {
|
|
105
|
+
const hourAs12FormattedNumber = Number(hour);
|
|
106
|
+
const hourAs24FormattedNumber = mergedAmPmValue === 'pm' && hourAs12FormattedNumber !== 12
|
|
107
|
+
? hourAs12FormattedNumber + 12
|
|
108
|
+
: hourAs12FormattedNumber;
|
|
109
|
+
return {
|
|
110
|
+
label: hour,
|
|
111
|
+
value: hourAs24FormattedNumber,
|
|
112
|
+
disabled: isHourDisabled
|
|
113
|
+
? isHourDisabled(hourAs24FormattedNumber)
|
|
114
|
+
: false
|
|
115
|
+
};
|
|
116
|
+
});
|
|
117
|
+
}
|
|
89
118
|
});
|
|
90
119
|
const minutesRef = (0, vue_1.computed)(() => {
|
|
91
120
|
const { isMinuteDisabled, minutes } = props;
|
|
92
121
|
return (0, utils_1.getTimeUnits)(utils_1.time.minutes, minutes).map((minute) => {
|
|
93
122
|
return {
|
|
94
|
-
|
|
123
|
+
label: minute,
|
|
124
|
+
value: Number(minute),
|
|
95
125
|
disabled: isMinuteDisabled
|
|
96
126
|
? isMinuteDisabled(Number(minute), props.hourValue)
|
|
97
127
|
: false
|
|
@@ -102,41 +132,67 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
102
132
|
const { isSecondDisabled, seconds } = props;
|
|
103
133
|
return (0, utils_1.getTimeUnits)(utils_1.time.seconds, seconds).map((second) => {
|
|
104
134
|
return {
|
|
105
|
-
|
|
135
|
+
label: second,
|
|
136
|
+
value: Number(second),
|
|
106
137
|
disabled: isSecondDisabled
|
|
107
138
|
? isSecondDisabled(Number(second), props.minuteValue, props.hourValue)
|
|
108
139
|
: false
|
|
109
140
|
};
|
|
110
141
|
});
|
|
111
142
|
});
|
|
143
|
+
const amPmRef = (0, vue_1.computed)(() => {
|
|
144
|
+
const { isHourDisabled } = props;
|
|
145
|
+
let amDisabled = true;
|
|
146
|
+
let pmDisabled = true;
|
|
147
|
+
for (let i = 0; i < 12; ++i) {
|
|
148
|
+
if (!(isHourDisabled === null || isHourDisabled === void 0 ? void 0 : isHourDisabled(i))) {
|
|
149
|
+
amDisabled = false;
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
for (let i = 12; i < 24; ++i) {
|
|
154
|
+
if (!(isHourDisabled === null || isHourDisabled === void 0 ? void 0 : isHourDisabled(i))) {
|
|
155
|
+
pmDisabled = false;
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return [
|
|
160
|
+
{
|
|
161
|
+
label: 'AM',
|
|
162
|
+
value: 'am',
|
|
163
|
+
disabled: amDisabled
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
label: 'PM',
|
|
167
|
+
value: 'pm',
|
|
168
|
+
disabled: pmDisabled
|
|
169
|
+
}
|
|
170
|
+
];
|
|
171
|
+
});
|
|
112
172
|
return {
|
|
113
173
|
mergedTheme: mergedThemeRef,
|
|
114
174
|
mergedClsPrefix: mergedClsPrefixRef,
|
|
115
175
|
hours: hoursRef,
|
|
116
176
|
minutes: minutesRef,
|
|
117
177
|
seconds: secondsRef,
|
|
178
|
+
amPm: amPmRef,
|
|
118
179
|
hourScrollRef: (0, vue_1.ref)(null),
|
|
119
180
|
minuteScrollRef: (0, vue_1.ref)(null),
|
|
120
|
-
secondScrollRef: (0, vue_1.ref)(null)
|
|
181
|
+
secondScrollRef: (0, vue_1.ref)(null),
|
|
182
|
+
amPmScrollRef: (0, vue_1.ref)(null)
|
|
121
183
|
};
|
|
122
184
|
},
|
|
123
185
|
render() {
|
|
124
186
|
var _a, _b;
|
|
125
187
|
const { mergedClsPrefix, mergedTheme } = this;
|
|
126
|
-
return (0, vue_1.h)(
|
|
127
|
-
tabindex: 0,
|
|
128
|
-
class: `${mergedClsPrefix}-time-picker-panel`,
|
|
129
|
-
onFocusin: this.onFocusin,
|
|
130
|
-
onFocusout: this.onFocusout,
|
|
131
|
-
onKeydown: this.onKeydown
|
|
132
|
-
}, [
|
|
188
|
+
return ((0, vue_1.h)("div", { tabindex: 0, class: `${mergedClsPrefix}-time-picker-panel`, onFocusin: this.onFocusin, onFocusout: this.onFocusout, onKeydown: this.onKeydown },
|
|
133
189
|
(0, vue_1.h)("div", { class: `${mergedClsPrefix}-time-picker-cols` },
|
|
134
190
|
this.showHour ? ((0, vue_1.h)("div", { class: [
|
|
135
191
|
`${mergedClsPrefix}-time-picker-col`,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
192
|
+
this.isHourInvalid &&
|
|
193
|
+
`${mergedClsPrefix}-time-picker-col--invalid`,
|
|
194
|
+
this.transitionDisabled &&
|
|
195
|
+
`${mergedClsPrefix}-time-picker-col--transition-disabled`
|
|
140
196
|
] },
|
|
141
197
|
(0, vue_1.h)(_internal_1.NScrollbar, { ref: "hourScrollRef", theme: mergedTheme.peers.Scrollbar, themeOverrides: mergedTheme.peerOverrides.Scrollbar }, {
|
|
142
198
|
default: () => [
|
|
@@ -146,10 +202,10 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
146
202
|
}))) : null,
|
|
147
203
|
this.showMinute ? ((0, vue_1.h)("div", { class: [
|
|
148
204
|
`${mergedClsPrefix}-time-picker-col`,
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
205
|
+
this.transitionDisabled &&
|
|
206
|
+
`${mergedClsPrefix}-time-picker-col--transition-disabled`,
|
|
207
|
+
this.isMinuteInvalid &&
|
|
208
|
+
`${mergedClsPrefix}-time-picker-col--invalid`
|
|
153
209
|
] },
|
|
154
210
|
(0, vue_1.h)(_internal_1.NScrollbar, { ref: "minuteScrollRef", theme: mergedTheme.peers.Scrollbar, themeOverrides: mergedTheme.peerOverrides.Scrollbar }, {
|
|
155
211
|
default: () => [
|
|
@@ -159,21 +215,33 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
159
215
|
}))) : null,
|
|
160
216
|
this.showSecond ? ((0, vue_1.h)("div", { class: [
|
|
161
217
|
`${mergedClsPrefix}-time-picker-col`,
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
218
|
+
this.isSecondInvalid &&
|
|
219
|
+
`${mergedClsPrefix}-time-picker-col--invalid`,
|
|
220
|
+
this.transitionDisabled &&
|
|
221
|
+
`${mergedClsPrefix}-time-picker-col--transition-disabled`
|
|
166
222
|
] },
|
|
167
223
|
(0, vue_1.h)(_internal_1.NScrollbar, { ref: "secondScrollRef", theme: mergedTheme.peers.Scrollbar, themeOverrides: mergedTheme.peerOverrides.Scrollbar }, {
|
|
168
224
|
default: () => [
|
|
169
225
|
(0, vue_1.h)(PanelCol_1.default, { clsPrefix: mergedClsPrefix, data: this.seconds, activeValue: this.secondValue, onItemClick: this.onSecondClick }),
|
|
170
226
|
(0, vue_1.h)("div", { class: `${mergedClsPrefix}-time-picker-col__padding` })
|
|
171
227
|
]
|
|
228
|
+
}))) : null,
|
|
229
|
+
this.use12Hours ? ((0, vue_1.h)("div", { class: [
|
|
230
|
+
`${mergedClsPrefix}-time-picker-col`,
|
|
231
|
+
this.isAmPmInvalid &&
|
|
232
|
+
`${mergedClsPrefix}-time-picker-col--invalid`,
|
|
233
|
+
this.transitionDisabled &&
|
|
234
|
+
`${mergedClsPrefix}-time-picker-col--transition-disabled`
|
|
235
|
+
] },
|
|
236
|
+
(0, vue_1.h)(_internal_1.NScrollbar, { ref: "amPmScrollRef", theme: mergedTheme.peers.Scrollbar, themeOverrides: mergedTheme.peerOverrides.Scrollbar }, {
|
|
237
|
+
default: () => [
|
|
238
|
+
(0, vue_1.h)(PanelCol_1.default, { clsPrefix: mergedClsPrefix, data: this.amPm, activeValue: this.amPmValue, onItemClick: this.onAmPmClick }),
|
|
239
|
+
(0, vue_1.h)("div", { class: `${mergedClsPrefix}-time-picker-col__padding` })
|
|
240
|
+
]
|
|
172
241
|
}))) : null),
|
|
173
242
|
(0, vue_1.h)("div", { class: `${mergedClsPrefix}-time-picker-actions` },
|
|
174
243
|
((_a = this.actions) === null || _a === void 0 ? void 0 : _a.includes('now')) ? ((0, vue_1.h)(button_1.NButton, { size: "tiny", theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, onClick: this.onNowClick }, { default: () => this.nowText })) : null,
|
|
175
244
|
((_b = this.actions) === null || _b === void 0 ? void 0 : _b.includes('confirm')) ? ((0, vue_1.h)(button_1.NButton, { size: "tiny", type: "primary", class: `${mergedClsPrefix}-time-picker-actions__confirm`, theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, disabled: this.isValueInvalid, onClick: this.onConfirmClick }, { default: () => this.confirmText })) : null),
|
|
176
|
-
(0, vue_1.h)(_internal_1.NBaseFocusDetector, { onFocus: this.onFocusDetectorFocus })
|
|
177
|
-
]);
|
|
245
|
+
(0, vue_1.h)(_internal_1.NBaseFocusDetector, { onFocus: this.onFocusDetectorFocus })));
|
|
178
246
|
}
|
|
179
247
|
});
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { PropType } from 'vue';
|
|
2
|
-
|
|
3
|
-
value: string;
|
|
4
|
-
disabled: boolean;
|
|
5
|
-
}
|
|
2
|
+
import { Item } from './interface';
|
|
6
3
|
declare const _default: import("vue").DefineComponent<{
|
|
7
4
|
clsPrefix: {
|
|
8
5
|
type: StringConstructor;
|
|
@@ -13,10 +10,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
13
10
|
required: true;
|
|
14
11
|
};
|
|
15
12
|
activeValue: {
|
|
16
|
-
type: PropType<number | null>;
|
|
13
|
+
type: PropType<number | "am" | "pm" | null>;
|
|
17
14
|
default: null;
|
|
18
15
|
};
|
|
19
|
-
onItemClick: PropType<(value: number) => void>;
|
|
16
|
+
onItemClick: PropType<(value: number | 'am' | 'pm') => void>;
|
|
20
17
|
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
21
18
|
clsPrefix?: unknown;
|
|
22
19
|
data?: unknown;
|
|
@@ -25,10 +22,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
25
22
|
} & {
|
|
26
23
|
data: Item[];
|
|
27
24
|
clsPrefix: string;
|
|
28
|
-
activeValue: number | null;
|
|
25
|
+
activeValue: number | "am" | "pm" | null;
|
|
29
26
|
} & {
|
|
30
|
-
onItemClick?: ((value: number) => void) | undefined;
|
|
27
|
+
onItemClick?: ((value: number | 'am' | 'pm') => void) | undefined;
|
|
31
28
|
}>, {
|
|
32
|
-
activeValue: number | null;
|
|
29
|
+
activeValue: number | "am" | "pm" | null;
|
|
33
30
|
}>;
|
|
34
31
|
export default _default;
|
|
@@ -16,21 +16,19 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
16
16
|
type: Number,
|
|
17
17
|
default: null
|
|
18
18
|
},
|
|
19
|
+
// It should be required but vue's type seems to have bugs
|
|
19
20
|
onItemClick: Function
|
|
20
21
|
},
|
|
21
22
|
render() {
|
|
22
23
|
const { activeValue, onItemClick, clsPrefix } = this;
|
|
23
24
|
return this.data.map((item) => {
|
|
24
|
-
const {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
return ((0, vue_1.h)("div", { key: value, "data-active": active ? '' : null, class: [
|
|
25
|
+
const { label, disabled, value } = item;
|
|
26
|
+
const active = activeValue === value;
|
|
27
|
+
return ((0, vue_1.h)("div", { key: label, "data-active": active ? '' : null, class: [
|
|
28
28
|
`${clsPrefix}-time-picker-col__item`,
|
|
29
|
-
{
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
], onClick: onItemClick && !disabled ? () => onItemClick(numValue) : undefined }, value));
|
|
29
|
+
active && `${clsPrefix}-time-picker-col__item--active`,
|
|
30
|
+
disabled && `${clsPrefix}-time-picker-col__item--disabled`
|
|
31
|
+
], onClick: onItemClick && !disabled ? () => onItemClick(value) : undefined }, label));
|
|
34
32
|
});
|
|
35
33
|
}
|
|
36
34
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PropType } from 'vue';
|
|
2
2
|
import { MaybeArray, ExtractPublicPropTypes } from '../../_utils';
|
|
3
|
-
import { IsHourDisabled, IsMinuteDisabled, IsSecondDisabled, OnUpdateValue, Size } from './interface';
|
|
3
|
+
import { IsHourDisabled, IsMinuteDisabled, IsSecondDisabled, ItemValue, OnUpdateValue, Size } from './interface';
|
|
4
4
|
declare const timePickerProps: {
|
|
5
5
|
to: {
|
|
6
6
|
type: PropType<string | boolean | HTMLElement>;
|
|
@@ -51,11 +51,6 @@ declare const timePickerProps: {
|
|
|
51
51
|
type: PropType<boolean | undefined>;
|
|
52
52
|
default: undefined;
|
|
53
53
|
};
|
|
54
|
-
onChange: {
|
|
55
|
-
type: PropType<MaybeArray<OnUpdateValue> | undefined>;
|
|
56
|
-
validator: () => boolean;
|
|
57
|
-
default: undefined;
|
|
58
|
-
};
|
|
59
54
|
hours: {
|
|
60
55
|
type: PropType<MaybeArray<number>>;
|
|
61
56
|
validator: (value: MaybeArray<number>) => boolean;
|
|
@@ -68,6 +63,8 @@ declare const timePickerProps: {
|
|
|
68
63
|
type: PropType<MaybeArray<number>>;
|
|
69
64
|
validator: (value: MaybeArray<number>) => boolean;
|
|
70
65
|
};
|
|
66
|
+
use12Hours: BooleanConstructor;
|
|
67
|
+
onChange: PropType<MaybeArray<OnUpdateValue> | undefined>;
|
|
71
68
|
theme: PropType<import("../../_mixins").Theme<"TimePicker", {
|
|
72
69
|
panelColor: string;
|
|
73
70
|
panelBoxShadow: string;
|
|
@@ -951,11 +948,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
951
948
|
type: PropType<boolean | undefined>;
|
|
952
949
|
default: undefined;
|
|
953
950
|
};
|
|
954
|
-
onChange: {
|
|
955
|
-
type: PropType<MaybeArray<OnUpdateValue> | undefined>;
|
|
956
|
-
validator: () => boolean;
|
|
957
|
-
default: undefined;
|
|
958
|
-
};
|
|
959
951
|
hours: {
|
|
960
952
|
type: PropType<MaybeArray<number>>;
|
|
961
953
|
validator: (value: MaybeArray<number>) => boolean;
|
|
@@ -968,6 +960,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
968
960
|
type: PropType<MaybeArray<number>>;
|
|
969
961
|
validator: (value: MaybeArray<number>) => boolean;
|
|
970
962
|
};
|
|
963
|
+
use12Hours: BooleanConstructor;
|
|
964
|
+
onChange: PropType<MaybeArray<OnUpdateValue> | undefined>;
|
|
971
965
|
theme: PropType<import("../../_mixins").Theme<"TimePicker", {
|
|
972
966
|
panelColor: string;
|
|
973
967
|
panelBoxShadow: string;
|
|
@@ -1839,6 +1833,13 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1839
1833
|
contentRef: HTMLElement | null;
|
|
1840
1834
|
containerScrollTop: number;
|
|
1841
1835
|
} | undefined;
|
|
1836
|
+
amPmScrollRef?: {
|
|
1837
|
+
scrollTo: import("../../_internal/scrollbar/src/ScrollBar").ScrollTo;
|
|
1838
|
+
sync: () => void;
|
|
1839
|
+
containerRef: HTMLElement | null;
|
|
1840
|
+
contentRef: HTMLElement | null;
|
|
1841
|
+
containerScrollTop: number;
|
|
1842
|
+
} | undefined;
|
|
1842
1843
|
} | null>;
|
|
1843
1844
|
adjustedTo: import("vue").ComputedRef<string | HTMLElement>;
|
|
1844
1845
|
mergedShow: import("vue").ComputedRef<boolean>;
|
|
@@ -1861,6 +1862,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1861
1862
|
hourValue: import("vue").ComputedRef<number | null>;
|
|
1862
1863
|
minuteValue: import("vue").ComputedRef<number | null>;
|
|
1863
1864
|
secondValue: import("vue").ComputedRef<number | null>;
|
|
1865
|
+
amPmValue: import("vue").ComputedRef<"am" | "pm" | null>;
|
|
1864
1866
|
handleTimeInputFocus: (e: FocusEvent) => void;
|
|
1865
1867
|
handleTimeInputBlur: (e: FocusEvent) => void;
|
|
1866
1868
|
handleNowClick: () => void;
|
|
@@ -1871,9 +1873,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1871
1873
|
handleClickOutside: (e: MouseEvent) => void;
|
|
1872
1874
|
handleTimeInputActivate: () => void;
|
|
1873
1875
|
handleTimeInputDeactivate: () => void;
|
|
1874
|
-
handleHourClick: (hour:
|
|
1875
|
-
handleMinuteClick: (minute:
|
|
1876
|
-
handleSecondClick: (second:
|
|
1876
|
+
handleHourClick: (hour: ItemValue) => void;
|
|
1877
|
+
handleMinuteClick: (minute: ItemValue) => void;
|
|
1878
|
+
handleSecondClick: (second: ItemValue) => void;
|
|
1879
|
+
handleAmPmClick: (amPm: ItemValue) => void;
|
|
1877
1880
|
handleTimeInputClear: (e: MouseEvent) => void;
|
|
1878
1881
|
handleFocusDetectorFocus: () => void;
|
|
1879
1882
|
handleMenuKeyDown: (e: KeyboardEvent) => void;
|
|
@@ -2318,10 +2321,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
2318
2321
|
showIcon?: unknown;
|
|
2319
2322
|
disabled?: unknown;
|
|
2320
2323
|
show?: unknown;
|
|
2321
|
-
onChange?: unknown;
|
|
2322
2324
|
hours?: unknown;
|
|
2323
2325
|
minutes?: unknown;
|
|
2324
2326
|
seconds?: unknown;
|
|
2327
|
+
use12Hours?: unknown;
|
|
2328
|
+
onChange?: unknown;
|
|
2325
2329
|
theme?: unknown;
|
|
2326
2330
|
themeOverrides?: unknown;
|
|
2327
2331
|
builtinThemeOverrides?: unknown;
|
|
@@ -2333,6 +2337,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
2333
2337
|
stateful: boolean;
|
|
2334
2338
|
showIcon: boolean;
|
|
2335
2339
|
inputReadonly: boolean;
|
|
2340
|
+
use12Hours: boolean;
|
|
2336
2341
|
} & {
|
|
2337
2342
|
value?: number | null | undefined;
|
|
2338
2343
|
size?: Size | undefined;
|
|
@@ -3187,7 +3192,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
3187
3192
|
}>, {
|
|
3188
3193
|
show: boolean | undefined;
|
|
3189
3194
|
disabled: boolean | undefined;
|
|
3190
|
-
onChange: MaybeArray<OnUpdateValue> | undefined;
|
|
3191
3195
|
format: string;
|
|
3192
3196
|
to: string | boolean | HTMLElement;
|
|
3193
3197
|
placement: string;
|
|
@@ -3197,5 +3201,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
3197
3201
|
stateful: boolean;
|
|
3198
3202
|
showIcon: boolean;
|
|
3199
3203
|
inputReadonly: boolean;
|
|
3204
|
+
use12Hours: boolean;
|
|
3200
3205
|
}>;
|
|
3201
3206
|
export default _default;
|
|
@@ -4,6 +4,7 @@ const vue_1 = require("vue");
|
|
|
4
4
|
const vooks_1 = require("vooks");
|
|
5
5
|
const vueuc_1 = require("vueuc");
|
|
6
6
|
const vdirs_1 = require("vdirs");
|
|
7
|
+
const seemly_1 = require("seemly");
|
|
7
8
|
const date_fns_1 = require("date-fns");
|
|
8
9
|
const utils_1 = require("../../date-picker/src/utils");
|
|
9
10
|
const icons_1 = require("../../_internal/icons");
|
|
@@ -13,10 +14,9 @@ const _mixins_1 = require("../../_mixins");
|
|
|
13
14
|
const _utils_1 = require("../../_utils");
|
|
14
15
|
const styles_1 = require("../styles");
|
|
15
16
|
const Panel_1 = require("./Panel");
|
|
16
|
-
const index_cssr_1 = require("./styles/index.cssr");
|
|
17
17
|
const interface_1 = require("./interface");
|
|
18
|
-
const seemly_1 = require("seemly");
|
|
19
18
|
const utils_2 = require("./utils");
|
|
19
|
+
const index_cssr_1 = require("./styles/index.cssr");
|
|
20
20
|
// validate hours, minutes, seconds prop
|
|
21
21
|
function validateUnits(value, max) {
|
|
22
22
|
if (value === undefined) {
|
|
@@ -55,17 +55,6 @@ const timePickerProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props
|
|
|
55
55
|
}, show: {
|
|
56
56
|
type: Boolean,
|
|
57
57
|
default: undefined
|
|
58
|
-
},
|
|
59
|
-
// deprecated
|
|
60
|
-
onChange: {
|
|
61
|
-
type: [Function, Array],
|
|
62
|
-
validator: () => {
|
|
63
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
64
|
-
(0, _utils_1.warn)('time-picker', '`on-change` is deprecated, please use `on-update:value` instead.');
|
|
65
|
-
}
|
|
66
|
-
return true;
|
|
67
|
-
},
|
|
68
|
-
default: undefined
|
|
69
58
|
}, hours: {
|
|
70
59
|
type: [Number, Array],
|
|
71
60
|
validator: (value) => validateUnits(value, 23)
|
|
@@ -75,11 +64,20 @@ const timePickerProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props
|
|
|
75
64
|
}, seconds: {
|
|
76
65
|
type: [Number, Array],
|
|
77
66
|
validator: (value) => validateUnits(value, 59)
|
|
78
|
-
}
|
|
67
|
+
}, use12Hours: Boolean,
|
|
68
|
+
// deprecated
|
|
69
|
+
onChange: [Function, Array] });
|
|
79
70
|
exports.default = (0, vue_1.defineComponent)({
|
|
80
71
|
name: 'TimePicker',
|
|
81
72
|
props: timePickerProps,
|
|
82
73
|
setup(props) {
|
|
74
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
75
|
+
(0, vue_1.watchEffect)(() => {
|
|
76
|
+
if (props.onChange !== undefined) {
|
|
77
|
+
(0, _utils_1.warnOnce)('time-picker', '`on-change` is deprecated, please use `on-update:value` instead.');
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
83
81
|
const { mergedBorderedRef, mergedClsPrefixRef, namespaceRef } = (0, _mixins_1.useConfig)(props);
|
|
84
82
|
const { localeRef, dateLocaleRef } = (0, _mixins_1.useLocale)('TimePicker');
|
|
85
83
|
const formItem = (0, _mixins_1.useFormItem)(props);
|
|
@@ -172,6 +170,12 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
172
170
|
const mergedAttrSizeRef = (0, vue_1.computed)(() => {
|
|
173
171
|
return props.format.length + 4;
|
|
174
172
|
});
|
|
173
|
+
const amPmValueRef = (0, vue_1.computed)(() => {
|
|
174
|
+
const { value } = mergedValueRef;
|
|
175
|
+
if (value === null)
|
|
176
|
+
return null;
|
|
177
|
+
return (0, date_fns_1.getHours)(value) < 12 ? 'am' : 'pm';
|
|
178
|
+
});
|
|
175
179
|
const hourValueRef = (0, vue_1.computed)(() => {
|
|
176
180
|
const { value } = mergedValueRef;
|
|
177
181
|
if (value === null)
|
|
@@ -259,6 +263,8 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
259
263
|
}
|
|
260
264
|
}
|
|
261
265
|
function handleHourClick(hour) {
|
|
266
|
+
if (typeof hour === 'string')
|
|
267
|
+
return;
|
|
262
268
|
if (mergedValueRef.value === null) {
|
|
263
269
|
doChange((0, date_fns_1.getTime)((0, date_fns_1.setHours)((0, date_fns_1.startOfHour)(new Date()), hour)));
|
|
264
270
|
}
|
|
@@ -267,6 +273,8 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
267
273
|
}
|
|
268
274
|
}
|
|
269
275
|
function handleMinuteClick(minute) {
|
|
276
|
+
if (typeof minute === 'string')
|
|
277
|
+
return;
|
|
270
278
|
if (mergedValueRef.value === null) {
|
|
271
279
|
doChange((0, date_fns_1.getTime)((0, date_fns_1.setMinutes)((0, date_fns_1.startOfMinute)(new Date()), minute)));
|
|
272
280
|
}
|
|
@@ -275,6 +283,8 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
275
283
|
}
|
|
276
284
|
}
|
|
277
285
|
function handleSecondClick(second) {
|
|
286
|
+
if (typeof second === 'string')
|
|
287
|
+
return;
|
|
278
288
|
if (mergedValueRef.value === null) {
|
|
279
289
|
doChange((0, date_fns_1.getTime)((0, date_fns_1.setSeconds)((0, date_fns_1.startOfSecond)(new Date()), second)));
|
|
280
290
|
}
|
|
@@ -282,6 +292,29 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
282
292
|
doChange((0, date_fns_1.getTime)((0, date_fns_1.setSeconds)(mergedValueRef.value, second)));
|
|
283
293
|
}
|
|
284
294
|
}
|
|
295
|
+
function handleAmPmClick(amPm) {
|
|
296
|
+
const { value: mergedValue } = mergedValueRef;
|
|
297
|
+
if (mergedValue === null) {
|
|
298
|
+
const now = new Date();
|
|
299
|
+
const hours = (0, date_fns_1.getHours)(now);
|
|
300
|
+
if (amPm === 'pm' && hours < 12) {
|
|
301
|
+
doChange((0, date_fns_1.getTime)((0, date_fns_1.setHours)(now, hours + 12)));
|
|
302
|
+
}
|
|
303
|
+
else if (amPm === 'am' && hours >= 12) {
|
|
304
|
+
doChange((0, date_fns_1.getTime)((0, date_fns_1.setHours)(now, hours - 12)));
|
|
305
|
+
}
|
|
306
|
+
doChange((0, date_fns_1.getTime)(now));
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
const hours = (0, date_fns_1.getHours)(mergedValue);
|
|
310
|
+
if (amPm === 'pm' && hours < 12) {
|
|
311
|
+
doChange((0, date_fns_1.getTime)((0, date_fns_1.setHours)(mergedValue, hours + 12)));
|
|
312
|
+
}
|
|
313
|
+
else if (amPm === 'am' && hours >= 12) {
|
|
314
|
+
doChange((0, date_fns_1.getTime)((0, date_fns_1.setHours)(mergedValue, hours - 12)));
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
285
318
|
function deriveInputValue(time) {
|
|
286
319
|
if (time === undefined)
|
|
287
320
|
time = mergedValueRef.value;
|
|
@@ -326,28 +359,20 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
326
359
|
});
|
|
327
360
|
}
|
|
328
361
|
function scrollTimer() {
|
|
329
|
-
var _a, _b, _c;
|
|
330
362
|
if (!panelInstRef.value)
|
|
331
363
|
return;
|
|
332
|
-
const { hourScrollRef, minuteScrollRef, secondScrollRef } = panelInstRef.value;
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
if (
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
minuteScrollRef.scrollTo({ top: minute.offsetTop });
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
if (secondScrollRef) {
|
|
346
|
-
const second = (_c = secondScrollRef.contentRef) === null || _c === void 0 ? void 0 : _c.querySelector('[data-active]');
|
|
347
|
-
if (second) {
|
|
348
|
-
secondScrollRef.scrollTo({ top: second.offsetTop });
|
|
364
|
+
const { hourScrollRef, minuteScrollRef, secondScrollRef, amPmScrollRef } = panelInstRef.value;
|
|
365
|
+
[hourScrollRef, minuteScrollRef, secondScrollRef, amPmScrollRef].forEach((itemScrollRef) => {
|
|
366
|
+
var _a;
|
|
367
|
+
if (!itemScrollRef)
|
|
368
|
+
return;
|
|
369
|
+
const activeItemEl = (_a = itemScrollRef.contentRef) === null || _a === void 0 ? void 0 : _a.querySelector('[data-active]');
|
|
370
|
+
if (activeItemEl) {
|
|
371
|
+
itemScrollRef.scrollTo({
|
|
372
|
+
top: activeItemEl.offsetTop
|
|
373
|
+
});
|
|
349
374
|
}
|
|
350
|
-
}
|
|
375
|
+
});
|
|
351
376
|
}
|
|
352
377
|
function doUpdateShow(value) {
|
|
353
378
|
uncontrolledShowRef.value = value;
|
|
@@ -477,6 +502,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
477
502
|
hourValue: hourValueRef,
|
|
478
503
|
minuteValue: minuteValueRef,
|
|
479
504
|
secondValue: secondValueRef,
|
|
505
|
+
amPmValue: amPmValueRef,
|
|
480
506
|
handleTimeInputFocus,
|
|
481
507
|
handleTimeInputBlur,
|
|
482
508
|
handleNowClick,
|
|
@@ -490,6 +516,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
490
516
|
handleHourClick,
|
|
491
517
|
handleMinuteClick,
|
|
492
518
|
handleSecondClick,
|
|
519
|
+
handleAmPmClick,
|
|
493
520
|
handleTimeInputClear,
|
|
494
521
|
handleFocusDetectorFocus,
|
|
495
522
|
handleMenuKeyDown,
|
|
@@ -541,7 +568,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
541
568
|
(0, vue_1.h)(vueuc_1.VFollower, { teleportDisabled: this.adjustedTo === _utils_1.useAdjustedTo.tdkey, show: this.mergedShow, to: this.adjustedTo, containerClass: this.namespace, placement: "bottom-start" }, {
|
|
542
569
|
default: () => ((0, vue_1.h)(vue_1.Transition, { name: "fade-in-scale-up-transition", appear: this.isMounted }, {
|
|
543
570
|
default: () => this.mergedShow
|
|
544
|
-
? (0, vue_1.withDirectives)((0, vue_1.h)(Panel_1.default, { ref: "panelInstRef", actions: this.actions, style: this.cssVars, seconds: this.seconds, minutes: this.minutes, hours: this.hours, transitionDisabled: this.transitionDisabled, hourValue: this.hourValue, showHour: this.hourInFormat, isHourInvalid: this.isHourInvalid, isHourDisabled: this.isHourDisabled, minuteValue: this.minuteValue, showMinute: this.minuteInFormat, isMinuteInvalid: this.isMinuteInvalid, isMinuteDisabled: this.isMinuteDisabled, secondValue: this.secondValue, showSecond: this.secondInFormat, isSecondInvalid: this.isSecondInvalid, isSecondDisabled: this.isSecondDisabled, isValueInvalid: this.isValueInvalid, nowText: this.localizedNow, confirmText: this.localizedPositiveText, onFocusout: this.handleMenuFocusOut, onKeydown: this.handleMenuKeyDown, onHourClick: this.handleHourClick, onMinuteClick: this.handleMinuteClick, onSecondClick: this.handleSecondClick, onNowClick: this.handleNowClick, onConfirmClick: this.handleConfirmClick, onFocusDetectorFocus: this.handleFocusDetectorFocus }), [[vdirs_1.clickoutside, this.handleClickOutside]])
|
|
571
|
+
? (0, vue_1.withDirectives)((0, vue_1.h)(Panel_1.default, { ref: "panelInstRef", actions: this.actions, style: this.cssVars, seconds: this.seconds, minutes: this.minutes, hours: this.hours, transitionDisabled: this.transitionDisabled, hourValue: this.hourValue, showHour: this.hourInFormat, isHourInvalid: this.isHourInvalid, isHourDisabled: this.isHourDisabled, minuteValue: this.minuteValue, showMinute: this.minuteInFormat, isMinuteInvalid: this.isMinuteInvalid, isMinuteDisabled: this.isMinuteDisabled, secondValue: this.secondValue, amPmValue: this.amPmValue, showSecond: this.secondInFormat, isSecondInvalid: this.isSecondInvalid, isSecondDisabled: this.isSecondDisabled, isValueInvalid: this.isValueInvalid, nowText: this.localizedNow, confirmText: this.localizedPositiveText, use12Hours: this.use12Hours, onFocusout: this.handleMenuFocusOut, onKeydown: this.handleMenuKeyDown, onHourClick: this.handleHourClick, onMinuteClick: this.handleMinuteClick, onSecondClick: this.handleSecondClick, onAmPmClick: this.handleAmPmClick, onNowClick: this.handleNowClick, onConfirmClick: this.handleConfirmClick, onFocusDetectorFocus: this.handleFocusDetectorFocus }), [[vdirs_1.clickoutside, this.handleClickOutside]])
|
|
545
572
|
: null
|
|
546
573
|
}))
|
|
547
574
|
})
|
|
@@ -2,6 +2,12 @@ import { InjectionKey, Ref } from 'vue';
|
|
|
2
2
|
import { ScrollbarInst } from '../../_internal';
|
|
3
3
|
import type { MergedTheme } from '../../_mixins';
|
|
4
4
|
import type { TimePickerTheme } from '../styles';
|
|
5
|
+
export declare type ItemValue = number | 'am' | 'pm';
|
|
6
|
+
export interface Item {
|
|
7
|
+
label: string;
|
|
8
|
+
value: ItemValue;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
}
|
|
5
11
|
export interface TimePickerInjection {
|
|
6
12
|
mergedThemeRef: Ref<MergedTheme<TimePickerTheme>>;
|
|
7
13
|
mergedClsPrefixRef: Ref<string>;
|
|
@@ -12,6 +18,7 @@ export interface PanelRef {
|
|
|
12
18
|
hourScrollRef?: ScrollbarInst;
|
|
13
19
|
minuteScrollRef?: ScrollbarInst;
|
|
14
20
|
secondScrollRef?: ScrollbarInst;
|
|
21
|
+
amPmScrollRef?: ScrollbarInst;
|
|
15
22
|
}
|
|
16
23
|
export declare type OnUpdateValue = <T extends number & (number | null)>(value: T) => void;
|
|
17
24
|
export declare type OnUpdateValueImpl = (value: number | null) => void;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { MaybeArray } from '../../_utils';
|
|
2
2
|
export declare const time: {
|
|
3
|
+
amHours: string[];
|
|
4
|
+
pmHours: string[];
|
|
3
5
|
hours: string[];
|
|
4
6
|
minutes: string[];
|
|
5
7
|
seconds: string[];
|
|
6
8
|
period: string[];
|
|
7
9
|
};
|
|
8
10
|
export declare function getFixValue(value: number): string;
|
|
9
|
-
export declare function getTimeUnits(defaultValue: string[], stepOrList: MaybeArray<number> | undefined): string[];
|
|
11
|
+
export declare function getTimeUnits(defaultValue: string[], stepOrList: MaybeArray<number> | undefined, isHourWithAmPm?: 'am' | 'pm'): string[];
|
|
10
12
|
export declare function isTimeInStep(value: number, type: 'hours' | 'minutes' | 'seconds', stepOrList: MaybeArray<number> | undefined): boolean;
|
|
11
13
|
export declare function findSimilarTime(value: number, type: 'hours' | 'minutes' | 'seconds', stepOrList: MaybeArray<number> | undefined): number;
|
|
14
|
+
export declare function getAmPm(value: number): 'am' | 'pm';
|