├── .husky ├── _ │ └── .gitignore ├── pre-commit └── commit-msg ├── components ├── ConfigProvider │ ├── style │ │ ├── index.less │ │ └── index.ts │ └── index.ts ├── AIcon │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ ├── demo │ │ ├── basic3.vue │ │ ├── basic2.vue │ │ ├── basic.vue │ │ ├── basic4.vue │ │ └── index.vue │ └── aIcon.vue ├── Affix │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ ├── index.vue │ │ ├── on-change.vue │ │ └── basic.vue ├── Alert │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── demo │ │ ├── basic.vue │ │ ├── close-text.vue │ │ ├── style.vue │ │ ├── banner.vue │ │ └── smooth-closed.vue │ └── index.ts ├── Badge │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── demo │ │ ├── title.vue │ │ ├── link.vue │ │ ├── no-wrapper.vue │ │ ├── dot.vue │ │ ├── overflow.vue │ │ └── status.vue │ └── index.ts ├── Empty │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── demo │ │ ├── basic.vue │ │ ├── index.vue │ │ └── customize.vue │ └── index.ts ├── Grid │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ ├── demo │ │ ├── sort.vue │ │ ├── responsive.vue │ │ ├── responsive-more.vue │ │ ├── offset.vue │ │ ├── basic.vue │ │ └── flex-stretch.vue │ ├── Col.tsx │ └── Row.tsx ├── Image │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── demo │ │ ├── basic.vue │ │ ├── preview-group.vue │ │ └── preview-src.vue │ └── index.ts ├── Radio │ ├── style │ │ ├── index.ts │ │ └── index.less │ └── demo │ │ ├── basic.vue │ │ └── radioGroup.vue ├── Space │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ ├── vertical.vue │ │ ├── index.vue │ │ └── customize.vue ├── Spin │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── demo │ │ ├── basic.vue │ │ ├── size.vue │ │ ├── tip.vue │ │ ├── inside.vue │ │ └── custom-indicator.vue │ └── index.ts ├── Tabs │ ├── style │ │ └── index.ts │ ├── tabsTypes.ts │ ├── demo │ │ ├── index.vue │ │ └── basic.vue │ └── index.ts ├── Tag │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ └── controlled.vue ├── Tree │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ └── index.vue ├── Avatar │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ └── responsive.vue ├── BackTop │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ ├── demo │ │ ├── basic.vue │ │ └── index.vue │ └── index.md ├── Button │ ├── style │ │ └── index.ts │ ├── index.ts │ └── demo │ │ ├── index.vue │ │ └── basic.vue ├── Carousel │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── demo │ │ ├── abstract01.jpg │ │ ├── abstract02.jpg │ │ ├── abstract03.jpg │ │ ├── abstract04.jpg │ │ ├── fade.vue │ │ └── autoplay.vue │ └── index.ts ├── Checkbox │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── demo │ │ ├── basic.vue │ │ └── disabled.vue │ └── index.ts ├── Collapse │ ├── style │ │ ├── index.ts │ │ └── index.less │ └── index.ts ├── Comment │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ └── index.vue ├── Divider │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ ├── divider.vue │ └── demo │ │ ├── vertical.vue │ │ ├── customize-style.vue │ │ └── index.vue ├── Drawer │ ├── style │ │ ├── index.ts │ │ └── index.less │ └── index.ts ├── Layout │ └── style │ │ ├── index.ts │ │ └── index.less ├── Popover │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ ├── demo │ │ └── basic.vue │ └── index.md ├── Progress │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ ├── dashboard.vue │ │ ├── circle.vue │ │ ├── steps.vue │ │ ├── circle-mini.vue │ │ ├── line.vue │ │ ├── linecap.vue │ │ ├── line-mini.vue │ │ └── format.vue ├── Result │ ├── style │ │ └── index.ts │ ├── 404.png │ ├── mascot.png │ ├── index.ts │ └── demo │ │ ├── basic2.vue │ │ ├── basic3.vue │ │ ├── Basic404.vue │ │ ├── basic.vue │ │ └── index.vue ├── Skeleton │ ├── style │ │ ├── index.ts │ │ └── index.less │ └── demo │ │ ├── basic.vue │ │ ├── active.vue │ │ └── complex.vue ├── Statistic │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── demo │ │ ├── basic.vue │ │ └── index.vue │ └── index.ts ├── Switch │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ ├── basic.vue │ │ ├── loading.vue │ │ ├── size.vue │ │ └── index.vue ├── TableCard │ ├── style │ │ └── index.ts │ ├── index.ts │ ├── tablecardType.ts │ ├── demo │ │ └── index.vue │ └── index.md ├── Timeline │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── demo │ │ └── basic.vue │ └── index.ts ├── Tooltip │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ ├── basic.vue │ │ └── arrow-point-at-center.vue ├── style │ ├── default.less │ ├── dark.less │ └── variable.less ├── Descriptions │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ ├── index.vue │ │ ├── basic.vue │ │ └── vertical.vue ├── InputNumber │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ ├── out-of-range.vue │ │ ├── basic.vue │ │ ├── borderless.vue │ │ └── digit.vue ├── MonacoEditor │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ ├── index.vue │ │ ├── basic.vue │ │ └── language.vue ├── Notification │ ├── style │ │ ├── index.ts │ │ └── index.less │ └── index.ts ├── Scrollbar │ ├── style │ │ └── index.ts │ ├── index.ts │ ├── scrollbarTypes.ts │ ├── thumbUtil.ts │ ├── demo │ │ ├── index.vue │ │ └── basic.vue │ └── barUtil.ts ├── Col │ ├── style │ │ ├── index.ts │ │ └── index.less │ └── index.ts ├── Anchor │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── demo │ │ ├── static.vue │ │ └── basic.vue │ └── index.ts ├── AutoComplete │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ └── index.vue ├── Ellipsis │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ ├── demo │ │ ├── max-rows.vue │ │ ├── expand-method.vue │ │ ├── customize-style.vue │ │ └── index.vue │ └── index.md ├── Input │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── demo │ │ ├── basic.vue │ │ ├── textarea.vue │ │ ├── presuffix.vue │ │ └── index.vue │ └── input.vue ├── Menu │ └── style │ │ ├── index.ts │ │ └── index.less ├── Modal │ ├── style │ │ └── index.ts │ ├── index.ts │ └── demo │ │ └── index.vue ├── Rate │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ ├── disabled.vue │ │ ├── basic.vue │ │ ├── half.vue │ │ ├── text.vue │ │ ├── clear.vue │ │ └── index.vue ├── Steps │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── demo │ │ ├── small-size.vue │ │ ├── vertical.vue │ │ ├── error.vue │ │ ├── progress.vue │ │ ├── vertical-small.vue │ │ └── simple.vue │ └── index.ts ├── CardSelect │ ├── style │ │ └── index.ts │ └── index.ts ├── Dropdown │ ├── style │ │ ├── index.ts │ │ └── index.less │ └── index.ts ├── Message │ ├── style │ │ ├── index.ts │ │ └── index.less │ └── demo │ │ └── index.vue ├── Pagination │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── paginationTypes.ts │ ├── index.ts │ └── demo │ │ ├── index.vue │ │ └── basic.vue ├── ScrollTable │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ └── index.vue ├── Select │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── selectTypes.ts │ ├── demo │ │ └── index.vue │ ├── index.ts │ └── select.vue ├── Slider │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ ├── show-tooltip.vue │ │ └── tip-formatter.vue ├── TimePicker │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── demo │ │ ├── range-picker.vue │ │ ├── bordered.vue │ │ ├── disabled.vue │ │ ├── interval-options.vue │ │ ├── hide-column.vue │ │ ├── 12hours.vue │ │ └── suffix.vue │ └── index.ts ├── Row │ ├── style │ │ └── index.ts │ └── index.ts ├── locale │ └── zh_CN.ts ├── Form │ └── style │ │ ├── index.ts │ │ └── index.less ├── plugin │ └── resolve │ │ └── index.ts ├── Card │ ├── style │ │ ├── index.less │ │ └── index.ts │ ├── demo │ │ ├── simple.vue │ │ ├── border-less.vue │ │ ├── flexible-content.vue │ │ ├── basic.vue │ │ ├── loading.vue │ │ └── inner.vue │ └── index.ts ├── Cascader │ ├── style │ │ ├── index.ts │ │ └── index.less │ └── index.ts ├── DatePicker │ └── style │ │ ├── index.ts │ │ └── index.less ├── Mentions │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ ├── placement.vue │ │ └── index.vue ├── TreeSelect │ ├── style │ │ ├── index.ts │ │ └── index.less │ └── index.ts ├── Breadcrumb │ ├── style │ │ ├── index.ts │ │ └── index.less │ └── demo │ │ ├── basic.vue │ │ └── separator-indepent.vue ├── PageHeader │ ├── style │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ └── demo │ │ └── basic.vue ├── ProLayout │ ├── SiderMenu │ │ └── index.ts │ ├── style │ │ ├── default.less │ │ ├── index.ts │ │ └── style.less │ ├── Basic │ │ └── Header.less │ ├── index.ts │ └── Demo │ │ └── Welcome.vue ├── Popconfirm │ ├── style │ │ ├── index.less │ │ └── index.ts │ ├── index.ts │ └── demo │ │ └── index.vue ├── Upload │ ├── style │ │ └── index.ts │ ├── asset │ │ ├── uploadRemoveIcon.svg │ │ ├── drag-download.svg │ │ └── uploadIcon.svg │ └── index.ts ├── List │ ├── style │ │ ├── index.less │ │ └── index.ts │ ├── demo │ │ └── index.vue │ └── index.ts ├── Table │ ├── style │ │ ├── index.less │ │ └── index.ts │ └── demo │ │ └── big-data.vue ├── Calendar │ ├── style │ │ ├── index.less │ │ └── index.ts │ ├── index.ts │ └── demo │ │ ├── basic.vue │ │ └── index.vue ├── Transfer │ ├── style │ │ ├── index.less │ │ └── index.ts │ └── index.ts ├── ProTable │ ├── index.ts │ ├── style │ │ └── index.ts │ └── demo │ │ └── index.vue ├── ColorPicker │ ├── index.ts │ ├── demo │ │ ├── index.vue │ │ ├── size.vue │ │ └── opacity.vue │ └── color-picker.vue ├── util │ ├── type.ts │ └── regular.ts ├── Search │ ├── index.ts │ ├── style │ │ ├── index.ts │ │ └── Item.less │ └── Demo │ │ ├── index.vue │ │ └── Custom.vue ├── hooks │ └── context.ts └── index.ts ├── .npmrc ├── site ├── src │ ├── SymbolKey.ts │ ├── theme │ │ └── static │ │ │ ├── home.less │ │ │ ├── rtl.less │ │ │ ├── contributors.less │ │ │ ├── design-doc.less │ │ │ ├── nprogress.less │ │ │ ├── theme.less │ │ │ ├── new-version-info-modal.less │ │ │ ├── reset.less │ │ │ ├── docsearch.less │ │ │ └── not-found.less │ ├── assets │ │ └── logo.png │ ├── views │ │ ├── vip.vue │ │ └── user │ │ │ ├── register │ │ │ ├── service.js │ │ │ └── model.js │ │ │ ├── login │ │ │ ├── service.js │ │ │ ├── utils │ │ │ │ └── utils.js │ │ │ ├── components │ │ │ │ ├── index.js │ │ │ │ └── LoginSubmit.vue │ │ │ └── style.less │ │ │ └── register-result │ │ │ └── style.less │ ├── components │ │ └── SimpleLayout.vue │ ├── style.less │ ├── services │ │ ├── user.js │ │ └── login.js │ ├── layouts │ │ ├── Iframe.vue │ │ └── UserLayout.vue │ ├── i18n.js │ └── typings.d.ts ├── Dockerfile ├── public │ └── favicon.ico ├── typings │ └── index.d.ts ├── build.sh ├── typings.d.ts └── nginx.conf ├── tools ├── generator-types │ ├── README.md │ ├── tsconfig.json │ └── src │ │ └── web-types.ts ├── utils │ ├── styleUtil.js │ └── get-npm-args.js ├── getNpm.js ├── buildConfig.js ├── runCmd.js └── cli │ └── index.js ├── index.js ├── public └── logo404.png ├── .vscode └── extensions.json ├── .eslintignore ├── .lintstagedrc.json ├── index-with-locales.js ├── index.html ├── .gitignore ├── scripts └── compact-vars.js └── plugin └── md ├── utils └── query.ts └── markdown └── plugins └── hoist.ts /.husky/_/.gitignore: -------------------------------------------------------------------------------- 1 | * -------------------------------------------------------------------------------- /components/ConfigProvider/style/index.less: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/AIcon/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Affix/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Alert/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Badge/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Empty/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Grid/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Image/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Radio/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Space/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Spin/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Tabs/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Tag/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Tree/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Avatar/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/BackTop/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Button/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Carousel/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Checkbox/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Collapse/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Comment/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/ConfigProvider/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less' -------------------------------------------------------------------------------- /components/Divider/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Drawer/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Layout/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Popover/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Progress/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Result/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Skeleton/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Statistic/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Switch/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/TableCard/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Timeline/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Tooltip/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/style/default.less: -------------------------------------------------------------------------------- 1 | @import './variable.less'; 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | always-auth=true 2 | registry=http://registry.jetlinks.cn/ -------------------------------------------------------------------------------- /components/Descriptions/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/InputNumber/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/MonacoEditor/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Notification/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | -------------------------------------------------------------------------------- /components/Scrollbar/style/index.ts: -------------------------------------------------------------------------------- 1 | import './scrollbar.less'; 2 | -------------------------------------------------------------------------------- /components/style/dark.less: -------------------------------------------------------------------------------- 1 | @import '~ant-design-vue/dist/antd.dark.less'; 2 | -------------------------------------------------------------------------------- /site/src/SymbolKey.ts: -------------------------------------------------------------------------------- 1 | export const GLOBAL_CONFIG = Symbol('globalConfig'); 2 | -------------------------------------------------------------------------------- /components/Col/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | import '../../Grid/style/index'; -------------------------------------------------------------------------------- /tools/generator-types/README.md: -------------------------------------------------------------------------------- 1 | fork github.com/youzan/vant packages/generator-types 2 | -------------------------------------------------------------------------------- /components/MonacoEditor/style/index.less: -------------------------------------------------------------------------------- 1 | .editor { 2 | min-height: 300px; 3 | } 4 | -------------------------------------------------------------------------------- /site/src/theme/static/home.less: -------------------------------------------------------------------------------- 1 | @home-bg-color: #2f54eb; 2 | @home-text-color: #314659; 3 | -------------------------------------------------------------------------------- /components/Anchor/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Affix/style'; 4 | -------------------------------------------------------------------------------- /components/AutoComplete/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | import '../../Select/style'; 3 | -------------------------------------------------------------------------------- /components/Ellipsis/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | import '../../Tooltip/style'; 3 | -------------------------------------------------------------------------------- /components/Input/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Button/style'; 4 | -------------------------------------------------------------------------------- /components/Menu/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Tooltip/style'; 4 | -------------------------------------------------------------------------------- /components/Modal/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Button/style'; 4 | -------------------------------------------------------------------------------- /components/Rate/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Tooltip/style'; 4 | -------------------------------------------------------------------------------- /components/Steps/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Progress/style'; 4 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | require('./index-style-only'); 2 | 3 | module.exports = require('./components'); 4 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /components/CardSelect/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Avatar/style'; 4 | -------------------------------------------------------------------------------- /components/Dropdown/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Button/style'; 4 | -------------------------------------------------------------------------------- /components/Message/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Tooltip/style'; 4 | -------------------------------------------------------------------------------- /components/Pagination/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Select/style'; 4 | -------------------------------------------------------------------------------- /components/ScrollTable/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Empty/style'; 4 | -------------------------------------------------------------------------------- /components/Select/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Empty/style/index'; 4 | -------------------------------------------------------------------------------- /public/logo404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jetlinks/jetlinks-ui-components/HEAD/public/logo404.png -------------------------------------------------------------------------------- /components/Slider/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Tooltip/style/index'; 4 | -------------------------------------------------------------------------------- /components/TimePicker/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../DatePicker/style'; 4 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] 3 | } 4 | -------------------------------------------------------------------------------- /components/Grid/index.ts: -------------------------------------------------------------------------------- 1 | import Row from "./Row"; 2 | import Col from "./Col"; 3 | 4 | export { Row, Col }; 5 | -------------------------------------------------------------------------------- /components/Row/style/index.ts: -------------------------------------------------------------------------------- 1 | import 'ant-design-vue/lib/style/index.less'; 2 | import '../../Grid/style'; 3 | -------------------------------------------------------------------------------- /site/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx 2 | ADD nginx.conf /etc/nginx/conf.d/default.conf 3 | COPY dist /usr/share/nginx/html -------------------------------------------------------------------------------- /site/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jetlinks/jetlinks-ui-components/HEAD/site/public/favicon.ico -------------------------------------------------------------------------------- /components/Result/404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jetlinks/jetlinks-ui-components/HEAD/components/Result/404.png -------------------------------------------------------------------------------- /site/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jetlinks/jetlinks-ui-components/HEAD/site/src/assets/logo.png -------------------------------------------------------------------------------- /site/src/views/vip.vue: -------------------------------------------------------------------------------- 1 | 4 | 7 | -------------------------------------------------------------------------------- /components/Result/mascot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jetlinks/jetlinks-ui-components/HEAD/components/Result/mascot.png -------------------------------------------------------------------------------- /components/locale/zh_CN.ts: -------------------------------------------------------------------------------- 1 | import localeValues from 'ant-design-vue/lib/locale/zh_CN' 2 | 3 | export default localeValues -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx --no-install commitlint --edit $1 5 | -------------------------------------------------------------------------------- /components/Col/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../Grid/style/index.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | -------------------------------------------------------------------------------- /components/Form/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Grid/style'; 4 | import '../../Tooltip/style'; 5 | -------------------------------------------------------------------------------- /components/plugin/resolve/index.ts: -------------------------------------------------------------------------------- 1 | import JetlinksVueResolver from './jetlinks'; 2 | 3 | export { JetlinksVueResolver }; 4 | -------------------------------------------------------------------------------- /site/src/components/SimpleLayout.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /components/Affix/style/index.less: -------------------------------------------------------------------------------- 1 | @import 'ant-design-vue/lib/affix/style/index.less'; 2 | @import '../../style/variable.less'; 3 | -------------------------------------------------------------------------------- /components/Card/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | @import 'ant-design-vue/lib/card/style/index.less'; 3 | -------------------------------------------------------------------------------- /components/Cascader/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Empty/style'; 4 | import '../../Select/style'; 5 | -------------------------------------------------------------------------------- /components/DatePicker/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Tag/style'; 4 | import '../../Button/style'; 5 | -------------------------------------------------------------------------------- /components/Mentions/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Empty/style'; 4 | import '../../Spin/style'; 5 | -------------------------------------------------------------------------------- /components/TreeSelect/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Select/style'; 4 | import '../../Empty/style'; 5 | -------------------------------------------------------------------------------- /site/src/style.less: -------------------------------------------------------------------------------- 1 | @import 'ant-design-vue/es/style/themes/variable.less'; 2 | @import '../../components/style/variable.less'; 3 | -------------------------------------------------------------------------------- /components/Breadcrumb/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Menu/style'; 4 | import '../../Dropdown/style'; 5 | -------------------------------------------------------------------------------- /components/Mentions/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | @import 'ant-design-vue/lib/mentions/style/index.less'; 3 | -------------------------------------------------------------------------------- /components/PageHeader/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Breadcrumb/style'; 4 | import '../../Avatar/style'; 5 | -------------------------------------------------------------------------------- /components/DatePicker/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | @import 'ant-design-vue/lib/date-picker/style/index.less'; 3 | -------------------------------------------------------------------------------- /components/PageHeader/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | @import 'ant-design-vue/lib/page-header/style/index.less'; 3 | -------------------------------------------------------------------------------- /components/ProLayout/SiderMenu/index.ts: -------------------------------------------------------------------------------- 1 | export { default as BaseMenu } from './BaseMenu' 2 | export { default as SiderMenu } from './SiderMenu' -------------------------------------------------------------------------------- /components/Carousel/demo/abstract01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jetlinks/jetlinks-ui-components/HEAD/components/Carousel/demo/abstract01.jpg -------------------------------------------------------------------------------- /components/Carousel/demo/abstract02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jetlinks/jetlinks-ui-components/HEAD/components/Carousel/demo/abstract02.jpg -------------------------------------------------------------------------------- /components/Carousel/demo/abstract03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jetlinks/jetlinks-ui-components/HEAD/components/Carousel/demo/abstract03.jpg -------------------------------------------------------------------------------- /components/Carousel/demo/abstract04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jetlinks/jetlinks-ui-components/HEAD/components/Carousel/demo/abstract04.jpg -------------------------------------------------------------------------------- /site/typings/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.json' { 2 | const value: any; 3 | export const version: string; 4 | export default value; 5 | } 6 | -------------------------------------------------------------------------------- /components/Card/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Tabs/style'; 4 | import '../../Row/style'; 5 | import '../../Col/style'; 6 | -------------------------------------------------------------------------------- /components/Pagination/paginationTypes.ts: -------------------------------------------------------------------------------- 1 | import { paginationProps } from 'ant-design-vue/lib/pagination'; 2 | 3 | export const PaginationProps = {}; 4 | -------------------------------------------------------------------------------- /components/Popconfirm/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | .popconfirm-button { 3 | border-radius: 6px; 4 | min-width: 70px; 5 | } 6 | -------------------------------------------------------------------------------- /components/style/variable.less: -------------------------------------------------------------------------------- 1 | @root-entry-name: 'variable'; 2 | @base-primary: #315efb; 3 | @btn-border-radius-base: 6px; 4 | @primary-color: @base-primary; 5 | -------------------------------------------------------------------------------- /components/Upload/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Button/style'; 4 | import '../../Progress/style'; 5 | import '../../Tooltip/style'; 6 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | index.html 4 | .vscode 5 | .storybook 6 | .husky 7 | airbnb.md 8 | site 9 | components/*/**/demo/*.vue 10 | .eslintrc.js -------------------------------------------------------------------------------- /components/Empty/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 3 4 | title: 基本用法 5 | --- 6 | 7 | 简单的展示。 8 | 9 | 10 | -------------------------------------------------------------------------------- /components/Input/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本用法 5 | --- 6 | 7 | 基本用法 8 | 9 | 10 | -------------------------------------------------------------------------------- /components/Form/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/form/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Grid/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/grid/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/List/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/list/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Menu/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/menu/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Rate/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/rate/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Spin/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/spin/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Tag/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/tag/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Tree/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/tree/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Alert/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/alert/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Anchor/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/anchor/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Avatar/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/avatar/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Badge/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/badge/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Drawer/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/drawer/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Image/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/image/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Input/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/input/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Layout/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/layout/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/ProLayout/style/default.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | 3 | @basicLayout-prefix-cls: ~'@{ant-prefix}-pro-basicLayout'; 4 | @pro-layout-header-height: 48px; 5 | -------------------------------------------------------------------------------- /components/Radio/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/radio/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Select/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/select/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Slider/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/slider/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Space/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/space/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Steps/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/steps/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Switch/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/switch/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Table/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/table/style/index.less'; 4 | -------------------------------------------------------------------------------- /.lintstagedrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "**/*.{vue,js,jsx,ts,tsx}": [ 3 | "npm run lint", 4 | "prettier --write" 5 | ], 6 | "**/*.{html,css,less,md}": [ 7 | "prettier --write" 8 | ] 9 | } -------------------------------------------------------------------------------- /components/BackTop/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/back-top/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Calendar/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/calendar/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Carousel/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/carousel/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Cascader/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/cascader/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Checkbox/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/checkbox/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Collapse/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/collapse/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Comment/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/comment/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Divider/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/divider/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Dropdown/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/dropdown/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/List/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Empty/style'; 4 | import '../../Spin/style'; 5 | import '../../Pagination/style'; 6 | import '../../Grid/style'; 7 | -------------------------------------------------------------------------------- /components/Message/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/message/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Popover/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/popover/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Progress/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/progress/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Skeleton/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/skeleton/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Statistic/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/statistic/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Timeline/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/timeline/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Tooltip/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/tooltip/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Transfer/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/transfer/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Breadcrumb/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/breadcrumb/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/Calendar/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | // style dependencies 4 | import '../../Button/style'; 5 | import '../../Radio/style'; 6 | import '../../DatePicker/style'; 7 | -------------------------------------------------------------------------------- /components/Input/demo/textarea.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 文本域 5 | --- 6 | 用于多行输入。 7 | 8 | 9 | 12 | -------------------------------------------------------------------------------- /components/InputNumber/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/input-number/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/TimePicker/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/time-picker/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/TreeSelect/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/tree-select/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/AIcon/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import AIcon from './icon'; 3 | 4 | export const JLAIcon = withInstall(AIcon, 'AIcon'); 5 | 6 | export default JLAIcon; 7 | -------------------------------------------------------------------------------- /components/Notification/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/notification/style/index.less'; 4 | -------------------------------------------------------------------------------- /components/AutoComplete/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | 3 | // @import 'ant-design-vue/lib/style/index.less'; 4 | @import 'ant-design-vue/lib/auto-complete/style/index.less'; 5 | -------------------------------------------------------------------------------- /components/Button/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Button from './button.vue'; 3 | 4 | export const JLButton = withInstall(Button, 'JButton'); 5 | export default JLButton; 6 | -------------------------------------------------------------------------------- /components/Empty/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Empty from './empty.vue'; 3 | 4 | export const JLEmpty = withInstall(Empty, 'JEmpty'); 5 | 6 | export default JLEmpty; 7 | -------------------------------------------------------------------------------- /components/AIcon/demo/basic3.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 双色风格 5 | --- 6 | 7 | UpCircleTwoTone 8 | 9 | 12 | -------------------------------------------------------------------------------- /components/Popconfirm/style/index.ts: -------------------------------------------------------------------------------- 1 | import 'ant-design-vue/lib/style/index.less'; 2 | import '../../Popover/style'; 3 | import '../../Button/style'; 4 | import '../../AIcon/style'; 5 | import './index.less'; 6 | -------------------------------------------------------------------------------- /components/Result/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Result from './result.vue'; 3 | 4 | export const JLResult = withInstall(Result, 'JResult'); 5 | 6 | export default JLResult; 7 | -------------------------------------------------------------------------------- /site/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | docker build -t registry.cn-shenzhen.aliyuncs.com/jetlinks/jetlinks-ui-component:1.0.0 . 3 | docker push registry.cn-shenzhen.aliyuncs.com/jetlinks/jetlinks-ui-component:1.0.0 -------------------------------------------------------------------------------- /components/AIcon/demo/basic2.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 实底风格 5 | --- 6 | 7 | StepBackwardFilled 8 | 9 | 12 | -------------------------------------------------------------------------------- /components/Scrollbar/index.ts: -------------------------------------------------------------------------------- 1 | import {withInstall} from "../util/type"; 2 | import Scrollbar from './scrollbar.vue' 3 | export const JLScrollbar = withInstall(Scrollbar,'JScrollbar') 4 | export default JLScrollbar 5 | -------------------------------------------------------------------------------- /components/Divider/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Divider from './divider.vue'; 3 | 4 | export const JLDivider = withInstall(Divider, 'JDivider'); 5 | 6 | export default JLDivider; 7 | -------------------------------------------------------------------------------- /components/ScrollTable/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | 3 | .j-scroll-table { 4 | position: relative; 5 | 6 | .window { 7 | scrollbar-width: none; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /components/Skeleton/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本用法 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 最简单的占位效果。 10 | 11 | 12 | 13 | 16 | -------------------------------------------------------------------------------- /components/Spin/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本用法 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 一个简单的 loading 状态。 10 | 11 | 12 | 13 | 16 | -------------------------------------------------------------------------------- /components/Ellipsis/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Ellipsis from './ellipsis.vue'; 3 | 4 | export const JLEllipsis = withInstall(Ellipsis, 'JEllipsis'); 5 | 6 | export default JLEllipsis; 7 | -------------------------------------------------------------------------------- /components/Input/demo/presuffix.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 前缀和后缀 5 | --- 6 | 7 | 在输入框上添加前缀或后缀图标。 8 | 9 | 10 | 13 | -------------------------------------------------------------------------------- /components/MonacoEditor/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Monaco from './monaco.vue'; 3 | 4 | export const JLMonaco = withInstall(Monaco, 'JMonacoEditor'); 5 | 6 | export default JLMonaco; 7 | -------------------------------------------------------------------------------- /components/ProTable/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from "../util/type"; 2 | import ProTable from "./src/j-table/index"; 3 | 4 | export const JProTable = withInstall(ProTable, 'JProTable') 5 | 6 | export default JProTable 7 | -------------------------------------------------------------------------------- /components/Skeleton/demo/active.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 2 4 | title: 动画效果 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 显示动画效果。 10 | 11 | 12 | 13 | 16 | -------------------------------------------------------------------------------- /components/TableCard/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import TableCard from './tablecard.vue'; 3 | 4 | export const JLTableCard = withInstall(TableCard, 'JTableCard'); 5 | 6 | export default JLTableCard; 7 | -------------------------------------------------------------------------------- /components/ColorPicker/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Color from './color-picker.vue'; 3 | 4 | export const JLColorPicker = withInstall(Color, 'JColorPicker'); 5 | 6 | export default JLColorPicker; 7 | -------------------------------------------------------------------------------- /components/Pagination/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Pagination from './pagination.vue'; 3 | 4 | export const JLPagination = withInstall(Pagination, 'JPagination'); 5 | 6 | export default JLPagination; 7 | -------------------------------------------------------------------------------- /components/Popconfirm/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Popconfirm from './popconfirm.vue'; 3 | 4 | export const JLPopconfirm = withInstall(Popconfirm, 'JPopconfirm'); 5 | 6 | export default JLPopconfirm; 7 | -------------------------------------------------------------------------------- /components/AutoComplete/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from "../util/type"; 2 | import AutoComplete from "./autoComplete.vue"; 3 | 4 | export const JLAutoComplete= withInstall(AutoComplete, 'JAutoComplete') 5 | 6 | export default JLAutoComplete -------------------------------------------------------------------------------- /site/src/views/user/register/service.js: -------------------------------------------------------------------------------- 1 | import request from '../../../utils/request'; 2 | 3 | export async function fakeRegister(params) { 4 | return request('/api/register', { 5 | method: 'POST', 6 | data: params, 7 | }); 8 | } 9 | -------------------------------------------------------------------------------- /components/ProLayout/Basic/Header.less: -------------------------------------------------------------------------------- 1 | @import '../style/default.less'; 2 | 3 | @pro-layout-fixed-header-prefix-cls: ~'@{ant-prefix}-pro-fixed-header'; 4 | 5 | .@{pro-layout-fixed-header-prefix-cls} { 6 | z-index: 9; 7 | width: 100%; 8 | } 9 | -------------------------------------------------------------------------------- /components/ScrollTable/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from "../util/type"; 2 | import ScrollTable from "./src/scroll-table/index"; 3 | 4 | export const JScrollTable = withInstall(ScrollTable, 'JScrollTable') 5 | 6 | export default JScrollTable 7 | -------------------------------------------------------------------------------- /components/Skeleton/demo/complex.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 复杂的组合 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 更复杂的组合。 10 | 11 | 12 | 13 | 16 | -------------------------------------------------------------------------------- /components/Alert/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本用法 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 最简单的用法,适用于简短的警告提示。 10 | 11 | 12 | 13 | 16 | -------------------------------------------------------------------------------- /components/TimePicker/demo/range-picker.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 13 4 | title: 范围选择器 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 通过 `TimeRangePicker` 使用时间范围选择器。 10 | 11 | 12 | 13 | 16 | -------------------------------------------------------------------------------- /site/src/theme/static/rtl.less: -------------------------------------------------------------------------------- 1 | [data-direction='rtl'] { 2 | #_hj_feedback_container { 3 | > div { 4 | right: auto; 5 | left: 32px; 6 | } 7 | } 8 | .fixed-widgets { 9 | right: auto; 10 | left: 32px; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /components/Notification/index.ts: -------------------------------------------------------------------------------- 1 | import { notification } from 'ant-design-vue'; 2 | 3 | export type { NotificationPlacement } from 'ant-design-vue/lib/notification/index'; 4 | 5 | export const JNotification = notification; 6 | 7 | export default JNotification; 8 | -------------------------------------------------------------------------------- /components/ProLayout/style/index.ts: -------------------------------------------------------------------------------- 1 | import 'ant-design-vue/lib/style/index.less'; 2 | import 'ant-design-vue/lib/layout/style/index.less'; 3 | 4 | import '../../Menu/style'; 5 | import '../../Slider/style'; 6 | import '../../Layout/style'; 7 | import './style.less'; 8 | -------------------------------------------------------------------------------- /components/ProLayout/style/style.less: -------------------------------------------------------------------------------- 1 | @import './default.less'; 2 | 3 | @import '../Basic/BasicLayout.less'; 4 | @import '../Basic/Header.less'; 5 | @import '../PageContainer/index.less'; 6 | @import '../SiderMenu/index.less'; 7 | @import '../TopHeader/index.less'; 8 | -------------------------------------------------------------------------------- /components/Tabs/tabsTypes.ts: -------------------------------------------------------------------------------- 1 | import { tabsProps as TabsProps } from "ant-design-vue/lib/tabs/src/Tabs"; 2 | 3 | export const tabsProps = { 4 | ...TabsProps(), 5 | animated: { 6 | type: Object || Boolean, 7 | default: {inkBar: true, tabPane: false} 8 | } 9 | } -------------------------------------------------------------------------------- /site/src/theme/static/contributors.less: -------------------------------------------------------------------------------- 1 | .contributors-list { 2 | display: flex; 3 | flex-wrap: wrap; 4 | margin-top: 120px !important; 5 | 6 | a, 7 | .ant-avatar + .ant-avatar { 8 | margin-right: 8px; 9 | margin-bottom: 8px; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /components/Alert/demo/close-text.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 5 4 | title: 自定义关闭 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 自定义图标让信息类型更加醒目。 10 | 11 | 12 | 13 | 16 | -------------------------------------------------------------------------------- /components/Col/index.ts: -------------------------------------------------------------------------------- 1 | import Col from 'ant-design-vue/lib/col/index'; 2 | import { withInstall } from '../util/type'; 3 | 4 | export const JCol = withInstall(Col, 'JCol'); 5 | 6 | export type { ColProps } from 'ant-design-vue/lib/col/index'; 7 | 8 | export default JCol; 9 | -------------------------------------------------------------------------------- /components/Row/index.ts: -------------------------------------------------------------------------------- 1 | import Row from 'ant-design-vue/lib/row/index'; 2 | import { withInstall } from '../util/type'; 3 | 4 | export const JRow = withInstall(Row, 'JRow'); 5 | 6 | export type { RowProps } from 'ant-design-vue/lib/row/index'; 7 | 8 | export default JRow; 9 | -------------------------------------------------------------------------------- /components/Empty/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/empty/style/index.less'; 4 | 5 | .@{ant-prefix}-empty-description { 6 | color: #b3b3b3; 7 | font-size: 14px; 8 | } 9 | -------------------------------------------------------------------------------- /components/Rate/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Rate from 'ant-design-vue/lib/rate/index'; 3 | 4 | export type { RateProps } from 'ant-design-vue/lib/rate/index'; 5 | 6 | export const JRate = withInstall(Rate, 'JRate'); 7 | 8 | export default JRate; 9 | -------------------------------------------------------------------------------- /components/Spin/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Spin from 'ant-design-vue/lib/spin/Spin'; 3 | 4 | export type { SpinProps } from 'ant-design-vue/lib/spin/index'; 5 | 6 | export const JSpin = withInstall(Spin, 'JSpin'); 7 | 8 | export default JSpin; 9 | -------------------------------------------------------------------------------- /components/AIcon/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 线框风格 5 | --- 6 | 7 | ZoomOutOutlined 8 | 9 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /components/Alert/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from "../util/type"; 2 | import Alert from 'ant-design-vue/lib/alert/index'; 3 | 4 | export type { AlertProps } from 'ant-design-vue/lib/alert/index'; 5 | 6 | export const JAlert = withInstall(Alert, 'JAlert'); 7 | 8 | export default JAlert -------------------------------------------------------------------------------- /components/Affix/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Affix from 'ant-design-vue/lib/affix/index'; 3 | 4 | export const JAffix = withInstall(Affix, 'JAffix'); 5 | 6 | export type { AffixProps } from 'ant-design-vue/lib/affix/index'; 7 | 8 | export default JAffix; 9 | -------------------------------------------------------------------------------- /components/Space/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Space from 'ant-design-vue/lib/space/index'; 3 | 4 | export const JSpace = withInstall(Space, 'JSpace'); 5 | 6 | export type { SpaceProps } from 'ant-design-vue/lib/space/index'; 7 | 8 | export default JSpace; 9 | -------------------------------------------------------------------------------- /components/Tree/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Tree from 'ant-design-vue/lib/tree'; 3 | export { treeFilter } from '../util/filterNodeMethod'; 4 | 5 | Tree.name = 'JTree'; 6 | export const JLTree = withInstall(Tree, 'JTree'); 7 | 8 | export default JLTree; 9 | -------------------------------------------------------------------------------- /components/AIcon/demo/basic4.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 自定义图标 5 | --- 6 | 7 | 默认`scriptUrl`地址 `'//at.alicdn.com/t/font_8d5l8fzk5b87iudi.js'` 8 | 文件在 iconfont.cn 上生成,可用网络地址或者本地静态资源地址 9 | 10 | 11 | 14 | -------------------------------------------------------------------------------- /components/Slider/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Slider from 'ant-design-vue/lib/slider/index'; 3 | 4 | export type { SliderProps } from 'ant-design-vue/lib/slider/index'; 5 | export const JSlider = withInstall(Slider, 'JSlider'); 6 | 7 | export default JSlider; 8 | -------------------------------------------------------------------------------- /components/Drawer/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Drawer from 'ant-design-vue/lib/drawer/index'; 3 | 4 | export type { DrawerProps } from 'ant-design-vue/lib/drawer/index'; 5 | 6 | export const JDrawer = withInstall(Drawer, 'JDrawer'); 7 | 8 | export default JDrawer; 9 | -------------------------------------------------------------------------------- /components/Switch/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Switch from 'ant-design-vue/lib/switch/index'; 3 | 4 | export type { SwitchProps } from 'ant-design-vue/lib/switch/index'; 5 | 6 | export const JSwitch = withInstall(Switch, 'JSwitch'); 7 | 8 | export default JSwitch; 9 | -------------------------------------------------------------------------------- /components/Transfer/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Empty/style'; 4 | import '../../Checkbox/style'; 5 | import '../../Button/style'; 6 | import '../../Input/style'; 7 | import '../../Menu/style'; 8 | import '../../Dropdown/style'; 9 | import '../../Pagination/style'; 10 | -------------------------------------------------------------------------------- /components/BackTop/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import BackTop from 'ant-design-vue/lib/back-top/index'; 3 | 4 | export type { BackTopProps } from 'ant-design-vue/lib/back-top/index'; 5 | 6 | export const JBackTop = withInstall(BackTop, 'JBackTop'); 7 | 8 | export default JBackTop; 9 | -------------------------------------------------------------------------------- /components/Comment/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Comment from 'ant-design-vue/lib/comment/index'; 3 | 4 | export type { CommentProps } from 'ant-design-vue/lib/comment/index'; 5 | 6 | export const JComment = withInstall(Comment, 'JComment'); 7 | 8 | export default JComment; 9 | -------------------------------------------------------------------------------- /components/Descriptions/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/descriptions/style/index.less'; 4 | .@{ant-prefix}-descriptions-view { 5 | table { 6 | table-layout: fixed !important; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /components/Pagination/demo/index.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /components/Popover/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Popover from 'ant-design-vue/lib/popover/index'; 3 | 4 | export type { PopoverProps } from 'ant-design-vue/lib/popover/index'; 5 | 6 | export const JPopover = withInstall(Popover, 'JPopover'); 7 | 8 | export default JPopover; 9 | -------------------------------------------------------------------------------- /components/Tooltip/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Tooltip from 'ant-design-vue/lib/tooltip/Tooltip'; 3 | 4 | export type { TooltipProps } from 'ant-design-vue/lib/tooltip/index'; 5 | 6 | export const JTooltip = withInstall(Tooltip, 'JTooltip'); 7 | 8 | export default JTooltip; 9 | -------------------------------------------------------------------------------- /components/Badge/demo/title.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 6 4 | title: 自定义标题 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 设置鼠标放在状态点上时显示的文字 10 | 11 | 12 | 13 | 18 | -------------------------------------------------------------------------------- /site/src/theme/static/design-doc.less: -------------------------------------------------------------------------------- 1 | .design-inline-cards { 2 | display: flex; 3 | margin: 0 -20px; 4 | 5 | > * { 6 | flex: 10%; 7 | margin: 0 20px; 8 | } 9 | 10 | img { 11 | width: 100%; 12 | max-width: 100%; 13 | } 14 | 15 | h4 { 16 | margin-bottom: 0; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /site/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.vue' { 2 | import type { DefineComponent } from 'vue'; 3 | // eslint-disable-next-line @typescript-eslint/ban-types 4 | const component: DefineComponent & { readonly pageDate?: PageData }; 5 | export default component; 6 | } 7 | 8 | declare module '*.svg'; 9 | -------------------------------------------------------------------------------- /components/Badge/demo/link.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 8 4 | title: 可点击 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 用 a 标签进行包裹即可。 10 | 11 | 12 | 13 | 20 | -------------------------------------------------------------------------------- /components/Calendar/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Calendar from 'ant-design-vue/lib/calendar/index'; 3 | 4 | export type { CalendarProps } from 'ant-design-vue/lib/calendar/index'; 5 | 6 | export const JCalendar = withInstall(Calendar, 'JCalendar'); 7 | 8 | export default JCalendar; 9 | -------------------------------------------------------------------------------- /components/Carousel/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Carousel from 'ant-design-vue/lib/carousel/index'; 3 | 4 | export type { CarouselProps } from 'ant-design-vue/lib/carousel/index'; 5 | 6 | export const JCarousel = withInstall(Carousel, 'JCarousel'); 7 | 8 | export default JCarousel; 9 | -------------------------------------------------------------------------------- /components/Cascader/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Cascader from 'ant-design-vue/lib/cascader/index'; 3 | 4 | export const JCascader = withInstall(Cascader, 'JCascader'); 5 | 6 | export type { CascaderProps } from 'ant-design-vue/lib/cascader/index'; 7 | 8 | export default JCascader; 9 | -------------------------------------------------------------------------------- /components/Progress/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Progress from 'ant-design-vue/lib/progress/progress'; 3 | 4 | export type { ProgressProps } from 'ant-design-vue/lib/progress/index'; 5 | 6 | export const JProgress = withInstall(Progress, 'JProgress'); 7 | 8 | export default JProgress; 9 | -------------------------------------------------------------------------------- /components/ScrollTable/demo/index.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /components/Transfer/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import Transfer from 'ant-design-vue/lib/transfer/index'; 3 | 4 | export type { TransferProps } from 'ant-design-vue/lib/transfer/index'; 5 | 6 | export const JTransfer = withInstall(Transfer, 'JTransfer'); 7 | 8 | export default JTransfer; 9 | -------------------------------------------------------------------------------- /components/Card/demo/simple.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 8 4 | title: 简洁卡片 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 只包含内容区域。 10 | 11 | 12 | 13 | 20 | -------------------------------------------------------------------------------- /components/Scrollbar/scrollbarTypes.ts: -------------------------------------------------------------------------------- 1 | import { paginationProps } from 'ant-design-vue/lib/pagination'; 2 | 3 | export const PaginationProps = { 4 | ...paginationProps(), 5 | /** 6 | * 是否显示分页内容 7 | */ 8 | isShowContent: { 9 | type: Boolean, 10 | default: false, 11 | }, 12 | }; 13 | -------------------------------------------------------------------------------- /components/Tooltip/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本用法 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 最简单的用法。 10 | 11 | 12 | 13 | 19 | -------------------------------------------------------------------------------- /components/PageHeader/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import PageHeader from 'ant-design-vue/lib/page-header/index'; 3 | 4 | export const JPageHeader = withInstall(PageHeader, 'JPageHeader'); 5 | 6 | export type { PageHeaderProps } from 'ant-design-vue/lib/page-header/index'; 7 | export default JPageHeader; 8 | -------------------------------------------------------------------------------- /components/AutoComplete/demo/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 16 | -------------------------------------------------------------------------------- /components/Input/input.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 13 | -------------------------------------------------------------------------------- /site/src/theme/static/nprogress.less: -------------------------------------------------------------------------------- 1 | #nprogress { 2 | .bar { 3 | background: @primary-color; 4 | } 5 | 6 | .peg { 7 | box-shadow: 0 0 10px @primary-color, 0 0 5px @primary-color; 8 | } 9 | 10 | .spinner-icon { 11 | border-top-color: @primary-color; 12 | border-left-color: @primary-color; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /components/InputNumber/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import InputNumber from 'ant-design-vue/lib/input-number/index'; 3 | 4 | export type { InputNumberProps } from 'ant-design-vue/lib/input-number/index'; 5 | 6 | export const JInputNumber = withInstall(InputNumber, 'JInputNumber'); 7 | 8 | export default JInputNumber; 9 | -------------------------------------------------------------------------------- /components/Message/demo/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 16 | -------------------------------------------------------------------------------- /components/Rate/demo/disabled.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 3 4 | title: 只读 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 只读,无法进行鼠标交互。 10 | 11 | 12 | 15 | 19 | -------------------------------------------------------------------------------- /components/Spin/demo/size.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 各种大小 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 小的用于文本加载,默认用于卡片容器级加载,大的用于**页面级**加载。 10 | 11 | 12 | 13 | 20 | -------------------------------------------------------------------------------- /components/TimePicker/demo/bordered.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 14 4 | title: 无边框 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 无边框样式。 10 | 11 | 12 | 13 | 19 | -------------------------------------------------------------------------------- /components/Popconfirm/demo/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 16 | -------------------------------------------------------------------------------- /components/ProLayout/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import ProLayout from './Basic/BasicLayout'; 3 | import PageContainer from './PageContainer'; 4 | 5 | import './style'; 6 | 7 | export { PageContainer }; 8 | 9 | export const JProLayout = withInstall(ProLayout, 'JProLayout'); 10 | 11 | export default JProLayout; 12 | -------------------------------------------------------------------------------- /components/Progress/demo/dashboard.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 7 4 | title: 仪表盘 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 通过设置 `type=dashboard`,可以很方便地实现仪表盘样式的进度条。若想要修改缺口的角度,可以设置 `gapDegree` 为你想要的值。 10 | 11 | 12 | 13 | 18 | -------------------------------------------------------------------------------- /site/src/services/user.js: -------------------------------------------------------------------------------- 1 | import request from '../utils/request'; 2 | 3 | export async function query() { 4 | return request('/api/users'); 5 | } 6 | 7 | export async function queryCurrent() { 8 | return request('/api/currentUser'); 9 | } 10 | 11 | export async function queryNotices() { 12 | return request('/api/notices'); 13 | } 14 | -------------------------------------------------------------------------------- /tools/generator-types/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2017", 4 | "outDir": "./lib", 5 | "module": "commonjs", 6 | "strict": true, 7 | "declaration": true, 8 | "skipLibCheck": true, 9 | "esModuleInterop": true, 10 | "lib": ["esnext"] 11 | }, 12 | "include": ["src/**/*"] 13 | } 14 | -------------------------------------------------------------------------------- /tools/utils/styleUtil.js: -------------------------------------------------------------------------------- 1 | // We convert less import in es/lib to css file path 2 | function cssInjection(content) { 3 | return content 4 | .replace(/\/style\/?'/g, "/style/css'") 5 | .replace(/\/style\/?"/g, '/style/css"') 6 | .replace(/\.less/g, '.css'); 7 | } 8 | 9 | module.exports = { 10 | cssInjection, 11 | }; 12 | -------------------------------------------------------------------------------- /components/Divider/divider.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 14 | -------------------------------------------------------------------------------- /components/Progress/demo/circle.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 进度圈 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 圈形的进度。 10 | 11 | 12 | 13 | 18 | -------------------------------------------------------------------------------- /components/util/type.ts: -------------------------------------------------------------------------------- 1 | import type { App, Plugin } from 'vue'; 2 | 3 | export const withInstall = (comp: T, name: string) => { 4 | const c = comp as any; 5 | c.install = function (app: App) { 6 | // @ts-ignore 7 | app.component(name, comp); 8 | return app; 9 | }; 10 | 11 | return comp as T & Plugin; 12 | }; 13 | -------------------------------------------------------------------------------- /components/Divider/demo/vertical.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 垂直分割线 5 | --- 6 | 7 | 使用 type="vertical" 设置为行内的垂直分割线。 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /site/src/services/login.js: -------------------------------------------------------------------------------- 1 | import request from '../utils/request'; 2 | 3 | export async function fakeAccountLogin(params) { 4 | return request('/api/login/account', { 5 | method: 'POST', 6 | data: params, 7 | }); 8 | } 9 | 10 | export async function getFakeCaptcha(mobile) { 11 | return request(`/api/login/captcha?mobile=${mobile}`); 12 | } 13 | -------------------------------------------------------------------------------- /components/Search/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import JAdvancedSearch from './Advanced/index.vue'; 3 | import JSearch from './Search.vue'; 4 | 5 | const AdvancedSearch = withInstall(JAdvancedSearch, 'JAdvancedSearch'); 6 | const Search = withInstall(JSearch, 'JSearch'); 7 | 8 | export { AdvancedSearch }; 9 | export default Search; 10 | -------------------------------------------------------------------------------- /index-with-locales.js: -------------------------------------------------------------------------------- 1 | const antd = require('./components'); 2 | 3 | const req = require.context('./components', true, /^\.\/locale\/.+_.+\.tsx$/); 4 | 5 | antd.locales = {}; 6 | 7 | req.keys().forEach((mod) => { 8 | const matches = mod.match(/\/([^/]+).tsx$/); 9 | antd.locales[matches[1]] = req(mod).default; 10 | }); 11 | 12 | module.exports = antd; 13 | -------------------------------------------------------------------------------- /components/Upload/asset/uploadRemoveIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /site/src/layouts/Iframe.vue: -------------------------------------------------------------------------------- 1 | 4 | 14 | 15 | -------------------------------------------------------------------------------- /site/src/views/user/login/service.js: -------------------------------------------------------------------------------- 1 | import request from '../../../utils/request'; 2 | 3 | export async function fakeAccountLogin(params) { 4 | return request('/api/login/account', { 5 | method: 'POST', 6 | data: params, 7 | }); 8 | } 9 | 10 | export async function getFakeCaptcha(mobile) { 11 | return request(`/api/login/captcha?mobile=${mobile}`); 12 | } 13 | -------------------------------------------------------------------------------- /components/BackTop/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本使用 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 最简单的用法。 10 | 11 | ## en-US 12 | 13 | The simplest usage. 14 | 15 | 16 | 22 | -------------------------------------------------------------------------------- /components/Result/demo/basic2.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: info 5 | --- 6 | 7 | 展示处理结果。 8 | 9 | 10 | 17 | -------------------------------------------------------------------------------- /components/Grid/demo/sort.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 3 4 | title: 栅格排序 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 列排序。 10 | 11 | 通过使用 `push` 和 `pull` 类就可以很容易的改变列(column)的顺序。 12 | 13 | 14 | 15 | 21 | -------------------------------------------------------------------------------- /components/Steps/demo/small-size.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 迷你版 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 迷你版的步骤条,通过设置 `` 启用. 10 | 11 | 12 | 19 | -------------------------------------------------------------------------------- /components/hooks/context.ts: -------------------------------------------------------------------------------- 1 | import { inject } from 'vue' 2 | import type { InjectionKey } from 'vue' 3 | 4 | export type ContextType = any; 5 | 6 | export const useContext = ( 7 | contextInjectKey: string | InjectionKey> = Symbol(), 8 | defaultValue?: ContextType 9 | ): T => { 10 | return inject(contextInjectKey, defaultValue || ({} as T)); 11 | }; -------------------------------------------------------------------------------- /components/Empty/demo/index.vue: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /components/Ellipsis/demo/max-rows.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 最大行数 5 | --- 6 | 7 | 提供基于 -webkit-line-clamp 的多行省略。兼容性参见caniuse。 8 | 9 | 10 | 11 | 16 | -------------------------------------------------------------------------------- /components/Popover/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本用法 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 最简单的用法,浮层的大小由内容区域决定。 10 | 11 | 12 | 21 | -------------------------------------------------------------------------------- /components/Result/demo/basic3.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: warning 5 | --- 6 | 7 | 警告类型的结果。 8 | 9 | 10 | 17 | -------------------------------------------------------------------------------- /components/Table/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Button/style'; 4 | import '../../Empty/style'; 5 | import '../../Radio/style'; 6 | import '../../Checkbox/style'; 7 | import '../../Dropdown/style'; 8 | import '../../Spin/style'; 9 | import '../../Pagination/style'; 10 | import '../../Tooltip/style'; 11 | import '../../Input/style'; 12 | import '../../Tree/style'; 13 | -------------------------------------------------------------------------------- /components/Pagination/style/index.less: -------------------------------------------------------------------------------- 1 | @import '../../style/variable.less'; 2 | // @import 'ant-design-vue/lib/style/index.less'; 3 | @import 'ant-design-vue/lib/pagination/style/index.less'; 4 | 5 | .show-content { 6 | .@{ant-prefix}-pagination-item, 7 | & .@{ant-prefix}-pagination-jump-prev, 8 | & .@{ant-prefix}-pagination-jump-next { 9 | display: none; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /components/Progress/demo/steps.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 12 4 | title: 步骤进度条 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 带步骤的进度条。 10 | 11 | 12 | 13 | 20 | -------------------------------------------------------------------------------- /components/TableCard/tablecardType.ts: -------------------------------------------------------------------------------- 1 | export interface ActionType { 2 | name?: string; 3 | icon?: string; 4 | key?: string; 5 | disabled?: boolean; 6 | onClick?: Function; 7 | } 8 | 9 | export enum StatusType { 10 | 'error' = '#F76F5D', 11 | 'success' = '#24B276', 12 | 'warn' = '#E7AD56', 13 | 'default' = '#E0E0E0', 14 | 'processing' = '#4293FF', 15 | } 16 | -------------------------------------------------------------------------------- /components/Progress/demo/circle-mini.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 3 4 | title: 小型进度圈 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 小一号的圈形进度。 10 | 11 | 12 | 13 | 18 | -------------------------------------------------------------------------------- /components/Select/selectTypes.ts: -------------------------------------------------------------------------------- 1 | import { selectProps } from 'ant-design-vue/lib/select' 2 | 3 | export const SelectProps = { 4 | ...selectProps(), 5 | /** 6 | * 宽度 7 | */ 8 | width: { 9 | type: String, 10 | default: '200px' 11 | }, 12 | /** 13 | * 是否支持搜索 14 | */ 15 | filterable: { 16 | type: Boolean, 17 | default: false 18 | } 19 | } -------------------------------------------------------------------------------- /site/src/i18n.js: -------------------------------------------------------------------------------- 1 | import { createI18n } from 'vue-i18n'; 2 | import enUS from './locale/en-US'; 3 | import zhCN from './locale/zh-CN'; 4 | import { isZhCN } from './utils/util'; 5 | 6 | const i18n = createI18n({ 7 | legacy: false, 8 | locale: 'zh-CN', 9 | fallbackLocale: 'en-US', 10 | messages: { 11 | 'zh-CN': zhCN, 12 | 'en-US': enUS, 13 | }, 14 | }); 15 | 16 | export default i18n; 17 | -------------------------------------------------------------------------------- /site/src/views/user/login/utils/utils.js: -------------------------------------------------------------------------------- 1 | import { parse } from 'qs'; 2 | 3 | export function getPageQuery() { 4 | return parse(window.location.href.split('?')[1]); 5 | } 6 | 7 | export function setAuthority(authority) { 8 | const proAuthority = typeof authority === 'string' ? [authority] : authority; 9 | return localStorage.setItem('antd-pro-authority', JSON.stringify(proAuthority)); 10 | } 11 | -------------------------------------------------------------------------------- /components/Spin/demo/tip.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 4 4 | title: 自定义描述文案 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 自定义描述文案。 10 | 11 | 12 | 13 | 21 | -------------------------------------------------------------------------------- /components/Button/demo/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 19 | -------------------------------------------------------------------------------- /tools/getNpm.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const runCmd = require('./runCmd'); 4 | 5 | module.exports = function (done) { 6 | if (process.env.NPM_CLI) { 7 | done(process.env.NPM_CLI); 8 | return; 9 | } 10 | runCmd('which', ['tnpm'], (code) => { 11 | let npm = 'npm'; 12 | if (!code) { 13 | npm = 'tnpm'; 14 | } 15 | done(npm); 16 | }); 17 | }; 18 | -------------------------------------------------------------------------------- /components/Ellipsis/demo/expand-method.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 2 4 | title: 展开方式 5 | --- 6 | 7 | 使用 expand-trigger="click" 搭配 line-clamp 参数可以实现点击缩略文本展开完整文本的功能。 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /components/Progress/demo/line.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 进度条 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 标准的进度条。 10 | 11 | 12 | 13 | 20 | -------------------------------------------------------------------------------- /components/Select/demo/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 19 | -------------------------------------------------------------------------------- /components/Tree/demo/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 19 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite + Vue + TS 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /components/Alert/demo/style.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 四种样式 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 共有四种样式 `success`、`info`、`warning`、`error`。 10 | 11 | 12 | 13 | 19 | -------------------------------------------------------------------------------- /components/MonacoEditor/demo/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 19 | -------------------------------------------------------------------------------- /site/src/views/user/login/components/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-unresolved */ 2 | import Login from './Login'; 3 | import LoginSubmit from './LoginSubmit'; 4 | import LoginTab from './LoginTab'; 5 | import LoginItem from './LoginItem'; 6 | 7 | Login.Tab = LoginTab; 8 | Login.Submit = LoginSubmit; 9 | Object.keys(LoginItem).forEach(item => { 10 | Login[item] = LoginItem[item]; 11 | }); 12 | 13 | export default Login; 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | lib 15 | es 16 | 17 | .history 18 | site/src/router/demoRoutes.js 19 | 20 | # Editor directories and files 21 | .vscode/* 22 | !.vscode/extensions.json 23 | .idea 24 | .DS_Store 25 | *.suo 26 | *.ntvs* 27 | *.njsproj 28 | *.sln 29 | *.sw? 30 | -------------------------------------------------------------------------------- /components/Grid/Col.tsx: -------------------------------------------------------------------------------- 1 | import { Col } from 'ant-design-vue'; 2 | import { defineComponent } from 'vue'; 3 | import { colProps } from 'ant-design-vue/lib/grid/Col'; 4 | export const baseProps = { 5 | ...colProps(), 6 | }; 7 | 8 | export default defineComponent({ 9 | name: 'JSpace', 10 | props: baseProps, 11 | setup(props, { slots }) { 12 | return () => {slots.default?.()}; 13 | }, 14 | }); 15 | -------------------------------------------------------------------------------- /components/Image/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本用法 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 单击图像可以放大显示。 10 | 11 | 12 | 13 | 19 | 23 | -------------------------------------------------------------------------------- /components/AIcon/aIcon.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 19 | -------------------------------------------------------------------------------- /components/Card/demo/border-less.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 无边框 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 在灰色背景上使用无边框的卡片 10 | 11 | 12 | 13 | 22 | -------------------------------------------------------------------------------- /components/Grid/Row.tsx: -------------------------------------------------------------------------------- 1 | import { Row } from 'ant-design-vue'; 2 | import { defineComponent } from 'vue'; 3 | import { rowProps } from 'ant-design-vue/lib/grid/Row'; 4 | 5 | export const baseProps = { 6 | ...rowProps(), 7 | }; 8 | 9 | export default defineComponent({ 10 | name: 'JSpace', 11 | props: baseProps, 12 | setup(props, { slots }) { 13 | return () => {slots.default?.()}; 14 | }, 15 | }); 16 | -------------------------------------------------------------------------------- /components/Pagination/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本 5 | --- 6 | 7 | 采用分页的形式分隔长列表,每次只加载一个页面。 8 | 9 | 10 | 13 | -------------------------------------------------------------------------------- /components/Tabs/demo/index.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /components/ConfigProvider/index.ts: -------------------------------------------------------------------------------- 1 | import { App } from 'vue'; 2 | import ConfigProvider from './ConfigProvider'; 3 | import { defaultConfigProvider } from 'ant-design-vue/lib/config-provider'; 4 | 5 | ConfigProvider.name = 'JConfigProvider'; 6 | 7 | ConfigProvider.install = function (app: App) { 8 | app.component('JConfigProvider', ConfigProvider); 9 | }; 10 | 11 | export { defaultConfigProvider }; 12 | 13 | export default ConfigProvider; 14 | -------------------------------------------------------------------------------- /components/Ellipsis/style/index.less: -------------------------------------------------------------------------------- 1 | .j-ellipsis { 2 | overflow: hidden; 3 | vertical-align: bottom; 4 | } 5 | 6 | .j-ellipsis-cursor { 7 | cursor: pointer; 8 | } 9 | 10 | .j-ellipsis-line-clamp { 11 | display: -webkit-box; 12 | -webkit-box-orient: vertical; 13 | word-break: break-all; 14 | } 15 | 16 | .j-ellipsis-deep { 17 | max-height: 380px; 18 | -webkit-line-clamp: 17; 19 | text-overflow: ellipsis; 20 | } 21 | -------------------------------------------------------------------------------- /components/Rate/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本用法 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 最简单的用法。 10 | 11 | 12 | 15 | 26 | -------------------------------------------------------------------------------- /components/Result/demo/Basic404.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 404 5 | --- 6 | 7 | 此页面未找到。 8 | 9 | 10 | 20 | 21 | -------------------------------------------------------------------------------- /site/src/views/user/register-result/style.less: -------------------------------------------------------------------------------- 1 | .registerResult { 2 | width: 800px; 3 | min-height: 400px; 4 | margin: auto; 5 | padding: 80px; 6 | background: none; 7 | /deep/ .anticon { 8 | font-size: 64px; 9 | } 10 | .title { 11 | margin-top: 32px; 12 | font-size: 20px; 13 | line-height: 28px; 14 | } 15 | .actions { 16 | margin-top: 40px; 17 | a + a { 18 | margin-left: 8px; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /components/Modal/index.ts: -------------------------------------------------------------------------------- 1 | import { withInstall } from '../util/type'; 2 | import JModal from './modal.vue'; 3 | import { Modal } from 'ant-design-vue'; 4 | 5 | JModal.info = Modal.info; 6 | JModal.success = Modal.success; 7 | JModal.error = Modal.error; 8 | JModal.warning = Modal.warning; 9 | JModal.confirm = Modal.confirm; 10 | JModal.destroyAll = Modal.destroyAll; 11 | export const JLModal = withInstall(JModal, 'JModal'); 12 | 13 | export default JLModal; 14 | -------------------------------------------------------------------------------- /components/ProTable/style/index.ts: -------------------------------------------------------------------------------- 1 | import './index.less'; 2 | 3 | import '../../Button/style'; 4 | import '../../Empty/style'; 5 | import '../../Radio/style'; 6 | import '../../Checkbox/style'; 7 | import '../../Dropdown/style'; 8 | import '../../Spin/style'; 9 | import '../../Pagination/style'; 10 | import '../../Tooltip/style'; 11 | import '../../Input/style'; 12 | import '../../Tree/style'; 13 | import '../../Table/style'; 14 | import '../../Alert/style'; 15 | -------------------------------------------------------------------------------- /components/util/regular.ts: -------------------------------------------------------------------------------- 1 | // 用于校验 url 2 | export const urlReg = /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/; 3 | 4 | export const isUrl = (path: string): boolean => urlReg.test(path) 5 | 6 | /** 判断是否是图片链接 */ 7 | export const imgReg = /\w.(png|jpg|jpeg|svg|webp|gif|bmp)$/i 8 | 9 | export const isImg = (path: string): boolean => imgReg.test(path); -------------------------------------------------------------------------------- /components/Rate/demo/half.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 1 4 | title: 半星 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 支持选中半星。 10 | 11 | 12 | 15 | 26 | -------------------------------------------------------------------------------- /components/Divider/demo/customize-style.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 3 4 | title: 样式自定义 5 | --- 6 | 7 | 测试一些 style 修改样式的行为。 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /components/Statistic/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本用法 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 简单展示 10 | 11 | 12 | 13 | 23 | -------------------------------------------------------------------------------- /components/Ellipsis/demo/customize-style.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 3 4 | title: 自定义 Tooltip 内容 5 | --- 6 | 7 | 使用 tooltip slot 自定义 tooltip 内容。 8 | 9 | 10 | 11 | 22 | -------------------------------------------------------------------------------- /components/Progress/demo/linecap.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 9 4 | title: 圆角/方角边缘 5 | --- 6 | 7 | ## zh-CN 8 | 9 | `strokeLinecap="square|round"` 可以调整进度条边缘的形状。 10 | 11 | 12 | 13 | 20 | -------------------------------------------------------------------------------- /components/Steps/demo/vertical.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 4 4 | title: 竖直方向的步骤条 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 简单的竖直方向的步骤条。 10 | 11 | 12 | 13 | 20 | -------------------------------------------------------------------------------- /components/Switch/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本用法 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 最简单的用法。 10 | 11 | 12 | 13 | 16 | 27 | -------------------------------------------------------------------------------- /components/Checkbox/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本用法 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 简单的 checkbox 10 | 11 | 12 | 13 | 16 | 26 | -------------------------------------------------------------------------------- /components/Radio/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本用法 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 最简单的用法。 10 | 11 | 12 | 15 | 26 | -------------------------------------------------------------------------------- /components/Spin/demo/inside.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 2 4 | title: 容器 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 放入一个容器中。 10 | 11 | 12 | 13 | 18 | 28 | -------------------------------------------------------------------------------- /components/Steps/demo/error.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 6 4 | title: 步骤运行错误 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 使用 Steps 的 `status` 属性来指定当前步骤的状态。 10 | 11 | 12 | 19 | -------------------------------------------------------------------------------- /components/Steps/index.ts: -------------------------------------------------------------------------------- 1 | import type { App } from 'vue'; 2 | import Steps, { Step } from 'ant-design-vue/lib/steps/index'; 3 | 4 | export type { StepProps, StepsProps } from 'ant-design-vue/lib/steps/index'; 5 | 6 | Steps.name = 'JSteps'; 7 | Step.name = 'JStep'; 8 | 9 | Steps.install = function (app: App) { 10 | app.component(Steps.name, Steps); 11 | app.component(Step.name, Step); 12 | return app; 13 | }; 14 | 15 | export default Steps; 16 | 17 | export { Step }; 18 | -------------------------------------------------------------------------------- /site/src/views/user/login/components/LoginSubmit.vue: -------------------------------------------------------------------------------- 1 | 8 | 15 | 16 | 22 | -------------------------------------------------------------------------------- /components/TimePicker/demo/disabled.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 3 4 | title: 禁用 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 禁用时间选择。 10 | 11 | 12 | 13 | 16 | 27 | -------------------------------------------------------------------------------- /site/src/theme/static/theme.less: -------------------------------------------------------------------------------- 1 | @import 'ant-design-vue/es/style/themes/default.less'; 2 | @import './colors.less'; 3 | @import './home.less'; 4 | 5 | @input-icon-hover-color: rgba(0, 0, 0, 0.85); 6 | 7 | @site-heading-color: @heading-color; 8 | @site-text-color: @heading-color; 9 | @site-text-color-secondary: @text-color-secondary; 10 | @site-border-color-split: @border-color-split; 11 | @site-header-box-shadow: 0 2px 8px rgba(240, 241, 242, 65); 12 | @site-markdown-code-bg: #f2f4f5; 13 | -------------------------------------------------------------------------------- /components/MonacoEditor/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本用法 5 | --- 6 | 7 | 基本用法, 简单的json输入 8 | 9 | 10 | 13 | 25 | -------------------------------------------------------------------------------- /components/Progress/demo/line-mini.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 2 4 | title: 小型进度条 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 适合放在较狭窄的区域内。 10 | 11 | 12 | 13 | 21 | -------------------------------------------------------------------------------- /components/Steps/demo/progress.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 13 4 | title: 带有进度的步骤 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 带有进度的步骤。 10 | 11 | 12 | 13 | 20 | -------------------------------------------------------------------------------- /components/Steps/demo/vertical-small.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 5 4 | title: 竖直方向的小型步骤条 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 简单的竖直方向的小型步骤条。 10 | 11 | 12 | 19 | -------------------------------------------------------------------------------- /site/src/theme/static/new-version-info-modal.less: -------------------------------------------------------------------------------- 1 | .new-version-info-modal { 2 | img { 3 | position: absolute; 4 | top: 36px; 5 | left: 34px; 6 | width: 100px; 7 | } 8 | p { 9 | margin-top: 1em; 10 | } 11 | .anticon { 12 | display: none; 13 | } 14 | .ant-confirm-body { 15 | .ant-confirm-title { 16 | font-size: 18px; 17 | } 18 | 19 | margin-left: 120px; 20 | .ant-confirm-content { 21 | margin-left: 0; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /components/Breadcrumb/demo/basic.vue: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | order: 0 4 | title: 基本 5 | --- 6 | 7 | ## zh-CN 8 | 9 | 最简单的用法。 10 | 11 | 12 | 13 | 21 | -------------------------------------------------------------------------------- /scripts/compact-vars.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const path = require('path'); 3 | const lessToJs = require('less-vars-to-js'); 4 | 5 | const stylePath = path.join(__dirname, '..', 'components', 'style'); 6 | const compactLess = fs.readFileSync( 7 | path.join(stylePath, 'variable.less'), 8 | 'utf8', 9 | ); 10 | 11 | const compactPaletteLess = lessToJs(compactLess, { 12 | stripPrefix: true, 13 | resolveVariables: false, 14 | }); 15 | 16 | module.exports = compactPaletteLess; 17 | -------------------------------------------------------------------------------- /components/CardSelect/index.ts: -------------------------------------------------------------------------------- 1 | import CardSelect from './CardSelect.vue'; 2 | import CardSelectOption from './Option.vue'; 3 | import type { App } from 'vue'; 4 | 5 | CardSelect.name = 'JCardSelect'; 6 | CardSelect.Option = CardSelectOption; 7 | 8 | CardSelect.install = function (app: App) { 9 | app.component('JCardSelect', CardSelect); 10 | app.component('JCardSelectOption', CardSelectOption); 11 | return app; 12 | }; 13 | 14 | export { CardSelectOption }; 15 | export default CardSelect; 16 | -------------------------------------------------------------------------------- /site/nginx.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | listen [::]:80; 4 | # gzip config 5 | gzip on; 6 | gzip_min_length 1k; 7 | gzip_comp_level 9; 8 | gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml; 9 | gzip_vary on; 10 | gzip_disable "MSIE [1-6]\."; 11 | root /usr/share/nginx/html; 12 | include /etc/nginx/mime.types; 13 | location / { 14 | index index.html; 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /components/Input/demo/index.vue: -------------------------------------------------------------------------------- 1 |