reka-ui 2.9.5 → 2.9.6
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/dist/MonthPicker/MonthPickerRoot.cjs +10 -6
- package/dist/MonthPicker/MonthPickerRoot.cjs.map +1 -1
- package/dist/MonthPicker/MonthPickerRoot.js +10 -6
- package/dist/MonthPicker/MonthPickerRoot.js.map +1 -1
- package/dist/MonthPicker/useMonthPicker.cjs +16 -4
- package/dist/MonthPicker/useMonthPicker.cjs.map +1 -1
- package/dist/MonthPicker/useMonthPicker.js +16 -4
- package/dist/MonthPicker/useMonthPicker.js.map +1 -1
- package/dist/YearPicker/YearPickerRoot.cjs +13 -6
- package/dist/YearPicker/YearPickerRoot.cjs.map +1 -1
- package/dist/YearPicker/YearPickerRoot.js +13 -6
- package/dist/YearPicker/YearPickerRoot.js.map +1 -1
- package/dist/YearPicker/useYearPicker.cjs +8 -8
- package/dist/YearPicker/useYearPicker.cjs.map +1 -1
- package/dist/YearPicker/useYearPicker.js +8 -8
- package/dist/YearPicker/useYearPicker.js.map +1 -1
- package/dist/date/useDateField.cjs +1 -1
- package/dist/date/useDateField.cjs.map +1 -1
- package/dist/date/useDateField.js +1 -1
- package/dist/date/useDateField.js.map +1 -1
- package/dist/index2.d.cts.map +1 -1
- package/dist/index2.d.ts.map +1 -1
- package/dist/index3.d.cts +4 -4
- package/dist/index3.d.cts.map +1 -1
- package/dist/index3.d.ts +15 -15
- package/dist/index4.d.cts +627 -627
- package/dist/index4.d.cts.map +1 -1
- package/dist/index4.d.ts +637 -637
- package/dist/index4.d.ts.map +1 -1
- package/dist/internal.d.cts +2 -2
- package/dist/internal.d.ts +2 -2
- package/dist/shared.d.cts +2 -2
- package/dist/shared.d.ts +2 -2
- package/package.json +2 -2
- package/src/MonthPicker/MonthPickerRoot.vue +12 -6
- package/src/MonthPicker/useMonthPicker.ts +4 -4
- package/src/YearPicker/YearPickerRoot.vue +12 -6
- package/src/YearPicker/useYearPicker.ts +4 -4
- package/src/shared/date/index.ts +1 -0
- package/src/shared/date/useDateField.ts +3 -1
- package/src/shared/index.ts +1 -1
package/dist/internal.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./index2.cjs";
|
|
2
2
|
import "./index3.cjs";
|
|
3
3
|
import { MenuArrowProps, MenuCheckboxItemEmits, MenuCheckboxItemProps, MenuContentEmits, MenuContentProps, MenuEmits, MenuGroupProps, MenuItemEmits, MenuItemIndicatorProps, MenuItemProps, MenuLabelProps, MenuPortalProps, MenuProps, MenuRadioGroupEmits, MenuRadioGroupProps, MenuRadioItemEmits, MenuRadioItemProps, MenuSeparatorProps, MenuSubContentEmits, MenuSubContentProps, MenuSubEmits, MenuSubProps, MenuSubTriggerProps, PopperAnchorProps, _default$277 as _default$13, _default$278 as _default$8, _default$279 as _default, _default$280 as _default$6, _default$281 as _default$10, _default$282 as _default$3, _default$283 as _default$14, _default$284 as _default$12, _default$285 as _default$2, _default$286 as _default$1, _default$287 as _default$11, _default$288 as _default$7, _default$290 as _default$9, _default$291 as _default$4, _default$292 as _default$5, injectMenuContext, injectMenuRootContext } from "./index4.cjs";
|
|
4
|
-
import * as
|
|
4
|
+
import * as vue28 from "vue";
|
|
5
5
|
|
|
6
6
|
//#region src/Menu/MenuAnchor.vue.d.ts
|
|
7
7
|
interface MenuAnchorProps extends PopperAnchorProps {}
|
|
@@ -9,7 +9,7 @@ declare var __VLS_8: {};
|
|
|
9
9
|
type __VLS_Slots = {} & {
|
|
10
10
|
default?: (props: typeof __VLS_8) => any;
|
|
11
11
|
};
|
|
12
|
-
declare const __VLS_base:
|
|
12
|
+
declare const __VLS_base: vue28.DefineComponent<MenuAnchorProps, {}, {}, {}, {}, vue28.ComponentOptionsMixin, vue28.ComponentOptionsMixin, {}, string, vue28.PublicProps, Readonly<MenuAnchorProps> & Readonly<{}>, {}, {}, {}, {}, string, vue28.ComponentProvideOptions, false, {}, any>;
|
|
13
13
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
14
|
declare const _default$15: typeof __VLS_export;
|
|
15
15
|
type __VLS_WithSlots<T, S> = T & {
|
package/dist/internal.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./index2.js";
|
|
2
2
|
import "./index3.js";
|
|
3
3
|
import { MenuArrowProps, MenuCheckboxItemEmits, MenuCheckboxItemProps, MenuContentEmits, MenuContentProps, MenuEmits, MenuGroupProps, MenuItemEmits, MenuItemIndicatorProps, MenuItemProps, MenuLabelProps, MenuPortalProps, MenuProps, MenuRadioGroupEmits, MenuRadioGroupProps, MenuRadioItemEmits, MenuRadioItemProps, MenuSeparatorProps, MenuSubContentEmits, MenuSubContentProps, MenuSubEmits, MenuSubProps, MenuSubTriggerProps, PopperAnchorProps, _default$277 as _default$13, _default$278 as _default$8, _default$279 as _default, _default$280 as _default$6, _default$281 as _default$10, _default$282 as _default$3, _default$283 as _default$14, _default$284 as _default$12, _default$285 as _default$2, _default$286 as _default$1, _default$287 as _default$11, _default$288 as _default$7, _default$290 as _default$9, _default$291 as _default$4, _default$292 as _default$5, injectMenuContext, injectMenuRootContext } from "./index4.js";
|
|
4
|
-
import * as
|
|
4
|
+
import * as vue51 from "vue";
|
|
5
5
|
|
|
6
6
|
//#region src/Menu/MenuAnchor.vue.d.ts
|
|
7
7
|
interface MenuAnchorProps extends PopperAnchorProps {}
|
|
@@ -9,7 +9,7 @@ declare var __VLS_8: {};
|
|
|
9
9
|
type __VLS_Slots = {} & {
|
|
10
10
|
default?: (props: typeof __VLS_8) => any;
|
|
11
11
|
};
|
|
12
|
-
declare const __VLS_base:
|
|
12
|
+
declare const __VLS_base: vue51.DefineComponent<MenuAnchorProps, {}, {}, {}, {}, vue51.ComponentOptionsMixin, vue51.ComponentOptionsMixin, {}, string, vue51.PublicProps, Readonly<MenuAnchorProps> & Readonly<{}>, {}, {}, {}, {}, string, vue51.ComponentProvideOptions, false, {}, any>;
|
|
13
13
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
14
|
declare const _default$15: typeof __VLS_export;
|
|
15
15
|
type __VLS_WithSlots<T, S> = T & {
|
package/dist/shared.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { DateRange, DateStep, DateValue, Formatter, SegmentPart, TimeValue, areEqual, chunk, clamp, createContext, findValuesBetween, getActiveElement, handleAndDispatchCustomEvent, isBrowser, isNullish, isValidVNodeElement, isValueEqualOrExist, omit, onFocusOutside, pick, renderSlotFragments, roundToStepPrecision, snapValueToStep, trapFocus, useArrowNavigation, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useFocusGuards, useFormControl, useForwardExpose, useForwardProps, useForwardPropsEmits, useForwardRef, useGraceArea, useHideOthers, useId, useKbd, useLocale, useSelectionBehavior, useSize, useStateMachine, useTestKbd, useTypeahead, withDefault } from "./index3.cjs";
|
|
2
|
-
export { DateRange, DateStep, DateValue, Formatter, SegmentPart, TimeValue, areEqual, chunk, clamp, createContext, findValuesBetween, getActiveElement, handleAndDispatchCustomEvent, isBrowser, isNullish, isValidVNodeElement, isValueEqualOrExist, omit, onFocusOutside, pick, renderSlotFragments, roundToStepPrecision, snapValueToStep, trapFocus, useArrowNavigation, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useFocusGuards, useFormControl, useForwardExpose, useForwardProps, useForwardPropsEmits, useForwardRef, useGraceArea, useHideOthers, useId, useKbd, useLocale, useSelectionBehavior, useSize, useStateMachine, useTestKbd, useTypeahead, withDefault };
|
|
1
|
+
import { DateRange, DateStep, DateValue, Formatter, SegmentPart, TimeRange, TimeValue, areEqual, chunk, clamp, createContext, findValuesBetween, getActiveElement, handleAndDispatchCustomEvent, isBrowser, isNullish, isValidVNodeElement, isValueEqualOrExist, omit, onFocusOutside, pick, renderSlotFragments, roundToStepPrecision, snapValueToStep, trapFocus, useArrowNavigation, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useFocusGuards, useFormControl, useForwardExpose, useForwardProps, useForwardPropsEmits, useForwardRef, useGraceArea, useHideOthers, useId, useKbd, useLocale, useSelectionBehavior, useSize, useStateMachine, useTestKbd, useTypeahead, withDefault } from "./index3.cjs";
|
|
2
|
+
export { DateRange, DateStep, DateValue, Formatter, SegmentPart, TimeRange, TimeValue, areEqual, chunk, clamp, createContext, findValuesBetween, getActiveElement, handleAndDispatchCustomEvent, isBrowser, isNullish, isValidVNodeElement, isValueEqualOrExist, omit, onFocusOutside, pick, renderSlotFragments, roundToStepPrecision, snapValueToStep, trapFocus, useArrowNavigation, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useFocusGuards, useFormControl, useForwardExpose, useForwardProps, useForwardPropsEmits, useForwardRef, useGraceArea, useHideOthers, useId, useKbd, useLocale, useSelectionBehavior, useSize, useStateMachine, useTestKbd, useTypeahead, withDefault };
|
package/dist/shared.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { DateRange, DateStep, DateValue, Formatter, SegmentPart, TimeValue, areEqual, chunk, clamp, createContext, findValuesBetween, getActiveElement, handleAndDispatchCustomEvent, isBrowser, isNullish, isValidVNodeElement, isValueEqualOrExist, omit, onFocusOutside, pick, renderSlotFragments, roundToStepPrecision, snapValueToStep, trapFocus, useArrowNavigation, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useFocusGuards, useFormControl, useForwardExpose, useForwardProps, useForwardPropsEmits, useForwardRef, useGraceArea, useHideOthers, useId, useKbd, useLocale, useSelectionBehavior, useSize, useStateMachine, useTestKbd, useTypeahead, withDefault } from "./index3.js";
|
|
2
|
-
export { DateRange, DateStep, DateValue, Formatter, SegmentPart, TimeValue, areEqual, chunk, clamp, createContext, findValuesBetween, getActiveElement, handleAndDispatchCustomEvent, isBrowser, isNullish, isValidVNodeElement, isValueEqualOrExist, omit, onFocusOutside, pick, renderSlotFragments, roundToStepPrecision, snapValueToStep, trapFocus, useArrowNavigation, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useFocusGuards, useFormControl, useForwardExpose, useForwardProps, useForwardPropsEmits, useForwardRef, useGraceArea, useHideOthers, useId, useKbd, useLocale, useSelectionBehavior, useSize, useStateMachine, useTestKbd, useTypeahead, withDefault };
|
|
1
|
+
import { DateRange, DateStep, DateValue, Formatter, SegmentPart, TimeRange, TimeValue, areEqual, chunk, clamp, createContext, findValuesBetween, getActiveElement, handleAndDispatchCustomEvent, isBrowser, isNullish, isValidVNodeElement, isValueEqualOrExist, omit, onFocusOutside, pick, renderSlotFragments, roundToStepPrecision, snapValueToStep, trapFocus, useArrowNavigation, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useFocusGuards, useFormControl, useForwardExpose, useForwardProps, useForwardPropsEmits, useForwardRef, useGraceArea, useHideOthers, useId, useKbd, useLocale, useSelectionBehavior, useSize, useStateMachine, useTestKbd, useTypeahead, withDefault } from "./index3.js";
|
|
2
|
+
export { DateRange, DateStep, DateValue, Formatter, SegmentPart, TimeRange, TimeValue, areEqual, chunk, clamp, createContext, findValuesBetween, getActiveElement, handleAndDispatchCustomEvent, isBrowser, isNullish, isValidVNodeElement, isValueEqualOrExist, omit, onFocusOutside, pick, renderSlotFragments, roundToStepPrecision, snapValueToStep, trapFocus, useArrowNavigation, useBodyScrollLock, useDateFormatter, useDirection, useEmitAsProps, useFilter, useFocusGuards, useFormControl, useForwardExpose, useForwardProps, useForwardPropsEmits, useForwardRef, useGraceArea, useHideOthers, useId, useKbd, useLocale, useSelectionBehavior, useSize, useStateMachine, useTestKbd, useTypeahead, withDefault };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reka-ui",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.9.
|
|
4
|
+
"version": "2.9.6",
|
|
5
5
|
"description": "Vue port for Radix UI Primitives.",
|
|
6
6
|
"author": "UnoVue Contributors (https://github.com/unovue)",
|
|
7
7
|
"license": "MIT",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"jsdom": "^26.1.0",
|
|
119
119
|
"size-limit": "^12.0.1",
|
|
120
120
|
"tsdown": "^0.12.9",
|
|
121
|
-
"vite": "^8.0.
|
|
121
|
+
"vite": "^8.0.8",
|
|
122
122
|
"vitest": "^3.2.4",
|
|
123
123
|
"vitest-axe": "0.1.0",
|
|
124
124
|
"vitest-canvas-mock": "^0.3.3",
|
|
@@ -205,23 +205,29 @@ watch(modelValue, (_modelValue) => {
|
|
|
205
205
|
}
|
|
206
206
|
})
|
|
207
207
|
|
|
208
|
+
function resolveMonthValue(value: DateValue, reference?: DateValue) {
|
|
209
|
+
if (!reference)
|
|
210
|
+
return value.copy()
|
|
211
|
+
return value.copy().set({ day: reference.day })
|
|
212
|
+
}
|
|
213
|
+
|
|
208
214
|
function onMonthChange(value: DateValue) {
|
|
209
215
|
if (!multiple.value) {
|
|
210
216
|
if (!modelValue.value) {
|
|
211
|
-
modelValue.value = value.
|
|
217
|
+
modelValue.value = resolveMonthValue(value, placeholder.value)
|
|
212
218
|
return
|
|
213
219
|
}
|
|
214
220
|
|
|
215
221
|
if (!preventDeselect.value && isSameYearMonth(modelValue.value as DateValue, value)) {
|
|
216
|
-
placeholder.value = value.
|
|
222
|
+
placeholder.value = resolveMonthValue(value, modelValue.value as DateValue)
|
|
217
223
|
modelValue.value = undefined
|
|
218
224
|
}
|
|
219
225
|
else {
|
|
220
|
-
modelValue.value = value.
|
|
226
|
+
modelValue.value = resolveMonthValue(value, modelValue.value as DateValue)
|
|
221
227
|
}
|
|
222
228
|
}
|
|
223
229
|
else if (!modelValue.value) {
|
|
224
|
-
modelValue.value = [value.
|
|
230
|
+
modelValue.value = [resolveMonthValue(value, placeholder.value)]
|
|
225
231
|
}
|
|
226
232
|
else {
|
|
227
233
|
const modelValueArray = Array.isArray(modelValue.value)
|
|
@@ -230,12 +236,12 @@ function onMonthChange(value: DateValue) {
|
|
|
230
236
|
|
|
231
237
|
const index = modelValueArray.findIndex(date => isSameYearMonth(date, value))
|
|
232
238
|
if (index === -1) {
|
|
233
|
-
modelValue.value = [...modelValueArray, value.
|
|
239
|
+
modelValue.value = [...modelValueArray, resolveMonthValue(value, placeholder.value)]
|
|
234
240
|
}
|
|
235
241
|
else if (!preventDeselect.value) {
|
|
236
242
|
const next = modelValueArray.filter(date => !isSameYearMonth(date, value))
|
|
237
243
|
if (!next.length) {
|
|
238
|
-
placeholder.value = value
|
|
244
|
+
placeholder.value = resolveMonthValue(value, modelValueArray[index])
|
|
239
245
|
modelValue.value = undefined
|
|
240
246
|
return
|
|
241
247
|
}
|
|
@@ -134,13 +134,13 @@ export function useMonthPicker(props: UseMonthPickerProps) {
|
|
|
134
134
|
if (nextPageFunc || props.nextPage.value) {
|
|
135
135
|
const newDate = (nextPageFunc || props.nextPage.value)!(currentDate)
|
|
136
136
|
grid.value = createMonthGrid({ dateObj: newDate })
|
|
137
|
-
props.placeholder.value = newDate.set({ day:
|
|
137
|
+
props.placeholder.value = newDate.set({ month: props.placeholder.value.month, day: props.placeholder.value.day })
|
|
138
138
|
return
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
const newDate = currentDate.add({ years: 1 })
|
|
142
142
|
grid.value = createMonthGrid({ dateObj: newDate })
|
|
143
|
-
props.placeholder.value = newDate.set({ day:
|
|
143
|
+
props.placeholder.value = newDate.set({ month: props.placeholder.value.month, day: props.placeholder.value.day })
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
const prevPage = (prevPageFunc?: (date: DateValue) => DateValue) => {
|
|
@@ -149,13 +149,13 @@ export function useMonthPicker(props: UseMonthPickerProps) {
|
|
|
149
149
|
if (prevPageFunc || props.prevPage.value) {
|
|
150
150
|
const newDate = (prevPageFunc || props.prevPage.value)!(currentDate)
|
|
151
151
|
grid.value = createMonthGrid({ dateObj: newDate })
|
|
152
|
-
props.placeholder.value = newDate.set({ day:
|
|
152
|
+
props.placeholder.value = newDate.set({ month: props.placeholder.value.month, day: props.placeholder.value.day })
|
|
153
153
|
return
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
const newDate = currentDate.subtract({ years: 1 })
|
|
157
157
|
grid.value = createMonthGrid({ dateObj: newDate })
|
|
158
|
-
props.placeholder.value = newDate.set({ day:
|
|
158
|
+
props.placeholder.value = newDate.set({ month: props.placeholder.value.month, day: props.placeholder.value.day })
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
watch(props.placeholder, (value) => {
|
|
@@ -211,33 +211,39 @@ watch(modelValue, (_modelValue) => {
|
|
|
211
211
|
}
|
|
212
212
|
})
|
|
213
213
|
|
|
214
|
+
function resolveYearValue(value: DateValue, reference?: DateValue) {
|
|
215
|
+
if (!reference)
|
|
216
|
+
return value.copy()
|
|
217
|
+
return value.copy().set({ month: reference.month, day: reference.day })
|
|
218
|
+
}
|
|
219
|
+
|
|
214
220
|
function onYearChange(value: DateValue) {
|
|
215
221
|
if (!multiple.value) {
|
|
216
222
|
if (!modelValue.value) {
|
|
217
|
-
modelValue.value = value.
|
|
223
|
+
modelValue.value = resolveYearValue(value, placeholder.value)
|
|
218
224
|
return
|
|
219
225
|
}
|
|
220
226
|
|
|
221
227
|
if (!preventDeselect.value && isSameYear(modelValue.value as DateValue, value)) {
|
|
222
|
-
placeholder.value = value.
|
|
228
|
+
placeholder.value = resolveYearValue(value, modelValue.value as DateValue)
|
|
223
229
|
modelValue.value = undefined
|
|
224
230
|
}
|
|
225
231
|
else {
|
|
226
|
-
modelValue.value = value.
|
|
232
|
+
modelValue.value = resolveYearValue(value, modelValue.value as DateValue)
|
|
227
233
|
}
|
|
228
234
|
}
|
|
229
235
|
else if (!modelValue.value) {
|
|
230
|
-
modelValue.value = [value.
|
|
236
|
+
modelValue.value = [resolveYearValue(value, placeholder.value)]
|
|
231
237
|
}
|
|
232
238
|
else if (Array.isArray(modelValue.value)) {
|
|
233
239
|
const index = modelValue.value.findIndex(date => isSameYear(date, value))
|
|
234
240
|
if (index === -1) {
|
|
235
|
-
modelValue.value = [...modelValue.value, value.
|
|
241
|
+
modelValue.value = [...modelValue.value, resolveYearValue(value, placeholder.value)]
|
|
236
242
|
}
|
|
237
243
|
else if (!preventDeselect.value) {
|
|
238
244
|
const next = modelValue.value.filter(date => !isSameYear(date, value))
|
|
239
245
|
if (!next.length) {
|
|
240
|
-
placeholder.value = value.
|
|
246
|
+
placeholder.value = resolveYearValue(value, modelValue.value[index])
|
|
241
247
|
modelValue.value = undefined
|
|
242
248
|
return
|
|
243
249
|
}
|
|
@@ -138,13 +138,13 @@ export function useYearPicker(props: UseYearPickerProps) {
|
|
|
138
138
|
if (nextPageFunc || props.nextPage.value) {
|
|
139
139
|
const newDate = (nextPageFunc || props.nextPage.value)!(firstYearInGrid)
|
|
140
140
|
grid.value = createYearGrid({ dateObj: newDate, yearsPerPage: props.yearsPerPage.value, decadeAligned: false })
|
|
141
|
-
props.placeholder.value = newDate.set({ month:
|
|
141
|
+
props.placeholder.value = newDate.set({ month: props.placeholder.value.month, day: props.placeholder.value.day })
|
|
142
142
|
return
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
const newDate = firstYearInGrid.add({ years: props.yearsPerPage.value })
|
|
146
146
|
grid.value = createYearGrid({ dateObj: newDate, yearsPerPage: props.yearsPerPage.value, decadeAligned: false })
|
|
147
|
-
props.placeholder.value = newDate.set({ month:
|
|
147
|
+
props.placeholder.value = newDate.set({ month: props.placeholder.value.month, day: props.placeholder.value.day })
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
const prevPage = (prevPageFunc?: (date: DateValue) => DateValue) => {
|
|
@@ -153,13 +153,13 @@ export function useYearPicker(props: UseYearPickerProps) {
|
|
|
153
153
|
if (prevPageFunc || props.prevPage.value) {
|
|
154
154
|
const newDate = (prevPageFunc || props.prevPage.value)!(firstYearInGrid)
|
|
155
155
|
grid.value = createYearGrid({ dateObj: newDate, yearsPerPage: props.yearsPerPage.value, decadeAligned: false })
|
|
156
|
-
props.placeholder.value = newDate.set({ month:
|
|
156
|
+
props.placeholder.value = newDate.set({ month: props.placeholder.value.month, day: props.placeholder.value.day })
|
|
157
157
|
return
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
const newDate = firstYearInGrid.subtract({ years: props.yearsPerPage.value })
|
|
161
161
|
grid.value = createYearGrid({ dateObj: newDate, yearsPerPage: props.yearsPerPage.value, decadeAligned: false })
|
|
162
|
-
props.placeholder.value = newDate.set({ month:
|
|
162
|
+
props.placeholder.value = newDate.set({ month: props.placeholder.value.month, day: props.placeholder.value.day })
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
watch(props.placeholder, (value) => {
|
package/src/shared/date/index.ts
CHANGED
|
@@ -755,7 +755,9 @@ export function useDateField(props: UseDateFieldProps) {
|
|
|
755
755
|
|
|
756
756
|
let displayPrev = prevValue
|
|
757
757
|
if (is12Hour && prevValue !== null) {
|
|
758
|
-
|
|
758
|
+
// 12 AM/PM should be treated as 0 internally even if it doesn't match the display
|
|
759
|
+
// otherwise repeatedly typing 0 will not advance to the next segment
|
|
760
|
+
displayPrev = prevValue % 12 === 0 ? 0 : (prevValue > 12 ? prevValue - 12 : prevValue)
|
|
759
761
|
}
|
|
760
762
|
|
|
761
763
|
const { value, moveToNext } = updateHour(max, num, displayPrev)
|
package/src/shared/index.ts
CHANGED
|
@@ -2,7 +2,7 @@ export * from './arrays'
|
|
|
2
2
|
export * from './browser'
|
|
3
3
|
export * from './clamp'
|
|
4
4
|
export { createContext } from './createContext'
|
|
5
|
-
export { type DateRange, type DateStep, type DateValue, type SegmentPart, type TimeValue } from './date'
|
|
5
|
+
export { type DateRange, type DateStep, type DateValue, type SegmentPart, type TimeRange, type TimeValue } from './date'
|
|
6
6
|
export { getActiveElement } from './getActiveElement'
|
|
7
7
|
export { handleAndDispatchCustomEvent } from './handleAndDispatchCustomEvent'
|
|
8
8
|
export { isValidVNodeElement } from './isValidVNodeElement'
|