diff --git a/packages/vant-area-data/package.json b/packages/vant-area-data/package.json index 0310c686c..6b87acf4d 100644 --- a/packages/vant-area-data/package.json +++ b/packages/vant-area-data/package.json @@ -1,6 +1,6 @@ { "name": "@vant/area-data", - "version": "1.2.1", + "version": "1.2.2", "description": "Vant 省市区数据", "main": "dist/index.cjs.js", "module": "dist/index.esm.js", diff --git a/packages/vant-area-data/src/index.ts b/packages/vant-area-data/src/index.ts index e09121b2e..c67673a0d 100644 --- a/packages/vant-area-data/src/index.ts +++ b/packages/vant-area-data/src/index.ts @@ -509,15 +509,14 @@ export const areaList = { 130471: '邯郸经济技术开发区', 130473: '邯郸冀南新区', 130481: '武安市', - 130502: '桥东区', - 130503: '桥西区', - 130521: '邢台县', + 130502: '襄都区', + 130503: '信都区', + 130505: '任泽区', + 130506: '南和区', 130522: '临城县', 130523: '内丘县', 130524: '柏乡县', 130525: '隆尧县', - 130526: '任县', - 130527: '南和县', 130528: '宁晋县', 130529: '巨鹿县', 130530: '新河县', diff --git a/packages/vant-cli/cjs/jest.config.cjs b/packages/vant-cli/cjs/jest.config.cjs index 8c082594b..ba600371f 100644 --- a/packages/vant-cli/cjs/jest.config.cjs +++ b/packages/vant-cli/cjs/jest.config.cjs @@ -16,7 +16,8 @@ const DEFAULT_CONFIG = { setupFilesAfterEnv: [JEST_SETUP_FILE], moduleFileExtensions: ['js', 'jsx', 'vue', 'ts', 'tsx'], transform: { - '\\.(js|jsx|ts|tsx|vue)$': '/node_modules/@vant/cli/cjs/jest.transformer.cjs', + '\\.(js|jsx|ts|tsx|vue)$': + '/node_modules/@vant/cli/cjs/jest.transformer.cjs', }, transformIgnorePatterns: ['/node_modules/(?!(@vant/cli))/'], snapshotSerializers: ['jest-serializer-html'], diff --git a/packages/vant-cli/docs/desktop.md b/packages/vant-cli/docs/desktop.md index d4a27ca10..af8b43b50 100644 --- a/packages/vant-cli/docs/desktop.md +++ b/packages/vant-cli/docs/desktop.md @@ -27,12 +27,12 @@ button | transform | boolean | 防止预览区内 fixed 定位的元素飞出预览区 | | inline | boolean | 只显示组件本身,不显示预览区边框和代码 | - ### `compact` ```html ./demo/MyDemo.vue ``` + ![image](https://user-images.githubusercontent.com/5093611/111076728-77cc5d00-8528-11eb-85f1-e7217344ab14.png) ### `transform` @@ -40,6 +40,7 @@ button ```html ./demo/MyDemo.vue ``` + ![image](https://user-images.githubusercontent.com/5093611/111076799-d5f94000-8528-11eb-973f-c9d69f91d2a7.png) ### `inline` @@ -47,6 +48,7 @@ button ```html ./demo/MyDemo.vue ``` + ![image](https://user-images.githubusercontent.com/5093611/111076845-15c02780-8529-11eb-9cfb-76c9b25dc2a2.png) ### 去除手机模拟器 @@ -79,5 +81,4 @@ module.exports = { }, }, }; - -``` \ No newline at end of file +``` diff --git a/packages/vant-cli/site/index.html b/packages/vant-cli/site/index.html index 797723df5..eba05322b 100644 --- a/packages/vant-cli/site/index.html +++ b/packages/vant-cli/site/index.html @@ -18,10 +18,9 @@ <% if (baiduAnalytics) { %> diff --git a/packages/vant-eslint-config/test/vue/main.js b/packages/vant-eslint-config/test/vue/main.js index 710a1acf4..c1e450fc9 100644 --- a/packages/vant-eslint-config/test/vue/main.js +++ b/packages/vant-eslint-config/test/vue/main.js @@ -1,2 +1,2 @@ -const a = b + 1 -export default a +const a = b + 1; +export default a; diff --git a/packages/vant-icons/src/config.d.ts b/packages/vant-icons/src/config.d.ts index d2e30dac9..1d019f1fa 100644 --- a/packages/vant-icons/src/config.d.ts +++ b/packages/vant-icons/src/config.d.ts @@ -1,7 +1,7 @@ declare const config: { - name: string; - basic: string[]; - outline: string[]; - filled: string[]; + name: string; + basic: string[]; + outline: string[]; + filled: string[]; }; export default config; diff --git a/packages/vant-icons/yarn.lock b/packages/vant-icons/yarn.lock index 47ee29454..790f9972e 100644 --- a/packages/vant-icons/yarn.lock +++ b/packages/vant-icons/yarn.lock @@ -1281,9 +1281,9 @@ new-github-release-url@1.0.0: type-fest "^0.4.1" node-fetch@^2.6.1: - version "2.6.6" - resolved "https://registry.npmmirror.com/node-fetch/download/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89" - integrity sha1-F1GnwBg06OFpd1hzLp77burfr4k= + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== dependencies: whatwg-url "^5.0.0" @@ -1794,7 +1794,7 @@ to-regex-range@^5.0.1: tr46@~0.0.3: version "0.0.3" - resolved "https://registry.npmmirror.com/tr46/download/tr46-0.0.3.tgz?cache=0&sync_timestamp=1633303287861&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftr46%2Fdownload%2Ftr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= tslib@~2.1.0: @@ -1887,12 +1887,12 @@ wcwidth@^1.0.1: webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://registry.npmmirror.com/webidl-conversions/download/webidl-conversions-3.0.1.tgz?cache=0&sync_timestamp=1632753508689&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebidl-conversions%2Fdownload%2Fwebidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= whatwg-url@^5.0.0: version "5.0.0" - resolved "https://registry.npmmirror.com/whatwg-url/download/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= dependencies: tr46 "~0.0.3" diff --git a/packages/vant-markdown-vetur/src/type.ts b/packages/vant-markdown-vetur/src/type.ts index f8b950f5b..108df7e3c 100644 --- a/packages/vant-markdown-vetur/src/type.ts +++ b/packages/vant-markdown-vetur/src/type.ts @@ -20,7 +20,7 @@ export type VueAttribute = { name: string; default: string; description: string; - options: string[] + options: string[]; value: { kind: 'expression'; type: string; diff --git a/packages/vant-markdown-vetur/src/utils.ts b/packages/vant-markdown-vetur/src/utils.ts index 0714b0742..314ef16e8 100644 --- a/packages/vant-markdown-vetur/src/utils.ts +++ b/packages/vant-markdown-vetur/src/utils.ts @@ -21,8 +21,8 @@ export function normalizePath(path: string): string { return path.replace(/\\/g, '/'); } -// `default` `primary` -> ['default', 'primary'] +// `default` `primary` -> ['default', 'primary'] export function formatOptions(options?: string) { - if (!options) return [] - return options.replace(/`/g, '').split(' ') + if (!options) return []; + return options.replace(/`/g, '').split(' '); } diff --git a/packages/vant-use/changelog.md b/packages/vant-use/changelog.md index 312928572..baf0cfc9f 100644 --- a/packages/vant-use/changelog.md +++ b/packages/vant-use/changelog.md @@ -1,5 +1,9 @@ # Changelog +## v1.3.5 + +- Fix useChildren missing subTree when flattening vnodes + ## v1.3.4 - Fix useClickAway failed in SSR diff --git a/packages/vant-use/package.json b/packages/vant-use/package.json index 520e774f6..4da98c7b4 100644 --- a/packages/vant-use/package.json +++ b/packages/vant-use/package.json @@ -1,6 +1,6 @@ { "name": "@vant/use", - "version": "1.3.4", + "version": "1.3.5", "description": "Vant Composition API", "main": "dist/index.cjs.js", "module": "dist/index.esm.js", diff --git a/packages/vant-use/src/useCustomFieldValue/index.ts b/packages/vant-use/src/useCustomFieldValue/index.ts index f94066539..4e315b549 100644 --- a/packages/vant-use/src/useCustomFieldValue/index.ts +++ b/packages/vant-use/src/useCustomFieldValue/index.ts @@ -6,9 +6,8 @@ export type CustomFieldInjectionValue = { validateWithTrigger: (trigger: 'onBlur' | 'onChange' | 'onSubmit') => void; }; -export const CUSTOM_FIELD_INJECTION_KEY: InjectionKey = Symbol( - 'van-field' -); +export const CUSTOM_FIELD_INJECTION_KEY: InjectionKey = + Symbol('van-field'); export function useCustomFieldValue(customValue: () => unknown) { const field = inject(CUSTOM_FIELD_INJECTION_KEY, null); diff --git a/packages/vant-use/src/useRelation/useChildren.ts b/packages/vant-use/src/useRelation/useChildren.ts index 3ef15d4a9..7e78075bb 100644 --- a/packages/vant-use/src/useRelation/useChildren.ts +++ b/packages/vant-use/src/useRelation/useChildren.ts @@ -20,6 +20,7 @@ export function flattenVNodes(children: VNodeNormalizedChildren) { result.push(child); if (child.component?.subTree) { + result.push(child.component.subTree); traverse(child.component.subTree.children); } diff --git a/packages/vant/docs/markdown/use-rect.zh-CN.md b/packages/vant/docs/markdown/use-rect.zh-CN.md index 41842757c..ab2a0aa38 100644 --- a/packages/vant/docs/markdown/use-rect.zh-CN.md +++ b/packages/vant/docs/markdown/use-rect.zh-CN.md @@ -20,11 +20,11 @@ export default { setup() { const root = ref(); - onMounted(()=>{ + onMounted(() => { const rect = useRect(root); console.log(rect); // -> 元素的大小及其相对于视口的位置 - }) - + }); + return { root }; }, }; diff --git a/packages/vant/src/dropdown-menu/index.less b/packages/vant/src/dropdown-menu/index.less index 8e5772928..08f4fc585 100644 --- a/packages/vant/src/dropdown-menu/index.less +++ b/packages/vant/src/dropdown-menu/index.less @@ -33,7 +33,6 @@ align-items: center; justify-content: center; min-width: 0; // hack for flex ellipsis - cursor: pointer; &--disabled { .van-dropdown-menu__title { diff --git a/packages/vant/src/icon/index.less b/packages/vant/src/icon/index.less index 82eb54a92..70beb7041 100644 --- a/packages/vant/src/icon/index.less +++ b/packages/vant/src/icon/index.less @@ -2,6 +2,7 @@ .van-icon { &__image { + display: block; width: 1em; height: 1em; object-fit: contain; diff --git a/packages/vant/src/image-preview/index.less b/packages/vant/src/image-preview/index.less index a5d3095e5..d8ca8e75d 100644 --- a/packages/vant/src/image-preview/index.less +++ b/packages/vant/src/image-preview/index.less @@ -86,7 +86,6 @@ z-index: var(--van-image-preview-close-icon-z-index); color: var(--van-image-preview-close-icon-color); font-size: var(--van-image-preview-close-icon-size); - cursor: pointer; &--top-left { top: var(--van-image-preview-close-icon-margin); diff --git a/packages/vant/src/nav-bar/index.less b/packages/vant/src/nav-bar/index.less index 4ecb436d7..2e8291afa 100644 --- a/packages/vant/src/nav-bar/index.less +++ b/packages/vant/src/nav-bar/index.less @@ -62,7 +62,6 @@ align-items: center; padding: 0 var(--van-padding-md); font-size: var(--van-font-size-md); - cursor: pointer; } &__left { diff --git a/packages/vant/src/number-keyboard/index.less b/packages/vant/src/number-keyboard/index.less index 53c65dc8d..e3251eb56 100644 --- a/packages/vant/src/number-keyboard/index.less +++ b/packages/vant/src/number-keyboard/index.less @@ -72,7 +72,6 @@ font-size: var(--van-number-keyboard-close-font-size); background-color: transparent; border: none; - cursor: pointer; } &__sidebar { diff --git a/packages/vant/src/picker/index.less b/packages/vant/src/picker/index.less index 28e4c0e39..22e517e41 100644 --- a/packages/vant/src/picker/index.less +++ b/packages/vant/src/picker/index.less @@ -40,7 +40,6 @@ font-size: var(--van-picker-action-font-size); background-color: transparent; border: none; - cursor: pointer; } &__confirm { diff --git a/packages/vant/src/popup/index.less b/packages/vant/src/popup/index.less index b91750e18..c9dd9348e 100644 --- a/packages/vant/src/popup/index.less +++ b/packages/vant/src/popup/index.less @@ -114,7 +114,6 @@ z-index: var(--van-popup-close-icon-z-index); color: var(--van-popup-close-icon-color); font-size: var(--van-popup-close-icon-size); - cursor: pointer; &--top-left { top: var(--van-popup-close-icon-margin); diff --git a/packages/vant/src/share-sheet/index.less b/packages/vant/src/share-sheet/index.less index 9386f464a..486e4d669 100644 --- a/packages/vant/src/share-sheet/index.less +++ b/packages/vant/src/share-sheet/index.less @@ -61,7 +61,6 @@ display: flex; flex-direction: column; align-items: center; - cursor: pointer; user-select: none; } diff --git a/packages/vant/src/stepper/index.less b/packages/vant/src/stepper/index.less index ff86a6252..90108f88c 100644 --- a/packages/vant/src/stepper/index.less +++ b/packages/vant/src/stepper/index.less @@ -30,7 +30,6 @@ vertical-align: middle; background: var(--van-stepper-background); border: 0; - cursor: pointer; &::before { width: 50%; diff --git a/packages/vant/src/style/base.less b/packages/vant/src/style/base.less index 135244874..be52abb01 100644 --- a/packages/vant/src/style/base.less +++ b/packages/vant/src/style/base.less @@ -30,8 +30,12 @@ padding-bottom: env(safe-area-inset-bottom); } -.van-haptics-feedback:active { - opacity: var(--van-active-opacity); +.van-haptics-feedback { + cursor: pointer; + + &:active { + opacity: var(--van-active-opacity); + } } [class*='van-hairline'] { diff --git a/packages/vant/src/tab/test/__snapshots__/insert.spec.tsx.snap b/packages/vant/src/tab/test/__snapshots__/insert.spec.tsx.snap index 2786e8e55..d44b3e5f1 100644 --- a/packages/vant/src/tab/test/__snapshots__/insert.spec.tsx.snap +++ b/packages/vant/src/tab/test/__snapshots__/insert.spec.tsx.snap @@ -15,7 +15,7 @@ exports[`should render Tab inside a component correctly 1`] = ` aria-controls="van-tab" > - 2 + 1
- 1 + 2
-
- 1 -
+
+ 2 +
+ ); return ( diff --git a/packages/vant/src/tag/index.less b/packages/vant/src/tag/index.less index 5e450a56b..cabb0a381 100644 --- a/packages/vant/src/tag/index.less +++ b/packages/vant/src/tag/index.less @@ -111,6 +111,5 @@ &__close { margin-left: 2px; - cursor: pointer; } } diff --git a/packages/vant/src/tag/test/__snapshots__/demo.spec.ts.snap b/packages/vant/src/tag/test/__snapshots__/demo.spec.ts.snap index c82acc0aa..a745010c9 100644 --- a/packages/vant/src/tag/test/__snapshots__/demo.spec.ts.snap +++ b/packages/vant/src/tag/test/__snapshots__/demo.spec.ts.snap @@ -112,7 +112,7 @@ exports[`should render demo and match snapshot 1`] = ` Tag - + diff --git a/packages/vant/src/tree-select/TreeSelect.tsx b/packages/vant/src/tree-select/TreeSelect.tsx index 0aef98b05..bfa35bd4b 100644 --- a/packages/vant/src/tree-select/TreeSelect.tsx +++ b/packages/vant/src/tree-select/TreeSelect.tsx @@ -112,9 +112,10 @@ export default defineComponent({ const onSidebarChange = (index: number) => { emit('update:mainActiveIndex', index); - emit('click-nav', index); }; + const onClickSidebarItem = (index: number) => emit('click-nav', index); + const renderSidebar = () => { const Items = props.items.map((item) => ( )); diff --git a/packages/vant/src/tree-select/test/index.spec.tsx b/packages/vant/src/tree-select/test/index.spec.tsx index c195dfbf0..46a228ec8 100644 --- a/packages/vant/src/tree-select/test/index.spec.tsx +++ b/packages/vant/src/tree-select/test/index.spec.tsx @@ -26,7 +26,23 @@ test('should render empty TreeSelect correctly', () => { expect(mount(TreeSelect).html()).toMatchSnapshot(); }); -test('should emit click-nav event when nav item is clicked', () => { +test('should emit update:mainActiveIndex event when mainActiveIndex is changed', async () => { + const wrapper = mount(TreeSelect, { + props: { + items: mockItems, + mainActiveIndex: 0, + }, + }); + + const navItems = wrapper.findAll('.van-tree-select__nav-item'); + await navItems[0].trigger('click'); + expect(wrapper.emitted('update:mainActiveIndex')).toBeFalsy(); + + await navItems[1].trigger('click'); + expect(wrapper.emitted('update:mainActiveIndex')?.[0]).toEqual([1]); +}); + +test('should emit click-nav event when nav item is clicked', async () => { const wrapper = mount(TreeSelect, { props: { items: mockItems, @@ -34,9 +50,10 @@ test('should emit click-nav event when nav item is clicked', () => { }); const navItems = wrapper.findAll('.van-tree-select__nav-item'); - navItems[1].trigger('click'); - expect(wrapper.emitted('update:mainActiveIndex')?.[0]).toEqual([1]); - expect(wrapper.emitted('click-nav')?.[0]).toEqual([1]); + await navItems[0].trigger('click'); + expect(wrapper.emitted('click-nav')?.[0]).toEqual([0]); + await navItems[0].trigger('click'); + expect(wrapper.emitted('click-nav')?.[1]).toEqual([0]); }); test('should emit click-item event when item is clicked', () => {