@cyberpunk-vue/components 1.9.7 → 1.9.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,8 +26,11 @@ export type MenuVariant = 'solid' | 'outline' | 'note';
26
26
  * CpMenu 组件 Props 定义
27
27
  *
28
28
  * @description 赛博朋克风格导航菜单,支持水平/垂直模式、折叠、多色彩类型。
29
+ * 内置路由前缀匹配:当 `defaultActive` 为 `/model-specs/xxx` 时,
30
+ * 会自动匹配 `index="/model-specs"` 的菜单项并高亮其父级 SubMenu。
31
+ * 页面刷新或路由变化时,对应的子菜单会自动展开。
29
32
  *
30
- * @example
33
+ * @example 基础用法
31
34
  * ```vue
32
35
  * <CpMenu default-active="1">
33
36
  * <CpMenuItem index="1">菜单项一</CpMenuItem>
@@ -37,9 +40,48 @@ export type MenuVariant = 'solid' | 'outline' | 'note';
37
40
  * </CpSubMenu>
38
41
  * </CpMenu>
39
42
  * ```
40
- * @category 导航组件
43
+ *
44
+ * @example 配合 vue-router(推荐:defaultActive + @select)
45
+ * ```vue
46
+ * <script setup>
47
+ * import { computed } from 'vue'
48
+ * import { useRouter, useRoute } from 'vue-router'
49
+ *
50
+ * const router = useRouter()
51
+ * const route = useRoute()
52
+ *
53
+ * // 绑定 route.path 实现路由同步,支持子路由前缀匹配:
54
+ * // 访问 /model-specs/xxx 会自动匹配 index="/model-specs" 并高亮父级 SubMenu
55
+ * const activeMenu = computed(() => route.path)
56
+ *
57
+ * function handleMenuSelect(index: string) {
58
+ * router.push(index)
59
+ * }
60
+ * </script>
61
+ *
62
+ * <template>
63
+ * <CpMenu :default-active="activeMenu" @select="handleMenuSelect">
64
+ * <CpMenuItem index="/dashboard">仪表盘</CpMenuItem>
65
+ * <CpSubMenu index="ai-group">
66
+ * <template #title>AI Provider</template>
67
+ * <CpMenuItem index="/providers">Provider 管理</CpMenuItem>
68
+ * <CpMenuItem index="/model-specs">模型规格</CpMenuItem>
69
+ * </CpSubMenu>
70
+ * </CpMenu>
71
+ * </template>
72
+ * ```
73
+ *
74
+ * @example 内置 router 模式(自动调用 router.push)
75
+ * ```vue
76
+ * <!-- router 模式下点击菜单项自动导航,无需手动处理 @select -->
77
+ * <CpMenu :router="true" :default-active="route.path">
78
+ * <CpMenuItem index="/dashboard">仪表盘</CpMenuItem>
79
+ * <CpMenuItem index="/settings">设置</CpMenuItem>
80
+ * </CpMenu>
81
+ * ```
82
+ * @category 导航组件
41
83
  * @displayName CpMenu 菜单
42
- * @slots default - 菜单内容(CpMenuItem / CpSubMenu 等组合)
84
+ * @slots default - 菜单内容(CpMenuItem / CpSubMenu 等组合)
43
85
  */
44
86
  export declare const menuProps: {
45
87
  /**
@@ -73,7 +115,10 @@ export declare const menuProps: {
73
115
  readonly default: "solid";
74
116
  };
75
117
  /**
76
- * 默认激活的菜单项 index
118
+ * 默认激活的菜单项 index
119
+ * 支持前缀匹配:传入 `/model-specs/xxx` 会自动匹配 `index="/model-specs"` 的菜单项,
120
+ * 并高亮其所有父级 SubMenu、自动展开对应子菜单目录。
121
+ * 常见用法:绑定 `route.path` 实现路由同步。
77
122
  * @default ''
78
123
  */
79
124
  readonly defaultActive: {
@@ -121,7 +166,10 @@ export declare const menuProps: {
121
166
  readonly default: "";
122
167
  };
123
168
  /**
124
- * 是否启用 vue-router 模式
169
+ * 是否启用 vue-router 模式。
170
+ * 开启后点击 CpMenuItem 会自动调用 `router.push(index)`,
171
+ * 并监听路由变化自动同步激活状态。
172
+ * 不开启时也可通过 `:default-active="route.path"` + `@select` 实现等效效果。
125
173
  * @default false
126
174
  */
127
175
  readonly router: {
@@ -1 +1 @@
1
- {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../menu/src/menu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAErD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AAEvF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAA;AAEhD;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;AAEtD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,SAAS;IACpB;;;OAGG;;uBAEe,QAAQ,CAAC,QAAQ,CAAC;;;IAGpC;;;;;;OAMG;;uBAEe,QAAQ,CAAC,SAAS,CAAC;;;IAGrC;;;;;;OAMG;;uBAEe,QAAQ,CAAC,WAAW,CAAC;;;IAGvC;;;OAGG;;;;;IAKH;;;OAGG;;uBAEc,QAAQ,CAAC,MAAM,EAAE,CAAC;;;IAGnC;;;OAGG;;;;;IAKH;;;OAGG;;;;;IAKH;;;OAGG;;uBAEe,QAAQ,CAAC,QAAQ,CAAC;;;IAGpC;;;OAGG;;;;;IAKH;;;OAGG;;;;;CAKK,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,SAAS,CAAC,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB,aAAa;oBACG,MAAM,aAAa,MAAM,EAAE;IAE3C,YAAY;kBACE,MAAM,aAAa,MAAM,EAAE;IAEzC,YAAY;mBACG,MAAM,aAAa,MAAM,EAAE;CAE3C,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA"}
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../menu/src/menu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAErD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AAEvF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAA;AAEhD;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,eAAO,MAAM,SAAS;IACpB;;;OAGG;;uBAEe,QAAQ,CAAC,QAAQ,CAAC;;;IAGpC;;;;;;OAMG;;uBAEe,QAAQ,CAAC,SAAS,CAAC;;;IAGrC;;;;;;OAMG;;uBAEe,QAAQ,CAAC,WAAW,CAAC;;;IAGvC;;;;;;OAMG;;;;;IAKH;;;OAGG;;uBAEc,QAAQ,CAAC,MAAM,EAAE,CAAC;;;IAGnC;;;OAGG;;;;;IAKH;;;OAGG;;;;;IAKH;;;OAGG;;uBAEe,QAAQ,CAAC,QAAQ,CAAC;;;IAGpC;;;OAGG;;;;;IAKH;;;;;;OAMG;;;;;CAKK,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,SAAS,CAAC,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB,aAAa;oBACG,MAAM,aAAa,MAAM,EAAE;IAE3C,YAAY;kBACE,MAAM,aAAa,MAAM,EAAE;IAEzC,YAAY;mBACG,MAAM,aAAa,MAAM,EAAE;CAE3C,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu.vue.d.ts","sourceRoot":"","sources":["../../../menu/src/menu.vue"],"names":[],"mappings":"AA+ZA,iBAAS,cAAc;WAyBT,OAAO,IAA6B;;yBAVrB,GAAG;;;;EAe/B;AAWD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yFAQnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAEpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"menu.vue.d.ts","sourceRoot":"","sources":["../../../menu/src/menu.vue"],"names":[],"mappings":"AA2ZA,iBAAS,cAAc;WAyBT,OAAO,IAA6B;;yBAVrB,GAAG;;;;EAe/B;AAWD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yFAQnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAEpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyberpunk-vue/components",
3
- "version": "1.9.7",
3
+ "version": "1.9.9",
4
4
  "description": "Cyberpunk Vue components - A futuristic Vue 3 component library",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -23,9 +23,9 @@
23
23
  "vue": "^3.5.0"
24
24
  },
25
25
  "dependencies": {
26
- "@cyberpunk-vue/hooks": "1.9.7",
27
- "@cyberpunk-vue/theme-chalk": "1.9.7",
28
- "@cyberpunk-vue/constants": "1.9.7"
26
+ "@cyberpunk-vue/hooks": "1.9.9",
27
+ "@cyberpunk-vue/constants": "1.9.9",
28
+ "@cyberpunk-vue/theme-chalk": "1.9.9"
29
29
  },
30
30
  "author": "Juxest",
31
31
  "license": "MIT",