diff --git a/packages/vant-area-data/package.json b/packages/vant-area-data/package.json index 6b87acf4d..1085b649b 100644 --- a/packages/vant-area-data/package.json +++ b/packages/vant-area-data/package.json @@ -27,7 +27,7 @@ "author": "chenjiahan", "license": "MIT", "devDependencies": { - "esbuild": "^0.13.15", + "esbuild": "^0.14.21", "release-it": "^14.2.2", "typescript": "~4.5.2" }, diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json index 7e0e37908..a065f757f 100644 --- a/packages/vant-cli/package.json +++ b/packages/vant-cli/package.json @@ -47,8 +47,8 @@ "dependencies": { "@babel/core": "^7.16.0", "@babel/preset-typescript": "^7.16.0", - "@docsearch/css": "3.0.0-alpha.41", - "@docsearch/js": "3.0.0-alpha.41", + "@docsearch/css": "3.0.0-alpha.50", + "@docsearch/js": "3.0.0-alpha.50", "@types/jest": "^27.0.3", "@vant/eslint-config": "^3.3.2", "@vant/markdown-vetur": "^2.2.0", @@ -62,7 +62,7 @@ "commander": "^8.3.0", "consola": "^2.15.3", "conventional-changelog": "^3.1.24", - "esbuild": "^0.14.2", + "esbuild": "^0.14.21", "eslint": "^8.1.0", "execa": "^5.1.1", "fast-glob": "^3.2.7", @@ -86,7 +86,7 @@ "stylelint": "^13.0.0", "transliteration": "^2.2.0", "typescript": "^4.5.2", - "vite": "^2.7.10", + "vite": "^2.8.0", "vite-plugin-html": "^2.1.1", "vite-plugin-md": "^0.11.4", "vue-router": "^4.0.12" diff --git a/packages/vant-popperjs/package.json b/packages/vant-popperjs/package.json index 03ca773ea..615736389 100644 --- a/packages/vant-popperjs/package.json +++ b/packages/vant-popperjs/package.json @@ -34,7 +34,7 @@ "@popperjs/core": "^2.9.2" }, "devDependencies": { - "esbuild": "^0.13.15", + "esbuild": "^0.14.21", "release-it": "^14.2.2", "typescript": "~4.5.2" }, diff --git a/packages/vant-use/package.json b/packages/vant-use/package.json index 4da98c7b4..dc2cea308 100644 --- a/packages/vant-use/package.json +++ b/packages/vant-use/package.json @@ -31,7 +31,7 @@ "author": "chenjiahan", "license": "MIT", "devDependencies": { - "esbuild": "^0.13.15", + "esbuild": "^0.14.21", "release-it": "^14.0.2", "typescript": "~4.5.2", "vue": "^3.2.27" diff --git a/packages/vant/docs/markdown/changelog.en-US.md b/packages/vant/docs/markdown/changelog.en-US.md index 1bc7e10dd..254736124 100644 --- a/packages/vant/docs/markdown/changelog.en-US.md +++ b/packages/vant/docs/markdown/changelog.en-US.md @@ -16,6 +16,30 @@ Vant follows [Semantic Versioning 2.0.0](https://semver.org/lang/zh-CN/). ## Details +### [v3.4.5](https://github.com/compare/v3.4.3...v3.4.5) + +`2022-02-14` + +**Feature** + +- CollapseItem: add lazy-render prop [#10270](https://github.com/issues/10270) +- Dialog: support enter/esc keyboard event [#10261](https://github.com/issues/10261) +- Locale: add Bangla (Bangladesh) [#10287](https://github.com/issues/10287) +- Locale: add Indonesian translation [#10289](https://github.com/issues/10289) +- Locale: add Italian translation [#10288](https://github.com/issues/10288) +- Locale: add Ukrainian translation [#10291](https://github.com/issues/10291) +- Locale: add Vietnamese translation [#10294](https://github.com/issues/10294) + +**style** + +- SubmitBar: using english colon [#10286](https://github.com/issues/10286) + +**Types** + +- IndexBar: index-list prop can includes number [#10273](https://github.com/issues/10273) +- Toast: fix missing teleport prop [#10272](https://github.com/issues/10272) +- Uploader: fix UploaderBeforeRead type [#10274](https://github.com/issues/10274) + ### [v3.4.4](https://github.com/youzan/vant/compare/v3.4.4...v3.4.3) `2022-02-07` diff --git a/packages/vant/docs/markdown/changelog.zh-CN.md b/packages/vant/docs/markdown/changelog.zh-CN.md index 2b003c7ba..12361387a 100644 --- a/packages/vant/docs/markdown/changelog.zh-CN.md +++ b/packages/vant/docs/markdown/changelog.zh-CN.md @@ -16,6 +16,30 @@ Vant 遵循 [Semver](https://semver.org/lang/zh-CN/) 语义化版本规范。 ## 更新内容 +### [v3.4.5](https://github.com/compare/v3.4.3...v3.4.5) + +`2022-02-14` + +**Feature** + +- CollapseItem: 新增 lazy-render 属性 [#10270](https://github.com/issues/10270) +- Dialog: 支持通过 enter/esc 进行键盘操作 [#10261](https://github.com/issues/10261) +- Locale: 新增 Bangla 孟加拉语 [#10287](https://github.com/issues/10287) +- Locale: 新增 Indonesian 印度尼西亚语 [#10289](https://github.com/issues/10289) +- Locale: 新增 Italian 意大利语 [#10288](https://github.com/issues/10288) +- Locale: 新增 Ukrainian 乌克兰语 [#10291](https://github.com/issues/10291) +- Locale: 新增 Vietnamese 越南语 [#10294](https://github.com/issues/10294) + +**style** + +- SubmitBar: 将冒号调整为英文冒号 [#10286](https://github.com/issues/10286) + +**Types** + +- IndexBar: 修复 index-list 属性无法传入 number 类型的问题 [#10273](https://github.com/issues/10273) +- Toast: 修复缺少 teleport 属性定义的问题 [#10272](https://github.com/issues/10272) +- Uploader: 修复 UploaderBeforeRead 类型定义不准确的问题 [#10274](https://github.com/issues/10274) + ### [v3.4.4](https://github.com/youzan/vant/compare/v3.4.4...v3.4.3) `2022-02-07` diff --git a/packages/vant/package.json b/packages/vant/package.json index 65ab261fa..88347cba9 100644 --- a/packages/vant/package.json +++ b/packages/vant/package.json @@ -1,6 +1,6 @@ { "name": "vant", - "version": "3.4.4", + "version": "3.4.5", "description": "Mobile UI Components built on Vue", "main": "lib/vant.cjs.js", "module": "es/index.js", diff --git a/packages/vant/src/dialog/Dialog.tsx b/packages/vant/src/dialog/Dialog.tsx index 92ca35343..9275ef386 100644 --- a/packages/vant/src/dialog/Dialog.tsx +++ b/packages/vant/src/dialog/Dialog.tsx @@ -1,5 +1,7 @@ import { + ref, reactive, + withKeys, defineComponent, type PropType, type ExtractPropTypes, @@ -7,6 +9,7 @@ import { // Utils import { + noop, pick, extend, addUnit, @@ -19,6 +22,7 @@ import { makeStringProp, callInterceptor, createNamespace, + type ComponentInstance, } from '../utils'; import { popupSharedProps, popupSharedPropKeys } from '../popup/shared'; @@ -71,9 +75,10 @@ export default defineComponent({ props: dialogProps, - emits: ['confirm', 'cancel', 'update:show'], + emits: ['confirm', 'cancel', 'keydown', 'update:show'], setup(props, { emit, slots }) { + const root = ref(); const loading = reactive({ confirm: false, cancel: false, @@ -113,6 +118,23 @@ export default defineComponent({ const onCancel = getActionHandler('cancel'); const onConfirm = getActionHandler('confirm'); + const onKeydown = withKeys( + (event: KeyboardEvent) => { + // skip keyboard events of child elements + if (event.target !== root.value?.popupRef?.value) { + return; + } + + const onEventType: Record void> = { + Enter: props.showConfirmButton ? onConfirm : noop, + Escape: props.showCancelButton ? onCancel : noop, + }; + + onEventType[event.key](); + emit('keydown', event); + }, + ['enter', 'esc'] + ); const renderTitle = () => { const title = slots.title ? slots.title() : props.title; @@ -229,10 +251,13 @@ export default defineComponent({ const { width, title, theme, message, className } = props; return ( diff --git a/packages/vant/src/dialog/test/__snapshots__/demo.spec.ts.snap b/packages/vant/src/dialog/test/__snapshots__/demo.spec.ts.snap index 15787c499..449213100 100644 --- a/packages/vant/src/dialog/test/__snapshots__/demo.spec.ts.snap +++ b/packages/vant/src/dialog/test/__snapshots__/demo.spec.ts.snap @@ -97,6 +97,7 @@ exports[`should render demo and match snapshot 1`] = `