Compare commits

...

19 Commits
main ... 3.x

Author SHA1 Message Date
tangjinzhou 35b33adb00 fix(index.html): correct script URL for Ant Design Vue documentation search 2025-09-19 15:30:02 +08:00
tangjinzhou 6962bac004 fix(menu): update value binding for antdVersion in Menu component 2025-09-19 15:26:02 +08:00
tangjinzhou e1d2133118 chore: update build scripts and add Cloudflare deployment workflow 2025-09-19 14:53:24 +08:00
tangjinzhou 646de93ed5 chore: update URLs to reflect the new domain for Surely Vue 2025-09-19 14:53:15 +08:00
gitplus 6fa34e715a
style: remove /* #__PURE__*/ comments (#7392) 2024-03-02 09:56:03 +08:00
huiliangShen 8f5a6aeaaa
fix(carousel):rendering error in jsx (#7101) 2023-12-18 10:23:44 +08:00
Northerner 672b9917f3
fix(form-item): initialValue issue in resetField (#7091) 2023-11-11 09:32:06 +08:00
Konv Suu eae2b5d412
fix(transfer): checkbox click evt run repeatedly (#6903)
* fix(transfer): checkbox click evt run repeatedly

* update
2023-09-09 09:22:05 +08:00
Cherry7 42982afa70
fix(tabs): dropdown show (#6758) 2023-08-06 11:51:01 +08:00
Konv Suu 8140f9ec02
fix(checkbox): change trigger form validation (#6800) 2023-08-06 10:53:37 +08:00
Konv Suu e204d69e74
docs: fix drawer-handler's background in dark mode (#6802) 2023-08-06 10:52:15 +08:00
tangjinzhou 19698b7407 Merge remote-tracking branch 'origin/main' into 3.x 2023-07-14 11:57:26 +08:00
KaygNas 3838c5da3f
fix(vc-trigger): enable align when status 'motion' to avoid animation of child restart when transition finished. #6656 (#6662) 2023-06-25 09:37:50 +08:00
Zhang Wei 0b73afffc4
fix(empty): Fix image slot failure issue (#6681) 2023-06-25 07:06:01 +08:00
wang junjia 6111883a5a
docs(replace-date): replace-date.en-US.md 替换 => replace (#6679) 2023-06-25 06:52:25 +08:00
xiangnan 5d8a59e9c3
feat: prop type of select should contain Boolean (#6691) 2023-06-25 06:45:07 +08:00
tangjinzhou 823b3ddd11 fix: operationNodeProps ts error 2023-06-16 14:09:35 +08:00
zepeng 7f96399009
fix(tabs): the dropdown menu opened automatically in Customized trigger of new tab (#6655)
* fix(tabs):  the dropdown menu opened automatically in Customized trigger of new tab

* fix(tabs): the dropdown menu opened automatically in Customized trigger of new tab
2023-06-16 14:08:29 +08:00
tangjinzhou c920923a72 docs: update 2023-06-15 16:19:43 +08:00
38 changed files with 156 additions and 129 deletions

63
.github/workflows/cloudflare.yml vendored Normal file
View File

@ -0,0 +1,63 @@
name: Build and Deploy to Cloudflare
on:
push:
branches: [ 3.x ]
jobs:
build:
runs-on: ubuntu-latest
name: Build Application
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: npm install --force
- name: Build application
run: npm run build
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: build-files
path: site/dist/
retention-days: 1
deploy:
runs-on: ubuntu-latest
name: Deploy to Cloudflare
needs: build
permissions:
contents: read
deployments: write
steps:
- name: Checkout (for config files)
uses: actions/checkout@v5
with:
sparse-checkout: |
wrangler.jsonc
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-files
path: site/dist/
- name: Deploy (Workers + Static Assets)
uses: cloudflare/wrangler-action@v3.14.1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: deploy --config wrangler.jsonc
gitHubToken: ${{ secrets.GITHUB_TOKEN }}

View File

@ -530,7 +530,7 @@
Publish Performant advanced table component Surely Vue Publish Performant advanced table component Surely Vue
Official website [https://surely.cool/](https://surely.cool/) Official website [https://surelyvue.com/](https://surelyvue.com/)
Github[https://github.com/surely-vue/table] Github[https://github.com/surely-vue/table]

View File

@ -529,7 +529,7 @@
高级组件 Surely Vue 发布!!! 高级组件 Surely Vue 发布!!!
官方站点 [https://surely.cool/](https://surely.cool/) 官方站点 [https://surelyvue.com/](https://surelyvue.com/)
Github[https://github.com/surely-vue/table] Github[https://github.com/surely-vue/table]

View File

@ -86,7 +86,7 @@ ant-design-vue 是 MIT 协议的开源项目。为了项目能够更好的持续
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ant-design-vue#sponsor)] Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ant-design-vue#sponsor)]
<a href="http://www.jeecg.com/" target="_blank"><img src="https://aliyuncdn.antdv.com/jeecg-logo.png" height="64"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/3/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/3/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/4/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/4/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/5/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/5/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/6/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/6/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/7/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/7/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/8/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/8/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/9/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/9/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/10/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/10/avatar.svg"></a> <a href="http://www.jeecg.com/" target="_blank"><img src="https://www.antdv.com/jeecg-logo.png" height="64"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/3/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/3/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/4/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/4/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/5/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/5/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/6/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/6/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/7/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/7/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/8/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/8/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/9/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/9/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/10/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/10/avatar.svg"></a>
## Backers ## Backers

View File

@ -80,7 +80,7 @@ ant-design-vue is an MIT-licensed open source project. In order to achieve bette
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ant-design-vue#sponsor)] Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ant-design-vue#sponsor)]
<a href="http://www.jeecg.com/" target="_blank"><img src="https://aliyuncdn.antdv.com/jeecg-logo.png" height="64"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/3/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/3/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/4/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/4/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/5/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/5/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/6/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/6/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/7/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/7/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/8/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/8/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/9/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/9/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/10/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/10/avatar.svg"></a> <a href="http://www.jeecg.com/" target="_blank"><img src="https://www.antdv.com/jeecg-logo.png" height="64"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/3/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/3/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/4/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/4/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/5/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/5/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/6/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/6/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/7/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/7/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/8/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/8/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/9/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/9/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/10/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/10/avatar.svg"></a>
## [More Sponsor (From Patreon、alipay、wechat、paypal...)](https://github.com/vueComponent/ant-design-vue/blob/master/BACKERS.md) ## [More Sponsor (From Patreon、alipay、wechat、paypal...)](https://github.com/vueComponent/ant-design-vue/blob/master/BACKERS.md)

View File

@ -28,7 +28,7 @@ export interface ConfigurableLocation {
location?: Location; location?: Location;
} }
export const defaultWindow = /* #__PURE__ */ isClient ? window : undefined; export const defaultWindow = isClient ? window : undefined;
export const defaultDocument = /* #__PURE__ */ isClient ? window.document : undefined; export const defaultDocument = isClient ? window.document : undefined;
export const defaultNavigator = /* #__PURE__ */ isClient ? window.navigator : undefined; export const defaultNavigator = isClient ? window.navigator : undefined;
export const defaultLocation = /* #__PURE__ */ isClient ? window.location : undefined; export const defaultLocation = isClient ? window.location : undefined;

View File

@ -21,7 +21,7 @@ export const rand = (min: number, max: number) => {
return Math.floor(Math.random() * (max - min + 1)) + min; return Math.floor(Math.random() * (max - min + 1)) + min;
}; };
export const isIOS = export const isIOS =
/* #__PURE__ */ isClient && isClient &&
window?.navigator?.userAgent && window?.navigator?.userAgent &&
/iP(ad|hone|od)/.test(window.navigator.userAgent); /iP(ad|hone|od)/.test(window.navigator.userAgent);
export const hasOwn = <T extends object, K extends keyof T>(val: T, key: K): key is K => export const hasOwn = <T extends object, K extends keyof T>(val: T, key: K): key is K =>

View File

@ -1,6 +1,6 @@
import { filterEmpty } from './props-util'; import { filterEmpty } from './props-util';
import type { VNode, VNodeProps } from 'vue'; import type { VNode, VNodeProps } from 'vue';
import { cloneVNode } from 'vue'; import { cloneVNode, isVNode } from 'vue';
import warning from './warning'; import warning from './warning';
import type { RefObject } from './createRef'; import type { RefObject } from './createRef';
type NodeProps = Record<string, any> & type NodeProps = Record<string, any> &
@ -40,6 +40,10 @@ export function deepCloneElement<T, U>(
if (Array.isArray(vnode)) { if (Array.isArray(vnode)) {
return vnode.map(item => deepCloneElement(item, nodeProps, override, mergeRef)); return vnode.map(item => deepCloneElement(item, nodeProps, override, mergeRef));
} else { } else {
// 需要判断是否为vnode方可进行clone操作
if (!isVNode(vnode)) {
return vnode;
}
const cloned = cloneElement(vnode, nodeProps, override, mergeRef); const cloned = cloneElement(vnode, nodeProps, override, mergeRef);
if (Array.isArray(cloned.children)) { if (Array.isArray(cloned.children)) {
cloned.children = deepCloneElement(cloned.children as VNode<T, U>[]); cloned.children = deepCloneElement(cloned.children as VNode<T, U>[]);

View File

@ -46,6 +46,7 @@ export default defineComponent({
const targetChecked = event.target.checked; const targetChecked = event.target.checked;
emit('update:checked', targetChecked); emit('update:checked', targetChecked);
emit('change', event); emit('change', event);
formItemContext.onFieldChange();
}; };
const checkboxRef = ref(); const checkboxRef = ref();
const focus = () => { const focus = () => {

View File

@ -36,7 +36,7 @@ const Empty: EmptyType = (props, { slots = {}, attrs }) => {
const prefixCls = prefixClsRef.value; const prefixCls = prefixClsRef.value;
const { const {
image = defaultEmptyImg, image = slots.image?.() || defaultEmptyImg,
description = slots.description?.() || undefined, description = slots.description?.() || undefined,
imageStyle, imageStyle,
class: className = '', class: className = '',

View File

@ -308,7 +308,7 @@ export default defineComponent({
const value = fieldValue.value; const value = fieldValue.value;
const prop = getPropByPath(model, namePath.value, true); const prop = getPropByPath(model, namePath.value, true);
if (Array.isArray(value)) { if (Array.isArray(value)) {
prop.o[prop.k] = [].concat(initialValue.value); prop.o[prop.k] = [].concat(initialValue.value ?? []);
} else { } else {
prop.o[prop.k] = initialValue.value; prop.o[prop.k] = initialValue.value;
} }

View File

@ -58,13 +58,13 @@ exports[`renders ./components/image/demo/placeholder.vue correctly 1`] = `
`; `;
exports[`renders ./components/image/demo/preview-group.vue correctly 1`] = ` exports[`renders ./components/image/demo/preview-group.vue correctly 1`] = `
<div class="ant-image" style="width: 200px;"><img class="ant-image-img" src="https://aliyuncdn.antdv.com/vue.png"> <div class="ant-image" style="width: 200px;"><img class="ant-image-img" src="https://www.antdv.com/vue.png">
<!----> <!---->
<div class="ant-image-mask"> <div class="ant-image-mask">
<div class="ant-image-mask-info"><span role="img" aria-label="eye" class="anticon anticon-eye"><svg focusable="false" class="" data-icon="eye" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"></path></svg></span>Preview</div> <div class="ant-image-mask-info"><span role="img" aria-label="eye" class="anticon anticon-eye"><svg focusable="false" class="" data-icon="eye" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"></path></svg></span>Preview</div>
</div> </div>
</div> </div>
<div class="ant-image" style="width: 200px;"><img class="ant-image-img" src="https://aliyuncdn.antdv.com/logo.png"> <div class="ant-image" style="width: 200px;"><img class="ant-image-img" src="https://www.antdv.com/logo.png">
<!----> <!---->
<div class="ant-image-mask"> <div class="ant-image-mask">
<div class="ant-image-mask-info"><span role="img" aria-label="eye" class="anticon anticon-eye"><svg focusable="false" class="" data-icon="eye" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"></path></svg></span>Preview</div> <div class="ant-image-mask-info"><span role="img" aria-label="eye" class="anticon anticon-eye"><svg focusable="false" class="" data-icon="eye" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"></path></svg></span>Preview</div>
@ -106,7 +106,7 @@ exports[`renders ./components/image/demo/preview-group-visible.vue correctly 1`]
`; `;
exports[`renders ./components/image/demo/preview-src.vue correctly 1`] = ` exports[`renders ./components/image/demo/preview-src.vue correctly 1`] = `
<div class="ant-image" style="width: 200px;"><img class="ant-image-img" src="https://aliyuncdn.antdv.com/logo.png"> <div class="ant-image" style="width: 200px;"><img class="ant-image-img" src="https://www.antdv.com/logo.png">
<!----> <!---->
<div class="ant-image-mask"> <div class="ant-image-mask">
<div class="ant-image-mask-info"><span role="img" aria-label="eye" class="anticon anticon-eye"><svg focusable="false" class="" data-icon="eye" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"></path></svg></span>Preview</div> <div class="ant-image-mask-info"><span role="img" aria-label="eye" class="anticon anticon-eye"><svg focusable="false" class="" data-icon="eye" width="1em" height="1em" fill="currentColor" aria-hidden="true" viewBox="64 64 896 896"><path d="M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"></path></svg></span>Preview</div>

View File

@ -18,8 +18,8 @@ Click the left and right switch buttons to preview multiple images.
<template> <template>
<a-image-preview-group> <a-image-preview-group>
<a-image :width="200" src="https://aliyuncdn.antdv.com/vue.png" /> <a-image :width="200" src="https://www.antdv.com/vue.png" />
<a-image :width="200" src="https://aliyuncdn.antdv.com/logo.png" /> <a-image :width="200" src="https://www.antdv.com/logo.png" />
</a-image-preview-group> </a-image-preview-group>
</template> </template>
<script lang="ts"> <script lang="ts">

View File

@ -19,7 +19,7 @@ You can set different preview image.
<template> <template>
<a-image <a-image
:width="200" :width="200"
src="https://aliyuncdn.antdv.com/logo.png" src="https://www.antdv.com/logo.png"
:preview="{ :preview="{
src: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', src: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
}" }"

View File

@ -192,7 +192,7 @@ export default defineComponent({
const value16 = ref<string>(''); const value16 = ref<string>('');
const value17 = ref<string>('Home'); const value17 = ref<string>('Home');
const value18 = ref<string[]>([]); const value18 = ref<string[]>([]);
const value19 = ref<string>('https://surely.cool'); const value19 = ref<string>('https://surelyvue.com');
const value20 = ref<string>('https://antdv.com'); const value20 = ref<string>('https://antdv.com');
return { return {

View File

@ -36,10 +36,10 @@ export const selectProps = () => ({
'backfill', 'backfill',
]), ]),
value: { value: {
type: [Array, Object, String, Number] as PropType<SelectValue>, type: [Array, Object, String, Number, Boolean] as PropType<SelectValue>,
}, },
defaultValue: { defaultValue: {
type: [Array, Object, String, Number] as PropType<SelectValue>, type: [Array, Object, String, Number, Boolean] as PropType<SelectValue>,
}, },
notFoundContent: PropTypes.any, notFoundContent: PropTypes.any,
suffixIcon: PropTypes.any, suffixIcon: PropTypes.any,

View File

@ -126,7 +126,7 @@ exports[`renders ./components/table/demo/basic.vue correctly 1`] = `
`; `;
exports[`renders ./components/table/demo/big-data.vue correctly 1`] = ` exports[`renders ./components/table/demo/big-data.vue correctly 1`] = `
<iframe src="https://www.surely.cool/for-ant-demo" height="400"></iframe> <iframe src="https://www.surelyvue.com/for-ant-demo" height="400"></iframe>
<!--v-if--> <!--v-if-->
`; `;

View File

@ -8,21 +8,21 @@ title:
## zh-CN ## zh-CN
该示例使用高级组件 [Surely Vue](https://www.surely.cool) Surely Vue Ant Design Vue 该示例使用高级组件 [Surely Vue](https://www.surelyvue.com) Surely Vue Ant Design Vue
该组件致力于解决大数据渲染图表集成等复杂高频问题 使用该组件可以流畅滚动 10 万行10 万列的数据你不必担心页面卡顿造成用户投诉进而影响业务进展 该组件致力于解决大数据渲染图表集成等复杂高频问题 使用该组件可以流畅滚动 10 万行10 万列的数据你不必担心页面卡顿造成用户投诉进而影响业务进展
## en-US ## en-US
This example uses advanced components [Surely Vue](https://www.surely.cool) for development. This example uses advanced components [Surely Vue](https://www.surelyvue.com) for development.
This component is dedicated to solving complex high-frequency issues such as big data rendering and chart integration. This component is dedicated to solving complex high-frequency issues such as big data rendering and chart integration.
Using this component, you can smoothly scroll through 100,000 rows and 100,000 columns of data. Using this component, you can smoothly scroll through 100,000 rows and 100,000 columns of data.
</docs> </docs>
<template> <template>
<iframe src="https://www.surely.cool/for-ant-demo" height="400"></iframe> <iframe src="https://www.surelyvue.com/for-ant-demo" height="400"></iframe>
<div v-if="false"> <div v-if="false">
you can visit you can visit
<a href="https://www.surely.cool"></a> <a href="https://www.surelyvue.com"></a>
get more info get more info
</div> </div>
</template> </template>

View File

@ -14,7 +14,7 @@ import EllipsisOutlined from '@ant-design/icons-vue/EllipsisOutlined';
export const operationNodeProps = { export const operationNodeProps = {
prefixCls: { type: String }, prefixCls: { type: String },
id: { type: String }, id: { type: String },
tabs: { type: Object as PropType<(Tab & { closeIcon?: () => any })[]> }, tabs: { type: Array as PropType<(Tab & { closeIcon?: () => any })[]> },
rtl: { type: Boolean }, rtl: { type: Boolean },
tabBarGutter: { type: Number }, tabBarGutter: { type: Number },
activeKey: { type: [String, Number] }, activeKey: { type: [String, Number] },
@ -121,6 +121,15 @@ export default defineComponent({
} }
}); });
watch(
() => props.tabs.length,
val => {
if (!val) {
setOpen(false);
}
},
);
return () => { return () => {
const { const {
prefixCls, prefixCls,
@ -135,6 +144,7 @@ export default defineComponent({
rtl, rtl,
onTabClick, onTabClick,
} = props; } = props;
if (!tabs.length) return null;
const dropdownPrefix = `${prefixCls}-dropdown`; const dropdownPrefix = `${prefixCls}-dropdown`;
const dropdownAriaLabel = locale?.dropdownAriaLabel; const dropdownAriaLabel = locale?.dropdownAriaLabel;

View File

@ -189,6 +189,15 @@
&-footer { &-footer {
border-top: @border-width-base @border-style-base @border-color-split; border-top: @border-width-base @border-style-base @border-color-split;
} }
&-checkbox {
line-height: 1;
align-items: center;
& > span {
top: 0;
}
}
} }
&-operation { &-operation {

View File

@ -127,7 +127,10 @@ export default defineComponent({
}, },
}); });
const alignDisabled = computed(() => { const alignDisabled = computed(() => {
if ((props.align as any)?.points && (status.value === 'align' || status.value === 'stable')) { if (
(props.align as any)?.points &&
(status.value === 'align' || status.value === 'motion' || status.value === 'stable')
) {
return false; return false;
} }
return true; return true;

View File

@ -33,7 +33,7 @@
"precompile": "npm run version", "precompile": "npm run version",
"pretest": "npm run version", "pretest": "npm run version",
"predist": "npm run version", "predist": "npm run version",
"presite": "npm run version", "prebuild": "npm run version",
"dev": "npm run predev && npm run routes && vite serve site", "dev": "npm run predev && npm run routes && vite serve site",
"test": "cross-env NODE_ENV=test jest --config .jest.js", "test": "cross-env NODE_ENV=test jest --config .jest.js",
"compile": "node antd-tools/cli/run.js compile", "compile": "node antd-tools/cli/run.js compile",
@ -56,8 +56,7 @@
"routes": "node site/scripts/genrateRoutes.js", "routes": "node site/scripts/genrateRoutes.js",
"tsc": "tsc --noEmit", "tsc": "tsc --noEmit",
"vue-tsc": "vue-tsc --noEmit", "vue-tsc": "vue-tsc --noEmit",
"site": "npm run routes && ./node_modules/vite/bin/vite.js build site --base=https://www.antdv.com/", "build": "npm run routes && ./node_modules/vite/bin/vite.js build site --base=/",
"pub:site": "npm run site && node site/scripts/pushToOSS.js",
"prepare": "husky install", "prepare": "husky install",
"version": "node ./scripts/generate-version", "version": "node ./scripts/generate-version",
"sort-api": "node antd-tools/cli/run.js sort-api-table" "sort-api": "node antd-tools/cli/run.js sort-api-table"

View File

@ -12,7 +12,7 @@
content="An enterprise-class UI components based on Ant Design and Vue" content="An enterprise-class UI components based on Ant Design and Vue"
/> />
<title>Ant Design Vue</title> <title>Ant Design Vue</title>
<link rel="icon" type="image/x-icon" href="//aliyuncdn.antdv.com/favicon.ico" /> <link rel="icon" type="image/x-icon" href="//www.antdv.com/favicon.ico" />
<style id="nprogress-style"> <style id="nprogress-style">
#page-404 { #page-404 {
background-image: url('https://os.alipayobjects.com/rmsportal/NOAjOBbnYCrNzrW.jpg'); background-image: url('https://os.alipayobjects.com/rmsportal/NOAjOBbnYCrNzrW.jpg');

View File

@ -16,7 +16,7 @@
name="keywords" name="keywords"
content="ant design vue,ant-design-vue,ant-design-vue admin,ant design pro,vue ant design,vue ant design pro,vue ant design admin,ant design vue官网,ant design vue中文文档,ant design vue文档" content="ant design vue,ant-design-vue,ant-design-vue admin,ant design pro,vue ant design,vue ant design pro,vue ant design admin,ant design vue官网,ant design vue中文文档,ant design vue文档"
/> />
<link rel="shortcut icon" type="image/x-icon" href="//aliyuncdn.antdv.com/favicon.ico" /> <link rel="shortcut icon" type="image/x-icon" href="//www.antdv.com/favicon.ico" />
<style id="nprogress-style"> <style id="nprogress-style">
#nprogress { #nprogress {
display: none; display: none;
@ -49,7 +49,7 @@
<body> <body>
<div id="app"></div> <div id="app"></div>
<script src="https://aliyuncdn.antdv.com/common/docsearch.min_2.6.3.js"></script> <script src="https://www.antdv.com/docsearch.min_2.6.3.js"></script>
<script type="module" src="/src/main.js"></script> <script type="module" src="/src/main.js"></script>
<!-- Global site tag (gtag.js) - Google Analytics --> <!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-151755889-1"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-151755889-1"></script>
@ -63,23 +63,5 @@
gtag('config', 'UA-151755889-1'); gtag('config', 'UA-151755889-1');
</script> </script>
<script type="text/javascript" src="https://cdn.wwads.cn/js/makemoney.js" async></script> <script type="text/javascript" src="https://cdn.wwads.cn/js/makemoney.js" async></script>
<!-- <div
class="surveybyantdv"
data-sf-id="63ad5912f3e10066"
data-sf-mode="popover"
data-sf-button-color="#3a3939"
data-sf-text-color="#ffffff"
data-sf-button-radius="50"
data-sf-button-icon="form-outlined"
data-sf-default-open="false"
data-sf-allow-repeat-submit="true"
data-sf-close-after-submit="false"
data-sf-hide-after-submit="false"
data-sf-delay-visible="false"
data-sf-preload="true"
data-sf-width="368px"
data-sf-height="407px"
></div>
<script async src="https://aliyuncdn.antdv.com/form/static/embed/runtime.js"></script> -->
</body> </body>
</html> </html>

View File

@ -8,9 +8,9 @@ const accessKeyId = process.env.ALI_OSS_ACCESSKEY;
const accessKeySecret = process.env.ALI_OSS_SECRETKEY; const accessKeySecret = process.env.ALI_OSS_SECRETKEY;
const client = new OSS({ const client = new OSS({
bucket: 'next-antdv', bucket: '3x-antdv',
cname: 'true', cname: 'true',
endpoint: 'next-antdv.oss-cn-beijing.aliyuncs.com', endpoint: '3x-antdv.oss-cn-beijing.aliyuncs.com',
region: 'oss-cn-beijing', region: 'oss-cn-beijing',
accessKeyId, accessKeyId,
accessKeySecret, accessKeySecret,

View File

@ -9,12 +9,6 @@
</template> </template>
</a-carousel> </a-carousel>
</template> </template>
<template v-else-if="showGoogleAd">
<!-- <template v-if="isCN">
<WWAds :key="`WWAds_${$route.path}`" />
</template> -->
<google-ads-top :key="`GoogleAdsTop_${$route.path}`" />
</template>
</div> </div>
</template> </template>
@ -22,14 +16,12 @@
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import isBetween from 'dayjs/plugin/isBetween'; import isBetween from 'dayjs/plugin/isBetween';
dayjs.extend(isBetween); dayjs.extend(isBetween);
import GoogleAdsTop from './GoogleAdsTop.vue';
// import WWAds from './WWAds.vue'; // import WWAds from './WWAds.vue';
const isEffective = (start, end) => { const isEffective = (start, end) => {
return dayjs().isBetween(start, end); return dayjs().isBetween(start, end);
}; };
export default { export default {
components: { components: {
GoogleAdsTop,
// WWAds, // WWAds,
}, },
props: ['isCN', 'isMobile'], props: ['isCN', 'isMobile'],

View File

@ -1,25 +1,10 @@
<template> <template>
<div class="container"> <div class="container">
<a-carousel autoplay> <a-carousel autoplay>
<a style="display: inline-block" href="https://form.antdv.com/" target="_blank"> <a style="display: inline-block" href="https://www.surelyvue.com/" target="_blank">
<div :class="cls"> <div :class="cls">
<div class="logo"> <div class="logo">
<img height="80" src="https://aliyuncdn.antdv.com/form/static/logo-blue.png" alt="" /> <img height="80" src="https://www.surelyvue.com/surely-vue-logo.png" alt="" />
</div>
<div class="desc">
<!-- <div class="title">Surely Form</div> -->
<div class="sub-title">
<strong>雪梨表单为您定制</strong>
<br />
专属的调研投票NPS报名等系统
</div>
</div>
</div>
</a>
<a style="display: inline-block" href="https://www.surely.cool/" target="_blank">
<div :class="cls">
<div class="logo">
<img height="80" src="https://www.surely.cool/surely-vue-logo.png" alt="" />
</div> </div>
<div class="desc"> <div class="desc">
<div class="title">Surely Table</div> <div class="title">Surely Table</div>

View File

@ -13,7 +13,7 @@
<a-menu-item-group v-if="isZhCN" title="高级组件"> <a-menu-item-group v-if="isZhCN" title="高级组件">
<a-menu-item key="surely-table"> <a-menu-item key="surely-table">
<a <a
href="https://www.surely.cool" href="https://www.surelyvue.com"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
style="position: relative" style="position: relative"
@ -21,17 +21,6 @@
Surely Table Surely Table
</a> </a>
</a-menu-item> </a-menu-item>
<a-menu-item key="surely-form">
<a
href="https://form.antdv.com"
target="_blank"
rel="noopener noreferrer"
style="position: relative"
>
Surely Form
<a-badge color="red" style="position: absolute; top: -18px; right: -15px" />
</a>
</a-menu-item>
</a-menu-item-group> </a-menu-item-group>
<template v-for="m in menus"> <template v-for="m in menus">
<template v-if="m.children"> <template v-if="m.children">

View File

@ -9,10 +9,9 @@
class="version" class="version"
size="small" size="small"
:dropdown-match-select-width="false" :dropdown-match-select-width="false"
:default-value="antdVersion" :value="antdVersion"
> >
<a-select-option :value="antdVersion">{{ antdVersion }}</a-select-option> <a-select-option :value="antdVersion">{{ antdVersion }}</a-select-option>
<a-select-option value="next" @click="changeVersion('next')">4.x (Next)</a-select-option>
<a-select-option value="2.x" @click="changeVersion('2x')"> <a-select-option value="2.x" @click="changeVersion('2x')">
2.x (Not Recommended) 2.x (Not Recommended)
</a-select-option> </a-select-option>

View File

@ -25,7 +25,7 @@
</template> </template>
<a-menu-item key="surely-table"> <a-menu-item key="surely-table">
<a <a
href="https://www.surely.cool" href="https://www.surelyvue.com"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
style="position: relative" style="position: relative"
@ -33,17 +33,6 @@
Surely Table Surely Table
</a> </a>
</a-menu-item> </a-menu-item>
<a-menu-item key="surely-form">
<a
href="https://form.antdv.com"
target="_blank"
rel="noopener noreferrer"
style="position: relative"
>
Surely Form
<a-badge color="red" style="position: absolute; top: -18px; right: -15px" />
</a>
</a-menu-item>
</a-sub-menu> </a-sub-menu>
<a-menu-item key="store"> <a-menu-item key="store">
<a <a

View File

@ -16,12 +16,6 @@
<CloseOutlined class="close-icon" @click="visibleAdblockBanner = false" /> <CloseOutlined class="close-icon" @click="visibleAdblockBanner = false" />
</div> --> </div> -->
<div v-if="visibleAlertBanner && isZhCN" class="alert-banner">
Surely Form 2.0 发布快速定制自己的问卷平台 &nbsp;&nbsp;
<a href="https://form.antdv.com">立即体验</a>
<CloseOutlined class="close-icon" @click="visibleAlertBanner = false" />
</div>
<a-popover <a-popover
v-model:visible="menuVisible" v-model:visible="menuVisible"
overlay-class-name="popover-menu" overlay-class-name="popover-menu"

View File

@ -176,25 +176,25 @@ export default defineComponent({
{ {
title: '大数据渲染', title: '大数据渲染',
enTitle: 'Virtualized Table', enTitle: 'Virtualized Table',
href: 'https://surely.cool/doc/performance', href: 'https://surelyvue.com/doc/performance',
target: '_blank', target: '_blank',
}, },
{ {
title: '行拖拽排序', title: '行拖拽排序',
enTitle: 'Row Drag Sort', enTitle: 'Row Drag Sort',
href: 'https://surely.cool/doc/dragable#drag-row', href: 'https://surelyvue.com/doc/dragable#drag-row',
target: '_blank', target: '_blank',
}, },
{ {
title: '列拖拽排序', title: '列拖拽排序',
enTitle: 'Column Drag Sort', enTitle: 'Column Drag Sort',
href: 'https://surely.cool/doc/dragable#drag-column', href: 'https://surelyvue.com/doc/dragable#drag-column',
target: '_blank', target: '_blank',
}, },
{ {
title: '更多高性能示例', title: '更多高性能示例',
enTitle: 'More high-performance examples ', enTitle: 'More high-performance examples ',
href: 'https://surely.cool', href: 'https://surelyvue.com',
target: '_blank', target: '_blank',
}, },
], ],

View File

@ -366,4 +366,8 @@
color: rgba(255, 255, 255, 0.65); color: rgba(255, 255, 255, 0.65);
} }
} }
.drawer-handle {
background: #1d1d1d;
}
} }

View File

@ -87,22 +87,12 @@ export default defineComponent({
category: 'Components', category: 'Components',
cols: 1, cols: 1,
cover: 'https://gw.alipayobjects.com/zos/alicdn/f-SbcX2Lx/Table.svg', cover: 'https://gw.alipayobjects.com/zos/alicdn/f-SbcX2Lx/Table.svg',
path: 'https://surely.cool/', path: 'https://surelyvue.com/',
subtitle: '更强大的表格', subtitle: '更强大的表格',
title: 'Surely Table', title: 'Surely Table',
type: 'Advanced And Powerful', type: 'Advanced And Powerful',
target: '_blank', target: '_blank',
}, },
{
category: 'Components',
cols: 1,
cover: 'https://aliyuncdn.antdv.com/form/static/assets/landing-config.4f9d5425.png',
path: 'https://form.antdv.com/',
subtitle: '在线表单',
title: 'Surely Form',
type: 'Advanced And Powerful',
target: '_blank',
},
], ],
enTitle: 'Advanced And Powerful', enTitle: 'Advanced And Powerful',
title: '更强大', title: '更强大',

View File

@ -2,7 +2,7 @@
Starting from the V3 version, the momentjs library is replaced by dayjs by default. If you need to use the momentjs or date-fns date library, you can replace it as follows: Starting from the V3 version, the momentjs library is replaced by dayjs by default. If you need to use the momentjs or date-fns date library, you can replace it as follows:
### 替换 DatePicker ### replace DatePicker
```js ```js
// moment or date-fns // moment or date-fns

View File

@ -33,7 +33,7 @@ You can consult me by email [antdv@foxmail.com](antdv@foxmail.com).
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ant-design-vue#sponsor)] Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ant-design-vue#sponsor)]
<div> <div>
<a href="http://www.jeecg.com/" target="_blank"><img src="https://aliyuncdn.antdv.com/jeecg-logo.png" height="64"></a> <a href="http://www.jeecg.com/" target="_blank"><img src="https://www.antdv.com/jeecg-logo.png" height="64"></a>
<a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a>
<a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a>
<a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a>

View File

@ -37,7 +37,7 @@ ant-design-vue 是采用 MIT 许可的开源项目,使用完全免费。 但
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ant-design-vue#sponsor)] Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ant-design-vue#sponsor)]
<div> <div>
<a href="http://www.jeecg.com/" target="_blank"><img src="https://aliyuncdn.antdv.com/jeecg-logo.png" height="64"></a> <a href="http://www.jeecg.com/" target="_blank"><img src="https://www.antdv.com/jeecg-logo.png" height="64"></a>
<a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/0/avatar.svg"></a>
<a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/1/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/1/avatar.svg"></a>
<a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/ant-design-vue/sponsor/2/website" target="_blank"><img src="https://opencollective.com/ant-design-vue/sponsor/2/avatar.svg"></a>

14
wrangler.jsonc Normal file
View File

@ -0,0 +1,14 @@
{
"name": "antdv-v3",
"compatibility_date": "2025-09-19",
"assets": {
"directory": "./site/dist",
"not_found_handling": "single-page-application"
},
"routes": [
{
"pattern": "3x.antdv.com/*",
"zone_name": "antdv.com"
}
]
}