vant 4.9.7 → 4.9.9

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.
Files changed (57) hide show
  1. package/README.md +1 -0
  2. package/es/calendar/Calendar.mjs +1 -1
  3. package/es/calendar/CalendarDay.mjs +5 -3
  4. package/es/calendar/CalendarHeader.mjs +1 -1
  5. package/es/calendar/CalendarMonth.mjs +1 -1
  6. package/es/calendar/index.css +1 -1
  7. package/es/date-picker/DatePicker.d.ts +3 -3
  8. package/es/date-picker/DatePicker.mjs +9 -8
  9. package/es/date-picker/index.d.ts +2 -2
  10. package/es/date-picker/utils.d.ts +2 -4
  11. package/es/date-picker/utils.mjs +1 -6
  12. package/es/dialog/Dialog.d.ts +13 -0
  13. package/es/dialog/Dialog.mjs +5 -1
  14. package/es/dialog/index.d.ts +9 -0
  15. package/es/field/Field.d.ts +5 -1
  16. package/es/field/Field.mjs +7 -4
  17. package/es/field/index.d.ts +2 -0
  18. package/es/field/utils.d.ts +1 -1
  19. package/es/field/utils.mjs +6 -10
  20. package/es/index.d.ts +1 -1
  21. package/es/index.mjs +1 -1
  22. package/es/search/Search.d.ts +3 -0
  23. package/es/search/index.d.ts +2 -0
  24. package/es/time-picker/TimePicker.d.ts +3 -7
  25. package/es/time-picker/TimePicker.mjs +1 -2
  26. package/es/time-picker/index.d.ts +2 -4
  27. package/lib/calendar/Calendar.js +1 -1
  28. package/lib/calendar/CalendarDay.js +5 -3
  29. package/lib/calendar/CalendarHeader.js +1 -1
  30. package/lib/calendar/CalendarMonth.js +1 -1
  31. package/lib/calendar/index.css +1 -1
  32. package/lib/date-picker/DatePicker.d.ts +3 -3
  33. package/lib/date-picker/DatePicker.js +9 -8
  34. package/lib/date-picker/index.d.ts +2 -2
  35. package/lib/date-picker/utils.d.ts +2 -4
  36. package/lib/dialog/Dialog.d.ts +13 -0
  37. package/lib/dialog/Dialog.js +5 -1
  38. package/lib/dialog/index.d.ts +9 -0
  39. package/lib/field/Field.d.ts +5 -1
  40. package/lib/field/Field.js +7 -4
  41. package/lib/field/index.d.ts +2 -0
  42. package/lib/field/utils.d.ts +1 -1
  43. package/lib/field/utils.js +6 -10
  44. package/lib/index.css +1 -1
  45. package/lib/index.d.ts +1 -1
  46. package/lib/index.js +1 -1
  47. package/lib/search/Search.d.ts +3 -0
  48. package/lib/search/index.d.ts +2 -0
  49. package/lib/time-picker/TimePicker.d.ts +3 -7
  50. package/lib/time-picker/TimePicker.js +1 -2
  51. package/lib/time-picker/index.d.ts +2 -4
  52. package/lib/vant.cjs.js +37 -32
  53. package/lib/vant.es.js +37 -32
  54. package/lib/vant.js +38 -33
  55. package/lib/vant.min.js +3 -3
  56. package/lib/web-types.json +1 -1
  57. package/package.json +17 -17
package/README.md CHANGED
@@ -125,6 +125,7 @@ Vant 3/4 supports modern browsers and Chrome >= 51、iOS >= 10.0 (same as Vue 3)
125
125
  | [vant-aliapp](https://github.com/ant-move/Vant-Aliapp) | Alipay MiniProgram UI |
126
126
  | [vant-theme](https://github.com/Aisen60/vant-theme) | Online theme preview built on Vant UI |
127
127
  | [@antmjs/vantui](https://github.com/antmjs/vantui) | Mobile UI Components based on Vant, supporting Taro and React |
128
+ | [Taroify](https://github.com/mallfoundry/taroify) | Taroify is the Taro version of Vant |
128
129
  | [vant-playground](https://github.com/LadyChatterleyLover/vant-playground) | Vant Playground |
129
130
  | [sfc-playground-vant](https://github.com/zhixiaoqiang/sfc-playground-vant) | Vant Playground |
130
131
  | [vue3-h5-template](https://github.com/yulimchen/vue3-h5-template) | Mobile project template based on Vant |
@@ -358,7 +358,7 @@ var stdin_default = defineComponent({
358
358
  }, pick(props, ["type", "color", "showMark", "formatter", "rowHeight", "showSubtitle", "allowSameDay"]), {
359
359
  "onClick": onClickDay,
360
360
  "onClickDisabledDate": (item) => emit("clickDisabledDate", item)
361
- }), pick(slots, ["top-info", "bottom-info", "month-title"]));
361
+ }), pick(slots, ["top-info", "bottom-info", "month-title", "text"]));
362
362
  };
363
363
  const renderFooterButton = () => {
364
364
  if (slots.footer) {
@@ -81,6 +81,9 @@ var stdin_default = defineComponent({
81
81
  }, [slots["bottom-info"] ? slots["bottom-info"](props.item) : bottomInfo]);
82
82
  }
83
83
  };
84
+ const renderText = () => {
85
+ return slots.text ? slots.text(props.item) : props.item.text;
86
+ };
84
87
  const renderContent = () => {
85
88
  const {
86
89
  item,
@@ -88,10 +91,9 @@ var stdin_default = defineComponent({
88
91
  rowHeight
89
92
  } = props;
90
93
  const {
91
- type,
92
- text
94
+ type
93
95
  } = item;
94
- const Nodes = [renderTopInfo(), text, renderBottomInfo()];
96
+ const Nodes = [renderTopInfo(), renderText(), renderBottomInfo()];
95
97
  if (type === "selected") {
96
98
  return _createVNode("div", {
97
99
  "class": bem("selected-day"),
@@ -83,7 +83,7 @@ var stdin_default = defineComponent({
83
83
  const canSwitch = props.switchMode !== "none";
84
84
  return _createVNode("div", {
85
85
  "class": bem("header-subtitle", {
86
- "with-swicth": canSwitch
86
+ "with-switch": canSwitch
87
87
  }),
88
88
  "onClick": onClickSubtitle
89
89
  }, [canSwitch ? [renderAction(), _createVNode("div", {
@@ -189,7 +189,7 @@ var stdin_default = defineComponent({
189
189
  "rowHeight": rowHeight.value,
190
190
  "onClick": (item2) => emit("click", item2),
191
191
  "onClickDisabledDate": (item2) => emit("clickDisabledDate", item2)
192
- }, pick(slots, ["top-info", "bottom-info"]));
192
+ }, pick(slots, ["top-info", "bottom-info", "text"]));
193
193
  const renderDays = () => _createVNode("div", {
194
194
  "ref": daysRef,
195
195
  "role": "grid",
@@ -1 +1 @@
1
- :root,:host{--van-calendar-background: var(--van-background-2);--van-calendar-popup-height: 80%;--van-calendar-header-shadow: 0 2px 10px rgba(125, 126, 128, .16);--van-calendar-header-title-height: 44px;--van-calendar-header-title-font-size: var(--van-font-size-lg);--van-calendar-header-subtitle-font-size: var(--van-font-size-md);--van-calendar-header-action-width: 28px;--van-calendar-header-action-color: var(--van-text-color);--van-calendar-header-action-disabled-color: var(--van-text-color-3);--van-calendar-weekdays-height: 30px;--van-calendar-weekdays-font-size: var(--van-font-size-sm);--van-calendar-month-title-font-size: var(--van-font-size-md);--van-calendar-month-mark-color: rgba(242, 243, 245, .8);--van-calendar-month-mark-font-size: 160px;--van-calendar-day-height: 64px;--van-calendar-day-font-size: var(--van-font-size-lg);--van-calendar-day-margin-bottom: 4px;--van-calendar-day-disabled-color: var(--van-text-color-3);--van-calendar-range-edge-color: var(--van-white);--van-calendar-range-edge-background: var(--van-primary-color);--van-calendar-range-middle-color: var(--van-primary-color);--van-calendar-range-middle-background-opacity: .1;--van-calendar-selected-day-size: 54px;--van-calendar-selected-day-color: var(--van-white);--van-calendar-selected-day-background: var(--van-primary-color);--van-calendar-info-font-size: var(--van-font-size-xs);--van-calendar-info-line-height: var(--van-line-height-xs);--van-calendar-confirm-button-height: 36px;--van-calendar-confirm-button-margin: 7px 0}.van-theme-dark{--van-calendar-month-mark-color: rgba(100, 101, 102, .2);--van-calendar-day-disabled-color: var(--van-gray-7)}.van-calendar{display:flex;flex-direction:column;height:100%;background:var(--van-calendar-background)}.van-calendar__popup.van-popup--top,.van-calendar__popup.van-popup--bottom{height:var(--van-calendar-popup-height)}.van-calendar__popup.van-popup--left,.van-calendar__popup.van-popup--right{height:100%}.van-calendar__popup .van-popup__close-icon{top:11px}.van-calendar__header{flex-shrink:0;box-shadow:var(--van-calendar-header-shadow)}.van-calendar__month-title,.van-calendar__header-title,.van-calendar__header-subtitle{color:var(--van-text-color);height:var(--van-calendar-header-title-height);font-weight:var(--van-font-bold);line-height:var(--van-calendar-header-title-height);text-align:center}.van-calendar__header-title{font-size:var(--van-calendar-header-title-font-size)}.van-calendar__header-subtitle{font-size:var(--van-calendar-header-subtitle-font-size)}.van-calendar__header-subtitle--with-swicth{display:flex;align-items:center;padding:0 var(--van-padding-base)}.van-calendar__header-subtitle-text{flex:1}.van-calendar__header-action{display:flex;align-items:center;justify-content:center;min-width:var(--van-calendar-header-action-width);height:100%;color:var(--van-calendar-header-action-color);cursor:pointer}.van-calendar__header-action--disabled{color:var(--van-calendar-header-action-disabled-color);cursor:not-allowed}.van-calendar__month-title{font-size:var(--van-calendar-month-title-font-size)}.van-calendar__weekdays{display:flex}.van-calendar__weekday{flex:1;font-size:var(--van-calendar-weekdays-font-size);line-height:var(--van-calendar-weekdays-height);text-align:center}.van-calendar__body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}.van-calendar__days{position:relative;display:flex;flex-wrap:wrap;-webkit-user-select:none;user-select:none}.van-calendar__month-mark{position:absolute;top:50%;left:50%;z-index:0;color:var(--van-calendar-month-mark-color);font-size:var(--van-calendar-month-mark-font-size);transform:translate(-50%,-50%);pointer-events:none}.van-calendar__day,.van-calendar__selected-day{display:flex;align-items:center;justify-content:center;text-align:center}.van-calendar__day{position:relative;width:14.285%;height:var(--van-calendar-day-height);font-size:var(--van-calendar-day-font-size);margin-bottom:var(--van-calendar-day-margin-bottom);cursor:pointer}.van-calendar__day--end,.van-calendar__day--start,.van-calendar__day--start-end,.van-calendar__day--multiple-middle,.van-calendar__day--multiple-selected{color:var(--van-calendar-range-edge-color);background:var(--van-calendar-range-edge-background)}.van-calendar__day--start{border-radius:var(--van-radius-md) 0 0 var(--van-radius-md)}.van-calendar__day--end{border-radius:0 var(--van-radius-md) var(--van-radius-md) 0}.van-calendar__day--start-end,.van-calendar__day--multiple-selected{border-radius:var(--van-radius-md)}.van-calendar__day--middle{color:var(--van-calendar-range-middle-color)}.van-calendar__day--middle:after{position:absolute;top:0;right:0;bottom:0;left:0;background-color:currentColor;opacity:var(--van-calendar-range-middle-background-opacity);content:""}.van-calendar__day--disabled{color:var(--van-calendar-day-disabled-color);cursor:default}.van-calendar__top-info,.van-calendar__bottom-info{position:absolute;right:0;left:0;font-size:var(--van-calendar-info-font-size);line-height:var(--van-calendar-info-line-height)}@media (max-width: 350px){.van-calendar__top-info,.van-calendar__bottom-info{font-size:9px}}.van-calendar__top-info{top:6px}.van-calendar__bottom-info{bottom:6px}.van-calendar__selected-day{width:var(--van-calendar-selected-day-size);height:var(--van-calendar-selected-day-size);color:var(--van-calendar-selected-day-color);background:var(--van-calendar-selected-day-background);border-radius:var(--van-radius-md)}.van-calendar__footer{flex-shrink:0;padding-left:var(--van-padding-md);padding-right:var(--van-padding-md)}.van-calendar__confirm{height:var(--van-calendar-confirm-button-height);margin:var(--van-calendar-confirm-button-margin)}
1
+ :root,:host{--van-calendar-background: var(--van-background-2);--van-calendar-popup-height: 80%;--van-calendar-header-shadow: 0 2px 10px rgba(125, 126, 128, .16);--van-calendar-header-title-height: 44px;--van-calendar-header-title-font-size: var(--van-font-size-lg);--van-calendar-header-subtitle-font-size: var(--van-font-size-md);--van-calendar-header-action-width: 28px;--van-calendar-header-action-color: var(--van-text-color);--van-calendar-header-action-disabled-color: var(--van-text-color-3);--van-calendar-weekdays-height: 30px;--van-calendar-weekdays-font-size: var(--van-font-size-sm);--van-calendar-month-title-font-size: var(--van-font-size-md);--van-calendar-month-mark-color: rgba(242, 243, 245, .8);--van-calendar-month-mark-font-size: 160px;--van-calendar-day-height: 64px;--van-calendar-day-font-size: var(--van-font-size-lg);--van-calendar-day-margin-bottom: 4px;--van-calendar-day-disabled-color: var(--van-text-color-3);--van-calendar-range-edge-color: var(--van-white);--van-calendar-range-edge-background: var(--van-primary-color);--van-calendar-range-middle-color: var(--van-primary-color);--van-calendar-range-middle-background-opacity: .1;--van-calendar-selected-day-size: 54px;--van-calendar-selected-day-color: var(--van-white);--van-calendar-selected-day-background: var(--van-primary-color);--van-calendar-info-font-size: var(--van-font-size-xs);--van-calendar-info-line-height: var(--van-line-height-xs);--van-calendar-confirm-button-height: 36px;--van-calendar-confirm-button-margin: 7px 0}.van-theme-dark{--van-calendar-month-mark-color: rgba(100, 101, 102, .2);--van-calendar-day-disabled-color: var(--van-gray-7)}.van-calendar{display:flex;flex-direction:column;height:100%;background:var(--van-calendar-background)}.van-calendar__popup.van-popup--top,.van-calendar__popup.van-popup--bottom{height:var(--van-calendar-popup-height)}.van-calendar__popup.van-popup--left,.van-calendar__popup.van-popup--right{height:100%}.van-calendar__popup .van-popup__close-icon{top:11px}.van-calendar__header{flex-shrink:0;box-shadow:var(--van-calendar-header-shadow)}.van-calendar__month-title,.van-calendar__header-title,.van-calendar__header-subtitle{color:var(--van-text-color);height:var(--van-calendar-header-title-height);font-weight:var(--van-font-bold);line-height:var(--van-calendar-header-title-height);text-align:center}.van-calendar__header-title{font-size:var(--van-calendar-header-title-font-size)}.van-calendar__header-subtitle{font-size:var(--van-calendar-header-subtitle-font-size)}.van-calendar__header-subtitle--with-switch{display:flex;align-items:center;padding:0 var(--van-padding-base)}.van-calendar__header-subtitle-text{flex:1}.van-calendar__header-action{display:flex;align-items:center;justify-content:center;min-width:var(--van-calendar-header-action-width);height:100%;color:var(--van-calendar-header-action-color);cursor:pointer}.van-calendar__header-action--disabled{color:var(--van-calendar-header-action-disabled-color);cursor:not-allowed}.van-calendar__month-title{font-size:var(--van-calendar-month-title-font-size)}.van-calendar__weekdays{display:flex}.van-calendar__weekday{flex:1;font-size:var(--van-calendar-weekdays-font-size);line-height:var(--van-calendar-weekdays-height);text-align:center}.van-calendar__body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}.van-calendar__days{position:relative;display:flex;flex-wrap:wrap;-webkit-user-select:none;user-select:none}.van-calendar__month-mark{position:absolute;top:50%;left:50%;z-index:0;color:var(--van-calendar-month-mark-color);font-size:var(--van-calendar-month-mark-font-size);transform:translate(-50%,-50%);pointer-events:none}.van-calendar__day,.van-calendar__selected-day{display:flex;align-items:center;justify-content:center;text-align:center}.van-calendar__day{position:relative;width:14.285%;height:var(--van-calendar-day-height);font-size:var(--van-calendar-day-font-size);margin-bottom:var(--van-calendar-day-margin-bottom);cursor:pointer}.van-calendar__day--end,.van-calendar__day--start,.van-calendar__day--start-end,.van-calendar__day--multiple-middle,.van-calendar__day--multiple-selected{color:var(--van-calendar-range-edge-color);background:var(--van-calendar-range-edge-background)}.van-calendar__day--start{border-radius:var(--van-radius-md) 0 0 var(--van-radius-md)}.van-calendar__day--end{border-radius:0 var(--van-radius-md) var(--van-radius-md) 0}.van-calendar__day--start-end,.van-calendar__day--multiple-selected{border-radius:var(--van-radius-md)}.van-calendar__day--middle{color:var(--van-calendar-range-middle-color)}.van-calendar__day--middle:after{position:absolute;top:0;right:0;bottom:0;left:0;background-color:currentColor;opacity:var(--van-calendar-range-middle-background-opacity);content:""}.van-calendar__day--disabled{color:var(--van-calendar-day-disabled-color);cursor:default}.van-calendar__top-info,.van-calendar__bottom-info{position:absolute;right:0;left:0;font-size:var(--van-calendar-info-font-size);line-height:var(--van-calendar-info-line-height)}@media (max-width: 350px){.van-calendar__top-info,.van-calendar__bottom-info{font-size:9px}}.van-calendar__top-info{top:6px}.van-calendar__bottom-info{bottom:6px}.van-calendar__selected-day{width:var(--van-calendar-selected-day-size);height:var(--van-calendar-selected-day-size);color:var(--van-calendar-selected-day-color);background:var(--van-calendar-selected-day-background);border-radius:var(--van-radius-md)}.van-calendar__footer{flex-shrink:0;padding-left:var(--van-padding-md);padding-right:var(--van-padding-md)}.van-calendar__confirm{height:var(--van-calendar-confirm-button-height);margin:var(--van-calendar-confirm-button-margin)}
@@ -29,7 +29,7 @@ export declare const datePickerProps: {
29
29
  type: PropType<string[]>;
30
30
  default: () => never[];
31
31
  };
32
- filter: PropType<(columnType: string, options: import("../picker").PickerOption[], values?: string[]) => import("../picker").PickerOption[]>;
32
+ filter: PropType<(columnType: string, options: import("../picker").PickerOption[], values: string[]) => import("../picker").PickerOption[]>;
33
33
  formatter: {
34
34
  type: PropType<(type: string, option: import("../picker").PickerOption) => import("../picker").PickerOption>;
35
35
  default: (type: string, option: import("../picker").PickerOption) => import("../picker").PickerOption;
@@ -85,7 +85,7 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
85
85
  type: PropType<string[]>;
86
86
  default: () => never[];
87
87
  };
88
- filter: PropType<(columnType: string, options: import("../picker").PickerOption[], values?: string[]) => import("../picker").PickerOption[]>;
88
+ filter: PropType<(columnType: string, options: import("../picker").PickerOption[], values: string[]) => import("../picker").PickerOption[]>;
89
89
  formatter: {
90
90
  type: PropType<(type: string, option: import("../picker").PickerOption) => import("../picker").PickerOption>;
91
91
  default: (type: string, option: import("../picker").PickerOption) => import("../picker").PickerOption;
@@ -134,7 +134,7 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
134
134
  type: PropType<string[]>;
135
135
  default: () => never[];
136
136
  };
137
- filter: PropType<(columnType: string, options: import("../picker").PickerOption[], values?: string[]) => import("../picker").PickerOption[]>;
137
+ filter: PropType<(columnType: string, options: import("../picker").PickerOption[], values: string[]) => import("../picker").PickerOption[]>;
138
138
  formatter: {
139
139
  type: PropType<(type: string, option: import("../picker").PickerOption) => import("../picker").PickerOption>;
140
140
  default: (type: string, option: import("../picker").PickerOption) => import("../picker").PickerOption;
@@ -32,11 +32,7 @@ var stdin_default = defineComponent({
32
32
  const currentValues = ref(props.modelValue);
33
33
  const updatedByExternalSources = ref(false);
34
34
  const pickerRef = ref();
35
- const genYearOptions = () => {
36
- const minYear = props.minDate.getFullYear();
37
- const maxYear = props.maxDate.getFullYear();
38
- return genOptions(minYear, maxYear, "year", props.formatter, props.filter);
39
- };
35
+ const computedValues = computed(() => updatedByExternalSources.value ? props.modelValue : currentValues.value);
40
36
  const isMinYear = (year) => year === props.minDate.getFullYear();
41
37
  const isMaxYear = (year) => year === props.maxDate.getFullYear();
42
38
  const isMinMonth = (month) => month === props.minDate.getMonth() + 1;
@@ -47,7 +43,7 @@ var stdin_default = defineComponent({
47
43
  columnsType
48
44
  } = props;
49
45
  const index = columnsType.indexOf(type);
50
- const value = updatedByExternalSources.value ? props.modelValue[index] : currentValues.value[index];
46
+ const value = computedValues.value[index];
51
47
  if (value) {
52
48
  return +value;
53
49
  }
@@ -60,18 +56,23 @@ var stdin_default = defineComponent({
60
56
  return minDate.getDate();
61
57
  }
62
58
  };
59
+ const genYearOptions = () => {
60
+ const minYear = props.minDate.getFullYear();
61
+ const maxYear = props.maxDate.getFullYear();
62
+ return genOptions(minYear, maxYear, "year", props.formatter, props.filter, computedValues.value);
63
+ };
63
64
  const genMonthOptions = () => {
64
65
  const year = getValue("year");
65
66
  const minMonth = isMinYear(year) ? props.minDate.getMonth() + 1 : 1;
66
67
  const maxMonth = isMaxYear(year) ? props.maxDate.getMonth() + 1 : 12;
67
- return genOptions(minMonth, maxMonth, "month", props.formatter, props.filter);
68
+ return genOptions(minMonth, maxMonth, "month", props.formatter, props.filter, computedValues.value);
68
69
  };
69
70
  const genDayOptions = () => {
70
71
  const year = getValue("year");
71
72
  const month = getValue("month");
72
73
  const minDate = isMinYear(year) && isMinMonth(month) ? props.minDate.getDate() : 1;
73
74
  const maxDate = isMaxYear(year) && isMaxMonth(month) ? props.maxDate.getDate() : getMonthEndDay(year, month);
74
- return genOptions(minDate, maxDate, "day", props.formatter, props.filter);
75
+ return genOptions(minDate, maxDate, "day", props.formatter, props.filter, computedValues.value);
75
76
  };
76
77
  const confirm = () => {
77
78
  var _a;
@@ -28,7 +28,7 @@ export declare const DatePicker: import("../utils").WithInstall<import("vue").De
28
28
  type: import("vue").PropType<string[]>;
29
29
  default: () => never[];
30
30
  };
31
- filter: import("vue").PropType<(columnType: string, options: import("..").PickerOption[], values?: string[]) => import("..").PickerOption[]>;
31
+ filter: import("vue").PropType<(columnType: string, options: import("..").PickerOption[], values: string[]) => import("..").PickerOption[]>;
32
32
  formatter: {
33
33
  type: import("vue").PropType<(type: string, option: import("..").PickerOption) => import("..").PickerOption>;
34
34
  default: (type: string, option: import("..").PickerOption) => import("..").PickerOption;
@@ -77,7 +77,7 @@ export declare const DatePicker: import("../utils").WithInstall<import("vue").De
77
77
  type: import("vue").PropType<string[]>;
78
78
  default: () => never[];
79
79
  };
80
- filter: import("vue").PropType<(columnType: string, options: import("..").PickerOption[], values?: string[]) => import("..").PickerOption[]>;
80
+ filter: import("vue").PropType<(columnType: string, options: import("..").PickerOption[], values: string[]) => import("..").PickerOption[]>;
81
81
  formatter: {
82
82
  type: import("vue").PropType<(type: string, option: import("..").PickerOption) => import("..").PickerOption>;
83
83
  default: (type: string, option: import("..").PickerOption) => import("..").PickerOption;
@@ -1,9 +1,7 @@
1
- import { type RequiredParams } from '../utils';
2
1
  import { pickerSharedProps } from '../picker/Picker';
3
2
  import type { PropType } from 'vue';
4
3
  import type { PickerOption } from '../picker';
5
- type Filter = (columnType: string, options: PickerOption[], values?: string[]) => PickerOption[];
6
- export type TimeFilter = RequiredParams<Filter>;
4
+ type Filter = (columnType: string, options: PickerOption[], values: string[]) => PickerOption[];
7
5
  type Formatter = (type: string, option: PickerOption) => PickerOption;
8
6
  export declare const sharedProps: {
9
7
  loading: BooleanConstructor;
@@ -43,6 +41,6 @@ export declare const sharedProps: {
43
41
  export declare const pickerInheritKeys: Array<keyof typeof pickerSharedProps>;
44
42
  export declare function times<T>(n: number, iteratee: (index: number) => T): T[];
45
43
  export declare const getMonthEndDay: (year: number, month: number) => number;
46
- export declare const genOptions: <T extends string>(min: number, max: number, type: T, formatter: Formatter, filter?: Filter | TimeFilter, values?: string[]) => PickerOption[];
44
+ export declare const genOptions: <T extends string>(min: number, max: number, type: T, formatter: Formatter, filter: Filter | undefined, values: string[]) => PickerOption[];
47
45
  export declare const formatValueRange: (values: string[], columns: PickerOption[][]) => string[];
48
46
  export {};
@@ -1,9 +1,4 @@
1
- import {
2
- extend,
3
- padZero,
4
- makeArrayProp,
5
- clamp
6
- } from "../utils/index.mjs";
1
+ import { extend, padZero, makeArrayProp, clamp } from "../utils/index.mjs";
7
2
  import { pickerSharedProps } from "../picker/Picker.mjs";
8
3
  const sharedProps = extend({}, pickerSharedProps, {
9
4
  modelValue: makeArrayProp(),
@@ -54,6 +54,10 @@ export declare const dialogProps: {
54
54
  default: true;
55
55
  };
56
56
  closeOnClickOverlay: BooleanConstructor;
57
+ keyboardEnabled: {
58
+ type: BooleanConstructor;
59
+ default: true;
60
+ };
57
61
  };
58
62
  export type DialogProps = ExtractPropTypes<typeof dialogProps>;
59
63
  declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
@@ -110,6 +114,10 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
110
114
  default: true;
111
115
  };
112
116
  closeOnClickOverlay: BooleanConstructor;
117
+ keyboardEnabled: {
118
+ type: BooleanConstructor;
119
+ default: true;
120
+ };
113
121
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "keydown" | "update:show" | "confirm")[], "cancel" | "keydown" | "update:show" | "confirm", import("vue").PublicProps, Readonly<ExtractPropTypes<{
114
122
  show: BooleanConstructor;
115
123
  zIndex: (NumberConstructor | StringConstructor)[];
@@ -164,6 +172,10 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
164
172
  default: true;
165
173
  };
166
174
  closeOnClickOverlay: BooleanConstructor;
175
+ keyboardEnabled: {
176
+ type: BooleanConstructor;
177
+ default: true;
178
+ };
167
179
  }>> & Readonly<{
168
180
  onKeydown?: ((...args: any[]) => any) | undefined;
169
181
  "onUpdate:show"?: ((...args: any[]) => any) | undefined;
@@ -183,5 +195,6 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
183
195
  cancelButtonDisabled: boolean;
184
196
  confirmButtonDisabled: boolean;
185
197
  showConfirmButton: boolean;
198
+ keyboardEnabled: boolean;
186
199
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
187
200
  export default _default;
@@ -25,7 +25,8 @@ const dialogProps = extend({}, popupSharedProps, {
25
25
  confirmButtonColor: String,
26
26
  confirmButtonDisabled: Boolean,
27
27
  showConfirmButton: truthProp,
28
- closeOnClickOverlay: Boolean
28
+ closeOnClickOverlay: Boolean,
29
+ keyboardEnabled: truthProp
29
30
  });
30
31
  const popupInheritKeys = [...popupSharedPropKeys, "transition", "closeOnPopstate"];
31
32
  var stdin_default = defineComponent({
@@ -72,6 +73,9 @@ var stdin_default = defineComponent({
72
73
  const onConfirm = getActionHandler("confirm");
73
74
  const onKeydown = withKeys((event) => {
74
75
  var _a, _b;
76
+ if (!props.keyboardEnabled) {
77
+ return;
78
+ }
75
79
  if (event.target !== ((_b = (_a = root.value) == null ? void 0 : _a.popupRef) == null ? void 0 : _b.value)) {
76
80
  return;
77
81
  }
@@ -52,6 +52,10 @@ export declare const Dialog: import("../utils").WithInstall<import("vue").Define
52
52
  default: true;
53
53
  };
54
54
  closeOnClickOverlay: BooleanConstructor;
55
+ keyboardEnabled: {
56
+ type: BooleanConstructor;
57
+ default: true;
58
+ };
55
59
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "keydown" | "update:show" | "confirm")[], "cancel" | "keydown" | "update:show" | "confirm", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
56
60
  show: BooleanConstructor;
57
61
  zIndex: (NumberConstructor | StringConstructor)[];
@@ -106,6 +110,10 @@ export declare const Dialog: import("../utils").WithInstall<import("vue").Define
106
110
  default: true;
107
111
  };
108
112
  closeOnClickOverlay: BooleanConstructor;
113
+ keyboardEnabled: {
114
+ type: BooleanConstructor;
115
+ default: true;
116
+ };
109
117
  }>> & Readonly<{
110
118
  onKeydown?: ((...args: any[]) => any) | undefined;
111
119
  "onUpdate:show"?: ((...args: any[]) => any) | undefined;
@@ -125,6 +133,7 @@ export declare const Dialog: import("../utils").WithInstall<import("vue").Define
125
133
  cancelButtonDisabled: boolean;
126
134
  confirmButtonDisabled: boolean;
127
135
  showConfirmButton: boolean;
136
+ keyboardEnabled: boolean;
128
137
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
129
138
  export default Dialog;
130
139
  export { dialogProps } from './Dialog';
@@ -1,4 +1,4 @@
1
- import { type PropType, type ExtractPropTypes } from 'vue';
1
+ import { type PropType, type ExtractPropTypes, type HTMLAttributes } from 'vue';
2
2
  import type { FieldRule, FieldType, FieldTextAlign, FieldClearTrigger, FieldFormatTrigger, FieldAutosizeConfig } from './types';
3
3
  export declare const fieldSharedProps: {
4
4
  id: StringConstructor;
@@ -50,6 +50,7 @@ export declare const fieldSharedProps: {
50
50
  type: BooleanConstructor;
51
51
  default: null;
52
52
  };
53
+ inputmode: PropType<HTMLAttributes["inputmode"]>;
53
54
  };
54
55
  export declare const fieldProps: {
55
56
  tag: {
@@ -131,6 +132,7 @@ export declare const fieldProps: {
131
132
  type: BooleanConstructor;
132
133
  default: null;
133
134
  };
135
+ inputmode: PropType<HTMLAttributes["inputmode"]>;
134
136
  } & {
135
137
  rows: (NumberConstructor | StringConstructor)[];
136
138
  type: {
@@ -230,6 +232,7 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
230
232
  type: BooleanConstructor;
231
233
  default: null;
232
234
  };
235
+ inputmode: PropType<HTMLAttributes["inputmode"]>;
233
236
  } & {
234
237
  rows: (NumberConstructor | StringConstructor)[];
235
238
  type: {
@@ -327,6 +330,7 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
327
330
  type: BooleanConstructor;
328
331
  default: null;
329
332
  };
333
+ inputmode: PropType<HTMLAttributes["inputmode"]>;
330
334
  } & {
331
335
  rows: (NumberConstructor | StringConstructor)[];
332
336
  type: {
@@ -45,7 +45,8 @@ const fieldSharedProps = {
45
45
  readonly: {
46
46
  type: Boolean,
47
47
  default: null
48
- }
48
+ },
49
+ inputmode: String
49
50
  };
50
51
  const fieldProps = extend({}, cellSharedProps, fieldSharedProps, {
51
52
  rows: numericProp,
@@ -222,7 +223,7 @@ var stdin_default = defineComponent({
222
223
  if (props.type === "number" || props.type === "digit") {
223
224
  const isNumber = props.type === "number";
224
225
  value = formatNumber(value, isNumber, isNumber);
225
- if (trigger === "onBlur" && value !== "") {
226
+ if (trigger === "onBlur" && value !== "" && (props.min !== void 0 || props.max !== void 0)) {
226
227
  const adjustedValue = clamp(+value, (_a = props.min) != null ? _a : -Infinity, (_b = props.max) != null ? _b : Infinity);
227
228
  value = adjustedValue.toString();
228
229
  }
@@ -388,9 +389,11 @@ var stdin_default = defineComponent({
388
389
  onCompositionstart: startComposing
389
390
  };
390
391
  if (props.type === "textarea") {
391
- return _createVNode("textarea", inputAttrs, null);
392
+ return _createVNode("textarea", _mergeProps(inputAttrs, {
393
+ "inputmode": props.inputmode
394
+ }), null);
392
395
  }
393
- return _createVNode("input", _mergeProps(mapInputType(props.type), inputAttrs), null);
396
+ return _createVNode("input", _mergeProps(mapInputType(props.type, props.inputmode), inputAttrs), null);
394
397
  };
395
398
  const renderLeftIcon = () => {
396
399
  const leftIconSlot = slots["left-icon"];
@@ -79,6 +79,7 @@ export declare const Field: import("../utils").WithInstall<import("vue").DefineC
79
79
  type: BooleanConstructor;
80
80
  default: null;
81
81
  };
82
+ inputmode: import("vue").PropType<import("vue").HTMLAttributes["inputmode"]>;
82
83
  } & {
83
84
  rows: (NumberConstructor | StringConstructor)[];
84
85
  type: {
@@ -176,6 +177,7 @@ export declare const Field: import("../utils").WithInstall<import("vue").DefineC
176
177
  type: BooleanConstructor;
177
178
  default: null;
178
179
  };
180
+ inputmode: import("vue").PropType<import("vue").HTMLAttributes["inputmode"]>;
179
181
  } & {
180
182
  rows: (NumberConstructor | StringConstructor)[];
181
183
  type: {
@@ -7,7 +7,7 @@ export declare function getRuleMessage(value: unknown, rule: FieldRule): string;
7
7
  export declare function startComposing({ target }: Event): void;
8
8
  export declare function endComposing({ target }: Event): void;
9
9
  export declare function resizeTextarea(input: HTMLInputElement, autosize: true | FieldAutosizeConfig): void;
10
- export declare function mapInputType(type: FieldType): {
10
+ export declare function mapInputType(type: FieldType, inputmode?: HTMLAttributes['inputmode']): {
11
11
  type: InputHTMLAttributes['type'];
12
12
  inputmode?: HTMLAttributes['inputmode'];
13
13
  };
@@ -72,20 +72,16 @@ function resizeTextarea(input, autosize) {
72
72
  setRootScrollTop(scrollTop);
73
73
  }
74
74
  }
75
- function mapInputType(type) {
75
+ function mapInputType(type, inputmode) {
76
76
  if (type === "number") {
77
- return {
78
- type: "text",
79
- inputmode: "decimal"
80
- };
77
+ type = "text";
78
+ inputmode != null ? inputmode : inputmode = "decimal";
81
79
  }
82
80
  if (type === "digit") {
83
- return {
84
- type: "tel",
85
- inputmode: "numeric"
86
- };
81
+ type = "tel";
82
+ inputmode != null ? inputmode : inputmode = "numeric";
87
83
  }
88
- return { type };
84
+ return { type, inputmode };
89
85
  }
90
86
  function getStringLength(str) {
91
87
  return [...str].length;
package/es/index.d.ts CHANGED
@@ -106,4 +106,4 @@ declare namespace _default {
106
106
  }
107
107
  export default _default;
108
108
  export function install(app: any): void;
109
- export const version: "4.9.7";
109
+ export const version: "4.9.9";
package/es/index.mjs CHANGED
@@ -99,7 +99,7 @@ import { Toast } from "./toast/index.mjs";
99
99
  import { TreeSelect } from "./tree-select/index.mjs";
100
100
  import { Uploader } from "./uploader/index.mjs";
101
101
  import { Watermark } from "./watermark/index.mjs";
102
- const version = "4.9.7";
102
+ const version = "4.9.9";
103
103
  function install(app) {
104
104
  const components = [
105
105
  ActionBar,
@@ -50,6 +50,7 @@ export declare const searchProps: {
50
50
  type: BooleanConstructor;
51
51
  default: null;
52
52
  };
53
+ inputmode: import("vue").PropType<import("vue").HTMLAttributes["inputmode"]>;
53
54
  } & {
54
55
  label: StringConstructor;
55
56
  shape: {
@@ -119,6 +120,7 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
119
120
  type: BooleanConstructor;
120
121
  default: null;
121
122
  };
123
+ inputmode: import("vue").PropType<import("vue").HTMLAttributes["inputmode"]>;
122
124
  } & {
123
125
  label: StringConstructor;
124
126
  shape: {
@@ -186,6 +188,7 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
186
188
  type: BooleanConstructor;
187
189
  default: null;
188
190
  };
191
+ inputmode: import("vue").PropType<import("vue").HTMLAttributes["inputmode"]>;
189
192
  } & {
190
193
  label: StringConstructor;
191
194
  shape: {
@@ -49,6 +49,7 @@ export declare const Search: import("../utils").WithInstall<import("vue").Define
49
49
  type: BooleanConstructor;
50
50
  default: null;
51
51
  };
52
+ inputmode: import("vue").PropType<import("vue").HTMLAttributes["inputmode"]>;
52
53
  } & {
53
54
  label: StringConstructor;
54
55
  shape: {
@@ -116,6 +117,7 @@ export declare const Search: import("../utils").WithInstall<import("vue").Define
116
117
  type: BooleanConstructor;
117
118
  default: null;
118
119
  };
120
+ inputmode: import("vue").PropType<import("vue").HTMLAttributes["inputmode"]>;
119
121
  } & {
120
122
  label: StringConstructor;
121
123
  shape: {
@@ -1,5 +1,4 @@
1
1
  import { type ExtractPropTypes, type PropType, type ComponentPublicInstance } from 'vue';
2
- import { type TimeFilter } from '../date-picker/utils';
3
2
  export type TimePickerColumnType = 'hour' | 'minute' | 'second';
4
3
  export declare const timePickerProps: {
5
4
  loading: BooleanConstructor;
@@ -30,7 +29,7 @@ export declare const timePickerProps: {
30
29
  type: PropType<string[]>;
31
30
  default: () => never[];
32
31
  };
33
- filter: PropType<(columnType: string, options: import("../picker").PickerOption[], values?: string[]) => import("../picker").PickerOption[]>;
32
+ filter: PropType<(columnType: string, options: import("../picker").PickerOption[], values: string[]) => import("../picker").PickerOption[]>;
34
33
  formatter: {
35
34
  type: PropType<(type: string, option: import("../picker").PickerOption) => import("../picker").PickerOption>;
36
35
  default: (type: string, option: import("../picker").PickerOption) => import("../picker").PickerOption;
@@ -72,7 +71,6 @@ export declare const timePickerProps: {
72
71
  type: PropType<TimePickerColumnType[]>;
73
72
  default: () => string[];
74
73
  };
75
- filter: PropType<TimeFilter>;
76
74
  };
77
75
  export type TimePickerProps = ExtractPropTypes<typeof timePickerProps>;
78
76
  export type TimePickerExpose = {
@@ -109,7 +107,7 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
109
107
  type: PropType<string[]>;
110
108
  default: () => never[];
111
109
  };
112
- filter: PropType<(columnType: string, options: import("../picker").PickerOption[], values?: string[]) => import("../picker").PickerOption[]>;
110
+ filter: PropType<(columnType: string, options: import("../picker").PickerOption[], values: string[]) => import("../picker").PickerOption[]>;
113
111
  formatter: {
114
112
  type: PropType<(type: string, option: import("../picker").PickerOption) => import("../picker").PickerOption>;
115
113
  default: (type: string, option: import("../picker").PickerOption) => import("../picker").PickerOption;
@@ -151,7 +149,6 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
151
149
  type: PropType<TimePickerColumnType[]>;
152
150
  default: () => string[];
153
151
  };
154
- filter: PropType<TimeFilter>;
155
152
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "cancel" | "change" | "confirm")[], "update:modelValue" | "cancel" | "change" | "confirm", import("vue").PublicProps, Readonly<ExtractPropTypes<{
156
153
  loading: BooleanConstructor;
157
154
  readonly: BooleanConstructor;
@@ -181,7 +178,7 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
181
178
  type: PropType<string[]>;
182
179
  default: () => never[];
183
180
  };
184
- filter: PropType<(columnType: string, options: import("../picker").PickerOption[], values?: string[]) => import("../picker").PickerOption[]>;
181
+ filter: PropType<(columnType: string, options: import("../picker").PickerOption[], values: string[]) => import("../picker").PickerOption[]>;
185
182
  formatter: {
186
183
  type: PropType<(type: string, option: import("../picker").PickerOption) => import("../picker").PickerOption>;
187
184
  default: (type: string, option: import("../picker").PickerOption) => import("../picker").PickerOption;
@@ -223,7 +220,6 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
223
220
  type: PropType<TimePickerColumnType[]>;
224
221
  default: () => string[];
225
222
  };
226
- filter: PropType<TimeFilter>;
227
223
  }>> & Readonly<{
228
224
  onChange?: ((...args: any[]) => any) | undefined;
229
225
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
@@ -24,8 +24,7 @@ const timePickerProps = extend({}, sharedProps, {
24
24
  columnsType: {
25
25
  type: Array,
26
26
  default: () => ["hour", "minute"]
27
- },
28
- filter: Function
27
+ }
29
28
  });
30
29
  var stdin_default = defineComponent({
31
30
  name,
@@ -28,7 +28,7 @@ export declare const TimePicker: import("../utils").WithInstall<import("vue").De
28
28
  type: import("vue").PropType<string[]>;
29
29
  default: () => never[];
30
30
  };
31
- filter: import("vue").PropType<(columnType: string, options: import("..").PickerOption[], values?: string[]) => import("..").PickerOption[]>;
31
+ filter: import("vue").PropType<(columnType: string, options: import("..").PickerOption[], values: string[]) => import("..").PickerOption[]>;
32
32
  formatter: {
33
33
  type: import("vue").PropType<(type: string, option: import("..").PickerOption) => import("..").PickerOption>;
34
34
  default: (type: string, option: import("..").PickerOption) => import("..").PickerOption;
@@ -70,7 +70,6 @@ export declare const TimePicker: import("../utils").WithInstall<import("vue").De
70
70
  type: import("vue").PropType<import("./TimePicker").TimePickerColumnType[]>;
71
71
  default: () => string[];
72
72
  };
73
- filter: import("vue").PropType<import("../date-picker/utils").TimeFilter>;
74
73
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "cancel" | "change" | "confirm")[], "update:modelValue" | "cancel" | "change" | "confirm", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
75
74
  loading: BooleanConstructor;
76
75
  readonly: BooleanConstructor;
@@ -100,7 +99,7 @@ export declare const TimePicker: import("../utils").WithInstall<import("vue").De
100
99
  type: import("vue").PropType<string[]>;
101
100
  default: () => never[];
102
101
  };
103
- filter: import("vue").PropType<(columnType: string, options: import("..").PickerOption[], values?: string[]) => import("..").PickerOption[]>;
102
+ filter: import("vue").PropType<(columnType: string, options: import("..").PickerOption[], values: string[]) => import("..").PickerOption[]>;
104
103
  formatter: {
105
104
  type: import("vue").PropType<(type: string, option: import("..").PickerOption) => import("..").PickerOption>;
106
105
  default: (type: string, option: import("..").PickerOption) => import("..").PickerOption;
@@ -142,7 +141,6 @@ export declare const TimePicker: import("../utils").WithInstall<import("vue").De
142
141
  type: import("vue").PropType<import("./TimePicker").TimePickerColumnType[]>;
143
142
  default: () => string[];
144
143
  };
145
- filter: import("vue").PropType<import("../date-picker/utils").TimeFilter>;
146
144
  }>> & Readonly<{
147
145
  onChange?: ((...args: any[]) => any) | undefined;
148
146
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
@@ -391,7 +391,7 @@ var stdin_default = (0, import_vue.defineComponent)({
391
391
  }, (0, import_utils.pick)(props, ["type", "color", "showMark", "formatter", "rowHeight", "showSubtitle", "allowSameDay"]), {
392
392
  "onClick": onClickDay,
393
393
  "onClickDisabledDate": (item) => emit("clickDisabledDate", item)
394
- }), (0, import_utils.pick)(slots, ["top-info", "bottom-info", "month-title"]));
394
+ }), (0, import_utils.pick)(slots, ["top-info", "bottom-info", "month-title", "text"]));
395
395
  };
396
396
  const renderFooterButton = () => {
397
397
  if (slots.footer) {
@@ -103,6 +103,9 @@ var stdin_default = (0, import_vue.defineComponent)({
103
103
  }, [slots["bottom-info"] ? slots["bottom-info"](props.item) : bottomInfo]);
104
104
  }
105
105
  };
106
+ const renderText = () => {
107
+ return slots.text ? slots.text(props.item) : props.item.text;
108
+ };
106
109
  const renderContent = () => {
107
110
  const {
108
111
  item,
@@ -110,10 +113,9 @@ var stdin_default = (0, import_vue.defineComponent)({
110
113
  rowHeight
111
114
  } = props;
112
115
  const {
113
- type,
114
- text
116
+ type
115
117
  } = item;
116
- const Nodes = [renderTopInfo(), text, renderBottomInfo()];
118
+ const Nodes = [renderTopInfo(), renderText(), renderBottomInfo()];
117
119
  if (type === "selected") {
118
120
  return (0, import_vue.createVNode)("div", {
119
121
  "class": (0, import_utils2.bem)("selected-day"),