Преглед на файлове

chore: @vben-core/iconify was renamed @vben-core/icons. Add readme.md for some packages

vince преди 9 месеца
родител
ревизия
3eb7a8bc6f
променени са 68 файла, в които са добавени 261 реда и са изтрити 132 реда
  1. 1 1
      cspell.json
  2. 1 1
      internal/lint-configs/prettier-config/package.json
  3. 2 2
      internal/lint-configs/stylelint-config/package.json
  4. 1 1
      internal/node-utils/package.json
  5. 2 2
      internal/vite-config/package.json
  6. 0 0
      packages/@core/shared/icons/build.config.ts
  7. 2 2
      packages/@core/shared/icons/package.json
  8. 0 0
      packages/@core/shared/icons/src/create-icon.ts
  9. 0 0
      packages/@core/shared/icons/src/index.ts
  10. 0 0
      packages/@core/shared/icons/src/material.ts
  11. 0 0
      packages/@core/shared/icons/src/mdi.ts
  12. 0 0
      packages/@core/shared/icons/tsconfig.json
  13. 1 1
      packages/@core/ui-kit/layout-ui/package.json
  14. 1 1
      packages/@core/ui-kit/layout-ui/src/components/layout-header.vue
  15. 1 1
      packages/@core/ui-kit/layout-ui/src/components/widgets/sidebar-collapse-button.vue
  16. 1 1
      packages/@core/ui-kit/layout-ui/src/components/widgets/sidebar-fixed-button.vue
  17. 1 1
      packages/@core/ui-kit/menu-ui/package.json
  18. 1 1
      packages/@core/ui-kit/menu-ui/src/components/menu.vue
  19. 1 1
      packages/@core/ui-kit/menu-ui/src/components/sub-menu-content.vue
  20. 1 1
      packages/@core/ui-kit/shadcn-ui/package.json
  21. 1 1
      packages/@core/ui-kit/shadcn-ui/src/components/back-top/back-top.vue
  22. 1 1
      packages/@core/ui-kit/shadcn-ui/src/components/breadcrumb/breadcrumb.vue
  23. 1 1
      packages/@core/ui-kit/shadcn-ui/src/components/button/button.vue
  24. 1 1
      packages/@core/ui-kit/shadcn-ui/src/components/full-screen/full-screen.vue
  25. 1 1
      packages/@core/ui-kit/shadcn-ui/src/components/icon/icon.vue
  26. 1 4
      packages/@core/ui-kit/shadcn-ui/src/components/input-password/input-password.vue
  27. 2 2
      packages/@core/ui-kit/shadcn-ui/src/components/scrollbar/scrollbar.vue
  28. 1 1
      packages/@core/ui-kit/tabs-ui/package.json
  29. 3 3
      packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue
  30. 3 5
      packages/@core/ui-kit/tabs-ui/src/components/tabs/tabs.vue
  31. 1 1
      packages/@core/ui-kit/tabs-ui/src/components/widgets/tool-more.vue
  32. 1 1
      packages/@core/ui-kit/tabs-ui/src/components/widgets/tool-screen.vue
  33. 0 1
      packages/README.md
  34. 19 0
      packages/constants/README.md
  35. 1 1
      packages/effects/common-ui/package.json
  36. 1 1
      packages/effects/common-ui/src/authentication/third-party-login.vue
  37. 1 1
      packages/effects/common-ui/src/fallback/fallback.vue
  38. 1 1
      packages/effects/layouts/package.json
  39. 1 1
      packages/effects/layouts/src/basic/tabbar/use-tabs.ts
  40. 1 1
      packages/effects/layouts/src/widgets/color-toggle.vue
  41. 1 1
      packages/effects/layouts/src/widgets/global-search/global-search.vue
  42. 1 1
      packages/effects/layouts/src/widgets/global-search/search-panel.vue
  43. 1 1
      packages/effects/layouts/src/widgets/language-toggle.vue
  44. 1 1
      packages/effects/layouts/src/widgets/layout-toggle.vue
  45. 1 1
      packages/effects/layouts/src/widgets/lock-screen/lock-screen.vue
  46. 1 1
      packages/effects/layouts/src/widgets/notification/notification.vue
  47. 1 1
      packages/effects/layouts/src/widgets/preferences/blocks/input-item.vue
  48. 1 1
      packages/effects/layouts/src/widgets/preferences/blocks/layout/layout.vue
  49. 1 1
      packages/effects/layouts/src/widgets/preferences/blocks/number-field-item.vue
  50. 1 1
      packages/effects/layouts/src/widgets/preferences/blocks/select-item.vue
  51. 1 1
      packages/effects/layouts/src/widgets/preferences/blocks/switch-item.vue
  52. 1 1
      packages/effects/layouts/src/widgets/preferences/blocks/theme/builtin.vue
  53. 1 1
      packages/effects/layouts/src/widgets/preferences/blocks/theme/theme.vue
  54. 1 1
      packages/effects/layouts/src/widgets/preferences/preferences-sheet.vue
  55. 1 1
      packages/effects/layouts/src/widgets/theme-toggle/theme-toggle.vue
  56. 1 1
      packages/effects/layouts/src/widgets/user-dropdown/user-dropdown.vue
  57. 19 0
      packages/hooks/README.md
  58. 19 0
      packages/icons/README.md
  59. 1 1
      packages/icons/package.json
  60. 1 1
      packages/icons/src/iconify/index.ts
  61. 1 1
      packages/icons/src/svg/index.ts
  62. 1 1
      packages/icons/src/svg/load.ts
  63. 19 0
      packages/styles/README.md
  64. 20 0
      packages/types/README.md
  65. 19 0
      packages/utils/README.md
  66. 83 63
      pnpm-lock.yaml
  67. 2 2
      vben-admin.code-workspace
  68. 1 1
      website/package.json

+ 1 - 1
cspell.json

@@ -48,7 +48,7 @@
     "**/node_modules/**",
     "**/dist/**",
     "**/*-dist/**",
-    "**/iconify/**",
+    "**/icons/**",
     "pnpm-lock.yaml",
     "**/*.log"
   ]

+ 1 - 1
internal/lint-configs/prettier-config/package.json

@@ -28,7 +28,7 @@
     }
   },
   "dependencies": {
-    "prettier": "^3.3.2",
+    "prettier": "^3.3.3",
     "prettier-plugin-tailwindcss": "^0.6.5"
   }
 }

+ 2 - 2
internal/lint-configs/stylelint-config/package.json

@@ -36,13 +36,13 @@
     "postcss": "^8.4.39",
     "postcss-html": "^1.7.0",
     "postcss-scss": "^4.0.9",
-    "prettier": "^3.3.2",
+    "prettier": "^3.3.3",
     "stylelint": "^16.7.0",
     "stylelint-config-recommended": "^14.0.1",
     "stylelint-config-recommended-scss": "^14.1.0",
     "stylelint-config-recommended-vue": "^1.5.0",
     "stylelint-config-standard": "^36.0.1",
     "stylelint-order": "^6.0.4",
-    "stylelint-prettier": "^5.0.0"
+    "stylelint-prettier": "^5.0.1"
   }
 }

+ 1 - 1
internal/node-utils/package.json

@@ -35,7 +35,7 @@
     "find-up": "^7.0.0",
     "nanoid": "^5.0.7",
     "pkg-types": "^1.1.3",
-    "prettier": "^3.3.2",
+    "prettier": "^3.3.3",
     "rimraf": "^6.0.1",
     "zx": "^7.2.3"
   }

+ 2 - 2
internal/vite-config/package.json

@@ -34,7 +34,7 @@
     "resolve.exports": "^2.0.2",
     "vite-plugin-lib-inject-css": "^2.1.1",
     "vite-plugin-pwa": "^0.20.0",
-    "vite-plugin-vue-devtools": "^7.3.5"
+    "vite-plugin-vue-devtools": "^7.3.6"
   },
   "devDependencies": {
     "@types/html-minifier-terser": "^7.0.2",
@@ -46,7 +46,7 @@
     "rollup": "^4.18.1",
     "rollup-plugin-visualizer": "^5.12.0",
     "sass": "^1.77.8",
-    "unplugin-turbo-console": "^1.9.3",
+    "unplugin-turbo-console": "^1.9.5",
     "vite": "^5.3.3",
     "vite-plugin-compression": "^0.5.1",
     "vite-plugin-dts": "^3.9.1",

+ 0 - 0
packages/@core/shared/iconify/build.config.ts → packages/@core/shared/icons/build.config.ts


+ 2 - 2
packages/@core/shared/iconify/package.json → packages/@core/shared/icons/package.json

@@ -1,12 +1,12 @@
 {
-  "name": "@vben-core/iconify",
+  "name": "@vben-core/icons",
   "version": "5.0.0",
   "homepage": "https://github.com/vbenjs/vue-vben-admin",
   "bugs": "https://github.com/vbenjs/vue-vben-admin/issues",
   "repository": {
     "type": "git",
     "url": "git+https://github.com/vbenjs/vue-vben-admin.git",
-    "directory": "packages/@vben-core/shared/iconify"
+    "directory": "packages/@vben-core/shared/icons"
   },
   "license": "MIT",
   "type": "module",

+ 0 - 0
packages/@core/shared/iconify/src/create-icon.ts → packages/@core/shared/icons/src/create-icon.ts


+ 0 - 0
packages/@core/shared/iconify/src/index.ts → packages/@core/shared/icons/src/index.ts


+ 0 - 0
packages/@core/shared/iconify/src/material.ts → packages/@core/shared/icons/src/material.ts


+ 0 - 0
packages/@core/shared/iconify/src/mdi.ts → packages/@core/shared/icons/src/mdi.ts


+ 0 - 0
packages/@core/shared/iconify/tsconfig.json → packages/@core/shared/icons/tsconfig.json


+ 1 - 1
packages/@core/ui-kit/layout-ui/package.json

@@ -37,7 +37,7 @@
     }
   },
   "dependencies": {
-    "@vben-core/iconify": "workspace:*",
+    "@vben-core/icons": "workspace:*",
     "@vben-core/shadcn-ui": "workspace:*",
     "@vben-core/toolkit": "workspace:*",
     "@vben-core/typings": "workspace:*",

+ 1 - 1
packages/@core/ui-kit/layout-ui/src/components/layout-header.vue

@@ -2,7 +2,7 @@
 import type { CSSProperties } from 'vue';
 import { computed, useSlots } from 'vue';
 
-import { IcRoundMenu } from '@vben-core/iconify';
+import { IcRoundMenu } from '@vben-core/icons';
 import { VbenIconButton } from '@vben-core/shadcn-ui';
 
 interface Props {

+ 1 - 1
packages/@core/ui-kit/layout-ui/src/components/widgets/sidebar-collapse-button.vue

@@ -1,5 +1,5 @@
 <script setup lang="ts">
-import { MdiMenuClose, MdiMenuOpen } from '@vben-core/iconify';
+import { MdiMenuClose, MdiMenuOpen } from '@vben-core/icons';
 
 interface Props {
   theme: string;

+ 1 - 1
packages/@core/ui-kit/layout-ui/src/components/widgets/sidebar-fixed-button.vue

@@ -1,5 +1,5 @@
 <script setup lang="ts">
-import { MdiPin, MdiPinOff } from '@vben-core/iconify';
+import { MdiPin, MdiPinOff } from '@vben-core/icons';
 
 interface Props {
   theme: string;

+ 1 - 1
packages/@core/ui-kit/menu-ui/package.json

@@ -38,7 +38,7 @@
   },
   "dependencies": {
     "@vben-core/hooks": "workspace:*",
-    "@vben-core/iconify": "workspace:*",
+    "@vben-core/icons": "workspace:*",
     "@vben-core/shadcn-ui": "workspace:*",
     "@vben-core/toolkit": "workspace:*",
     "@vben-core/typings": "workspace:*",

+ 1 - 1
packages/@core/ui-kit/menu-ui/src/components/menu.vue

@@ -19,7 +19,7 @@ import {
 } from 'vue';
 
 import { useNamespace } from '@vben-core/hooks';
-import { IcRoundMoreHoriz } from '@vben-core/iconify';
+import { IcRoundMoreHoriz } from '@vben-core/icons';
 import { isHttpUrl } from '@vben-core/toolkit';
 
 import { UseResizeObserverReturn, useResizeObserver } from '@vueuse/core';

+ 1 - 1
packages/@core/ui-kit/menu-ui/src/components/sub-menu-content.vue

@@ -7,7 +7,7 @@ import { useNamespace } from '@vben-core/hooks';
 import {
   IcRoundChevronRight,
   IcRoundKeyboardArrowDown,
-} from '@vben-core/iconify';
+} from '@vben-core/icons';
 import { VbenIcon } from '@vben-core/shadcn-ui';
 
 import { useMenuContext } from '../hooks';

+ 1 - 1
packages/@core/ui-kit/shadcn-ui/package.json

@@ -43,7 +43,7 @@
   },
   "dependencies": {
     "@radix-icons/vue": "^1.0.0",
-    "@vben-core/iconify": "workspace:*",
+    "@vben-core/icons": "workspace:*",
     "@vben-core/toolkit": "workspace:*",
     "@vben-core/typings": "workspace:*",
     "@vueuse/core": "^10.11.0",

+ 1 - 1
packages/@core/ui-kit/shadcn-ui/src/components/back-top/back-top.vue

@@ -3,7 +3,7 @@ import type { BacktopProps } from './backtop';
 
 import { computed } from 'vue';
 
-import { IcRoundArrowUpward } from '@vben-core/iconify';
+import { IcRoundArrowUpward } from '@vben-core/icons';
 
 import { VbenButton } from '../button';
 import { useBackTop } from './use-backtop';

+ 1 - 1
packages/@core/ui-kit/shadcn-ui/src/components/breadcrumb/breadcrumb.vue

@@ -1,7 +1,7 @@
 <script lang="ts" setup>
 import type { IBreadcrumb } from './interface';
 
-import { IcRoundKeyboardArrowDown } from '@vben-core/iconify';
+import { IcRoundKeyboardArrowDown } from '@vben-core/icons';
 import {
   Breadcrumb,
   BreadcrumbItem,

+ 1 - 1
packages/@core/ui-kit/shadcn-ui/src/components/button/button.vue

@@ -2,7 +2,7 @@
 import type { HTMLAttributes } from 'vue';
 import { computed } from 'vue';
 
-import { MdiLoading } from '@vben-core/iconify';
+import { MdiLoading } from '@vben-core/icons';
 import {
   type ButtonVariants,
   buttonVariants,

+ 1 - 1
packages/@core/ui-kit/shadcn-ui/src/components/full-screen/full-screen.vue

@@ -1,5 +1,5 @@
 <script lang="ts" setup>
-import { IcRoundFullscreen, IcRoundFullscreenExit } from '@vben-core/iconify';
+import { IcRoundFullscreen, IcRoundFullscreenExit } from '@vben-core/icons';
 
 import { useFullscreen } from '@vueuse/core';
 

+ 1 - 1
packages/@core/ui-kit/shadcn-ui/src/components/icon/icon.vue

@@ -1,7 +1,7 @@
 <script setup lang="ts">
 import { type Component, computed } from 'vue';
 
-import { Icon, IconDefault } from '@vben-core/iconify';
+import { Icon, IconDefault } from '@vben-core/icons';
 import { isHttpUrl, isObject, isString } from '@vben-core/toolkit';
 
 const props = defineProps<{

+ 1 - 4
packages/@core/ui-kit/shadcn-ui/src/components/input-password/input-password.vue

@@ -1,10 +1,7 @@
 <script setup lang="ts">
 import { ref, useSlots } from 'vue';
 
-import {
-  IcOutlineVisibility,
-  IcOutlineVisibilityOff,
-} from '@vben-core/iconify';
+import { IcOutlineVisibility, IcOutlineVisibilityOff } from '@vben-core/icons';
 import {
   type InputProps,
   VbenInput,

+ 2 - 2
packages/@core/ui-kit/shadcn-ui/src/components/scrollbar/scrollbar.vue

@@ -44,7 +44,7 @@ function handleScroll(event: Event) {
       :class="{
         'opacity-100': !isAtTop,
       }"
-      class="scrollbar-top-shadow pointer-events-none absolute top-0 z-10 h-16 w-full opacity-0 transition-opacity duration-1000 ease-in-out will-change-[opacity]"
+      class="scrollbar-top-shadow pointer-events-none absolute top-0 z-10 h-12 w-full opacity-0 transition-opacity duration-300 ease-in-out will-change-[opacity]"
     ></div>
     <slot></slot>
     <div
@@ -52,7 +52,7 @@ function handleScroll(event: Event) {
       :class="{
         'opacity-100': !isAtTop && !isAtBottom,
       }"
-      class="scrollbar-bottom-shadow pointer-events-none absolute bottom-0 z-10 h-16 w-full opacity-0 transition-opacity duration-1000 ease-in-out will-change-[opacity]"
+      class="scrollbar-bottom-shadow pointer-events-none absolute bottom-0 z-10 h-12 w-full opacity-0 transition-opacity duration-300 ease-in-out will-change-[opacity]"
     ></div>
     <ScrollBar v-if="horizontal" orientation="horizontal" />
   </ScrollArea>

+ 1 - 1
packages/@core/ui-kit/tabs-ui/package.json

@@ -38,7 +38,7 @@
   },
   "dependencies": {
     "@vben-core/hooks": "workspace:*",
-    "@vben-core/iconify": "workspace:*",
+    "@vben-core/icons": "workspace:*",
     "@vben-core/shadcn-ui": "workspace:*",
     "@vben-core/typings": "workspace:*",
     "vue": "^3.4.31"

+ 3 - 3
packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue

@@ -5,7 +5,7 @@ import type { TabConfig, TabsProps } from '../../types';
 
 import { computed, nextTick, onMounted, ref, watch } from 'vue';
 
-import { IcRoundClose, MdiPin } from '@vben-core/iconify';
+import { IcRoundClose, MdiPin } from '@vben-core/icons';
 import { VbenContextMenu, VbenIcon } from '@vben-core/shadcn-ui';
 
 interface Props extends TabsProps {}
@@ -174,7 +174,7 @@ function handleUnpinTab(tab: TabConfig) {
 
               <!-- tab-item-main -->
               <div
-                class="tabs-chrome__item-main absolute left-0 right-0 z-[2] mx-[calc(var(--gap)*2)] my-0 flex h-full items-center overflow-hidden rounded-tl-[5px] rounded-tr-[5px] duration-150 group-hover:pr-3"
+                class="tabs-chrome__item-main group-[.is-active]:text-primary text-accent-foreground dark:group-[.is-active]:text-accent-foreground absolute left-0 right-0 z-[2] mx-[calc(var(--gap)*2)] my-0 flex h-full items-center overflow-hidden rounded-tl-[5px] rounded-tr-[5px] duration-150 group-hover:pr-3"
               >
                 <VbenIcon
                   v-if="showIcon"
@@ -184,7 +184,7 @@ function handleUnpinTab(tab: TabConfig) {
                 />
 
                 <span
-                  class="tabs-chrome__label text-accent-foreground ml-[var(--gap)] flex-1 overflow-hidden whitespace-nowrap"
+                  class="tabs-chrome__label ml-[var(--gap)] flex-1 overflow-hidden whitespace-nowrap"
                 >
                   {{ tab.title }}
                 </span>

+ 3 - 5
packages/@core/ui-kit/tabs-ui/src/components/tabs/tabs.vue

@@ -3,7 +3,7 @@ import type { TabConfig, TabsProps } from '../../types';
 
 import { computed } from 'vue';
 
-import { IcRoundClose, MdiPin } from '@vben-core/iconify';
+import { IcRoundClose, MdiPin } from '@vben-core/icons';
 import { VbenContextMenu, VbenIcon, VbenScrollbar } from '@vben-core/shadcn-ui';
 import { TabDefinition } from '@vben-core/typings';
 
@@ -113,7 +113,7 @@ function handleUnpinTab(tab: TabConfig) {
 
                 <!-- tab-item-main -->
                 <div
-                  class="mx-3 mr-3 flex h-full items-center overflow-hidden rounded-tl-[5px] rounded-tr-[5px] pr-3 transition-all duration-300"
+                  class="group-[.is-active]:text-primary dark:group-[.is-active]:text-accent-foreground text-accent-foreground mx-3 mr-3 flex h-full items-center overflow-hidden rounded-tl-[5px] rounded-tr-[5px] pr-3 transition-all duration-300"
                 >
                   <!-- <div
                   class="mx-3 ml-3 mr-2 flex h-full items-center overflow-hidden rounded-tl-[5px] rounded-tr-[5px] transition-all duration-300 group-hover:mr-2 group-hover:pr-4 group-[.is-active]:pr-4"
@@ -125,9 +125,7 @@ function handleUnpinTab(tab: TabConfig) {
                     fallback
                   />
 
-                  <span
-                    class="text-accent-foreground flex-1 overflow-hidden whitespace-nowrap"
-                  >
+                  <span class="flex-1 overflow-hidden whitespace-nowrap">
                     {{ tab.title }}
                   </span>
                 </div>

+ 1 - 1
packages/@core/ui-kit/tabs-ui/src/components/widgets/tool-more.vue

@@ -1,7 +1,7 @@
 <script lang="ts" setup>
 import type { DropdownMenuProps } from '@vben-core/shadcn-ui';
 
-import { IcRoundKeyboardArrowDown } from '@vben-core/iconify';
+import { IcRoundKeyboardArrowDown } from '@vben-core/icons';
 import { VbenDropdownMenu } from '@vben-core/shadcn-ui';
 
 defineProps<DropdownMenuProps>();

+ 1 - 1
packages/@core/ui-kit/tabs-ui/src/components/widgets/tool-screen.vue

@@ -1,5 +1,5 @@
 <script lang="ts" setup>
-import { IcRoundFitScreen, IcTwotoneFitScreen } from '@vben-core/iconify';
+import { IcRoundFitScreen, IcTwotoneFitScreen } from '@vben-core/icons';
 
 const screen = defineModel<boolean>('screen');
 

+ 0 - 1
packages/README.md

@@ -1 +0,0 @@
-# packages

+ 19 - 0
packages/constants/README.md

@@ -0,0 +1,19 @@
+# @vben/constants
+
+用于多个 `app` 公用的常量,继承了 `@vben-core/constants` 的所有能力。业务上有通用常量可以放在这里。
+
+## 用法
+
+### 添加依赖
+
+```bash
+# 进入目标应用目录,例如 apps/xxxx-app
+# cd apps/xxxx-app
+pnpm add @vben/hooks --workspace
+```
+
+### 使用
+
+```ts
+import { useNamespace } from '@vben/hooks';
+```

+ 1 - 1
packages/effects/common-ui/package.json

@@ -38,7 +38,7 @@
   },
   "dependencies": {
     "@vben-core/hooks": "workspace:*",
-    "@vben-core/iconify": "workspace:*",
+    "@vben-core/icons": "workspace:*",
     "@vben-core/locales": "workspace:*",
     "@vben-core/shadcn-ui": "workspace:*",
     "@vben/constants": "workspace:*",

+ 1 - 1
packages/effects/common-ui/src/authentication/third-party-login.vue

@@ -1,5 +1,5 @@
 <script setup lang="ts">
-import { MdiGithub, MdiGoogle, MdiQqchat, MdiWechat } from '@vben-core/iconify';
+import { MdiGithub, MdiGoogle, MdiQqchat, MdiWechat } from '@vben-core/icons';
 import { $t } from '@vben-core/locales';
 import { VbenIconButton } from '@vben-core/shadcn-ui';
 

+ 1 - 1
packages/effects/common-ui/src/fallback/fallback.vue

@@ -4,7 +4,7 @@ import type { FallbackProps } from './fallback';
 import { computed, defineAsyncComponent } from 'vue';
 import { useRouter } from 'vue-router';
 
-import { IcRoundArrowBackIosNew, IcRoundRefresh } from '@vben-core/iconify';
+import { IcRoundArrowBackIosNew, IcRoundRefresh } from '@vben-core/icons';
 import { $t } from '@vben-core/locales';
 import { VbenButton } from '@vben-core/shadcn-ui';
 

+ 1 - 1
packages/effects/layouts/package.json

@@ -38,7 +38,7 @@
   },
   "dependencies": {
     "@vben-core/helpers": "workspace:*",
-    "@vben-core/iconify": "workspace:*",
+    "@vben-core/icons": "workspace:*",
     "@vben-core/layout-ui": "workspace:*",
     "@vben-core/locales": "workspace:*",
     "@vben-core/menu-ui": "workspace:*",

+ 1 - 1
packages/effects/layouts/src/basic/tabbar/use-tabs.ts

@@ -20,7 +20,7 @@ import {
   MdiFormatHorizontalAlignRight,
   MdiPin,
   MdiPinOff,
-} from '@vben-core/iconify';
+} from '@vben-core/icons';
 import { $t, useI18n } from '@vben-core/locales';
 import { updatePreferences, usePreferences } from '@vben-core/preferences';
 import {

+ 1 - 1
packages/effects/layouts/src/widgets/color-toggle.vue

@@ -1,7 +1,7 @@
 <script setup lang="ts">
 import type { BuiltinThemeType } from '@vben-core/typings';
 
-import { IcRoundColorLens } from '@vben-core/iconify';
+import { IcRoundColorLens } from '@vben-core/icons';
 import {
   COLOR_PRESETS,
   preferences,

+ 1 - 1
packages/effects/layouts/src/widgets/global-search/global-search.vue

@@ -9,7 +9,7 @@ import {
   IcRoundSearch,
   IcRoundSubdirectoryArrowLeft,
   MdiKeyboardEsc,
-} from '@vben-core/iconify';
+} from '@vben-core/icons';
 import { $t } from '@vben-core/locales';
 import {
   Dialog,

+ 1 - 1
packages/effects/layouts/src/widgets/global-search/search-panel.vue

@@ -4,7 +4,7 @@ import type { MenuRecordRaw } from '@vben-core/typings';
 import { nextTick, onMounted, ref, shallowRef, watch } from 'vue';
 import { useRouter } from 'vue-router';
 
-import { IcRoundClose, IcRoundSearchOff } from '@vben-core/iconify';
+import { IcRoundClose, IcRoundSearchOff } from '@vben-core/icons';
 import { $t } from '@vben-core/locales';
 import { VbenIcon, VbenScrollbar } from '@vben-core/shadcn-ui';
 import { mapTree, traverseTreeValues, uniqueByField } from '@vben-core/toolkit';

+ 1 - 1
packages/effects/layouts/src/widgets/language-toggle.vue

@@ -1,7 +1,7 @@
 <script setup lang="ts">
 import type { SupportedLanguagesType } from '@vben-core/typings';
 
-import { IcBaselineLanguage } from '@vben-core/iconify';
+import { IcBaselineLanguage } from '@vben-core/icons';
 import { loadLocaleMessages } from '@vben-core/locales';
 import {
   SUPPORT_LANGUAGES,

+ 1 - 1
packages/effects/layouts/src/widgets/layout-toggle.vue

@@ -4,7 +4,7 @@ import type { AuthPageLayoutType } from '@vben-core/typings';
 
 import { computed } from 'vue';
 
-import { MdiDockBottom, MdiDockLeft, MdiDockRight } from '@vben-core/iconify';
+import { MdiDockBottom, MdiDockLeft, MdiDockRight } from '@vben-core/icons';
 import { $t } from '@vben-core/locales';
 import {
   preferences,

+ 1 - 1
packages/effects/layouts/src/widgets/lock-screen/lock-screen.vue

@@ -1,7 +1,7 @@
 <script setup lang="ts">
 import { computed, reactive, ref, watchEffect } from 'vue';
 
-import { IcRoundLock } from '@vben-core/iconify';
+import { IcRoundLock } from '@vben-core/icons';
 import { $t, useI18n } from '@vben-core/locales';
 import {
   VbenAvatar,

+ 1 - 1
packages/effects/layouts/src/widgets/notification/notification.vue

@@ -4,7 +4,7 @@ import type { NotificationItem } from './types';
 import {
   IcRoundMarkEmailRead,
   IcRoundNotificationsNone,
-} from '@vben-core/iconify';
+} from '@vben-core/icons';
 import { $t } from '@vben-core/locales';
 import {
   VbenButton,

+ 1 - 1
packages/effects/layouts/src/widgets/preferences/blocks/input-item.vue

@@ -3,7 +3,7 @@ import type { SelectOption } from '@vben-core/typings';
 
 import { useSlots } from 'vue';
 
-import { MdiQuestionMarkCircleOutline } from '@vben-core/iconify';
+import { MdiQuestionMarkCircleOutline } from '@vben-core/icons';
 import { Input, VbenTooltip } from '@vben-core/shadcn-ui';
 
 defineOptions({

+ 1 - 1
packages/effects/layouts/src/widgets/preferences/blocks/layout/layout.vue

@@ -3,7 +3,7 @@ import type { LayoutType } from '@vben-core/typings';
 
 import { type Component, computed } from 'vue';
 
-import { MdiQuestionMarkCircleOutline } from '@vben-core/iconify';
+import { MdiQuestionMarkCircleOutline } from '@vben-core/icons';
 import { $t } from '@vben-core/locales';
 import { VbenTooltip } from '@vben-core/shadcn-ui';
 

+ 1 - 1
packages/effects/layouts/src/widgets/preferences/blocks/number-field-item.vue

@@ -3,7 +3,7 @@ import type { SelectOption } from '@vben-core/typings';
 
 import { useSlots } from 'vue';
 
-import { MdiQuestionMarkCircleOutline } from '@vben-core/iconify';
+import { MdiQuestionMarkCircleOutline } from '@vben-core/icons';
 import {
   NumberField,
   NumberFieldContent,

+ 1 - 1
packages/effects/layouts/src/widgets/preferences/blocks/select-item.vue

@@ -3,7 +3,7 @@ import type { SelectOption } from '@vben-core/typings';
 
 import { useSlots } from 'vue';
 
-import { MdiQuestionMarkCircleOutline } from '@vben-core/iconify';
+import { MdiQuestionMarkCircleOutline } from '@vben-core/icons';
 import {
   Select,
   SelectContent,

+ 1 - 1
packages/effects/layouts/src/widgets/preferences/blocks/switch-item.vue

@@ -1,7 +1,7 @@
 <script setup lang="ts">
 import { useSlots } from 'vue';
 
-import { MdiQuestionMarkCircleOutline } from '@vben-core/iconify';
+import { MdiQuestionMarkCircleOutline } from '@vben-core/icons';
 import { Switch, VbenTooltip } from '@vben-core/shadcn-ui';
 
 defineOptions({

+ 1 - 1
packages/effects/layouts/src/widgets/preferences/blocks/theme/builtin.vue

@@ -3,7 +3,7 @@ import type { BuiltinThemeType } from '@vben-core/typings';
 
 import { computed, ref } from 'vue';
 
-import { MdiEditBoxOutline } from '@vben-core/iconify';
+import { MdiEditBoxOutline } from '@vben-core/icons';
 import { $t } from '@vben-core/locales';
 import {
   BUILT_IN_THEME_PRESETS,

+ 1 - 1
packages/effects/layouts/src/widgets/preferences/blocks/theme/theme.vue

@@ -7,7 +7,7 @@ import {
   IcRoundMotionPhotosAuto,
   IcRoundWbSunny,
   MdiMoonAndStars,
-} from '@vben-core/iconify';
+} from '@vben-core/icons';
 import { $t } from '@vben-core/locales';
 
 import SwitchItem from '../switch-item.vue';

+ 1 - 1
packages/effects/layouts/src/widgets/preferences/preferences-sheet.vue

@@ -13,7 +13,7 @@ import type {
 
 import { computed, ref } from 'vue';
 
-import { IcRoundFolderCopy, IcRoundRestartAlt } from '@vben-core/iconify';
+import { IcRoundFolderCopy, IcRoundRestartAlt } from '@vben-core/icons';
 import { $t, loadLocaleMessages } from '@vben-core/locales';
 import {
   clearPreferencesCache,

+ 1 - 1
packages/effects/layouts/src/widgets/theme-toggle/theme-toggle.vue

@@ -5,7 +5,7 @@ import {
   IcRoundMotionPhotosAuto,
   IcRoundWbSunny,
   MdiMoonAndStars,
-} from '@vben-core/iconify';
+} from '@vben-core/icons';
 import { $t } from '@vben-core/locales';
 import {
   preferences,

+ 1 - 1
packages/effects/layouts/src/widgets/user-dropdown/user-dropdown.vue

@@ -8,7 +8,7 @@ import {
   IcRoundLock,
   IcRoundLogout,
   IcRoundSettingsSuggest,
-} from '@vben-core/iconify';
+} from '@vben-core/icons';
 import { $t } from '@vben-core/locales';
 import { preferences, usePreferences } from '@vben-core/preferences';
 import {

+ 19 - 0
packages/hooks/README.md

@@ -0,0 +1,19 @@
+# @vben/hooks
+
+用于多个 `app` 公用的 hook,继承了 `@vben-core/hooks` 的所有能力。业务上有通用 hooks 可以放在这里。
+
+## 用法
+
+### 添加依赖
+
+```bash
+# 进入目标应用目录,例如 apps/xxxx-app
+# cd apps/xxxx-app
+pnpm add @vben/hooks --workspace
+```
+
+### 使用
+
+```ts
+import { useNamespace } from '@vben/hooks';
+```

+ 19 - 0
packages/icons/README.md

@@ -0,0 +1,19 @@
+# @vben/icons
+
+用于多个 `app` 公用的图标文件,继承了 `@vben-core/icons` 的所有能力。业务上有通用图标可以放在这里。
+
+## 用法
+
+### 添加依赖
+
+```bash
+# 进入目标应用目录,例如 apps/xxxx-app
+# cd apps/xxxx-app
+pnpm add @vben/icons --workspace
+```
+
+### 使用
+
+```ts
+import { IcRoundClose } from '@vben/icons';
+```

+ 1 - 1
packages/icons/package.json

@@ -35,6 +35,6 @@
     }
   },
   "dependencies": {
-    "@vben-core/iconify": "workspace:*"
+    "@vben-core/icons": "workspace:*"
   }
 }

+ 1 - 1
packages/icons/src/iconify/index.ts

@@ -1 +1 @@
-export * from '@vben-core/iconify';
+export * from '@vben-core/icons';

+ 1 - 1
packages/icons/src/svg/index.ts

@@ -1,4 +1,4 @@
-import { createIconifyIcon } from '@vben-core/iconify';
+import { createIconifyIcon } from '@vben-core/icons';
 
 import { loadSvgIcons } from './load';
 

+ 1 - 1
packages/icons/src/svg/load.ts

@@ -1,7 +1,7 @@
 import {
   addIcon,
   // addCollection
-} from '@vben-core/iconify';
+} from '@vben-core/icons';
 
 // addCollection({
 //   prefix: 'mdi',

+ 19 - 0
packages/styles/README.md

@@ -0,0 +1,19 @@
+# @vben/styles
+
+用于多个 `app` 公用的样式文件,继承了 `@vben-core/design` 的所有能力。业务上有通用的样式文件可以放在这里。
+
+## 用法
+
+### 添加依赖
+
+```bash
+# 进入目标应用目录,例如 apps/xxxx-app
+# cd apps/xxxx-app
+pnpm add @vben/styles --workspace
+```
+
+### 使用
+
+```ts
+import '@vben/styles';
+```

+ 20 - 0
packages/types/README.md

@@ -0,0 +1,20 @@
+# @vben/types
+
+用于多个 `app` 公用的工具类型,继承了 `@vben-core/typings` 的所有能力。业务上有通用的类型定义可以放在这里。
+
+## 用法
+
+### 添加依赖
+
+```bash
+# 进入目标应用目录,例如 apps/xxxx-app
+# cd apps/xxxx-app
+pnpm add @vben/types --workspace
+```
+
+### 使用
+
+```ts
+// 推荐加上 type
+import type { SelectOption } from '@vben/types';
+```

+ 19 - 0
packages/utils/README.md

@@ -0,0 +1,19 @@
+# @vben/utils
+
+用于多个 `app` 公用的工具包,继承了 `@vben-core/toolkit` 的所有能力。业务上有通用的工具函数可以放在这里。
+
+## 用法
+
+### 添加依赖
+
+```bash
+# 进入目标应用目录,例如 apps/xxxx-app
+# cd apps/xxxx-app
+pnpm add @vben/utils --workspace
+```
+
+### 使用
+
+```ts
+import { isString } from '@vben/utils';
+```

+ 83 - 63
pnpm-lock.yaml

@@ -318,7 +318,7 @@ importers:
         version: 2.11.0(eslint@8.57.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@8.57.0))
       eslint-plugin-prettier:
         specifier: ^5.1.3
-        version: 5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2)
+        version: 5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3)
       eslint-plugin-regexp:
         specifier: ^2.6.0
         version: 2.6.0(eslint@8.57.0)
@@ -353,11 +353,11 @@ importers:
   internal/lint-configs/prettier-config:
     dependencies:
       prettier:
-        specifier: ^3.3.2
-        version: 3.3.2
+        specifier: ^3.3.3
+        version: 3.3.3
       prettier-plugin-tailwindcss:
         specifier: ^0.6.5
-        version: 0.6.5(prettier@3.3.2)
+        version: 0.6.5(prettier@3.3.3)
 
   internal/lint-configs/stylelint-config:
     dependencies:
@@ -381,8 +381,8 @@ importers:
         specifier: ^4.0.9
         version: 4.0.9(postcss@8.4.39)
       prettier:
-        specifier: ^3.3.2
-        version: 3.3.2
+        specifier: ^3.3.3
+        version: 3.3.3
       stylelint:
         specifier: ^16.7.0
         version: 16.7.0(typescript@5.5.3)
@@ -402,8 +402,8 @@ importers:
         specifier: ^6.0.4
         version: 6.0.4(stylelint@16.7.0(typescript@5.5.3))
       stylelint-prettier:
-        specifier: ^5.0.0
-        version: 5.0.0(prettier@3.3.2)(stylelint@16.7.0(typescript@5.5.3))
+        specifier: ^5.0.1
+        version: 5.0.1(prettier@3.3.3)(stylelint@16.7.0(typescript@5.5.3))
 
   internal/node-utils:
     dependencies:
@@ -429,8 +429,8 @@ importers:
         specifier: ^1.1.3
         version: 1.1.3
       prettier:
-        specifier: ^3.3.2
-        version: 3.3.2
+        specifier: ^3.3.3
+        version: 3.3.3
       rimraf:
         specifier: ^6.0.1
         version: 6.0.1
@@ -520,8 +520,8 @@ importers:
         specifier: ^0.20.0
         version: 0.20.0(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2))(workbox-build@7.1.1)(workbox-window@7.1.0)
       vite-plugin-vue-devtools:
-        specifier: ^7.3.5
-        version: 7.3.5(rollup@4.18.1)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2))(vue@3.4.31(typescript@5.5.3))
+        specifier: ^7.3.6
+        version: 7.3.6(rollup@4.18.1)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2))(vue@3.4.31(typescript@5.5.3))
     devDependencies:
       '@types/html-minifier-terser':
         specifier: ^7.0.2
@@ -551,8 +551,8 @@ importers:
         specifier: ^1.77.8
         version: 1.77.8
       unplugin-turbo-console:
-        specifier: ^1.9.3
-        version: 1.9.3(esbuild@0.23.0)(rollup@4.18.1)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2))(vue@3.4.31(typescript@5.5.3))(webpack@5.93.0(esbuild@0.23.0))
+        specifier: ^1.9.5
+        version: 1.9.5(esbuild@0.23.0)(rollup@4.18.1)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2))(vue@3.4.31(typescript@5.5.3))(webpack@5.93.0(esbuild@0.23.0))
       vite:
         specifier: ^5.3.3
         version: 5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2)
@@ -669,7 +669,7 @@ importers:
         specifier: ^1.15.8
         version: 1.15.8
 
-  packages/@core/shared/iconify:
+  packages/@core/shared/icons:
     dependencies:
       '@iconify/vue':
         specifier: ^4.1.2
@@ -723,9 +723,9 @@ importers:
 
   packages/@core/ui-kit/layout-ui:
     dependencies:
-      '@vben-core/iconify':
+      '@vben-core/icons':
         specifier: workspace:*
-        version: link:../../shared/iconify
+        version: link:../../shared/icons
       '@vben-core/shadcn-ui':
         specifier: workspace:*
         version: link:../shadcn-ui
@@ -747,9 +747,9 @@ importers:
       '@vben-core/hooks':
         specifier: workspace:*
         version: link:../../shared/hooks
-      '@vben-core/iconify':
+      '@vben-core/icons':
         specifier: workspace:*
-        version: link:../../shared/iconify
+        version: link:../../shared/icons
       '@vben-core/shadcn-ui':
         specifier: workspace:*
         version: link:../shadcn-ui
@@ -771,9 +771,9 @@ importers:
       '@radix-icons/vue':
         specifier: ^1.0.0
         version: 1.0.0(vue@3.4.31(typescript@5.5.3))
-      '@vben-core/iconify':
+      '@vben-core/icons':
         specifier: workspace:*
-        version: link:../../shared/iconify
+        version: link:../../shared/icons
       '@vben-core/toolkit':
         specifier: workspace:*
         version: link:../../shared/toolkit
@@ -801,9 +801,9 @@ importers:
       '@vben-core/hooks':
         specifier: workspace:*
         version: link:../../shared/hooks
-      '@vben-core/iconify':
+      '@vben-core/icons':
         specifier: workspace:*
-        version: link:../../shared/iconify
+        version: link:../../shared/icons
       '@vben-core/shadcn-ui':
         specifier: workspace:*
         version: link:../shadcn-ui
@@ -861,9 +861,9 @@ importers:
       '@vben-core/hooks':
         specifier: workspace:*
         version: link:../../@core/shared/hooks
-      '@vben-core/iconify':
+      '@vben-core/icons':
         specifier: workspace:*
-        version: link:../../@core/shared/iconify
+        version: link:../../@core/shared/icons
       '@vben-core/locales':
         specifier: workspace:*
         version: link:../../@core/locales
@@ -898,9 +898,9 @@ importers:
       '@vben-core/helpers':
         specifier: workspace:*
         version: link:../../@core/forward/helpers
-      '@vben-core/iconify':
+      '@vben-core/icons':
         specifier: workspace:*
-        version: link:../../@core/shared/iconify
+        version: link:../../@core/shared/icons
       '@vben-core/layout-ui':
         specifier: workspace:*
         version: link:../../@core/ui-kit/layout-ui
@@ -946,9 +946,9 @@ importers:
 
   packages/icons:
     dependencies:
-      '@vben-core/iconify':
+      '@vben-core/icons':
         specifier: workspace:*
-        version: link:../@core/shared/iconify
+        version: link:../@core/shared/icons
 
   packages/styles:
     dependencies:
@@ -995,8 +995,8 @@ importers:
   website:
     devDependencies:
       vitepress:
-        specifier: ^1.3.0
-        version: 1.3.0(@algolia/client-search@4.24.0)(@types/node@20.14.10)(async-validator@4.2.5)(axios@1.7.2)(nprogress@0.2.0)(postcss@8.4.39)(qrcode@1.5.3)(sass@1.77.8)(search-insights@2.15.0)(sortablejs@1.15.2)(terser@5.31.2)(typescript@5.5.3)
+        specifier: ^1.3.1
+        version: 1.3.1(@algolia/client-search@4.24.0)(@types/node@20.14.10)(async-validator@4.2.5)(axios@1.7.2)(nprogress@0.2.0)(postcss@8.4.39)(qrcode@1.5.3)(sass@1.77.8)(search-insights@2.15.0)(sortablejs@1.15.2)(terser@5.31.2)(typescript@5.5.3)
       vue:
         specifier: ^3.4.31
         version: 3.4.31(typescript@5.5.3)
@@ -3770,17 +3770,23 @@ packages:
   '@vue/devtools-api@7.3.5':
     resolution: {integrity: sha512-BSdBBu5hOIv+gBJC9jzYMh5bC27FQwjWLSb8fVAniqlL9gvsqvK27xTgczMf+hgctlszMYQnRm3bpY/j8vhPqw==}
 
-  '@vue/devtools-core@7.3.5':
-    resolution: {integrity: sha512-uSC3IkIp6MtyJYSh5xzY99sgqlAXLq+peE2KKXTi6JeRHOtMngFWFWENXi70IJ1EVGYztiFQoHhI9WZcgKBz8g==}
+  '@vue/devtools-core@7.3.6':
+    resolution: {integrity: sha512-XqFYVkyS3eySHF4bgLt+KF6yL6nYzVY/JTJHnK6KIJXIE4GIAxmn5Gxfsb4cUG9sl0FGiMqRCnM37Q+P08wr8A==}
     peerDependencies:
       vue: ^3.4.31
 
   '@vue/devtools-kit@7.3.5':
     resolution: {integrity: sha512-wwfi10gJ1HMtjzcd8aIOnzBHlIRqsYDgcDyrKvkeyc0Gbcoe7UrkXRVHZUOtcxxoplHA0PwpT6wFg0uUCmi8Ww==}
 
+  '@vue/devtools-kit@7.3.6':
+    resolution: {integrity: sha512-5Ym9V3fkJenEoptqKoo+cgY5RTVwrSssFdzRsuyIgaeiskCT+rRJeQdwoo81tyrQ1mfS7Er1rYZlSzr3Y3L/ew==}
+
   '@vue/devtools-shared@7.3.5':
     resolution: {integrity: sha512-Rqii3VazmWTi67a86rYopi61n5Ved05EybJCwyrfoO9Ok3MaS/4yRFl706ouoISMlyrASJFEzM0/AiDA6w4f9A==}
 
+  '@vue/devtools-shared@7.3.6':
+    resolution: {integrity: sha512-R/FOmdJV+hhuwcNoxp6e87RRkEeDMVhWH+nOsnHUrwjjsyeXJ2W1475Ozmw+cbZhejWQzftkHVKO28Fuo1yqCw==}
+
   '@vue/language-core@1.8.27':
     resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==}
     peerDependencies:
@@ -6705,8 +6711,8 @@ packages:
     resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
     engines: {node: '>=16 || 14 >=14.17'}
 
-  minisearch@6.3.0:
-    resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==}
+  minisearch@7.0.0:
+    resolution: {integrity: sha512-0OIJ3hUE+YBJNruDCqbTMFmk/IoB1CpZzuGfl11khFIel66ew9UoLF/+gfq3bdyrneqr3P7BTjFZApUbmk+9Dg==}
 
   minizlib@2.1.2:
     resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
@@ -7685,8 +7691,8 @@ packages:
     engines: {node: '>=10.13.0'}
     hasBin: true
 
-  prettier@3.3.2:
-    resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==}
+  prettier@3.3.3:
+    resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
     engines: {node: '>=14'}
     hasBin: true
 
@@ -8420,8 +8426,8 @@ packages:
     peerDependencies:
       stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1
 
-  stylelint-prettier@5.0.0:
-    resolution: {integrity: sha512-RHfSlRJIsaVg5Br94gZVdWlz/rBTyQzZflNE6dXvSxt/GthWMY3gEHsWZEBaVGg7GM+XrtVSp4RznFlB7i0oyw==}
+  stylelint-prettier@5.0.1:
+    resolution: {integrity: sha512-blsBcSiCv7ZNmUadZPo9tv/ZHxTDRUbByn/NUp3irH5AozPFnAE7SHM/md/2DMdQizUwfuD9/3kOKB5+4a1/4Q==}
     engines: {node: '>=18.12.0'}
     peerDependencies:
       prettier: '>=3.0.0'
@@ -8864,8 +8870,8 @@ packages:
     resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
     engines: {node: '>= 0.8'}
 
-  unplugin-turbo-console@1.9.3:
-    resolution: {integrity: sha512-oVsn3JybwYXJWSjYyI7a3YYAeKv+bQzzQzU0Q80PrnHTP/2qaUcqvXyM6lc/6/stpKZQ6eFSrTjd9sVQy0sb0w==}
+  unplugin-turbo-console@1.9.5:
+    resolution: {integrity: sha512-7tAeQ4wYdGKm67qFiNUsSdnNsRRbhQc9zd6OPltjXNNNLE+Suw+2I7SA0eK4prs+YY34pRzUs0OmC5EmJKUMrw==}
     peerDependencies:
       '@nuxt/kit': '>=3'
       '@nuxt/schema': '>=3'
@@ -8999,8 +9005,8 @@ packages:
       '@vite-pwa/assets-generator':
         optional: true
 
-  vite-plugin-vue-devtools@7.3.5:
-    resolution: {integrity: sha512-6omLXTfYu0bmSmncPSbj4mdMPB3t5dAZkUyriJikahGEnvv5gynHlydDsJShHT6l/5dCkvmSesSji/2a6FfutQ==}
+  vite-plugin-vue-devtools@7.3.6:
+    resolution: {integrity: sha512-j4Cssv6DVBtMZfyVBEm/4MZy7BiL6RedEn+f9jT3zFyGZKG1vNuEpTO86XvPPbHbYdITFyrkWb7VQuWyhfSgqA==}
     engines: {node: '>=v14.21.3'}
     peerDependencies:
       vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0
@@ -9038,8 +9044,8 @@ packages:
       terser:
         optional: true
 
-  vitepress@1.3.0:
-    resolution: {integrity: sha512-Cbm2AgXcCrukUeV+/24g1ZDSvw8blamh/1uf2pz3ApFpaYb9T7mo4imWDZ6APn2uPo4bJ6sgOzvsJ4aH+oLbBA==}
+  vitepress@1.3.1:
+    resolution: {integrity: sha512-soZDpg2rRVJNIM/IYMNDPPr+zTHDA5RbLDHAxacRu+Q9iZ2GwSR0QSUlLs+aEZTkG0SOX1dc8RmUYwyuxK8dfQ==}
     hasBin: true
     peerDependencies:
       markdown-it-mathjax3: ^4
@@ -12575,10 +12581,10 @@ snapshots:
     dependencies:
       '@vue/devtools-kit': 7.3.5
 
-  '@vue/devtools-core@7.3.5(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2))(vue@3.4.31(typescript@5.5.3))':
+  '@vue/devtools-core@7.3.6(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2))(vue@3.4.31(typescript@5.5.3))':
     dependencies:
-      '@vue/devtools-kit': 7.3.5
-      '@vue/devtools-shared': 7.3.5
+      '@vue/devtools-kit': 7.3.6
+      '@vue/devtools-shared': 7.3.6
       mitt: 3.0.1
       nanoid: 3.3.7
       pathe: 1.1.2
@@ -12597,10 +12603,24 @@ snapshots:
       speakingurl: 14.0.1
       superjson: 2.2.1
 
+  '@vue/devtools-kit@7.3.6':
+    dependencies:
+      '@vue/devtools-shared': 7.3.6
+      birpc: 0.2.17
+      hookable: 5.5.3
+      mitt: 3.0.1
+      perfect-debounce: 1.0.0
+      speakingurl: 14.0.1
+      superjson: 2.2.1
+
   '@vue/devtools-shared@7.3.5':
     dependencies:
       rfdc: 1.4.1
 
+  '@vue/devtools-shared@7.3.6':
+    dependencies:
+      rfdc: 1.4.1
+
   '@vue/language-core@1.8.27(typescript@5.5.3)':
     dependencies:
       '@volar/language-core': 1.11.1
@@ -14349,10 +14369,10 @@ snapshots:
       - supports-color
       - typescript
 
-  eslint-plugin-prettier@5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2):
+  eslint-plugin-prettier@5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3):
     dependencies:
       eslint: 8.57.0
-      prettier: 3.3.2
+      prettier: 3.3.3
       prettier-linter-helpers: 1.0.0
       synckit: 0.8.8
     optionalDependencies:
@@ -15922,7 +15942,7 @@ snapshots:
 
   minipass@7.1.2: {}
 
-  minisearch@6.3.0: {}
+  minisearch@7.0.0: {}
 
   minizlib@2.1.2:
     dependencies:
@@ -16849,13 +16869,13 @@ snapshots:
     dependencies:
       fast-diff: 1.3.0
 
-  prettier-plugin-tailwindcss@0.6.5(prettier@3.3.2):
+  prettier-plugin-tailwindcss@0.6.5(prettier@3.3.3):
     dependencies:
-      prettier: 3.3.2
+      prettier: 3.3.3
 
   prettier@2.8.8: {}
 
-  prettier@3.3.2: {}
+  prettier@3.3.3: {}
 
   pretty-bytes@5.6.0: {}
 
@@ -17617,9 +17637,9 @@ snapshots:
       postcss-sorting: 8.0.2(postcss@8.4.39)
       stylelint: 16.7.0(typescript@5.5.3)
 
-  stylelint-prettier@5.0.0(prettier@3.3.2)(stylelint@16.7.0(typescript@5.5.3)):
+  stylelint-prettier@5.0.1(prettier@3.3.3)(stylelint@16.7.0(typescript@5.5.3)):
     dependencies:
-      prettier: 3.3.2
+      prettier: 3.3.3
       prettier-linter-helpers: 1.0.0
       stylelint: 16.7.0(typescript@5.5.3)
 
@@ -18129,7 +18149,7 @@ snapshots:
 
   unpipe@1.0.0: {}
 
-  unplugin-turbo-console@1.9.3(esbuild@0.23.0)(rollup@4.18.1)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2))(vue@3.4.31(typescript@5.5.3))(webpack@5.93.0(esbuild@0.23.0)):
+  unplugin-turbo-console@1.9.5(esbuild@0.23.0)(rollup@4.18.1)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2))(vue@3.4.31(typescript@5.5.3))(webpack@5.93.0(esbuild@0.23.0)):
     dependencies:
       '@rollup/pluginutils': 5.1.0(rollup@4.18.1)
       ast-kit: 1.0.0
@@ -18311,11 +18331,11 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  vite-plugin-vue-devtools@7.3.5(rollup@4.18.1)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2))(vue@3.4.31(typescript@5.5.3)):
+  vite-plugin-vue-devtools@7.3.6(rollup@4.18.1)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2))(vue@3.4.31(typescript@5.5.3)):
     dependencies:
-      '@vue/devtools-core': 7.3.5(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2))(vue@3.4.31(typescript@5.5.3))
-      '@vue/devtools-kit': 7.3.5
-      '@vue/devtools-shared': 7.3.5
+      '@vue/devtools-core': 7.3.6(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2))(vue@3.4.31(typescript@5.5.3))
+      '@vue/devtools-kit': 7.3.6
+      '@vue/devtools-shared': 7.3.6
       execa: 8.0.1
       sirv: 2.0.4
       vite: 5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2)
@@ -18353,7 +18373,7 @@ snapshots:
       sass: 1.77.8
       terser: 5.31.2
 
-  vitepress@1.3.0(@algolia/client-search@4.24.0)(@types/node@20.14.10)(async-validator@4.2.5)(axios@1.7.2)(nprogress@0.2.0)(postcss@8.4.39)(qrcode@1.5.3)(sass@1.77.8)(search-insights@2.15.0)(sortablejs@1.15.2)(terser@5.31.2)(typescript@5.5.3):
+  vitepress@1.3.1(@algolia/client-search@4.24.0)(@types/node@20.14.10)(async-validator@4.2.5)(axios@1.7.2)(nprogress@0.2.0)(postcss@8.4.39)(qrcode@1.5.3)(sass@1.77.8)(search-insights@2.15.0)(sortablejs@1.15.2)(terser@5.31.2)(typescript@5.5.3):
     dependencies:
       '@docsearch/css': 3.6.0
       '@docsearch/js': 3.6.0(@algolia/client-search@4.24.0)(search-insights@2.15.0)
@@ -18367,7 +18387,7 @@ snapshots:
       '@vueuse/integrations': 10.11.0(async-validator@4.2.5)(axios@1.7.2)(focus-trap@7.5.4)(nprogress@0.2.0)(qrcode@1.5.3)(sortablejs@1.15.2)(vue@3.4.31(typescript@5.5.3))
       focus-trap: 7.5.4
       mark.js: 8.11.1
-      minisearch: 6.3.0
+      minisearch: 7.0.0
       shiki: 1.10.3
       vite: 5.3.3(@types/node@20.14.10)(sass@1.77.8)(terser@5.31.2)
       vue: 3.4.31(typescript@5.5.3)

+ 2 - 2
vben-admin.code-workspace

@@ -77,8 +77,8 @@
       "path": "packages/@core/shared/hooks",
     },
     {
-      "name": "@vben-core/iconify",
-      "path": "packages/@core/shared/iconify",
+      "name": "@vben-core/icons",
+      "path": "packages/@core/shared/icons",
     },
     {
       "name": "@vben-core/toolkit",

+ 1 - 1
website/package.json

@@ -8,7 +8,7 @@
     "docs:preview": "vitepress preview"
   },
   "devDependencies": {
-    "vitepress": "^1.3.0",
+    "vitepress": "^1.3.1",
     "vue": "^3.4.31"
   }
 }