| | |
| | | import { configThemePlugin } from './theme'; |
| | | import { configImageminPlugin } from './imagemin'; |
| | | import { configSvgIconsPlugin } from './svgSprite'; |
| | | import { configHmrPlugin } from './hmr'; |
| | | |
| | | export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { |
| | | const { |
| | |
| | | |
| | | // vite-plugin-windicss |
| | | vitePlugins.push(windiCSS()); |
| | | |
| | | // TODO |
| | | !isBuild && vitePlugins.push(configHmrPlugin()); |
| | | |
| | | // @vitejs/plugin-legacy |
| | | VITE_LEGACY && isBuild && vitePlugins.push(legacy()); |
| | |
| | | "@iconify/iconify": "^2.1.0", |
| | | "@logicflow/core": "^0.7.11", |
| | | "@logicflow/extension": "^0.7.11", |
| | | "@vue/runtime-core": "^3.2.23", |
| | | "@vue/shared": "^3.2.23", |
| | | "@vueuse/core": "^7.1.2", |
| | | "@vueuse/shared": "^7.1.2", |
| | | "@zxcvbn-ts/core": "^1.0.0", |
| | |
| | | '@vitejs/plugin-vue': ^1.10.1 |
| | | '@vitejs/plugin-vue-jsx': ^1.3.0 |
| | | '@vue/compiler-sfc': 3.2.23 |
| | | '@vue/runtime-core': ^3.2.23 |
| | | '@vue/shared': ^3.2.23 |
| | | '@vue/test-utils': ^2.0.0-rc.17 |
| | | '@vueuse/core': ^7.1.2 |
| | | '@vueuse/shared': ^7.1.2 |
| | |
| | | '@iconify/iconify': 2.1.0 |
| | | '@logicflow/core': 0.7.11 |
| | | '@logicflow/extension': 0.7.11 |
| | | '@vue/runtime-core': 3.2.23 |
| | | '@vue/shared': 3.2.23 |
| | | '@vueuse/core': 7.1.2_vue@3.2.23 |
| | | '@vueuse/shared': 7.1.2_vue@3.2.23 |
| | | '@zxcvbn-ts/core': 1.0.0 |
| | |
| | | export { default as TableAction } from './src/components/TableAction.vue'; |
| | | export { default as EditTableHeaderIcon } from './src/components/EditTableHeaderIcon.vue'; |
| | | export { default as TableImg } from './src/components/TableImg.vue'; |
| | | |
| | | export * from './src/types/table'; |
| | | export * from './src/types/pagination'; |
| | | export * from './src/types/tableAction'; |
| | |
| | | import { propTypes } from '/@/utils/propTypes'; |
| | | |
| | | export const basicProps = { |
| | | clickToRowSelect: propTypes.bool.def(true), |
| | | isTreeTable: propTypes.bool.def(false), |
| | | clickToRowSelect: { type: Boolean, default: true }, |
| | | isTreeTable: Boolean, |
| | | tableSetting: propTypes.shape<TableSetting>({}), |
| | | inset: propTypes.bool, |
| | | inset: Boolean, |
| | | sortFn: { |
| | | type: Function as PropType<(sortInfo: SorterResult) => any>, |
| | | default: DEFAULT_SORT_FN, |
| | |
| | | type: Function as PropType<(data: Partial<Recordable<string[]>>) => any>, |
| | | default: DEFAULT_FILTER_FN, |
| | | }, |
| | | showTableSetting: propTypes.bool, |
| | | autoCreateKey: propTypes.bool.def(true), |
| | | striped: propTypes.bool.def(true), |
| | | showSummary: propTypes.bool, |
| | | showTableSetting: Boolean, |
| | | autoCreateKey: { type: Boolean, default: true }, |
| | | striped: { type: Boolean, default: true }, |
| | | showSummary: Boolean, |
| | | summaryFunc: { |
| | | type: [Function, Array] as PropType<(...arg: any[]) => any[]>, |
| | | default: null, |
| | |
| | | default: null, |
| | | }, |
| | | indentSize: propTypes.number.def(24), |
| | | canColDrag: propTypes.bool.def(true), |
| | | canColDrag: { type: Boolean, default: true }, |
| | | api: { |
| | | type: Function as PropType<(...arg: any[]) => Promise<any>>, |
| | | default: null, |
| | |
| | | }, |
| | | }, |
| | | // 立即请求接口 |
| | | immediate: propTypes.bool.def(true), |
| | | emptyDataIsShowTable: propTypes.bool.def(true), |
| | | immediate: { type: Boolean, default: true }, |
| | | emptyDataIsShowTable: { type: Boolean, default: true }, |
| | | // 额外的请求参数 |
| | | searchInfo: { |
| | | type: Object as PropType<Recordable>, |
| | |
| | | type: [Array] as PropType<BasicColumn[]>, |
| | | default: () => [], |
| | | }, |
| | | showIndexColumn: propTypes.bool.def(true), |
| | | showIndexColumn: { type: Boolean, default: true }, |
| | | indexColumnProps: { |
| | | type: Object as PropType<BasicColumn>, |
| | | default: null, |
| | |
| | | type: Object as PropType<BasicColumn>, |
| | | default: null, |
| | | }, |
| | | ellipsis: propTypes.bool.def(true), |
| | | canResize: propTypes.bool.def(true), |
| | | ellipsis: { type: Boolean, default: true }, |
| | | canResize: { type: Boolean, default: true }, |
| | | clearSelectOnPageChange: propTypes.bool, |
| | | resizeHeightOffset: propTypes.number.def(0), |
| | | rowSelection: { |
| | |
| | | // button reset |
| | | .ant-btn { |
| | | // display: inline-flex; |
| | | // justify-content: center; |
| | | // align-items: center; |
| | | // &.ant-btn-success:not(.ant-btn-link), |
| | | // &.ant-btn-error:not(.ant-btn-link), |
| | | // &.ant-btn-warning:not(.ant-btn-link), |
| | | // &.ant-btn-primary:not(.ant-btn-link) { |
| | | // box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08) !important; |
| | | // } |
| | | // &-group { |
| | | // .ant-btn:not(:first-child) { |
| | | // bottom: 1px; |
| | | // } |
| | | // } |
| | | &-link:hover, |
| | | &-link:focus, |
| | | &-link:active { |
| | |
| | | color: @white; |
| | | background-color: @button-primary-hover-color; |
| | | } |
| | | // |
| | | //&[disabled], |
| | | //&[disabled]:hover { |
| | | // color: fade(@button-cancel-color, 40%) !important; |
| | | // background-color: fade(@button-cancel-bg-color, 40%) !important; |
| | | // border-color: fade(@button-cancel-border-color, 40%) !important; |
| | | //} |
| | | } |
| | | |
| | | &-primary:not(&-background-ghost):not([disabled]) { |
| | | color: @white; |
| | | } |
| | | |
| | | //&-primary:not(&-background-ghost) { |
| | | // border-width: 0; |
| | | //} |
| | | |
| | | &-default { |
| | | color: @button-cancel-color; |
| | |
| | | background-color: @button-success-active-color; |
| | | border-color: @button-success-active-color; |
| | | } |
| | | |
| | | //&[disabled], |
| | | //&[disabled]:hover { |
| | | // color: @white; |
| | | // background-color: fade(@button-success-color, 40%); |
| | | // border-color: fade(@button-success-color, 40%); |
| | | //} |
| | | } |
| | | |
| | | &-warning.ant-btn-link:not([disabled='disabled']) { |
| | |
| | | @import './pagination.less'; |
| | | @import './input.less'; |
| | | @import './btn.less'; |
| | | // @import './table.less'; |
| | | |
| | | // TODO beta.11 fix |
| | | .ant-col { |
| | | width: 100%; |
| | | } |
| | | |
| | | .ant-image-preview-root { |
| | | img { |
| | |
| | | optimizeDeps: { |
| | | // @iconify/iconify: The dependency is dynamically and virtually loaded by @purge-icons/generated, so it needs to be specified explicitly |
| | | include: [ |
| | | '@vue/runtime-core', |
| | | '@vue/shared', |
| | | '@iconify/iconify', |
| | | 'ant-design-vue/es/locale/zh_CN', |
| | | 'ant-design-vue/es/locale/en_US', |