@robot-admin/naive-ui-components 0.10.1 → 0.10.2

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.
Files changed (107) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +2 -1
  3. package/dist/{C_AudioPlayer-ldTy9Y34.css.map → C_AudioPlayer-Cj4lUdZo.css.map} +1 -1
  4. package/dist/{C_AvatarGroup-SIzxuuZr.css.map → C_AvatarGroup-D3PwsKME.css.map} +1 -1
  5. package/dist/{C_Breadcrumb-Bqqrl8nX.css.map → C_Breadcrumb-DOcLt9uX.css.map} +1 -1
  6. package/dist/C_Breadcrumb.d.cts +3 -2
  7. package/dist/C_Breadcrumb.d.ts +2 -2
  8. package/dist/C_Captcha.d.cts +1 -1
  9. package/dist/C_Cascade.d.cts +1 -1
  10. package/dist/{C_Chat-CF1SU7mc.css.map → C_Chat-DwatUQqu.css.map} +1 -1
  11. package/dist/C_Chat.css +1 -1
  12. package/dist/C_Chat.d.cts +1 -1
  13. package/dist/C_City.d.cts +1 -1
  14. package/dist/C_Code.d.cts +1 -1
  15. package/dist/{C_ContextMenu-Bn_uhJSo.css.map → C_ContextMenu-CD0iaSju.css.map} +1 -1
  16. package/dist/C_ContextMenu.css +1 -1
  17. package/dist/C_ContextMenu.d.cts +1 -1
  18. package/dist/C_Date.d.cts +1 -1
  19. package/dist/C_Editor.d.cts +1 -1
  20. package/dist/C_Guide.d.cts +1 -1
  21. package/dist/C_Icon.d.cts +1 -1
  22. package/dist/C_Language.d.cts +1 -1
  23. package/dist/{C_Login-B3qYkLrN.css.map → C_Login-BrQBs_m4.css.map} +1 -1
  24. package/dist/C_Login.css +1 -1
  25. package/dist/C_Login.d.cts +1 -1
  26. package/dist/C_Markdown.d.cts +1 -1
  27. package/dist/C_Menu.cjs +1 -1
  28. package/dist/C_Menu.d.cts +3 -2
  29. package/dist/C_Menu.d.ts +2 -2
  30. package/dist/C_Menu.js +1 -1
  31. package/dist/C_Menu.js.map +1 -1
  32. package/dist/C_Menu2.js +1 -1
  33. package/dist/C_Menu2.js.map +1 -1
  34. package/dist/{C_OrgChart-ChZu346B.css.map → C_OrgChart-BXEp4i4w.css.map} +1 -1
  35. package/dist/C_OrgChart.css +1 -1
  36. package/dist/{C_Skeleton-BNPbaut7.css.map → C_Skeleton-BJoFYwrF.css.map} +1 -1
  37. package/dist/C_Skeleton.css +1 -1
  38. package/dist/{C_TagsView-BN8vMRsY.css.map → C_TagsView-DtGtYhBH.css.map} +1 -1
  39. package/dist/C_TagsView.css +1 -1
  40. package/dist/C_TagsView.d.cts +2 -1
  41. package/dist/C_TagsView.d.ts +2 -2
  42. package/dist/{C_Timeline-4rk0Dzgn.css.map → C_Timeline-irQcO-b7.css.map} +1 -1
  43. package/dist/C_Timeline.css +1 -1
  44. package/dist/{C_Transfer-B-vjvhjI.css.map → C_Transfer-11y3k-WD.css.map} +1 -1
  45. package/dist/C_Transfer.css +1 -1
  46. package/dist/constants.d.ts +5 -5
  47. package/dist/constants2.d.ts +6 -6
  48. package/dist/constants3.d.ts +2 -2
  49. package/dist/constants4.d.ts +4 -4
  50. package/dist/constants5.d.ts +4 -4
  51. package/dist/index.cjs +1 -1
  52. package/dist/index.cjs.map +1 -1
  53. package/dist/index.d.cts +16 -16
  54. package/dist/index.d.ts +154 -108
  55. package/dist/index.js +1 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/index.vue.d.ts +1 -1
  58. package/dist/index11.vue.d.ts +4 -4
  59. package/dist/index12.vue.d.ts +2 -2
  60. package/dist/index13.vue.d.ts +3 -3
  61. package/dist/index14.vue.d.ts +1 -1
  62. package/dist/index15.vue.d.ts +4 -4
  63. package/dist/index16.vue.d.ts +2 -2
  64. package/dist/index17.vue.d.ts +1 -1
  65. package/dist/index18.vue.d.ts +7 -7
  66. package/dist/index19.vue.d.ts +2 -2
  67. package/dist/index2.d.ts +120 -0
  68. package/dist/index2.vue.d.ts +1 -1
  69. package/dist/index20.vue.d.ts +2 -2
  70. package/dist/index21.vue.d.ts +1 -1
  71. package/dist/index22.vue.d.ts +3 -3
  72. package/dist/index23.vue.d.ts +1 -1
  73. package/dist/index24.vue.d.ts +1 -1
  74. package/dist/index26.vue.d.ts +2 -2
  75. package/dist/index27.vue.d.ts +2 -2
  76. package/dist/index28.vue.d.ts +2 -2
  77. package/dist/index3.vue.d.ts +2 -2
  78. package/dist/index4.vue.d.ts +5 -5
  79. package/dist/index5.vue.d.ts +1 -1
  80. package/dist/index6.vue.d.ts +3 -3
  81. package/dist/index7.vue.d.ts +2 -2
  82. package/dist/index8.vue.d.ts +2 -2
  83. package/dist/index9.vue.d.ts +2 -2
  84. package/dist/style.css +16 -16
  85. package/dist/{menuAdapter.d.ts → types.d.ts} +2 -61
  86. package/dist/useCalendarEvents.d.ts +1 -1
  87. package/dist/useCollapsePanel.d.ts +7 -7
  88. package/dist/useCropperCore.d.ts +6 -6
  89. package/dist/useDraggableLayout.d.ts +8 -8
  90. package/dist/useDynamicFormState.d.ts +2 -2
  91. package/dist/useGlobalSearch.d.ts +1 -1
  92. package/dist/useInfiniteScroll.d.ts +4 -4
  93. package/dist/useModalEdit.d.ts +5 -5
  94. package/dist/useQRCode.d.ts +4 -4
  95. package/dist/useSearchState.d.ts +2 -2
  96. package/dist/useSignatureHistory.d.ts +1 -1
  97. package/dist/useSplitResize.d.ts +7 -7
  98. package/dist/useTimeSelection.d.ts +3 -3
  99. package/dist/useTreeOperations.d.ts +5 -5
  100. package/dist/useWorkflowValidation.d.ts +6 -6
  101. package/package.json +1 -1
  102. package/dist/_shared.cjs +0 -1
  103. package/dist/_shared.d.cts +0 -2
  104. package/dist/_shared.d.ts +0 -2
  105. package/dist/_shared.js +0 -1
  106. package/dist/menuAdapter.js +0 -2
  107. package/dist/menuAdapter.js.map +0 -1
@@ -237,19 +237,19 @@ declare const __VLS_export: vue.DefineComponent<WorkflowProps, {
237
237
  conditionNodes: number;
238
238
  }>;
239
239
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
240
- change: (value: WorkflowData) => any;
241
240
  "update:modelValue": (value: WorkflowData) => any;
242
- "node-click": (node: WorkflowNode) => any;
241
+ change: (value: WorkflowData) => any;
243
242
  save: (data: WorkflowData) => any;
244
- "edge-click": (edge: WorkflowEdge) => any;
245
243
  "validate-error": (errors: ValidationError[]) => any;
244
+ "node-click": (node: WorkflowNode) => any;
245
+ "edge-click": (edge: WorkflowEdge) => any;
246
246
  }, string, vue.PublicProps, Readonly<WorkflowProps> & Readonly<{
247
- onChange?: ((value: WorkflowData) => any) | undefined;
248
247
  "onUpdate:modelValue"?: ((value: WorkflowData) => any) | undefined;
249
- "onNode-click"?: ((node: WorkflowNode) => any) | undefined;
248
+ onChange?: ((value: WorkflowData) => any) | undefined;
250
249
  onSave?: ((data: WorkflowData) => any) | undefined;
251
- "onEdge-click"?: ((edge: WorkflowEdge) => any) | undefined;
252
250
  "onValidate-error"?: ((errors: ValidationError[]) => any) | undefined;
251
+ "onNode-click"?: ((node: WorkflowNode) => any) | undefined;
252
+ "onEdge-click"?: ((edge: WorkflowEdge) => any) | undefined;
253
253
  }>, {
254
254
  readonly: boolean;
255
255
  theme: "light" | "dark";
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.10.1",
6
+ "version": "0.10.2",
7
7
  "description": "基于 Naive UI 的 Vue 3 组件库",
8
8
  "type": "module",
9
9
  "main": "dist/index.cjs",
package/dist/_shared.cjs DELETED
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./menuAdapter.js`);exports.createMenuOptions=e.t,exports.flattenRoutes=e.n;
@@ -1,2 +0,0 @@
1
- import { a as RouteItem, i as BreadcrumbItem, n as createMenuOptions, o as RouteMeta, r as flattenRoutes, s as TagItem, t as MenuAdapterConfig } from "./menuAdapter.js";
2
- export { type BreadcrumbItem, type MenuAdapterConfig, type RouteItem, type RouteMeta, type TagItem, createMenuOptions, flattenRoutes };
package/dist/_shared.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { a as RouteItem, i as BreadcrumbItem, n as createMenuOptions, o as RouteMeta, r as flattenRoutes, s as TagItem, t as MenuAdapterConfig } from "./menuAdapter.js";
2
- export { type BreadcrumbItem, type MenuAdapterConfig, type RouteItem, type RouteMeta, type TagItem, createMenuOptions, flattenRoutes };
package/dist/_shared.js DELETED
@@ -1 +0,0 @@
1
- import{n as e,t}from"./menuAdapter.js";export{t as createMenuOptions,e as flattenRoutes};
@@ -1,2 +0,0 @@
1
- import{h as e}from"vue";import{Icon as t}from"@iconify/vue";const n=e=>e.startsWith(`/`)?e:`/${e}`,r=e=>e.path?n(e.path):``,i=e=>e.meta?.title||e.name||``,a=e=>!e.meta?.hidden,o=n=>{if(n){if(typeof n==`string`)return()=>e(`span`,{class:`n-icon`,style:`display: inline-flex; align-items: center;`},[e(t,{icon:n})]);if(typeof n==`function`)return n}};function s(e,t={}){let{labelFormatter:n=e=>e,getKey:s=r,getLabel:c=i,filter:l=a,renderIcon:u=o,recursive:d=!0}=t,f=e=>e.filter(l).map(e=>{let t=e.meta?.icon||e.icon,r=d&&e.children?.length?f(e.children):void 0;return{key:s(e),label:n(c(e)),disabled:e.disabled||!1,icon:u(t),...e.type&&{type:e.type},...r?.length&&{children:r}}});return f(e)}function c(e,t=a){let n=[],r=e=>{for(let i of e)t(i)&&n.push(i),i.children?.length&&r(i.children)};return r(e),n}export{c as n,s as t};
2
- //# sourceMappingURL=menuAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menuAdapter.js","names":[],"sources":["../src/components/_shared/menuAdapter.ts"],"sourcesContent":["/**\n * 菜单适配器 — 将路由数据转换为 NMenu 的 MenuOption[]\n *\n * 设计理念:\n * - 开箱即用:`createMenuOptions(routes)` 零配置即可生成菜单\n * - 完全可控:通过 `MenuAdapterConfig` 定制每一步转换逻辑\n * - i18n 解耦:`labelFormatter` 回调注入翻译函数,不绑定任何 i18n 方案\n *\n * @example 基础用法\n * ```ts\n * import { createMenuOptions } from '@robot-admin/naive-ui-components'\n *\n * const menuOptions = createMenuOptions(routes)\n * ```\n *\n * @example 带 i18n + 过滤\n * ```ts\n * const menuOptions = createMenuOptions(routes, {\n * labelFormatter: t, // vue-i18n 的 t 函数\n * filter: route => !route.meta?.hidden,\n * })\n * ```\n *\n * @example 自定义 key 取值\n * ```ts\n * const menuOptions = createMenuOptions(routes, {\n * getKey: route => route.name || route.path,\n * })\n * ```\n */\n\nimport { h, type VNode } from 'vue'\nimport { Icon } from '@iconify/vue'\nimport type { MenuOption } from 'naive-ui/es'\nimport type { RouteItem } from './types'\n\n/**\n * 菜单适配器配置\n */\nexport interface MenuAdapterConfig {\n /**\n * 标签文本格式化函数(用于 i18n)\n * 默认:原样返回 title\n */\n labelFormatter?: (title: string) => string\n\n /**\n * 获取菜单项的唯一 key\n * 默认:`normalizePath(route.path)`\n */\n getKey?: (route: RouteItem) => string\n\n /**\n * 获取显示文本\n * 默认:`route.meta?.title || route.name || ''`\n */\n getLabel?: (route: RouteItem) => string\n\n /**\n * 路由过滤器 — return false 排除该项\n * 默认:排除 `meta.hidden === true`\n */\n filter?: (route: RouteItem) => boolean\n\n /**\n * 自定义图标渲染\n * 默认:字符串 → Iconify Icon;函数 → 直接调用\n */\n renderIcon?: (\n icon: string | (() => VNode) | undefined\n ) => (() => VNode) | undefined\n\n /**\n * 是否递归处理 children\n * 默认:true\n */\n recursive?: boolean\n}\n\n// ====== 内置默认值 ======\n\nconst normalizePath = (path: string): string =>\n path.startsWith('/') ? path : `/${path}`\n\nconst defaultGetKey = (route: RouteItem): string =>\n route.path ? normalizePath(route.path) : ''\n\nconst defaultGetLabel = (route: RouteItem): string =>\n route.meta?.title || route.name || ''\n\nconst defaultFilter = (route: RouteItem): boolean => !route.meta?.hidden\n\nconst defaultRenderIcon = (\n icon: string | (() => VNode) | undefined\n): (() => VNode) | undefined => {\n if (!icon) return undefined\n if (typeof icon === 'string') {\n return () =>\n h(\n 'span',\n {\n class: 'n-icon',\n style: 'display: inline-flex; align-items: center;',\n },\n [h(Icon, { icon })]\n )\n }\n if (typeof icon === 'function') return icon\n return undefined\n}\n\n/**\n * 将路由数据转换为 NMenu 的 MenuOption[]\n *\n * 支持的输入格式:\n * 1. **Vue Router RouteRecordRaw** — 直接传 `router.getRoutes()` 或手写路由表\n * 2. **后端 JSON 路由表** — `{ path, meta: { title, icon }, children }`\n * 3. **自定义格式** — 通过 config 完全自定义 key/label/icon 的取值逻辑\n *\n * @param routes 路由数据数组\n * @param config 适配器配置\n * @returns NMenu 可直接使用的 MenuOption[]\n */\nexport function createMenuOptions(\n routes: RouteItem[],\n config: MenuAdapterConfig = {}\n): MenuOption[] {\n const {\n labelFormatter = (s: string) => s,\n getKey = defaultGetKey,\n getLabel = defaultGetLabel,\n filter = defaultFilter,\n renderIcon = defaultRenderIcon,\n recursive = true,\n } = config\n\n const convert = (items: RouteItem[]): MenuOption[] => {\n return items.filter(filter).map(item => {\n const icon = item.meta?.icon || (item as any).icon\n const children =\n recursive && item.children?.length ? convert(item.children) : undefined\n\n return {\n key: getKey(item),\n label: labelFormatter(getLabel(item)),\n disabled: item.disabled || false,\n icon: renderIcon(icon),\n ...(item.type && { type: item.type }),\n ...(children?.length && { children }),\n }\n }) as MenuOption[]\n }\n\n return convert(routes)\n}\n\n/**\n * 将路由树扁平化为一维数组(常用于搜索、快捷导航)\n *\n * @param routes 路由数据数组\n * @param filter 过滤器(默认排除 hidden)\n * @returns 扁平化后的路由数组\n */\nexport function flattenRoutes(\n routes: RouteItem[],\n filter: (route: RouteItem) => boolean = defaultFilter\n): RouteItem[] {\n const result: RouteItem[] = []\n const walk = (items: RouteItem[]) => {\n for (const item of items) {\n if (filter(item)) {\n result.push(item)\n }\n if (item.children?.length) {\n walk(item.children)\n }\n }\n }\n walk(routes)\n return result\n}\n"],"mappings":"4DAiFA,MAAM,EAAiB,GACrB,EAAK,WAAW,IAAI,CAAG,EAAO,IAAI,IAE9B,EAAiB,GACrB,EAAM,KAAO,EAAc,EAAM,KAAK,CAAG,GAErC,EAAmB,GACvB,EAAM,MAAM,OAAS,EAAM,MAAQ,GAE/B,EAAiB,GAA8B,CAAC,EAAM,MAAM,OAE5D,EACJ,GAC8B,CACzB,KACL,IAAI,OAAO,GAAS,SAClB,UACE,EACE,OACA,CACE,MAAO,SACP,MAAO,6CACR,CACD,CAAC,EAAE,EAAM,CAAE,OAAM,CAAC,CAAC,CACpB,CAEL,GAAI,OAAO,GAAS,WAAY,OAAO,IAgBzC,SAAgB,EACd,EACA,EAA4B,EAAE,CAChB,CACd,GAAM,CACJ,iBAAkB,GAAc,EAChC,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,IACV,EAEE,EAAW,GACR,EAAM,OAAO,EAAO,CAAC,IAAI,GAAQ,CACtC,IAAM,EAAO,EAAK,MAAM,MAAS,EAAa,KACxC,EACJ,GAAa,EAAK,UAAU,OAAS,EAAQ,EAAK,SAAS,CAAG,IAAA,GAEhE,MAAO,CACL,IAAK,EAAO,EAAK,CACjB,MAAO,EAAe,EAAS,EAAK,CAAC,CACrC,SAAU,EAAK,UAAY,GAC3B,KAAM,EAAW,EAAK,CACtB,GAAI,EAAK,MAAQ,CAAE,KAAM,EAAK,KAAM,CACpC,GAAI,GAAU,QAAU,CAAE,WAAU,CACrC,EACD,CAGJ,OAAO,EAAQ,EAAO,CAUxB,SAAgB,EACd,EACA,EAAwC,EAC3B,CACb,IAAM,EAAsB,EAAE,CACxB,EAAQ,GAAuB,CACnC,IAAK,IAAM,KAAQ,EACb,EAAO,EAAK,EACd,EAAO,KAAK,EAAK,CAEf,EAAK,UAAU,QACjB,EAAK,EAAK,SAAS,EAKzB,OADA,EAAK,EAAO,CACL"}