Browse Source

chore: update eslint deps

main
K 7 months ago
parent
commit
86827f6a92
  1. 6
      build/script/buildConf.ts
  2. 8
      build/script/verify-commit.js
  3. 2
      build/vite/optimize.ts
  4. 4
      build/vite/plugin/index.ts
  5. 2
      build/vite/plugin/svgSprite.ts
  6. 2
      build/vite/plugin/visualizer.ts
  7. 6
      package.json
  8. 12785
      pnpm-lock.yaml
  9. 8
      src/App.vue
  10. 4
      src/api/base/upload.ts
  11. 2
      src/api/base/user/index.ts
  12. 6
      src/components/Application/index.ts
  13. 6
      src/components/Application/src/AppDarkModeToggle.vue
  14. 4
      src/components/Application/src/AppLocalePicker.vue
  15. 6
      src/components/Application/src/AppLogo.vue
  16. 6
      src/components/Application/src/AppProvider.vue
  17. 6
      src/components/Application/src/search/AppSearch.vue
  18. 12
      src/components/Application/src/search/AppSearchModal.vue
  19. 14
      src/components/Application/src/search/useMenuSearch.ts
  20. 2
      src/components/Authority/index.ts
  21. 2
      src/components/Authority/src/Authority.vue
  22. 4
      src/components/Basic/index.ts
  23. 2
      src/components/Basic/src/BasicArrow.vue
  24. 8
      src/components/Basic/src/BasicHelp.vue
  25. 2
      src/components/Basic/src/BasicTitle.vue
  26. 4
      src/components/Button/index.ts
  27. 4
      src/components/Button/src/BasicButton.vue
  28. 8
      src/components/Button/src/PopConfirmButton.vue
  29. 2
      src/components/CardList/index.ts
  30. 14
      src/components/CardList/src/CardList.vue
  31. 2
      src/components/CodeEditor/index.ts
  32. 2
      src/components/CodeEditor/src/CodeEditor.vue
  33. 12
      src/components/CodeEditor/src/codemirror/CodeMirror.vue
  34. 4
      src/components/Container/index.ts
  35. 6
      src/components/Container/src/LazyContainer.vue
  36. 2
      src/components/Container/src/ScrollContainer.vue
  37. 12
      src/components/Container/src/collapse/CollapseContainer.vue
  38. 4
      src/components/Container/src/collapse/CollapseHeader.vue
  39. 4
      src/components/ContextMenu/src/ContextMenu.vue
  40. 4
      src/components/ContextMenu/src/createContextMenu.ts
  41. 2
      src/components/CountDown/index.ts
  42. 6
      src/components/CountDown/src/CountButton.vue
  43. 4
      src/components/CountDown/src/CountdownInput.vue
  44. 2
      src/components/CountDown/src/useCountdown.ts
  45. 2
      src/components/CountTo/index.ts
  46. 4
      src/components/CountTo/src/CountTo.vue
  47. 2
      src/components/Cropper/index.ts
  48. 10
      src/components/Cropper/src/CopperModal.vue
  49. 6
      src/components/Cropper/src/Cropper.vue
  50. 12
      src/components/Cropper/src/CropperAvatar.vue
  51. 2
      src/components/Description/index.ts
  52. 12
      src/components/Description/src/Description.vue
  53. 4
      src/components/Description/src/typing.ts
  54. 2
      src/components/Description/src/useDescription.ts
  55. 2
      src/components/Drawer/index.ts
  56. 16
      src/components/Drawer/src/BasicDrawer.vue
  57. 2
      src/components/Drawer/src/components/DrawerHeader.vue
  58. 4
      src/components/Drawer/src/typing.ts
  59. 6
      src/components/Drawer/src/useDrawer.ts
  60. 2
      src/components/Dropdown/index.ts
  61. 6
      src/components/Dropdown/src/Dropdown.vue
  62. 2
      src/components/EllipsisText/index.ts
  63. 2
      src/components/EllipsisText/src/EllipsisText.vue
  64. 2
      src/components/EllipsisText/src/Tooltip.vue
  65. 6
      src/components/Excel/index.ts
  66. 2
      src/components/Excel/src/Export2Excel.ts
  67. 4
      src/components/Excel/src/ExportExcelModal.vue
  68. 4
      src/components/Excel/src/ImportExcel.vue
  69. 20
      src/components/Form/index.ts
  70. 30
      src/components/Form/src/BasicForm.vue
  71. 18
      src/components/Form/src/componentMap.ts
  72. 12
      src/components/Form/src/components/ApiCascader.vue
  73. 10
      src/components/Form/src/components/ApiCheckboxGroup.vue
  74. 8
      src/components/Form/src/components/ApiRadioGroup.vue
  75. 12
      src/components/Form/src/components/ApiSelect.vue
  76. 8
      src/components/Form/src/components/ApiTransfer.vue
  77. 14
      src/components/Form/src/components/ApiTree.vue
  78. 8
      src/components/Form/src/components/ApiTreeSelect.vue
  79. 14
      src/components/Form/src/components/FileUpload.vue
  80. 10
      src/components/Form/src/components/FormAction.vue
  81. 20
      src/components/Form/src/components/FormItem.vue
  82. 18
      src/components/Form/src/components/ImageUpload.vue
  83. 6
      src/components/Form/src/components/RadioButtonGroup.vue
  84. 2
      src/components/Form/src/components/UploadItemActions.vue
  85. 8
      src/components/Form/src/hooks/useAdvanced.ts
  86. 2
      src/components/Form/src/hooks/useAutoFocus.ts
  87. 2
      src/components/Form/src/hooks/useComponentRegister.ts
  88. 6
      src/components/Form/src/hooks/useForm.ts
  89. 14
      src/components/Form/src/hooks/useFormEvents.ts
  90. 4
      src/components/Form/src/hooks/useFormValues.ts
  91. 2
      src/components/Form/src/hooks/useLabelWidth.ts
  92. 6
      src/components/Form/src/props.ts
  93. 6
      src/components/Form/src/types/form.ts
  94. 2
      src/components/IFrame/index.ts
  95. 2
      src/components/IFrame/src/IFrame.vue
  96. 2
      src/components/Icon/index.ts
  97. 16
      src/components/Icon/src/IconPicker.vue
  98. 2
      src/components/Icon/src/SvgIcon.vue
  99. 4
      src/components/ImportModal/src/ImportModal.vue
  100. 4
      src/components/JsonPreviewModal/src/index.vue
  101. Some files were not shown because too many files have changed in this diff Show More

6
build/script/buildConf.ts

@ -3,12 +3,12 @@
*/
import fs from 'fs-extra'
import colors from 'picocolors'
import { GLOB_CONFIG_FILE_NAME, OUTPUT_DIR } from '../constant'
import pkg from '../../package.json'
import { getEnvConfig, getRootPath } from '../utils'
import { GLOB_CONFIG_FILE_NAME, OUTPUT_DIR } from '../constant'
import { getConfigFileName } from '../getConfigFileName'
import pkg from '../../package.json'
import { getEnvConfig, getRootPath } from '../utils'
interface CreateConfigParams {
configName: string

8
build/script/verify-commit.js

@ -17,10 +17,10 @@ if (!commitRE.test(msg)) {
pico.red(
` Proper commit message format is required for automated changelog generation. Examples:\n\n`,
)
} ${pico.green(`feat(components): add ApiCheckboxGroup component`)}\n`
+ ` ${pico.green(
`fix(components/Form): ImageUpload type error (close #28)`,
)}\n\n${
} ${pico.green(`feat(components): add ApiCheckboxGroup component`)}\n`
+ ` ${pico.green(
`fix(components/Form): ImageUpload type error (close #28)`,
)}\n\n${
pico.red(`\n`)}`,
)
process.exit(1)

2
build/vite/optimize.ts

@ -31,4 +31,4 @@ const include = [
const exclude = ['@iconify/json']
export { include, exclude }
export { exclude, include }

4
build/vite/plugin/index.ts

@ -3,10 +3,10 @@ import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import UnoCSS from 'unocss/vite'
import AutoImport from 'unplugin-auto-import/vite'
import { configHtmlPlugin } from './html'
import { configCompressPlugin } from './compress'
import { configVisualizerConfig } from './visualizer'
import { configHtmlPlugin } from './html'
import { configSvgIconsPlugin } from './svgSprite'
import { configVisualizerConfig } from './visualizer'
export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
const { VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE } = viteEnv

2
build/vite/plugin/svgSprite.ts

@ -3,9 +3,9 @@
* https://github.com/anncwb/vite-plugin-svg-icons
*/
import type { PluginOption } from 'vite'
import path from 'node:path'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import type { PluginOption } from 'vite'
export function configSvgIconsPlugin(isBuild: boolean) {
const svgIconsPlugin = createSvgIconsPlugin({

2
build/vite/plugin/visualizer.ts

@ -1,8 +1,8 @@
import type { PluginOption } from 'vite'
/**
* Package file volume analysis
*/
import visualizer from 'rollup-plugin-visualizer'
import type { PluginOption } from 'vite'
import { isReportMode } from '../../utils'
export function configVisualizerConfig() {

6
package.json

@ -63,7 +63,7 @@
"xlsx": "^0.18.5"
},
"devDependencies": {
"@antfu/eslint-config": "^2.22.3",
"@antfu/eslint-config": "^3.8.0",
"@iconify/json": "^2.2.228",
"@types/codemirror": "^5.60.15",
"@types/crypto-js": "^4.2.2",
@ -73,14 +73,14 @@
"@types/nprogress": "^0.2.3",
"@types/qs": "^6.9.15",
"@types/sortablejs": "^1.15.8",
"@unocss/eslint-config": "^0.61.3",
"@unocss/eslint-config": "^0.63.6",
"@vitejs/plugin-vue": "^4.6.2",
"@vitejs/plugin-vue-jsx": "^3.1.0",
"@vue/compiler-sfc": "^3.4.31",
"bumpp": "^9.4.1",
"cross-env": "^7.0.3",
"dotenv": "^16.4.5",
"eslint": "^9.7.0",
"eslint": "^9.14.0",
"esno": "^4.7.0",
"fs-extra": "^11.2.0",
"inquirer": "^9.3.5",

12785
pnpm-lock.yaml

File diff suppressed because it is too large Load Diff

8
src/App.vue

@ -1,13 +1,13 @@
<script lang="ts" setup>
import 'dayjs/locale/zh-cn'
import { computed } from 'vue'
import { storeToRefs } from 'pinia'
import { App, ConfigProvider } from 'ant-design-vue'
import type { TransformCellTextProps } from 'ant-design-vue/lib/table/interface'
import { AppProvider } from '@/components/Application'
import { useTitle } from '@/hooks/web/useTitle'
import { useLocale } from '@/locales/useLocale'
import { useAppStore } from '@/store/modules/app'
import { App, ConfigProvider } from 'ant-design-vue'
import { storeToRefs } from 'pinia'
import { computed } from 'vue'
import 'dayjs/locale/zh-cn'
// support Multi-language
const { getAntdLocale } = useLocale()

4
src/api/base/upload.ts

@ -1,7 +1,7 @@
import type { AxiosProgressEvent } from 'axios'
import { defHttp } from '@/utils/http/axios'
import type { UploadFileParams } from '@/types/axios'
import type { AxiosProgressEvent } from 'axios'
import { useGlobSetting } from '@/hooks/setting'
import { defHttp } from '@/utils/http/axios'
const { uploadUrl = '' } = useGlobSetting()

2
src/api/base/user/index.ts

@ -1,6 +1,6 @@
import type { ErrorMessageMode } from '@/types/axios'
import type { LoginParams, LoginResult, UserInfo } from './types'
import { defHttp } from '@/utils/http/axios'
import type { ErrorMessageMode } from '@/types/axios'
export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') {
return defHttp.post<LoginResult>({

6
src/components/Application/index.ts

@ -1,9 +1,9 @@
import { withInstall } from '@/utils'
import appDarkModeToggle from './src/AppDarkModeToggle.vue'
import appLocalePicker from './src/AppLocalePicker.vue'
import appLogo from './src/AppLogo.vue'
import appProvider from './src/AppProvider.vue'
import appSearch from './src/search/AppSearch.vue'
import appLocalePicker from './src/AppLocalePicker.vue'
import appDarkModeToggle from './src/AppDarkModeToggle.vue'
import { withInstall } from '@/utils'
export { useAppProviderContext } from './src/useAppContext'

6
src/components/Application/src/AppDarkModeToggle.vue

@ -1,10 +1,10 @@
<script lang="ts" setup>
import { computed, unref } from 'vue'
import { SvgIcon } from '@/components/Icon'
import { useDesign } from '@/hooks/web/useDesign'
import { ThemeEnum } from '@/enums/appEnum'
import { useRootSetting } from '@/hooks/setting/useRootSetting'
import { useDesign } from '@/hooks/web/useDesign'
import { updateDarkTheme } from '@/logics/theme/dark'
import { ThemeEnum } from '@/enums/appEnum'
import { computed, unref } from 'vue'
const { prefixCls } = useDesign('dark-switch')
const { getDarkMode, getShowDarkModeToggle } = useRootSetting()

4
src/components/Application/src/AppLocalePicker.vue

@ -1,10 +1,10 @@
<script lang="ts" setup>
import { computed, ref, unref, watchEffect } from 'vue'
import type { LocaleType } from '@/types/config'
import type { DropMenu } from '@/components/Dropdown'
import type { LocaleType } from '@/types/config'
import { Dropdown } from '@/components/Dropdown'
import { useLocale } from '@/locales/useLocale'
import { localeList } from '@/settings/localeSetting'
import { computed, ref, unref, watchEffect } from 'vue'
const props = defineProps({
/**

6
src/components/Application/src/AppLogo.vue

@ -1,10 +1,10 @@
<script lang="ts" setup>
import { computed, unref } from 'vue'
import { PageEnum } from '@/enums/pageEnum'
import { useGlobSetting } from '@/hooks/setting'
import { useGo } from '@/hooks/web/usePage'
import { useMenuSetting } from '@/hooks/setting/useMenuSetting'
import { useDesign } from '@/hooks/web/useDesign'
import { PageEnum } from '@/enums/pageEnum'
import { useGo } from '@/hooks/web/usePage'
import { computed, unref } from 'vue'
const props = defineProps({
//

6
src/components/Application/src/AppProvider.vue

@ -1,10 +1,10 @@
<script lang="ts">
import { defineComponent, ref, toRefs, unref } from 'vue'
import { createAppProviderContext } from './useAppContext'
import { MenuModeEnum, MenuTypeEnum } from '@/enums/menuEnum'
import { createBreakpointListen } from '@/hooks/event/useBreakpoint'
import { prefixCls } from '@/settings/designSetting'
import { useAppStore } from '@/store/modules/app'
import { MenuModeEnum, MenuTypeEnum } from '@/enums/menuEnum'
import { defineComponent, ref, toRefs, unref } from 'vue'
import { createAppProviderContext } from './useAppContext'
const props = {
/**

6
src/components/Application/src/search/AppSearch.vue

@ -1,9 +1,9 @@
<script lang="tsx">
import { defineComponent, ref, unref } from 'vue'
import { Tooltip } from 'ant-design-vue'
import { useI18n } from '@/hooks/web/useI18n'
import { SearchOutlined } from '@ant-design/icons-vue'
import { Tooltip } from 'ant-design-vue'
import { defineComponent, ref, unref } from 'vue'
import AppSearchModal from './AppSearchModal.vue'
import { useI18n } from '@/hooks/web/useI18n'
export default defineComponent({
name: 'AppSearch',

12
src/components/Application/src/search/AppSearchModal.vue

@ -1,13 +1,13 @@
<script lang="ts" setup>
import { computed, nextTick, ref, unref, watch } from 'vue'
import { SearchOutlined } from '@ant-design/icons-vue'
import AppSearchFooter from './AppSearchFooter.vue'
import { useMenuSearch } from './useMenuSearch'
import vClickOutside from '@/directives/clickOutside'
import { useDesign } from '@/hooks/web/useDesign'
import { useRefs } from '@/hooks/core/useRefs'
import { useI18n } from '@/hooks/web/useI18n'
import { useAppInject } from '@/hooks/web/useAppInject'
import { useDesign } from '@/hooks/web/useDesign'
import { useI18n } from '@/hooks/web/useI18n'
import { SearchOutlined } from '@ant-design/icons-vue'
import { computed, nextTick, ref, unref, watch } from 'vue'
import AppSearchFooter from './AppSearchFooter.vue'
import { useMenuSearch } from './useMenuSearch'
const props = defineProps({
open: { type: Boolean },

14
src/components/Application/src/search/useMenuSearch.ts

@ -1,13 +1,13 @@
import type { Ref } from 'vue'
import { nextTick, onBeforeMount, ref, unref } from 'vue'
import { cloneDeep } from 'lodash-es'
import { onKeyStroke, useDebounceFn } from '@vueuse/core'
import type { Menu } from '@/router/types'
import { getMenus } from '@/router/menus'
import { filter, forEach } from '@/utils/helper/treeHelper'
import { useGo } from '@/hooks/web/usePage'
import type { Ref } from 'vue'
import { useScrollTo } from '@/hooks/event/useScrollTo'
import { useI18n } from '@/hooks/web/useI18n'
import { useGo } from '@/hooks/web/usePage'
import { getMenus } from '@/router/menus'
import { filter, forEach } from '@/utils/helper/treeHelper'
import { onKeyStroke, useDebounceFn } from '@vueuse/core'
import { cloneDeep } from 'lodash-es'
import { nextTick, onBeforeMount, ref, unref } from 'vue'
export interface SearchResult {
name: string

2
src/components/Authority/index.ts

@ -1,4 +1,4 @@
import authority from './src/Authority.vue'
import { withInstall } from '@/utils'
import authority from './src/Authority.vue'
export const Authority = withInstall(authority)

2
src/components/Authority/src/Authority.vue

@ -2,10 +2,10 @@
Access control component for fine-grained access control.
-->
<script lang="ts">
import { defineComponent } from 'vue'
import type { RoleEnum } from '@/enums/roleEnum'
import { usePermission } from '@/hooks/web/usePermission'
import { getSlot } from '@/utils/helper/tsxHelper'
import { defineComponent } from 'vue'
export default defineComponent({
name: 'Authority',

4
src/components/Basic/index.ts

@ -1,8 +1,8 @@
import { withInstall } from '@/utils'
import basicArrow from './src/BasicArrow.vue'
import basicHelp from './src/BasicHelp.vue'
import basicTitle from './src/BasicTitle.vue'
import { withInstall } from '@/utils'
import basicTitle from './src/BasicTitle.vue'
export const BasicArrow = withInstall(basicArrow)
export const BasicHelp = withInstall(basicHelp)

2
src/components/Basic/src/BasicArrow.vue

@ -1,6 +1,6 @@
<script lang="ts" setup>
import { computed } from 'vue'
import { useDesign } from '@/hooks/web/useDesign'
import { computed } from 'vue'
const props = defineProps({
/**

8
src/components/Basic/src/BasicHelp.vue

@ -1,11 +1,11 @@
<script lang="tsx">
import type { CSSProperties, PropType, VNodeChild } from 'vue'
import { computed, defineComponent, unref } from 'vue'
import { Tooltip } from 'ant-design-vue'
import { InfoCircleOutlined } from '@ant-design/icons-vue'
import { getPopupContainer } from '@/utils'
import { isArray, isString } from '@/utils/is'
import { getSlot } from '@/utils/helper/tsxHelper'
import { isArray, isString } from '@/utils/is'
import { InfoCircleOutlined } from '@ant-design/icons-vue'
import { Tooltip } from 'ant-design-vue'
import { computed, defineComponent, unref } from 'vue'
const props = {
/**

2
src/components/Basic/src/BasicTitle.vue

@ -1,7 +1,7 @@
<script lang="ts" setup>
import { useDesign } from '@/hooks/web/useDesign'
import { computed, useSlots } from 'vue'
import BasicHelp from './BasicHelp.vue'
import { useDesign } from '@/hooks/web/useDesign'
const props = defineProps({
/**

4
src/components/Button/index.ts

@ -1,8 +1,8 @@
import type { ExtractPropTypes } from 'vue'
import button from './src/BasicButton.vue'
import popConfirmButton from './src/PopConfirmButton.vue'
import type { buttonProps } from './src/props'
import { withInstall } from '@/utils'
import button from './src/BasicButton.vue'
import popConfirmButton from './src/PopConfirmButton.vue'
export const Button = withInstall(button)
export const PopConfirmButton = withInstall(popConfirmButton)

4
src/components/Button/src/BasicButton.vue

@ -1,9 +1,9 @@
<script lang="ts" setup>
import { Button, theme } from 'ant-design-vue'
import type { ComponentOptionsMixin } from 'vue'
import { useAttrs } from '@/hooks/core/useAttrs'
import { Button, theme } from 'ant-design-vue'
import { computed, unref } from 'vue'
import { buttonProps } from './props'
import { useAttrs } from '@/hooks/core/useAttrs'
defineOptions({ name: 'AButton', extends: Button as ComponentOptionsMixin, indeterminate: false })
const props = defineProps(buttonProps)

8
src/components/Button/src/PopConfirmButton.vue

@ -1,11 +1,11 @@
<script lang="ts">
import { computed, defineComponent, h, unref } from 'vue'
import { useAttrs } from '@/hooks/core/useAttrs'
import { useI18n } from '@/hooks/web/useI18n'
import { extendSlots } from '@/utils/helper/tsxHelper'
import { Popconfirm } from 'ant-design-vue'
import { omit } from 'lodash-es'
import { computed, defineComponent, h, unref } from 'vue'
import BasicButton from './BasicButton.vue'
import { extendSlots } from '@/utils/helper/tsxHelper'
import { useAttrs } from '@/hooks/core/useAttrs'
import { useI18n } from '@/hooks/web/useI18n'
const props = {
/**

2
src/components/CardList/index.ts

@ -1,4 +1,4 @@
import cardList from './src/CardList.vue'
import { withInstall } from '@/utils'
import cardList from './src/CardList.vue'
export const CardList = withInstall(cardList)

14
src/components/CardList/src/CardList.vue

@ -1,14 +1,14 @@
<script lang="ts" setup>
import { computed, onMounted, ref } from 'vue'
import { EditOutlined, EllipsisOutlined, RedoOutlined, TableOutlined } from '@ant-design/icons-vue'
import { Avatar, Card, Image, List, Slider, Tooltip, Typography } from 'ant-design-vue'
import { grid, useSlider } from './data'
import { Dropdown } from '@/components/Dropdown'
import type { FormSchema } from '@/components/Form'
import { BasicForm, useForm } from '@/components/Form'
import { propTypes } from '@/utils/propTypes'
import { Button } from '@/components/Button'
import { Dropdown } from '@/components/Dropdown'
import { BasicForm, useForm } from '@/components/Form'
import { isFunction } from '@/utils/is'
import { propTypes } from '@/utils/propTypes'
import { EditOutlined, EllipsisOutlined, RedoOutlined, TableOutlined } from '@ant-design/icons-vue'
import { Avatar, Card, Image, List, Slider, Tooltip, Typography } from 'ant-design-vue'
import { computed, onMounted, ref } from 'vue'
import { grid, useSlider } from './data'
//
const props = defineProps({

2
src/components/CodeEditor/index.ts

@ -1,6 +1,6 @@
import { withInstall } from '@/utils'
import codeEditor from './src/CodeEditor.vue'
import jsonPreview from './src/json-preview/JsonPreview.vue'
import { withInstall } from '@/utils'
export const CodeEditor = withInstall(codeEditor)
export const JsonPreview = withInstall(jsonPreview)

2
src/components/CodeEditor/src/CodeEditor.vue

@ -1,8 +1,8 @@
<script lang="ts" setup>
import { isString } from '@/utils/is'
import { computed } from 'vue'
import CodeMirrorEditor from './codemirror/CodeMirror.vue'
import { MODE } from './typing'
import { isString } from '@/utils/is'
const props = defineProps({
value: { type: [Object, String] as PropType<Record<string, any> | string> },

12
src/components/CodeEditor/src/codemirror/CodeMirror.vue

@ -1,14 +1,14 @@
<script lang="ts" setup>
import { nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'
import { useDebounceFn } from '@vueuse/core'
import { basicSetup } from 'codemirror'
import type { ViewUpdate } from '@codemirror/view'
import { EditorView, keymap } from '@codemirror/view'
import { EditorState } from '@codemirror/state'
import { indentWithTab } from '@codemirror/commands'
import { javascript } from '@codemirror/lang-javascript'
import { json } from '@codemirror/lang-json'
import { indentWithTab } from '@codemirror/commands'
import { EditorState } from '@codemirror/state'
import { oneDark } from '@codemirror/theme-one-dark'
import { EditorView, keymap } from '@codemirror/view'
import { useDebounceFn } from '@vueuse/core'
import { basicSetup } from 'codemirror'
import { nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'
import { MODE } from './../typing'
const props = defineProps({

4
src/components/Container/index.ts

@ -1,7 +1,7 @@
import { withInstall } from '@/utils'
import collapseContainer from './src/collapse/CollapseContainer.vue'
import scrollContainer from './src/ScrollContainer.vue'
import lazyContainer from './src/LazyContainer.vue'
import { withInstall } from '@/utils'
import scrollContainer from './src/ScrollContainer.vue'
export const CollapseContainer = withInstall(collapseContainer)
export const ScrollContainer = withInstall(scrollContainer)

6
src/components/Container/src/LazyContainer.vue

@ -1,8 +1,8 @@
<script lang="ts" setup>
import { onMounted, reactive, ref, toRef } from 'vue'
import { Skeleton } from 'ant-design-vue'
import { useTimeoutFn } from '@vueuse/core'
import { useIntersectionObserver } from '@/hooks/event/useIntersectionObserver'
import { useTimeoutFn } from '@vueuse/core'
import { Skeleton } from 'ant-design-vue'
import { onMounted, reactive, ref, toRef } from 'vue'
defineOptions({ name: 'LazyContainer', inheritAttrs: false })

2
src/components/Container/src/ScrollContainer.vue

@ -1,8 +1,8 @@
<script lang="ts" setup>
import { nextTick, ref, unref } from 'vue'
import type { ScrollbarType } from '@/components/Scrollbar'
import { Scrollbar } from '@/components/Scrollbar'
import { useScrollTo } from '@/hooks/event/useScrollTo'
import { nextTick, ref, unref } from 'vue'
defineOptions({ name: 'ScrollContainer' })

12
src/components/Container/src/collapse/CollapseContainer.vue

@ -1,12 +1,12 @@
<script lang="tsx">
import { type ExtractPropTypes, type PropType, defineComponent, ref, unref } from 'vue'
import { isNil } from 'lodash-es'
import { Skeleton } from 'ant-design-vue'
import { useTimeoutFn } from '@vueuse/core'
import CollapseHeader from './CollapseHeader.vue'
import { CollapseTransition } from '@/components/Transition'
import { triggerWindowResize } from '@/utils/event'
import { useDesign } from '@/hooks/web/useDesign'
import { triggerWindowResize } from '@/utils/event'
import { useTimeoutFn } from '@vueuse/core'
import { Skeleton } from 'ant-design-vue'
import { isNil } from 'lodash-es'
import { defineComponent, type ExtractPropTypes, type PropType, ref, unref } from 'vue'
import CollapseHeader from './CollapseHeader.vue'
const collapseContainerProps = {
title: { type: String, default: '' },

4
src/components/Container/src/collapse/CollapseHeader.vue

@ -1,7 +1,7 @@
<script lang="tsx">
import { type ExtractPropTypes, computed, defineComponent, unref } from 'vue'
import { useDesign } from '@/hooks/web/useDesign'
import { BasicArrow, BasicTitle } from '@/components/Basic'
import { useDesign } from '@/hooks/web/useDesign'
import { computed, defineComponent, type ExtractPropTypes, unref } from 'vue'
const collapseHeaderProps = {
prefixCls: String,

4
src/components/ContextMenu/src/ContextMenu.vue

@ -1,8 +1,8 @@
<script lang="tsx">
import type { CSSProperties, FunctionalComponent } from 'vue'
import { computed, defineComponent, nextTick, onMounted, onUnmounted, ref, unref } from 'vue'
import { Divider, Menu } from 'ant-design-vue'
import type { Axis, ContextMenuItem, ItemContentProps } from './typing'
import { Divider, Menu } from 'ant-design-vue'
import { computed, defineComponent, nextTick, onMounted, onUnmounted, ref, unref } from 'vue'
const prefixCls = 'context-menu'

4
src/components/ContextMenu/src/createContextMenu.ts

@ -1,7 +1,7 @@
import { createVNode, render } from 'vue'
import contextMenuVue from './ContextMenu.vue'
import type { ContextMenuProps, CreateContextOptions } from './typing'
import { isClient } from '@/utils/is'
import { createVNode, render } from 'vue'
import contextMenuVue from './ContextMenu.vue'
const menuManager: {
domList: Element[]

2
src/components/CountDown/index.ts

@ -1,6 +1,6 @@
import { withInstall } from '@/utils'
import countButton from './src/CountButton.vue'
import countdownInput from './src/CountdownInput.vue'
import { withInstall } from '@/utils'
export const CountdownInput = withInstall(countdownInput)
export const CountButton = withInstall(countButton)

6
src/components/CountDown/src/CountButton.vue

@ -1,9 +1,9 @@
<script lang="ts" setup>
import { computed, ref, unref, watchEffect } from 'vue'
import { useI18n } from '@/hooks/web/useI18n'
import { isFunction } from '@/utils/is'
import { Button } from 'ant-design-vue'
import { computed, ref, unref, watchEffect } from 'vue'
import { useCountdown } from './useCountdown'
import { isFunction } from '@/utils/is'
import { useI18n } from '@/hooks/web/useI18n'
defineOptions({ name: 'CountButton' })

4
src/components/CountDown/src/CountdownInput.vue

@ -1,7 +1,7 @@
<script lang="ts" setup>
import CountButton from './CountButton.vue'
import { useDesign } from '@/hooks/web/useDesign'
import { useRuleFormItem } from '@/hooks/component/useFormItem'
import { useDesign } from '@/hooks/web/useDesign'
import CountButton from './CountButton.vue'
defineOptions({ name: 'CountDownInput', inheritAttrs: false })

2
src/components/CountDown/src/useCountdown.ts

@ -1,5 +1,5 @@
import { ref, unref } from 'vue'
import { tryOnUnmounted } from '@vueuse/core'
import { ref, unref } from 'vue'
export function useCountdown(count: number) {
const currentCount = ref(count)

2
src/components/CountTo/index.ts

@ -1,4 +1,4 @@
import countTo from './src/CountTo.vue'
import { withInstall } from '@/utils'
import countTo from './src/CountTo.vue'
export const CountTo = withInstall(countTo)

4
src/components/CountTo/src/CountTo.vue

@ -1,7 +1,7 @@
<script lang="ts" setup>
import { computed, onMounted, ref, unref, watch, watchEffect } from 'vue'
import { TransitionPresets, useTransition } from '@vueuse/core'
import { isNumber } from '@/utils/is'
import { TransitionPresets, useTransition } from '@vueuse/core'
import { computed, onMounted, ref, unref, watch, watchEffect } from 'vue'
defineOptions({ name: 'CountTo' })

2
src/components/Cropper/index.ts

@ -1,6 +1,6 @@
import { withInstall } from '@/utils'
import cropperImage from './src/Cropper.vue'
import avatarCropper from './src/CropperAvatar.vue'
import { withInstall } from '@/utils'
export * from './src/typing'
export const CropperImage = withInstall(cropperImage)

10
src/components/Cropper/src/CopperModal.vue

@ -1,13 +1,13 @@
<script lang="ts" setup>
import { ref } from 'vue'
import { Avatar, Space, Tooltip, Upload } from 'ant-design-vue'
import type { CropendResult, Cropper } from './typing'
import CropperImage from './Cropper.vue'
import { useDesign } from '@/hooks/web/useDesign'
import { BasicModal, useModalInner } from '@/components/Modal'
import { useDesign } from '@/hooks/web/useDesign'
import { useI18n } from '@/hooks/web/useI18n'
import { dataURLtoBlob } from '@/utils/file/base64Conver'
import { isFunction } from '@/utils/is'
import { useI18n } from '@/hooks/web/useI18n'
import { Avatar, Space, Tooltip, Upload } from 'ant-design-vue'
import { ref } from 'vue'
import CropperImage from './Cropper.vue'
defineOptions({ name: 'CropperModal' })

6
src/components/Cropper/src/Cropper.vue

@ -1,10 +1,10 @@
<script lang="ts" setup>
import type { CSSProperties } from 'vue'
import { computed, onMounted, onUnmounted, ref, unref, useAttrs } from 'vue'
import { useDesign } from '@/hooks/web/useDesign'
import { useDebounceFn } from '@vueuse/core'
import Cropper from 'cropperjs'
import { computed, onMounted, onUnmounted, ref, unref, useAttrs } from 'vue'
import 'cropperjs/dist/cropper.css'
import { useDebounceFn } from '@vueuse/core'
import { useDesign } from '@/hooks/web/useDesign'
defineOptions({ name: 'CropperImage' })

12
src/components/Cropper/src/CropperAvatar.vue

@ -1,13 +1,13 @@
<script lang="ts" setup>
import type { ButtonProps } from '@/components/Button'
import type { CSSProperties } from 'vue'
import { computed, ref, unref, watch, watchEffect } from 'vue'
import { Avatar } from 'ant-design-vue'
import CopperModal from './CopperModal.vue'
import { useDesign } from '@/hooks/web/useDesign'
import { useModal } from '@/components/Modal'
import { useMessage } from '@/hooks/web/useMessage'
import { useDesign } from '@/hooks/web/useDesign'
import { useI18n } from '@/hooks/web/useI18n'
import type { ButtonProps } from '@/components/Button'
import { useMessage } from '@/hooks/web/useMessage'
import { Avatar } from 'ant-design-vue'
import { computed, ref, unref, watch, watchEffect } from 'vue'
import CopperModal from './CopperModal.vue'
defineOptions({ name: 'CropperAvatar' })

2
src/components/Description/index.ts

@ -1,5 +1,5 @@
import description from './src/Description.vue'
import { withInstall } from '@/utils'
import description from './src/Description.vue'
export * from './src/typing'
export { useDescription } from './src/useDescription'

12
src/components/Description/src/Description.vue

@ -1,16 +1,16 @@
<script lang="tsx">
import type { CollapseContainerOptions } from '@/components/Container'
import type { DescriptionsProps } from 'ant-design-vue/es/descriptions'
import type { CSSProperties } from 'vue'
import { computed, defineComponent, ref, unref } from 'vue'
import { get } from 'lodash-es'
import { Descriptions } from 'ant-design-vue'
import type { DescInstance, DescItem, DescriptionProps } from './typing'
import type { CollapseContainerOptions } from '@/components/Container'
import { CollapseContainer } from '@/components/Container'
import { useAttrs } from '@/hooks/core/useAttrs'
import { useDesign } from '@/hooks/web/useDesign'
import { isFunction } from '@/utils/is'
import { getSlot } from '@/utils/helper/tsxHelper'
import { useAttrs } from '@/hooks/core/useAttrs'
import { isFunction } from '@/utils/is'
import { Descriptions } from 'ant-design-vue'
import { get } from 'lodash-es'
import { computed, defineComponent, ref, unref } from 'vue'
const props = {
useCollapse: { type: Boolean, default: true },

4
src/components/Description/src/typing.ts

@ -1,6 +1,6 @@
import type { CSSProperties, VNode } from 'vue'
import type { DescriptionsProps } from 'ant-design-vue/es/descriptions'
import type { CollapseContainerOptions } from '@/components/Container'
import type { DescriptionsProps } from 'ant-design-vue/es/descriptions'
import type { CSSProperties, VNode } from 'vue'
export interface DescItem {
labelMinWidth?: number

2
src/components/Description/src/useDescription.ts

@ -1,6 +1,6 @@
import { getCurrentInstance, ref, unref } from 'vue'
import type { DescInstance, DescriptionProps, UseDescReturnType } from './typing'
import { isProdMode } from '@/utils/env'
import { getCurrentInstance, ref, unref } from 'vue'
export function useDescription(props?: Partial<DescriptionProps>): UseDescReturnType {
if (!getCurrentInstance())

2
src/components/Drawer/index.ts

@ -1,5 +1,5 @@
import basicDrawer from './src/BasicDrawer.vue'
import { withInstall } from '@/utils'
import basicDrawer from './src/BasicDrawer.vue'
export const BasicDrawer = withInstall(basicDrawer)
export * from './src/typing'

16
src/components/Drawer/src/BasicDrawer.vue

@ -1,17 +1,17 @@
<script lang="ts" setup>
import type { CSSProperties } from 'vue'
import { computed, getCurrentInstance, nextTick, ref, toRaw, unref, watch } from 'vue'
import { Drawer } from 'ant-design-vue'
import type { DrawerInstance, DrawerProps } from './typing'
import DrawerFooter from './components/DrawerFooter.vue'
import DrawerHeader from './components/DrawerHeader.vue'
import { basicProps } from './props'
import { ScrollContainer } from '@/components/Container'
import { useAttrs } from '@/hooks/core/useAttrs'
import { useDesign } from '@/hooks/web/useDesign'
import { useI18n } from '@/hooks/web/useI18n'
import { isFunction, isNumber } from '@/utils/is'
import { deepMerge } from '@/utils'
import { ScrollContainer } from '@/components/Container'
import { useDesign } from '@/hooks/web/useDesign'
import { isFunction, isNumber } from '@/utils/is'
import { Drawer } from 'ant-design-vue'
import { computed, getCurrentInstance, nextTick, ref, toRaw, unref, watch } from 'vue'
import DrawerFooter from './components/DrawerFooter.vue'
import DrawerHeader from './components/DrawerHeader.vue'
import { basicProps } from './props'
defineOptions({ inheritAttrs: false })

2
src/components/Drawer/src/components/DrawerHeader.vue

@ -1,7 +1,7 @@
<script lang="ts" setup>
import { ArrowLeftOutlined } from '@ant-design/icons-vue'
import { BasicTitle } from '@/components/Basic'
import { propTypes } from '@/utils/propTypes'
import { ArrowLeftOutlined } from '@ant-design/icons-vue'
defineOptions({ name: 'BasicDrawerHeader' })

4
src/components/Drawer/src/typing.ts

@ -1,6 +1,6 @@
import type { ButtonProps } from 'ant-design-vue/lib/button/buttonTypes'
import type { CSSProperties, ComputedRef, VNodeChild } from 'vue'
import type { ScrollContainerOptions } from '@/components/Container'
import type { ButtonProps } from 'ant-design-vue/lib/button/buttonTypes'
import type { ComputedRef, CSSProperties, VNodeChild } from 'vue'
export interface DrawerInstance {
setDrawerProps: (props: Partial<DrawerProps>) => void

6
src/components/Drawer/src/useDrawer.ts

@ -1,10 +1,10 @@
import { computed, getCurrentInstance, nextTick, reactive, ref, toRaw, unref, watchEffect } from 'vue'
import { tryOnUnmounted } from '@vueuse/core'
import { isEqual } from 'lodash-es'
import type { DrawerInstance, DrawerProps, ReturnMethods, UseDrawerInnerReturnType, UseDrawerReturnType } from './typing'
import { isProdMode } from '@/utils/env'
import { isFunction } from '@/utils/is'
import { error } from '@/utils/log'
import { tryOnUnmounted } from '@vueuse/core'
import { isEqual } from 'lodash-es'
import { computed, getCurrentInstance, nextTick, reactive, ref, toRaw, unref, watchEffect } from 'vue'
const dataTransferRef = reactive<any>({})

2
src/components/Dropdown/index.ts

@ -1,5 +1,5 @@
import dropdown from './src/Dropdown.vue'
import { withInstall } from '@/utils'
import dropdown from './src/Dropdown.vue'
export * from './src/typing'
export const Dropdown = withInstall(dropdown)

6
src/components/Dropdown/src/Dropdown.vue

@ -1,9 +1,9 @@
<script lang="ts" setup>
import { computed } from 'vue'
import { Dropdown, Menu, Popconfirm } from 'ant-design-vue'
import { omit } from 'lodash-es'
import type { DropMenu } from './typing'
import { isFunction } from '@/utils/is'
import { Dropdown, Menu, Popconfirm } from 'ant-design-vue'
import { omit } from 'lodash-es'
import { computed } from 'vue'
const props = defineProps({
popconfirm: Boolean,

2
src/components/EllipsisText/index.ts

@ -1,4 +1,4 @@
import ellipsisText from './src/EllipsisText.vue'
import { withInstall } from '@/utils'
import ellipsisText from './src/EllipsisText.vue'
export const EllipsisText = withInstall(ellipsisText)

2
src/components/EllipsisText/src/EllipsisText.vue

@ -1,6 +1,6 @@
<script setup lang="ts">
import { computed, nextTick, ref, watchEffect } from 'vue'
import type { CSSProperties } from 'vue'
import { computed, nextTick, ref, watchEffect } from 'vue'
import Tooltip from './Tooltip.vue'
interface Props {

2
src/components/EllipsisText/src/Tooltip.vue

@ -1,6 +1,6 @@
<script setup lang="ts">
import { ref } from 'vue'
import type { CSSProperties } from 'vue'
import { ref } from 'vue'
import { cancelRaf, rafTimeout } from './_utils'
interface Props {

6
src/components/Excel/index.ts

@ -1,8 +1,8 @@
import impExcel from './src/ImportExcel.vue'
import expExcelModal from './src/ExportExcelModal.vue'
import { withInstall } from '@/utils'
import expExcelModal from './src/ExportExcelModal.vue'
import impExcel from './src/ImportExcel.vue'
export const ImpExcel = withInstall(impExcel)
export const ExpExcelModal = withInstall(expExcelModal)
export { aoaToSheetXlsx, jsonToSheetXlsx } from './src/Export2Excel'
export * from './src/typing'
export { jsonToSheetXlsx, aoaToSheetXlsx } from './src/Export2Excel'

2
src/components/Excel/src/Export2Excel.ts

@ -1,6 +1,6 @@
import * as xlsx from 'xlsx'
import type { WorkBook } from 'xlsx'
import type { AoAToSheet, JsonToSheet } from './typing'
import * as xlsx from 'xlsx'
const { utils, writeFile } = xlsx

4
src/components/Excel/src/ExportExcelModal.vue

@ -1,8 +1,8 @@
<script lang="ts" setup>
import type { ExportModalResult } from './typing'
import { BasicModal, useModalInner } from '@/components/Modal'
import type { FormSchema } from '@/components/Form'
import type { ExportModalResult } from './typing'
import { BasicForm, useForm } from '@/components/Form'
import { BasicModal, useModalInner } from '@/components/Modal'
import { useI18n } from '@/hooks/web/useI18n'
const emit = defineEmits(['success', 'register'])

4
src/components/Excel/src/ImportExcel.vue

@ -1,8 +1,8 @@
<script lang="ts" setup>
import { ref, unref } from 'vue'
import * as XLSX from 'xlsx'
import type { ExcelData } from './typing'
import { dateUtil } from '@/utils/dateUtil'
import { ref, unref } from 'vue'
import * as XLSX from 'xlsx'
defineOptions({ name: 'ImportExcel' })

20
src/components/Form/index.ts

@ -1,18 +1,18 @@
import BasicForm from './src/BasicForm.vue'
export * from './src/types/form'
export * from './src/types/formItem'
export { useComponentRegister } from './src/hooks/useComponentRegister'
export { useForm } from './src/hooks/useForm'
export { default as ApiCascader } from './src/components/ApiCascader.vue'
export { default as ApiRadioGroup } from './src/components/ApiRadioGroup.vue'
export { default as ApiSelect } from './src/components/ApiSelect.vue'
export { default as RadioButtonGroup } from './src/components/RadioButtonGroup.vue'
export { default as ApiTreeSelect } from './src/components/ApiTreeSelect.vue'
export { default as ApiTree } from './src/components/ApiTree.vue'
export { default as ApiRadioGroup } from './src/components/ApiRadioGroup.vue'
export { default as ApiCascader } from './src/components/ApiCascader.vue'
export { default as ApiTransfer } from './src/components/ApiTransfer.vue'
export { default as ApiTree } from './src/components/ApiTree.vue'
export { default as ApiTreeSelect } from './src/components/ApiTreeSelect.vue'
export { default as ImageUpload } from './src/components/ImageUpload.vue'
export { default as RadioButtonGroup } from './src/components/RadioButtonGroup.vue'
export { useComponentRegister } from './src/hooks/useComponentRegister'
export { useForm } from './src/hooks/useForm'
export * from './src/types/form'
export * from './src/types/formItem'
export { BasicForm }

30
src/components/Form/src/BasicForm.vue

@ -1,28 +1,28 @@
<script lang="ts" setup>
import type { Ref } from 'vue'
import { computed, nextTick, onMounted, reactive, ref, unref, useAttrs, watch } from 'vue'
import { type FormProps as AntFormProps, Form, Row } from 'ant-design-vue'
import { useDebounceFn } from '@vueuse/core'
import { cloneDeep } from 'lodash-es'
import type { FormActionType, FormProps, FormSchemaInner as FormSchema } from './types/form'
import type { AdvanceState } from './types/hooks'
import { useModalContext } from '@/components/Modal'
import { useDesign } from '@/hooks/web/useDesign'
import { deepMerge } from '@/utils'
import { dateUtil } from '@/utils/dateUtil'
import FormItem from './components/FormItem.vue'
import FormAction from './components/FormAction.vue'
import { useDebounceFn } from '@vueuse/core'
import { type FormProps as AntFormProps, Form, Row } from 'ant-design-vue'
import { dateItemType } from './helper'
import { cloneDeep } from 'lodash-es'
import { useFormValues } from './hooks/useFormValues'
import { computed, nextTick, onMounted, reactive, ref, unref, useAttrs, watch } from 'vue'
import FormAction from './components/FormAction.vue'
import FormItem from './components/FormItem.vue'
import { dateItemType } from './helper'
import useAdvanced from './hooks/useAdvanced'
import { useFormEvents } from './hooks/useFormEvents'
import { createFormContext } from './hooks/useFormContext'
import { useAutoFocus } from './hooks/useAutoFocus'
import { basicProps } from './props'
import { useModalContext } from '@/components/Modal'
import { createFormContext } from './hooks/useFormContext'
import { deepMerge } from '@/utils'
import { dateUtil } from '@/utils/dateUtil'
import { useDesign } from '@/hooks/web/useDesign'
import { useFormEvents } from './hooks/useFormEvents'
import { useFormValues } from './hooks/useFormValues'
import { basicProps } from './props'
defineOptions({ name: 'BasicForm' })

18
src/components/Form/src/componentMap.ts

@ -1,4 +1,10 @@
import type { Component } from 'vue'
import type { ComponentType } from './types'
import { CountdownInput } from '@/components/CountDown'
import { IconPicker } from '@/components/Icon'
import { StrengthMeter } from '@/components/StrengthMeter'
import { BasicUpload } from '@/components/Upload'
import {
AutoComplete,
Cascader,
@ -15,24 +21,18 @@ import {
TimePicker,
TreeSelect,
} from 'ant-design-vue'
import type { ComponentType } from './types'
import ApiCascader from './components/ApiCascader.vue'
/**
* Component list, register here to setting it in the form
*/
import ApiRadioGroup from './components/ApiRadioGroup.vue'
import RadioButtonGroup from './components/RadioButtonGroup.vue'
import ApiSelect from './components/ApiSelect.vue'
import ApiTransfer from './components/ApiTransfer.vue'
import ApiTree from './components/ApiTree.vue'
import ApiTreeSelect from './components/ApiTreeSelect.vue'
import ApiCascader from './components/ApiCascader.vue'
import ApiTransfer from './components/ApiTransfer.vue'
import FileUpload from './components/FileUpload.vue'
import ImageUpload from './components/ImageUpload.vue'
import { BasicUpload } from '@/components/Upload'
import { StrengthMeter } from '@/components/StrengthMeter'
import { IconPicker } from '@/components/Icon'
import { CountdownInput } from '@/components/CountDown'
import RadioButtonGroup from './components/RadioButtonGroup.vue'
const componentMap = new Map<ComponentType, Component>()

12
src/components/Form/src/components/ApiCascader.vue

@ -1,13 +1,13 @@
<script lang="ts" setup>
import type { PropType } from 'vue'
import { ref, unref, watch, watchEffect } from 'vue'
import { Cascader } from 'ant-design-vue'
import { get, omit } from 'lodash-es'
import { LoadingOutlined } from '@ant-design/icons-vue'
import { propTypes } from '@/utils/propTypes'
import { isFunction } from '@/utils/is'
import { useRuleFormItem } from '@/hooks/component/useFormItem'
import { useI18n } from '@/hooks/web/useI18n'
import { isFunction } from '@/utils/is'
import { propTypes } from '@/utils/propTypes'
import { LoadingOutlined } from '@ant-design/icons-vue'
import { Cascader } from 'ant-design-vue'
import { get, omit } from 'lodash-es'
import { ref, unref, watch, watchEffect } from 'vue'
interface Option {
value?: string

10
src/components/Form/src/components/ApiCheckboxGroup.vue

@ -1,13 +1,13 @@
<script lang="ts" setup>
import type { PropType } from 'vue'
import { computed, ref, unref, watch, watchEffect } from 'vue'
import { Checkbox } from 'ant-design-vue'
import { get, omit } from 'lodash-es'
import type { CheckboxChangeEvent } from 'ant-design-vue/lib/checkbox/interface'
import { isFunction } from '@/utils/is'
import type { PropType } from 'vue'
import { useRuleFormItem } from '@/hooks/component/useFormItem'
import { useAttrs } from '@/hooks/core/useAttrs'
import { isFunction } from '@/utils/is'
import { propTypes } from '@/utils/propTypes'
import { Checkbox } from 'ant-design-vue'
import { get, omit } from 'lodash-es'
import { computed, ref, unref, watch, watchEffect } from 'vue'
interface OptionsItem {
label?: string

8
src/components/Form/src/components/ApiRadioGroup.vue

@ -3,13 +3,13 @@
-->
<script lang="ts" setup>
import type { PropType } from 'vue'
import { computed, ref, unref, watch, watchEffect } from 'vue'
import { Radio } from 'ant-design-vue'
import { get, omit } from 'lodash-es'
import { isFunction } from '@/utils/is'
import { useRuleFormItem } from '@/hooks/component/useFormItem'
import { useAttrs } from '@/hooks/core/useAttrs'
import { isFunction } from '@/utils/is'
import { propTypes } from '@/utils/propTypes'
import { Radio } from 'ant-design-vue'
import { get, omit } from 'lodash-es'
import { computed, ref, unref, watch, watchEffect } from 'vue'
interface OptionsItem {
label?: string

12
src/components/Form/src/components/ApiSelect.vue

@ -1,14 +1,14 @@
<script lang="ts" setup>
import type { PropType } from 'vue'
import { computed, ref, unref, watch } from 'vue'
import { Select } from 'ant-design-vue'
import type { SelectValue } from 'ant-design-vue/es/select'
import { get, isEqual, omit } from 'lodash-es'
import { LoadingOutlined } from '@ant-design/icons-vue'
import { isFunction } from '@/utils/is'
import type { PropType } from 'vue'
import { useRuleFormItem } from '@/hooks/component/useFormItem'
import { useI18n } from '@/hooks/web/useI18n'
import { isFunction } from '@/utils/is'
import { propTypes } from '@/utils/propTypes'
import { LoadingOutlined } from '@ant-design/icons-vue'
import { Select } from 'ant-design-vue'
import { get, isEqual, omit } from 'lodash-es'
import { computed, ref, unref, watch } from 'vue'
interface OptionsItem { label?: string, value?: string, disabled?: boolean, [name: string]: any }

8
src/components/Form/src/components/ApiTransfer.vue

@ -1,11 +1,11 @@
<script lang="ts" setup>
import type { PropType } from 'vue'
import { computed, ref, unref, watch, watchEffect } from 'vue'
import { Transfer } from 'ant-design-vue'
import { get, omit } from 'lodash-es'
import type { TransferDirection, TransferItem } from 'ant-design-vue/lib/transfer'
import type { PropType } from 'vue'
import { isFunction } from '@/utils/is'
import { propTypes } from '@/utils/propTypes'
import { Transfer } from 'ant-design-vue'
import { get, omit } from 'lodash-es'
import { computed, ref, unref, watch, watchEffect } from 'vue'
defineOptions({ name: 'ApiTransfer' })

14
src/components/Form/src/components/ApiTree.vue

@ -1,14 +1,14 @@
<script lang="ts" setup>
import { computed, onMounted, ref, unref, useAttrs, watch } from 'vue'
import type { AnyFunction } from '@/types/utils'
import type { TreeProps } from 'ant-design-vue'
import { Tree } from 'ant-design-vue'
import { get } from 'lodash-es'
import type { DataNode } from 'ant-design-vue/es/tree'
import { useRuleFormItem } from '@/hooks/component/useFormItem'
import { isArray, isFunction } from '@/utils/is'
import { handleTree as handleTreeFn } from '@/utils/tree'
import { propTypes } from '@/utils/propTypes'
import type { AnyFunction } from '@/types/utils'
import { useRuleFormItem } from '@/hooks/component/useFormItem'
import { handleTree as handleTreeFn } from '@/utils/tree'
import { Tree } from 'ant-design-vue'
import { get } from 'lodash-es'
import { computed, onMounted, ref, unref, useAttrs, watch } from 'vue'
defineOptions({ name: 'ApiTree' })
@ -98,7 +98,7 @@ async function fetch() {
</script>
<template>
<Tree v-bind="getAttrs" v-model:selectedKeys="state">
<Tree v-bind="getAttrs" v-model:selected-keys="state">
<template v-for="item in Object.keys($slots)" #[item]="data">
<slot :name="item" v-bind="data || {}" />
</template>

8
src/components/Form/src/components/ApiTreeSelect.vue

@ -1,11 +1,11 @@
<script lang="ts" setup>
import { computed, onMounted, ref, unref, useAttrs, watch } from 'vue'
import { TreeSelect } from 'ant-design-vue'
import { get, set } from 'lodash-es'
import { LoadingOutlined } from '@ant-design/icons-vue'
import { isArray, isFunction } from '@/utils/is'
import { propTypes } from '@/utils/propTypes'
import { handleTree as handleTreeFn } from '@/utils/tree'
import { LoadingOutlined } from '@ant-design/icons-vue'
import { TreeSelect } from 'ant-design-vue'
import { get, set } from 'lodash-es'
import { computed, onMounted, ref, unref, useAttrs, watch } from 'vue'
defineOptions({ name: 'ApiTreeSelect' })

14
src/components/Form/src/components/FileUpload.vue

@ -1,14 +1,14 @@
<script lang="ts" setup>
import { Upload } from 'ant-design-vue'
import { InboxOutlined } from '@ant-design/icons-vue'
import { computed, reactive, ref, unref, watch } from 'vue'
import { getAccessToken, getTenantId } from '@/utils/auth'
import { propTypes } from '@/utils/propTypes'
import { useMessage } from '@/hooks/web/useMessage'
import { createImgPreview } from '@/components/Preview/index'
import { useAttrs } from '@/hooks/core/useAttrs'
import { useDesign } from '@/hooks/web/useDesign'
import { useGlobSetting } from '@/hooks/setting'
import { useDesign } from '@/hooks/web/useDesign'
import { useMessage } from '@/hooks/web/useMessage'
import { getAccessToken, getTenantId } from '@/utils/auth'
import { propTypes } from '@/utils/propTypes'
import { InboxOutlined } from '@ant-design/icons-vue'
import { Upload } from 'ant-design-vue'
import { computed, reactive, ref, unref, watch } from 'vue'
defineOptions({ name: 'FileUpload' })
const props = defineProps({

10
src/components/Form/src/components/FormAction.vue

@ -1,14 +1,14 @@
<script lang="ts" setup>
import type { ButtonProps } from '@/components/Button'
import type { PropType } from 'vue'
import { computed } from 'vue'
import { Col, Form } from 'ant-design-vue'
import type { ColEx } from '../types'
import { useFormContext } from '../hooks/useFormContext'
import type { ButtonProps } from '@/components/Button'
import { Button } from '@/components/Button'
import { BasicArrow } from '@/components/Basic'
import { Button } from '@/components/Button'
import { useI18n } from '@/hooks/web/useI18n'
import { propTypes } from '@/utils/propTypes'
import { Col, Form } from 'ant-design-vue'
import { computed } from 'vue'
import { useFormContext } from '../hooks/useFormContext'
type ButtonOptions = Partial<ButtonProps> & { text: string }

20
src/components/Form/src/components/FormItem.vue

@ -1,19 +1,19 @@
<script lang="tsx">
import type { PropType, Ref } from 'vue'
import { computed, defineComponent, toRefs, unref } from 'vue'
import type { TableActionType } from '@/components/Table'
import type { Rule as ValidationRule } from 'ant-design-vue/lib/form'
import type { PropType, Ref } from 'vue'
import type { FormActionType, FormProps, FormSchemaInner as FormSchema } from '../types/form'
import { BasicHelp } from '@/components/Basic'
import { useI18n } from '@/hooks/web/useI18n'
import { getSlot } from '@/utils/helper/tsxHelper'
import { isBoolean, isFunction, isNull } from '@/utils/is'
import { Col, Divider, Form } from 'ant-design-vue'
import { cloneDeep, upperFirst } from 'lodash-es'
import type { FormActionType, FormProps, FormSchemaInner as FormSchema } from '../types/form'
import { isComponentFormSchema } from '../types/form'
import { computed, defineComponent, toRefs, unref } from 'vue'
import { componentMap } from '../componentMap'
import { NO_AUTO_LINK_COMPONENTS, createPlaceholderMessage, setComponentRuleType } from '../helper'
import { createPlaceholderMessage, NO_AUTO_LINK_COMPONENTS, setComponentRuleType } from '../helper'
import { useItemLabelWidth } from '../hooks/useLabelWidth'
import type { TableActionType } from '@/components/Table'
import { BasicHelp } from '@/components/Basic'
import { isBoolean, isFunction, isNull } from '@/utils/is'
import { getSlot } from '@/utils/helper/tsxHelper'
import { useI18n } from '@/hooks/web/useI18n'
import { isComponentFormSchema } from '../types/form'
export default defineComponent({
name: 'BasicFormItem',

18
src/components/Form/src/components/ImageUpload.vue

@ -1,18 +1,18 @@
<script lang="ts" setup>
import type { PropType } from 'vue'
import { reactive, ref, watch } from 'vue'
import type { UploadProps } from 'ant-design-vue'
import { Modal, Upload, message } from 'ant-design-vue'
import type { UploadFile } from 'ant-design-vue/lib/upload/interface'
import { join } from 'lodash-es'
import { PlusOutlined } from '@ant-design/icons-vue'
import type { PropType } from 'vue'
import { useRuleFormItem } from '@/hooks/component/useFormItem'
import { useAttrs } from '@/hooks/core/useAttrs'
import { useI18n } from '@/hooks/web/useI18n'
import { propTypes } from '@/utils/propTypes'
import { buildShortUUID } from '@/utils/uuid'
import { getAccessToken, getTenantId } from '@/utils/auth'
import { isArray, isHttpUrl, isNil } from '@/utils/is'
import { useRuleFormItem } from '@/hooks/component/useFormItem'
import { useAttrs } from '@/hooks/core/useAttrs'
import { propTypes } from '@/utils/propTypes'
import { buildShortUUID } from '@/utils/uuid'
import { PlusOutlined } from '@ant-design/icons-vue'
import { message, Modal, Upload } from 'ant-design-vue'
import { join } from 'lodash-es'
import { reactive, ref, watch } from 'vue'
type ImageUploadType = 'text' | 'picture' | 'picture-card'

6
src/components/Form/src/components/RadioButtonGroup.vue

@ -3,11 +3,11 @@
-->
<script lang="ts" setup>
import type { PropType } from 'vue'
import { computed, ref } from 'vue'
import { Radio } from 'ant-design-vue'
import { isString } from '@/utils/is'
import { useRuleFormItem } from '@/hooks/component/useFormItem'
import { useAttrs } from '@/hooks/core/useAttrs'
import { isString } from '@/utils/is'
import { Radio } from 'ant-design-vue'
import { computed, ref } from 'vue'
interface OptionsItem { label: string, value: string | number | boolean, disabled?: boolean }
type RadioItem = string | OptionsItem

2
src/components/Form/src/components/UploadItemActions.vue

@ -1,6 +1,6 @@
<script lang="ts" setup>
import { computed, unref } from 'vue'
import { useMessage } from '@/hooks/web/useMessage'
import { computed, unref } from 'vue'
const props = defineProps({
element: { type: HTMLElement, required: true },

8
src/components/Form/src/hooks/useAdvanced.ts

@ -1,11 +1,11 @@
import type { ComputedRef, Ref } from 'vue'
import { computed, getCurrentInstance, shallowReactive, unref, watch } from 'vue'
import { useDebounceFn } from '@vueuse/core'
import type { ColEx } from '../types'
import type { AdvanceState } from '../types/hooks'
import type { FormProps, FormSchemaInner as FormSchema } from '../types/form'
import { isBoolean, isFunction, isNumber, isObject } from '@/utils/is'
import type { AdvanceState } from '../types/hooks'
import { useBreakpoint } from '@/hooks/event/useBreakpoint'
import { isBoolean, isFunction, isNumber, isObject } from '@/utils/is'
import { useDebounceFn } from '@vueuse/core'
import { computed, getCurrentInstance, shallowReactive, unref, watch } from 'vue'
const BASIC_COL_LEN = 24

2
src/components/Form/src/hooks/useAutoFocus.ts

@ -1,6 +1,6 @@
import type { ComputedRef, Ref } from 'vue'
import { nextTick, unref, watchEffect } from 'vue'
import type { FormActionType, FormProps, FormSchemaInner as FormSchema } from '../types/form'
import { nextTick, unref, watchEffect } from 'vue'
interface UseAutoFocusContext {
getSchema: ComputedRef<FormSchema[]>

2
src/components/Form/src/hooks/useComponentRegister.ts

@ -1,6 +1,6 @@
import { tryOnUnmounted } from '@vueuse/core'
import type { Component } from 'vue'
import type { ComponentType } from '../types'
import { tryOnUnmounted } from '@vueuse/core'
import { add, del } from '../componentMap'
export function useComponentRegister(compName: ComponentType, comp: Component) {

6
src/components/Form/src/hooks/useForm.ts

@ -1,10 +1,10 @@
import type { DynamicProps } from '@/types/utils'
import type { NamePath } from 'ant-design-vue/lib/form/interface'
import { nextTick, onUnmounted, ref, unref, watch } from 'vue'
import type { FormActionType, FormProps, FormSchemaInner as FormSchema, UseFormReturnType } from '../types/form'
import type { DynamicProps } from '@/types/utils'
import { getDynamicProps } from '@/utils'
import { isProdMode } from '@/utils/env'
import { error } from '@/utils/log'
import { getDynamicProps } from '@/utils'
import { nextTick, onUnmounted, ref, unref, watch } from 'vue'
export declare type ValidateFields = (nameList?: NamePath[]) => Promise<Recordable>

14
src/components/Form/src/hooks/useFormEvents.ts

@ -1,13 +1,13 @@
import type { ComputedRef, Ref } from 'vue'
import type { NamePath } from 'ant-design-vue/lib/form/interface'
import { nextTick, toRaw, unref } from 'vue'
import { cloneDeep, get, set, uniqBy } from 'lodash-es'
import type { ComputedRef, Ref } from 'vue'
import type { FormActionType, FormProps, FormSchemaInner as FormSchema } from '../types/form'
import { dateItemType, defaultValueComponents, handleInputNumberValue } from '../helper'
import { isArray, isDef, isEmpty, isFunction, isNil, isObject, isString } from '@/utils/is'
import { deepMerge } from '@/utils'
import { dateUtil } from '@/utils/dateUtil'
import { isArray, isDef, isEmpty, isFunction, isNil, isObject, isString } from '@/utils/is'
import { error } from '@/utils/log'
import { cloneDeep, get, set, uniqBy } from 'lodash-es'
import { nextTick, toRaw, unref } from 'vue'
import { dateItemType, defaultValueComponents, handleInputNumberValue } from '../helper'
interface UseFormActionContext {
emit: EmitType
@ -311,8 +311,8 @@ export function useFormEvents({
&& item.field
&& !isNil(item.defaultValue)
&& (!(item.field in currentFieldsValue)
|| isNil(currentFieldsValue[item.field])
|| isEmpty(currentFieldsValue[item.field]))
|| isNil(currentFieldsValue[item.field])
|| isEmpty(currentFieldsValue[item.field]))
) {
obj[item.field] = item.defaultValue
}

4
src/components/Form/src/hooks/useFormValues.ts

@ -1,9 +1,9 @@
import { unref } from 'vue'
import type { ComputedRef, Ref } from 'vue'
import { cloneDeep, get, set, unset } from 'lodash-es'
import type { FormProps, FormSchemaInner as FormSchema } from '../types/form'
import { dateUtil } from '@/utils/dateUtil'
import { isArray, isEmpty, isFunction, isNil, isObject, isString } from '@/utils/is'
import { cloneDeep, get, set, unset } from 'lodash-es'
import { unref } from 'vue'
interface UseFormValuesContext {
defaultValueRef: Ref<any>

2
src/components/Form/src/hooks/useLabelWidth.ts

@ -1,7 +1,7 @@
import type { Ref } from 'vue'
import { computed, unref } from 'vue'
import type { FormProps, FormSchemaInner as FormSchema } from '../types/form'
import { isNumber } from '@/utils/is'
import { computed, unref } from 'vue'
export function useItemLabelWidth(schemaItemRef: Ref<FormSchema>, propsRef: Ref<FormProps>) {
return computed(() => {

6
src/components/Form/src/props.ts

@ -1,9 +1,9 @@
import type { CSSProperties, PropType } from 'vue'
import type { TableActionType } from '@/components/Table'
import type { ButtonProps } from 'ant-design-vue/es/button/buttonTypes'
import type { RowProps } from 'ant-design-vue/lib/grid/Row'
import type { FieldMapToTime, FormActionType, FormSchema } from './types/form'
import type { CSSProperties, PropType } from 'vue'
import type { ColEx } from './types'
import type { TableActionType } from '@/components/Table'
import type { FieldMapToTime, FormActionType, FormSchema } from './types/form'
import { propTypes } from '@/utils/propTypes'
export const basicProps = {

6
src/components/Form/src/types/form.ts

@ -1,10 +1,10 @@
import type { ButtonProps as AntdButtonProps } from '@/components/Button'
import type { TableActionType } from '@/components/Table/src/types/table'
import type { NamePath, RuleObject } from 'ant-design-vue/lib/form/interface'
import type { CSSProperties, VNode } from 'vue'
import type { RowProps } from 'ant-design-vue/lib/grid/Row'
import type { CSSProperties, VNode } from 'vue'
import type { FormItem } from './formItem'
import type { ColEx, ComponentProps, ComponentType } from './index'
import type { ButtonProps as AntdButtonProps } from '@/components/Button'
import type { TableActionType } from '@/components/Table/src/types/table'
export type FieldMapToTime = [string, [string, string], (string | [string, string])?][]

2
src/components/IFrame/index.ts

@ -1,4 +1,4 @@
import iFrame from './src/IFrame.vue'
import { withInstall } from '@/utils'
import iFrame from './src/IFrame.vue'
export const IFrame = withInstall(iFrame)

2
src/components/IFrame/src/IFrame.vue

@ -1,6 +1,6 @@
<script lang="ts" setup>
import { onMounted, ref } from 'vue'
import { propTypes } from '@/utils/propTypes'
import { onMounted, ref } from 'vue'
const props = defineProps({
src: propTypes.string.def(''),

2
src/components/Icon/index.ts

@ -1,4 +1,4 @@
import SvgIcon from './src/SvgIcon.vue'
import IconPicker from './src/IconPicker.vue'
import SvgIcon from './src/SvgIcon.vue'
export { IconPicker, SvgIcon }

16
src/components/Icon/src/IconPicker.vue

@ -1,15 +1,15 @@
<script lang="ts" setup>
import { ref, watch, watchEffect } from 'vue'
import { Empty, Input, Popover } from 'ant-design-vue'
import { useDebounceFn } from '@vueuse/core'
import svgIcons from 'virtual:svg-icons-names'
import SvgIcon from './SvgIcon.vue'
import { getIcons } from './icons'
import { useDesign } from '@/hooks/web/useDesign'
import { ScrollContainer } from '@/components/Container'
import { useDesign } from '@/hooks/web/useDesign'
import { useI18n } from '@/hooks/web/useI18n'
import { copyText } from '@/utils/copyTextToClipboard'
import { useDebounceFn } from '@vueuse/core'
import { Empty, Input, Popover } from 'ant-design-vue'
import svgIcons from 'virtual:svg-icons-names'
import { ref, watch, watchEffect } from 'vue'
import { getIcons } from './icons'
import SvgIcon from './SvgIcon.vue'
export interface Props {
value?: string

2
src/components/Icon/src/SvgIcon.vue

@ -1,7 +1,7 @@
<script lang="ts" setup>
import type { CSSProperties } from 'vue'
import { computed } from 'vue'
import { useDesign } from '@/hooks/web/useDesign'
import { computed } from 'vue'
defineOptions({ name: 'SvgIcon' })

4
src/components/ImportModal/src/ImportModal.vue

@ -1,11 +1,11 @@
<script setup lang="ts">
import { BasicModal, useModalInner } from '@/components/Modal'
import FileUpload from '@/components/Form/src/components/FileUpload.vue'
import { BasicModal, useModalInner } from '@/components/Modal'
import { useGlobSetting } from '@/hooks/setting'
import { useMessage } from '@/hooks/web/useMessage'
import { noop } from '@/utils'
import { downloadByData } from '@/utils/file/download'
import { defHttp } from '@/utils/http/axios'
import { noop } from '@/utils'
const props = defineProps<{
title?: string

4
src/components/JsonPreviewModal/src/index.vue

@ -1,7 +1,7 @@
<script setup lang="ts">
import { computed, ref } from 'vue'
import { Modal } from 'ant-design-vue'
import { JsonPreview } from '@/components/CodeEditor'
import { Modal } from 'ant-design-vue'
import { computed, ref } from 'vue'
const modalProps = withDefaults(defineProps<{
title?: string

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save